diff --git a/googleapis/api/annotations/annotations.pb.go b/googleapis/api/annotations/annotations.pb.go
new file mode 100644
index 0000000000000000000000000000000000000000..b37ccee853a2adad697b2d11332fe30cde2b1cd4
--- /dev/null
+++ b/googleapis/api/annotations/annotations.pb.go
@@ -0,0 +1,65 @@
+// Code generated by protoc-gen-go.
+// source: google/api/annotations.proto
+// DO NOT EDIT!
+
+/*
+Package annotations is a generated protocol buffer package.
+
+It is generated from these files:
+	google/api/annotations.proto
+	google/api/http.proto
+
+It has these top-level messages:
+	Http
+	HttpRule
+	CustomHttpPattern
+*/
+package annotations
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import google_protobuf "github.com/golang/protobuf/protoc-gen-go/descriptor"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+var E_Http = &proto.ExtensionDesc{
+	ExtendedType:  (*google_protobuf.MethodOptions)(nil),
+	ExtensionType: (*HttpRule)(nil),
+	Field:         72295728,
+	Name:          "google.api.http",
+	Tag:           "bytes,72295728,opt,name=http",
+	Filename:      "google/api/annotations.proto",
+}
+
+func init() {
+	proto.RegisterExtension(E_Http)
+}
+
+func init() { proto.RegisterFile("google/api/annotations.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 208 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0x4f, 0xcc, 0xcb, 0xcb, 0x2f, 0x49, 0x2c, 0xc9, 0xcc,
+	0xcf, 0x2b, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x82, 0xc8, 0xea, 0x25, 0x16, 0x64,
+	0x4a, 0x89, 0x22, 0xa9, 0xcc, 0x28, 0x29, 0x29, 0x80, 0x28, 0x91, 0x52, 0x80, 0x0a, 0x83, 0x79,
+	0x49, 0xa5, 0x69, 0xfa, 0x29, 0xa9, 0xc5, 0xc9, 0x45, 0x99, 0x05, 0x25, 0xf9, 0x45, 0x10, 0x15,
+	0x56, 0xde, 0x5c, 0x2c, 0x20, 0xf5, 0x42, 0x72, 0x7a, 0x50, 0xd3, 0x60, 0x4a, 0xf5, 0x7c, 0x53,
+	0x4b, 0x32, 0xf2, 0x53, 0xfc, 0x0b, 0xc0, 0x56, 0x4a, 0x6c, 0x38, 0xb5, 0x47, 0x49, 0x81, 0x51,
+	0x83, 0xdb, 0x48, 0x44, 0x0f, 0x61, 0xad, 0x9e, 0x47, 0x49, 0x49, 0x41, 0x50, 0x69, 0x4e, 0x6a,
+	0x10, 0xd8, 0x10, 0xa7, 0x3c, 0x2e, 0xbe, 0xe4, 0xfc, 0x5c, 0x24, 0x05, 0x4e, 0x02, 0x8e, 0x08,
+	0x67, 0x07, 0x80, 0x4c, 0x0e, 0x60, 0x8c, 0x72, 0x84, 0xca, 0xa7, 0xe7, 0xe7, 0x24, 0xe6, 0xa5,
+	0xeb, 0xe5, 0x17, 0xa5, 0xeb, 0xa7, 0xa7, 0xe6, 0x81, 0xed, 0xd5, 0x87, 0x48, 0x25, 0x16, 0x64,
+	0x16, 0xa3, 0x7b, 0xda, 0x1a, 0x89, 0xbd, 0x88, 0x89, 0xc5, 0xdd, 0x31, 0xc0, 0x33, 0x89, 0x0d,
+	0xac, 0xc9, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xe3, 0x29, 0x19, 0x62, 0x28, 0x01, 0x00, 0x00,
+}
diff --git a/googleapis/api/serviceconfig/http.pb.go b/googleapis/api/annotations/http.pb.go
similarity index 73%
rename from googleapis/api/serviceconfig/http.pb.go
rename to googleapis/api/annotations/http.pb.go
index 1a53ff7332c157463345dc2f4ca21d6379648741..583ecf6134151ea5b0a1b2914531e8286393b424 100644
--- a/googleapis/api/serviceconfig/http.pb.go
+++ b/googleapis/api/annotations/http.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/http.proto
+// source: google/api/http.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package annotations
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -26,7 +26,7 @@ type Http struct {
 func (m *Http) Reset()                    { *m = Http{} }
 func (m *Http) String() string            { return proto.CompactTextString(m) }
 func (*Http) ProtoMessage()               {}
-func (*Http) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{0} }
+func (*Http) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
 func (m *Http) GetRules() []*HttpRule {
 	if m != nil {
@@ -47,23 +47,30 @@ func (m *Http) GetRules() []*HttpRule {
 // message, as in the example below which describes a REST GET
 // operation on a resource collection of messages:
 //
-// ```proto
-// service Messaging {
-//   rpc GetMessage(GetMessageRequest) returns (Message) {
-//     option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
-//   }
-// }
-// message GetMessageRequest {
-//   message SubMessage {
-//     string subfield = 1;
-//   }
-//   string message_id = 1; // mapped to the URL
-//   SubMessage sub = 2;    // `sub.subfield` is url-mapped
-// }
-// message Message {
-//   string text = 1; // content of the resource
-// }
-// ```
+//
+//     service Messaging {
+//       rpc GetMessage(GetMessageRequest) returns (Message) {
+//         option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
+//       }
+//     }
+//     message GetMessageRequest {
+//       message SubMessage {
+//         string subfield = 1;
+//       }
+//       string message_id = 1; // mapped to the URL
+//       SubMessage sub = 2;    // `sub.subfield` is url-mapped
+//     }
+//     message Message {
+//       string text = 1; // content of the resource
+//     }
+//
+// The same http annotation can alternatively be expressed inside the
+// `GRPC API Configuration` YAML file.
+//
+//     http:
+//       rules:
+//         - selector: <proto_package_name>.Messaging.GetMessage
+//           get: /v1/messages/{message_id}/{sub.subfield}
 //
 // This definition enables an automatic, bidrectional mapping of HTTP
 // JSON to RPC. Example:
@@ -80,16 +87,16 @@ func (m *Http) GetRules() []*HttpRule {
 // pattern automatically become (optional) HTTP query
 // parameters. Assume the following definition of the request message:
 //
-// ```proto
-// message GetMessageRequest {
-//   message SubMessage {
-//     string subfield = 1;
-//   }
-//   string message_id = 1; // mapped to the URL
-//   int64 revision = 2;    // becomes a parameter
-//   SubMessage sub = 3;    // `sub.subfield` becomes a parameter
-// }
-// ```
+//
+//     message GetMessageRequest {
+//       message SubMessage {
+//         string subfield = 1;
+//       }
+//       string message_id = 1; // mapped to the URL
+//       int64 revision = 2;    // becomes a parameter
+//       SubMessage sub = 3;    // `sub.subfield` becomes a parameter
+//     }
+//
 //
 // This enables a HTTP JSON to RPC mapping as below:
 //
@@ -106,20 +113,20 @@ func (m *Http) GetRules() []*HttpRule {
 // specifies the mapping. Consider a REST update method on the
 // message resource collection:
 //
-// ```proto
-// service Messaging {
-//   rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
-//     option (google.api.http) = {
-//       put: "/v1/messages/{message_id}"
-//       body: "message"
-//     };
-//   }
-// }
-// message UpdateMessageRequest {
-//   string message_id = 1; // mapped to the URL
-//   Message message = 2;   // mapped to the body
-// }
-// ```
+//
+//     service Messaging {
+//       rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
+//         option (google.api.http) = {
+//           put: "/v1/messages/{message_id}"
+//           body: "message"
+//         };
+//       }
+//     }
+//     message UpdateMessageRequest {
+//       string message_id = 1; // mapped to the URL
+//       Message message = 2;   // mapped to the body
+//     }
+//
 //
 // The following HTTP JSON to RPC mapping is enabled, where the
 // representation of the JSON in the request body is determined by
@@ -134,20 +141,19 @@ func (m *Http) GetRules() []*HttpRule {
 // request body.  This enables the following alternative definition of
 // the update method:
 //
-// ```proto
-// service Messaging {
-//   rpc UpdateMessage(Message) returns (Message) {
-//     option (google.api.http) = {
-//       put: "/v1/messages/{message_id}"
-//       body: "*"
-//     };
-//   }
-// }
-// message Message {
-//   string message_id = 1;
-//   string text = 2;
-// }
-// ```
+//     service Messaging {
+//       rpc UpdateMessage(Message) returns (Message) {
+//         option (google.api.http) = {
+//           put: "/v1/messages/{message_id}"
+//           body: "*"
+//         };
+//       }
+//     }
+//     message Message {
+//       string message_id = 1;
+//       string text = 2;
+//     }
+//
 //
 // The following HTTP JSON to RPC mapping is enabled:
 //
@@ -164,22 +170,21 @@ func (m *Http) GetRules() []*HttpRule {
 // It is possible to define multiple HTTP methods for one RPC by using
 // the `additional_bindings` option. Example:
 //
-// ```proto
-// service Messaging {
-//   rpc GetMessage(GetMessageRequest) returns (Message) {
-//     option (google.api.http) = {
-//       get: "/v1/messages/{message_id}"
-//       additional_bindings {
-//         get: "/v1/users/{user_id}/messages/{message_id}"
+//     service Messaging {
+//       rpc GetMessage(GetMessageRequest) returns (Message) {
+//         option (google.api.http) = {
+//           get: "/v1/messages/{message_id}"
+//           additional_bindings {
+//             get: "/v1/users/{user_id}/messages/{message_id}"
+//           }
+//         };
 //       }
-//     };
-//   }
-// }
-// message GetMessageRequest {
-//   string message_id = 1;
-//   string user_id = 2;
-// }
-// ```
+//     }
+//     message GetMessageRequest {
+//       string message_id = 1;
+//       string user_id = 2;
+//     }
+//
 //
 // This enables the following two alternative HTTP JSON to RPC
 // mappings:
@@ -220,7 +225,7 @@ func (m *Http) GetRules() []*HttpRule {
 //
 // The syntax `**` matches zero or more path segments. It follows the semantics
 // of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.3 Reserved
-// Expansion.
+// Expansion. NOTE: it must be the last segment in the path except the Verb.
 //
 // The syntax `LITERAL` matches literal text in the URL path.
 //
@@ -256,7 +261,7 @@ type HttpRule struct {
 	// The name of the request field whose value is mapped to the HTTP body, or
 	// `*` for mapping all fields not captured by the path pattern to the HTTP
 	// body. NOTE: the referred field must not be a repeated field and must be
-	// present at the top-level of response message type.
+	// present at the top-level of request message type.
 	Body string `protobuf:"bytes,7,opt,name=body" json:"body,omitempty"`
 	// Additional HTTP bindings for the selector. Nested bindings must
 	// not contain an `additional_bindings` field themselves (that is,
@@ -267,7 +272,7 @@ type HttpRule struct {
 func (m *HttpRule) Reset()                    { *m = HttpRule{} }
 func (m *HttpRule) String() string            { return proto.CompactTextString(m) }
 func (*HttpRule) ProtoMessage()               {}
-func (*HttpRule) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{1} }
+func (*HttpRule) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
 type isHttpRule_Pattern interface {
 	isHttpRule_Pattern()
@@ -306,6 +311,13 @@ func (m *HttpRule) GetPattern() isHttpRule_Pattern {
 	return nil
 }
 
+func (m *HttpRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
+
 func (m *HttpRule) GetGet() string {
 	if x, ok := m.GetPattern().(*HttpRule_Get); ok {
 		return x.Get
@@ -348,6 +360,13 @@ func (m *HttpRule) GetCustom() *CustomHttpPattern {
 	return nil
 }
 
+func (m *HttpRule) GetBody() string {
+	if m != nil {
+		return m.Body
+	}
+	return ""
+}
+
 func (m *HttpRule) GetAdditionalBindings() []*HttpRule {
 	if m != nil {
 		return m.AdditionalBindings
@@ -496,7 +515,21 @@ type CustomHttpPattern struct {
 func (m *CustomHttpPattern) Reset()                    { *m = CustomHttpPattern{} }
 func (m *CustomHttpPattern) String() string            { return proto.CompactTextString(m) }
 func (*CustomHttpPattern) ProtoMessage()               {}
-func (*CustomHttpPattern) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{2} }
+func (*CustomHttpPattern) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
+
+func (m *CustomHttpPattern) GetKind() string {
+	if m != nil {
+		return m.Kind
+	}
+	return ""
+}
+
+func (m *CustomHttpPattern) GetPath() string {
+	if m != nil {
+		return m.Path
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*Http)(nil), "google.api.Http")
@@ -504,32 +537,31 @@ func init() {
 	proto.RegisterType((*CustomHttpPattern)(nil), "google.api.CustomHttpPattern")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/http.proto", fileDescriptor9)
-}
+func init() { proto.RegisterFile("google/api/http.proto", fileDescriptor1) }
 
-var fileDescriptor9 = []byte{
-	// 352 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x7c, 0x91, 0xc1, 0x4a, 0x33, 0x31,
-	0x10, 0xc7, 0xbf, 0x6d, 0xb7, 0xdb, 0x76, 0x0a, 0x1f, 0x18, 0x8b, 0x04, 0x41, 0x28, 0xbd, 0x58,
-	0x3c, 0xec, 0x42, 0x3d, 0x78, 0xf0, 0xe4, 0x8a, 0x58, 0x6f, 0x65, 0x5f, 0x40, 0xd2, 0xdd, 0x98,
-	0x06, 0xb7, 0x49, 0xd8, 0xcc, 0x0a, 0xbe, 0x8e, 0xef, 0xe0, 0xbb, 0x79, 0x94, 0x64, 0x53, 0x5b,
-	0x10, 0xbc, 0xcd, 0xff, 0x37, 0xff, 0xcc, 0x64, 0x66, 0x20, 0x17, 0x5a, 0x8b, 0x9a, 0xa7, 0x42,
-	0xd7, 0x4c, 0x89, 0x54, 0x37, 0x22, 0x13, 0x5c, 0x99, 0x46, 0xa3, 0xce, 0xba, 0x14, 0x33, 0xd2,
-	0x66, 0xcc, 0xc8, 0xcc, 0xf2, 0xe6, 0x4d, 0x96, 0xbc, 0xd4, 0xea, 0x45, 0x8a, 0x6c, 0x8b, 0x68,
-	0x52, 0xef, 0x23, 0x10, 0x6a, 0x30, 0x23, 0xe7, 0x4b, 0x88, 0x57, 0x88, 0x86, 0x5c, 0xc1, 0xa0,
-	0x69, 0x6b, 0x6e, 0x69, 0x34, 0xeb, 0x2f, 0x26, 0xcb, 0x69, 0x7a, 0xf0, 0xa4, 0xce, 0x50, 0xb4,
-	0x35, 0x2f, 0x3a, 0xcb, 0xfc, 0xb3, 0x07, 0xa3, 0x3d, 0x23, 0xe7, 0x30, 0xb2, 0xbc, 0xe6, 0x25,
-	0xea, 0x86, 0x46, 0xb3, 0x68, 0x31, 0x2e, 0x7e, 0x34, 0x21, 0xd0, 0x17, 0x1c, 0x69, 0xcf, 0xe1,
-	0xd5, 0xbf, 0xc2, 0x09, 0xc7, 0x4c, 0x8b, 0xb4, 0xbf, 0x67, 0xa6, 0x45, 0x32, 0x85, 0xd8, 0x68,
-	0x8b, 0x34, 0x0e, 0xd0, 0x2b, 0x42, 0x21, 0xa9, 0x78, 0xcd, 0x91, 0xd3, 0x41, 0xe0, 0x41, 0x93,
-	0x33, 0x18, 0x18, 0x86, 0xe5, 0x96, 0x26, 0x21, 0xd1, 0x49, 0x72, 0x03, 0x49, 0xd9, 0x5a, 0xd4,
-	0x3b, 0x3a, 0x9a, 0x45, 0x8b, 0xc9, 0xf2, 0xe2, 0x78, 0x8a, 0x7b, 0x9f, 0x71, 0xff, 0x5e, 0x33,
-	0x44, 0xde, 0x28, 0x57, 0xb0, 0xb3, 0x13, 0x02, 0xf1, 0x46, 0x57, 0xef, 0x74, 0xe8, 0x07, 0xf0,
-	0x31, 0x79, 0x80, 0x53, 0x56, 0x55, 0x12, 0xa5, 0x56, 0xac, 0x7e, 0xde, 0x48, 0x55, 0x49, 0x25,
-	0x2c, 0x9d, 0xfc, 0xb1, 0x1f, 0x72, 0x78, 0x90, 0x07, 0x7f, 0x3e, 0x86, 0xa1, 0xe9, 0xfa, 0xcd,
-	0x6f, 0xe1, 0xe4, 0xd7, 0x27, 0x5c, 0xeb, 0x57, 0xa9, 0xaa, 0xb0, 0x3b, 0x1f, 0x3b, 0x66, 0x18,
-	0x6e, 0xbb, 0xc5, 0x15, 0x3e, 0xce, 0x2f, 0xe1, 0x7f, 0xa9, 0x77, 0x47, 0x6d, 0xf3, 0xb1, 0x2f,
-	0xe3, 0x2e, 0xba, 0x8e, 0xbe, 0xa2, 0xe8, 0xa3, 0x17, 0x3f, 0xde, 0xad, 0x9f, 0x36, 0x89, 0x3f,
-	0xf2, 0xf5, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x32, 0x48, 0x5c, 0x87, 0x2a, 0x02, 0x00, 0x00,
+var fileDescriptor1 = []byte{
+	// 359 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xcf, 0x6a, 0xe3, 0x30,
+	0x10, 0xc6, 0xd7, 0x89, 0xe3, 0x24, 0x13, 0x58, 0x58, 0x6d, 0x76, 0x11, 0x85, 0x42, 0xc8, 0x29,
+	0xf4, 0x60, 0x43, 0x7a, 0xe8, 0x21, 0xa7, 0xb8, 0x94, 0xa6, 0xb7, 0xe0, 0x63, 0x2f, 0x45, 0xb1,
+	0x85, 0xa2, 0xd6, 0x91, 0x84, 0x3d, 0x3e, 0xf4, 0x75, 0xfa, 0x0e, 0x7d, 0xb7, 0x1e, 0x8b, 0xfe,
+	0xa4, 0x09, 0x14, 0x7a, 0x9b, 0xef, 0x37, 0x9f, 0x34, 0xa3, 0x19, 0xc1, 0x3f, 0xa1, 0xb5, 0xa8,
+	0x79, 0xc6, 0x8c, 0xcc, 0xf6, 0x88, 0x26, 0x35, 0x8d, 0x46, 0x4d, 0xc0, 0xe3, 0x94, 0x19, 0x39,
+	0x5f, 0x42, 0xbc, 0x41, 0x34, 0xe4, 0x0a, 0x06, 0x4d, 0x57, 0xf3, 0x96, 0x46, 0xb3, 0xfe, 0x62,
+	0xb2, 0x9c, 0xa6, 0x27, 0x4f, 0x6a, 0x0d, 0x45, 0x57, 0xf3, 0xc2, 0x5b, 0xe6, 0xef, 0x3d, 0x18,
+	0x1d, 0x19, 0xb9, 0x80, 0x51, 0xcb, 0x6b, 0x5e, 0xa2, 0x6e, 0x68, 0x34, 0x8b, 0x16, 0xe3, 0xe2,
+	0x4b, 0x13, 0x02, 0x7d, 0xc1, 0x91, 0xf6, 0x2c, 0xde, 0xfc, 0x2a, 0xac, 0xb0, 0xcc, 0x74, 0x48,
+	0xfb, 0x47, 0x66, 0x3a, 0x24, 0x53, 0x88, 0x8d, 0x6e, 0x91, 0xc6, 0x01, 0x3a, 0x45, 0x28, 0x24,
+	0x15, 0xaf, 0x39, 0x72, 0x3a, 0x08, 0x3c, 0x68, 0xf2, 0x1f, 0x06, 0x86, 0x61, 0xb9, 0xa7, 0x49,
+	0x48, 0x78, 0x49, 0x6e, 0x20, 0x29, 0xbb, 0x16, 0xf5, 0x81, 0x8e, 0x66, 0xd1, 0x62, 0xb2, 0xbc,
+	0x3c, 0x7f, 0xc5, 0xad, 0xcb, 0xd8, 0xbe, 0xb7, 0x0c, 0x91, 0x37, 0xca, 0x5e, 0xe8, 0xed, 0x84,
+	0x40, 0xbc, 0xd3, 0xd5, 0x2b, 0x1d, 0xba, 0x07, 0xb8, 0x98, 0xdc, 0xc1, 0x5f, 0x56, 0x55, 0x12,
+	0xa5, 0x56, 0xac, 0x7e, 0xda, 0x49, 0x55, 0x49, 0x25, 0x5a, 0x3a, 0xf9, 0x61, 0x3e, 0xe4, 0x74,
+	0x20, 0x0f, 0xfe, 0x7c, 0x0c, 0x43, 0xe3, 0xeb, 0xcd, 0x57, 0xf0, 0xe7, 0x5b, 0x13, 0xb6, 0xf4,
+	0x8b, 0x54, 0x55, 0x98, 0x9d, 0x8b, 0x2d, 0x33, 0x0c, 0xf7, 0x7e, 0x70, 0x85, 0x8b, 0xf3, 0x67,
+	0xf8, 0x5d, 0xea, 0xc3, 0x59, 0xd9, 0x7c, 0xec, 0xae, 0xb1, 0x1b, 0xdd, 0x46, 0x8f, 0xeb, 0x90,
+	0x10, 0xba, 0x66, 0x4a, 0xa4, 0xba, 0x11, 0x99, 0xe0, 0xca, 0xed, 0x3b, 0xf3, 0x29, 0x66, 0x64,
+	0xeb, 0x7e, 0x02, 0x53, 0x4a, 0x23, 0xb3, 0x6d, 0xb6, 0xab, 0xb3, 0xf8, 0x23, 0x8a, 0xde, 0x7a,
+	0xf1, 0xfd, 0x7a, 0xfb, 0xb0, 0x4b, 0xdc, 0xb9, 0xeb, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x68,
+	0x15, 0x60, 0x5b, 0x40, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/api/configchange/config_change.pb.go b/googleapis/api/configchange/config_change.pb.go
index fdf0aea8d0d20372f4ee90cff06fffde4cd68fc7..65bc8da13a49563a500cec50c11fe10eca726f0f 100644
--- a/googleapis/api/configchange/config_change.pb.go
+++ b/googleapis/api/configchange/config_change.pb.go
@@ -1,18 +1,18 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/configchange/config_change.proto
+// source: google/api/config_change.proto
 // DO NOT EDIT!
 
 /*
-Package google_api is a generated protocol buffer package.
+Package configchange is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/api/configchange/config_change.proto
+	google/api/config_change.proto
 
 It has these top-level messages:
 	ConfigChange
 	Advice
 */
-package google_api // import "google.golang.org/genproto/googleapis/api/configchange"
+package configchange
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -100,6 +100,34 @@ func (m *ConfigChange) String() string            { return proto.CompactTextStri
 func (*ConfigChange) ProtoMessage()               {}
 func (*ConfigChange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *ConfigChange) GetElement() string {
+	if m != nil {
+		return m.Element
+	}
+	return ""
+}
+
+func (m *ConfigChange) GetOldValue() string {
+	if m != nil {
+		return m.OldValue
+	}
+	return ""
+}
+
+func (m *ConfigChange) GetNewValue() string {
+	if m != nil {
+		return m.NewValue
+	}
+	return ""
+}
+
+func (m *ConfigChange) GetChangeType() ChangeType {
+	if m != nil {
+		return m.ChangeType
+	}
+	return ChangeType_CHANGE_TYPE_UNSPECIFIED
+}
+
 func (m *ConfigChange) GetAdvices() []*Advice {
 	if m != nil {
 		return m.Advices
@@ -120,37 +148,43 @@ func (m *Advice) String() string            { return proto.CompactTextString(m)
 func (*Advice) ProtoMessage()               {}
 func (*Advice) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *Advice) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*ConfigChange)(nil), "google.api.ConfigChange")
 	proto.RegisterType((*Advice)(nil), "google.api.Advice")
 	proto.RegisterEnum("google.api.ChangeType", ChangeType_name, ChangeType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/configchange/config_change.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/api/config_change.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 329 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x4c, 0x91, 0x4f, 0x6b, 0xc2, 0x30,
-	0x18, 0xc6, 0x57, 0xff, 0xfb, 0x56, 0xc4, 0xe5, 0xb0, 0x15, 0xbc, 0x14, 0x4f, 0x22, 0xd2, 0x82,
-	0x3b, 0xec, 0x5c, 0xdb, 0xce, 0x39, 0x50, 0x4b, 0xe7, 0x84, 0x9d, 0x4a, 0xd6, 0x66, 0x59, 0xa0,
-	0x26, 0x41, 0x3b, 0xc5, 0xaf, 0xb3, 0x6f, 0xb3, 0x6f, 0x35, 0x6c, 0xea, 0xec, 0x2d, 0xcf, 0xfb,
-	0x7b, 0x92, 0xf7, 0xe1, 0x09, 0xbc, 0x50, 0x21, 0x68, 0x4a, 0x2c, 0x2a, 0x52, 0xcc, 0xa9, 0x25,
-	0x76, 0xd4, 0xa6, 0x84, 0xcb, 0x9d, 0xc8, 0x84, 0xad, 0x10, 0x96, 0x6c, 0x6f, 0x63, 0xc9, 0xec,
-	0x58, 0xf0, 0x4f, 0x46, 0xe3, 0x2f, 0xcc, 0x29, 0x29, 0x44, 0xa4, 0x94, 0x95, 0xfb, 0x11, 0x14,
-	0x6f, 0x61, 0xc9, 0x06, 0xbf, 0x1a, 0x74, 0xdc, 0xdc, 0xe3, 0xe6, 0x16, 0x64, 0x40, 0x93, 0xa4,
-	0x64, 0x4b, 0x78, 0x66, 0x68, 0xa6, 0x36, 0x6c, 0x87, 0x17, 0x89, 0xfa, 0xd0, 0x16, 0x69, 0x12,
-	0x1d, 0x70, 0xfa, 0x4d, 0x8c, 0x4a, 0xce, 0x5a, 0x22, 0x4d, 0x36, 0x67, 0x7d, 0x86, 0x9c, 0x1c,
-	0x0b, 0x58, 0x55, 0x90, 0x93, 0xa3, 0x82, 0x8f, 0xa0, 0xab, 0x00, 0x51, 0x76, 0x92, 0xc4, 0xa8,
-	0x99, 0xda, 0xb0, 0x3b, 0xb9, 0xb3, 0xae, 0x31, 0x2c, 0xb5, 0x7c, 0x7d, 0x92, 0x24, 0x84, 0xf8,
-	0xff, 0x8c, 0xc6, 0xd0, 0xc4, 0xc9, 0x81, 0xc5, 0x64, 0x6f, 0xd4, 0xcd, 0xea, 0x50, 0x9f, 0xa0,
-	0xf2, 0x25, 0x27, 0x47, 0xe1, 0xc5, 0x32, 0x18, 0x41, 0x43, 0x8d, 0x90, 0x09, 0x7a, 0x42, 0xf6,
-	0xf1, 0x8e, 0xc9, 0x8c, 0x09, 0x5e, 0x84, 0x2d, 0x8f, 0x46, 0x2b, 0x80, 0xeb, 0x4e, 0xd4, 0x87,
-	0x7b, 0xf7, 0xd9, 0x59, 0xce, 0xfc, 0x68, 0xfd, 0x1e, 0xf8, 0xd1, 0xdb, 0xf2, 0x35, 0xf0, 0xdd,
-	0xf9, 0xd3, 0xdc, 0xf7, 0x7a, 0x37, 0xa8, 0x0d, 0x75, 0xc7, 0xf3, 0x7c, 0xaf, 0xa7, 0x21, 0x1d,
-	0x9a, 0xa1, 0xbf, 0x58, 0x6d, 0x7c, 0xaf, 0x57, 0x41, 0x1d, 0x68, 0x2d, 0x56, 0x9e, 0x72, 0x55,
-	0xa7, 0x63, 0xe8, 0xc6, 0x62, 0x5b, 0x8a, 0x37, 0xbd, 0x2d, 0xf7, 0x1a, 0x9c, 0x9b, 0x0f, 0xb4,
-	0x9f, 0x4a, 0x6d, 0xe6, 0x04, 0xf3, 0x8f, 0x46, 0xfe, 0x13, 0x0f, 0x7f, 0x01, 0x00, 0x00, 0xff,
-	0xff, 0x7c, 0x7e, 0x38, 0xa2, 0xd7, 0x01, 0x00, 0x00,
+	// 338 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x91, 0xcd, 0x4e, 0xc2, 0x40,
+	0x14, 0x85, 0x2d, 0xff, 0xdc, 0x12, 0x82, 0xb3, 0xd0, 0x26, 0x24, 0xa6, 0x61, 0x45, 0x88, 0x69,
+	0x13, 0x5c, 0xb8, 0x70, 0x55, 0xda, 0x8a, 0x2c, 0x80, 0xa6, 0x22, 0x89, 0x6e, 0x9a, 0xb1, 0x1d,
+	0xc7, 0x49, 0xca, 0xcc, 0x08, 0x15, 0xc2, 0xeb, 0xf8, 0x36, 0xbe, 0x95, 0xa1, 0x03, 0xd2, 0xdd,
+	0x9c, 0xf9, 0xce, 0xcd, 0x3d, 0x39, 0x17, 0x6e, 0xa8, 0x10, 0x34, 0x25, 0x36, 0x96, 0xcc, 0x8e,
+	0x05, 0xff, 0x60, 0x34, 0x8a, 0x3f, 0x31, 0xa7, 0xc4, 0x92, 0x6b, 0x91, 0x09, 0x04, 0x8a, 0x5b,
+	0x58, 0xb2, 0xde, 0xaf, 0x06, 0x2d, 0x37, 0xf7, 0xb8, 0xb9, 0x05, 0x19, 0x50, 0x27, 0x29, 0x59,
+	0x11, 0x9e, 0x19, 0x9a, 0xa9, 0xf5, 0x9b, 0xe1, 0x49, 0xa2, 0x2e, 0x34, 0x45, 0x9a, 0x44, 0x5b,
+	0x9c, 0x7e, 0x13, 0xa3, 0x94, 0xb3, 0x86, 0x48, 0x93, 0xe5, 0x41, 0x1f, 0x20, 0x27, 0xbb, 0x23,
+	0x2c, 0x2b, 0xc8, 0xc9, 0x4e, 0xc1, 0x7b, 0xd0, 0x55, 0x80, 0x28, 0xdb, 0x4b, 0x62, 0x54, 0x4c,
+	0xad, 0xdf, 0x1e, 0x5e, 0x59, 0xe7, 0x18, 0x96, 0x5a, 0xbe, 0xd8, 0x4b, 0x12, 0x42, 0xfc, 0xff,
+	0x46, 0xb7, 0x50, 0xc7, 0xc9, 0x96, 0xc5, 0x64, 0x63, 0x54, 0xcd, 0x72, 0x5f, 0x1f, 0xa2, 0xe2,
+	0x90, 0x93, 0xa3, 0xf0, 0x64, 0xe9, 0x0d, 0xa0, 0xa6, 0xbe, 0x90, 0x09, 0x7a, 0x42, 0x36, 0xf1,
+	0x9a, 0xc9, 0x8c, 0x09, 0x7e, 0x0c, 0x5b, 0xfc, 0x1a, 0xcc, 0x01, 0xce, 0x3b, 0x51, 0x17, 0xae,
+	0xdd, 0x27, 0x67, 0x36, 0xf6, 0xa3, 0xc5, 0x6b, 0xe0, 0x47, 0x2f, 0xb3, 0xe7, 0xc0, 0x77, 0x27,
+	0x8f, 0x13, 0xdf, 0xeb, 0x5c, 0xa0, 0x26, 0x54, 0x1d, 0xcf, 0xf3, 0xbd, 0x8e, 0x86, 0x74, 0xa8,
+	0x87, 0xfe, 0x74, 0xbe, 0xf4, 0xbd, 0x4e, 0x09, 0xb5, 0xa0, 0x31, 0x9d, 0x7b, 0xca, 0x55, 0x1e,
+	0x7d, 0x41, 0x3b, 0x16, 0xab, 0x42, 0xbc, 0xd1, 0x65, 0xb1, 0xd7, 0xe0, 0xd0, 0x7c, 0xa0, 0xbd,
+	0xb9, 0x47, 0x03, 0x15, 0x29, 0xe6, 0xd4, 0x12, 0x6b, 0x6a, 0x53, 0xc2, 0xf3, 0xbb, 0xd8, 0x0a,
+	0x61, 0xc9, 0x36, 0x85, 0xd3, 0xa9, 0x36, 0x1e, 0x8a, 0xe2, 0xa7, 0x54, 0x19, 0x3b, 0xc1, 0xe4,
+	0xbd, 0x96, 0x8f, 0xdd, 0xfd, 0x05, 0x00, 0x00, 0xff, 0xff, 0x46, 0x8b, 0xd3, 0xf5, 0xf0, 0x01,
+	0x00, 0x00,
 }
diff --git a/googleapis/api/configchange/config_change.proto b/googleapis/api/configchange/config_change.proto
deleted file mode 100644
index df63ad408de915469ad85cc519bc3d66ff63f5c6..0000000000000000000000000000000000000000
--- a/googleapis/api/configchange/config_change.proto
+++ /dev/null
@@ -1,84 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-option java_multiple_files = true;
-option java_outer_classname = "ConfigChangeProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// Output generated from semantically comparing two versions of a service
-// configuration.
-//
-// Includes detailed information about a field that have changed with
-// applicable advice about potential consequences for the change, such as
-// backwards-incompatibility.
-message ConfigChange {
-  // Object hierarchy path to the change, with levels separated by a '.'
-  // character. For repeated fields, an applicable unique identifier field is
-  // used for the index (usually selector, name, or id). For maps, the term
-  // 'key' is used. If the field has no unique identifier, the numeric index
-  // is used.
-  // Examples:
-  // - visibility.rules[selector=="google.LibraryService.CreateBook"].restriction
-  // - quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value
-  // - logging.producer_destinations[0]
-  string element = 1;
-
-  // Value of the changed object in the old Service configuration,
-  // in JSON format. This field will not be populated if ChangeType == ADDED.
-  string old_value = 2;
-
-  // Value of the changed object in the new Service configuration,
-  // in JSON format. This field will not be populated if ChangeType == REMOVED.
-  string new_value = 3;
-
-  // The type for this change, either ADDED, REMOVED, or MODIFIED.
-  ChangeType change_type = 4;
-
-  // Collection of advice provided for this change, useful for determining the
-  // possible impact of this change.
-  repeated Advice advices = 5;
-}
-
-// Generated advice about this change, used for providing more
-// information about how a change will affect the existing service.
-message Advice {
-  // Useful description for why this advice was applied and what actions should
-  // be taken to mitigate any implied risks.
-  string description = 2;
-}
-
-// Classifies set of possible modifications to an object in the service
-// configuration.
-enum ChangeType {
-  // No value was provided.
-  CHANGE_TYPE_UNSPECIFIED = 0;
-
-  // The changed object exists in the 'new' service configuration, but not
-  // in the 'old' service configuration.
-  ADDED = 1;
-
-  // The changed object exists in the 'old' service configuration, but not
-  // in the 'new' service configuration.
-  REMOVED = 2;
-
-  // The changed object exists in both service configurations, but its value
-  // is different.
-  MODIFIED = 3;
-}
diff --git a/googleapis/api/distribution/distribution.pb.go b/googleapis/api/distribution/distribution.pb.go
index af566d13426aa92cb91ab4d30b6c9e4481df1d35..1ff5823f8c4cc6b6ddb478b2467df29fe2cbd4b6 100644
--- a/googleapis/api/distribution/distribution.pb.go
+++ b/googleapis/api/distribution/distribution.pb.go
@@ -1,22 +1,22 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/distribution/distribution.proto
+// source: google/api/distribution.proto
 // DO NOT EDIT!
 
 /*
-Package google_api is a generated protocol buffer package.
+Package distribution is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/api/distribution/distribution.proto
+	google/api/distribution.proto
 
 It has these top-level messages:
 	Distribution
 */
-package google_api // import "google.golang.org/genproto/googleapis/api/distribution"
+package distribution
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import _ "github.com/golang/protobuf/ptypes/any"
 import _ "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -87,6 +87,27 @@ func (m *Distribution) String() string            { return proto.CompactTextStri
 func (*Distribution) ProtoMessage()               {}
 func (*Distribution) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Distribution) GetCount() int64 {
+	if m != nil {
+		return m.Count
+	}
+	return 0
+}
+
+func (m *Distribution) GetMean() float64 {
+	if m != nil {
+		return m.Mean
+	}
+	return 0
+}
+
+func (m *Distribution) GetSumOfSquaredDeviation() float64 {
+	if m != nil {
+		return m.SumOfSquaredDeviation
+	}
+	return 0
+}
+
 func (m *Distribution) GetRange() *Distribution_Range {
 	if m != nil {
 		return m.Range
@@ -101,6 +122,13 @@ func (m *Distribution) GetBucketOptions() *Distribution_BucketOptions {
 	return nil
 }
 
+func (m *Distribution) GetBucketCounts() []int64 {
+	if m != nil {
+		return m.BucketCounts
+	}
+	return nil
+}
+
 // The range of the population values.
 type Distribution_Range struct {
 	// The minimum of the population values.
@@ -114,6 +142,20 @@ func (m *Distribution_Range) String() string            { return proto.CompactTe
 func (*Distribution_Range) ProtoMessage()               {}
 func (*Distribution_Range) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 0} }
 
+func (m *Distribution_Range) GetMin() float64 {
+	if m != nil {
+		return m.Min
+	}
+	return 0
+}
+
+func (m *Distribution_Range) GetMax() float64 {
+	if m != nil {
+		return m.Max
+	}
+	return 0
+}
+
 // A Distribution may optionally contain a histogram of the values in the
 // population.  The histogram is given in `bucket_counts` as counts of values
 // that fall into one of a sequence of non-overlapping buckets.  The sequence
@@ -316,6 +358,27 @@ func (*Distribution_BucketOptions_Linear) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{0, 1, 0}
 }
 
+func (m *Distribution_BucketOptions_Linear) GetNumFiniteBuckets() int32 {
+	if m != nil {
+		return m.NumFiniteBuckets
+	}
+	return 0
+}
+
+func (m *Distribution_BucketOptions_Linear) GetWidth() float64 {
+	if m != nil {
+		return m.Width
+	}
+	return 0
+}
+
+func (m *Distribution_BucketOptions_Linear) GetOffset() float64 {
+	if m != nil {
+		return m.Offset
+	}
+	return 0
+}
+
 // Specify a sequence of buckets that have a width that is proportional to
 // the value of the lower bound.  Each bucket represents a constant relative
 // uncertainty on a specific value in the bucket.
@@ -343,6 +406,27 @@ func (*Distribution_BucketOptions_Exponential) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{0, 1, 1}
 }
 
+func (m *Distribution_BucketOptions_Exponential) GetNumFiniteBuckets() int32 {
+	if m != nil {
+		return m.NumFiniteBuckets
+	}
+	return 0
+}
+
+func (m *Distribution_BucketOptions_Exponential) GetGrowthFactor() float64 {
+	if m != nil {
+		return m.GrowthFactor
+	}
+	return 0
+}
+
+func (m *Distribution_BucketOptions_Exponential) GetScale() float64 {
+	if m != nil {
+		return m.Scale
+	}
+	return 0
+}
+
 // A set of buckets with arbitrary widths.
 //
 // Defines `size(bounds) + 1` (= N) buckets with these boundaries for
@@ -366,6 +450,13 @@ func (*Distribution_BucketOptions_Explicit) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{0, 1, 2}
 }
 
+func (m *Distribution_BucketOptions_Explicit) GetBounds() []float64 {
+	if m != nil {
+		return m.Bounds
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*Distribution)(nil), "google.api.Distribution")
 	proto.RegisterType((*Distribution_Range)(nil), "google.api.Distribution.Range")
@@ -375,46 +466,42 @@ func init() {
 	proto.RegisterType((*Distribution_BucketOptions_Explicit)(nil), "google.api.Distribution.BucketOptions.Explicit")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/distribution/distribution.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/api/distribution.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 563 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x93, 0x5b, 0x8b, 0xd3, 0x40,
-	0x14, 0xc7, 0x9b, 0x4d, 0x2f, 0x7a, 0x7a, 0xb1, 0x8e, 0xab, 0x84, 0x3c, 0x48, 0xd9, 0x45, 0x29,
-	0xa8, 0x09, 0x54, 0xc1, 0x07, 0xdf, 0xea, 0xba, 0x54, 0x50, 0x76, 0x89, 0xe0, 0x93, 0x10, 0x26,
-	0xc9, 0x24, 0x1d, 0x4c, 0x66, 0x62, 0x66, 0xd2, 0xed, 0xbe, 0xfb, 0xa5, 0xfc, 0x76, 0x92, 0x99,
-	0xe9, 0x36, 0x7d, 0x10, 0xbb, 0x0f, 0x81, 0x73, 0xfd, 0xfd, 0xcf, 0x39, 0x64, 0xe0, 0x73, 0xc6,
-	0x79, 0x96, 0x13, 0x2f, 0xe3, 0x39, 0x66, 0x99, 0xc7, 0xab, 0xcc, 0xcf, 0x08, 0x2b, 0x2b, 0x2e,
-	0xb9, 0xaf, 0x53, 0xb8, 0xa4, 0xc2, 0xc7, 0x25, 0xf5, 0x13, 0x2a, 0x64, 0x45, 0xa3, 0x5a, 0x52,
-	0xce, 0x0e, 0x1c, 0x4f, 0x95, 0x23, 0x30, 0x28, 0x5c, 0x52, 0xf7, 0x1e, 0x58, 0x41, 0xaa, 0x0d,
-	0x8d, 0x49, 0xcc, 0x59, 0x4a, 0x33, 0x1f, 0x33, 0xc6, 0x25, 0x6e, 0xa8, 0x42, 0x63, 0x5d, 0x3f,
-	0xa3, 0x72, 0x5d, 0x47, 0x5e, 0xcc, 0x0b, 0x5f, 0xe3, 0x7c, 0x95, 0x88, 0xea, 0xd4, 0x2f, 0xe5,
-	0x6d, 0x49, 0x84, 0x8f, 0xd9, 0x6d, 0xf3, 0x99, 0x86, 0x0f, 0xff, 0x6f, 0x90, 0xb4, 0x20, 0x42,
-	0xe2, 0xa2, 0xdc, 0x5b, 0xba, 0xf9, 0xec, 0xf7, 0x00, 0x46, 0x17, 0xad, 0xdd, 0xd0, 0x29, 0xf4,
-	0x62, 0x5e, 0x33, 0xe9, 0x58, 0x33, 0x6b, 0x6e, 0x07, 0xda, 0x41, 0x08, 0xba, 0x05, 0xc1, 0xcc,
-	0x39, 0x99, 0x59, 0x73, 0x2b, 0x50, 0x36, 0x7a, 0x0f, 0x8e, 0xa8, 0x8b, 0x90, 0xa7, 0xa1, 0xf8,
-	0x55, 0xe3, 0x8a, 0x24, 0x61, 0x42, 0x36, 0x54, 0xed, 0xe2, 0xd8, 0xaa, 0xee, 0xa9, 0xa8, 0x8b,
-	0xab, 0xf4, 0x9b, 0xce, 0x5e, 0xec, 0x92, 0xe8, 0x1d, 0xf4, 0x2a, 0xcc, 0x32, 0xe2, 0x74, 0x67,
-	0xd6, 0x7c, 0xb8, 0x78, 0xee, 0xed, 0x0f, 0xe9, 0xb5, 0x67, 0xf1, 0x82, 0xa6, 0x2a, 0xd0, 0xc5,
-	0xe8, 0x2b, 0x4c, 0xa2, 0x3a, 0xfe, 0x49, 0x64, 0xc8, 0x4b, 0x75, 0x2f, 0xa7, 0xaf, 0xda, 0x5f,
-	0xfe, 0xb3, 0x7d, 0xa9, 0xca, 0xaf, 0x74, 0x75, 0x30, 0x8e, 0xda, 0x2e, 0x3a, 0x07, 0x13, 0x08,
-	0xd5, 0x86, 0xc2, 0x19, 0xcc, 0xec, 0xb9, 0x1d, 0x8c, 0x74, 0xf0, 0xa3, 0x8a, 0xb9, 0xaf, 0xa0,
-	0xa7, 0x66, 0x40, 0x53, 0xb0, 0x0b, 0xca, 0xd4, 0x4d, 0xac, 0xa0, 0x31, 0x55, 0x04, 0x6f, 0xcd,
-	0x41, 0x1a, 0xd3, 0xfd, 0xd3, 0x85, 0xf1, 0x81, 0x24, 0xfa, 0x0e, 0x93, 0x9c, 0x32, 0x82, 0xab,
-	0x50, 0x53, 0x85, 0x02, 0x0c, 0x17, 0x6f, 0x8e, 0x1b, 0xd9, 0xfb, 0xa2, 0x9a, 0x57, 0x9d, 0x60,
-	0xac, 0x31, 0x3a, 0x2b, 0x10, 0x81, 0x27, 0x64, 0x5b, 0x72, 0x46, 0x98, 0xa4, 0x38, 0xbf, 0x83,
-	0x9f, 0x28, 0xf8, 0xe2, 0x48, 0xf8, 0xa7, 0x3d, 0x61, 0xd5, 0x09, 0x50, 0x0b, 0xb8, 0x93, 0xf9,
-	0x01, 0x53, 0xb2, 0x2d, 0x73, 0x1a, 0x53, 0x79, 0xa7, 0x61, 0x2b, 0x0d, 0xff, 0x78, 0x0d, 0xd5,
-	0xbe, 0xea, 0x04, 0x8f, 0x76, 0x28, 0x43, 0x77, 0x13, 0xe8, 0xeb, 0xfd, 0xd0, 0x6b, 0x40, 0xac,
-	0x2e, 0xc2, 0x94, 0x32, 0x2a, 0xc9, 0xc1, 0xa9, 0x7a, 0xc1, 0x94, 0xd5, 0xc5, 0xa5, 0x4a, 0xec,
-	0xa6, 0x3a, 0x85, 0xde, 0x0d, 0x4d, 0xe4, 0xda, 0x9c, 0x5e, 0x3b, 0xe8, 0x19, 0xf4, 0x79, 0x9a,
-	0x0a, 0x22, 0xcd, 0xaf, 0x67, 0x3c, 0x77, 0x03, 0xc3, 0xd6, 0xa2, 0xf7, 0x94, 0x3a, 0x87, 0x71,
-	0x56, 0xf1, 0x1b, 0xb9, 0x0e, 0x53, 0x1c, 0x4b, 0x5e, 0x19, 0xc9, 0x91, 0x0e, 0x5e, 0xaa, 0x58,
-	0x33, 0x8f, 0x88, 0x71, 0x4e, 0x8c, 0xb0, 0x76, 0xdc, 0x33, 0x78, 0xb0, 0x5b, 0xbe, 0x99, 0x2d,
-	0xe2, 0x35, 0x4b, 0x1a, 0x21, 0xbb, 0x99, 0x4d, 0x7b, 0xcb, 0x87, 0x30, 0x30, 0xbf, 0xf2, 0xf2,
-	0x05, 0x4c, 0x62, 0x5e, 0xb4, 0xae, 0xba, 0x7c, 0xdc, 0x3e, 0xeb, 0x75, 0xf3, 0x56, 0xaf, 0xad,
-	0xa8, 0xaf, 0x1e, 0xed, 0xdb, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x87, 0xa9, 0x04, 0x41, 0xc6,
-	0x04, 0x00, 0x00,
+	// 544 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x5d, 0x6f, 0xd3, 0x30,
+	0x14, 0x5d, 0x96, 0xb5, 0x85, 0xdb, 0x0f, 0x8a, 0x19, 0x28, 0x44, 0x7c, 0x54, 0x9b, 0x84, 0x2a,
+	0x01, 0x89, 0x54, 0x90, 0x78, 0xe0, 0xad, 0x1b, 0x53, 0x1f, 0x40, 0x9b, 0x8c, 0xc4, 0x03, 0x42,
+	0x8a, 0x9c, 0xc4, 0xc9, 0x0c, 0x89, 0x1d, 0x62, 0x67, 0x2b, 0xef, 0xfc, 0x29, 0xfe, 0x1d, 0x8a,
+	0xed, 0x6e, 0x19, 0x08, 0xa9, 0xbc, 0xf9, 0xde, 0x73, 0x7c, 0xce, 0xb9, 0x57, 0x71, 0xe0, 0x71,
+	0x2e, 0x44, 0x5e, 0xd0, 0x90, 0x54, 0x2c, 0x4c, 0x99, 0x54, 0x35, 0x8b, 0x1b, 0xc5, 0x04, 0x0f,
+	0xaa, 0x5a, 0x28, 0x81, 0xc0, 0xc0, 0x01, 0xa9, 0x98, 0xff, 0xa8, 0x43, 0x25, 0x9c, 0x0b, 0x45,
+	0x5a, 0xa2, 0x34, 0x4c, 0xff, 0xa1, 0x45, 0x75, 0x15, 0x37, 0x59, 0x48, 0xf8, 0x0f, 0x0b, 0x3d,
+	0xfd, 0x13, 0x52, 0xac, 0xa4, 0x52, 0x91, 0xb2, 0x32, 0x84, 0x83, 0x9f, 0x03, 0x18, 0x1d, 0x77,
+	0xcc, 0xd1, 0x3e, 0xf4, 0x12, 0xd1, 0x70, 0xe5, 0x39, 0x33, 0x67, 0xee, 0x62, 0x53, 0x20, 0x04,
+	0x7b, 0x25, 0x25, 0xdc, 0xdb, 0x9d, 0x39, 0x73, 0x07, 0xeb, 0x33, 0x7a, 0x03, 0x9e, 0x6c, 0xca,
+	0x48, 0x64, 0x91, 0xfc, 0xde, 0x90, 0x9a, 0xa6, 0x51, 0x4a, 0x2f, 0x98, 0x4e, 0xe6, 0xb9, 0x9a,
+	0x77, 0x5f, 0x36, 0xe5, 0x69, 0xf6, 0xd1, 0xa0, 0xc7, 0x1b, 0x10, 0xbd, 0x86, 0x5e, 0x4d, 0x78,
+	0x4e, 0xbd, 0xbd, 0x99, 0x33, 0x1f, 0x2e, 0x9e, 0x04, 0xd7, 0x93, 0x06, 0xdd, 0x2c, 0x01, 0x6e,
+	0x59, 0xd8, 0x90, 0xd1, 0x07, 0x98, 0xc4, 0x4d, 0xf2, 0x8d, 0xaa, 0x48, 0x54, 0x7a, 0x7a, 0xaf,
+	0xaf, 0xaf, 0x3f, 0xfb, 0xe7, 0xf5, 0xa5, 0xa6, 0x9f, 0x1a, 0x36, 0x1e, 0xc7, 0xdd, 0x12, 0x1d,
+	0x82, 0x6d, 0x44, 0x7a, 0x42, 0xe9, 0x0d, 0x66, 0xee, 0xdc, 0xc5, 0x23, 0xd3, 0x3c, 0xd2, 0x3d,
+	0xff, 0x39, 0xf4, 0x74, 0x06, 0x34, 0x05, 0xb7, 0x64, 0x5c, 0xef, 0xc4, 0xc1, 0xed, 0x51, 0x77,
+	0xc8, 0xda, 0x2e, 0xa4, 0x3d, 0xfa, 0xbf, 0xf6, 0x60, 0x7c, 0xc3, 0x12, 0x7d, 0x82, 0x49, 0xc1,
+	0x38, 0x25, 0x75, 0x64, 0x54, 0xa5, 0x16, 0x18, 0x2e, 0x5e, 0x6e, 0x17, 0x39, 0x78, 0xaf, 0x2f,
+	0xaf, 0x76, 0xf0, 0xd8, 0xc8, 0x18, 0x54, 0x22, 0x0a, 0xf7, 0xe8, 0xba, 0x12, 0x9c, 0x72, 0xc5,
+	0x48, 0x71, 0x25, 0xbe, 0xab, 0xc5, 0x17, 0x5b, 0x8a, 0xbf, 0xbb, 0x56, 0x58, 0xed, 0x60, 0xd4,
+	0x11, 0xdc, 0xd8, 0x7c, 0x81, 0x29, 0x5d, 0x57, 0x05, 0x4b, 0x98, 0xba, 0xf2, 0x70, 0xb5, 0x47,
+	0xb8, 0xbd, 0x87, 0xbe, 0xbe, 0xda, 0xc1, 0x77, 0x36, 0x52, 0x56, 0xdd, 0x4f, 0xa1, 0x6f, 0xe6,
+	0x43, 0x2f, 0x00, 0xf1, 0xa6, 0x8c, 0x32, 0xc6, 0x99, 0xa2, 0x37, 0x56, 0xd5, 0xc3, 0x53, 0xde,
+	0x94, 0x27, 0x1a, 0xd8, 0xa4, 0xda, 0x87, 0xde, 0x25, 0x4b, 0xd5, 0xb9, 0x5d, 0xbd, 0x29, 0xd0,
+	0x03, 0xe8, 0x8b, 0x2c, 0x93, 0x54, 0xd9, 0x4f, 0xcf, 0x56, 0xfe, 0x05, 0x0c, 0x3b, 0x83, 0xfe,
+	0xa7, 0xd5, 0x21, 0x8c, 0xf3, 0x5a, 0x5c, 0xaa, 0xf3, 0x28, 0x23, 0x89, 0x12, 0xb5, 0xb5, 0x1c,
+	0x99, 0xe6, 0x89, 0xee, 0xb5, 0x79, 0x64, 0x42, 0x0a, 0x6a, 0x8d, 0x4d, 0xe1, 0x1f, 0xc0, 0xad,
+	0xcd, 0xf0, 0x6d, 0xb6, 0x58, 0x34, 0x3c, 0x6d, 0x8d, 0xdc, 0x36, 0x9b, 0xa9, 0x96, 0xb7, 0x61,
+	0x60, 0x3f, 0xe5, 0xe5, 0x57, 0x98, 0x24, 0xa2, 0xec, 0x6c, 0x75, 0x79, 0xb7, 0xbb, 0xd6, 0xb3,
+	0xf6, 0xad, 0x9e, 0x39, 0x9f, 0x8f, 0x2c, 0x21, 0x17, 0x05, 0xe1, 0x79, 0x20, 0xea, 0x3c, 0xcc,
+	0x29, 0xd7, 0x2f, 0x39, 0x34, 0x10, 0xa9, 0x98, 0xfc, 0xeb, 0x8f, 0xf2, 0xb6, 0x5b, 0xc4, 0x7d,
+	0xcd, 0x7f, 0xf5, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x88, 0x8e, 0xc5, 0x4b, 0x80, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/api/distribution/distribution.proto b/googleapis/api/distribution/distribution.proto
deleted file mode 100644
index c0abc9fd1a8088eee6ad1e2f8a0dcc8393789bae..0000000000000000000000000000000000000000
--- a/googleapis/api/distribution/distribution.proto
+++ /dev/null
@@ -1,184 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "DistributionProto";
-option java_package = "com.google.api";
-
-
-// Distribution contains summary statistics for a population of values and,
-// optionally, a histogram representing the distribution of those values across
-// a specified set of histogram buckets.
-//
-// The summary statistics are the count, mean, sum of the squared deviation from
-// the mean, the minimum, and the maximum of the set of population of values.
-//
-// The histogram is based on a sequence of buckets and gives a count of values
-// that fall into each bucket.  The boundaries of the buckets are given either
-// explicitly or by specifying parameters for a method of computing them
-// (buckets of fixed width or buckets of exponentially increasing width).
-//
-// Although it is not forbidden, it is generally a bad idea to include
-// non-finite values (infinities or NaNs) in the population of values, as this
-// will render the `mean` and `sum_of_squared_deviation` fields meaningless.
-message Distribution {
-  // The range of the population values.
-  message Range {
-    // The minimum of the population values.
-    double min = 1;
-
-    // The maximum of the population values.
-    double max = 2;
-  }
-
-  // A Distribution may optionally contain a histogram of the values in the
-  // population.  The histogram is given in `bucket_counts` as counts of values
-  // that fall into one of a sequence of non-overlapping buckets.  The sequence
-  // of buckets is described by `bucket_options`.
-  //
-  // A bucket specifies an inclusive lower bound and exclusive upper bound for
-  // the values that are counted for that bucket.  The upper bound of a bucket
-  // is strictly greater than the lower bound.
-  //
-  // The sequence of N buckets for a Distribution consists of an underflow
-  // bucket (number 0), zero or more finite buckets (number 1 through N - 2) and
-  // an overflow bucket (number N - 1).  The buckets are contiguous:  the lower
-  // bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1.
-  // The buckets span the whole range of finite values: lower bound of the
-  // underflow bucket is -infinity and the upper bound of the overflow bucket is
-  // +infinity.  The finite buckets are so-called because both bounds are
-  // finite.
-  //
-  // `BucketOptions` describes bucket boundaries in one of three ways.  Two
-  // describe the boundaries by giving parameters for a formula to generate
-  // boundaries and one gives the bucket boundaries explicitly.
-  //
-  // If `bucket_boundaries` is not given, then no `bucket_counts` may be given.
-  message BucketOptions {
-    // Specify a sequence of buckets that all have the same width (except
-    // overflow and underflow).  Each bucket represents a constant absolute
-    // uncertainty on the specific value in the bucket.
-    //
-    // Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for
-    // bucket `i`:
-    //
-    //    Upper bound (0 <= i < N-1):     offset + (width * i).
-    //    Lower bound (1 <= i < N):       offset + (width * (i - 1)).
-    message Linear {
-      // Must be greater than 0.
-      int32 num_finite_buckets = 1;
-
-      // Must be greater than 0.
-      double width = 2;
-
-      // Lower bound of the first bucket.
-      double offset = 3;
-    }
-
-    // Specify a sequence of buckets that have a width that is proportional to
-    // the value of the lower bound.  Each bucket represents a constant relative
-    // uncertainty on a specific value in the bucket.
-    //
-    // Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for
-    // bucket i:
-    //
-    //    Upper bound (0 <= i < N-1):     scale * (growth_factor ^ i).
-    //    Lower bound (1 <= i < N):       scale * (growth_factor ^ (i - 1)).
-    message Exponential {
-      // Must be greater than 0.
-      int32 num_finite_buckets = 1;
-
-      // Must be greater than 1.
-      double growth_factor = 2;
-
-      // Must be greater than 0.
-      double scale = 3;
-    }
-
-    // A set of buckets with arbitrary widths.
-    //
-    // Defines `size(bounds) + 1` (= N) buckets with these boundaries for
-    // bucket i:
-    //
-    //    Upper bound (0 <= i < N-1):     bounds[i]
-    //    Lower bound (1 <= i < N);       bounds[i - 1]
-    //
-    // There must be at least one element in `bounds`.  If `bounds` has only one
-    // element, there are no finite buckets, and that single element is the
-    // common boundary of the overflow and underflow buckets.
-    message Explicit {
-      // The values must be monotonically increasing.
-      repeated double bounds = 1;
-    }
-
-    // Exactly one of these three fields must be set.
-    oneof options {
-      // The linear bucket.
-      Linear linear_buckets = 1;
-
-      // The exponential buckets.
-      Exponential exponential_buckets = 2;
-
-      // The explicit buckets.
-      Explicit explicit_buckets = 3;
-    }
-  }
-
-  // The number of values in the population. Must be non-negative.
-  int64 count = 1;
-
-  // The arithmetic mean of the values in the population. If `count` is zero
-  // then this field must be zero.
-  double mean = 2;
-
-  // The sum of squared deviations from the mean of the values in the
-  // population.  For values x_i this is:
-  //
-  //     Sum[i=1..n]((x_i - mean)^2)
-  //
-  // Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition
-  // describes Welford's method for accumulating this sum in one pass.
-  //
-  // If `count` is zero then this field must be zero.
-  double sum_of_squared_deviation = 3;
-
-  // If specified, contains the range of the population values. The field
-  // must not be present if the `count` is zero.
-  Range range = 4;
-
-  // Defines the histogram bucket boundaries.
-  BucketOptions bucket_options = 6;
-
-  // If `bucket_options` is given, then the sum of the values in `bucket_counts`
-  // must equal the value in `count`.  If `bucket_options` is not given, no
-  // `bucket_counts` fields may be given.
-  //
-  // Bucket counts are given in order under the numbering scheme described
-  // above (the underflow bucket has number 0; the finite buckets, if any,
-  // have numbers 1 through N-2; the overflow bucket has number N-1).
-  //
-  // The size of `bucket_counts` must be no greater than N as defined in
-  // `bucket_options`.
-  //
-  // Any suffix of trailing zero bucket_count fields may be omitted.
-  repeated int64 bucket_counts = 7;
-}
diff --git a/googleapis/api/httpbody/httpbody.pb.go b/googleapis/api/httpbody/httpbody.pb.go
index 3082b75afc353a71e99ff2451bd2e5039f76ddf9..96f998de8aeb1f7054ba450eaa5922d99460060e 100644
--- a/googleapis/api/httpbody/httpbody.pb.go
+++ b/googleapis/api/httpbody/httpbody.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/httpbody/httpbody.proto
+// source: google/api/httpbody.proto
 // DO NOT EDIT!
 
 /*
-Package google_api is a generated protocol buffer package.
+Package httpbody is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/api/httpbody/httpbody.proto
+	google/api/httpbody.proto
 
 It has these top-level messages:
 	HttpBody
 */
-package google_api // import "google.golang.org/genproto/googleapis/api/httpbody"
+package httpbody
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -78,25 +78,38 @@ func (m *HttpBody) String() string            { return proto.CompactTextString(m
 func (*HttpBody) ProtoMessage()               {}
 func (*HttpBody) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
-func init() {
-	proto.RegisterType((*HttpBody)(nil), "google.api.HttpBody")
+func (m *HttpBody) GetContentType() string {
+	if m != nil {
+		return m.ContentType
+	}
+	return ""
+}
+
+func (m *HttpBody) GetData() []byte {
+	if m != nil {
+		return m.Data
+	}
+	return nil
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/httpbody/httpbody.proto", fileDescriptor0)
+	proto.RegisterType((*HttpBody)(nil), "google.api.HttpBody")
 }
 
+func init() { proto.RegisterFile("google/api/httpbody.proto", fileDescriptor0) }
+
 var fileDescriptor0 = []byte{
-	// 172 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x44, 0x8d, 0xb1, 0x0e, 0x82, 0x30,
-	0x10, 0x86, 0x53, 0x42, 0x8c, 0x56, 0x74, 0xe8, 0xc4, 0x88, 0x4e, 0x4c, 0xed, 0xe0, 0x13, 0xc0,
-	0xa2, 0x6e, 0x84, 0xb8, 0x9b, 0x02, 0xcd, 0x49, 0x82, 0xbd, 0x0b, 0xde, 0xd2, 0xd7, 0xf1, 0x49,
-	0x8d, 0x88, 0xba, 0x7d, 0xb9, 0xfb, 0xf3, 0x7d, 0xb2, 0x00, 0x44, 0x18, 0x9c, 0x06, 0x1c, 0xac,
-	0x07, 0x8d, 0x23, 0x18, 0x70, 0x9e, 0x46, 0x64, 0x34, 0x9f, 0x97, 0xa5, 0xfe, 0x61, 0x2c, 0xf5,
-	0xe6, 0xc6, 0x4c, 0x0d, 0x76, 0xe1, 0x07, 0x7a, 0x9a, 0x29, 0x39, 0x2b, 0x2c, 0xf5, 0xfb, 0x42,
-	0x2e, 0x4f, 0xcc, 0x54, 0x62, 0x17, 0xd4, 0x4e, 0x26, 0x2d, 0x7a, 0x76, 0x9e, 0xaf, 0x1c, 0xc8,
-	0xa5, 0x22, 0x13, 0xf9, 0xaa, 0x5e, 0xcf, 0xb7, 0x4b, 0x20, 0xa7, 0x94, 0x8c, 0x3b, 0xcb, 0x36,
-	0x8d, 0x32, 0x91, 0x27, 0xf5, 0xc4, 0x65, 0x2e, 0xb7, 0x2d, 0xde, 0xf5, 0x5f, 0x5a, 0x6e, 0xbe,
-	0xca, 0xea, 0xdd, 0xab, 0xc4, 0x33, 0x8a, 0x8f, 0x45, 0x75, 0x6e, 0x16, 0x53, 0xff, 0xf0, 0x0a,
-	0x00, 0x00, 0xff, 0xff, 0x1b, 0xb1, 0xdb, 0xe7, 0xc4, 0x00, 0x00, 0x00,
+	// 181 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0xcf, 0x28, 0x29, 0x29, 0x48, 0xca, 0x4f, 0xa9, 0xd4,
+	0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x82, 0x48, 0xe9, 0x25, 0x16, 0x64, 0x2a, 0x39, 0x72,
+	0x71, 0x78, 0x94, 0x94, 0x14, 0x38, 0xe5, 0xa7, 0x54, 0x0a, 0x29, 0x72, 0xf1, 0x24, 0xe7, 0xe7,
+	0x95, 0xa4, 0xe6, 0x95, 0xc4, 0x97, 0x54, 0x16, 0xa4, 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06,
+	0x71, 0x43, 0xc5, 0x42, 0x2a, 0x0b, 0x52, 0x85, 0x84, 0xb8, 0x58, 0x52, 0x12, 0x4b, 0x12, 0x25,
+	0x98, 0x14, 0x18, 0x35, 0x78, 0x82, 0xc0, 0x6c, 0xa7, 0x54, 0x2e, 0xbe, 0xe4, 0xfc, 0x5c, 0x3d,
+	0x84, 0xa1, 0x4e, 0xbc, 0x30, 0x23, 0x03, 0x40, 0xf6, 0x05, 0x30, 0x46, 0x59, 0x43, 0x25, 0xd3,
+	0xf3, 0x73, 0x12, 0xf3, 0xd2, 0xf5, 0xf2, 0x8b, 0xd2, 0xf5, 0xd3, 0x53, 0xf3, 0xc0, 0xae, 0xd1,
+	0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xa3, 0xb8, 0xd5, 0x1a, 0xc6, 0x58, 0xc4, 0xc4, 0xe2, 0xee,
+	0x18, 0xe0, 0x99, 0xc4, 0x06, 0x56, 0x6e, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x0e, 0x3a, 0xdf,
+	0x30, 0xd9, 0x00, 0x00, 0x00,
 }
diff --git a/googleapis/api/httpbody/httpbody.proto b/googleapis/api/httpbody/httpbody.proto
deleted file mode 100644
index 0fc00c63dae0c7672b8623af4b5176e00e117e5e..0000000000000000000000000000000000000000
--- a/googleapis/api/httpbody/httpbody.proto
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-option java_multiple_files = true;
-option java_outer_classname = "HttpBodyProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// Message that represents an arbitrary HTTP body. It should only be used for
-// payload formats that can't be represented as JSON, such as raw binary or
-// an HTML page.
-//
-//
-// This message can be used both in streaming and non-streaming API methods in
-// the request as well as the response.
-//
-// It can be used as a top-level request field, which is convenient if one
-// wants to extract parameters from either the URL or HTTP template into the
-// request fields and also want access to the raw HTTP body.
-//
-// Example:
-//
-//     message GetResourceRequest {
-//       // A unique request id.
-//       string request_id = 1;
-//
-//       // The raw HTTP body is bound to this field.
-//       google.api.HttpBody http_body = 2;
-//     }
-//
-//     service ResourceService {
-//       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
-//       rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty);
-//     }
-//
-// Example with streaming methods:
-//
-//     service CaldavService {
-//       rpc GetCalendar(stream google.api.HttpBody)
-//         returns (stream google.api.HttpBody);
-//       rpc UpdateCalendar(stream google.api.HttpBody)
-//         returns (stream google.api.HttpBody);
-//     }
-//
-// Use of this type only changes how the request and response bodies are
-// handled, all other features will continue to work unchanged.
-message HttpBody {
-  // The HTTP Content-Type string representing the content type of the body.
-  string content_type = 1;
-
-  // HTTP body binary data.
-  bytes data = 2;
-}
diff --git a/googleapis/api/label/label.pb.go b/googleapis/api/label/label.pb.go
index f1ee6af472d532c4673e7b34701b22a65f4fd7bf..d0327abba78623c3bb8b46e2a99cdee1569daa2c 100644
--- a/googleapis/api/label/label.pb.go
+++ b/googleapis/api/label/label.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/label/label.proto
+// source: google/api/label.proto
 // DO NOT EDIT!
 
 /*
-Package google_api is a generated protocol buffer package.
+Package label is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/api/label/label.proto
+	google/api/label.proto
 
 It has these top-level messages:
 	LabelDescriptor
 */
-package google_api // import "google.golang.org/genproto/googleapis/api/label"
+package label
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -71,31 +71,50 @@ func (m *LabelDescriptor) String() string            { return proto.CompactTextS
 func (*LabelDescriptor) ProtoMessage()               {}
 func (*LabelDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *LabelDescriptor) GetKey() string {
+	if m != nil {
+		return m.Key
+	}
+	return ""
+}
+
+func (m *LabelDescriptor) GetValueType() LabelDescriptor_ValueType {
+	if m != nil {
+		return m.ValueType
+	}
+	return LabelDescriptor_STRING
+}
+
+func (m *LabelDescriptor) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*LabelDescriptor)(nil), "google.api.LabelDescriptor")
 	proto.RegisterEnum("google.api.LabelDescriptor_ValueType", LabelDescriptor_ValueType_name, LabelDescriptor_ValueType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/label/label.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/api/label.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 245 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xb2, 0x4e, 0xcf, 0xcf, 0x4f,
-	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
-	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x27, 0x16,
-	0x64, 0xea, 0xe7, 0x24, 0x26, 0xa5, 0xe6, 0x40, 0x48, 0x3d, 0xb0, 0x02, 0x21, 0x2e, 0xa8, 0xe6,
-	0xc4, 0x82, 0x4c, 0xa5, 0x9d, 0x8c, 0x5c, 0xfc, 0x3e, 0x20, 0x39, 0x97, 0xd4, 0xe2, 0xe4, 0xa2,
-	0xcc, 0x82, 0x92, 0xfc, 0x22, 0x21, 0x01, 0x2e, 0xe6, 0xec, 0xd4, 0x4a, 0x09, 0x46, 0x05, 0x46,
-	0x0d, 0xce, 0x20, 0x10, 0x53, 0xc8, 0x85, 0x8b, 0xab, 0x2c, 0x31, 0xa7, 0x34, 0x35, 0xbe, 0xa4,
-	0xb2, 0x20, 0x55, 0x82, 0x49, 0x81, 0x51, 0x83, 0xcf, 0x48, 0x55, 0x0f, 0x61, 0x8c, 0x1e, 0x9a,
-	0x11, 0x7a, 0x61, 0x20, 0xd5, 0x21, 0x95, 0x05, 0xa9, 0x41, 0x9c, 0x65, 0x30, 0xa6, 0x90, 0x02,
-	0x17, 0x77, 0x0a, 0x54, 0x49, 0x66, 0x7e, 0x9e, 0x04, 0x33, 0xd8, 0x7c, 0x64, 0x21, 0x25, 0x1d,
-	0x2e, 0x4e, 0xb8, 0x4e, 0x21, 0x2e, 0x2e, 0xb6, 0xe0, 0x90, 0x20, 0x4f, 0x3f, 0x77, 0x01, 0x06,
-	0x21, 0x0e, 0x2e, 0x16, 0x27, 0x7f, 0x7f, 0x1f, 0x01, 0x46, 0x21, 0x4e, 0x2e, 0x56, 0x4f, 0xbf,
-	0x10, 0x33, 0x13, 0x01, 0x26, 0x27, 0x0d, 0x2e, 0xbe, 0xe4, 0xfc, 0x5c, 0x24, 0x67, 0x38, 0x71,
-	0x81, 0xdd, 0x11, 0x00, 0xf2, 0x65, 0x00, 0xe3, 0x0f, 0x46, 0xc6, 0x45, 0x4c, 0x2c, 0xee, 0x8e,
-	0x01, 0x9e, 0x49, 0x6c, 0x60, 0x8f, 0x1b, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xca, 0x32, 0x56,
-	0x5f, 0x37, 0x01, 0x00, 0x00,
+	// 252 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4b, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0xcf, 0x49, 0x4c, 0x4a, 0xcd, 0xd1, 0x2b, 0x28, 0xca,
+	0x2f, 0xc9, 0x17, 0xe2, 0x82, 0x88, 0xeb, 0x25, 0x16, 0x64, 0x2a, 0xed, 0x64, 0xe4, 0xe2, 0xf7,
+	0x01, 0xc9, 0xb9, 0xa4, 0x16, 0x27, 0x17, 0x65, 0x16, 0x94, 0xe4, 0x17, 0x09, 0x09, 0x70, 0x31,
+	0x67, 0xa7, 0x56, 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x81, 0x98, 0x42, 0x2e, 0x5c, 0x5c,
+	0x65, 0x89, 0x39, 0xa5, 0xa9, 0xf1, 0x25, 0x95, 0x05, 0xa9, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0x7c,
+	0x46, 0xaa, 0x7a, 0x08, 0x63, 0xf4, 0xd0, 0x8c, 0xd0, 0x0b, 0x03, 0xa9, 0x0e, 0xa9, 0x2c, 0x48,
+	0x0d, 0xe2, 0x2c, 0x83, 0x31, 0x85, 0x14, 0xb8, 0xb8, 0x53, 0xa0, 0x4a, 0x32, 0xf3, 0xf3, 0x24,
+	0x98, 0xc1, 0xe6, 0x23, 0x0b, 0x29, 0xe9, 0x70, 0x71, 0xc2, 0x75, 0x0a, 0x71, 0x71, 0xb1, 0x05,
+	0x87, 0x04, 0x79, 0xfa, 0xb9, 0x0b, 0x30, 0x08, 0x71, 0x70, 0xb1, 0x38, 0xf9, 0xfb, 0xfb, 0x08,
+	0x30, 0x0a, 0x71, 0x72, 0xb1, 0x7a, 0xfa, 0x85, 0x98, 0x99, 0x08, 0x30, 0x39, 0xc5, 0x73, 0xf1,
+	0x25, 0xe7, 0xe7, 0x22, 0x39, 0xc3, 0x89, 0x0b, 0xec, 0x8e, 0x00, 0x90, 0x2f, 0x03, 0x18, 0xa3,
+	0x4c, 0xa1, 0x32, 0xe9, 0xf9, 0x39, 0x89, 0x79, 0xe9, 0x7a, 0xf9, 0x45, 0xe9, 0xfa, 0xe9, 0xa9,
+	0x79, 0xe0, 0x30, 0xd0, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0x23, 0x82, 0xc7, 0x1a, 0x4c, 0xfe,
+	0x60, 0x64, 0x5c, 0xc4, 0xc4, 0xe2, 0xee, 0x18, 0xe0, 0x99, 0xc4, 0x06, 0x56, 0x6b, 0x0c, 0x08,
+	0x00, 0x00, 0xff, 0xff, 0x57, 0x04, 0xaa, 0x1f, 0x49, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/label/label.proto b/googleapis/api/label/label.proto
deleted file mode 100644
index fec98121c3b5274f5ec1cb493b6f84333168f307..0000000000000000000000000000000000000000
--- a/googleapis/api/label/label.proto
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "LabelProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// A description of a label.
-message LabelDescriptor {
-  // Value types that can be used as label values.
-  enum ValueType {
-    // A variable-length string. This is the default.
-    STRING = 0;
-
-    // Boolean; true or false.
-    BOOL = 1;
-
-    // A 64-bit signed integer.
-    INT64 = 2;
-  }
-
-  // The label key.
-  string key = 1;
-
-  // The type of data that can be assigned to the label.
-  ValueType value_type = 2;
-
-  // A human-readable description for the label.
-  string description = 3;
-}
diff --git a/googleapis/api/metric/metric.pb.go b/googleapis/api/metric/metric.pb.go
index 462fd0239495127db4968b3399007ed7636dfc90..93abe416046c5ad0d2b2c38afd3ee8ca9e0fa641 100644
--- a/googleapis/api/metric/metric.pb.go
+++ b/googleapis/api/metric/metric.pb.go
@@ -1,23 +1,23 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/metric/metric.proto
+// source: google/api/metric.proto
 // DO NOT EDIT!
 
 /*
-Package google_api is a generated protocol buffer package.
+Package metric is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/api/metric/metric.proto
+	google/api/metric.proto
 
 It has these top-level messages:
 	MetricDescriptor
 	Metric
 */
-package google_api // import "google.golang.org/genproto/googleapis/api/metric"
+package metric
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import google_api1 "google.golang.org/genproto/googleapis/api/label"
+import google_api "google.golang.org/genproto/googleapis/api/label"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -116,36 +116,39 @@ func (MetricDescriptor_ValueType) EnumDescriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{0, 1}
 }
 
-// Defines a metric type and its schema.
+// Defines a metric type and its schema. Once a metric descriptor is created,
+// deleting or altering it stops data collection and makes the metric type's
+// existing data unusable.
 type MetricDescriptor struct {
-	// Resource name. The format of the name may vary between different
-	// implementations. For examples:
+	// The resource name of the metric descriptor. Depending on the
+	// implementation, the name typically includes: (1) the parent resource name
+	// that defines the scope of the metric type or of its data; and (2) the
+	// metric's URL-encoded type, which also appears in the `type` field of this
+	// descriptor. For example, following is the resource name of a custom
+	// metric within the GCP project 123456789:
 	//
-	//     projects/{project_id}/metricDescriptors/{type=**}
-	//     metricDescriptors/{type=**}
+	//     "projects/123456789/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount"
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	// The metric type including a DNS name prefix, for example
-	// `"compute.googleapis.com/instance/cpu/utilization"`. Metric types
-	// should use a natural hierarchical grouping such as the following:
+	// The metric type, including its DNS name prefix. The type is not
+	// URL-encoded.  All user-defined metric types have the DNS name
+	// `custom.googleapis.com`.  Metric types should use a natural hierarchical
+	// grouping. For example:
 	//
-	//     compute.googleapis.com/instance/cpu/utilization
-	//     compute.googleapis.com/instance/disk/read_ops_count
-	//     compute.googleapis.com/instance/network/received_bytes_count
-	//
-	// Note that if the metric type changes, the monitoring data will be
-	// discontinued, and anything depends on it will break, such as monitoring
-	// dashboards, alerting rules and quota limits. Therefore, once a metric has
-	// been published, its type should be immutable.
+	//     "custom.googleapis.com/invoice/paid/amount"
+	//     "appengine.googleapis.com/http/server/response_latencies"
 	Type string `protobuf:"bytes,8,opt,name=type" json:"type,omitempty"`
-	// The set of labels that can be used to describe a specific instance of this
-	// metric type. For example, the
-	// `compute.googleapis.com/instance/network/received_bytes_count` metric type
-	// has a label, `loadbalanced`, that specifies whether the traffic was
-	// received through a load balanced IP address.
-	Labels []*google_api1.LabelDescriptor `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty"`
+	// The set of labels that can be used to describe a specific
+	// instance of this metric type. For example, the
+	// `appengine.googleapis.com/http/server/response_latencies` metric
+	// type has a label for the HTTP response code, `response_code`, so
+	// you can look at latencies for successful responses or just
+	// for responses that failed.
+	Labels []*google_api.LabelDescriptor `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty"`
 	// Whether the metric records instantaneous values, changes to a value, etc.
+	// Some combinations of `metric_kind` and `value_type` might not be supported.
 	MetricKind MetricDescriptor_MetricKind `protobuf:"varint,3,opt,name=metric_kind,json=metricKind,enum=google.api.MetricDescriptor_MetricKind" json:"metric_kind,omitempty"`
 	// Whether the measurement is an integer, a floating-point number, etc.
+	// Some combinations of `metric_kind` and `value_type` might not be supported.
 	ValueType MetricDescriptor_ValueType `protobuf:"varint,4,opt,name=value_type,json=valueType,enum=google.api.MetricDescriptor_ValueType" json:"value_type,omitempty"`
 	// The unit in which the metric value is reported. It is only applicable
 	// if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
@@ -224,22 +227,70 @@ func (m *MetricDescriptor) String() string            { return proto.CompactText
 func (*MetricDescriptor) ProtoMessage()               {}
 func (*MetricDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
-func (m *MetricDescriptor) GetLabels() []*google_api1.LabelDescriptor {
+func (m *MetricDescriptor) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *MetricDescriptor) GetType() string {
+	if m != nil {
+		return m.Type
+	}
+	return ""
+}
+
+func (m *MetricDescriptor) GetLabels() []*google_api.LabelDescriptor {
 	if m != nil {
 		return m.Labels
 	}
 	return nil
 }
 
-// A specific metric identified by specifying values for all of the
+func (m *MetricDescriptor) GetMetricKind() MetricDescriptor_MetricKind {
+	if m != nil {
+		return m.MetricKind
+	}
+	return MetricDescriptor_METRIC_KIND_UNSPECIFIED
+}
+
+func (m *MetricDescriptor) GetValueType() MetricDescriptor_ValueType {
+	if m != nil {
+		return m.ValueType
+	}
+	return MetricDescriptor_VALUE_TYPE_UNSPECIFIED
+}
+
+func (m *MetricDescriptor) GetUnit() string {
+	if m != nil {
+		return m.Unit
+	}
+	return ""
+}
+
+func (m *MetricDescriptor) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *MetricDescriptor) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
+}
+
+// A specific metric, identified by specifying values for all of the
 // labels of a [`MetricDescriptor`][google.api.MetricDescriptor].
 type Metric struct {
 	// An existing metric type, see [google.api.MetricDescriptor][google.api.MetricDescriptor].
-	// For example, `compute.googleapis.com/instance/cpu/usage_time`.
+	// For example, `custom.googleapis.com/invoice/paid/amount`.
 	Type string `protobuf:"bytes,3,opt,name=type" json:"type,omitempty"`
-	// The set of labels that uniquely identify a metric. To specify a
-	// metric, all labels enumerated in the `MetricDescriptor` must be
-	// assigned values.
+	// The set of label values that uniquely identify this metric. All
+	// labels listed in the `MetricDescriptor` must be assigned values.
 	Labels map[string]string `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
 }
 
@@ -248,6 +299,13 @@ func (m *Metric) String() string            { return proto.CompactTextString(m)
 func (*Metric) ProtoMessage()               {}
 func (*Metric) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *Metric) GetType() string {
+	if m != nil {
+		return m.Type
+	}
+	return ""
+}
+
 func (m *Metric) GetLabels() map[string]string {
 	if m != nil {
 		return m.Labels
@@ -262,42 +320,40 @@ func init() {
 	proto.RegisterEnum("google.api.MetricDescriptor_ValueType", MetricDescriptor_ValueType_name, MetricDescriptor_ValueType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/metric/metric.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/api/metric.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 503 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x52, 0x5d, 0x6b, 0xdb, 0x30,
-	0x14, 0x9d, 0x3f, 0xe2, 0x35, 0x37, 0xa5, 0x08, 0x31, 0x36, 0x93, 0xc2, 0xc8, 0xf2, 0xd0, 0xe5,
-	0x29, 0x81, 0x76, 0x94, 0x7d, 0xb0, 0x87, 0x24, 0xd6, 0x32, 0x53, 0xc7, 0x0e, 0xae, 0x1d, 0xe8,
-	0x93, 0x71, 0x13, 0x61, 0x44, 0x1d, 0xdb, 0x73, 0xdc, 0x42, 0x7e, 0xc5, 0x7e, 0xc1, 0x5e, 0xf6,
-	0x4b, 0x87, 0x24, 0x37, 0x31, 0x19, 0x8c, 0xbd, 0x24, 0x47, 0xe7, 0xde, 0x7b, 0x74, 0x8f, 0x7c,
-	0xe0, 0x6b, 0x92, 0xe7, 0x49, 0x4a, 0x87, 0x49, 0x9e, 0xc6, 0x59, 0x32, 0xcc, 0xcb, 0x64, 0x94,
-	0xd0, 0xac, 0x28, 0xf3, 0x2a, 0x1f, 0xc9, 0x52, 0x5c, 0xb0, 0xed, 0x28, 0x2e, 0xd8, 0x68, 0x43,
-	0xab, 0x92, 0xad, 0xea, 0xbf, 0xa1, 0x68, 0xc1, 0x50, 0x8f, 0xc7, 0x05, 0xeb, 0x7e, 0xf9, 0x7f,
-	0xa9, 0x34, 0xbe, 0xa7, 0xa9, 0xfc, 0x95, 0x42, 0xfd, 0x5f, 0x3a, 0xa0, 0xb9, 0x50, 0xb6, 0xe8,
-	0x76, 0x55, 0xb2, 0xa2, 0xca, 0x4b, 0x8c, 0x41, 0xcf, 0xe2, 0x0d, 0x35, 0x95, 0x9e, 0x32, 0x68,
-	0xfb, 0x02, 0x73, 0xae, 0xda, 0x15, 0xd4, 0x3c, 0x91, 0x1c, 0xc7, 0xf8, 0x0a, 0x0c, 0xa1, 0xb5,
-	0x35, 0xd5, 0x9e, 0x36, 0xe8, 0x5c, 0x9e, 0x0f, 0x0f, 0x6b, 0x0d, 0x1d, 0x5e, 0x39, 0x88, 0xfa,
-	0x75, 0x2b, 0xfe, 0x0e, 0x1d, 0x69, 0x25, 0x7a, 0x60, 0xd9, 0xda, 0xd4, 0x7a, 0xca, 0xe0, 0xec,
-	0xf2, 0x7d, 0x73, 0xf2, 0x78, 0x9f, 0x9a, 0xb8, 0x61, 0xd9, 0xda, 0x87, 0xcd, 0x1e, 0x63, 0x02,
-	0xf0, 0x14, 0xa7, 0x8f, 0x34, 0x12, 0x8b, 0xe9, 0x42, 0xe8, 0xe2, 0x9f, 0x42, 0x4b, 0xde, 0x1e,
-	0xec, 0x0a, 0xea, 0xb7, 0x9f, 0x9e, 0x21, 0x77, 0xf6, 0x98, 0xb1, 0xca, 0x6c, 0x49, 0x67, 0x1c,
-	0xe3, 0x1e, 0x74, 0xd6, 0xf5, 0x18, 0xcb, 0x33, 0xd3, 0x10, 0xa5, 0x26, 0x85, 0xdf, 0xc1, 0xe9,
-	0x9a, 0x6d, 0x8b, 0x34, 0xde, 0x45, 0xe2, 0xad, 0x5e, 0xd6, 0x2d, 0x92, 0x73, 0xe3, 0x0d, 0xed,
-	0x7b, 0x00, 0x87, 0xcd, 0xf1, 0x39, 0xbc, 0x99, 0x93, 0xc0, 0xb7, 0xa7, 0xd1, 0x8d, 0xed, 0x5a,
-	0x51, 0xe8, 0xde, 0x2e, 0xc8, 0xd4, 0xfe, 0x66, 0x13, 0x0b, 0xbd, 0xc0, 0x6d, 0x68, 0xcd, 0xc6,
-	0xe1, 0x8c, 0x20, 0x85, 0x43, 0x8b, 0x38, 0xc1, 0x18, 0xa9, 0xf8, 0x0c, 0x60, 0x1a, 0xce, 0x43,
-	0x67, 0x1c, 0xd8, 0x4b, 0x82, 0xb4, 0xfe, 0x0f, 0x68, 0xef, 0x1d, 0xe0, 0x2e, 0xbc, 0x5e, 0x8e,
-	0x9d, 0x90, 0x44, 0xc1, 0xdd, 0x82, 0x1c, 0xc9, 0x9d, 0x80, 0x3e, 0xf1, 0x3c, 0x47, 0xaa, 0xd9,
-	0x6e, 0x70, 0xfd, 0x01, 0xa9, 0x18, 0xc0, 0xb0, 0xbc, 0x70, 0xe2, 0x10, 0xa4, 0x71, 0x7c, 0x1b,
-	0xf8, 0xb6, 0x3b, 0x43, 0x3a, 0x46, 0x70, 0x6a, 0xd9, 0xfc, 0x34, 0x09, 0x03, 0xdb, 0x73, 0x51,
-	0x8b, 0x0f, 0xcd, 0x3d, 0x97, 0xdc, 0x21, 0xa3, 0xff, 0x53, 0x01, 0x43, 0x9a, 0xd8, 0x27, 0x40,
-	0x6b, 0x24, 0xe0, 0xfa, 0x28, 0x01, 0x6f, 0xff, 0x7e, 0x7e, 0x19, 0x84, 0x2d, 0xc9, 0xaa, 0x72,
-	0xf7, 0x1c, 0x82, 0xee, 0x27, 0xe8, 0x34, 0x68, 0x8c, 0x40, 0x7b, 0xa0, 0xbb, 0x3a, 0x6f, 0x1c,
-	0xe2, 0x57, 0xd0, 0x12, 0x5f, 0xc8, 0x54, 0x05, 0x27, 0x0f, 0x9f, 0xd5, 0x8f, 0xca, 0xe4, 0x02,
-	0xce, 0x56, 0xf9, 0xa6, 0x71, 0xcf, 0xa4, 0x23, 0x2f, 0x5a, 0xf0, 0x40, 0x2f, 0x94, 0xdf, 0xaa,
-	0x3e, 0x1b, 0x2f, 0xec, 0x7b, 0x43, 0x04, 0xfc, 0xea, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9e,
-	0x86, 0xb0, 0x69, 0x6a, 0x03, 0x00, 0x00,
+	// 506 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0x4d, 0x6f, 0xda, 0x40,
+	0x10, 0xad, 0x3f, 0x70, 0xc3, 0x10, 0xa1, 0xd5, 0xaa, 0x4a, 0x2c, 0x22, 0x55, 0x94, 0x43, 0xcb,
+	0x09, 0xa4, 0xa4, 0x4a, 0xbf, 0x4e, 0x80, 0xb7, 0xd4, 0x8a, 0xb1, 0x91, 0x63, 0x23, 0xa5, 0x17,
+	0xcb, 0x81, 0x95, 0x65, 0xc5, 0xd8, 0xae, 0x71, 0x22, 0xf9, 0x57, 0xf4, 0x17, 0xf4, 0xd2, 0x5f,
+	0x5a, 0xed, 0xae, 0x03, 0x16, 0x95, 0x72, 0xe2, 0xed, 0x9b, 0x37, 0x6f, 0x67, 0x96, 0x67, 0x38,
+	0x8f, 0xb2, 0x2c, 0x4a, 0xe8, 0x38, 0xcc, 0xe3, 0xf1, 0x96, 0x96, 0x45, 0xbc, 0x1e, 0xe5, 0x45,
+	0x56, 0x66, 0x18, 0x44, 0x61, 0x14, 0xe6, 0x71, 0xef, 0xac, 0x21, 0x4a, 0xc2, 0x7b, 0x9a, 0x08,
+	0xcd, 0xe0, 0x8f, 0x0a, 0x68, 0xc1, 0x9b, 0x0c, 0xba, 0x5b, 0x17, 0x71, 0x5e, 0x66, 0x05, 0xc6,
+	0xa0, 0xa6, 0xe1, 0x96, 0xea, 0x52, 0x5f, 0x1a, 0xb6, 0x5d, 0x8e, 0x19, 0x57, 0x56, 0x39, 0xd5,
+	0x4f, 0x04, 0xc7, 0x30, 0xbe, 0x02, 0x8d, 0x7b, 0xed, 0x74, 0xb9, 0xaf, 0x0c, 0x3b, 0x97, 0x17,
+	0xa3, 0xc3, 0x8d, 0x23, 0x8b, 0x55, 0x0e, 0xa6, 0x6e, 0x2d, 0xc5, 0x3f, 0xa0, 0x23, 0xa6, 0x0c,
+	0x1e, 0xe2, 0x74, 0xa3, 0x2b, 0x7d, 0x69, 0xd8, 0xbd, 0xfc, 0xd0, 0xec, 0x3c, 0x9e, 0xa7, 0x26,
+	0x6e, 0xe2, 0x74, 0xe3, 0xc2, 0x76, 0x8f, 0x31, 0x01, 0x78, 0x0a, 0x93, 0x47, 0x1a, 0xf0, 0xc1,
+	0x54, 0x6e, 0xf4, 0xfe, 0x45, 0xa3, 0x15, 0x93, 0x7b, 0x55, 0x4e, 0xdd, 0xf6, 0xd3, 0x33, 0x64,
+	0x9b, 0x3d, 0xa6, 0x71, 0xa9, 0xb7, 0xc4, 0x66, 0x0c, 0xe3, 0x3e, 0x74, 0x36, 0x75, 0x5b, 0x9c,
+	0xa5, 0xba, 0xc6, 0x4b, 0x4d, 0x0a, 0xbf, 0x83, 0xd3, 0x4d, 0xbc, 0xcb, 0x93, 0xb0, 0x0a, 0xf8,
+	0x5b, 0xbd, 0xae, 0x25, 0x82, 0xb3, 0xc3, 0x2d, 0x1d, 0x38, 0x00, 0x87, 0xc9, 0xf1, 0x05, 0x9c,
+	0x2f, 0x88, 0xe7, 0x9a, 0xb3, 0xe0, 0xc6, 0xb4, 0x8d, 0xc0, 0xb7, 0x6f, 0x97, 0x64, 0x66, 0x7e,
+	0x37, 0x89, 0x81, 0x5e, 0xe1, 0x36, 0xb4, 0xe6, 0x13, 0x7f, 0x4e, 0x90, 0xc4, 0xa0, 0x41, 0x2c,
+	0x6f, 0x82, 0x64, 0xdc, 0x05, 0x98, 0xf9, 0x0b, 0xdf, 0x9a, 0x78, 0xe6, 0x8a, 0x20, 0x65, 0xf0,
+	0x0b, 0xda, 0xfb, 0x0d, 0x70, 0x0f, 0xce, 0x56, 0x13, 0xcb, 0x27, 0x81, 0x77, 0xb7, 0x24, 0x47,
+	0x76, 0x27, 0xa0, 0x4e, 0x1d, 0xc7, 0x12, 0x6e, 0xa6, 0xed, 0x5d, 0x7f, 0x44, 0x32, 0x06, 0xd0,
+	0x0c, 0xc7, 0x9f, 0x5a, 0x04, 0x29, 0x0c, 0xdf, 0x7a, 0xae, 0x69, 0xcf, 0x91, 0x8a, 0x11, 0x9c,
+	0x1a, 0x26, 0x3b, 0x4d, 0x7d, 0xcf, 0x74, 0x6c, 0xd4, 0x62, 0x4d, 0x0b, 0xc7, 0x26, 0x77, 0x48,
+	0x1b, 0xfc, 0x96, 0x40, 0x13, 0x4b, 0xec, 0x13, 0xa0, 0x34, 0x12, 0x70, 0x7d, 0x94, 0x80, 0xb7,
+	0xff, 0x3f, 0xbf, 0x08, 0xc2, 0x8e, 0xa4, 0x65, 0x51, 0x3d, 0x87, 0xa0, 0xf7, 0x05, 0x3a, 0x0d,
+	0x1a, 0x23, 0x50, 0x1e, 0x68, 0x55, 0xe7, 0x8d, 0x41, 0xfc, 0x06, 0x5a, 0xfc, 0x1f, 0xd2, 0x65,
+	0xce, 0x89, 0xc3, 0x57, 0xf9, 0xb3, 0x34, 0x0d, 0xa0, 0xbb, 0xce, 0xb6, 0x8d, 0x7b, 0xa6, 0x1d,
+	0x71, 0xd1, 0x92, 0x05, 0x7a, 0x29, 0xfd, 0xfc, 0x54, 0x97, 0xa2, 0x2c, 0x09, 0xd3, 0x68, 0x94,
+	0x15, 0xd1, 0x38, 0xa2, 0x29, 0x8f, 0xfb, 0x58, 0x94, 0xc2, 0x3c, 0xde, 0x35, 0x3e, 0x97, 0x6f,
+	0xe2, 0xe7, 0xaf, 0xac, 0xce, 0x27, 0x4b, 0xf3, 0x5e, 0xe3, 0xd2, 0xab, 0x7f, 0x01, 0x00, 0x00,
+	0xff, 0xff, 0x18, 0x04, 0x05, 0x82, 0x58, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/api/metric/metric.proto b/googleapis/api/metric/metric.proto
deleted file mode 100644
index e8967058022d17dfc01228323cf78745a2dfaf69..0000000000000000000000000000000000000000
--- a/googleapis/api/metric/metric.proto
+++ /dev/null
@@ -1,193 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-import "google.golang.org/genproto/googleapis/api/label/label.proto"; // from google/api/label.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "MetricProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// Defines a metric type and its schema.
-message MetricDescriptor {
-  // The kind of measurement. It describes how the data is reported.
-  enum MetricKind {
-    // Do not use this default value.
-    METRIC_KIND_UNSPECIFIED = 0;
-
-    // An instantaneous measurement of a value.
-    GAUGE = 1;
-
-    // The change in a value during a time interval.
-    DELTA = 2;
-
-    // A value accumulated over a time interval.  Cumulative
-    // measurements in a time series should have the same start time
-    // and increasing end times, until an event resets the cumulative
-    // value to zero and sets a new start time for the following
-    // points.
-    CUMULATIVE = 3;
-  }
-
-  // The value type of a metric.
-  enum ValueType {
-    // Do not use this default value.
-    VALUE_TYPE_UNSPECIFIED = 0;
-
-    // The value is a boolean.
-    // This value type can be used only if the metric kind is `GAUGE`.
-    BOOL = 1;
-
-    // The value is a signed 64-bit integer.
-    INT64 = 2;
-
-    // The value is a double precision floating point number.
-    DOUBLE = 3;
-
-    // The value is a text string.
-    // This value type can be used only if the metric kind is `GAUGE`.
-    STRING = 4;
-
-    // The value is a [`Distribution`][google.api.Distribution].
-    DISTRIBUTION = 5;
-
-    // The value is money.
-    MONEY = 6;
-  }
-
-  // Resource name. The format of the name may vary between different
-  // implementations. For examples:
-  //
-  //     projects/{project_id}/metricDescriptors/{type=**}
-  //     metricDescriptors/{type=**}
-  string name = 1;
-
-  // The metric type including a DNS name prefix, for example
-  // `"compute.googleapis.com/instance/cpu/utilization"`. Metric types
-  // should use a natural hierarchical grouping such as the following:
-  //
-  //     compute.googleapis.com/instance/cpu/utilization
-  //     compute.googleapis.com/instance/disk/read_ops_count
-  //     compute.googleapis.com/instance/network/received_bytes_count
-  //
-  // Note that if the metric type changes, the monitoring data will be
-  // discontinued, and anything depends on it will break, such as monitoring
-  // dashboards, alerting rules and quota limits. Therefore, once a metric has
-  // been published, its type should be immutable.
-  string type = 8;
-
-  // The set of labels that can be used to describe a specific instance of this
-  // metric type. For example, the
-  // `compute.googleapis.com/instance/network/received_bytes_count` metric type
-  // has a label, `loadbalanced`, that specifies whether the traffic was
-  // received through a load balanced IP address.
-  repeated LabelDescriptor labels = 2;
-
-  // Whether the metric records instantaneous values, changes to a value, etc.
-  MetricKind metric_kind = 3;
-
-  // Whether the measurement is an integer, a floating-point number, etc.
-  ValueType value_type = 4;
-
-  // The unit in which the metric value is reported. It is only applicable
-  // if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
-  // supported units are a subset of [The Unified Code for Units of
-  // Measure](http://unitsofmeasure.org/ucum.html) standard:
-  //
-  // **Basic units (UNIT)**
-  //
-  // * `bit`   bit
-  // * `By`    byte
-  // * `s`     second
-  // * `min`   minute
-  // * `h`     hour
-  // * `d`     day
-  //
-  // **Prefixes (PREFIX)**
-  //
-  // * `k`     kilo    (10**3)
-  // * `M`     mega    (10**6)
-  // * `G`     giga    (10**9)
-  // * `T`     tera    (10**12)
-  // * `P`     peta    (10**15)
-  // * `E`     exa     (10**18)
-  // * `Z`     zetta   (10**21)
-  // * `Y`     yotta   (10**24)
-  // * `m`     milli   (10**-3)
-  // * `u`     micro   (10**-6)
-  // * `n`     nano    (10**-9)
-  // * `p`     pico    (10**-12)
-  // * `f`     femto   (10**-15)
-  // * `a`     atto    (10**-18)
-  // * `z`     zepto   (10**-21)
-  // * `y`     yocto   (10**-24)
-  // * `Ki`    kibi    (2**10)
-  // * `Mi`    mebi    (2**20)
-  // * `Gi`    gibi    (2**30)
-  // * `Ti`    tebi    (2**40)
-  //
-  // **Grammar**
-  //
-  // The grammar includes the dimensionless unit `1`, such as `1/s`.
-  //
-  // The grammar also includes these connectors:
-  //
-  // * `/`    division (as an infix operator, e.g. `1/s`).
-  // * `.`    multiplication (as an infix operator, e.g. `GBy.d`)
-  //
-  // The grammar for a unit is as follows:
-  //
-  //     Expression = Component { "." Component } { "/" Component } ;
-  //
-  //     Component = [ PREFIX ] UNIT [ Annotation ]
-  //               | Annotation
-  //               | "1"
-  //               ;
-  //
-  //     Annotation = "{" NAME "}" ;
-  //
-  // Notes:
-  //
-  // * `Annotation` is just a comment if it follows a `UNIT` and is
-  //    equivalent to `1` if it is used alone. For examples,
-  //    `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.
-  // * `NAME` is a sequence of non-blank printable ASCII characters not
-  //    containing '{' or '}'.
-  string unit = 5;
-
-  // A detailed description of the metric, which can be used in documentation.
-  string description = 6;
-
-  // A concise name for the metric, which can be displayed in user interfaces.
-  // Use sentence case without an ending period, for example "Request count".
-  string display_name = 7;
-}
-
-// A specific metric identified by specifying values for all of the
-// labels of a [`MetricDescriptor`][google.api.MetricDescriptor].
-message Metric {
-  // An existing metric type, see [google.api.MetricDescriptor][google.api.MetricDescriptor].
-  // For example, `compute.googleapis.com/instance/cpu/usage_time`.
-  string type = 3;
-
-  // The set of labels that uniquely identify a metric. To specify a
-  // metric, all labels enumerated in the `MetricDescriptor` must be
-  // assigned values.
-  map<string, string> labels = 2;
-}
diff --git a/googleapis/api/monitoredres/monitored_resource.pb.go b/googleapis/api/monitoredres/monitored_resource.pb.go
index 4e04ee10cabfe2a5610ff35b368fa60b30917877..9ceb24b70087b8492d8c40065fe4b223b6d2928b 100644
--- a/googleapis/api/monitoredres/monitored_resource.pb.go
+++ b/googleapis/api/monitoredres/monitored_resource.pb.go
@@ -1,18 +1,18 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto
+// source: google/api/monitored_resource.proto
 // DO NOT EDIT!
 
 /*
 Package monitoredres is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto
+	google/api/monitored_resource.proto
 
 It has these top-level messages:
 	MonitoredResourceDescriptor
 	MonitoredResource
 */
-package monitoredres // import "google.golang.org/genproto/googleapis/api/monitoredres"
+package monitoredres
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -70,6 +70,34 @@ func (m *MonitoredResourceDescriptor) String() string            { return proto.
 func (*MonitoredResourceDescriptor) ProtoMessage()               {}
 func (*MonitoredResourceDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *MonitoredResourceDescriptor) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *MonitoredResourceDescriptor) GetType() string {
+	if m != nil {
+		return m.Type
+	}
+	return ""
+}
+
+func (m *MonitoredResourceDescriptor) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
+}
+
+func (m *MonitoredResourceDescriptor) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func (m *MonitoredResourceDescriptor) GetLabels() []*google_api.LabelDescriptor {
 	if m != nil {
 		return m.Labels
@@ -106,6 +134,13 @@ func (m *MonitoredResource) String() string            { return proto.CompactTex
 func (*MonitoredResource) ProtoMessage()               {}
 func (*MonitoredResource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *MonitoredResource) GetType() string {
+	if m != nil {
+		return m.Type
+	}
+	return ""
+}
+
 func (m *MonitoredResource) GetLabels() map[string]string {
 	if m != nil {
 		return m.Labels
@@ -118,31 +153,29 @@ func init() {
 	proto.RegisterType((*MonitoredResource)(nil), "google.api.MonitoredResource")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/api/monitored_resource.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 326 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0xcb, 0x4a, 0xfb, 0x40,
-	0x14, 0xc6, 0x99, 0xf4, 0x02, 0xff, 0x93, 0x3f, 0xa2, 0x83, 0x48, 0x68, 0x37, 0xb5, 0xab, 0xba,
-	0x49, 0xc0, 0x82, 0x78, 0x59, 0xb5, 0x28, 0x22, 0x78, 0x29, 0x5d, 0xba, 0x29, 0xd3, 0x76, 0x08,
-	0x83, 0xd3, 0x9c, 0x61, 0x26, 0x15, 0xf2, 0x3a, 0x82, 0xcf, 0xe1, 0x6b, 0xb9, 0x94, 0xb9, 0xd4,
-	0x14, 0xea, 0x42, 0xdc, 0x84, 0x33, 0xdf, 0xf9, 0xe6, 0xf7, 0x9d, 0x93, 0x04, 0x9e, 0x72, 0xc4,
-	0x5c, 0xf2, 0x34, 0x47, 0xc9, 0x8a, 0x3c, 0x45, 0x9d, 0x67, 0x39, 0x2f, 0x94, 0xc6, 0x12, 0x33,
-	0xdf, 0x62, 0x4a, 0x98, 0x8c, 0x29, 0x91, 0xad, 0xb0, 0x10, 0x25, 0x6a, 0xbe, 0xd4, 0xdc, 0xd4,
-	0x87, 0x99, 0xe6, 0x06, 0xd7, 0x7a, 0xc1, 0x53, 0x77, 0x89, 0x42, 0x00, 0x32, 0x25, 0x3a, 0x57,
-	0xbf, 0x87, 0x4b, 0x36, 0xe7, 0xd2, 0x3f, 0x3d, 0xa8, 0xff, 0x41, 0xa0, 0xfb, 0xb0, 0x49, 0x99,
-	0x86, 0x90, 0x6b, 0x6e, 0x16, 0x5a, 0xa8, 0x12, 0x35, 0xa5, 0xd0, 0x2c, 0xd8, 0x8a, 0x27, 0xad,
-	0x1e, 0x19, 0xfc, 0x9b, 0xba, 0xda, 0x6a, 0x65, 0xa5, 0x78, 0x42, 0xbc, 0x66, 0x6b, 0x7a, 0x0c,
-	0xff, 0x97, 0xc2, 0x28, 0xc9, 0xaa, 0x99, 0xf3, 0x47, 0xae, 0x17, 0x07, 0xed, 0xd1, 0x5e, 0xeb,
-	0x41, 0xbc, 0x0c, 0x60, 0x81, 0x45, 0xd2, 0x08, 0x8e, 0x5a, 0xa2, 0x43, 0x68, 0xbb, 0xd9, 0x4c,
-	0xd2, 0xec, 0x35, 0x06, 0xf1, 0x69, 0x37, 0xad, 0xd7, 0x4c, 0xef, 0x6d, 0xa7, 0x9e, 0x6c, 0x1a,
-	0xac, 0xfd, 0x77, 0x02, 0x07, 0x3b, 0x1b, 0xfc, 0x38, 0xe3, 0xe8, 0x1b, 0x1f, 0x39, 0xfc, 0xc9,
-	0x36, 0x7e, 0x07, 0xe1, 0x03, 0xcd, 0x4d, 0x51, 0xea, 0x6a, 0x13, 0xd6, 0xb9, 0x80, 0x78, 0x4b,
-	0xa6, 0xfb, 0xd0, 0x78, 0xe1, 0x55, 0x08, 0xb1, 0x25, 0x3d, 0x84, 0xd6, 0x2b, 0x93, 0xeb, 0xcd,
-	0x0b, 0xf0, 0x87, 0xcb, 0xe8, 0x9c, 0x8c, 0x25, 0xec, 0x2d, 0x70, 0xb5, 0x15, 0x39, 0x3e, 0xda,
-	0xc9, 0x9c, 0xd8, 0x6f, 0x32, 0x21, 0xcf, 0x67, 0x7f, 0xfb, 0x5f, 0x3e, 0x09, 0x79, 0x8b, 0x9a,
-	0xb7, 0xa3, 0xc9, 0xdd, 0xbc, 0xed, 0xcc, 0xc3, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x87,
-	0xa2, 0x37, 0x7a, 0x02, 0x00, 0x00,
+	// 321 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x51, 0x4b, 0x4b, 0x3b, 0x31,
+	0x10, 0x27, 0xdb, 0x07, 0xfc, 0x67, 0xff, 0x88, 0x06, 0x29, 0x4b, 0x7b, 0xa9, 0xf5, 0x52, 0x2f,
+	0xbb, 0x60, 0x2f, 0x3e, 0x4e, 0xad, 0x8a, 0x08, 0x2a, 0xa5, 0x47, 0x2f, 0x25, 0x6d, 0xc3, 0x12,
+	0xdc, 0x66, 0x42, 0xb2, 0x15, 0xf6, 0xeb, 0x08, 0x7e, 0x0e, 0xbf, 0x96, 0x47, 0xc9, 0xa3, 0x76,
+	0xa5, 0xde, 0x26, 0xbf, 0xf9, 0x3d, 0x66, 0x32, 0x70, 0x9a, 0x23, 0xe6, 0x05, 0xcf, 0x98, 0x12,
+	0xd9, 0x1a, 0xa5, 0x28, 0x51, 0xf3, 0xd5, 0x5c, 0x73, 0x83, 0x1b, 0xbd, 0xe4, 0xa9, 0xd2, 0x58,
+	0x22, 0x05, 0x4f, 0x4a, 0x99, 0x12, 0xdd, 0x4e, 0x4d, 0x50, 0xb0, 0x05, 0x2f, 0x3c, 0x67, 0xf0,
+	0x49, 0xa0, 0xf7, 0xb4, 0x35, 0x98, 0x05, 0xfd, 0x2d, 0x37, 0x4b, 0x2d, 0x54, 0x89, 0x9a, 0x52,
+	0x68, 0x4a, 0xb6, 0xe6, 0x49, 0xab, 0x4f, 0x86, 0xff, 0x66, 0xae, 0xb6, 0x58, 0x59, 0x29, 0x9e,
+	0x10, 0x8f, 0xd9, 0x9a, 0x9e, 0xc0, 0xff, 0x95, 0x30, 0xaa, 0x60, 0xd5, 0xdc, 0xf1, 0x23, 0xd7,
+	0x8b, 0x03, 0xf6, 0x6c, 0x65, 0x7d, 0x88, 0x57, 0xc1, 0x58, 0xa0, 0x4c, 0x1a, 0x81, 0xb1, 0x83,
+	0xe8, 0x08, 0xda, 0x6e, 0x36, 0x93, 0x34, 0xfb, 0x8d, 0x61, 0x7c, 0xde, 0x4b, 0x77, 0x1b, 0xa4,
+	0x8f, 0xb6, 0xb3, 0x9b, 0x6c, 0x16, 0xa8, 0x83, 0x0f, 0x02, 0x47, 0x7b, 0x1b, 0xfc, 0x39, 0xe3,
+	0xf8, 0xc7, 0x3e, 0x72, 0xf6, 0x67, 0x75, 0xfb, 0x3d, 0x0b, 0x1f, 0x68, 0xee, 0x64, 0xa9, 0xab,
+	0x6d, 0x58, 0xf7, 0x12, 0xe2, 0x1a, 0x4c, 0x0f, 0xa1, 0xf1, 0xca, 0xab, 0x10, 0x62, 0x4b, 0x7a,
+	0x0c, 0xad, 0x37, 0x56, 0x6c, 0xb6, 0x1f, 0xe0, 0x1f, 0x57, 0xd1, 0x05, 0x99, 0x54, 0x70, 0xb0,
+	0xc4, 0x75, 0x2d, 0x72, 0xd2, 0xd9, 0xcb, 0x9c, 0xda, 0x9b, 0x4c, 0xc9, 0xcb, 0x4d, 0x60, 0xe5,
+	0x58, 0x30, 0x99, 0xa7, 0xa8, 0xf3, 0x2c, 0xe7, 0xd2, 0x5d, 0x2c, 0xf3, 0x2d, 0xa6, 0x84, 0xf9,
+	0x7d, 0x7d, 0xcd, 0xcd, 0x75, 0xfd, 0xf1, 0x45, 0xc8, 0x7b, 0xd4, 0xbc, 0x1f, 0x4f, 0x1f, 0x16,
+	0x6d, 0xa7, 0x1c, 0x7d, 0x07, 0x00, 0x00, 0xff, 0xff, 0xf8, 0xfb, 0xfb, 0x11, 0x36, 0x02, 0x00,
+	0x00,
 }
diff --git a/googleapis/api/monitoredres/monitored_resource.proto b/googleapis/api/monitoredres/monitored_resource.proto
deleted file mode 100644
index e01b62144e100bb47902e22cda275ee39d309154..0000000000000000000000000000000000000000
--- a/googleapis/api/monitoredres/monitored_resource.proto
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-import "google.golang.org/genproto/googleapis/api/label/label.proto"; // from google/api/label.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "MonitoredResourceProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-option go_package = "google.golang.org/genproto/googleapis/api/monitoredres";
-
-// An object that describes the schema of a [MonitoredResource][google.api.MonitoredResource] object using a
-// type name and a set of labels.  For example, the monitored resource
-// descriptor for Google Compute Engine VM instances has a type of
-// `"gce_instance"` and specifies the use of the labels `"instance_id"` and
-// `"zone"` to identify particular VM instances.
-//
-// Different APIs can support different monitored resource types. APIs generally
-// provide a `list` method that returns the monitored resource descriptors used
-// by the API.
-message MonitoredResourceDescriptor {
-  // Optional. The resource name of the monitored resource descriptor:
-  // `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where
-  // {type} is the value of the `type` field in this object and
-  // {project_id} is a project ID that provides API-specific context for
-  // accessing the type.  APIs that do not use project information can use the
-  // resource name format `"monitoredResourceDescriptors/{type}"`.
-  string name = 5;
-
-  // Required. The monitored resource type. For example, the type
-  // `"cloudsql_database"` represents databases in Google Cloud SQL.
-  // The maximum length of this value is 256 characters.
-  string type = 1;
-
-  // Optional. A concise name for the monitored resource type that might be
-  // displayed in user interfaces. It should be a Title Cased Noun Phrase,
-  // without any article or other determiners. For example,
-  // `"Google Cloud SQL Database"`.
-  string display_name = 2;
-
-  // Optional. A detailed description of the monitored resource type that might
-  // be used in documentation.
-  string description = 3;
-
-  // Required. A set of labels used to describe instances of this monitored
-  // resource type. For example, an individual Google Cloud SQL database is
-  // identified by values for the labels `"database_id"` and `"zone"`.
-  repeated LabelDescriptor labels = 4;
-}
-
-// An object representing a resource that can be used for monitoring, logging,
-// billing, or other purposes. Examples include virtual machine instances,
-// databases, and storage devices such as disks. The `type` field identifies a
-// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object that describes the resource's
-// schema. Information in the `labels` field identifies the actual resource and
-// its attributes according to the schema. For example, a particular Compute
-// Engine VM instance could be represented by the following object, because the
-// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] for `"gce_instance"` has labels
-// `"instance_id"` and `"zone"`:
-//
-//     { "type": "gce_instance",
-//       "labels": { "instance_id": "12345678901234",
-//                   "zone": "us-central1-a" }}
-message MonitoredResource {
-  // Required. The monitored resource type. This field must match
-  // the `type` field of a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object. For
-  // example, the type of a Cloud SQL database is `"cloudsql_database"`.
-  string type = 1;
-
-  // Required. Values for all of the labels listed in the associated monitored
-  // resource descriptor. For example, Cloud SQL databases use the labels
-  // `"database_id"` and `"zone"`.
-  map<string, string> labels = 2;
-}
diff --git a/googleapis/api/serviceconfig/annotations.pb.go b/googleapis/api/serviceconfig/annotations.pb.go
deleted file mode 100644
index 6e6ce0b4fa7b98e6bf4a307b7a2a1ca446630cc4..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/annotations.pb.go
+++ /dev/null
@@ -1,108 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto
-// DO NOT EDIT!
-
-/*
-Package google_api is a generated protocol buffer package.
-
-It is generated from these files:
-	google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/auth.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/backend.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/billing.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/consumer.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/context.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/control.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/documentation.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/endpoint.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/http.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/logging.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/log.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/monitoring.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/service.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/system_parameter.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/usage.proto
-
-It has these top-level messages:
-	Authentication
-	AuthenticationRule
-	AuthProvider
-	OAuthRequirements
-	AuthRequirement
-	Backend
-	BackendRule
-	Billing
-	BillingStatusRule
-	ProjectProperties
-	Property
-	Context
-	ContextRule
-	Control
-	Documentation
-	DocumentationRule
-	Page
-	Endpoint
-	Http
-	HttpRule
-	CustomHttpPattern
-	Logging
-	LogDescriptor
-	Monitoring
-	Service
-	SystemParameters
-	SystemParameterRule
-	SystemParameter
-	Usage
-	UsageRule
-*/
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-import google_protobuf "google.golang.org/genproto/protobuf"
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
-
-var E_Http = &proto.ExtensionDesc{
-	ExtendedType:  (*google_protobuf.MethodOptions)(nil),
-	ExtensionType: (*HttpRule)(nil),
-	Field:         72295728,
-	Name:          "google.api.http",
-	Tag:           "bytes,72295728,opt,name=http",
-}
-
-func init() {
-	proto.RegisterExtension(E_Http)
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto", fileDescriptor0)
-}
-
-var fileDescriptor0 = []byte{
-	// 215 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xf2, 0x4c, 0xcf, 0xcf, 0x4f,
-	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
-	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x27, 0x16,
-	0x64, 0xea, 0x17, 0xa7, 0x16, 0x95, 0x65, 0x26, 0xa7, 0x26, 0xe7, 0xe7, 0xa5, 0x65, 0xa6, 0xeb,
-	0x27, 0xe6, 0xe5, 0xe5, 0x97, 0x24, 0x96, 0x64, 0xe6, 0xe7, 0x15, 0xeb, 0x81, 0x95, 0x0b, 0x71,
-	0x41, 0x8d, 0x4a, 0x2c, 0xc8, 0x94, 0x72, 0x22, 0xd7, 0xd8, 0x8c, 0x92, 0x92, 0x02, 0x88, 0x79,
-	0x52, 0x26, 0x78, 0xcc, 0x00, 0x93, 0x49, 0xa5, 0x69, 0xfa, 0x29, 0xa9, 0xc5, 0xc9, 0x45, 0x99,
-	0x05, 0x25, 0xf9, 0x45, 0x10, 0x5d, 0x56, 0xde, 0x5c, 0x2c, 0x20, 0x33, 0x84, 0xe4, 0xf4, 0xa0,
-	0xda, 0x61, 0x4a, 0xf5, 0x7c, 0x53, 0x4b, 0x32, 0xf2, 0x53, 0xfc, 0x0b, 0xc0, 0x6e, 0x96, 0xd8,
-	0x70, 0x6a, 0x8f, 0x92, 0x02, 0xa3, 0x06, 0xb7, 0x91, 0x88, 0x1e, 0xc2, 0xdd, 0x7a, 0x1e, 0x25,
-	0x25, 0x05, 0x41, 0xa5, 0x39, 0xa9, 0x41, 0x60, 0x43, 0x9c, 0xb4, 0xb9, 0xf8, 0x92, 0xf3, 0x73,
-	0x91, 0x14, 0x38, 0x09, 0x38, 0x22, 0xfc, 0x1d, 0x00, 0x32, 0x39, 0x80, 0x71, 0x11, 0x13, 0x8b,
-	0xbb, 0x63, 0x80, 0x67, 0x12, 0x1b, 0xd8, 0x26, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01,
-	0xd8, 0x8e, 0xc1, 0x53, 0x01, 0x00, 0x00,
-}
diff --git a/googleapis/api/serviceconfig/annotations.proto b/googleapis/api/serviceconfig/annotations.proto
deleted file mode 100644
index 306bc405a28684215000d682a832d518e2bf42cf..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/annotations.proto
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/http.proto"; // from google/api/http.proto
-import "google.golang.org/genproto/protobuf/descriptor.proto"; // from google/protobuf/descriptor.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "AnnotationsProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-extend google.protobuf.MethodOptions {
-  // See `HttpRule`.
-  HttpRule http = 72295728;
-}
diff --git a/googleapis/api/serviceconfig/auth.pb.go b/googleapis/api/serviceconfig/auth.pb.go
index 9379e042dfd0389d98f154bac2dc841c994fa6e5..6db5ec476f53461598360137ae199ef476c739ef 100644
--- a/googleapis/api/serviceconfig/auth.pb.go
+++ b/googleapis/api/serviceconfig/auth.pb.go
@@ -1,32 +1,87 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/auth.proto
+// source: google/api/auth.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+/*
+Package serviceconfig is a generated protocol buffer package.
+
+It is generated from these files:
+	google/api/auth.proto
+	google/api/backend.proto
+	google/api/billing.proto
+	google/api/consumer.proto
+	google/api/context.proto
+	google/api/control.proto
+	google/api/documentation.proto
+	google/api/endpoint.proto
+	google/api/log.proto
+	google/api/logging.proto
+	google/api/monitoring.proto
+	google/api/service.proto
+	google/api/system_parameter.proto
+	google/api/usage.proto
+
+It has these top-level messages:
+	Authentication
+	AuthenticationRule
+	AuthProvider
+	OAuthRequirements
+	AuthRequirement
+	Backend
+	BackendRule
+	Billing
+	BillingStatusRule
+	ProjectProperties
+	Property
+	Context
+	ContextRule
+	Control
+	Documentation
+	DocumentationRule
+	Page
+	Endpoint
+	LogDescriptor
+	Logging
+	Monitoring
+	Service
+	SystemParameters
+	SystemParameterRule
+	SystemParameter
+	Usage
+	UsageRule
+*/
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
 // `Authentication` defines the authentication configuration for an API.
 //
 // Example for an API targeted for external use:
 //
 //     name: calendar.googleapis.com
 //     authentication:
+//       providers:
+//       - id: google_calendar_auth
+//         jwks_uri: https://www.googleapis.com/oauth2/v1/certs
+//         issuer: https://securetoken.google.com
 //       rules:
 //       - selector: "*"
-//         oauth:
-//           canonical_scopes: https://www.googleapis.com/auth/calendar
-//
-//       - selector: google.calendar.Delegate
-//         oauth:
-//           canonical_scopes: https://www.googleapis.com/auth/calendar.read
+//         requirements:
+//           provider_id: google_calendar_auth
 type Authentication struct {
 	// A list of authentication rules that apply to individual API methods.
 	//
@@ -39,7 +94,7 @@ type Authentication struct {
 func (m *Authentication) Reset()                    { *m = Authentication{} }
 func (m *Authentication) String() string            { return proto.CompactTextString(m) }
 func (*Authentication) ProtoMessage()               {}
-func (*Authentication) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+func (*Authentication) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
 func (m *Authentication) GetRules() []*AuthenticationRule {
 	if m != nil {
@@ -86,7 +141,14 @@ type AuthenticationRule struct {
 func (m *AuthenticationRule) Reset()                    { *m = AuthenticationRule{} }
 func (m *AuthenticationRule) String() string            { return proto.CompactTextString(m) }
 func (*AuthenticationRule) ProtoMessage()               {}
-func (*AuthenticationRule) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+func (*AuthenticationRule) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func (m *AuthenticationRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
 
 func (m *AuthenticationRule) GetOauth() *OAuthRequirements {
 	if m != nil {
@@ -95,6 +157,13 @@ func (m *AuthenticationRule) GetOauth() *OAuthRequirements {
 	return nil
 }
 
+func (m *AuthenticationRule) GetAllowWithoutCredential() bool {
+	if m != nil {
+		return m.AllowWithoutCredential
+	}
+	return false
+}
+
 func (m *AuthenticationRule) GetRequirements() []*AuthRequirement {
 	if m != nil {
 		return m.Requirements
@@ -127,12 +196,54 @@ type AuthProvider struct {
 	//
 	// Example: https://www.googleapis.com/oauth2/v1/certs
 	JwksUri string `protobuf:"bytes,3,opt,name=jwks_uri,json=jwksUri" json:"jwks_uri,omitempty"`
+	// The list of JWT
+	// [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
+	// that are allowed to access. A JWT containing any of these audiences will
+	// be accepted. When this setting is absent, only JWTs with audience
+	// "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]"
+	// will be accepted. For example, if no audiences are in the setting,
+	// LibraryService API will only accept JWTs with the following audience
+	// "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
+	//
+	// Example:
+	//
+	//     audiences: bookstore_android.apps.googleusercontent.com,
+	//                bookstore_web.apps.googleusercontent.com
+	Audiences string `protobuf:"bytes,4,opt,name=audiences" json:"audiences,omitempty"`
 }
 
 func (m *AuthProvider) Reset()                    { *m = AuthProvider{} }
 func (m *AuthProvider) String() string            { return proto.CompactTextString(m) }
 func (*AuthProvider) ProtoMessage()               {}
-func (*AuthProvider) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
+func (*AuthProvider) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+func (m *AuthProvider) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *AuthProvider) GetIssuer() string {
+	if m != nil {
+		return m.Issuer
+	}
+	return ""
+}
+
+func (m *AuthProvider) GetJwksUri() string {
+	if m != nil {
+		return m.JwksUri
+	}
+	return ""
+}
+
+func (m *AuthProvider) GetAudiences() string {
+	if m != nil {
+		return m.Audiences
+	}
+	return ""
+}
 
 // OAuth scopes are a way to define data and permissions on data. For example,
 // there are scopes defined for "Read-only access to Google Calendar" and
@@ -166,7 +277,14 @@ type OAuthRequirements struct {
 func (m *OAuthRequirements) Reset()                    { *m = OAuthRequirements{} }
 func (m *OAuthRequirements) String() string            { return proto.CompactTextString(m) }
 func (*OAuthRequirements) ProtoMessage()               {}
-func (*OAuthRequirements) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
+func (*OAuthRequirements) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+func (m *OAuthRequirements) GetCanonicalScopes() string {
+	if m != nil {
+		return m.CanonicalScopes
+	}
+	return ""
+}
 
 // User-defined authentication requirements, including support for
 // [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
@@ -177,6 +295,9 @@ type AuthRequirement struct {
 	//
 	//     provider_id: bookstore_auth
 	ProviderId string `protobuf:"bytes,1,opt,name=provider_id,json=providerId" json:"provider_id,omitempty"`
+	// NOTE: This will be deprecated soon, once AuthProvider.audiences is
+	// implemented and accepted in all the runtime components.
+	//
 	// The list of JWT
 	// [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
 	// that are allowed to access. A JWT containing any of these audiences will
@@ -196,7 +317,21 @@ type AuthRequirement struct {
 func (m *AuthRequirement) Reset()                    { *m = AuthRequirement{} }
 func (m *AuthRequirement) String() string            { return proto.CompactTextString(m) }
 func (*AuthRequirement) ProtoMessage()               {}
-func (*AuthRequirement) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
+func (*AuthRequirement) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+
+func (m *AuthRequirement) GetProviderId() string {
+	if m != nil {
+		return m.ProviderId
+	}
+	return ""
+}
+
+func (m *AuthRequirement) GetAudiences() string {
+	if m != nil {
+		return m.Audiences
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*Authentication)(nil), "google.api.Authentication")
@@ -206,37 +341,36 @@ func init() {
 	proto.RegisterType((*AuthRequirement)(nil), "google.api.AuthRequirement")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/auth.proto", fileDescriptor1)
-}
-
-var fileDescriptor1 = []byte{
-	// 423 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x52, 0xcd, 0x6e, 0xd3, 0x40,
-	0x10, 0x96, 0xd3, 0xa6, 0x8d, 0x27, 0x55, 0x0a, 0x7b, 0xa8, 0x4c, 0xf9, 0x8b, 0x2c, 0x0e, 0xe1,
-	0x62, 0x4b, 0x2d, 0x42, 0x9c, 0x40, 0x0d, 0x07, 0x94, 0x13, 0xc1, 0x08, 0x71, 0xb4, 0x96, 0xf5,
-	0xe0, 0x2c, 0x6c, 0x77, 0xcc, 0xfe, 0x34, 0x37, 0x1e, 0x86, 0x27, 0xe3, 0x51, 0x50, 0xd6, 0x6e,
-	0xe2, 0xa6, 0x37, 0x8e, 0x33, 0xdf, 0xdf, 0x7e, 0x63, 0xc3, 0xbc, 0x26, 0xaa, 0x15, 0x66, 0x35,
-	0x29, 0xae, 0xeb, 0x8c, 0x4c, 0x9d, 0xd7, 0xa8, 0x1b, 0x43, 0x8e, 0xf2, 0x16, 0xe2, 0x8d, 0xb4,
-	0x39, 0x6f, 0x64, 0x6e, 0xd1, 0xdc, 0x48, 0x81, 0x82, 0xf4, 0x77, 0x59, 0xe7, 0xdc, 0xbb, 0x55,
-	0x16, 0x78, 0x0c, 0x3a, 0x0f, 0xde, 0xc8, 0xf3, 0xc5, 0x7f, 0xfb, 0x69, 0x4d, 0x8e, 0x3b, 0x49,
-	0xda, 0xb6, 0xb6, 0xe9, 0x6f, 0x98, 0x5c, 0x79, 0xb7, 0x42, 0xed, 0xa4, 0x08, 0x00, 0x7b, 0x05,
-	0x43, 0xe3, 0x15, 0xda, 0xe4, 0x60, 0x7a, 0x30, 0x1b, 0x5f, 0x3c, 0xcb, 0x76, 0xc1, 0xd9, 0x5d,
-	0x6a, 0xe1, 0x15, 0x16, 0x2d, 0x99, 0xbd, 0x86, 0xb8, 0x31, 0x74, 0x23, 0x2b, 0x34, 0x36, 0x39,
-	0x0c, 0xca, 0x64, 0x5f, 0xb9, 0xec, 0x08, 0xc5, 0x8e, 0x9a, 0xfe, 0x8d, 0x80, 0xdd, 0x77, 0x65,
-	0xe7, 0x30, 0xb2, 0xa8, 0x50, 0x38, 0x32, 0x49, 0x34, 0x8d, 0x66, 0x71, 0xb1, 0x9d, 0xd9, 0x25,
-	0x0c, 0x69, 0x73, 0x98, 0x64, 0x30, 0x8d, 0x66, 0xe3, 0x8b, 0xa7, 0xfd, 0x98, 0x8f, 0x1b, 0xaf,
-	0x02, 0x7f, 0x79, 0x69, 0xf0, 0x1a, 0xb5, 0xb3, 0x45, 0xcb, 0x65, 0x6f, 0x20, 0xe1, 0x4a, 0xd1,
-	0xba, 0x5c, 0x4b, 0xb7, 0x22, 0xef, 0x4a, 0x61, 0xb0, 0xda, 0x84, 0x72, 0x95, 0x0c, 0xa7, 0xd1,
-	0x6c, 0x54, 0x9c, 0x05, 0xfc, 0x6b, 0x0b, 0xbf, 0xdf, 0xa2, 0xec, 0x1d, 0x9c, 0x98, 0x9e, 0x61,
-	0x72, 0x1c, 0xca, 0x3d, 0xde, 0x2f, 0xd7, 0x0b, 0x2d, 0xee, 0x08, 0xd2, 0x4f, 0x70, 0xd2, 0x6f,
-	0xcf, 0x26, 0x30, 0x90, 0x55, 0xd7, 0x6a, 0x20, 0x2b, 0x76, 0x06, 0x47, 0xd2, 0x5a, 0x8f, 0x26,
-	0x14, 0x8a, 0x8b, 0x6e, 0x62, 0x8f, 0x60, 0xf4, 0x63, 0xfd, 0xd3, 0x96, 0xde, 0xc8, 0xe4, 0x20,
-	0x20, 0xc7, 0x9b, 0xf9, 0x8b, 0x91, 0xe9, 0x5b, 0x78, 0x78, 0xaf, 0x29, 0x7b, 0x09, 0x0f, 0x04,
-	0xd7, 0xa4, 0xa5, 0xe0, 0xaa, 0xb4, 0x82, 0x1a, 0xb4, 0x5d, 0xca, 0xe9, 0x76, 0xff, 0x39, 0xac,
-	0xd3, 0x25, 0x9c, 0xee, 0xc9, 0xd9, 0x73, 0x18, 0xdf, 0x7e, 0x95, 0x72, 0xfb, 0x3c, 0xb8, 0x5d,
-	0x2d, 0x2a, 0xf6, 0x04, 0x62, 0xee, 0x2b, 0x89, 0x5a, 0xa0, 0xed, 0x5e, 0xba, 0x5b, 0xcc, 0x5f,
-	0xc0, 0x44, 0xd0, 0x75, 0xef, 0x28, 0xf3, 0xb8, 0x2b, 0xed, 0x68, 0x19, 0xfd, 0x19, 0x1c, 0x7e,
-	0xb8, 0x5a, 0x2e, 0xbe, 0x1d, 0x85, 0x9f, 0xee, 0xf2, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0d,
-	0x41, 0xfd, 0x7a, 0x11, 0x03, 0x00, 0x00,
+func init() { proto.RegisterFile("google/api/auth.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 437 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x52, 0xcd, 0x6e, 0xd3, 0x40,
+	0x10, 0x96, 0x9d, 0xa6, 0x8d, 0x27, 0x55, 0x0a, 0x2b, 0x51, 0x99, 0x52, 0x20, 0xf2, 0x29, 0x5c,
+	0x1c, 0xa9, 0x45, 0x08, 0x09, 0x09, 0xd4, 0x22, 0x84, 0x7a, 0x22, 0x32, 0x42, 0x48, 0x5c, 0xac,
+	0x65, 0x3d, 0x38, 0x4b, 0xdd, 0x1d, 0xb3, 0x3f, 0xcd, 0x8d, 0x87, 0xe1, 0xc9, 0x78, 0x94, 0xca,
+	0x6b, 0x37, 0x71, 0xd2, 0xe3, 0x7c, 0x3f, 0x33, 0xf3, 0xcd, 0x2e, 0x3c, 0x29, 0x89, 0xca, 0x0a,
+	0xe7, 0xbc, 0x96, 0x73, 0xee, 0xec, 0x32, 0xad, 0x35, 0x59, 0x62, 0xd0, 0xc2, 0x29, 0xaf, 0xe5,
+	0xc9, 0x69, 0x5f, 0xa2, 0x14, 0x59, 0x6e, 0x25, 0x29, 0xd3, 0x2a, 0x93, 0xbf, 0x30, 0xb9, 0x70,
+	0x76, 0x89, 0xca, 0x4a, 0xe1, 0x09, 0xf6, 0x1a, 0x86, 0xda, 0x55, 0x68, 0xe2, 0xc1, 0x74, 0x30,
+	0x1b, 0x9f, 0xbd, 0x48, 0x37, 0xbd, 0xd2, 0x6d, 0x69, 0xe6, 0x2a, 0xcc, 0x5a, 0x31, 0x7b, 0x03,
+	0x51, 0xad, 0xe9, 0x56, 0x16, 0xa8, 0x4d, 0xbc, 0xe7, 0x9d, 0xf1, 0xae, 0x73, 0xd1, 0x09, 0xb2,
+	0x8d, 0x34, 0xf9, 0x1f, 0x00, 0x7b, 0xd8, 0x95, 0x9d, 0xc0, 0xc8, 0x60, 0x85, 0xc2, 0x92, 0x8e,
+	0x83, 0x69, 0x30, 0x8b, 0xb2, 0x75, 0xcd, 0xce, 0x61, 0x48, 0x4d, 0xd6, 0x38, 0x9c, 0x06, 0xb3,
+	0xf1, 0xd9, 0xf3, 0xfe, 0x98, 0x2f, 0x4d, 0xaf, 0x0c, 0xff, 0x38, 0xa9, 0xf1, 0x06, 0x95, 0x35,
+	0x59, 0xab, 0x65, 0x6f, 0x21, 0xe6, 0x55, 0x45, 0xab, 0x7c, 0x25, 0xed, 0x92, 0x9c, 0xcd, 0x85,
+	0xc6, 0xa2, 0x19, 0xca, 0xab, 0x78, 0x38, 0x0d, 0x66, 0xa3, 0xec, 0xd8, 0xf3, 0xdf, 0x5b, 0xfa,
+	0xe3, 0x9a, 0x65, 0x1f, 0xe0, 0x50, 0xf7, 0x1a, 0xc6, 0x07, 0x3e, 0xdc, 0xb3, 0xdd, 0x70, 0xbd,
+	0xa1, 0xd9, 0x96, 0x21, 0x21, 0x38, 0xec, 0xa7, 0x67, 0x13, 0x08, 0x65, 0xd1, 0xa5, 0x0a, 0x65,
+	0xc1, 0x8e, 0x61, 0x5f, 0x1a, 0xe3, 0x50, 0xfb, 0x40, 0x51, 0xd6, 0x55, 0xec, 0x29, 0x8c, 0x7e,
+	0xaf, 0xae, 0x4d, 0xee, 0xb4, 0x8c, 0x07, 0x9e, 0x39, 0x68, 0xea, 0x6f, 0x5a, 0xb2, 0x53, 0x88,
+	0xb8, 0x2b, 0x24, 0x2a, 0x81, 0xcd, 0xb5, 0x1b, 0x6e, 0x03, 0x24, 0xef, 0xe1, 0xf1, 0x83, 0x3b,
+	0xb0, 0x57, 0xf0, 0x48, 0x70, 0x45, 0x4a, 0x0a, 0x5e, 0xe5, 0x46, 0x50, 0x8d, 0xa6, 0xdb, 0xe1,
+	0x68, 0x8d, 0x7f, 0xf5, 0x70, 0xb2, 0x80, 0xa3, 0x1d, 0x3b, 0x7b, 0x09, 0xe3, 0xfb, 0x37, 0xcb,
+	0xd7, 0xcb, 0xc3, 0x3d, 0x74, 0x55, 0x6c, 0x6f, 0x14, 0xee, 0x6c, 0x74, 0x79, 0x0d, 0x13, 0x41,
+	0x37, 0xbd, 0x93, 0x5d, 0x46, 0xdd, 0x49, 0x2c, 0x2d, 0x82, 0x1f, 0x9f, 0x3a, 0xa2, 0xa4, 0x8a,
+	0xab, 0x32, 0x25, 0x5d, 0xce, 0x4b, 0x54, 0xfe, 0x83, 0xce, 0x5b, 0x8a, 0xd7, 0xd2, 0xf8, 0x1f,
+	0x6c, 0x50, 0xdf, 0x4a, 0x81, 0x82, 0xd4, 0x2f, 0x59, 0xbe, 0xdb, 0xaa, 0xfe, 0x85, 0x7b, 0x9f,
+	0x2f, 0x16, 0x57, 0x3f, 0xf7, 0xbd, 0xf1, 0xfc, 0x2e, 0x00, 0x00, 0xff, 0xff, 0xb9, 0x6d, 0xc6,
+	0x5e, 0x1c, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/auth.proto b/googleapis/api/serviceconfig/auth.proto
deleted file mode 100644
index 8193b36e16e861c8d5d58d8ea55fe568014ffe68..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/auth.proto
+++ /dev/null
@@ -1,164 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "AuthProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// `Authentication` defines the authentication configuration for an API.
-//
-// Example for an API targeted for external use:
-//
-//     name: calendar.googleapis.com
-//     authentication:
-//       rules:
-//       - selector: "*"
-//         oauth:
-//           canonical_scopes: https://www.googleapis.com/auth/calendar
-//
-//       - selector: google.calendar.Delegate
-//         oauth:
-//           canonical_scopes: https://www.googleapis.com/auth/calendar.read
-message Authentication {
-  // A list of authentication rules that apply to individual API methods.
-  //
-  // **NOTE:** All service configuration rules follow "last one wins" order.
-  repeated AuthenticationRule rules = 3;
-
-  // Defines a set of authentication providers that a service supports.
-  repeated AuthProvider providers = 4;
-}
-
-// Authentication rules for the service.
-//
-// By default, if a method has any authentication requirements, every request
-// must include a valid credential matching one of the requirements.
-// It's an error to include more than one kind of credential in a single
-// request.
-//
-// If a method doesn't have any auth requirements, request credentials will be
-// ignored.
-message AuthenticationRule {
-  // Selects the methods to which this rule applies.
-  //
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  string selector = 1;
-
-  // The requirements for OAuth credentials.
-  OAuthRequirements oauth = 2;
-
-  // Whether to allow requests without a credential. The credential can be
-  // an OAuth token, Google cookies (first-party auth) or EndUserCreds.
-  //
-  // For requests without credentials, if the service control environment is
-  // specified, each incoming request **must** be associated with a service
-  // consumer. This can be done by passing an API key that belongs to a consumer
-  // project.
-  bool allow_without_credential = 5;
-
-  // Requirements for additional authentication providers.
-  repeated AuthRequirement requirements = 7;
-}
-
-// Configuration for an anthentication provider, including support for
-// [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
-message AuthProvider {
-  // The unique identifier of the auth provider. It will be referred to by
-  // `AuthRequirement.provider_id`.
-  //
-  // Example: "bookstore_auth".
-  string id = 1;
-
-  // Identifies the principal that issued the JWT. See
-  // https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
-  // Usually a URL or an email address.
-  //
-  // Example: https://securetoken.google.com
-  // Example: 1234567-compute@developer.gserviceaccount.com
-  string issuer = 2;
-
-  // URL of the provider's public key set to validate signature of the JWT. See
-  // [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
-  // Optional if the key set document:
-  //  - can be retrieved from
-  //    [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html
-  //    of the issuer.
-  //  - can be inferred from the email domain of the issuer (e.g. a Google service account).
-  //
-  // Example: https://www.googleapis.com/oauth2/v1/certs
-  string jwks_uri = 3;
-}
-
-// OAuth scopes are a way to define data and permissions on data. For example,
-// there are scopes defined for "Read-only access to Google Calendar" and
-// "Access to Cloud Platform". Users can consent to a scope for an application,
-// giving it permission to access that data on their behalf.
-//
-// OAuth scope specifications should be fairly coarse grained; a user will need
-// to see and understand the text description of what your scope means.
-//
-// In most cases: use one or at most two OAuth scopes for an entire family of
-// products. If your product has multiple APIs, you should probably be sharing
-// the OAuth scope across all of those APIs.
-//
-// When you need finer grained OAuth consent screens: talk with your product
-// management about how developers will use them in practice.
-//
-// Please note that even though each of the canonical scopes is enough for a
-// request to be accepted and passed to the backend, a request can still fail
-// due to the backend requiring additional scopes or permissions.
-message OAuthRequirements {
-  // The list of publicly documented OAuth scopes that are allowed access. An
-  // OAuth token containing any of these scopes will be accepted.
-  //
-  // Example:
-  //
-  //      canonical_scopes: https://www.googleapis.com/auth/calendar,
-  //                        https://www.googleapis.com/auth/calendar.read
-  string canonical_scopes = 1;
-}
-
-// User-defined authentication requirements, including support for
-// [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
-message AuthRequirement {
-  // [id][google.api.AuthProvider.id] from authentication provider.
-  //
-  // Example:
-  //
-  //     provider_id: bookstore_auth
-  string provider_id = 1;
-
-  // The list of JWT
-  // [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
-  // that are allowed to access. A JWT containing any of these audiences will
-  // be accepted. When this setting is absent, only JWTs with audience
-  // "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]"
-  // will be accepted. For example, if no audiences are in the setting,
-  // LibraryService API will only accept JWTs with the following audience
-  // "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
-  //
-  // Example:
-  //
-  //     audiences: bookstore_android.apps.googleusercontent.com,
-  //                bookstore_web.apps.googleusercontent.com
-  string audiences = 2;
-}
diff --git a/googleapis/api/serviceconfig/backend.pb.go b/googleapis/api/serviceconfig/backend.pb.go
index 3bd787af0292f92ea02103b6a3db1a659fc1b74e..505435310e732dc6ec0ad6e2364547085bc3013b 100644
--- a/googleapis/api/serviceconfig/backend.pb.go
+++ b/googleapis/api/serviceconfig/backend.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/backend.proto
+// source: google/api/backend.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -24,7 +24,7 @@ type Backend struct {
 func (m *Backend) Reset()                    { *m = Backend{} }
 func (m *Backend) String() string            { return proto.CompactTextString(m) }
 func (*Backend) ProtoMessage()               {}
-func (*Backend) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+func (*Backend) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
 func (m *Backend) GetRules() []*BackendRule {
 	if m != nil {
@@ -49,31 +49,51 @@ type BackendRule struct {
 func (m *BackendRule) Reset()                    { *m = BackendRule{} }
 func (m *BackendRule) String() string            { return proto.CompactTextString(m) }
 func (*BackendRule) ProtoMessage()               {}
-func (*BackendRule) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+func (*BackendRule) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+
+func (m *BackendRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
+
+func (m *BackendRule) GetAddress() string {
+	if m != nil {
+		return m.Address
+	}
+	return ""
+}
+
+func (m *BackendRule) GetDeadline() float64 {
+	if m != nil {
+		return m.Deadline
+	}
+	return 0
+}
 
 func init() {
 	proto.RegisterType((*Backend)(nil), "google.api.Backend")
 	proto.RegisterType((*BackendRule)(nil), "google.api.BackendRule")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/backend.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/api/backend.proto", fileDescriptor1) }
 
-var fileDescriptor2 = []byte{
-	// 219 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x4c, 0x8f, 0xc1, 0x4e, 0x03, 0x21,
-	0x10, 0x86, 0x43, 0xab, 0x56, 0xa7, 0xc6, 0x03, 0x17, 0x89, 0xa7, 0x4d, 0x2f, 0xee, 0x45, 0x48,
-	0xf4, 0xe2, 0xd5, 0x4d, 0x8c, 0xf1, 0xb6, 0xe1, 0x05, 0x0c, 0x85, 0x91, 0x10, 0x91, 0x21, 0xd0,
-	0xfa, 0x40, 0x3e, 0xa9, 0xe9, 0xee, 0xda, 0xee, 0xf1, 0xe7, 0xfb, 0x98, 0x99, 0x1f, 0x5e, 0x3d,
-	0x91, 0x8f, 0x28, 0x3d, 0x45, 0x93, 0xbc, 0xa4, 0xe2, 0x95, 0xc7, 0x94, 0x0b, 0xed, 0x48, 0x8d,
-	0xc8, 0xe4, 0x50, 0x95, 0xc9, 0x41, 0x55, 0x2c, 0x3f, 0xc1, 0xa2, 0xa5, 0xf4, 0x19, 0xbc, 0xda,
-	0x1a, 0xfb, 0x85, 0xc9, 0xc9, 0x41, 0xe5, 0x30, 0x8d, 0x31, 0x39, 0x6c, 0x9e, 0x61, 0xd5, 0x8d,
-	0x90, 0x3f, 0xc0, 0x79, 0xd9, 0x47, 0xac, 0x82, 0x35, 0xcb, 0x76, 0xfd, 0x78, 0x2b, 0x4f, 0x9a,
-	0x9c, 0x1c, 0xbd, 0x8f, 0xa8, 0x47, 0x6b, 0xf3, 0x01, 0xeb, 0xd9, 0x2b, 0xbf, 0x83, 0xcb, 0x8a,
-	0x11, 0xed, 0x8e, 0x8a, 0x60, 0x0d, 0x6b, 0xaf, 0xf4, 0x31, 0x73, 0x01, 0x2b, 0xe3, 0x5c, 0xc1,
-	0x5a, 0xc5, 0x62, 0x40, 0xff, 0xf1, 0xf0, 0xcb, 0xa1, 0x71, 0x31, 0x24, 0x14, 0xcb, 0x86, 0xb5,
-	0x4c, 0x1f, 0x73, 0x77, 0x0f, 0x37, 0x96, 0xbe, 0x67, 0x57, 0x74, 0xd7, 0xd3, 0xc2, 0xfe, 0x50,
-	0xa3, 0x67, 0xbf, 0x8b, 0xb3, 0xb7, 0x97, 0xfe, 0x7d, 0x7b, 0x31, 0xd4, 0x7a, 0xfa, 0x0b, 0x00,
-	0x00, 0xff, 0xff, 0x1b, 0xf2, 0x31, 0x3a, 0x1f, 0x01, 0x00, 0x00,
+var fileDescriptor1 = []byte{
+	// 227 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0x31, 0x4f, 0x03, 0x21,
+	0x18, 0x86, 0x43, 0xab, 0x56, 0xbf, 0x1a, 0x87, 0x5b, 0x24, 0x4e, 0x97, 0x4e, 0xb7, 0xc8, 0x25,
+	0xba, 0x98, 0x38, 0x79, 0x89, 0x31, 0x6e, 0x17, 0x46, 0x17, 0x43, 0xe1, 0x93, 0x10, 0x91, 0x8f,
+	0x40, 0xeb, 0x0f, 0xf2, 0x97, 0x9a, 0xc2, 0x59, 0xdb, 0xf1, 0xe1, 0x79, 0xdf, 0xc0, 0x0b, 0x70,
+	0x4b, 0x64, 0x3d, 0xf6, 0x2a, 0xba, 0x7e, 0xad, 0xf4, 0x27, 0x06, 0x23, 0x62, 0xa2, 0x0d, 0x35,
+	0x50, 0x8d, 0x50, 0xd1, 0xad, 0x1e, 0x60, 0x31, 0x54, 0xd9, 0xdc, 0xc2, 0x69, 0xda, 0x7a, 0xcc,
+	0x9c, 0xb5, 0xf3, 0x6e, 0x79, 0x77, 0x2d, 0xfe, 0x63, 0x62, 0xca, 0xc8, 0xad, 0x47, 0x59, 0x53,
+	0xab, 0x77, 0x58, 0x1e, 0x9c, 0x36, 0x37, 0x70, 0x9e, 0xd1, 0xa3, 0xde, 0x50, 0xe2, 0xac, 0x65,
+	0xdd, 0x85, 0xdc, 0x73, 0xc3, 0x61, 0xa1, 0x8c, 0x49, 0x98, 0x33, 0x9f, 0x15, 0xf5, 0x87, 0xbb,
+	0x96, 0x41, 0x65, 0xbc, 0x0b, 0xc8, 0xe7, 0x2d, 0xeb, 0x98, 0xdc, 0xf3, 0x10, 0xe0, 0x4a, 0xd3,
+	0xd7, 0xc1, 0x2b, 0x86, 0xcb, 0xe9, 0xc2, 0x71, 0x37, 0x63, 0x64, 0x6f, 0xcf, 0x93, 0xb3, 0xe4,
+	0x55, 0xb0, 0x82, 0x92, 0xed, 0x2d, 0x86, 0x32, 0xb2, 0xaf, 0x4a, 0x45, 0x97, 0xcb, 0x0f, 0x64,
+	0x4c, 0xdf, 0x4e, 0xa3, 0xa6, 0xf0, 0xe1, 0xec, 0xe3, 0x11, 0xfd, 0xcc, 0x4e, 0x5e, 0x9e, 0xc6,
+	0xd7, 0xf5, 0x59, 0x29, 0xde, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x7e, 0x93, 0x9e, 0x00, 0x39,
+	0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/backend.proto b/googleapis/api/serviceconfig/backend.proto
deleted file mode 100644
index 3c12c8c3663ca3405c127a7309e97b161a07c99f..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/backend.proto
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-option java_multiple_files = true;
-option java_outer_classname = "BackendProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// `Backend` defines the backend configuration for a service.
-message Backend {
-  // A list of API backend rules that apply to individual API methods.
-  //
-  // **NOTE:** All service configuration rules follow "last one wins" order.
-  repeated BackendRule rules = 1;
-}
-
-// A backend rule provides configuration for an individual API element.
-message BackendRule {
-  // Selects the methods to which this rule applies.
-  //
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  string selector = 1;
-
-  // The address of the API backend.
-  string address = 2;
-
-  // The number of seconds to wait for a response from a request.  The
-  // default depends on the deployment context.
-  double deadline = 3;
-}
diff --git a/googleapis/api/serviceconfig/billing.pb.go b/googleapis/api/serviceconfig/billing.pb.go
index b8e756343b674949782db065b5217aae80701d6d..2c43eaf4e666cc07839644c3a92aefd166b6b410 100644
--- a/googleapis/api/serviceconfig/billing.pb.go
+++ b/googleapis/api/serviceconfig/billing.pb.go
@@ -1,12 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/billing.proto
+// source: google/api/billing.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import _ "google.golang.org/genproto/googleapis/api/metric"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -62,7 +63,14 @@ type Billing struct {
 func (m *Billing) Reset()                    { *m = Billing{} }
 func (m *Billing) String() string            { return proto.CompactTextString(m) }
 func (*Billing) ProtoMessage()               {}
-func (*Billing) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
+func (*Billing) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+
+func (m *Billing) GetMetrics() []string {
+	if m != nil {
+		return m.Metrics
+	}
+	return nil
+}
 
 func (m *Billing) GetRules() []*BillingStatusRule {
 	if m != nil {
@@ -99,33 +107,45 @@ type BillingStatusRule struct {
 func (m *BillingStatusRule) Reset()                    { *m = BillingStatusRule{} }
 func (m *BillingStatusRule) String() string            { return proto.CompactTextString(m) }
 func (*BillingStatusRule) ProtoMessage()               {}
-func (*BillingStatusRule) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
+func (*BillingStatusRule) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+
+func (m *BillingStatusRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
+
+func (m *BillingStatusRule) GetAllowedStatuses() []string {
+	if m != nil {
+		return m.AllowedStatuses
+	}
+	return nil
+}
 
 func init() {
 	proto.RegisterType((*Billing)(nil), "google.api.Billing")
 	proto.RegisterType((*BillingStatusRule)(nil), "google.api.BillingStatusRule")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/billing.proto", fileDescriptor3)
-}
+func init() { proto.RegisterFile("google/api/billing.proto", fileDescriptor2) }
 
-var fileDescriptor3 = []byte{
-	// 252 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x8f, 0xbd, 0x4b, 0x04, 0x31,
-	0x10, 0xc5, 0x59, 0x8f, 0xf3, 0xbc, 0x28, 0x7e, 0xa4, 0x0a, 0x0b, 0xc2, 0x72, 0xd5, 0xda, 0x24,
-	0xe0, 0xd5, 0x36, 0x0b, 0x16, 0x76, 0xc7, 0x5e, 0x23, 0x36, 0x92, 0x8b, 0x63, 0x08, 0xe4, 0x32,
-	0x4b, 0x26, 0xab, 0xff, 0xbe, 0xb8, 0x89, 0x1f, 0x60, 0x23, 0x57, 0x85, 0x99, 0x37, 0xef, 0x97,
-	0xf7, 0xd8, 0xbd, 0x45, 0xb4, 0x1e, 0xa4, 0x45, 0xaf, 0x83, 0x95, 0x18, 0xad, 0xb2, 0x10, 0x86,
-	0x88, 0x09, 0x55, 0x96, 0xf4, 0xe0, 0x48, 0xe9, 0xc1, 0x29, 0x82, 0xf8, 0xe6, 0x0c, 0x18, 0x0c,
-	0xaf, 0xce, 0xaa, 0x9d, 0xf3, 0xde, 0x05, 0x2b, 0xa7, 0x53, 0xce, 0x0a, 0x46, 0x0f, 0xae, 0x7e,
-	0x38, 0x14, 0xa9, 0x43, 0xc0, 0xa4, 0x93, 0xc3, 0x40, 0x19, 0x5b, 0xdf, 0xfd, 0x1f, 0xb5, 0x87,
-	0x14, 0x9d, 0x29, 0x4f, 0xb6, 0xaf, 0x1e, 0xd9, 0xa2, 0xcb, 0x31, 0xb9, 0x60, 0x8b, 0x2c, 0x91,
-	0xa8, 0x9a, 0x59, 0xbb, 0xec, 0xbf, 0x46, 0xbe, 0x66, 0xf3, 0x38, 0x7a, 0x20, 0x31, 0x6f, 0x66,
-	0xed, 0xe9, 0xed, 0xb5, 0xfc, 0xa9, 0x22, 0x8b, 0x7b, 0x9b, 0x74, 0x1a, 0xa9, 0x1f, 0x3d, 0xf4,
-	0xf9, 0x76, 0xf5, 0xc4, 0xae, 0xfe, 0x68, 0xbc, 0x66, 0x27, 0x04, 0x1e, 0x4c, 0xc2, 0x28, 0xaa,
-	0xa6, 0x6a, 0x97, 0xfd, 0xf7, 0xcc, 0x6f, 0xd8, 0xa5, 0xf6, 0x1e, 0xdf, 0xe1, 0xe5, 0x99, 0x26,
-	0x07, 0x90, 0x38, 0x9a, 0x82, 0x5c, 0x94, 0xfd, 0xb6, 0xac, 0xbb, 0x86, 0x9d, 0x1b, 0xdc, 0xff,
-	0x8a, 0xd1, 0x9d, 0x95, 0xbf, 0x36, 0x9f, 0xad, 0x36, 0xd5, 0xee, 0x78, 0xaa, 0xb7, 0xfe, 0x08,
-	0x00, 0x00, 0xff, 0xff, 0xe0, 0xe1, 0x19, 0xb1, 0xbd, 0x01, 0x00, 0x00,
+var fileDescriptor2 = []byte{
+	// 253 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x90, 0x4f, 0x4b, 0x03, 0x31,
+	0x10, 0xc5, 0x59, 0x4b, 0xad, 0x8d, 0xe2, 0x9f, 0xbd, 0x18, 0x16, 0x85, 0xa5, 0xa7, 0xf5, 0x92,
+	0x05, 0x7b, 0xf4, 0xb6, 0xe0, 0xbd, 0x6c, 0x2f, 0xd2, 0x8b, 0xa4, 0x71, 0x0c, 0x81, 0x34, 0xb3,
+	0x64, 0xb2, 0xfa, 0xf5, 0xc5, 0x24, 0xea, 0x4a, 0x8f, 0x6f, 0x7e, 0xef, 0x65, 0xe6, 0x85, 0x71,
+	0x8d, 0xa8, 0x2d, 0xb4, 0x72, 0x30, 0xed, 0xde, 0x58, 0x6b, 0x9c, 0x16, 0x83, 0xc7, 0x80, 0x25,
+	0x4b, 0x44, 0xc8, 0xc1, 0x54, 0x77, 0x13, 0x97, 0x74, 0x0e, 0x83, 0x0c, 0x06, 0x1d, 0x25, 0x67,
+	0x75, 0x3b, 0xa1, 0x07, 0x08, 0xde, 0xa8, 0x04, 0x56, 0x2f, 0x6c, 0xd1, 0xa5, 0x37, 0x4b, 0xce,
+	0x16, 0x09, 0x11, 0x2f, 0xea, 0x59, 0xb3, 0xec, 0x7f, 0x64, 0xb9, 0x66, 0x73, 0x3f, 0x5a, 0x20,
+	0x3e, 0xaf, 0x67, 0xcd, 0xf9, 0xe3, 0xbd, 0xf8, 0xdb, 0x2b, 0x72, 0x7a, 0x1b, 0x64, 0x18, 0xa9,
+	0x1f, 0x2d, 0xf4, 0xc9, 0xbb, 0xda, 0xb1, 0x9b, 0x23, 0x56, 0x56, 0xec, 0x8c, 0xc0, 0x82, 0x0a,
+	0xe8, 0x79, 0x51, 0x17, 0xcd, 0xb2, 0xff, 0xd5, 0xe5, 0x03, 0xbb, 0x96, 0xd6, 0xe2, 0x27, 0xbc,
+	0xbd, 0x52, 0x4c, 0x00, 0xf1, 0x93, 0x78, 0xc8, 0x55, 0x9e, 0x6f, 0xf3, 0xb8, 0xd3, 0xec, 0x52,
+	0xe1, 0x61, 0x72, 0x46, 0x77, 0x91, 0x77, 0x6d, 0xbe, 0x5b, 0x6d, 0x8a, 0xdd, 0x73, 0x66, 0x1a,
+	0xad, 0x74, 0x5a, 0xa0, 0xd7, 0xad, 0x06, 0x17, 0x3b, 0xb7, 0x09, 0xc9, 0xc1, 0x50, 0xfc, 0x0f,
+	0x02, 0xff, 0x61, 0x14, 0x28, 0x74, 0xef, 0x46, 0x3f, 0xfd, 0x53, 0xfb, 0xd3, 0x98, 0x58, 0x7f,
+	0x05, 0x00, 0x00, 0xff, 0xff, 0xd1, 0x90, 0x2d, 0x32, 0x84, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/billing.proto b/googleapis/api/serviceconfig/billing.proto
deleted file mode 100644
index f6867205b79d43928282bbd7b986fa5a2802dd8c..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/billing.proto
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/metric/metric.proto"; // from google/api/metric.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "BillingProto";
-option java_package = "com.google.api";
-
-
-// Billing related configuration of the service.
-//
-// The following example shows how to configure metrics for billing:
-//
-//     metrics:
-//     - name: library.googleapis.com/read_calls
-//       metric_kind: DELTA
-//       value_type: INT64
-//     - name: library.googleapis.com/write_calls
-//       metric_kind: DELTA
-//       value_type: INT64
-//     billing:
-//       metrics:
-//       - library.googleapis.com/read_calls
-//       - library.googleapis.com/write_calls
-//
-// The next example shows how to enable billing status check and customize the
-// check behavior. It makes sure billing status check is included in the `Check`
-// method of [Service Control API](https://cloud.google.com/service-control/).
-// In the example, "google.storage.Get" method can be served when the billing
-// status is either `current` or `delinquent`, while "google.storage.Write"
-// method can only be served when the billing status is `current`:
-//
-//     billing:
-//       rules:
-//       - selector: google.storage.Get
-//         allowed_statuses:
-//         - current
-//         - delinquent
-//       - selector: google.storage.Write
-//         allowed_statuses: current
-//
-// Mostly services should only allow `current` status when serving requests.
-// In addition, services can choose to allow both `current` and `delinquent`
-// statuses when serving read-only requests to resources. If there's no
-// matching selector for operation, no billing status check will be performed.
-//
-message Billing {
-  // Names of the metrics to report to billing. Each name must
-  // be defined in [Service.metrics][google.api.Service.metrics] section.
-  repeated string metrics = 1;
-
-  // A list of billing status rules for configuring billing status check.
-  repeated BillingStatusRule rules = 5;
-}
-
-// Defines the billing status requirements for operations.
-//
-// When used with
-// [Service Control API](https://cloud.google.com/service-control/), the
-// following statuses are supported:
-//
-// - **current**: the associated billing account is up to date and capable of
-//                paying for resource usages.
-// - **delinquent**: the associated billing account has a correctable problem,
-//                   such as late payment.
-//
-// Mostly services should only allow `current` status when serving requests.
-// In addition, services can choose to allow both `current` and `delinquent`
-// statuses when serving read-only requests to resources. If the list of
-// allowed_statuses is empty, it means no billing requirement.
-//
-message BillingStatusRule {
-  // Selects the operation names to which this rule applies.
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  string selector = 1;
-
-  // Allowed billing statuses. The billing status check passes if the actual
-  // billing status matches any of the provided values here.
-  repeated string allowed_statuses = 2;
-}
diff --git a/googleapis/api/serviceconfig/consumer.pb.go b/googleapis/api/serviceconfig/consumer.pb.go
index 97779e86707602ed8d878dad8131e72f2f324c44..00f94ca949f3b256b86306a8ee23926a7e08f52a 100644
--- a/googleapis/api/serviceconfig/consumer.pb.go
+++ b/googleapis/api/serviceconfig/consumer.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/consumer.proto
+// source: google/api/consumer.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -47,7 +47,7 @@ var Property_PropertyType_value = map[string]int32{
 func (x Property_PropertyType) String() string {
 	return proto.EnumName(Property_PropertyType_name, int32(x))
 }
-func (Property_PropertyType) EnumDescriptor() ([]byte, []int) { return fileDescriptor4, []int{1, 0} }
+func (Property_PropertyType) EnumDescriptor() ([]byte, []int) { return fileDescriptor3, []int{1, 0} }
 
 // A descriptor for defining project properties for a service. One service may
 // have many consumer projects, and the service may want to behave differently
@@ -73,7 +73,7 @@ type ProjectProperties struct {
 func (m *ProjectProperties) Reset()                    { *m = ProjectProperties{} }
 func (m *ProjectProperties) String() string            { return proto.CompactTextString(m) }
 func (*ProjectProperties) ProtoMessage()               {}
-func (*ProjectProperties) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
+func (*ProjectProperties) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
 
 func (m *ProjectProperties) GetProperties() []*Property {
 	if m != nil {
@@ -104,7 +104,28 @@ type Property struct {
 func (m *Property) Reset()                    { *m = Property{} }
 func (m *Property) String() string            { return proto.CompactTextString(m) }
 func (*Property) ProtoMessage()               {}
-func (*Property) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{1} }
+func (*Property) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
+
+func (m *Property) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Property) GetType() Property_PropertyType {
+	if m != nil {
+		return m.Type
+	}
+	return Property_UNSPECIFIED
+}
+
+func (m *Property) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*ProjectProperties)(nil), "google.api.ProjectProperties")
@@ -112,29 +133,27 @@ func init() {
 	proto.RegisterEnum("google.api.Property_PropertyType", Property_PropertyType_name, Property_PropertyType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/consumer.proto", fileDescriptor4)
-}
+func init() { proto.RegisterFile("google/api/consumer.proto", fileDescriptor3) }
 
-var fileDescriptor4 = []byte{
-	// 290 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0x90, 0xcf, 0x4e, 0xf2, 0x40,
-	0x14, 0xc5, 0xbf, 0x81, 0x7e, 0x04, 0x2e, 0x8a, 0x75, 0xe2, 0xa2, 0xcb, 0xc2, 0x8a, 0x55, 0x9b,
-	0x20, 0xfa, 0x00, 0xe5, 0x8f, 0x69, 0x42, 0xa0, 0x29, 0xf0, 0x00, 0x75, 0xbc, 0x4e, 0xc6, 0xd0,
-	0xb9, 0x93, 0x69, 0x35, 0xe9, 0x03, 0xfa, 0x5e, 0x86, 0x5a, 0xb1, 0x0b, 0x77, 0x67, 0xe6, 0xfc,
-	0xce, 0xc9, 0xcd, 0x81, 0xb5, 0x24, 0x92, 0x27, 0x0c, 0x24, 0x9d, 0x32, 0x2d, 0x03, 0xb2, 0x32,
-	0x94, 0xa8, 0x8d, 0xa5, 0x92, 0xc2, 0x6f, 0x2b, 0x33, 0xaa, 0x08, 0x33, 0xa3, 0xc2, 0x02, 0xed,
-	0x87, 0x12, 0x28, 0x48, 0xbf, 0x2a, 0x19, 0x0a, 0xd2, 0xc5, 0x7b, 0x8e, 0x36, 0xa8, 0x59, 0x0e,
-	0x4d, 0x4f, 0x66, 0xd4, 0x24, 0x86, 0xdb, 0xc4, 0xd2, 0x1b, 0x8a, 0x32, 0xb1, 0x64, 0xd0, 0x96,
-	0x0a, 0x0b, 0x3e, 0x07, 0x30, 0x97, 0x97, 0xc7, 0xfc, 0xee, 0x74, 0x38, 0xbb, 0x0b, 0x7e, 0x53,
-	0x41, 0xc3, 0x56, 0x69, 0x8b, 0x9b, 0x7c, 0x32, 0xe8, 0xff, 0x18, 0x9c, 0x83, 0xa3, 0xb3, 0x1c,
-	0x3d, 0xe6, 0xb3, 0xe9, 0x20, 0xad, 0x35, 0x7f, 0x00, 0xa7, 0xac, 0x0c, 0x7a, 0x1d, 0x9f, 0x4d,
-	0x47, 0xb3, 0xf1, 0x5f, 0x85, 0x17, 0x71, 0xa8, 0x0c, 0xa6, 0x35, 0xce, 0x7d, 0x18, 0xbe, 0x60,
-	0x21, 0xac, 0x32, 0xa5, 0x22, 0xed, 0x75, 0xeb, 0xc6, 0xf6, 0xd7, 0x64, 0x03, 0x57, 0xed, 0x1c,
-	0xbf, 0x81, 0xe1, 0x71, 0xbb, 0x4f, 0x56, 0x8b, 0x78, 0x1d, 0xaf, 0x96, 0xee, 0x3f, 0x3e, 0x80,
-	0xff, 0xf1, 0xf6, 0xf0, 0x38, 0x77, 0x19, 0xef, 0x83, 0x13, 0xed, 0x76, 0x1b, 0xb7, 0xc3, 0x01,
-	0x7a, 0xfb, 0x43, 0x1a, 0x6f, 0x9f, 0xdc, 0xee, 0x59, 0x2f, 0x77, 0xc7, 0x68, 0xb3, 0x72, 0x9d,
-	0x68, 0x0c, 0x23, 0x41, 0x79, 0xeb, 0xba, 0xe8, 0x7a, 0xd1, 0x0c, 0x98, 0x9c, 0xf7, 0x4b, 0xd8,
-	0x73, 0xaf, 0x1e, 0xf2, 0xfe, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x61, 0xba, 0x74, 0x16, 0x92, 0x01,
-	0x00, 0x00,
+var fileDescriptor3 = []byte{
+	// 299 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0x4f, 0x4f, 0xf2, 0x40,
+	0x10, 0xc6, 0xdf, 0x85, 0xbe, 0x04, 0x06, 0xc5, 0xba, 0xf1, 0x50, 0x6f, 0x95, 0x13, 0xa7, 0x36,
+	0x41, 0xf4, 0xe2, 0xad, 0x50, 0x4d, 0x13, 0x02, 0x4d, 0x81, 0x8b, 0xb7, 0x5a, 0xc7, 0x75, 0x0d,
+	0xec, 0x6c, 0xb6, 0xd5, 0x84, 0x0f, 0xe8, 0xf7, 0x32, 0x2c, 0x88, 0x35, 0xf1, 0xf6, 0xcc, 0x3e,
+	0x7f, 0xb2, 0xf9, 0xc1, 0xa5, 0x20, 0x12, 0x6b, 0x0c, 0x73, 0x2d, 0xc3, 0x82, 0x54, 0xf9, 0xbe,
+	0x41, 0x13, 0x68, 0x43, 0x15, 0x71, 0xd8, 0x5b, 0x41, 0xae, 0x65, 0x3f, 0x81, 0xf3, 0xd4, 0xd0,
+	0x1b, 0x16, 0x55, 0x6a, 0x48, 0xa3, 0xa9, 0x24, 0x96, 0x7c, 0x04, 0xa0, 0x8f, 0x97, 0xc7, 0xfc,
+	0xe6, 0xa0, 0x3b, 0xbc, 0x08, 0x7e, 0x5a, 0xc1, 0x21, 0xbb, 0xcd, 0x6a, 0xb9, 0xfe, 0x27, 0x83,
+	0xf6, 0xb7, 0xc1, 0x39, 0x38, 0x2a, 0xdf, 0xa0, 0xc7, 0x7c, 0x36, 0xe8, 0x64, 0x56, 0xf3, 0x1b,
+	0x70, 0xaa, 0xad, 0x46, 0xaf, 0xe1, 0xb3, 0x41, 0x6f, 0x78, 0xf5, 0xd7, 0xe0, 0x51, 0x2c, 0xb7,
+	0x1a, 0x33, 0x1b, 0xe7, 0x3e, 0x74, 0x9f, 0xb1, 0x2c, 0x8c, 0xd4, 0x95, 0x24, 0xe5, 0x35, 0xed,
+	0x62, 0xfd, 0xa9, 0x3f, 0x85, 0x93, 0x7a, 0x8f, 0x9f, 0x41, 0x77, 0x35, 0x5b, 0xa4, 0xf1, 0x38,
+	0xb9, 0x4f, 0xe2, 0x89, 0xfb, 0x8f, 0x77, 0xe0, 0x7f, 0x32, 0x5b, 0xde, 0x8e, 0x5c, 0xc6, 0xdb,
+	0xe0, 0x44, 0xf3, 0xf9, 0xd4, 0x6d, 0x70, 0x80, 0xd6, 0x62, 0x99, 0x25, 0xb3, 0x07, 0xb7, 0xb9,
+	0xd3, 0x93, 0xf9, 0x2a, 0x9a, 0xc6, 0xae, 0x13, 0xbd, 0x42, 0xaf, 0xa0, 0x4d, 0xed, 0x77, 0xd1,
+	0xe9, 0xf8, 0x00, 0x30, 0xdd, 0xf1, 0x4b, 0xd9, 0x63, 0x7c, 0x30, 0x05, 0xad, 0x73, 0x25, 0x02,
+	0x32, 0x22, 0x14, 0xa8, 0x2c, 0xdd, 0x70, 0x6f, 0xe5, 0x5a, 0x96, 0x96, 0x7d, 0x89, 0xe6, 0x43,
+	0x16, 0x58, 0x90, 0x7a, 0x91, 0xe2, 0xee, 0xd7, 0xf5, 0xd4, 0xb2, 0x8d, 0xeb, 0xaf, 0x00, 0x00,
+	0x00, 0xff, 0xff, 0xb7, 0xa4, 0x04, 0x2c, 0xac, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/consumer.proto b/googleapis/api/serviceconfig/consumer.proto
deleted file mode 100644
index 88879348b7acf97300d1f8e89c48cef8bdfed3cc..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/consumer.proto
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-option java_multiple_files = true;
-option java_outer_classname = "ConsumerProto";
-option java_package = "com.google.api";
-
-
-// A descriptor for defining project properties for a service. One service may
-// have many consumer projects, and the service may want to behave differently
-// depending on some properties on the project. For example, a project may be
-// associated with a school, or a business, or a government agency, a business
-// type property on the project may affect how a service responds to the client.
-// This descriptor defines which properties are allowed to be set on a project.
-//
-// Example:
-//
-//    project_properties:
-//      properties:
-//      - name: NO_WATERMARK
-//        type: BOOL
-//        description: Allows usage of the API without watermarks.
-//      - name: EXTENDED_TILE_CACHE_PERIOD
-//        type: INT64
-message ProjectProperties {
-  // List of per consumer project-specific properties.
-  repeated Property properties = 1;
-}
-
-// Defines project properties.
-//
-// API services can define properties that can be assigned to consumer projects
-// so that backends can perform response customization without having to make
-// additional calls or maintain additional storage. For example, Maps API
-// defines properties that controls map tile cache period, or whether to embed a
-// watermark in a result.
-//
-// These values can be set via API producer console. Only API providers can
-// define and set these properties.
-message Property {
-  // Supported data type of the property values
-  enum PropertyType {
-    // The type is unspecified, and will result in an error.
-    UNSPECIFIED = 0;
-
-    // The type is `int64`.
-    INT64 = 1;
-
-    // The type is `bool`.
-    BOOL = 2;
-
-    // The type is `string`.
-    STRING = 3;
-
-    // The type is 'double'.
-    DOUBLE = 4;
-  }
-
-  // The name of the property (a.k.a key).
-  string name = 1;
-
-  // The type of this property.
-  PropertyType type = 2;
-
-  // The description of the property
-  string description = 3;
-}
diff --git a/googleapis/api/serviceconfig/context.pb.go b/googleapis/api/serviceconfig/context.pb.go
index b4c39af9750ce18df9a3fb11ed3cee4456ef4dfe..692a037a59b1061542bfbd456c6fa41573bd6a0a 100644
--- a/googleapis/api/serviceconfig/context.pb.go
+++ b/googleapis/api/serviceconfig/context.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/context.proto
+// source: google/api/context.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -40,7 +40,7 @@ type Context struct {
 func (m *Context) Reset()                    { *m = Context{} }
 func (m *Context) String() string            { return proto.CompactTextString(m) }
 func (*Context) ProtoMessage()               {}
-func (*Context) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
+func (*Context) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
 
 func (m *Context) GetRules() []*ContextRule {
 	if m != nil {
@@ -65,31 +65,51 @@ type ContextRule struct {
 func (m *ContextRule) Reset()                    { *m = ContextRule{} }
 func (m *ContextRule) String() string            { return proto.CompactTextString(m) }
 func (*ContextRule) ProtoMessage()               {}
-func (*ContextRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{1} }
+func (*ContextRule) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{1} }
+
+func (m *ContextRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
+
+func (m *ContextRule) GetRequested() []string {
+	if m != nil {
+		return m.Requested
+	}
+	return nil
+}
+
+func (m *ContextRule) GetProvided() []string {
+	if m != nil {
+		return m.Provided
+	}
+	return nil
+}
 
 func init() {
 	proto.RegisterType((*Context)(nil), "google.api.Context")
 	proto.RegisterType((*ContextRule)(nil), "google.api.ContextRule")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/context.proto", fileDescriptor5)
-}
+func init() { proto.RegisterFile("google/api/context.proto", fileDescriptor4) }
 
-var fileDescriptor5 = []byte{
-	// 222 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x4c, 0x8f, 0xbd, 0x4e, 0xc3, 0x30,
-	0x14, 0x85, 0x95, 0x86, 0xbf, 0xdc, 0x22, 0x86, 0x2c, 0x58, 0x88, 0x21, 0xea, 0x42, 0x16, 0x6c,
-	0x09, 0x16, 0x56, 0x8a, 0x10, 0x62, 0x8b, 0xfc, 0x06, 0xc6, 0xb9, 0x58, 0x96, 0x8c, 0xaf, 0xb1,
-	0x9d, 0x8a, 0xe7, 0xe1, 0x49, 0xab, 0x26, 0x51, 0x9b, 0xf1, 0x9c, 0xf3, 0xdd, 0x9f, 0x03, 0xef,
-	0x86, 0xc8, 0x38, 0xe4, 0x86, 0x9c, 0xf2, 0x86, 0x53, 0x34, 0xc2, 0xa0, 0x0f, 0x91, 0x32, 0x89,
-	0x29, 0x52, 0xc1, 0x26, 0xa1, 0x82, 0x15, 0x09, 0xe3, 0xce, 0x6a, 0xd4, 0xe4, 0xbf, 0xad, 0x11,
-	0x9a, 0x7c, 0xc6, 0xbf, 0xcc, 0x47, 0xb4, 0x86, 0x79, 0x8d, 0x0a, 0x76, 0xf3, 0x02, 0x97, 0x6f,
-	0x53, 0x58, 0x3f, 0xc2, 0x79, 0x1c, 0x1c, 0x26, 0x56, 0x34, 0x65, 0xbb, 0x7e, 0xba, 0xe5, 0x27,
-	0x8c, 0xcf, 0x8c, 0x1c, 0x1c, 0xca, 0x89, 0xda, 0x68, 0x58, 0x2f, 0xdc, 0xfa, 0x0e, 0xae, 0x12,
-	0x3a, 0xd4, 0x99, 0x22, 0x2b, 0x9a, 0xa2, 0xad, 0xe4, 0x51, 0xd7, 0xf7, 0x50, 0x45, 0xfc, 0x1d,
-	0x30, 0x65, 0xec, 0xd9, 0xaa, 0x29, 0xdb, 0x4a, 0x9e, 0x8c, 0xc3, 0x64, 0x88, 0xb4, 0xb3, 0x3d,
-	0xf6, 0xac, 0x1c, 0xc3, 0xa3, 0xde, 0x3e, 0xc0, 0x8d, 0xa6, 0x9f, 0xc5, 0x27, 0xdb, 0xeb, 0xf9,
-	0x68, 0x77, 0xa8, 0xd2, 0x15, 0xff, 0xab, 0xb3, 0x8f, 0xd7, 0xee, 0xf3, 0xeb, 0x62, 0xac, 0xf6,
-	0xbc, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xe7, 0x43, 0x17, 0x5f, 0x23, 0x01, 0x00, 0x00,
+var fileDescriptor4 = []byte{
+	// 231 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0x4f, 0x4b, 0xc4, 0x30,
+	0x14, 0xc4, 0xe9, 0xd6, 0x7f, 0x7d, 0x2b, 0x1e, 0x7a, 0x31, 0x88, 0x87, 0xb2, 0xa7, 0x5e, 0x4c,
+	0x41, 0x2f, 0x82, 0x27, 0x57, 0x44, 0xbc, 0x95, 0x1e, 0xbd, 0xc5, 0xf4, 0x19, 0x02, 0x31, 0x2f,
+	0x26, 0xe9, 0xe2, 0xe7, 0xf1, 0x93, 0xca, 0x26, 0x65, 0xff, 0x1c, 0x67, 0x7e, 0x33, 0x24, 0xf3,
+	0x80, 0x29, 0x22, 0x65, 0xb0, 0x13, 0x4e, 0x77, 0x92, 0x6c, 0xc4, 0xdf, 0xc8, 0x9d, 0xa7, 0x48,
+	0x35, 0x64, 0xc2, 0x85, 0xd3, 0xab, 0x47, 0x38, 0x7f, 0xc9, 0xb0, 0xbe, 0x83, 0x53, 0x3f, 0x19,
+	0x0c, 0xac, 0x68, 0xca, 0x76, 0x79, 0x7f, 0xcd, 0xf7, 0x31, 0x3e, 0x67, 0x86, 0xc9, 0xe0, 0x90,
+	0x53, 0x2b, 0x09, 0xcb, 0x03, 0xb7, 0xbe, 0x81, 0x8b, 0x80, 0x06, 0x65, 0x24, 0xcf, 0x8a, 0xa6,
+	0x68, 0xab, 0x61, 0xa7, 0xeb, 0x5b, 0xa8, 0x3c, 0xfe, 0x4c, 0x18, 0x22, 0x8e, 0x6c, 0xd1, 0x94,
+	0x6d, 0x35, 0xec, 0x8d, 0x6d, 0xd3, 0x79, 0xda, 0xe8, 0x11, 0x47, 0x56, 0x26, 0xb8, 0xd3, 0x6b,
+	0x0b, 0x57, 0x92, 0xbe, 0x0f, 0x7e, 0xb2, 0xbe, 0x9c, 0x1f, 0xed, 0xb7, 0x53, 0xfa, 0xe2, 0xe3,
+	0x75, 0x66, 0x8a, 0x8c, 0xb0, 0x8a, 0x93, 0x57, 0x9d, 0x42, 0x9b, 0x86, 0x76, 0x19, 0x09, 0xa7,
+	0x43, 0xba, 0x42, 0x40, 0xbf, 0xd1, 0x12, 0x25, 0xd9, 0x2f, 0xad, 0x9e, 0x8e, 0xd4, 0xdf, 0xe2,
+	0xe4, 0xed, 0xb9, 0x7f, 0xff, 0x3c, 0x4b, 0xc5, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb5,
+	0x18, 0x98, 0x7a, 0x3d, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/context.proto b/googleapis/api/serviceconfig/context.proto
deleted file mode 100644
index 427524f60741efac93fdaece30ffc3b20c7b0dad..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/context.proto
+++ /dev/null
@@ -1,62 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-option java_multiple_files = true;
-option java_outer_classname = "ContextProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// `Context` defines which contexts an API requests.
-//
-// Example:
-//
-//     context:
-//       rules:
-//       - selector: "*"
-//         requested:
-//         - google.rpc.context.ProjectContext
-//         - google.rpc.context.OriginContext
-//
-// The above specifies that all methods in the API request
-// `google.rpc.context.ProjectContext` and
-// `google.rpc.context.OriginContext`.
-//
-// Available context types are defined in package
-// `google.rpc.context`.
-message Context {
-  // A list of RPC context rules that apply to individual API methods.
-  //
-  // **NOTE:** All service configuration rules follow "last one wins" order.
-  repeated ContextRule rules = 1;
-}
-
-// A context rule provides information about the context for an individual API
-// element.
-message ContextRule {
-  // Selects the methods to which this rule applies.
-  //
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  string selector = 1;
-
-  // A list of full type names of requested contexts.
-  repeated string requested = 2;
-
-  // A list of full type names of provided contexts.
-  repeated string provided = 3;
-}
diff --git a/googleapis/api/serviceconfig/control.pb.go b/googleapis/api/serviceconfig/control.pb.go
index cc905cb36a50c776e64bf98dabe0a19dcabaec3a..36c6c81efbaeaf54d592f806c461a054e97862a6 100644
--- a/googleapis/api/serviceconfig/control.pb.go
+++ b/googleapis/api/serviceconfig/control.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/control.proto
+// source: google/api/control.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -25,26 +25,32 @@ type Control struct {
 func (m *Control) Reset()                    { *m = Control{} }
 func (m *Control) String() string            { return proto.CompactTextString(m) }
 func (*Control) ProtoMessage()               {}
-func (*Control) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{0} }
+func (*Control) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
 
-func init() {
-	proto.RegisterType((*Control)(nil), "google.api.Control")
+func (m *Control) GetEnvironment() string {
+	if m != nil {
+		return m.Environment
+	}
+	return ""
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/control.proto", fileDescriptor6)
+	proto.RegisterType((*Control)(nil), "google.api.Control")
 }
 
-var fileDescriptor6 = []byte{
-	// 157 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x72, 0x4d, 0xcf, 0xcf, 0x4f,
-	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
-	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x27, 0x16,
-	0x64, 0xea, 0x17, 0xa7, 0x16, 0x95, 0x65, 0x26, 0xa7, 0x26, 0xe7, 0xe7, 0xa5, 0x65, 0xa6, 0xeb,
-	0x27, 0xe7, 0xe7, 0x95, 0x14, 0xe5, 0xe7, 0xe8, 0x81, 0x95, 0x0a, 0x71, 0x41, 0x8d, 0x49, 0x2c,
-	0xc8, 0x54, 0xd2, 0xe6, 0x62, 0x77, 0x86, 0x48, 0x0a, 0x29, 0x70, 0x71, 0xa7, 0xe6, 0x95, 0x65,
-	0x16, 0xe5, 0xe7, 0xe5, 0xa6, 0xe6, 0x95, 0x48, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x21, 0x0b,
-	0x39, 0xa9, 0x73, 0xf1, 0x25, 0xe7, 0xe7, 0xea, 0x21, 0xb4, 0x3b, 0xf1, 0x40, 0x35, 0x07, 0x80,
-	0x0c, 0x0e, 0x60, 0x5c, 0xc4, 0xc4, 0xe2, 0xee, 0x18, 0xe0, 0x99, 0xc4, 0x06, 0xb6, 0xc8, 0x18,
-	0x10, 0x00, 0x00, 0xff, 0xff, 0x77, 0x67, 0xbb, 0x6f, 0xb1, 0x00, 0x00, 0x00,
+func init() { proto.RegisterFile("google/api/control.proto", fileDescriptor5) }
+
+var fileDescriptor5 = []byte{
+	// 165 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x48, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0x4f, 0xce, 0xcf, 0x2b, 0x29, 0xca, 0xcf, 0xd1, 0x2b,
+	0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x82, 0xc8, 0xe8, 0x25, 0x16, 0x64, 0x2a, 0x69, 0x73, 0xb1,
+	0x3b, 0x43, 0x24, 0x85, 0x14, 0xb8, 0xb8, 0x53, 0xf3, 0xca, 0x32, 0x8b, 0xf2, 0xf3, 0x72, 0x53,
+	0xf3, 0x4a, 0x24, 0x18, 0x15, 0x18, 0x35, 0x38, 0x83, 0x90, 0x85, 0x9c, 0xf2, 0xb8, 0xf8, 0x92,
+	0xf3, 0x73, 0xf5, 0x10, 0xda, 0x9d, 0x78, 0xa0, 0x9a, 0x03, 0x40, 0x06, 0x07, 0x30, 0x46, 0xb9,
+	0x42, 0xe5, 0xd2, 0xf3, 0x73, 0x12, 0xf3, 0xd2, 0xf5, 0xf2, 0x8b, 0xd2, 0xf5, 0xd3, 0x53, 0xf3,
+	0xc0, 0xd6, 0xea, 0x43, 0xa4, 0x12, 0x0b, 0x32, 0x8b, 0xc1, 0x6e, 0x2a, 0x4e, 0x2d, 0x2a, 0xcb,
+	0x4c, 0x4e, 0x4d, 0xce, 0xcf, 0x4b, 0xcb, 0x4c, 0xb7, 0x46, 0xe1, 0x2d, 0x62, 0x62, 0x71, 0x77,
+	0x0c, 0xf0, 0x4c, 0x62, 0x03, 0x6b, 0x34, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x44, 0x6e, 0x78,
+	0xbd, 0xcb, 0x00, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/control.proto b/googleapis/api/serviceconfig/control.proto
deleted file mode 100644
index d99b2b084b88340c4ac8ba03c6760be6f32eacaf..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/control.proto
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-option java_multiple_files = true;
-option java_outer_classname = "ControlProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// Selects and configures the service controller used by the service.  The
-// service controller handles features like abuse, quota, billing, logging,
-// monitoring, etc.
-message Control {
-  // The service control environment to use. If empty, no control plane
-  // feature (like quota and billing) will be enabled.
-  string environment = 1;
-}
diff --git a/googleapis/api/serviceconfig/documentation.pb.go b/googleapis/api/serviceconfig/documentation.pb.go
index 2605ffec9cc598b2384a3a5c184de53338f67aad..1885fd467acddba4425bedc5bcbf6ff1d82074bb 100644
--- a/googleapis/api/serviceconfig/documentation.pb.go
+++ b/googleapis/api/serviceconfig/documentation.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/documentation.proto
+// source: google/api/documentation.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -101,7 +101,14 @@ type Documentation struct {
 func (m *Documentation) Reset()                    { *m = Documentation{} }
 func (m *Documentation) String() string            { return proto.CompactTextString(m) }
 func (*Documentation) ProtoMessage()               {}
-func (*Documentation) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0} }
+func (*Documentation) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{0} }
+
+func (m *Documentation) GetSummary() string {
+	if m != nil {
+		return m.Summary
+	}
+	return ""
+}
 
 func (m *Documentation) GetPages() []*Page {
 	if m != nil {
@@ -117,6 +124,20 @@ func (m *Documentation) GetRules() []*DocumentationRule {
 	return nil
 }
 
+func (m *Documentation) GetDocumentationRootUrl() string {
+	if m != nil {
+		return m.DocumentationRootUrl
+	}
+	return ""
+}
+
+func (m *Documentation) GetOverview() string {
+	if m != nil {
+		return m.Overview
+	}
+	return ""
+}
+
 // A documentation rule provides information about individual API elements.
 type DocumentationRule struct {
 	// The selector is a comma-separated list of patterns. Each pattern is a
@@ -136,7 +157,28 @@ type DocumentationRule struct {
 func (m *DocumentationRule) Reset()                    { *m = DocumentationRule{} }
 func (m *DocumentationRule) String() string            { return proto.CompactTextString(m) }
 func (*DocumentationRule) ProtoMessage()               {}
-func (*DocumentationRule) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{1} }
+func (*DocumentationRule) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{1} }
+
+func (m *DocumentationRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
+
+func (m *DocumentationRule) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *DocumentationRule) GetDeprecationDescription() string {
+	if m != nil {
+		return m.DeprecationDescription
+	}
+	return ""
+}
 
 // Represents a documentation page. A page can contain subpages to represent
 // nested documentation set structure.
@@ -167,7 +209,21 @@ type Page struct {
 func (m *Page) Reset()                    { *m = Page{} }
 func (m *Page) String() string            { return proto.CompactTextString(m) }
 func (*Page) ProtoMessage()               {}
-func (*Page) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{2} }
+func (*Page) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{2} }
+
+func (m *Page) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Page) GetContent() string {
+	if m != nil {
+		return m.Content
+	}
+	return ""
+}
 
 func (m *Page) GetSubpages() []*Page {
 	if m != nil {
@@ -182,32 +238,31 @@ func init() {
 	proto.RegisterType((*Page)(nil), "google.api.Page")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/documentation.proto", fileDescriptor7)
-}
-
-var fileDescriptor7 = []byte{
-	// 346 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x74, 0x92, 0xd1, 0x4a, 0xeb, 0x40,
-	0x10, 0x86, 0x49, 0x93, 0x9e, 0xd3, 0x33, 0xe5, 0x1c, 0x8e, 0x8b, 0xd4, 0x20, 0x08, 0xa5, 0x17,
-	0xd2, 0x0b, 0x4d, 0xc0, 0x0a, 0x5e, 0x5b, 0x0a, 0x22, 0xde, 0x84, 0x80, 0xd7, 0x65, 0xbb, 0x1d,
-	0x97, 0x40, 0xb2, 0x13, 0x76, 0x37, 0x15, 0x5f, 0xc1, 0xc7, 0xf0, 0xa9, 0x7c, 0x1c, 0xc9, 0x26,
-	0x6d, 0x13, 0xc4, 0xbb, 0x4c, 0xfe, 0x6f, 0xe6, 0x9f, 0xf9, 0x13, 0x78, 0x92, 0x44, 0x32, 0xc7,
-	0x48, 0x52, 0xce, 0x95, 0x8c, 0x48, 0xcb, 0x58, 0xa2, 0x2a, 0x35, 0x59, 0x8a, 0x1b, 0x89, 0x97,
-	0x99, 0x89, 0x79, 0x99, 0xc5, 0x06, 0xf5, 0x2e, 0x13, 0x28, 0x48, 0xbd, 0x64, 0x32, 0xde, 0x92,
-	0xa8, 0x0a, 0x54, 0x96, 0xdb, 0x8c, 0x54, 0xe4, 0x1a, 0x18, 0xb4, 0xc3, 0x78, 0x99, 0xcd, 0x3e,
-	0x3d, 0xf8, 0xbb, 0xea, 0x32, 0x2c, 0x84, 0xdf, 0xa6, 0x2a, 0x0a, 0xae, 0xdf, 0x42, 0x6f, 0xea,
-	0xcd, 0xff, 0xa4, 0xfb, 0x92, 0x5d, 0xc2, 0xb0, 0xe4, 0x12, 0x4d, 0x38, 0x9c, 0xfa, 0xf3, 0xf1,
-	0xcd, 0xff, 0xe8, 0x38, 0x27, 0x4a, 0xb8, 0xc4, 0xb4, 0x91, 0xd9, 0x02, 0x86, 0xba, 0xca, 0xd1,
-	0x84, 0xbe, 0xe3, 0x2e, 0xba, 0x5c, 0xcf, 0x2b, 0xad, 0x72, 0x4c, 0x1b, 0x96, 0xdd, 0xc2, 0xa4,
-	0xb7, 0xeb, 0x5a, 0x13, 0xd9, 0x75, 0xa5, 0xf3, 0x30, 0x70, 0x5b, 0x9c, 0xf6, 0xd4, 0x94, 0xc8,
-	0x3e, 0xeb, 0x9c, 0x9d, 0xc3, 0x88, 0x76, 0xf5, 0xc1, 0xf8, 0x1a, 0x0e, 0x1c, 0x77, 0xa8, 0x67,
-	0xef, 0x1e, 0x9c, 0x7c, 0xb3, 0xab, 0x3b, 0x0c, 0xe6, 0x28, 0x2c, 0xe9, 0xf6, 0xbe, 0x43, 0xcd,
-	0xa6, 0x30, 0xde, 0xa2, 0x11, 0x3a, 0x2b, 0x6b, 0xbc, 0x1d, 0xd8, 0x7d, 0xc5, 0xee, 0xe0, 0x6c,
-	0x8b, 0xa5, 0x46, 0xd1, 0xec, 0xd8, 0xa5, 0x7d, 0x47, 0x4f, 0x3a, 0xf2, 0xea, 0xa8, 0xce, 0x36,
-	0x10, 0xd4, 0x11, 0x31, 0x06, 0x81, 0xe2, 0x05, 0xb6, 0xd6, 0xee, 0xb9, 0x4e, 0x5c, 0x90, 0xb2,
-	0xa8, 0x6c, 0x6b, 0xb9, 0x2f, 0xd9, 0x15, 0x8c, 0x4c, 0xb5, 0x69, 0x42, 0xf7, 0x7f, 0x08, 0xfd,
-	0x40, 0x2c, 0xaf, 0xe1, 0x9f, 0xa0, 0xa2, 0x03, 0x2c, 0x59, 0xef, 0xfe, 0xa4, 0xfe, 0xfa, 0x89,
-	0xf7, 0x31, 0x08, 0x1e, 0xee, 0x93, 0xc7, 0xcd, 0x2f, 0xf7, 0x37, 0x2c, 0xbe, 0x02, 0x00, 0x00,
-	0xff, 0xff, 0x62, 0xd9, 0x85, 0x51, 0x5c, 0x02, 0x00, 0x00,
+func init() { proto.RegisterFile("google/api/documentation.proto", fileDescriptor6) }
+
+var fileDescriptor6 = []byte{
+	// 356 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xc1, 0x6a, 0xe3, 0x30,
+	0x14, 0x45, 0x71, 0xec, 0xcc, 0x64, 0x5e, 0x98, 0x61, 0x46, 0x0c, 0x19, 0x33, 0xd0, 0x12, 0xb2,
+	0x28, 0x59, 0x14, 0x1b, 0x9a, 0x42, 0x17, 0x5d, 0x35, 0xa4, 0x94, 0xee, 0x8c, 0xa1, 0x9b, 0x6e,
+	0x82, 0xa2, 0xbc, 0x0a, 0x83, 0xad, 0x67, 0x24, 0x39, 0xa5, 0xbf, 0xd0, 0xcf, 0xe8, 0x57, 0xf5,
+	0x73, 0x8a, 0x65, 0x27, 0xb1, 0x29, 0xdd, 0xf9, 0xfa, 0x1e, 0xe9, 0x3e, 0x5d, 0x09, 0x4e, 0x25,
+	0x91, 0xcc, 0x31, 0xe6, 0x65, 0x16, 0x6f, 0x49, 0x54, 0x05, 0x2a, 0xcb, 0x6d, 0x46, 0x2a, 0x2a,
+	0x35, 0x59, 0x62, 0xd0, 0xf8, 0x11, 0x2f, 0xb3, 0xd9, 0xbb, 0x07, 0x3f, 0x57, 0x5d, 0x86, 0x85,
+	0xf0, 0xdd, 0x54, 0x45, 0xc1, 0xf5, 0x4b, 0xe8, 0x4d, 0xbd, 0xf9, 0x8f, 0x74, 0x2f, 0xd9, 0x19,
+	0x0c, 0x4b, 0x2e, 0xd1, 0x84, 0xc3, 0xa9, 0x3f, 0x1f, 0x5f, 0xfc, 0x8e, 0x8e, 0xfb, 0x44, 0x09,
+	0x97, 0x98, 0x36, 0x36, 0x5b, 0xc0, 0x50, 0x57, 0x39, 0x9a, 0xd0, 0x77, 0xdc, 0x49, 0x97, 0xeb,
+	0x65, 0xa5, 0x55, 0x8e, 0x69, 0xc3, 0xb2, 0x4b, 0x98, 0xf4, 0x66, 0x5d, 0x6b, 0x22, 0xbb, 0xae,
+	0x74, 0x1e, 0x06, 0x6e, 0x8a, 0xbf, 0x3d, 0x37, 0x25, 0xb2, 0x0f, 0x3a, 0x67, 0xff, 0x61, 0x44,
+	0x3b, 0xd4, 0xbb, 0x0c, 0x9f, 0xc3, 0x81, 0xe3, 0x0e, 0x7a, 0xf6, 0xea, 0xc1, 0x9f, 0x4f, 0x71,
+	0xf5, 0x0a, 0x83, 0x39, 0x0a, 0x4b, 0xba, 0x3d, 0xdf, 0x41, 0xb3, 0x29, 0x8c, 0xb7, 0x68, 0x84,
+	0xce, 0xca, 0x1a, 0x6f, 0x37, 0xec, 0xfe, 0x62, 0x57, 0xf0, 0x6f, 0x8b, 0xa5, 0x46, 0xd1, 0xcc,
+	0xd8, 0xa5, 0x7d, 0x47, 0x4f, 0x3a, 0xf6, 0xea, 0xe8, 0xce, 0x36, 0x10, 0xd4, 0x15, 0x31, 0x06,
+	0x81, 0xe2, 0x05, 0xb6, 0xd1, 0xee, 0xbb, 0x6e, 0x5c, 0x90, 0xb2, 0xa8, 0x6c, 0x1b, 0xb9, 0x97,
+	0xec, 0x1c, 0x46, 0xa6, 0xda, 0x34, 0xa5, 0xfb, 0x5f, 0x94, 0x7e, 0x20, 0x96, 0x16, 0x7e, 0x09,
+	0x2a, 0x3a, 0xc0, 0x92, 0xf5, 0xce, 0x9f, 0xd4, 0xb7, 0x9f, 0x78, 0x8f, 0xb7, 0x2d, 0x21, 0x29,
+	0xe7, 0x4a, 0x46, 0xa4, 0x65, 0x2c, 0x51, 0xb9, 0xb7, 0x11, 0x37, 0x16, 0x2f, 0x33, 0xe3, 0x9e,
+	0x8f, 0xa9, 0xbb, 0x14, 0x28, 0x48, 0x3d, 0x65, 0xf2, 0xba, 0xa7, 0xde, 0x06, 0xc1, 0xdd, 0x4d,
+	0x72, 0xbf, 0xf9, 0xe6, 0x16, 0x2e, 0x3e, 0x02, 0x00, 0x00, 0xff, 0xff, 0x3e, 0x04, 0x32, 0xbf,
+	0x76, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/documentation.proto b/googleapis/api/serviceconfig/documentation.proto
deleted file mode 100644
index 190f8af53657e7fc0cceab6e5b9dc43bd8cdbc9c..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/documentation.proto
+++ /dev/null
@@ -1,158 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-option java_multiple_files = true;
-option java_outer_classname = "DocumentationProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// `Documentation` provides the information for describing a service.
-//
-// Example:
-// <pre><code>documentation:
-//   summary: >
-//     The Google Calendar API gives access
-//     to most calendar features.
-//   pages:
-//   - name: Overview
-//     content: &#40;== include google/foo/overview.md ==&#41;
-//   - name: Tutorial
-//     content: &#40;== include google/foo/tutorial.md ==&#41;
-//     subpages;
-//     - name: Java
-//       content: &#40;== include google/foo/tutorial_java.md ==&#41;
-//   rules:
-//   - selector: google.calendar.Calendar.Get
-//     description: >
-//       ...
-//   - selector: google.calendar.Calendar.Put
-//     description: >
-//       ...
-// </code></pre>
-// Documentation is provided in markdown syntax. In addition to
-// standard markdown features, definition lists, tables and fenced
-// code blocks are supported. Section headers can be provided and are
-// interpreted relative to the section nesting of the context where
-// a documentation fragment is embedded.
-//
-// Documentation from the IDL is merged with documentation defined
-// via the config at normalization time, where documentation provided
-// by config rules overrides IDL provided.
-//
-// A number of constructs specific to the API platform are supported
-// in documentation text.
-//
-// In order to reference a proto element, the following
-// notation can be used:
-// <pre><code>&#91;fully.qualified.proto.name]&#91;]</code></pre>
-// To override the display text used for the link, this can be used:
-// <pre><code>&#91;display text]&#91;fully.qualified.proto.name]</code></pre>
-// Text can be excluded from doc using the following notation:
-// <pre><code>&#40;-- internal comment --&#41;</code></pre>
-// Comments can be made conditional using a visibility label. The below
-// text will be only rendered if the `BETA` label is available:
-// <pre><code>&#40;--BETA: comment for BETA users --&#41;</code></pre>
-// A few directives are available in documentation. Note that
-// directives must appear on a single line to be properly
-// identified. The `include` directive includes a markdown file from
-// an external source:
-// <pre><code>&#40;== include path/to/file ==&#41;</code></pre>
-// The `resource_for` directive marks a message to be the resource of
-// a collection in REST view. If it is not specified, tools attempt
-// to infer the resource from the operations in a collection:
-// <pre><code>&#40;== resource_for v1.shelves.books ==&#41;</code></pre>
-// The directive `suppress_warning` does not directly affect documentation
-// and is documented together with service config validation.
-message Documentation {
-  // A short summary of what the service does. Can only be provided by
-  // plain text.
-  string summary = 1;
-
-  // The top level pages for the documentation set.
-  repeated Page pages = 5;
-
-  // A list of documentation rules that apply to individual API elements.
-  //
-  // **NOTE:** All service configuration rules follow "last one wins" order.
-  repeated DocumentationRule rules = 3;
-
-  // The URL to the root of documentation.
-  string documentation_root_url = 4;
-
-  // Declares a single overview page. For example:
-  // <pre><code>documentation:
-  //   summary: ...
-  //   overview: &#40;== include overview.md ==&#41;
-  // </code></pre>
-  // This is a shortcut for the following declaration (using pages style):
-  // <pre><code>documentation:
-  //   summary: ...
-  //   pages:
-  //   - name: Overview
-  //     content: &#40;== include overview.md ==&#41;
-  // </code></pre>
-  // Note: you cannot specify both `overview` field and `pages` field.
-  string overview = 2;
-}
-
-// A documentation rule provides information about individual API elements.
-message DocumentationRule {
-  // The selector is a comma-separated list of patterns. Each pattern is a
-  // qualified name of the element which may end in "*", indicating a wildcard.
-  // Wildcards are only allowed at the end and for a whole component of the
-  // qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". To
-  // specify a default for all applicable elements, the whole pattern "*"
-  // is used.
-  string selector = 1;
-
-  // Description of the selected API(s).
-  string description = 2;
-
-  // Deprecation description of the selected element(s). It can be provided if an
-  // element is marked as `deprecated`.
-  string deprecation_description = 3;
-}
-
-// Represents a documentation page. A page can contain subpages to represent
-// nested documentation set structure.
-message Page {
-  // The name of the page. It will be used as an identity of the page to
-  // generate URI of the page, text of the link to this page in navigation,
-  // etc. The full page name (start from the root page name to this page
-  // concatenated with `.`) can be used as reference to the page in your
-  // documentation. For example:
-  // <pre><code>pages:
-  // - name: Tutorial
-  //   content: &#40;== include tutorial.md ==&#41;
-  //   subpages:
-  //   - name: Java
-  //     content: &#40;== include tutorial_java.md ==&#41;
-  // </code></pre>
-  // You can reference `Java` page using Markdown reference link syntax:
-  // `[Java][Tutorial.Java]`.
-  string name = 1;
-
-  // The Markdown content of the page. You can use <code>&#40;== include {path} ==&#41;</code>
-  // to include content from a Markdown file.
-  string content = 2;
-
-  // Subpages of this page. The order of subpages specified here will be
-  // honored in the generated docset.
-  repeated Page subpages = 3;
-}
diff --git a/googleapis/api/serviceconfig/endpoint.pb.go b/googleapis/api/serviceconfig/endpoint.pb.go
index bc6c668aaa728b048ead8fa2d48300083418c7b1..c726472b1e39e1bb459e994d05c2aa6bba54c9e4 100644
--- a/googleapis/api/serviceconfig/endpoint.pb.go
+++ b/googleapis/api/serviceconfig/endpoint.pb.go
@@ -1,12 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/endpoint.proto
+// source: google/api/endpoint.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -28,29 +29,7 @@ var _ = math.Inf
 //       # it to decide whether the subsequent cross-origin request is
 //       # allowed to proceed.
 //     - name: library-example.googleapis.com
-//       apis: google.example.library.v1.Library
 //       allow_cors: true
-//       # Below entry makes 'google.example.library.v1.Library'
-//       # API be served from endpoint address
-//       # google.example.library-example.v1.LibraryManager.
-//     - name: library-manager.googleapis.com
-//       apis: google.example.library.v1.LibraryManager
-//       # BNS address for a borg job. Can specify a task by appending
-//       # "/taskId" (e.g. "/0") to the job spec.
-//
-// Example OpenAPI extension for endpoint with allow_cors set to true:
-//
-//     {
-//       "swagger": "2.0",
-//       "info": {
-//         "description": "A simple..."
-//       },
-//       "host": "MY_PROJECT_ID.appspot.com",
-//       "x-google-endpoints": [{
-//         "name": "MY_PROJECT_ID.appspot.com",
-//         "allow_cors": "true"
-//       }]
-//     }
 type Endpoint struct {
 	// The canonical name of this endpoint.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
@@ -76,31 +55,65 @@ type Endpoint struct {
 func (m *Endpoint) Reset()                    { *m = Endpoint{} }
 func (m *Endpoint) String() string            { return proto.CompactTextString(m) }
 func (*Endpoint) ProtoMessage()               {}
-func (*Endpoint) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{0} }
+func (*Endpoint) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0} }
 
-func init() {
-	proto.RegisterType((*Endpoint)(nil), "google.api.Endpoint")
+func (m *Endpoint) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Endpoint) GetAliases() []string {
+	if m != nil {
+		return m.Aliases
+	}
+	return nil
+}
+
+func (m *Endpoint) GetApis() []string {
+	if m != nil {
+		return m.Apis
+	}
+	return nil
+}
+
+func (m *Endpoint) GetFeatures() []string {
+	if m != nil {
+		return m.Features
+	}
+	return nil
+}
+
+func (m *Endpoint) GetAllowCors() bool {
+	if m != nil {
+		return m.AllowCors
+	}
+	return false
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/endpoint.proto", fileDescriptor8)
+	proto.RegisterType((*Endpoint)(nil), "google.api.Endpoint")
 }
 
-var fileDescriptor8 = []byte{
-	// 233 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x4f, 0x41, 0x4e, 0xc3, 0x30,
-	0x10, 0x94, 0xdb, 0x00, 0x89, 0x25, 0x38, 0xf8, 0x64, 0x55, 0x42, 0x8a, 0x38, 0xe5, 0x14, 0x1f,
-	0x78, 0x01, 0x45, 0x80, 0x7a, 0x8b, 0xf2, 0x01, 0xb4, 0x84, 0xad, 0x65, 0xc9, 0xdd, 0xb5, 0x6c,
-	0x03, 0x4f, 0xe0, 0x1f, 0xbc, 0x14, 0xc5, 0x6d, 0xe0, 0xde, 0xdb, 0xcc, 0xec, 0x68, 0x66, 0x56,
-	0x3e, 0x5b, 0x66, 0xeb, 0xb1, 0xb7, 0xec, 0x81, 0x6c, 0xcf, 0xd1, 0x1a, 0x8b, 0x14, 0x22, 0x67,
-	0x36, 0xc7, 0x13, 0x04, 0x97, 0x0c, 0x04, 0x67, 0x12, 0xc6, 0x4f, 0x37, 0xe1, 0xc4, 0xb4, 0x77,
-	0xd6, 0x20, 0xbd, 0x07, 0x76, 0x94, 0xfb, 0xe2, 0x55, 0xf2, 0x94, 0x03, 0xc1, 0x6d, 0x76, 0xe7,
-	0x66, 0x02, 0x11, 0x67, 0xc8, 0x8e, 0x29, 0x1d, 0x63, 0xef, 0xbe, 0x85, 0xac, 0x9f, 0x4e, 0x4d,
-	0x4a, 0xc9, 0x8a, 0xe0, 0x80, 0x5a, 0xb4, 0xa2, 0x6b, 0xc6, 0x82, 0x95, 0x96, 0x57, 0xe0, 0x1d,
-	0x24, 0x4c, 0x7a, 0xd5, 0xae, 0xbb, 0x66, 0x5c, 0xe8, 0xec, 0x9e, 0x6b, 0xf4, 0xba, 0xc8, 0x05,
-	0xab, 0x8d, 0xac, 0xf7, 0x08, 0xf9, 0x23, 0x62, 0xd2, 0x55, 0xd1, 0xff, 0xb8, 0xba, 0x95, 0x12,
-	0xbc, 0xe7, 0xaf, 0xd7, 0x89, 0x63, 0xd2, 0x17, 0xad, 0xe8, 0xea, 0xb1, 0x29, 0xca, 0x23, 0xc7,
-	0xb4, 0xed, 0xe4, 0xcd, 0xc4, 0x87, 0xfe, 0xff, 0xcd, 0xed, 0xf5, 0x32, 0x6c, 0x98, 0xa7, 0x0e,
-	0xe2, 0x67, 0x55, 0xbd, 0x3c, 0x0c, 0xbb, 0xb7, 0xcb, 0x32, 0xfd, 0xfe, 0x37, 0x00, 0x00, 0xff,
-	0xff, 0x2f, 0xf3, 0xbc, 0x78, 0x5b, 0x01, 0x00, 0x00,
+func init() { proto.RegisterFile("google/api/endpoint.proto", fileDescriptor7) }
+
+var fileDescriptor7 = []byte{
+	// 241 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0xbf, 0x4e, 0xc3, 0x30,
+	0x10, 0xc6, 0xe5, 0x36, 0x40, 0x62, 0x09, 0x06, 0x4f, 0xa6, 0x02, 0x29, 0x62, 0xca, 0x94, 0x0c,
+	0x8c, 0x4c, 0x14, 0x55, 0x88, 0x2d, 0xca, 0xc8, 0x82, 0x8e, 0x70, 0xb5, 0x2c, 0xb9, 0x77, 0x96,
+	0x6d, 0xe0, 0x11, 0x78, 0x0f, 0x9e, 0x14, 0xc5, 0x69, 0x81, 0x6e, 0xf7, 0xfd, 0x39, 0xe9, 0xf7,
+	0xc9, 0x4b, 0xc3, 0x6c, 0x1c, 0x76, 0xe0, 0x6d, 0x87, 0xf4, 0xe6, 0xd9, 0x52, 0x6a, 0x7d, 0xe0,
+	0xc4, 0x4a, 0xce, 0x51, 0x0b, 0xde, 0xae, 0xae, 0xfe, 0xd5, 0x80, 0x88, 0x13, 0x24, 0xcb, 0x14,
+	0xe7, 0xe6, 0xcd, 0x97, 0x90, 0xe5, 0x66, 0xff, 0xac, 0x94, 0x2c, 0x08, 0x76, 0xa8, 0x45, 0x2d,
+	0x9a, 0x6a, 0xc8, 0xb7, 0xd2, 0xf2, 0x0c, 0x9c, 0x85, 0x88, 0x51, 0x2f, 0xea, 0x65, 0x53, 0x0d,
+	0x07, 0x39, 0xb5, 0xc1, 0xdb, 0xa8, 0x97, 0xd9, 0xce, 0xb7, 0x5a, 0xc9, 0x72, 0x8b, 0x90, 0xde,
+	0x03, 0x46, 0x5d, 0x64, 0xff, 0x57, 0xab, 0x6b, 0x29, 0xc1, 0x39, 0xfe, 0x7c, 0x19, 0x39, 0x44,
+	0x7d, 0x52, 0x8b, 0xa6, 0x1c, 0xaa, 0xec, 0x3c, 0x70, 0x88, 0x6b, 0x96, 0x17, 0x23, 0xef, 0xda,
+	0x3f, 0xf2, 0xf5, 0xf9, 0x01, 0xac, 0x9f, 0x50, 0x7b, 0xf1, 0xbc, 0xd9, 0x87, 0x86, 0x1d, 0x90,
+	0x69, 0x39, 0x98, 0xce, 0x20, 0xe5, 0x21, 0xdd, 0x1c, 0x4d, 0x10, 0x79, 0x69, 0xc4, 0xf0, 0x61,
+	0x47, 0x1c, 0x99, 0xb6, 0xd6, 0xdc, 0x1d, 0xa9, 0xef, 0x45, 0xf1, 0x78, 0xdf, 0x3f, 0xbd, 0x9e,
+	0xe6, 0xc7, 0xdb, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfb, 0x43, 0xb9, 0x21, 0x48, 0x01, 0x00,
+	0x00,
 }
diff --git a/googleapis/api/serviceconfig/endpoint.proto b/googleapis/api/serviceconfig/endpoint.proto
deleted file mode 100644
index 05da2f89fb56299659d76addeb7fd7209907ed2b..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/endpoint.proto
+++ /dev/null
@@ -1,89 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "EndpointProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// `Endpoint` describes a network endpoint that serves a set of APIs.
-// A service may expose any number of endpoints, and all endpoints share the
-// same service configuration, such as quota configuration and monitoring
-// configuration.
-//
-// Example service configuration:
-//
-//     name: library-example.googleapis.com
-//     endpoints:
-//       # Below entry makes 'google.example.library.v1.Library'
-//       # API be served from endpoint address library-example.googleapis.com.
-//       # It also allows HTTP OPTIONS calls to be passed to the backend, for
-//       # it to decide whether the subsequent cross-origin request is
-//       # allowed to proceed.
-//     - name: library-example.googleapis.com
-//       apis: google.example.library.v1.Library
-//       allow_cors: true
-//       # Below entry makes 'google.example.library.v1.Library'
-//       # API be served from endpoint address
-//       # google.example.library-example.v1.LibraryManager.
-//     - name: library-manager.googleapis.com
-//       apis: google.example.library.v1.LibraryManager
-//       # BNS address for a borg job. Can specify a task by appending
-//       # "/taskId" (e.g. "/0") to the job spec.
-//
-// Example OpenAPI extension for endpoint with allow_cors set to true:
-//
-//     {
-//       "swagger": "2.0",
-//       "info": {
-//         "description": "A simple..."
-//       },
-//       "host": "MY_PROJECT_ID.appspot.com",
-//       "x-google-endpoints": [{
-//         "name": "MY_PROJECT_ID.appspot.com",
-//         "allow_cors": "true"
-//       }]
-//     }
-message Endpoint {
-  // The canonical name of this endpoint.
-  string name = 1;
-
-  // DEPRECATED: This field is no longer supported. Instead of using aliases,
-  // please specify multiple [google.api.Endpoint][google.api.Endpoint] for each of the intented
-  // alias.
-  //
-  // Additional names that this endpoint will be hosted on.
-  repeated string aliases = 2;
-
-  // The list of APIs served by this endpoint.
-  repeated string apis = 3;
-
-  // The list of features enabled on this endpoint.
-  repeated string features = 4;
-
-  // Allowing
-  // [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
-  // cross-domain traffic, would allow the backends served from this endpoint to
-  // receive and respond to HTTP OPTIONS requests. The response will be used by
-  // the browser to determine whether the subsequent cross-origin request is
-  // allowed to proceed.
-  bool allow_cors = 5;
-}
diff --git a/googleapis/api/serviceconfig/http.proto b/googleapis/api/serviceconfig/http.proto
deleted file mode 100644
index ad9406d29108216e94430250062eeca6698939c2..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/http.proto
+++ /dev/null
@@ -1,285 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "HttpProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// Defines the HTTP configuration for a service. It contains a list of
-// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
-// to one or more HTTP REST API methods.
-message Http {
-  // A list of HTTP configuration rules that apply to individual API methods.
-  //
-  // **NOTE:** All service configuration rules follow "last one wins" order.
-  repeated HttpRule rules = 1;
-}
-
-// `HttpRule` defines the mapping of an RPC method to one or more HTTP
-// REST APIs.  The mapping determines what portions of the request
-// message are populated from the path, query parameters, or body of
-// the HTTP request.  The mapping is typically specified as an
-// `google.api.http` annotation, see "google/api/annotations.proto"
-// for details.
-//
-// The mapping consists of a field specifying the path template and
-// method kind.  The path template can refer to fields in the request
-// message, as in the example below which describes a REST GET
-// operation on a resource collection of messages:
-//
-// ```proto
-// service Messaging {
-//   rpc GetMessage(GetMessageRequest) returns (Message) {
-//     option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
-//   }
-// }
-// message GetMessageRequest {
-//   message SubMessage {
-//     string subfield = 1;
-//   }
-//   string message_id = 1; // mapped to the URL
-//   SubMessage sub = 2;    // `sub.subfield` is url-mapped
-// }
-// message Message {
-//   string text = 1; // content of the resource
-// }
-// ```
-//
-// This definition enables an automatic, bidrectional mapping of HTTP
-// JSON to RPC. Example:
-//
-// HTTP | RPC
-// -----|-----
-// `GET /v1/messages/123456/foo`  | `GetMessage(message_id: "123456" sub: SubMessage(subfield: "foo"))`
-//
-// In general, not only fields but also field paths can be referenced
-// from a path pattern. Fields mapped to the path pattern cannot be
-// repeated and must have a primitive (non-message) type.
-//
-// Any fields in the request message which are not bound by the path
-// pattern automatically become (optional) HTTP query
-// parameters. Assume the following definition of the request message:
-//
-// ```proto
-// message GetMessageRequest {
-//   message SubMessage {
-//     string subfield = 1;
-//   }
-//   string message_id = 1; // mapped to the URL
-//   int64 revision = 2;    // becomes a parameter
-//   SubMessage sub = 3;    // `sub.subfield` becomes a parameter
-// }
-// ```
-//
-// This enables a HTTP JSON to RPC mapping as below:
-//
-// HTTP | RPC
-// -----|-----
-// `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: "foo"))`
-//
-// Note that fields which are mapped to HTTP parameters must have a
-// primitive type or a repeated primitive type. Message types are not
-// allowed. In the case of a repeated type, the parameter can be
-// repeated in the URL, as in `...?param=A&param=B`.
-//
-// For HTTP method kinds which allow a request body, the `body` field
-// specifies the mapping. Consider a REST update method on the
-// message resource collection:
-//
-// ```proto
-// service Messaging {
-//   rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
-//     option (google.api.http) = {
-//       put: "/v1/messages/{message_id}"
-//       body: "message"
-//     };
-//   }
-// }
-// message UpdateMessageRequest {
-//   string message_id = 1; // mapped to the URL
-//   Message message = 2;   // mapped to the body
-// }
-// ```
-//
-// The following HTTP JSON to RPC mapping is enabled, where the
-// representation of the JSON in the request body is determined by
-// protos JSON encoding:
-//
-// HTTP | RPC
-// -----|-----
-// `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" message { text: "Hi!" })`
-//
-// The special name `*` can be used in the body mapping to define that
-// every field not bound by the path template should be mapped to the
-// request body.  This enables the following alternative definition of
-// the update method:
-//
-// ```proto
-// service Messaging {
-//   rpc UpdateMessage(Message) returns (Message) {
-//     option (google.api.http) = {
-//       put: "/v1/messages/{message_id}"
-//       body: "*"
-//     };
-//   }
-// }
-// message Message {
-//   string message_id = 1;
-//   string text = 2;
-// }
-// ```
-//
-// The following HTTP JSON to RPC mapping is enabled:
-//
-// HTTP | RPC
-// -----|-----
-// `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" text: "Hi!")`
-//
-// Note that when using `*` in the body mapping, it is not possible to
-// have HTTP parameters, as all fields not bound by the path end in
-// the body. This makes this option more rarely used in practice of
-// defining REST APIs. The common usage of `*` is in custom methods
-// which don't use the URL at all for transferring data.
-//
-// It is possible to define multiple HTTP methods for one RPC by using
-// the `additional_bindings` option. Example:
-//
-// ```proto
-// service Messaging {
-//   rpc GetMessage(GetMessageRequest) returns (Message) {
-//     option (google.api.http) = {
-//       get: "/v1/messages/{message_id}"
-//       additional_bindings {
-//         get: "/v1/users/{user_id}/messages/{message_id}"
-//       }
-//     };
-//   }
-// }
-// message GetMessageRequest {
-//   string message_id = 1;
-//   string user_id = 2;
-// }
-// ```
-//
-// This enables the following two alternative HTTP JSON to RPC
-// mappings:
-//
-// HTTP | RPC
-// -----|-----
-// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")`
-// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: "123456")`
-//
-// # Rules for HTTP mapping
-//
-// The rules for mapping HTTP path, query parameters, and body fields
-// to the request message are as follows:
-//
-// 1. The `body` field specifies either `*` or a field path, or is
-//    omitted. If omitted, it assumes there is no HTTP body.
-// 2. Leaf fields (recursive expansion of nested messages in the
-//    request) can be classified into three types:
-//     (a) Matched in the URL template.
-//     (b) Covered by body (if body is `*`, everything except (a) fields;
-//         else everything under the body field)
-//     (c) All other fields.
-// 3. URL query parameters found in the HTTP request are mapped to (c) fields.
-// 4. Any body sent with an HTTP request can contain only (b) fields.
-//
-// The syntax of the path template is as follows:
-//
-//     Template = "/" Segments [ Verb ] ;
-//     Segments = Segment { "/" Segment } ;
-//     Segment  = "*" | "**" | LITERAL | Variable ;
-//     Variable = "{" FieldPath [ "=" Segments ] "}" ;
-//     FieldPath = IDENT { "." IDENT } ;
-//     Verb     = ":" LITERAL ;
-//
-// The syntax `*` matches a single path segment. It follows the semantics of
-// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
-// Expansion.
-//
-// The syntax `**` matches zero or more path segments. It follows the semantics
-// of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.3 Reserved
-// Expansion.
-//
-// The syntax `LITERAL` matches literal text in the URL path.
-//
-// The syntax `Variable` matches the entire path as specified by its template;
-// this nested template must not contain further variables. If a variable
-// matches a single path segment, its template may be omitted, e.g. `{var}`
-// is equivalent to `{var=*}`.
-//
-// NOTE: the field paths in variables and in the `body` must not refer to
-// repeated fields or map fields.
-//
-// Use CustomHttpPattern to specify any HTTP method that is not included in the
-// `pattern` field, such as HEAD, or "*" to leave the HTTP method unspecified for
-// a given URL path rule. The wild-card rule is useful for services that provide
-// content to Web (HTML) clients.
-message HttpRule {
-  // Selects methods to which this rule applies.
-  //
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  string selector = 1;
-
-  // Determines the URL pattern is matched by this rules. This pattern can be
-  // used with any of the {get|put|post|delete|patch} methods. A custom method
-  // can be defined using the 'custom' field.
-  oneof pattern {
-    // Used for listing and getting information about resources.
-    string get = 2;
-
-    // Used for updating a resource.
-    string put = 3;
-
-    // Used for creating a resource.
-    string post = 4;
-
-    // Used for deleting a resource.
-    string delete = 5;
-
-    // Used for updating a resource.
-    string patch = 6;
-
-    // Custom pattern is used for defining custom verbs.
-    CustomHttpPattern custom = 8;
-  }
-
-  // The name of the request field whose value is mapped to the HTTP body, or
-  // `*` for mapping all fields not captured by the path pattern to the HTTP
-  // body. NOTE: the referred field must not be a repeated field and must be
-  // present at the top-level of response message type.
-  string body = 7;
-
-  // Additional HTTP bindings for the selector. Nested bindings must
-  // not contain an `additional_bindings` field themselves (that is,
-  // the nesting may only be one level deep).
-  repeated HttpRule additional_bindings = 11;
-}
-
-// A custom pattern is used for defining custom HTTP verb.
-message CustomHttpPattern {
-  // The name of this custom HTTP verb.
-  string kind = 1;
-
-  // The path matched by this custom verb.
-  string path = 2;
-}
diff --git a/googleapis/api/serviceconfig/log.pb.go b/googleapis/api/serviceconfig/log.pb.go
index 194294f1ee37c8a92ee01ecd1e69bb5c31f83308..c1a959dc01b1c4fba0b1de2ec0b6be3d6421281c 100644
--- a/googleapis/api/serviceconfig/log.pb.go
+++ b/googleapis/api/serviceconfig/log.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/log.proto
+// source: google/api/log.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import google_api1 "google.golang.org/genproto/googleapis/api/label"
+import google_api2 "google.golang.org/genproto/googleapis/api/label"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -31,7 +31,7 @@ type LogDescriptor struct {
 	// The set of labels that are available to describe a specific log entry.
 	// Runtime requests that contain labels not specified here are
 	// considered invalid.
-	Labels []*google_api1.LabelDescriptor `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty"`
+	Labels []*google_api2.LabelDescriptor `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty"`
 	// A human-readable description of this log. This information appears in
 	// the documentation and can contain details.
 	Description string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"`
@@ -43,38 +43,57 @@ type LogDescriptor struct {
 func (m *LogDescriptor) Reset()                    { *m = LogDescriptor{} }
 func (m *LogDescriptor) String() string            { return proto.CompactTextString(m) }
 func (*LogDescriptor) ProtoMessage()               {}
-func (*LogDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{0} }
+func (*LogDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{0} }
 
-func (m *LogDescriptor) GetLabels() []*google_api1.LabelDescriptor {
+func (m *LogDescriptor) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *LogDescriptor) GetLabels() []*google_api2.LabelDescriptor {
 	if m != nil {
 		return m.Labels
 	}
 	return nil
 }
 
-func init() {
-	proto.RegisterType((*LogDescriptor)(nil), "google.api.LogDescriptor")
+func (m *LogDescriptor) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *LogDescriptor) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/log.proto", fileDescriptor11)
+	proto.RegisterType((*LogDescriptor)(nil), "google.api.LogDescriptor")
 }
 
-var fileDescriptor11 = []byte{
-	// 234 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x8f, 0x41, 0x4b, 0x03, 0x31,
-	0x10, 0x85, 0xd9, 0x76, 0x29, 0x9a, 0xaa, 0x87, 0x9c, 0x16, 0xbd, 0xac, 0x7a, 0xe9, 0x29, 0x01,
-	0x7b, 0xf4, 0xd4, 0x22, 0x88, 0xb0, 0xc8, 0xd2, 0x3f, 0x20, 0xd3, 0xed, 0x38, 0x0c, 0x64, 0x33,
-	0x21, 0x29, 0x82, 0x3f, 0xc6, 0x8b, 0xbf, 0x54, 0x9a, 0x5d, 0xe8, 0x1e, 0xbd, 0x84, 0xf0, 0xde,
-	0x9b, 0xef, 0xcd, 0xa8, 0x0d, 0x89, 0x90, 0x43, 0x43, 0xe2, 0xc0, 0x93, 0x91, 0x48, 0x96, 0xd0,
-	0x87, 0x28, 0x47, 0xb1, 0x83, 0x05, 0x81, 0x93, 0x85, 0xc0, 0x36, 0x61, 0xfc, 0xe2, 0x0e, 0x3b,
-	0xf1, 0x9f, 0x4c, 0xd6, 0x09, 0x99, 0x1c, 0xd3, 0x6a, 0x44, 0x40, 0xe0, 0xdb, 0xe7, 0xff, 0xe3,
-	0x1c, 0xec, 0xd1, 0x0d, 0xef, 0x00, 0x7a, 0xf8, 0x29, 0xd4, 0x75, 0x23, 0xf4, 0x82, 0xa9, 0x8b,
-	0x1c, 0x8e, 0x12, 0xb5, 0x56, 0xa5, 0x87, 0x1e, 0xab, 0xa2, 0x2e, 0x56, 0x97, 0xbb, 0xfc, 0xd7,
-	0x6b, 0xb5, 0xc8, 0x43, 0xa9, 0x9a, 0xd5, 0xf3, 0xd5, 0xf2, 0xe9, 0xce, 0x9c, 0xfb, 0x4d, 0x73,
-	0x72, 0xce, 0x80, 0xdd, 0x18, 0xd5, 0xb5, 0x5a, 0x1e, 0x46, 0x95, 0xc5, 0x57, 0xf3, 0xcc, 0x9b,
-	0x4a, 0xfa, 0x5e, 0x5d, 0x1d, 0x38, 0x05, 0x07, 0xdf, 0x1f, 0xb9, 0xb2, 0x1c, 0x23, 0x83, 0xf6,
-	0x0e, 0x3d, 0x6e, 0x1f, 0xd5, 0x4d, 0x27, 0xfd, 0xa4, 0x6e, 0x7b, 0xd1, 0x08, 0xb5, 0xa7, 0xdd,
-	0xdb, 0xe2, 0x77, 0x56, 0xbe, 0x6e, 0xda, 0xb7, 0xfd, 0x22, 0xdf, 0xb2, 0xfe, 0x0b, 0x00, 0x00,
-	0xff, 0xff, 0x32, 0x96, 0x08, 0x72, 0x59, 0x01, 0x00, 0x00,
+func init() { proto.RegisterFile("google/api/log.proto", fileDescriptor8) }
+
+var fileDescriptor8 = []byte{
+	// 238 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0xc1, 0x4a, 0xc3, 0x40,
+	0x10, 0x86, 0x49, 0x1b, 0x8a, 0x6e, 0xd5, 0xc3, 0x22, 0x12, 0xf4, 0x12, 0x3d, 0xf5, 0xb4, 0x01,
+	0x7b, 0xf4, 0x64, 0x51, 0x44, 0x08, 0x12, 0x7a, 0xf4, 0x22, 0xd3, 0x74, 0x1c, 0x46, 0x36, 0x3b,
+	0xcb, 0x6e, 0x11, 0x7c, 0x18, 0x2f, 0x3e, 0xa9, 0x74, 0x13, 0x68, 0x7a, 0xdb, 0xfd, 0xe6, 0x9b,
+	0x7f, 0x66, 0xd4, 0x25, 0x89, 0x90, 0xc5, 0x0a, 0x3c, 0x57, 0x56, 0xc8, 0xf8, 0x20, 0x3b, 0xd1,
+	0xaa, 0xa7, 0x06, 0x3c, 0x5f, 0x5f, 0x8d, 0x0d, 0xd8, 0xa0, 0xed, 0x9d, 0xbb, 0xdf, 0x4c, 0x9d,
+	0xd7, 0x42, 0x4f, 0x18, 0xdb, 0xc0, 0x7e, 0x27, 0x41, 0x6b, 0x95, 0x3b, 0xe8, 0xb0, 0xc8, 0xca,
+	0x6c, 0x71, 0xba, 0x4e, 0x6f, 0xbd, 0x54, 0xb3, 0xd4, 0x14, 0x8b, 0x49, 0x39, 0x5d, 0xcc, 0xef,
+	0x6f, 0xcc, 0x21, 0xda, 0xd4, 0xfb, 0xca, 0x21, 0x60, 0x3d, 0xa8, 0xba, 0x54, 0xf3, 0xed, 0x40,
+	0x59, 0x5c, 0x31, 0x4d, 0x79, 0x63, 0xa4, 0x6f, 0xd5, 0xd9, 0x96, 0xa3, 0xb7, 0xf0, 0xf3, 0x91,
+	0x46, 0xe6, 0x83, 0xd2, 0xb3, 0x37, 0xe8, 0x70, 0xf5, 0xa5, 0x2e, 0x5a, 0xe9, 0x46, 0xe3, 0x56,
+	0x27, 0xb5, 0x50, 0xb3, 0xdf, 0xbd, 0xc9, 0xde, 0x9f, 0x07, 0x4e, 0x62, 0xc1, 0x91, 0x91, 0x40,
+	0x15, 0xa1, 0x4b, 0x97, 0x55, 0x7d, 0x09, 0x3c, 0xc7, 0x74, 0x74, 0xc4, 0xf0, 0xcd, 0x2d, 0xb6,
+	0xe2, 0x3e, 0x99, 0x1e, 0x8e, 0x7e, 0x7f, 0x93, 0xfc, 0xe5, 0xb1, 0x79, 0xdd, 0xcc, 0x52, 0xe3,
+	0xf2, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x25, 0x6c, 0x32, 0xff, 0x4e, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/log.proto b/googleapis/api/serviceconfig/log.proto
deleted file mode 100644
index e258b8a0945450fef14fb09539c5c389a0e19253..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/log.proto
+++ /dev/null
@@ -1,54 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-import "google.golang.org/genproto/googleapis/api/label/label.proto"; // from google/api/label.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "LogProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// A description of a log type. Example in YAML format:
-//
-//     - name: library.googleapis.com/activity_history
-//       description: The history of borrowing and returning library items.
-//       display_name: Activity
-//       labels:
-//       - key: /customer_id
-//         description: Identifier of a library customer
-message LogDescriptor {
-  // The name of the log. It must be less than 512 characters long and can
-  // include the following characters: upper- and lower-case alphanumeric
-  // characters [A-Za-z0-9], and punctuation characters including
-  // slash, underscore, hyphen, period [/_-.].
-  string name = 1;
-
-  // The set of labels that are available to describe a specific log entry.
-  // Runtime requests that contain labels not specified here are
-  // considered invalid.
-  repeated LabelDescriptor labels = 2;
-
-  // A human-readable description of this log. This information appears in
-  // the documentation and can contain details.
-  string description = 3;
-
-  // The human-readable name for this log. This information appears on
-  // the user interface and should be concise.
-  string display_name = 4;
-}
diff --git a/googleapis/api/serviceconfig/logging.pb.go b/googleapis/api/serviceconfig/logging.pb.go
index f3c9088e7e364134ffca60efa810ae23224c53f8..0eb15b24b618f57c04fa907aeb1c33dfab6167b4 100644
--- a/googleapis/api/serviceconfig/logging.pb.go
+++ b/googleapis/api/serviceconfig/logging.pb.go
@@ -1,12 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/logging.proto
+// source: google/api/logging.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -16,11 +17,9 @@ var _ = math.Inf
 // Logging configuration of the service.
 //
 // The following example shows how to configure logs to be sent to the
-// producer and consumer projects. In the example,
-// the `library.googleapis.com/activity_history` log is
-// sent to both the producer and consumer projects, whereas
-// the `library.googleapis.com/purchase_history` log is only sent to the
-// producer project:
+// producer and consumer projects. In the example, the `activity_history`
+// log is sent to both the producer and consumer projects, whereas the
+// `purchase_history` log is only sent to the producer project.
 //
 //     monitored_resources:
 //     - type: library.googleapis.com/branch
@@ -30,20 +29,20 @@ var _ = math.Inf
 //       - key: /name
 //         description: The name of the branch.
 //     logs:
-//     - name: library.googleapis.com/activity_history
+//     - name: activity_history
 //       labels:
 //       - key: /customer_id
-//     - name: library.googleapis.com/purchase_history
+//     - name: purchase_history
 //     logging:
 //       producer_destinations:
 //       - monitored_resource: library.googleapis.com/branch
 //         logs:
-//         - library.googleapis.com/activity_history
-//         - library.googleapis.com/purchase_history
+//         - activity_history
+//         - purchase_history
 //       consumer_destinations:
 //       - monitored_resource: library.googleapis.com/branch
 //         logs:
-//         - library.googleapis.com/activity_history
+//         - activity_history
 type Logging struct {
 	// Logging configurations for sending logs to the producer project.
 	// There can be multiple producer destinations, each one must have a
@@ -60,7 +59,7 @@ type Logging struct {
 func (m *Logging) Reset()                    { *m = Logging{} }
 func (m *Logging) String() string            { return proto.CompactTextString(m) }
 func (*Logging) ProtoMessage()               {}
-func (*Logging) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{0} }
+func (*Logging) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{0} }
 
 func (m *Logging) GetProducerDestinations() []*Logging_LoggingDestination {
 	if m != nil {
@@ -79,45 +78,59 @@ func (m *Logging) GetConsumerDestinations() []*Logging_LoggingDestination {
 // Configuration of a specific logging destination (the producer project
 // or the consumer project).
 type Logging_LoggingDestination struct {
-	// The monitored resource type. The type must be defined in
+	// The monitored resource type. The type must be defined in the
 	// [Service.monitored_resources][google.api.Service.monitored_resources] section.
 	MonitoredResource string `protobuf:"bytes,3,opt,name=monitored_resource,json=monitoredResource" json:"monitored_resource,omitempty"`
 	// Names of the logs to be sent to this destination. Each name must
-	// be defined in the [Service.logs][google.api.Service.logs] section.
+	// be defined in the [Service.logs][google.api.Service.logs] section. If the log name is
+	// not a domain scoped name, it will be automatically prefixed with
+	// the service name followed by "/".
 	Logs []string `protobuf:"bytes,1,rep,name=logs" json:"logs,omitempty"`
 }
 
 func (m *Logging_LoggingDestination) Reset()                    { *m = Logging_LoggingDestination{} }
 func (m *Logging_LoggingDestination) String() string            { return proto.CompactTextString(m) }
 func (*Logging_LoggingDestination) ProtoMessage()               {}
-func (*Logging_LoggingDestination) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{0, 0} }
+func (*Logging_LoggingDestination) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{0, 0} }
+
+func (m *Logging_LoggingDestination) GetMonitoredResource() string {
+	if m != nil {
+		return m.MonitoredResource
+	}
+	return ""
+}
+
+func (m *Logging_LoggingDestination) GetLogs() []string {
+	if m != nil {
+		return m.Logs
+	}
+	return nil
+}
 
 func init() {
 	proto.RegisterType((*Logging)(nil), "google.api.Logging")
 	proto.RegisterType((*Logging_LoggingDestination)(nil), "google.api.Logging.LoggingDestination")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/logging.proto", fileDescriptor10)
-}
+func init() { proto.RegisterFile("google/api/logging.proto", fileDescriptor9) }
 
-var fileDescriptor10 = []byte{
-	// 263 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x90, 0x4f, 0x4b, 0xc3, 0x30,
-	0x18, 0x87, 0x69, 0x37, 0x94, 0x45, 0x11, 0x0c, 0x0a, 0x63, 0xa7, 0xe1, 0x41, 0x77, 0x31, 0x01,
-	0xfd, 0x04, 0x0e, 0x45, 0x06, 0x1e, 0x4a, 0x2f, 0x1e, 0x3c, 0x8c, 0x98, 0xc6, 0x97, 0x40, 0xfb,
-	0xbe, 0x21, 0x49, 0xfd, 0x34, 0x9e, 0xfc, 0xa4, 0xb2, 0xa6, 0x75, 0x45, 0x4f, 0x7a, 0x4a, 0xc8,
-	0xef, 0xc9, 0xf3, 0xfe, 0x61, 0x0f, 0x40, 0x04, 0xb5, 0x11, 0x40, 0xb5, 0x42, 0x10, 0xe4, 0x41,
-	0x82, 0x41, 0xe7, 0x29, 0x92, 0x4c, 0x91, 0x72, 0x36, 0x48, 0xe5, 0xac, 0x0c, 0xc6, 0xbf, 0x5b,
-	0x6d, 0x34, 0xe1, 0x9b, 0x05, 0x59, 0x13, 0x80, 0x45, 0x10, 0x1d, 0xca, 0x59, 0xaf, 0x51, 0xce,
-	0x2e, 0x36, 0xff, 0x55, 0x2a, 0x44, 0x8a, 0x2a, 0x5a, 0xc2, 0x90, 0xb4, 0x17, 0x1f, 0x39, 0x3b,
-	0x7c, 0x4a, 0x85, 0xf8, 0x0b, 0x3b, 0x77, 0x9e, 0xaa, 0x56, 0x1b, 0xbf, 0xad, 0x4c, 0x88, 0x16,
-	0x13, 0x3a, 0xcf, 0x96, 0x93, 0xd5, 0xd1, 0xcd, 0xa5, 0xd8, 0xb7, 0x20, 0xfa, 0x3f, 0xc3, 0x79,
-	0xbf, 0xc7, 0xcb, 0xb3, 0x41, 0x32, 0x7a, 0x0c, 0x3b, 0xb9, 0x26, 0x0c, 0x6d, 0xf3, 0x53, 0x9e,
-	0xff, 0x4d, 0x3e, 0x48, 0xc6, 0xf2, 0xc5, 0x33, 0xe3, 0xbf, 0x59, 0x7e, 0xcd, 0x78, 0x43, 0x68,
-	0x23, 0x79, 0x53, 0x6d, 0xbd, 0x09, 0xd4, 0x7a, 0x6d, 0xe6, 0x93, 0x65, 0xb6, 0x9a, 0x95, 0xa7,
-	0xdf, 0x49, 0xd9, 0x07, 0x9c, 0xb3, 0x69, 0x4d, 0x90, 0xa6, 0x9d, 0x95, 0xdd, 0x7d, 0x7d, 0xc5,
-	0x4e, 0x34, 0x35, 0xa3, 0xde, 0xd6, 0xc7, 0x7d, 0xa1, 0x62, 0xb7, 0xbe, 0x22, 0xfb, 0xcc, 0xa7,
-	0x8f, 0x77, 0xc5, 0xe6, 0xf5, 0xa0, 0x5b, 0xe7, 0xed, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x48,
-	0x22, 0x03, 0x10, 0xee, 0x01, 0x00, 0x00,
+var fileDescriptor9 = []byte{
+	// 270 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x90, 0x4f, 0x4b, 0xc4, 0x30,
+	0x10, 0xc5, 0x69, 0x77, 0x51, 0x36, 0x8a, 0x60, 0x50, 0x28, 0x8b, 0x87, 0xc5, 0x83, 0xec, 0xc5,
+	0x14, 0xf4, 0xe8, 0xc9, 0x45, 0x11, 0xc1, 0x43, 0xe9, 0x45, 0xd0, 0xc3, 0x12, 0xd3, 0x38, 0x04,
+	0xda, 0x99, 0x90, 0xa4, 0x7e, 0x1a, 0x4f, 0x7e, 0x52, 0xd9, 0xa6, 0x75, 0xab, 0x9e, 0xf6, 0x94,
+	0x3f, 0xef, 0xbd, 0x5f, 0x32, 0x8f, 0x65, 0x40, 0x04, 0xb5, 0xce, 0xa5, 0x35, 0x79, 0x4d, 0x00,
+	0x06, 0x41, 0x58, 0x47, 0x81, 0x38, 0x8b, 0x8a, 0x90, 0xd6, 0xcc, 0xcf, 0x46, 0x2e, 0x89, 0x48,
+	0x41, 0x06, 0x43, 0xe8, 0xa3, 0xf3, 0xfc, 0x33, 0x65, 0xfb, 0x4f, 0x31, 0xcb, 0x5f, 0xd9, 0xa9,
+	0x75, 0x54, 0xb5, 0x4a, 0xbb, 0x75, 0xa5, 0x7d, 0x30, 0x18, 0xad, 0x59, 0xb2, 0x98, 0x2c, 0x0f,
+	0xae, 0x2e, 0xc4, 0x96, 0x2a, 0xfa, 0xcc, 0xb0, 0xde, 0x6d, 0xed, 0xe5, 0xc9, 0x00, 0x19, 0x5d,
+	0xfa, 0x0d, 0x5c, 0x11, 0xfa, 0xb6, 0xf9, 0x0b, 0x4f, 0x77, 0x83, 0x0f, 0x90, 0x31, 0x7c, 0xfe,
+	0xcc, 0xf8, 0x7f, 0x2f, 0xbf, 0x64, 0xbc, 0x21, 0x34, 0x81, 0x9c, 0xae, 0xd6, 0x4e, 0x7b, 0x6a,
+	0x9d, 0xd2, 0xd9, 0x64, 0x91, 0x2c, 0x67, 0xe5, 0xf1, 0x8f, 0x52, 0xf6, 0x02, 0xe7, 0x6c, 0x5a,
+	0x13, 0xc4, 0x69, 0x67, 0x65, 0xb7, 0x5f, 0x21, 0x3b, 0x52, 0xd4, 0x8c, 0xfe, 0xb6, 0x3a, 0xec,
+	0x1f, 0x2a, 0x36, 0xf5, 0x15, 0xc9, 0xcb, 0x7d, 0xaf, 0x01, 0xd5, 0x12, 0x41, 0x90, 0x83, 0x1c,
+	0x34, 0x76, 0xe5, 0xe6, 0x51, 0x92, 0xd6, 0xf8, 0xae, 0x7d, 0xaf, 0xdd, 0x87, 0x51, 0x5a, 0x11,
+	0xbe, 0x1b, 0xb8, 0xf9, 0x75, 0xfa, 0x4a, 0xa7, 0x0f, 0xb7, 0xc5, 0xe3, 0xdb, 0x5e, 0x17, 0xbc,
+	0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x73, 0x4f, 0x86, 0x6e, 0xdb, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/logging.proto b/googleapis/api/serviceconfig/logging.proto
deleted file mode 100644
index d37ddbb66835ca79eeb797714bc2696e817e6e2f..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/logging.proto
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "LoggingProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// Logging configuration of the service.
-//
-// The following example shows how to configure logs to be sent to the
-// producer and consumer projects. In the example,
-// the `library.googleapis.com/activity_history` log is
-// sent to both the producer and consumer projects, whereas
-// the `library.googleapis.com/purchase_history` log is only sent to the
-// producer project:
-//
-//     monitored_resources:
-//     - type: library.googleapis.com/branch
-//       labels:
-//       - key: /city
-//         description: The city where the library branch is located in.
-//       - key: /name
-//         description: The name of the branch.
-//     logs:
-//     - name: library.googleapis.com/activity_history
-//       labels:
-//       - key: /customer_id
-//     - name: library.googleapis.com/purchase_history
-//     logging:
-//       producer_destinations:
-//       - monitored_resource: library.googleapis.com/branch
-//         logs:
-//         - library.googleapis.com/activity_history
-//         - library.googleapis.com/purchase_history
-//       consumer_destinations:
-//       - monitored_resource: library.googleapis.com/branch
-//         logs:
-//         - library.googleapis.com/activity_history
-message Logging {
-  // Configuration of a specific logging destination (the producer project
-  // or the consumer project).
-  message LoggingDestination {
-    // The monitored resource type. The type must be defined in
-    // [Service.monitored_resources][google.api.Service.monitored_resources] section.
-    string monitored_resource = 3;
-
-    // Names of the logs to be sent to this destination. Each name must
-    // be defined in the [Service.logs][google.api.Service.logs] section.
-    repeated string logs = 1;
-  }
-
-  // Logging configurations for sending logs to the producer project.
-  // There can be multiple producer destinations, each one must have a
-  // different monitored resource type. A log can be used in at most
-  // one producer destination.
-  repeated LoggingDestination producer_destinations = 1;
-
-  // Logging configurations for sending logs to the consumer project.
-  // There can be multiple consumer destinations, each one must have a
-  // different monitored resource type. A log can be used in at most
-  // one consumer destination.
-  repeated LoggingDestination consumer_destinations = 2;
-}
diff --git a/googleapis/api/serviceconfig/monitoring.pb.go b/googleapis/api/serviceconfig/monitoring.pb.go
index d8554a62985efbea63974d1e5a0f2661847ffd4b..3dde768fc552596587f72668e28170b21485cbdf 100644
--- a/googleapis/api/serviceconfig/monitoring.pb.go
+++ b/googleapis/api/serviceconfig/monitoring.pb.go
@@ -1,12 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/monitoring.proto
+// source: google/api/monitoring.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -66,7 +67,7 @@ type Monitoring struct {
 func (m *Monitoring) Reset()                    { *m = Monitoring{} }
 func (m *Monitoring) String() string            { return proto.CompactTextString(m) }
 func (*Monitoring) ProtoMessage()               {}
-func (*Monitoring) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{0} }
+func (*Monitoring) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{0} }
 
 func (m *Monitoring) GetProducerDestinations() []*Monitoring_MonitoringDestination {
 	if m != nil {
@@ -97,7 +98,21 @@ func (m *Monitoring_MonitoringDestination) Reset()         { *m = Monitoring_Mon
 func (m *Monitoring_MonitoringDestination) String() string { return proto.CompactTextString(m) }
 func (*Monitoring_MonitoringDestination) ProtoMessage()    {}
 func (*Monitoring_MonitoringDestination) Descriptor() ([]byte, []int) {
-	return fileDescriptor12, []int{0, 0}
+	return fileDescriptor10, []int{0, 0}
+}
+
+func (m *Monitoring_MonitoringDestination) GetMonitoredResource() string {
+	if m != nil {
+		return m.MonitoredResource
+	}
+	return ""
+}
+
+func (m *Monitoring_MonitoringDestination) GetMetrics() []string {
+	if m != nil {
+		return m.Metrics
+	}
+	return nil
 }
 
 func init() {
@@ -105,27 +120,25 @@ func init() {
 	proto.RegisterType((*Monitoring_MonitoringDestination)(nil), "google.api.Monitoring.MonitoringDestination")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/monitoring.proto", fileDescriptor12)
-}
+func init() { proto.RegisterFile("google/api/monitoring.proto", fileDescriptor10) }
 
-var fileDescriptor12 = []byte{
-	// 264 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x90, 0xd1, 0x4a, 0xc3, 0x30,
-	0x14, 0x86, 0x69, 0x15, 0x65, 0x11, 0x14, 0x8b, 0x83, 0xb2, 0xab, 0xe1, 0xd5, 0x10, 0x4d, 0x40,
-	0x9f, 0xc0, 0x21, 0xe8, 0x2e, 0x84, 0xd2, 0x17, 0x98, 0x31, 0x3d, 0x86, 0x03, 0xeb, 0x39, 0x21,
-	0x49, 0x7d, 0x20, 0x9f, 0xc1, 0x07, 0x94, 0xad, 0xed, 0x5a, 0x64, 0x57, 0xbb, 0x6b, 0xf3, 0xff,
-	0xe7, 0xff, 0x7e, 0x7e, 0xf1, 0x66, 0x99, 0xed, 0x06, 0xa4, 0xe5, 0x8d, 0x26, 0x2b, 0xd9, 0x5b,
-	0x65, 0x81, 0x9c, 0xe7, 0xc8, 0xaa, 0x95, 0xb4, 0xc3, 0xa0, 0xb4, 0x43, 0x15, 0xc0, 0x7f, 0xa3,
-	0x01, 0xc3, 0xf4, 0x85, 0x56, 0xd5, 0x4c, 0x18, 0xd9, 0x23, 0x59, 0xb9, 0x73, 0x67, 0xa2, 0x4b,
-	0xd2, 0x0e, 0x67, 0xab, 0x63, 0x53, 0x35, 0x11, 0x47, 0x1d, 0x91, 0x29, 0xb4, 0xb1, 0xb7, 0xbf,
-	0xa9, 0x10, 0xef, 0x7b, 0x56, 0xa6, 0xc5, 0xd4, 0x79, 0xae, 0x1a, 0x03, 0x7e, 0x5d, 0x41, 0x88,
-	0x48, 0xad, 0x3b, 0x4f, 0xe6, 0x27, 0x8b, 0x8b, 0xc7, 0x7b, 0x39, 0xb4, 0x90, 0xc3, 0xd9, 0xe8,
-	0xf3, 0x65, 0x38, 0x2a, 0x6f, 0xfa, 0xa8, 0xd1, 0x63, 0xd8, 0x22, 0x0c, 0x53, 0x68, 0xea, 0xff,
-	0x88, 0xf4, 0x18, 0x44, 0x1f, 0x35, 0x46, 0xcc, 0x3e, 0xc4, 0xf4, 0xa0, 0x3d, 0x7b, 0x10, 0x59,
-	0x37, 0x2c, 0x54, 0x6b, 0x0f, 0x81, 0x1b, 0x6f, 0x20, 0x4f, 0xe6, 0xc9, 0x62, 0x52, 0x5e, 0xef,
-	0x95, 0xb2, 0x13, 0xb2, 0x5c, 0x9c, 0xd7, 0x10, 0x3d, 0x9a, 0xb6, 0xdc, 0xa4, 0xec, 0x7f, 0x97,
-	0x77, 0xe2, 0xd2, 0x70, 0x3d, 0xaa, 0xba, 0xbc, 0x1a, 0x88, 0xc5, 0x76, 0xd9, 0x22, 0xf9, 0x49,
-	0x4f, 0x5f, 0x9f, 0x8b, 0xd5, 0xe7, 0xd9, 0x6e, 0xe9, 0xa7, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff,
-	0x1a, 0x02, 0x76, 0xbb, 0x0c, 0x02, 0x00, 0x00,
+var fileDescriptor10 = []byte{
+	// 271 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x51, 0xcd, 0x4a, 0xc4, 0x30,
+	0x10, 0xa6, 0x55, 0x94, 0x8d, 0xa0, 0x58, 0x5c, 0x28, 0xab, 0x87, 0xc5, 0xd3, 0x1e, 0xb4, 0x05,
+	0x3d, 0x7a, 0x72, 0x51, 0xc4, 0x83, 0x50, 0x7a, 0xf4, 0xb2, 0xc6, 0x74, 0x0c, 0x03, 0xdb, 0x99,
+	0x9a, 0xa4, 0x3e, 0x90, 0xcf, 0xe0, 0x03, 0xca, 0x36, 0xed, 0x36, 0x8a, 0x27, 0x6f, 0x99, 0x7c,
+	0x7f, 0xc3, 0x37, 0xe2, 0x54, 0x33, 0xeb, 0x35, 0xe4, 0xb2, 0xc1, 0xbc, 0x66, 0x42, 0xc7, 0x06,
+	0x49, 0x67, 0x8d, 0x61, 0xc7, 0x89, 0xf0, 0x60, 0x26, 0x1b, 0x9c, 0x9d, 0x05, 0x44, 0x49, 0xc4,
+	0x4e, 0x3a, 0x64, 0xb2, 0x9e, 0x79, 0xfe, 0x15, 0x0b, 0xf1, 0xb4, 0x95, 0x27, 0x52, 0x4c, 0x1b,
+	0xc3, 0x55, 0xab, 0xc0, 0xac, 0x2a, 0xb0, 0x0e, 0xc9, 0xb3, 0xd3, 0x68, 0xbe, 0xb3, 0x38, 0xb8,
+	0xba, 0xc8, 0x46, 0xe3, 0x6c, 0x94, 0x05, 0xcf, 0xbb, 0x51, 0x54, 0x9e, 0x0c, 0x56, 0xc1, 0xa7,
+	0xdd, 0x44, 0x28, 0x26, 0xdb, 0xd6, 0xbf, 0x23, 0xe2, 0xff, 0x44, 0x0c, 0x56, 0x61, 0xc4, 0xec,
+	0x45, 0x4c, 0xff, 0xa4, 0x27, 0x97, 0x22, 0xe9, 0xbb, 0x82, 0x6a, 0x65, 0xc0, 0x72, 0x6b, 0x14,
+	0xa4, 0xd1, 0x3c, 0x5a, 0x4c, 0xca, 0xe3, 0x2d, 0x52, 0xf6, 0x40, 0x92, 0x8a, 0xfd, 0x1a, 0x9c,
+	0x41, 0xe5, 0x97, 0x9b, 0x94, 0xc3, 0xb8, 0x7c, 0x17, 0x87, 0x8a, 0xeb, 0x60, 0xd5, 0xe5, 0xd1,
+	0x98, 0x58, 0x6c, 0x9a, 0x2d, 0xa2, 0xe7, 0xfb, 0x1e, 0xd6, 0xbc, 0x96, 0xa4, 0x33, 0x36, 0x3a,
+	0xd7, 0x40, 0x5d, 0xef, 0xb9, 0x87, 0x64, 0x83, 0xb6, 0x3b, 0x8c, 0x05, 0xf3, 0x81, 0x0a, 0x14,
+	0xd3, 0x1b, 0xea, 0x9b, 0x1f, 0xd3, 0x67, 0xbc, 0xfb, 0x70, 0x5b, 0x3c, 0xbe, 0xee, 0x75, 0xc2,
+	0xeb, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x51, 0x35, 0xf3, 0xe2, 0xf9, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/monitoring.proto b/googleapis/api/serviceconfig/monitoring.proto
deleted file mode 100644
index d29cbe5a3286a341497269af6717186cf79ce1ba..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/monitoring.proto
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "MonitoringProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// Monitoring configuration of the service.
-//
-// The example below shows how to configure monitored resources and metrics
-// for monitoring. In the example, a monitored resource and two metrics are
-// defined. The `library.googleapis.com/book/returned_count` metric is sent
-// to both producer and consumer projects, whereas the
-// `library.googleapis.com/book/overdue_count` metric is only sent to the
-// consumer project.
-//
-//     monitored_resources:
-//     - type: library.googleapis.com/branch
-//       labels:
-//       - key: /city
-//         description: The city where the library branch is located in.
-//       - key: /name
-//         description: The name of the branch.
-//     metrics:
-//     - name: library.googleapis.com/book/returned_count
-//       metric_kind: DELTA
-//       value_type: INT64
-//       labels:
-//       - key: /customer_id
-//     - name: library.googleapis.com/book/overdue_count
-//       metric_kind: GAUGE
-//       value_type: INT64
-//       labels:
-//       - key: /customer_id
-//     monitoring:
-//       producer_destinations:
-//       - monitored_resource: library.googleapis.com/branch
-//         metrics:
-//         - library.googleapis.com/book/returned_count
-//       consumer_destinations:
-//       - monitored_resource: library.googleapis.com/branch
-//         metrics:
-//         - library.googleapis.com/book/returned_count
-//         - library.googleapis.com/book/overdue_count
-message Monitoring {
-  // Configuration of a specific monitoring destination (the producer project
-  // or the consumer project).
-  message MonitoringDestination {
-    // The monitored resource type. The type must be defined in
-    // [Service.monitored_resources][google.api.Service.monitored_resources] section.
-    string monitored_resource = 1;
-
-    // Names of the metrics to report to this monitoring destination.
-    // Each name must be defined in [Service.metrics][google.api.Service.metrics] section.
-    repeated string metrics = 2;
-  }
-
-  // Monitoring configurations for sending metrics to the producer project.
-  // There can be multiple producer destinations, each one must have a
-  // different monitored resource type. A metric can be used in at most
-  // one producer destination.
-  repeated MonitoringDestination producer_destinations = 1;
-
-  // Monitoring configurations for sending metrics to the consumer project.
-  // There can be multiple consumer destinations, each one must have a
-  // different monitored resource type. A metric can be used in at most
-  // one consumer destination.
-  repeated MonitoringDestination consumer_destinations = 2;
-}
diff --git a/googleapis/api/serviceconfig/service.pb.go b/googleapis/api/serviceconfig/service.pb.go
index a283a382fcc22d7a6505759f45f78ea916105ad2..fe9622596a3cdaa8a24ee97b8fcbf135e52844c3 100644
--- a/googleapis/api/serviceconfig/service.pb.go
+++ b/googleapis/api/serviceconfig/service.pb.go
@@ -1,18 +1,20 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/service.proto
+// source: google/api/service.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
+import google_api "google.golang.org/genproto/googleapis/api/annotations"
 import _ "google.golang.org/genproto/googleapis/api/label"
-import google_api2 "google.golang.org/genproto/googleapis/api/metric"
-import google_api3 "google.golang.org/genproto/googleapis/api/monitoredres"
+import google_api3 "google.golang.org/genproto/googleapis/api/metric"
+import google_api4 "google.golang.org/genproto/googleapis/api/monitoredres"
 import _ "github.com/golang/protobuf/ptypes/any"
-import google_protobuf4 "google.golang.org/genproto/protobuf"
-import google_protobuf3 "google.golang.org/genproto/protobuf"
+import google_protobuf4 "google.golang.org/genproto/protobuf/api"
+import google_protobuf3 "google.golang.org/genproto/protobuf/ptype"
 import google_protobuf5 "github.com/golang/protobuf/ptypes/wrappers"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -20,23 +22,29 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
-// `Service` is the root object of the configuration schema. It
-// describes basic information like the name of the service and the
-// exposed API interfaces, and delegates other aspects to configuration
-// sub-sections.
+// `Service` is the root object of Google service configuration schema. It
+// describes basic information about a service, such as the name and the
+// title, and delegates other aspects to sub-sections. Each sub-section is
+// either a proto message or a repeated proto message that configures a
+// specific aspect, such as auth. See each proto message definition for details.
 //
 // Example:
 //
 //     type: google.api.Service
-//     config_version: 1
+//     config_version: 3
 //     name: calendar.googleapis.com
 //     title: Google Calendar API
 //     apis:
-//     - name: google.calendar.Calendar
-//     backend:
+//     - name: google.calendar.v3.Calendar
+//     authentication:
+//       providers:
+//       - id: google_calendar_auth
+//         jwks_uri: https://www.googleapis.com/oauth2/v1/certs
+//         issuer: https://securetoken.google.com
 //       rules:
 //       - selector: "*"
-//         address: calendar.example.com
+//         requirements:
+//           provider_id: google_calendar_auth
 type Service struct {
 	// The version of the service configuration. The config version may
 	// influence interpretation of the configuration, for example, to
@@ -84,7 +92,7 @@ type Service struct {
 	// API backend configuration.
 	Backend *Backend `protobuf:"bytes,8,opt,name=backend" json:"backend,omitempty"`
 	// HTTP configuration.
-	Http *Http `protobuf:"bytes,9,opt,name=http" json:"http,omitempty"`
+	Http *google_api.Http `protobuf:"bytes,9,opt,name=http" json:"http,omitempty"`
 	// Auth configuration.
 	Authentication *Authentication `protobuf:"bytes,11,opt,name=authentication" json:"authentication,omitempty"`
 	// Context configuration.
@@ -100,22 +108,22 @@ type Service struct {
 	// Defines the logs used by this service.
 	Logs []*LogDescriptor `protobuf:"bytes,23,rep,name=logs" json:"logs,omitempty"`
 	// Defines the metrics used by this service.
-	Metrics []*google_api2.MetricDescriptor `protobuf:"bytes,24,rep,name=metrics" json:"metrics,omitempty"`
+	Metrics []*google_api3.MetricDescriptor `protobuf:"bytes,24,rep,name=metrics" json:"metrics,omitempty"`
 	// Defines the monitored resources used by this service. This is required
 	// by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations.
-	MonitoredResources []*google_api3.MonitoredResourceDescriptor `protobuf:"bytes,25,rep,name=monitored_resources,json=monitoredResources" json:"monitored_resources,omitempty"`
-	// Logging configuration of the service.
+	MonitoredResources []*google_api4.MonitoredResourceDescriptor `protobuf:"bytes,25,rep,name=monitored_resources,json=monitoredResources" json:"monitored_resources,omitempty"`
+	// Logging configuration.
 	Logging *Logging `protobuf:"bytes,27,opt,name=logging" json:"logging,omitempty"`
-	// Monitoring configuration of the service.
+	// Monitoring configuration.
 	Monitoring *Monitoring `protobuf:"bytes,28,opt,name=monitoring" json:"monitoring,omitempty"`
-	// Configuration for system parameters.
+	// System parameter configuration.
 	SystemParameters *SystemParameters `protobuf:"bytes,29,opt,name=system_parameters,json=systemParameters" json:"system_parameters,omitempty"`
 }
 
 func (m *Service) Reset()                    { *m = Service{} }
 func (m *Service) String() string            { return proto.CompactTextString(m) }
 func (*Service) ProtoMessage()               {}
-func (*Service) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{0} }
+func (*Service) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{0} }
 
 func (m *Service) GetConfigVersion() *google_protobuf5.UInt32Value {
 	if m != nil {
@@ -124,6 +132,34 @@ func (m *Service) GetConfigVersion() *google_protobuf5.UInt32Value {
 	return nil
 }
 
+func (m *Service) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Service) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Service) GetTitle() string {
+	if m != nil {
+		return m.Title
+	}
+	return ""
+}
+
+func (m *Service) GetProducerProjectId() string {
+	if m != nil {
+		return m.ProducerProjectId
+	}
+	return ""
+}
+
 func (m *Service) GetApis() []*google_protobuf4.Api {
 	if m != nil {
 		return m.Apis
@@ -159,7 +195,7 @@ func (m *Service) GetBackend() *Backend {
 	return nil
 }
 
-func (m *Service) GetHttp() *Http {
+func (m *Service) GetHttp() *google_api.Http {
 	if m != nil {
 		return m.Http
 	}
@@ -208,14 +244,14 @@ func (m *Service) GetLogs() []*LogDescriptor {
 	return nil
 }
 
-func (m *Service) GetMetrics() []*google_api2.MetricDescriptor {
+func (m *Service) GetMetrics() []*google_api3.MetricDescriptor {
 	if m != nil {
 		return m.Metrics
 	}
 	return nil
 }
 
-func (m *Service) GetMonitoredResources() []*google_api3.MonitoredResourceDescriptor {
+func (m *Service) GetMonitoredResources() []*google_api4.MonitoredResourceDescriptor {
 	if m != nil {
 		return m.MonitoredResources
 	}
@@ -247,59 +283,54 @@ func init() {
 	proto.RegisterType((*Service)(nil), "google.api.Service")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/service.proto", fileDescriptor13)
-}
+func init() { proto.RegisterFile("google/api/service.proto", fileDescriptor11) }
 
-var fileDescriptor13 = []byte{
-	// 778 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x95, 0xed, 0x6e, 0xfb, 0x34,
-	0x14, 0xc6, 0xd5, 0xfe, 0xdb, 0xff, 0x36, 0xef, 0x85, 0xcd, 0x7b, 0xc1, 0x2b, 0x43, 0x1a, 0x08,
-	0x69, 0x95, 0xd0, 0x12, 0xa9, 0x93, 0x26, 0x21, 0x84, 0x50, 0xbb, 0x0d, 0x56, 0x31, 0xa0, 0xf2,
-	0xd8, 0xc4, 0xb7, 0xca, 0x4d, 0xbc, 0xcc, 0x90, 0xd8, 0x96, 0xed, 0x0c, 0x7a, 0x3b, 0x5c, 0x0b,
-	0x17, 0x86, 0x62, 0x3b, 0x6b, 0xda, 0x0e, 0x18, 0x19, 0x1f, 0xb6, 0x26, 0x79, 0x7e, 0xcf, 0x93,
-	0x73, 0x62, 0xf9, 0x18, 0x5c, 0x25, 0x42, 0x24, 0x29, 0x0d, 0x12, 0x91, 0x12, 0x9e, 0x04, 0x42,
-	0x25, 0x61, 0x42, 0xb9, 0x54, 0xc2, 0x88, 0xd0, 0x49, 0x44, 0x32, 0x1d, 0x12, 0xc9, 0x42, 0x4d,
-	0xd5, 0x13, 0x8b, 0x68, 0x24, 0xf8, 0x03, 0x4b, 0xca, 0xbb, 0xc0, 0xa2, 0x10, 0xf8, 0x18, 0x22,
-	0x59, 0x67, 0x58, 0x37, 0x92, 0x70, 0x2e, 0x0c, 0x31, 0x4c, 0x70, 0xed, 0x62, 0x3b, 0x83, 0xda,
-	0x51, 0xb9, 0x79, 0xf4, 0x19, 0xb5, 0x3b, 0x9c, 0x90, 0xe8, 0x57, 0xca, 0xe3, 0xb7, 0xc6, 0x44,
-	0x82, 0x1b, 0xfa, 0xbb, 0xf9, 0x3f, 0x62, 0x94, 0x48, 0x7d, 0xcc, 0x77, 0x75, 0x63, 0x62, 0x11,
-	0xe5, 0x19, 0xe5, 0xee, 0x33, 0xfb, 0xb0, 0x6f, 0xea, 0x86, 0x51, 0x1e, 0x4b, 0xc1, 0xb8, 0x79,
-	0xeb, 0x6a, 0x3d, 0x1a, 0x23, 0x7d, 0xc6, 0x97, 0xaf, 0xcf, 0x48, 0xc9, 0x84, 0xa6, 0xee, 0xbf,
-	0x37, 0xf7, 0xeb, 0x16, 0x90, 0x8a, 0xe4, 0xad, 0xeb, 0x93, 0x8a, 0x24, 0x61, 0xbc, 0x8c, 0xf9,
-	0xea, 0xf5, 0x31, 0x19, 0x35, 0x8a, 0x45, 0xfe, 0xc7, 0xdb, 0x7f, 0xfc, 0x0f, 0x76, 0xc1, 0x99,
-	0x11, 0x8a, 0xc6, 0x8a, 0xea, 0xd9, 0xcd, 0x58, 0x51, 0x2d, 0x72, 0x55, 0xee, 0xcf, 0xce, 0x75,
-	0xdd, 0xb6, 0x7c, 0xe2, 0xac, 0xb3, 0x1f, 0x6a, 0x0f, 0x8c, 0xa9, 0x36, 0x34, 0x1b, 0x4b, 0xa2,
-	0x48, 0x46, 0x0d, 0x55, 0x3e, 0xef, 0xa2, 0x6e, 0x5e, 0xae, 0x49, 0x52, 0xb6, 0x17, 0x26, 0xcc,
-	0x3c, 0xe6, 0x93, 0x20, 0x12, 0x59, 0xe8, 0x82, 0x42, 0x2b, 0x4c, 0xf2, 0x87, 0x50, 0x9a, 0xa9,
-	0xa4, 0x3a, 0x24, 0x7c, 0x5a, 0xfc, 0x79, 0xc3, 0xe9, 0x3f, 0xbc, 0xf5, 0xd9, 0x49, 0x24, 0xf3,
-	0x78, 0xf0, 0x1a, 0xbc, 0x78, 0x8f, 0xe7, 0xbf, 0xf8, 0xf7, 0x7a, 0x7e, 0x53, 0x44, 0x4a, 0xaa,
-	0x66, 0x17, 0xce, 0xfa, 0xe9, 0x9f, 0xab, 0x60, 0xe5, 0xd6, 0x35, 0x0a, 0x2f, 0xc0, 0x96, 0x6b,
-	0x76, 0xfc, 0x44, 0x95, 0x66, 0x82, 0xa3, 0xbd, 0xe3, 0x46, 0x77, 0xbd, 0x77, 0x54, 0xd6, 0x53,
-	0x86, 0x06, 0x77, 0x43, 0x6e, 0xce, 0x7a, 0xf7, 0x24, 0xcd, 0x29, 0xde, 0x74, 0x9e, 0x7b, 0x67,
-	0x81, 0x10, 0xb4, 0x38, 0xc9, 0x28, 0x6a, 0x1c, 0x37, 0xba, 0x6b, 0xd8, 0x5e, 0xc3, 0x2d, 0xd0,
-	0x64, 0x31, 0xfa, 0xc4, 0x3e, 0x69, 0xb2, 0x18, 0xee, 0x81, 0xb6, 0x61, 0x26, 0xa5, 0xa8, 0x69,
-	0x1f, 0xb9, 0x1b, 0x18, 0x80, 0x5d, 0xa9, 0x44, 0x9c, 0x47, 0x54, 0x8d, 0xa5, 0x12, 0xbf, 0xd0,
-	0xc8, 0x8c, 0x59, 0x8c, 0x0e, 0x2c, 0xb3, 0x53, 0x4a, 0x23, 0xa7, 0x0c, 0x63, 0xd8, 0x05, 0xad,
-	0x62, 0xad, 0xd0, 0xbb, 0xe3, 0x77, 0xdd, 0xf5, 0xde, 0xde, 0x52, 0x91, 0x7d, 0xc9, 0xb0, 0x25,
-	0xe0, 0xe7, 0xa0, 0x6d, 0xbf, 0x02, 0x6a, 0x59, 0x74, 0x7f, 0x09, 0xfd, 0x69, 0x2a, 0x29, 0x76,
-	0x4c, 0x01, 0x53, 0x9e, 0x67, 0x1a, 0xb5, 0xff, 0x06, 0xbe, 0xe2, 0x79, 0x86, 0x1d, 0x03, 0xbf,
-	0x06, 0x9b, 0x73, 0x23, 0x0e, 0xbd, 0xb7, 0x5f, 0xec, 0x30, 0x98, 0x1d, 0x50, 0xc1, 0x65, 0x15,
-	0xc0, 0xf3, 0x3c, 0x3c, 0x05, 0x2b, 0x7e, 0xf0, 0xa3, 0x55, 0x6b, 0xdd, 0xad, 0x5a, 0x07, 0x4e,
-	0xc2, 0x25, 0x03, 0x3f, 0x03, 0xad, 0x62, 0x7a, 0xa1, 0x35, 0xcb, 0x6e, 0x57, 0xd9, 0x6b, 0x63,
-	0x24, 0xb6, 0x2a, 0x1c, 0x80, 0xad, 0xe2, 0x44, 0xa2, 0xdc, 0xb0, 0xc8, 0x95, 0xb5, 0x6e, 0xf9,
-	0x4e, 0x95, 0xef, 0xcf, 0x11, 0x78, 0xc1, 0x51, 0x14, 0xe6, 0x8f, 0x12, 0xb4, 0xb1, 0x5c, 0xd8,
-	0x85, 0x93, 0x70, 0xc9, 0xc0, 0x13, 0xd0, 0xb6, 0x3b, 0x04, 0x7d, 0x60, 0xe1, 0x9d, 0x2a, 0x7c,
-	0x57, 0x08, 0xd8, 0xe9, 0xb0, 0x07, 0xd6, 0xca, 0x39, 0xae, 0x11, 0x9c, 0x5f, 0xba, 0x02, 0xbe,
-	0xf2, 0x22, 0x9e, 0x61, 0x65, 0x2d, 0x4a, 0xa4, 0x68, 0xff, 0xe5, 0x5a, 0x94, 0x48, 0x71, 0xc9,
-	0xc0, 0x53, 0xd0, 0x4a, 0x45, 0xa2, 0xd1, 0x87, 0x36, 0x7d, 0x6e, 0x2d, 0x6e, 0x44, 0x72, 0x49,
-	0x75, 0xa4, 0x98, 0x34, 0x42, 0x61, 0x8b, 0xc1, 0x73, 0xb0, 0xe2, 0xa6, 0xa1, 0x46, 0xc8, 0x3a,
-	0x8e, 0xaa, 0x8e, 0xef, 0xad, 0x54, 0x31, 0x95, 0x30, 0xfc, 0x19, 0xec, 0x2e, 0x0f, 0x40, 0x8d,
-	0x0e, 0x6d, 0xc6, 0xc9, 0x5c, 0x46, 0x89, 0x61, 0x4f, 0x55, 0xe2, 0x60, 0xb6, 0x28, 0xda, 0x7e,
-	0xfd, 0x7c, 0x47, 0x1f, 0x2d, 0xf7, 0x7b, 0xe3, 0x24, 0x5c, 0x32, 0xf0, 0x1c, 0x80, 0xd9, 0xdc,
-	0x44, 0x47, 0xd6, 0x71, 0xf0, 0xc2, 0xfb, 0x0b, 0x53, 0x85, 0x84, 0x43, 0xb0, 0xb3, 0x38, 0x25,
-	0x35, 0xfa, 0x78, 0x7e, 0xcb, 0x17, 0xf6, 0x5b, 0x0b, 0x8d, 0x9e, 0x19, 0xbc, 0xad, 0x17, 0x9e,
-	0x0c, 0x4e, 0x8a, 0xd1, 0x91, 0x55, 0x4c, 0x83, 0x0d, 0x3f, 0x55, 0x46, 0xc5, 0xb6, 0x19, 0x35,
-	0xfe, 0x68, 0xb6, 0xbe, 0xed, 0x8f, 0x86, 0x93, 0xf7, 0x76, 0x1b, 0x9d, 0xfd, 0x15, 0x00, 0x00,
-	0xff, 0xff, 0xfc, 0x22, 0x08, 0x2f, 0x09, 0x0a, 0x00, 0x00,
+var fileDescriptor11 = []byte{
+	// 732 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x95, 0xdd, 0x4e, 0xe3, 0x38,
+	0x14, 0x80, 0xd5, 0xd2, 0xf2, 0x63, 0x7e, 0x16, 0x4c, 0x01, 0x53, 0xba, 0x2b, 0xd8, 0x5d, 0x89,
+	0x4a, 0x2b, 0x52, 0xa9, 0x48, 0xdc, 0xec, 0xc5, 0x8a, 0x02, 0xda, 0xad, 0xc4, 0x4a, 0x95, 0x19,
+	0xd0, 0x68, 0x6e, 0xaa, 0x34, 0x31, 0xc1, 0x33, 0x89, 0x6d, 0xd9, 0x0e, 0x33, 0x7d, 0x9d, 0x79,
+	0x96, 0x79, 0xb0, 0x51, 0x6c, 0x87, 0x3a, 0x6d, 0xb9, 0x6b, 0xfc, 0x7d, 0xe7, 0xe4, 0xc4, 0xf6,
+	0x39, 0x05, 0x28, 0xe1, 0x3c, 0x49, 0x49, 0x2f, 0x14, 0xb4, 0xa7, 0x88, 0x7c, 0xa5, 0x11, 0x09,
+	0x84, 0xe4, 0x9a, 0x43, 0x60, 0x49, 0x10, 0x0a, 0xda, 0xee, 0x78, 0x56, 0xc8, 0x18, 0xd7, 0xa1,
+	0xa6, 0x9c, 0x29, 0x6b, 0xb6, 0x0f, 0x7c, 0x9a, 0xeb, 0x17, 0xb7, 0xec, 0xa7, 0x9e, 0x84, 0xd1,
+	0x17, 0xc2, 0xe2, 0x25, 0x24, 0xe2, 0x4c, 0x93, 0x6f, 0xfa, 0x1d, 0x22, 0x79, 0xea, 0xc8, 0x6f,
+	0x1e, 0x89, 0x79, 0x94, 0x67, 0x84, 0xd9, 0x2a, 0x1c, 0x3f, 0xf6, 0x38, 0x61, 0xb1, 0xe0, 0x94,
+	0xe9, 0x25, 0xf5, 0xbd, 0x68, 0x2d, 0xdc, 0xf2, 0xa1, 0xb7, 0x9c, 0x86, 0x13, 0x52, 0xbe, 0xa9,
+	0xe5, 0xaf, 0xf3, 0x64, 0x49, 0x65, 0x29, 0x4f, 0x12, 0xca, 0x4a, 0x72, 0xe4, 0x91, 0x8c, 0x68,
+	0x49, 0x23, 0x07, 0xfe, 0xf0, 0x01, 0x67, 0x54, 0x73, 0x49, 0xe2, 0xb1, 0x24, 0x8a, 0xe7, 0xb2,
+	0xdc, 0xe6, 0xf6, 0xc9, 0xa2, 0x34, 0x4b, 0x7d, 0xe6, 0x9f, 0xce, 0x54, 0x69, 0x92, 0x8d, 0x45,
+	0x28, 0xc3, 0x8c, 0x68, 0x22, 0x97, 0x7c, 0x45, 0xae, 0xc2, 0x84, 0xcc, 0xed, 0x87, 0x79, 0x9a,
+	0xe4, 0xcf, 0xbd, 0x90, 0x4d, 0xdf, 0x45, 0x82, 0x3a, 0xd4, 0x9e, 0x47, 0x7a, 0x2a, 0xc8, 0xdc,
+	0x09, 0xbc, 0xb1, 0xaf, 0x32, 0x14, 0x82, 0x48, 0x77, 0x0d, 0x7e, 0xff, 0xb1, 0x0e, 0xd6, 0x1e,
+	0xec, 0x15, 0x82, 0x37, 0x60, 0x27, 0xe2, 0xec, 0x99, 0x26, 0xe3, 0x57, 0x22, 0x15, 0xe5, 0x0c,
+	0xb5, 0x4e, 0x6b, 0xdd, 0xcd, 0x7e, 0x27, 0x70, 0xb7, 0xaa, 0x4c, 0x12, 0x3c, 0x0e, 0x99, 0xbe,
+	0xec, 0x3f, 0x85, 0x69, 0x4e, 0xf0, 0xb6, 0x8d, 0x79, 0xb2, 0x21, 0x10, 0x82, 0x06, 0x0b, 0x33,
+	0x82, 0x6a, 0xa7, 0xb5, 0xee, 0x06, 0x36, 0xbf, 0xe1, 0x0e, 0xa8, 0xd3, 0x18, 0x9d, 0x99, 0x95,
+	0x3a, 0x8d, 0x61, 0x0b, 0x34, 0x35, 0xd5, 0x29, 0x41, 0x75, 0xb3, 0x64, 0x1f, 0x60, 0x00, 0xf6,
+	0x85, 0xe4, 0x71, 0x1e, 0x11, 0x39, 0x16, 0x92, 0x7f, 0x26, 0x91, 0x1e, 0xd3, 0x18, 0x1d, 0x1a,
+	0x67, 0xaf, 0x44, 0x23, 0x4b, 0x86, 0x31, 0xec, 0x82, 0x46, 0x28, 0xa8, 0x42, 0x2b, 0xa7, 0x2b,
+	0xdd, 0xcd, 0x7e, 0x6b, 0xa1, 0xc8, 0x6b, 0x41, 0xb1, 0x31, 0xe0, 0x5f, 0xa0, 0x59, 0x6c, 0x89,
+	0x42, 0x0d, 0xa3, 0x1e, 0x2c, 0xa8, 0x1f, 0xa6, 0x82, 0x60, 0xeb, 0x14, 0x32, 0x61, 0x79, 0xa6,
+	0x50, 0xf3, 0x1d, 0xf9, 0x8e, 0xe5, 0x19, 0xb6, 0x0e, 0xfc, 0x07, 0x6c, 0x57, 0xee, 0x35, 0x5a,
+	0x35, 0x3b, 0x76, 0x1c, 0xcc, 0xfa, 0x30, 0xb8, 0xf5, 0x05, 0x5c, 0xf5, 0xe1, 0x05, 0x58, 0x73,
+	0x6d, 0x86, 0xd6, 0x4d, 0xe8, 0xbe, 0x1f, 0x3a, 0xb0, 0x08, 0x97, 0x0e, 0xfc, 0x13, 0x34, 0x8a,
+	0x66, 0x40, 0x1b, 0xc6, 0xdd, 0xf5, 0xdd, 0xff, 0xb4, 0x16, 0xd8, 0x50, 0x38, 0x00, 0x3b, 0x45,
+	0x4b, 0x13, 0xa6, 0x69, 0x64, 0xcb, 0xda, 0x34, 0x7e, 0xdb, 0xf7, 0xaf, 0x2b, 0x06, 0x9e, 0x8b,
+	0x28, 0x0a, 0x73, 0x5d, 0x8e, 0xb6, 0x16, 0x0b, 0xbb, 0xb1, 0x08, 0x97, 0x0e, 0x3c, 0x07, 0x4d,
+	0x73, 0x91, 0xd1, 0x2f, 0x46, 0xde, 0xf3, 0xe5, 0xc7, 0x02, 0x60, 0xcb, 0x61, 0x1f, 0x6c, 0x94,
+	0x9d, 0xae, 0x10, 0xac, 0x1e, 0x5d, 0x21, 0xdf, 0x39, 0x88, 0x67, 0x5a, 0x59, 0x8b, 0xe4, 0x29,
+	0x3a, 0x58, 0x5e, 0x8b, 0xe4, 0x29, 0x2e, 0x1d, 0x78, 0x01, 0x1a, 0x29, 0x4f, 0x14, 0x3a, 0x32,
+	0xd9, 0x2b, 0x67, 0x71, 0xcf, 0x93, 0x5b, 0xa2, 0x22, 0x49, 0x85, 0xe6, 0x12, 0x1b, 0x0d, 0x5e,
+	0x81, 0x35, 0x3b, 0x01, 0x14, 0x42, 0x26, 0xa2, 0xe3, 0x47, 0xfc, 0x6f, 0x90, 0x17, 0x54, 0xca,
+	0xf0, 0x23, 0xd8, 0x5f, 0x1c, 0x10, 0x0a, 0x1d, 0x9b, 0x1c, 0xe7, 0x95, 0x1c, 0xa5, 0x86, 0x9d,
+	0xe5, 0xa5, 0x83, 0xd9, 0x3c, 0x34, 0xdf, 0xeb, 0xa6, 0x15, 0x3a, 0x59, 0xfc, 0xde, 0x7b, 0x8b,
+	0x70, 0xe9, 0xc0, 0x2b, 0x00, 0x66, 0x43, 0x08, 0x75, 0x4c, 0xc4, 0xe1, 0x92, 0xf7, 0x17, 0x41,
+	0x9e, 0x09, 0x87, 0x60, 0x6f, 0x7e, 0x3e, 0x29, 0xf4, 0x6b, 0xb5, 0xe5, 0x8b, 0xf0, 0x07, 0x23,
+	0x8d, 0xde, 0x1c, 0xbc, 0xab, 0xe6, 0x56, 0x06, 0xac, 0x18, 0x1d, 0x99, 0x17, 0x34, 0xd8, 0x72,
+	0x53, 0x65, 0x54, 0xb4, 0xcd, 0xa8, 0xf6, 0xe9, 0xce, 0xb1, 0x84, 0xa7, 0x21, 0x4b, 0x02, 0x2e,
+	0x93, 0x5e, 0x42, 0x98, 0x69, 0xaa, 0x9e, 0x45, 0x45, 0xab, 0xfa, 0x7f, 0x69, 0x76, 0xae, 0xfc,
+	0x5d, 0x79, 0xfa, 0x5e, 0x6f, 0xfc, 0x7b, 0x3d, 0x1a, 0x4e, 0x56, 0x4d, 0xe0, 0xe5, 0xcf, 0x00,
+	0x00, 0x00, 0xff, 0xff, 0x90, 0x65, 0xe8, 0x5d, 0x0a, 0x07, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/service.proto b/googleapis/api/serviceconfig/service.proto
deleted file mode 100644
index bbcd9f1c3abf6676e19d6360e33d673a42a05543..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/service.proto
+++ /dev/null
@@ -1,157 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/auth.proto"; // from google/api/auth.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/backend.proto"; // from google/api/backend.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/context.proto"; // from google/api/context.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/control.proto"; // from google/api/control.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/documentation.proto"; // from google/api/documentation.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/endpoint.proto"; // from google/api/endpoint.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/http.proto"; // from google/api/http.proto
-import "google.golang.org/genproto/googleapis/api/label/label.proto"; // from google/api/label.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/log.proto"; // from google/api/log.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/logging.proto"; // from google/api/logging.proto
-import "google.golang.org/genproto/googleapis/api/metric/metric.proto"; // from google/api/metric.proto
-import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/monitoring.proto"; // from google/api/monitoring.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/system_parameter.proto"; // from google/api/system_parameter.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/usage.proto"; // from google/api/usage.proto
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-import "google.golang.org/genproto/protobuf/api.proto"; // from google/protobuf/api.proto
-import "google.golang.org/genproto/protobuf/type.proto"; // from google/protobuf/type.proto
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ServiceProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// `Service` is the root object of the configuration schema. It
-// describes basic information like the name of the service and the
-// exposed API interfaces, and delegates other aspects to configuration
-// sub-sections.
-//
-// Example:
-//
-//     type: google.api.Service
-//     config_version: 1
-//     name: calendar.googleapis.com
-//     title: Google Calendar API
-//     apis:
-//     - name: google.calendar.Calendar
-//     backend:
-//       rules:
-//       - selector: "*"
-//         address: calendar.example.com
-message Service {
-  // The version of the service configuration. The config version may
-  // influence interpretation of the configuration, for example, to
-  // determine defaults. This is documented together with applicable
-  // options. The current default for the config version itself is `3`.
-  google.protobuf.UInt32Value config_version = 20;
-
-  // The DNS address at which this service is available,
-  // e.g. `calendar.googleapis.com`.
-  string name = 1;
-
-  // A unique ID for a specific instance of this message, typically assigned
-  // by the client for tracking purpose. If empty, the server may choose to
-  // generate one instead.
-  string id = 33;
-
-  // The product title associated with this service.
-  string title = 2;
-
-  // The id of the Google developer project that owns the service.
-  // Members of this project can manage the service configuration,
-  // manage consumption of the service, etc.
-  string producer_project_id = 22;
-
-  // A list of API interfaces exported by this service. Only the `name` field
-  // of the [google.protobuf.Api][google.protobuf.Api] needs to be provided by the configuration
-  // author, as the remaining fields will be derived from the IDL during the
-  // normalization process. It is an error to specify an API interface here
-  // which cannot be resolved against the associated IDL files.
-  repeated google.protobuf.Api apis = 3;
-
-  // A list of all proto message types included in this API service.
-  // Types referenced directly or indirectly by the `apis` are
-  // automatically included.  Messages which are not referenced but
-  // shall be included, such as types used by the `google.protobuf.Any` type,
-  // should be listed here by name. Example:
-  //
-  //     types:
-  //     - name: google.protobuf.Int32
-  repeated google.protobuf.Type types = 4;
-
-  // A list of all enum types included in this API service.  Enums
-  // referenced directly or indirectly by the `apis` are automatically
-  // included.  Enums which are not referenced but shall be included
-  // should be listed here by name. Example:
-  //
-  //     enums:
-  //     - name: google.someapi.v1.SomeEnum
-  repeated google.protobuf.Enum enums = 5;
-
-  // Additional API documentation.
-  Documentation documentation = 6;
-
-  // API backend configuration.
-  Backend backend = 8;
-
-  // HTTP configuration.
-  Http http = 9;
-
-  // Auth configuration.
-  Authentication authentication = 11;
-
-  // Context configuration.
-  Context context = 12;
-
-  // Configuration controlling usage of this service.
-  Usage usage = 15;
-
-  // Configuration for network endpoints.  If this is empty, then an endpoint
-  // with the same name as the service is automatically generated to service all
-  // defined APIs.
-  repeated Endpoint endpoints = 18;
-
-  // Configuration for the service control plane.
-  Control control = 21;
-
-  // Defines the logs used by this service.
-  repeated LogDescriptor logs = 23;
-
-  // Defines the metrics used by this service.
-  repeated MetricDescriptor metrics = 24;
-
-  // Defines the monitored resources used by this service. This is required
-  // by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations.
-  repeated MonitoredResourceDescriptor monitored_resources = 25;
-
-  // Logging configuration of the service.
-  Logging logging = 27;
-
-  // Monitoring configuration of the service.
-  Monitoring monitoring = 28;
-
-  // Configuration for system parameters.
-  SystemParameters system_parameters = 29;
-}
diff --git a/googleapis/api/serviceconfig/system_parameter.pb.go b/googleapis/api/serviceconfig/system_parameter.pb.go
index 487c113d406d93481e70861369bba253ad50e137..937416e85d7e7a92ca56948580bce86effb8c431 100644
--- a/googleapis/api/serviceconfig/system_parameter.pb.go
+++ b/googleapis/api/serviceconfig/system_parameter.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/system_parameter.proto
+// source: google/api/system_parameter.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -27,27 +27,26 @@ type SystemParameters struct {
 	// config, default system parameters will be used. Default system parameters
 	// and names is implementation-dependent.
 	//
-	// Example: define api key and alt name for all methods
+	// Example: define api key for all methods
+	//
+	//     system_parameters
+	//       rules:
+	//         - selector: "*"
+	//           parameters:
+	//             - name: api_key
+	//               url_query_parameter: api_key
 	//
-	// system_parameters
-	//   rules:
-	//     - selector: "*"
-	//       parameters:
-	//         - name: api_key
-	//           url_query_parameter: api_key
-	//         - name: alt
-	//           http_header: Response-Content-Type
 	//
 	// Example: define 2 api key names for a specific method.
 	//
-	// system_parameters
-	//   rules:
-	//     - selector: "/ListShelves"
-	//       parameters:
-	//         - name: api_key
-	//           http_header: Api-Key1
-	//         - name: api_key
-	//           http_header: Api-Key2
+	//     system_parameters
+	//       rules:
+	//         - selector: "/ListShelves"
+	//           parameters:
+	//             - name: api_key
+	//               http_header: Api-Key1
+	//             - name: api_key
+	//               http_header: Api-Key2
 	//
 	// **NOTE:** All service configuration rules follow "last one wins" order.
 	Rules []*SystemParameterRule `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"`
@@ -56,7 +55,7 @@ type SystemParameters struct {
 func (m *SystemParameters) Reset()                    { *m = SystemParameters{} }
 func (m *SystemParameters) String() string            { return proto.CompactTextString(m) }
 func (*SystemParameters) ProtoMessage()               {}
-func (*SystemParameters) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{0} }
+func (*SystemParameters) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{0} }
 
 func (m *SystemParameters) GetRules() []*SystemParameterRule {
 	if m != nil {
@@ -84,7 +83,14 @@ type SystemParameterRule struct {
 func (m *SystemParameterRule) Reset()                    { *m = SystemParameterRule{} }
 func (m *SystemParameterRule) String() string            { return proto.CompactTextString(m) }
 func (*SystemParameterRule) ProtoMessage()               {}
-func (*SystemParameterRule) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{1} }
+func (*SystemParameterRule) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{1} }
+
+func (m *SystemParameterRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
 
 func (m *SystemParameterRule) GetParameters() []*SystemParameter {
 	if m != nil {
@@ -97,8 +103,7 @@ func (m *SystemParameterRule) GetParameters() []*SystemParameter {
 // an HTTP header or a URL query parameter, and if both are passed the behavior
 // is implementation-dependent.
 type SystemParameter struct {
-	// Define the name of the parameter, such as "api_key", "alt", "callback",
-	// and etc. It is case sensitive.
+	// Define the name of the parameter, such as "api_key" . It is case sensitive.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
 	// Define the HTTP header name to use for the parameter. It is case
 	// insensitive.
@@ -111,7 +116,28 @@ type SystemParameter struct {
 func (m *SystemParameter) Reset()                    { *m = SystemParameter{} }
 func (m *SystemParameter) String() string            { return proto.CompactTextString(m) }
 func (*SystemParameter) ProtoMessage()               {}
-func (*SystemParameter) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{2} }
+func (*SystemParameter) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{2} }
+
+func (m *SystemParameter) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *SystemParameter) GetHttpHeader() string {
+	if m != nil {
+		return m.HttpHeader
+	}
+	return ""
+}
+
+func (m *SystemParameter) GetUrlQueryParameter() string {
+	if m != nil {
+		return m.UrlQueryParameter
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*SystemParameters)(nil), "google.api.SystemParameters")
@@ -119,28 +145,26 @@ func init() {
 	proto.RegisterType((*SystemParameter)(nil), "google.api.SystemParameter")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/system_parameter.proto", fileDescriptor14)
-}
+func init() { proto.RegisterFile("google/api/system_parameter.proto", fileDescriptor12) }
 
-var fileDescriptor14 = []byte{
-	// 278 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x7c, 0x90, 0xbf, 0x4e, 0xc3, 0x30,
-	0x10, 0xc6, 0x95, 0xb6, 0x20, 0xb8, 0x4a, 0xfc, 0x71, 0x19, 0x22, 0x18, 0x5a, 0x65, 0xea, 0x64,
-	0x4b, 0x20, 0x26, 0x26, 0xba, 0x40, 0x17, 0x14, 0xc2, 0x03, 0x44, 0x26, 0x1c, 0x6e, 0x24, 0x27,
-	0x36, 0x67, 0xa7, 0x52, 0x5f, 0x87, 0x27, 0x45, 0x71, 0x4b, 0x5a, 0x45, 0x88, 0xcd, 0xbe, 0xdf,
-	0xcf, 0xfe, 0x4e, 0x1f, 0xbc, 0x28, 0x63, 0x94, 0x46, 0xae, 0x8c, 0x96, 0xb5, 0xe2, 0x86, 0x94,
-	0x50, 0x58, 0x5b, 0x32, 0xde, 0x88, 0x2d, 0x92, 0xb6, 0x74, 0x42, 0xda, 0x52, 0x38, 0xa4, 0x75,
-	0x59, 0x60, 0x61, 0xea, 0xcf, 0x52, 0x09, 0xb7, 0x71, 0x1e, 0xab, 0xdc, 0x4a, 0x92, 0x15, 0x7a,
-	0x24, 0x1e, 0xde, 0x30, 0xd8, 0xfd, 0x27, 0x6d, 0x99, 0x2c, 0xe1, 0xe2, 0x2d, 0x58, 0xe9, 0xaf,
-	0xe4, 0xd8, 0x3d, 0x1c, 0x51, 0xa3, 0xd1, 0xc5, 0xd1, 0x6c, 0x38, 0x1f, 0xdf, 0x4e, 0xf9, 0xde,
-	0xe7, 0x3d, 0x39, 0x6b, 0x34, 0x66, 0x5b, 0x3b, 0xa9, 0x61, 0xf2, 0x07, 0x65, 0xd7, 0x70, 0xe2,
-	0x50, 0x63, 0xe1, 0x0d, 0xc5, 0xd1, 0x2c, 0x9a, 0x9f, 0x66, 0xdd, 0x9d, 0x3d, 0x00, 0x74, 0xcb,
-	0xb9, 0x78, 0x10, 0xe2, 0x6e, 0xfe, 0x8b, 0x3b, 0xd0, 0x93, 0x35, 0x9c, 0xf7, 0x30, 0x63, 0x30,
-	0xaa, 0x65, 0x85, 0xbb, 0x9c, 0x70, 0x66, 0x53, 0x18, 0xaf, 0xbc, 0xb7, 0xf9, 0x0a, 0xe5, 0x07,
-	0x52, 0x3c, 0x08, 0x08, 0xda, 0xd1, 0x73, 0x98, 0x30, 0x0e, 0x93, 0x86, 0x74, 0xfe, 0xd5, 0x20,
-	0x6d, 0xf6, 0x5d, 0xc5, 0xc3, 0x20, 0x5e, 0x36, 0xa4, 0x5f, 0x5b, 0xd2, 0x85, 0x2c, 0x04, 0x9c,
-	0x15, 0xa6, 0x3a, 0xd8, 0x72, 0x71, 0xd5, 0xdb, 0x23, 0x6d, 0x6b, 0x4e, 0xa3, 0xef, 0xc1, 0xe8,
-	0xe9, 0x31, 0x5d, 0xbe, 0x1f, 0x87, 0xda, 0xef, 0x7e, 0x02, 0x00, 0x00, 0xff, 0xff, 0x56, 0xd1,
-	0x77, 0xac, 0xc8, 0x01, 0x00, 0x00,
+var fileDescriptor12 = []byte{
+	// 286 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0xbf, 0x4e, 0xc3, 0x30,
+	0x10, 0x87, 0x95, 0xb6, 0x20, 0xb8, 0x4a, 0xfc, 0x71, 0x19, 0x22, 0x18, 0x5a, 0x3a, 0x75, 0x72,
+	0x24, 0x10, 0x53, 0x27, 0x2a, 0x21, 0xe8, 0x16, 0xca, 0xc6, 0x12, 0x99, 0x70, 0xb8, 0x91, 0x9c,
+	0xd8, 0x9c, 0x9d, 0x48, 0x7d, 0x1d, 0x9e, 0x14, 0xc5, 0x29, 0x69, 0x89, 0x10, 0x9b, 0xef, 0xbe,
+	0xcf, 0xfa, 0x9d, 0xee, 0xe0, 0x5a, 0x6a, 0x2d, 0x15, 0x46, 0xc2, 0x64, 0x91, 0xdd, 0x58, 0x87,
+	0x79, 0x62, 0x04, 0x89, 0x1c, 0x1d, 0x12, 0x37, 0xa4, 0x9d, 0x66, 0xd0, 0x28, 0x5c, 0x98, 0x6c,
+	0xba, 0x84, 0xb3, 0x17, 0x6f, 0xc5, 0x3f, 0x92, 0x65, 0x77, 0x70, 0x40, 0xa5, 0x42, 0x1b, 0x06,
+	0x93, 0xfe, 0x6c, 0x78, 0x33, 0xe6, 0x3b, 0x9f, 0x77, 0xe4, 0x55, 0xa9, 0x70, 0xd5, 0xd8, 0xd3,
+	0x02, 0x46, 0x7f, 0x50, 0x76, 0x09, 0x47, 0x16, 0x15, 0xa6, 0x4e, 0x53, 0x18, 0x4c, 0x82, 0xd9,
+	0xf1, 0xaa, 0xad, 0xd9, 0x1c, 0xa0, 0x1d, 0xce, 0x86, 0x3d, 0x1f, 0x77, 0xf5, 0x5f, 0xdc, 0x9e,
+	0x3e, 0xad, 0xe0, 0xb4, 0x83, 0x19, 0x83, 0x41, 0x21, 0x72, 0xdc, 0xe6, 0xf8, 0x37, 0x1b, 0xc3,
+	0x70, 0xed, 0x9c, 0x49, 0xd6, 0x28, 0xde, 0x91, 0xc2, 0x9e, 0x47, 0x50, 0xb7, 0x9e, 0x7c, 0x87,
+	0x71, 0x18, 0x95, 0xa4, 0x92, 0xcf, 0x12, 0x69, 0xb3, 0xdb, 0x55, 0xd8, 0xf7, 0xe2, 0x79, 0x49,
+	0xea, 0xb9, 0x26, 0x6d, 0xc8, 0xa2, 0x82, 0x93, 0x54, 0xe7, 0x7b, 0x53, 0x2e, 0x2e, 0x3a, 0x73,
+	0xc4, 0xf5, 0x9a, 0xe3, 0xe0, 0xf5, 0x61, 0xeb, 0x48, 0xad, 0x44, 0x21, 0xb9, 0x26, 0x19, 0x49,
+	0x2c, 0xfc, 0x11, 0xa2, 0x06, 0x09, 0x93, 0xd9, 0xe6, 0x54, 0x48, 0x55, 0x96, 0x62, 0xaa, 0x8b,
+	0x8f, 0x4c, 0xce, 0x7f, 0x55, 0x5f, 0xbd, 0xc1, 0xe3, 0x7d, 0xbc, 0x7c, 0x3b, 0xf4, 0x1f, 0x6f,
+	0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x5e, 0xdf, 0x2e, 0x09, 0xe2, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/system_parameter.proto b/googleapis/api/serviceconfig/system_parameter.proto
deleted file mode 100644
index ebd11039b85eadc336d1bfc60824a1b4b08c2601..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/system_parameter.proto
+++ /dev/null
@@ -1,97 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-option java_multiple_files = true;
-option java_outer_classname = "SystemParameterProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// ### System parameter configuration
-//
-// A system parameter is a special kind of parameter defined by the API
-// system, not by an individual API. It is typically mapped to an HTTP header
-// and/or a URL query parameter. This configuration specifies which methods
-// change the names of the system parameters.
-message SystemParameters {
-  // Define system parameters.
-  //
-  // The parameters defined here will override the default parameters
-  // implemented by the system. If this field is missing from the service
-  // config, default system parameters will be used. Default system parameters
-  // and names is implementation-dependent.
-  //
-  // Example: define api key and alt name for all methods
-  //
-  // system_parameters
-  //   rules:
-  //     - selector: "*"
-  //       parameters:
-  //         - name: api_key
-  //           url_query_parameter: api_key
-  //         - name: alt
-  //           http_header: Response-Content-Type
-  //
-  // Example: define 2 api key names for a specific method.
-  //
-  // system_parameters
-  //   rules:
-  //     - selector: "/ListShelves"
-  //       parameters:
-  //         - name: api_key
-  //           http_header: Api-Key1
-  //         - name: api_key
-  //           http_header: Api-Key2
-  //
-  // **NOTE:** All service configuration rules follow "last one wins" order.
-  repeated SystemParameterRule rules = 1;
-}
-
-// Define a system parameter rule mapping system parameter definitions to
-// methods.
-message SystemParameterRule {
-  // Selects the methods to which this rule applies. Use '*' to indicate all
-  // methods in all APIs.
-  //
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  string selector = 1;
-
-  // Define parameters. Multiple names may be defined for a parameter.
-  // For a given method call, only one of them should be used. If multiple
-  // names are used the behavior is implementation-dependent.
-  // If none of the specified names are present the behavior is
-  // parameter-dependent.
-  repeated SystemParameter parameters = 2;
-}
-
-// Define a parameter's name and location. The parameter may be passed as either
-// an HTTP header or a URL query parameter, and if both are passed the behavior
-// is implementation-dependent.
-message SystemParameter {
-  // Define the name of the parameter, such as "api_key", "alt", "callback",
-  // and etc. It is case sensitive.
-  string name = 1;
-
-  // Define the HTTP header name to use for the parameter. It is case
-  // insensitive.
-  string http_header = 2;
-
-  // Define the URL query parameter name to use for the parameter. It is case
-  // sensitive.
-  string url_query_parameter = 3;
-}
diff --git a/googleapis/api/serviceconfig/usage.pb.go b/googleapis/api/serviceconfig/usage.pb.go
index 21c49aafd142a595b27b169dd4ce725413887b98..cabacf866dfbc5d74373bcdcb7c3acbba8db6d1d 100644
--- a/googleapis/api/serviceconfig/usage.pb.go
+++ b/googleapis/api/serviceconfig/usage.pb.go
@@ -1,12 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/usage.proto
+// source: google/api/usage.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -23,12 +24,28 @@ type Usage struct {
 	//
 	// **NOTE:** All service configuration rules follow "last one wins" order.
 	Rules []*UsageRule `protobuf:"bytes,6,rep,name=rules" json:"rules,omitempty"`
+	// The full resource name of a channel used for sending notifications to the
+	// service producer.
+	//
+	// Google Service Management currently only supports
+	// [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
+	// channel. To use Google Cloud Pub/Sub as the channel, this must be the name
+	// of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
+	// documented in https://cloud.google.com/pubsub/docs/overview.
+	ProducerNotificationChannel string `protobuf:"bytes,7,opt,name=producer_notification_channel,json=producerNotificationChannel" json:"producer_notification_channel,omitempty"`
 }
 
 func (m *Usage) Reset()                    { *m = Usage{} }
 func (m *Usage) String() string            { return proto.CompactTextString(m) }
 func (*Usage) ProtoMessage()               {}
-func (*Usage) Descriptor() ([]byte, []int) { return fileDescriptor15, []int{0} }
+func (*Usage) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{0} }
+
+func (m *Usage) GetRequirements() []string {
+	if m != nil {
+		return m.Requirements
+	}
+	return nil
+}
 
 func (m *Usage) GetRules() []*UsageRule {
 	if m != nil {
@@ -37,6 +54,13 @@ func (m *Usage) GetRules() []*UsageRule {
 	return nil
 }
 
+func (m *Usage) GetProducerNotificationChannel() string {
+	if m != nil {
+		return m.ProducerNotificationChannel
+	}
+	return ""
+}
+
 // Usage configuration rules for the service.
 //
 // NOTE: Under development.
@@ -75,34 +99,48 @@ type UsageRule struct {
 func (m *UsageRule) Reset()                    { *m = UsageRule{} }
 func (m *UsageRule) String() string            { return proto.CompactTextString(m) }
 func (*UsageRule) ProtoMessage()               {}
-func (*UsageRule) Descriptor() ([]byte, []int) { return fileDescriptor15, []int{1} }
+func (*UsageRule) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{1} }
+
+func (m *UsageRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
+
+func (m *UsageRule) GetAllowUnregisteredCalls() bool {
+	if m != nil {
+		return m.AllowUnregisteredCalls
+	}
+	return false
+}
 
 func init() {
 	proto.RegisterType((*Usage)(nil), "google.api.Usage")
 	proto.RegisterType((*UsageRule)(nil), "google.api.UsageRule")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/usage.proto", fileDescriptor15)
-}
+func init() { proto.RegisterFile("google/api/usage.proto", fileDescriptor13) }
 
-var fileDescriptor15 = []byte{
-	// 259 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x8f, 0x4d, 0x4b, 0xc3, 0x40,
-	0x10, 0x86, 0x49, 0x6b, 0x4b, 0x3b, 0x8a, 0x87, 0x80, 0x12, 0x7a, 0x0a, 0x01, 0x21, 0x20, 0x24,
-	0xa0, 0x17, 0xaf, 0xb6, 0x07, 0xe9, 0x2d, 0x2c, 0x14, 0xbc, 0x95, 0x71, 0x1d, 0x97, 0x85, 0xed,
-	0x4e, 0xdc, 0x0f, 0xfd, 0x3f, 0xfe, 0x52, 0xc9, 0x46, 0x6a, 0xbd, 0x7a, 0x9c, 0x79, 0x86, 0x67,
-	0xde, 0x17, 0x36, 0x8a, 0x59, 0x19, 0x6a, 0x14, 0x1b, 0xb4, 0xaa, 0x61, 0xa7, 0x5a, 0x45, 0xb6,
-	0x77, 0x1c, 0xb8, 0x1d, 0x11, 0xf6, 0xda, 0xb7, 0xd8, 0xeb, 0xd6, 0x93, 0xfb, 0xd0, 0x92, 0x24,
-	0xdb, 0x37, 0xad, 0xda, 0xe8, 0x51, 0x51, 0x93, 0x0e, 0x73, 0xf8, 0x91, 0x60, 0xaf, 0x57, 0xdb,
-	0xff, 0x0a, 0xd1, 0x5a, 0x0e, 0x18, 0x34, 0x5b, 0x3f, 0x6a, 0xab, 0x67, 0x98, 0xed, 0x86, 0x2f,
-	0x79, 0x05, 0x17, 0x8e, 0xde, 0xa3, 0x76, 0x74, 0x20, 0x1b, 0x7c, 0x91, 0x95, 0xd3, 0x7a, 0x29,
-	0xfe, 0xec, 0xf2, 0x5b, 0x98, 0xb9, 0x68, 0xc8, 0x17, 0xf3, 0x72, 0x5a, 0x9f, 0xdf, 0x5d, 0x35,
-	0xbf, 0x99, 0x9a, 0x64, 0x11, 0xd1, 0x90, 0x18, 0x6f, 0x2a, 0x84, 0xe5, 0x71, 0x97, 0xaf, 0x60,
-	0xe1, 0xc9, 0x90, 0x0c, 0xec, 0x8a, 0xac, 0xcc, 0xea, 0xa5, 0x38, 0xce, 0xf9, 0x03, 0x14, 0x68,
-	0x0c, 0x7f, 0xee, 0xa3, 0x75, 0xa4, 0xb4, 0x0f, 0xe4, 0xe8, 0x75, 0x2f, 0xd1, 0x18, 0x5f, 0x4c,
-	0xca, 0xac, 0x5e, 0x88, 0xeb, 0xc4, 0x77, 0x27, 0x78, 0x33, 0xd0, 0xf5, 0x0d, 0x5c, 0x4a, 0x3e,
-	0x9c, 0xa4, 0x58, 0x43, 0x7a, 0xd9, 0x0d, 0xd5, 0xba, 0xec, 0x6b, 0x72, 0xf6, 0xf4, 0xd8, 0x6d,
-	0x5f, 0xe6, 0xa9, 0xea, 0xfd, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x72, 0x2d, 0x47, 0x30, 0x88,
-	0x01, 0x00, 0x00,
+var fileDescriptor13 = []byte{
+	// 303 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0xcf, 0x4b, 0x3b, 0x31,
+	0x10, 0xc5, 0x49, 0xfb, 0x6d, 0xbf, 0x6d, 0x14, 0x0f, 0x01, 0x4b, 0xa8, 0x0a, 0x4b, 0x4f, 0x0b,
+	0xc2, 0x2e, 0xe8, 0x45, 0xf0, 0x64, 0x8b, 0x88, 0x17, 0x29, 0x0b, 0xbd, 0x78, 0x59, 0x62, 0x3a,
+	0x8d, 0x81, 0x34, 0xb3, 0xe6, 0x87, 0xfe, 0x33, 0x9e, 0xfc, 0x4b, 0xa5, 0x59, 0xad, 0xdb, 0xe3,
+	0xcc, 0xfb, 0xbc, 0x79, 0xcc, 0xa3, 0x13, 0x85, 0xa8, 0x0c, 0x94, 0xa2, 0xd1, 0x65, 0xf4, 0x42,
+	0x41, 0xd1, 0x38, 0x0c, 0xc8, 0x68, 0xbb, 0x2f, 0x44, 0xa3, 0xa7, 0xe7, 0x1d, 0x46, 0x58, 0x8b,
+	0x41, 0x04, 0x8d, 0xd6, 0xb7, 0xe4, 0xec, 0x93, 0xd0, 0xc1, 0x6a, 0xe7, 0x64, 0x33, 0x7a, 0xec,
+	0xe0, 0x2d, 0x6a, 0x07, 0x5b, 0xb0, 0xc1, 0x73, 0x92, 0xf5, 0xf3, 0x71, 0x75, 0xb0, 0x63, 0x97,
+	0x74, 0xe0, 0xa2, 0x01, 0xcf, 0x87, 0x59, 0x3f, 0x3f, 0xba, 0x3a, 0x2d, 0xfe, 0x72, 0x8a, 0x74,
+	0xa5, 0x8a, 0x06, 0xaa, 0x96, 0x61, 0x73, 0x7a, 0xd1, 0x38, 0x5c, 0x47, 0x09, 0xae, 0xb6, 0x18,
+	0xf4, 0x46, 0xcb, 0x14, 0x5d, 0xcb, 0x57, 0x61, 0x2d, 0x18, 0xfe, 0x3f, 0x23, 0xf9, 0xb8, 0x3a,
+	0xfb, 0x85, 0x9e, 0x3a, 0xcc, 0xa2, 0x45, 0x66, 0x82, 0x8e, 0xf7, 0x77, 0xd9, 0x94, 0x8e, 0x3c,
+	0x18, 0x90, 0x01, 0x1d, 0x27, 0xc9, 0xbb, 0x9f, 0xd9, 0x0d, 0xe5, 0xc2, 0x18, 0xfc, 0xa8, 0xa3,
+	0x75, 0xa0, 0xb4, 0x0f, 0xe0, 0x60, 0x5d, 0x4b, 0x61, 0x8c, 0xe7, 0xbd, 0x8c, 0xe4, 0xa3, 0x6a,
+	0x92, 0xf4, 0x55, 0x47, 0x5e, 0xec, 0xd4, 0xb9, 0xa1, 0x27, 0x12, 0xb7, 0x9d, 0x4f, 0xe6, 0x34,
+	0x45, 0x2e, 0x77, 0xfd, 0x2c, 0xc9, 0xf3, 0xfd, 0x8f, 0xa2, 0xd0, 0x08, 0xab, 0x0a, 0x74, 0xaa,
+	0x54, 0x60, 0x53, 0x7b, 0x65, 0x2b, 0x89, 0x46, 0xfb, 0x54, 0xaf, 0x07, 0xf7, 0xae, 0x25, 0x48,
+	0xb4, 0x1b, 0xad, 0x6e, 0x0f, 0xa6, 0xaf, 0xde, 0xbf, 0x87, 0xbb, 0xe5, 0xe3, 0xcb, 0x30, 0x19,
+	0xaf, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x8d, 0xba, 0x6f, 0x72, 0xba, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/usage.proto b/googleapis/api/serviceconfig/usage.proto
deleted file mode 100644
index 0c46d9547a47623c88d7be4928fac1ec7506b23c..0000000000000000000000000000000000000000
--- a/googleapis/api/serviceconfig/usage.proto
+++ /dev/null
@@ -1,74 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "UsageProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// Configuration controlling usage of a service.
-message Usage {
-  // Requirements that must be satisfied before a consumer project can use the
-  // service. Each requirement is of the form <service.name>/<requirement-id>;
-  // for example 'serviceusage.googleapis.com/billing-enabled'.
-  repeated string requirements = 1;
-
-  // A list of usage rules that apply to individual API methods.
-  //
-  // **NOTE:** All service configuration rules follow "last one wins" order.
-  repeated UsageRule rules = 6;
-}
-
-// Usage configuration rules for the service.
-//
-// NOTE: Under development.
-//
-//
-// Use this rule to configure unregistered calls for the service. Unregistered
-// calls are calls that do not contain consumer project identity.
-// (Example: calls that do not contain an API key).
-// By default, API methods do not allow unregistered calls, and each method call
-// must be identified by a consumer project identity. Use this rule to
-// allow/disallow unregistered calls.
-//
-// Example of an API that wants to allow unregistered calls for entire service.
-//
-//     usage:
-//       rules:
-//       - selector: "*"
-//         allow_unregistered_calls: true
-//
-// Example of a method that wants to allow unregistered calls.
-//
-//     usage:
-//       rules:
-//       - selector: "google.example.library.v1.LibraryService.CreateBook"
-//         allow_unregistered_calls: true
-message UsageRule {
-  // Selects the methods to which this rule applies. Use '*' to indicate all
-  // methods in all APIs.
-  //
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  string selector = 1;
-
-  // True, if the method allows unregistered calls; false otherwise.
-  bool allow_unregistered_calls = 2;
-}
diff --git a/googleapis/api/servicecontrol/v1/check_error.pb.go b/googleapis/api/servicecontrol/v1/check_error.pb.go
index d42ad7ea30f6d2d9f4b0ca4b0aac2d90a5e797b5..3d493e158d7301f9605f8b834ebe5fde1908df9b 100644
--- a/googleapis/api/servicecontrol/v1/check_error.pb.go
+++ b/googleapis/api/servicecontrol/v1/check_error.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/check_error.proto
+// source: google/api/servicecontrol/v1/check_error.proto
 // DO NOT EDIT!
 
 /*
-Package google_api_servicecontrol_v1 is a generated protocol buffer package.
+Package servicecontrol is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/api/servicecontrol/v1/check_error.proto
-	google.golang.org/genproto/googleapis/api/servicecontrol/v1/distribution.proto
-	google.golang.org/genproto/googleapis/api/servicecontrol/v1/log_entry.proto
-	google.golang.org/genproto/googleapis/api/servicecontrol/v1/metric_value.proto
-	google.golang.org/genproto/googleapis/api/servicecontrol/v1/operation.proto
-	google.golang.org/genproto/googleapis/api/servicecontrol/v1/service_controller.proto
+	google/api/servicecontrol/v1/check_error.proto
+	google/api/servicecontrol/v1/distribution.proto
+	google/api/servicecontrol/v1/log_entry.proto
+	google/api/servicecontrol/v1/metric_value.proto
+	google/api/servicecontrol/v1/operation.proto
+	google/api/servicecontrol/v1/service_controller.proto
 
 It has these top-level messages:
 	CheckError
@@ -25,12 +25,12 @@ It has these top-level messages:
 	ReportRequest
 	ReportResponse
 */
-package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+package servicecontrol
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -146,45 +146,58 @@ func (m *CheckError) String() string            { return proto.CompactTextString
 func (*CheckError) ProtoMessage()               {}
 func (*CheckError) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *CheckError) GetCode() CheckError_Code {
+	if m != nil {
+		return m.Code
+	}
+	return CheckError_ERROR_CODE_UNSPECIFIED
+}
+
+func (m *CheckError) GetDetail() string {
+	if m != nil {
+		return m.Detail
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*CheckError)(nil), "google.api.servicecontrol.v1.CheckError")
 	proto.RegisterEnum("google.api.servicecontrol.v1.CheckError_Code", CheckError_Code_name, CheckError_Code_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicecontrol/v1/check_error.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/api/servicecontrol/v1/check_error.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 478 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0x4f, 0x6f, 0xd3, 0x3e,
-	0x18, 0xc7, 0x7f, 0xe9, 0xaf, 0x0c, 0x66, 0x09, 0x16, 0x0c, 0xab, 0x46, 0x35, 0x89, 0xb2, 0xd3,
-	0x2e, 0x24, 0x1a, 0x5c, 0xb8, 0xba, 0xf6, 0x53, 0x30, 0x4d, 0x63, 0xcb, 0x4e, 0xaa, 0x71, 0xb2,
-	0x42, 0x1a, 0xb2, 0x68, 0x5d, 0x5c, 0xd2, 0xa8, 0xaf, 0x83, 0x57, 0xc1, 0x09, 0x78, 0x7d, 0x1c,
-	0x91, 0xbb, 0xb5, 0xdd, 0x24, 0xb4, 0x03, 0x47, 0x7f, 0x9f, 0xcf, 0xf3, 0x7c, 0xfd, 0xfc, 0x41,
-	0x93, 0xd2, 0xda, 0x72, 0x5e, 0x04, 0xa5, 0x9d, 0x67, 0x75, 0x19, 0xd8, 0xa6, 0x0c, 0xcb, 0xa2,
-	0x5e, 0x34, 0xb6, 0xb5, 0xe1, 0x75, 0x28, 0x5b, 0x54, 0xcb, 0x30, 0x5b, 0x54, 0xe1, 0xb2, 0x68,
-	0x56, 0x55, 0x5e, 0xe4, 0xb6, 0x6e, 0x1b, 0x3b, 0x0f, 0x57, 0x67, 0x61, 0x7e, 0x51, 0xe4, 0x97,
-	0xa6, 0x68, 0x1a, 0xdb, 0x04, 0xeb, 0x14, 0x7c, 0x7c, 0x53, 0x2e, 0x5b, 0x54, 0xc1, 0x5d, 0x3e,
-	0x58, 0x9d, 0xf5, 0xf9, 0xbf, 0x98, 0x7d, 0xa9, 0xca, 0x30, 0xab, 0x6b, 0xdb, 0x66, 0x6d, 0x65,
-	0xeb, 0xe5, 0xb5, 0xd1, 0xc9, 0xb7, 0x2e, 0x42, 0xd4, 0xd9, 0x83, 0x73, 0xc7, 0x04, 0x75, 0x73,
-	0x3b, 0x2b, 0x8e, 0xbc, 0x81, 0x77, 0xfa, 0xe4, 0xcd, 0xeb, 0xe0, 0xbe, 0x6f, 0x04, 0xbb, 0xbc,
-	0x80, 0xda, 0x59, 0xa1, 0xd6, 0xa9, 0xb8, 0x87, 0xf6, 0x66, 0x45, 0x9b, 0x55, 0xf3, 0xa3, 0xce,
-	0xc0, 0x3b, 0xdd, 0x57, 0x37, 0xaf, 0x93, 0xef, 0xff, 0xa3, 0xae, 0xc3, 0x70, 0x1f, 0xf5, 0x40,
-	0x29, 0xa1, 0x0c, 0x15, 0x0c, 0x4c, 0x1a, 0x6b, 0x09, 0x94, 0x8f, 0x38, 0x30, 0xff, 0x3f, 0xfc,
-	0x18, 0xed, 0xc7, 0x22, 0x31, 0x23, 0x91, 0xc6, 0xcc, 0x7f, 0x80, 0x0f, 0xd1, 0x53, 0x09, 0x6a,
-	0xc2, 0xb5, 0xe6, 0x22, 0x36, 0x0c, 0x62, 0x47, 0x3d, 0xc4, 0x3d, 0x84, 0x15, 0x68, 0x91, 0x2a,
-	0x0a, 0x06, 0xce, 0x3f, 0x90, 0x54, 0x27, 0xc0, 0xfc, 0x47, 0xf8, 0x05, 0x3a, 0xd4, 0xa0, 0xa6,
-	0x9c, 0x82, 0x71, 0x55, 0x08, 0x4d, 0xf8, 0x94, 0xb8, 0xd0, 0x05, 0x7e, 0x8e, 0xfc, 0x21, 0x8f,
-	0x22, 0x1e, 0xbf, 0x37, 0x8c, 0x6b, 0x32, 0x8c, 0x80, 0xf9, 0x97, 0xf8, 0x19, 0x3a, 0x90, 0x4a,
-	0x7c, 0x04, 0x9a, 0x18, 0x06, 0x11, 0x38, 0x74, 0x7e, 0x5b, 0xe4, 0xf1, 0x94, 0x44, 0x9c, 0xf9,
-	0x8d, 0xb3, 0xe4, 0xd2, 0x10, 0xc6, 0x14, 0x68, 0x6d, 0x86, 0x91, 0xa0, 0x63, 0x60, 0xfe, 0x95,
-	0x83, 0x15, 0x8c, 0x40, 0x81, 0xda, 0x8a, 0xb5, 0x83, 0x69, 0xc4, 0x21, 0x4e, 0x0c, 0x91, 0x72,
-	0xab, 0x5b, 0x07, 0x13, 0xc9, 0xcd, 0x18, 0x3e, 0x6d, 0x2b, 0x57, 0xb7, 0x45, 0x38, 0x97, 0x5c,
-	0x01, 0xf3, 0x17, 0xae, 0xf1, 0x8d, 0xb8, 0x9b, 0xc7, 0x57, 0xfc, 0x0a, 0x1d, 0xc7, 0x64, 0x02,
-	0x5a, 0x12, 0x0a, 0x26, 0x12, 0x62, 0x9c, 0x4a, 0x93, 0xc6, 0x64, 0x4a, 0x78, 0xe4, 0x5a, 0xf2,
-	0x7f, 0x74, 0xf0, 0x4b, 0xd4, 0xdf, 0xcc, 0x40, 0x27, 0x24, 0x49, 0xf5, 0x1d, 0xe0, 0xe7, 0x1a,
-	0xd8, 0x4c, 0xe2, 0x2f, 0xc0, 0xaf, 0xce, 0xf0, 0x1d, 0x1a, 0xe4, 0xf6, 0xea, 0xde, 0xd5, 0x0f,
-	0x0f, 0x76, 0xbb, 0x97, 0xee, 0x8e, 0xa4, 0xf7, 0xdb, 0xf3, 0x3e, 0xef, 0xad, 0x6f, 0xea, 0xed,
-	0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x76, 0xc3, 0x8a, 0x33, 0x0d, 0x03, 0x00, 0x00,
+	// 484 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xdd, 0x6e, 0xd3, 0x3e,
+	0x18, 0xc6, 0xff, 0xe9, 0xbf, 0x0c, 0x66, 0x09, 0x16, 0x0c, 0xab, 0x46, 0x55, 0x89, 0xb2, 0xa3,
+	0x9d, 0x90, 0x68, 0x70, 0xc8, 0x91, 0x6b, 0xbf, 0x05, 0xaf, 0x59, 0x62, 0xd9, 0x49, 0x35, 0x38,
+	0xb1, 0x42, 0x1a, 0x65, 0xd1, 0xba, 0xb8, 0xa4, 0x51, 0xaf, 0x80, 0x0b, 0xe0, 0x2a, 0x38, 0x02,
+	0xae, 0x8f, 0x43, 0xe4, 0x76, 0xfd, 0x92, 0xa6, 0x1d, 0xfa, 0x79, 0x7f, 0xcf, 0x63, 0xbd, 0x1f,
+	0xc8, 0x2b, 0x8c, 0x29, 0xa6, 0xb9, 0x9f, 0xce, 0x4a, 0x7f, 0x9e, 0xd7, 0x8b, 0x32, 0xcb, 0x33,
+	0x53, 0x35, 0xb5, 0x99, 0xfa, 0x8b, 0x73, 0x3f, 0xbb, 0xce, 0xb3, 0x1b, 0x9d, 0xd7, 0xb5, 0xa9,
+	0xbd, 0x59, 0x6d, 0x1a, 0x83, 0x7b, 0x2b, 0xde, 0x4b, 0x67, 0xa5, 0xb7, 0xcf, 0x7b, 0x8b, 0xf3,
+	0x6e, 0x6f, 0x27, 0x2d, 0xad, 0x2a, 0xd3, 0xa4, 0x4d, 0x69, 0xaa, 0xf9, 0xca, 0x7b, 0xfa, 0xa3,
+	0x8d, 0x10, 0xb5, 0x89, 0x60, 0x03, 0x31, 0x41, 0xed, 0xcc, 0x4c, 0xf2, 0x13, 0xa7, 0xef, 0x9c,
+	0x3d, 0x7b, 0xf7, 0xd6, 0x7b, 0x28, 0xd9, 0xdb, 0xfa, 0x3c, 0x6a, 0x26, 0xb9, 0x5c, 0x5a, 0x71,
+	0x07, 0x1d, 0x4c, 0xf2, 0x26, 0x2d, 0xa7, 0x27, 0xad, 0xbe, 0x73, 0x76, 0x28, 0xef, 0x5e, 0xa7,
+	0x3f, 0xff, 0x47, 0x6d, 0x8b, 0xe1, 0x2e, 0xea, 0x80, 0x94, 0x91, 0xd4, 0x34, 0x62, 0xa0, 0x93,
+	0x50, 0x09, 0xa0, 0x7c, 0xc8, 0x81, 0xb9, 0xff, 0xe1, 0xa7, 0xe8, 0x30, 0x8c, 0x62, 0x3d, 0x8c,
+	0x92, 0x90, 0xb9, 0x8f, 0xf0, 0x31, 0x7a, 0x2e, 0x40, 0x5e, 0x72, 0xa5, 0x78, 0x14, 0x6a, 0x06,
+	0xa1, 0xa5, 0x1e, 0xe3, 0x0e, 0xc2, 0x12, 0x54, 0x94, 0x48, 0x0a, 0x1a, 0xae, 0x3e, 0x91, 0x44,
+	0xc5, 0xc0, 0xdc, 0x27, 0xf8, 0x15, 0x3a, 0x56, 0x20, 0xc7, 0x9c, 0x82, 0xb6, 0x29, 0x84, 0xc6,
+	0x7c, 0x4c, 0x6c, 0xe9, 0x1a, 0xbf, 0x44, 0xee, 0x80, 0x07, 0x01, 0x0f, 0x3f, 0x6a, 0xc6, 0x15,
+	0x19, 0x04, 0xc0, 0xdc, 0x1b, 0xfc, 0x02, 0x1d, 0x09, 0x19, 0x5d, 0x00, 0x8d, 0x35, 0x83, 0x00,
+	0x2c, 0x3a, 0xdd, 0x15, 0x79, 0x38, 0x26, 0x01, 0x67, 0x6e, 0x6d, 0xbf, 0xe4, 0x42, 0x13, 0xc6,
+	0x24, 0x28, 0xa5, 0x07, 0x41, 0x44, 0x47, 0xc0, 0xdc, 0x5b, 0x0b, 0x4b, 0x18, 0x82, 0x04, 0xb9,
+	0x11, 0x2b, 0x0b, 0xd3, 0x80, 0x43, 0x18, 0x6b, 0x22, 0xc4, 0x46, 0x37, 0x16, 0x26, 0x82, 0xeb,
+	0x11, 0x7c, 0xde, 0x24, 0x97, 0xbb, 0x22, 0x5c, 0x09, 0x2e, 0x81, 0xb9, 0x33, 0xdb, 0xf8, 0x5a,
+	0xdc, 0xce, 0xe3, 0x1b, 0x7e, 0x83, 0x7a, 0x21, 0xb9, 0x04, 0x25, 0x08, 0x05, 0x1d, 0x44, 0xd1,
+	0x28, 0x11, 0x3a, 0x09, 0xc9, 0x98, 0xf0, 0xc0, 0xb6, 0xe4, 0xfe, 0x6a, 0xe1, 0xd7, 0xa8, 0xbb,
+	0x9e, 0x81, 0x8a, 0x49, 0x9c, 0xa8, 0x3d, 0xe0, 0xf7, 0x12, 0x58, 0x4f, 0xe2, 0x1e, 0xe0, 0x4f,
+	0x6b, 0xf0, 0xdd, 0x41, 0xfd, 0xcc, 0xdc, 0x3e, 0xb8, 0xfb, 0xc1, 0xd1, 0x76, 0xf9, 0xc2, 0x1e,
+	0x92, 0x70, 0xbe, 0x5c, 0xdc, 0x19, 0x0a, 0x33, 0x4d, 0xab, 0xc2, 0x33, 0x75, 0xe1, 0x17, 0x79,
+	0xb5, 0x3c, 0x33, 0x7f, 0x55, 0x4a, 0x67, 0xe5, 0xfc, 0xfe, 0xab, 0xfe, 0xb0, 0xaf, 0xfc, 0x75,
+	0x9c, 0xaf, 0x07, 0x4b, 0xe7, 0xfb, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x7d, 0x65, 0x26, 0xbf,
+	0x0e, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/api/servicecontrol/v1/check_error.proto b/googleapis/api/servicecontrol/v1/check_error.proto
deleted file mode 100644
index 164e95a3e92b1c96afac734aff2e084cdfa0a36c..0000000000000000000000000000000000000000
--- a/googleapis/api/servicecontrol/v1/check_error.proto
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api.servicecontrol.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "CheckErrorProto";
-option java_package = "com.google.api.servicecontrol.v1";
-
-
-// Defines the errors to be returned in
-// [google.api.servicecontrol.v1.CheckResponse.check_errors][google.api.servicecontrol.v1.CheckResponse.check_errors].
-message CheckError {
-  // Error codes for Check responses.
-  enum Code {
-    // This is never used in `CheckResponse`.
-    ERROR_CODE_UNSPECIFIED = 0;
-
-    // The consumer's project id was not found.
-    // Same as [google.rpc.Code.NOT_FOUND][].
-    NOT_FOUND = 5;
-
-    // The consumer doesn't have access to the specified resource.
-    // Same as [google.rpc.Code.PERMISSION_DENIED][].
-    PERMISSION_DENIED = 7;
-
-    // Quota check failed. Same as [google.rpc.Code.RESOURCE_EXHAUSTED][].
-    RESOURCE_EXHAUSTED = 8;
-
-    // The consumer hasn't activated the service.
-    SERVICE_NOT_ACTIVATED = 104;
-
-    // The consumer cannot access the service because billing is disabled.
-    BILLING_DISABLED = 107;
-
-    // The consumer's project has been marked as deleted (soft deletion).
-    PROJECT_DELETED = 108;
-
-    // The consumer's project number or id does not represent a valid project.
-    PROJECT_INVALID = 114;
-
-    // The IP address of the consumer is invalid for the specific consumer
-    // project.
-    IP_ADDRESS_BLOCKED = 109;
-
-    // The referer address of the consumer request is invalid for the specific
-    // consumer project.
-    REFERER_BLOCKED = 110;
-
-    // The client application of the consumer request is invalid for the
-    // specific consumer project.
-    CLIENT_APP_BLOCKED = 111;
-
-    // The consumer's API key is invalid.
-    API_KEY_INVALID = 105;
-
-    // The consumer's API Key has expired.
-    API_KEY_EXPIRED = 112;
-
-    // The consumer's API Key was not found in config record.
-    API_KEY_NOT_FOUND = 113;
-
-    // The backend server for looking up project id/number is unavailable.
-    NAMESPACE_LOOKUP_UNAVAILABLE = 300;
-
-    // The backend server for checking service status is unavailable.
-    SERVICE_STATUS_UNAVAILABLE = 301;
-
-    // The backend server for checking billing status is unavailable.
-    BILLING_STATUS_UNAVAILABLE = 302;
-  }
-
-  // The error code.
-  Code code = 1;
-
-  // Free-form text providing details on the error cause of the error.
-  string detail = 2;
-}
diff --git a/googleapis/api/servicecontrol/v1/distribution.pb.go b/googleapis/api/servicecontrol/v1/distribution.pb.go
index 7fd2c79ed15fb476f62b64290983e6b2f1e97972..90c86821f52afd3e166351c0fc76dfed056872d3 100644
--- a/googleapis/api/servicecontrol/v1/distribution.pb.go
+++ b/googleapis/api/servicecontrol/v1/distribution.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/distribution.proto
+// source: google/api/servicecontrol/v1/distribution.proto
 // DO NOT EDIT!
 
-package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+package servicecontrol
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -109,6 +109,48 @@ func (m *Distribution) GetBucketOption() isDistribution_BucketOption {
 	return nil
 }
 
+func (m *Distribution) GetCount() int64 {
+	if m != nil {
+		return m.Count
+	}
+	return 0
+}
+
+func (m *Distribution) GetMean() float64 {
+	if m != nil {
+		return m.Mean
+	}
+	return 0
+}
+
+func (m *Distribution) GetMinimum() float64 {
+	if m != nil {
+		return m.Minimum
+	}
+	return 0
+}
+
+func (m *Distribution) GetMaximum() float64 {
+	if m != nil {
+		return m.Maximum
+	}
+	return 0
+}
+
+func (m *Distribution) GetSumOfSquaredDeviation() float64 {
+	if m != nil {
+		return m.SumOfSquaredDeviation
+	}
+	return 0
+}
+
+func (m *Distribution) GetBucketCounts() []int64 {
+	if m != nil {
+		return m.BucketCounts
+	}
+	return nil
+}
+
 func (m *Distribution) GetLinearBuckets() *Distribution_LinearBuckets {
 	if x, ok := m.GetBucketOption().(*Distribution_LinearBuckets_); ok {
 		return x.LinearBuckets
@@ -245,6 +287,27 @@ func (m *Distribution_LinearBuckets) String() string            { return proto.C
 func (*Distribution_LinearBuckets) ProtoMessage()               {}
 func (*Distribution_LinearBuckets) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 0} }
 
+func (m *Distribution_LinearBuckets) GetNumFiniteBuckets() int32 {
+	if m != nil {
+		return m.NumFiniteBuckets
+	}
+	return 0
+}
+
+func (m *Distribution_LinearBuckets) GetWidth() float64 {
+	if m != nil {
+		return m.Width
+	}
+	return 0
+}
+
+func (m *Distribution_LinearBuckets) GetOffset() float64 {
+	if m != nil {
+		return m.Offset
+	}
+	return 0
+}
+
 // Describing buckets with exponentially growing width.
 type Distribution_ExponentialBuckets struct {
 	// The number of finite buckets. With the underflow and overflow buckets,
@@ -270,6 +333,27 @@ func (*Distribution_ExponentialBuckets) Descriptor() ([]byte, []int) {
 	return fileDescriptor1, []int{0, 1}
 }
 
+func (m *Distribution_ExponentialBuckets) GetNumFiniteBuckets() int32 {
+	if m != nil {
+		return m.NumFiniteBuckets
+	}
+	return 0
+}
+
+func (m *Distribution_ExponentialBuckets) GetGrowthFactor() float64 {
+	if m != nil {
+		return m.GrowthFactor
+	}
+	return 0
+}
+
+func (m *Distribution_ExponentialBuckets) GetScale() float64 {
+	if m != nil {
+		return m.Scale
+	}
+	return 0
+}
+
 // Describing buckets with arbitrary user-provided width.
 type Distribution_ExplicitBuckets struct {
 	// 'bound' is a list of strictly increasing boundaries between
@@ -295,6 +379,13 @@ func (m *Distribution_ExplicitBuckets) String() string            { return proto
 func (*Distribution_ExplicitBuckets) ProtoMessage()               {}
 func (*Distribution_ExplicitBuckets) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 2} }
 
+func (m *Distribution_ExplicitBuckets) GetBounds() []float64 {
+	if m != nil {
+		return m.Bounds
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*Distribution)(nil), "google.api.servicecontrol.v1.Distribution")
 	proto.RegisterType((*Distribution_LinearBuckets)(nil), "google.api.servicecontrol.v1.Distribution.LinearBuckets")
@@ -302,40 +393,39 @@ func init() {
 	proto.RegisterType((*Distribution_ExplicitBuckets)(nil), "google.api.servicecontrol.v1.Distribution.ExplicitBuckets")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicecontrol/v1/distribution.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/api/servicecontrol/v1/distribution.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 474 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x93, 0xcf, 0x6e, 0xd3, 0x40,
-	0x10, 0xc6, 0x31, 0x6e, 0x52, 0x18, 0x1a, 0x52, 0x96, 0x82, 0xac, 0x88, 0x83, 0x45, 0x2f, 0x41,
-	0x42, 0xb6, 0x0a, 0x07, 0x50, 0x25, 0x2e, 0xa1, 0x54, 0x1c, 0x10, 0x54, 0xe6, 0x01, 0xac, 0x8d,
-	0xbd, 0x76, 0x57, 0xf5, 0xee, 0x98, 0xfd, 0x93, 0xe6, 0xc2, 0x3b, 0xf1, 0x78, 0x1c, 0x91, 0x77,
-	0x9d, 0x7f, 0x54, 0xaa, 0x94, 0x9b, 0xbf, 0xef, 0xf3, 0xcc, 0x6f, 0x3c, 0x1a, 0xc3, 0xf7, 0x1a,
-	0xb1, 0x6e, 0x58, 0x52, 0x63, 0x43, 0x65, 0x9d, 0xa0, 0xaa, 0xd3, 0x9a, 0xc9, 0x56, 0xa1, 0xc1,
-	0xd4, 0x47, 0xb4, 0xe5, 0x3a, 0xa5, 0x2d, 0x4f, 0x35, 0x53, 0x0b, 0x5e, 0xb0, 0x02, 0xa5, 0x51,
-	0xd8, 0xa4, 0x8b, 0xb3, 0xb4, 0xe4, 0xda, 0x28, 0x3e, 0xb7, 0x86, 0xa3, 0x4c, 0x5c, 0x0d, 0x79,
-	0xd5, 0xf7, 0xa3, 0x2d, 0x4f, 0x76, 0x0b, 0x92, 0xc5, 0xd9, 0xeb, 0x3f, 0x43, 0x38, 0xba, 0xd8,
-	0x2a, 0x22, 0x27, 0x30, 0x28, 0xd0, 0x4a, 0x13, 0x05, 0x71, 0x30, 0x0d, 0x33, 0x2f, 0x08, 0x81,
-	0x03, 0xc1, 0xa8, 0x8c, 0x1e, 0xc6, 0xc1, 0x34, 0xc8, 0xdc, 0x33, 0x89, 0xe0, 0x50, 0x70, 0xc9,
-	0x85, 0x15, 0x51, 0xe8, 0xec, 0x95, 0x74, 0x09, 0x5d, 0xba, 0xe4, 0xa0, 0x4f, 0xbc, 0x24, 0x1f,
-	0x20, 0xd2, 0x56, 0xe4, 0x58, 0xe5, 0xfa, 0x97, 0xa5, 0x8a, 0x95, 0x79, 0xc9, 0x16, 0x9c, 0x76,
-	0xe4, 0x68, 0xe0, 0x5e, 0x7d, 0xa1, 0xad, 0xf8, 0x51, 0xfd, 0xf4, 0xe9, 0xc5, 0x2a, 0x24, 0xa7,
-	0x30, 0x9a, 0xdb, 0xe2, 0x86, 0x99, 0xdc, 0x0d, 0xa4, 0xa3, 0x61, 0x1c, 0x4e, 0xc3, 0xec, 0xc8,
-	0x9b, 0x9f, 0x9d, 0x47, 0x28, 0x3c, 0x6d, 0xb8, 0x64, 0x54, 0xe5, 0xde, 0xd6, 0xd1, 0x61, 0x1c,
-	0x4c, 0x9f, 0xbc, 0xfb, 0x98, 0xdc, 0xb7, 0x83, 0x64, 0xfb, 0xfb, 0x93, 0x6f, 0xae, 0xc1, 0xcc,
-	0xd7, 0x7f, 0x7d, 0x90, 0x8d, 0x9a, 0x6d, 0x83, 0xb4, 0xf0, 0x9c, 0x2d, 0x5b, 0x94, 0x4c, 0x1a,
-	0x4e, 0x9b, 0x35, 0xe7, 0x91, 0xe3, 0x7c, 0xda, 0x83, 0xf3, 0x65, 0xd3, 0x65, 0x03, 0x23, 0xec,
-	0x8e, 0x4b, 0x6a, 0x38, 0x66, 0xcb, 0xb6, 0xe1, 0x05, 0x37, 0x6b, 0xdc, 0x63, 0x87, 0x3b, 0xdf,
-	0x0f, 0xe7, 0x5a, 0x6c, 0x58, 0x63, 0xb6, 0x6b, 0x4d, 0x6e, 0x60, 0xb4, 0xf3, 0xf1, 0xe4, 0x2d,
-	0x10, 0x69, 0x45, 0x5e, 0x71, 0xc9, 0x0d, 0x5b, 0xb3, 0xbb, 0xbb, 0x18, 0x64, 0xc7, 0xd2, 0x8a,
-	0x4b, 0x17, 0xac, 0xde, 0x3e, 0x81, 0xc1, 0x2d, 0x2f, 0xcd, 0x75, 0x7f, 0x23, 0x5e, 0x90, 0x97,
-	0x30, 0xc4, 0xaa, 0xd2, 0xcc, 0xf4, 0x37, 0xd2, 0xab, 0xc9, 0x6f, 0x20, 0x77, 0x37, 0xb0, 0x27,
-	0xf1, 0x14, 0x46, 0xb5, 0xc2, 0x5b, 0x73, 0x9d, 0x57, 0xb4, 0x30, 0xa8, 0x7a, 0xf2, 0x91, 0x37,
-	0x2f, 0x9d, 0xd7, 0x8d, 0xa5, 0x0b, 0xda, 0xb0, 0x9e, 0xef, 0xc5, 0xe4, 0x0d, 0x8c, 0xff, 0xdb,
-	0x48, 0x37, 0xe9, 0x1c, 0xad, 0x2c, 0x3b, 0x5e, 0xd8, 0x4d, 0xea, 0xd5, 0x6c, 0xbc, 0xbe, 0x3c,
-	0x6c, 0xbb, 0x55, 0xce, 0xce, 0x21, 0x2e, 0x50, 0xdc, 0xbb, 0xfb, 0xd9, 0xb3, 0xed, 0xe5, 0x5f,
-	0x75, 0xff, 0xe1, 0x55, 0xf0, 0x37, 0x08, 0xe6, 0x43, 0xf7, 0x4f, 0xbe, 0xff, 0x17, 0x00, 0x00,
-	0xff, 0xff, 0xfb, 0xfd, 0x43, 0xc4, 0xe5, 0x03, 0x00, 0x00,
+	// 486 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0x4d, 0x6f, 0xd3, 0x40,
+	0x10, 0x86, 0x31, 0x6e, 0x52, 0x18, 0x12, 0x52, 0x96, 0x82, 0xac, 0x88, 0x83, 0x45, 0x2f, 0x41,
+	0x42, 0xb6, 0x0a, 0x07, 0x10, 0x88, 0x4b, 0x28, 0x15, 0x42, 0x48, 0x54, 0xe6, 0xc6, 0xc5, 0xda,
+	0xd8, 0x6b, 0x77, 0x55, 0x7b, 0xc7, 0xec, 0x47, 0x9a, 0x0b, 0x57, 0x7e, 0x0f, 0x3f, 0x8f, 0x23,
+	0xf2, 0xae, 0xf3, 0x45, 0xab, 0x48, 0xb9, 0xf9, 0x7d, 0xc7, 0x33, 0xcf, 0xec, 0x68, 0x06, 0xe2,
+	0x12, 0xb1, 0xac, 0x58, 0x4c, 0x1b, 0x1e, 0x2b, 0x26, 0xe7, 0x3c, 0x63, 0x19, 0x0a, 0x2d, 0xb1,
+	0x8a, 0xe7, 0xa7, 0x71, 0xce, 0x95, 0x96, 0x7c, 0x66, 0x34, 0x47, 0x11, 0x35, 0x12, 0x35, 0x92,
+	0x67, 0x2e, 0x21, 0xa2, 0x0d, 0x8f, 0xb6, 0x13, 0xa2, 0xf9, 0xe9, 0xf3, 0x3f, 0x7d, 0x18, 0x9c,
+	0x6d, 0x24, 0x91, 0x63, 0xe8, 0x65, 0x68, 0x84, 0x0e, 0xbc, 0xd0, 0x9b, 0xf8, 0x89, 0x13, 0x84,
+	0xc0, 0x41, 0xcd, 0xa8, 0x08, 0xee, 0x86, 0xde, 0xc4, 0x4b, 0xec, 0x37, 0x09, 0xe0, 0xb0, 0xe6,
+	0x82, 0xd7, 0xa6, 0x0e, 0x7c, 0x6b, 0x2f, 0xa5, 0x8d, 0xd0, 0x85, 0x8d, 0x1c, 0x74, 0x11, 0x27,
+	0xc9, 0x1b, 0x08, 0x94, 0xa9, 0x53, 0x2c, 0x52, 0xf5, 0xd3, 0x50, 0xc9, 0xf2, 0x34, 0x67, 0x73,
+	0x4e, 0x5b, 0x72, 0xd0, 0xb3, 0xbf, 0x3e, 0x51, 0xa6, 0xfe, 0x56, 0x7c, 0x77, 0xd1, 0xb3, 0x65,
+	0x90, 0x9c, 0xc0, 0x70, 0x66, 0xb2, 0x2b, 0xa6, 0x53, 0xdb, 0x90, 0x0a, 0xfa, 0xa1, 0x3f, 0xf1,
+	0x93, 0x81, 0x33, 0x3f, 0x5a, 0x8f, 0x50, 0x78, 0x58, 0x71, 0xc1, 0xa8, 0x4c, 0x9d, 0xad, 0x82,
+	0xc3, 0xd0, 0x9b, 0x3c, 0x78, 0xf5, 0x36, 0xda, 0x35, 0x83, 0x68, 0xf3, 0xfd, 0xd1, 0x57, 0x5b,
+	0x60, 0xea, 0xf2, 0x3f, 0xdf, 0x49, 0x86, 0xd5, 0xa6, 0x41, 0x1a, 0x78, 0xcc, 0x16, 0x0d, 0x0a,
+	0x26, 0x34, 0xa7, 0xd5, 0x8a, 0x73, 0xcf, 0x72, 0x3e, 0xec, 0xc1, 0xf9, 0xb4, 0xae, 0xb2, 0x86,
+	0x11, 0x76, 0xc3, 0x25, 0x25, 0x1c, 0xb1, 0x45, 0x53, 0xf1, 0x8c, 0xeb, 0x15, 0xee, 0xbe, 0xc5,
+	0xbd, 0xdb, 0x0f, 0x67, 0x4b, 0xac, 0x59, 0x23, 0xb6, 0x6d, 0x8d, 0xaf, 0x60, 0xb8, 0xf5, 0x78,
+	0xf2, 0x12, 0x88, 0x30, 0x75, 0x5a, 0x70, 0xc1, 0x35, 0x5b, 0xb1, 0xdb, 0xbd, 0xe8, 0x25, 0x47,
+	0xc2, 0xd4, 0xe7, 0x36, 0xb0, 0xfc, 0xfb, 0x18, 0x7a, 0xd7, 0x3c, 0xd7, 0x97, 0xdd, 0x8e, 0x38,
+	0x41, 0x9e, 0x42, 0x1f, 0x8b, 0x42, 0x31, 0xdd, 0xed, 0x48, 0xa7, 0xc6, 0xbf, 0x80, 0xdc, 0x9c,
+	0xc0, 0x9e, 0xc4, 0x13, 0x18, 0x96, 0x12, 0xaf, 0xf5, 0x65, 0x5a, 0xd0, 0x4c, 0xa3, 0xec, 0xc8,
+	0x03, 0x67, 0x9e, 0x5b, 0xaf, 0x6d, 0x4b, 0x65, 0xb4, 0x62, 0x1d, 0xdf, 0x89, 0xf1, 0x0b, 0x18,
+	0xfd, 0x37, 0x91, 0xb6, 0xd3, 0x19, 0x1a, 0x91, 0xb7, 0x3c, 0xbf, 0xed, 0xd4, 0xa9, 0xe9, 0x68,
+	0xb5, 0x79, 0xd8, 0xb4, 0xa3, 0x9c, 0xfe, 0xf6, 0x20, 0xcc, 0xb0, 0xde, 0x39, 0xfc, 0xe9, 0xa3,
+	0xcd, 0xe9, 0x5f, 0xb4, 0x87, 0x78, 0xe1, 0xfd, 0xf8, 0xd2, 0xa5, 0x94, 0x58, 0x51, 0x51, 0x46,
+	0x28, 0xcb, 0xb8, 0x64, 0xc2, 0x9e, 0x69, 0x77, 0xd6, 0xb4, 0xe1, 0xea, 0xf6, 0xd3, 0x7e, 0xbf,
+	0xed, 0xfc, 0xf5, 0xbc, 0x59, 0xdf, 0x66, 0xbe, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff, 0x14, 0x52,
+	0xaf, 0xef, 0x13, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/api/servicecontrol/v1/distribution.proto b/googleapis/api/servicecontrol/v1/distribution.proto
deleted file mode 100644
index 83af1311b435f90c61bb7ee301ce7421842305a0..0000000000000000000000000000000000000000
--- a/googleapis/api/servicecontrol/v1/distribution.proto
+++ /dev/null
@@ -1,158 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api.servicecontrol.v1;
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "DistributionProto";
-option java_package = "com.google.api.servicecontrol.v1";
-
-
-// Distribution represents a frequency distribution of double-valued sample
-// points. It contains the size of the population of sample points plus
-// additional optional information:
-//
-//   - the arithmetic mean of the samples
-//   - the minimum and maximum of the samples
-//   - the sum-squared-deviation of the samples, used to compute variance
-//   - a histogram of the values of the sample points
-message Distribution {
-  // Describing buckets with constant width.
-  message LinearBuckets {
-    // The number of finite buckets. With the underflow and overflow buckets,
-    // the total number of buckets is `num_finite_buckets` + 2.
-    // See comments on `bucket_options` for details.
-    int32 num_finite_buckets = 1;
-
-    // The i'th linear bucket covers the interval
-    //   [offset + (i-1) * width, offset + i * width)
-    // where i ranges from 1 to num_finite_buckets, inclusive.
-    // Must be strictly positive.
-    double width = 2;
-
-    // The i'th linear bucket covers the interval
-    //   [offset + (i-1) * width, offset + i * width)
-    // where i ranges from 1 to num_finite_buckets, inclusive.
-    double offset = 3;
-  }
-
-  // Describing buckets with exponentially growing width.
-  message ExponentialBuckets {
-    // The number of finite buckets. With the underflow and overflow buckets,
-    // the total number of buckets is `num_finite_buckets` + 2.
-    // See comments on `bucket_options` for details.
-    int32 num_finite_buckets = 1;
-
-    // The i'th exponential bucket covers the interval
-    //   [scale * growth_factor^(i-1), scale * growth_factor^i)
-    // where i ranges from 1 to num_finite_buckets inclusive.
-    // Must be larger than 1.0.
-    double growth_factor = 2;
-
-    // The i'th exponential bucket covers the interval
-    //   [scale * growth_factor^(i-1), scale * growth_factor^i)
-    // where i ranges from 1 to num_finite_buckets inclusive.
-    // Must be > 0.
-    double scale = 3;
-  }
-
-  // Describing buckets with arbitrary user-provided width.
-  message ExplicitBuckets {
-    // 'bound' is a list of strictly increasing boundaries between
-    // buckets. Note that a list of length N-1 defines N buckets because
-    // of fenceposting. See comments on `bucket_options` for details.
-    //
-    // The i'th finite bucket covers the interval
-    //   [bound[i-1], bound[i])
-    // where i ranges from 1 to bound_size() - 1. Note that there are no
-    // finite buckets at all if 'bound' only contains a single element; in
-    // that special case the single bound defines the boundary between the
-    // underflow and overflow buckets.
-    //
-    // bucket number                   lower bound    upper bound
-    //  i == 0 (underflow)              -inf           bound[i]
-    //  0 < i < bound_size()            bound[i-1]     bound[i]
-    //  i == bound_size() (overflow)    bound[i-1]     +inf
-    repeated double bounds = 1;
-  }
-
-  // The total number of samples in the distribution. Must be >= 0.
-  int64 count = 1;
-
-  // The arithmetic mean of the samples in the distribution. If `count` is
-  // zero then this field must be zero.
-  double mean = 2;
-
-  // The minimum of the population of values. Ignored if `count` is zero.
-  double minimum = 3;
-
-  // The maximum of the population of values. Ignored if `count` is zero.
-  double maximum = 4;
-
-  // The sum of squared deviations from the mean:
-  //   Sum[i=1..count]((x_i - mean)^2)
-  // where each x_i is a sample values. If `count` is zero then this field
-  // must be zero, otherwise validation of the request fails.
-  double sum_of_squared_deviation = 5;
-
-  // The number of samples in each histogram bucket. `bucket_counts` are
-  // optional. If present, they must sum to the `count` value.
-  //
-  // The buckets are defined below in `bucket_option`. There are N buckets.
-  // `bucket_counts[0]` is the number of samples in the underflow bucket.
-  // `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
-  // in each of the finite buckets. And `bucket_counts[N] is the number
-  // of samples in the overflow bucket. See the comments of `bucket_option`
-  // below for more details.
-  //
-  // Any suffix of trailing zeros may be omitted.
-  repeated int64 bucket_counts = 6;
-
-  // Defines the buckets in the histogram. `bucket_option` and `bucket_counts`
-  // must be both set, or both unset.
-  //
-  // Buckets are numbered the the range of [0, N], with a total of N+1 buckets.
-  // There must be at least two buckets (a single-bucket histogram gives
-  // no information that isn't already provided by `count`).
-  //
-  // The first bucket is the underflow bucket which has a lower bound
-  // of -inf. The last bucket is the overflow bucket which has an
-  // upper bound of +inf. All other buckets (if any) are called "finite"
-  // buckets because they have finite lower and upper bounds. As described
-  // below, there are three ways to define the finite buckets.
-  //
-  //   (1) Buckets with constant width.
-  //   (2) Buckets with exponentially growing widths.
-  //   (3) Buckets with arbitrary user-provided widths.
-  //
-  // In all cases, the buckets cover the entire real number line (-inf,
-  // +inf). Bucket upper bounds are exclusive and lower bounds are
-  // inclusive. The upper bound of the underflow bucket is equal to the
-  // lower bound of the smallest finite bucket; the lower bound of the
-  // overflow bucket is equal to the upper bound of the largest finite
-  // bucket.
-  oneof bucket_option {
-    // Buckets with constant width.
-    LinearBuckets linear_buckets = 7;
-
-    // Buckets with exponentially growing width.
-    ExponentialBuckets exponential_buckets = 8;
-
-    // Buckets with arbitrary user-provided width.
-    ExplicitBuckets explicit_buckets = 9;
-  }
-}
diff --git a/googleapis/api/servicecontrol/v1/log_entry.pb.go b/googleapis/api/servicecontrol/v1/log_entry.pb.go
index befad9cd9a9bc43f2892196cfac61bb39112c497..361302d7bb2a2712d0655dbd4a1d1a470dce677e 100644
--- a/googleapis/api/servicecontrol/v1/log_entry.pb.go
+++ b/googleapis/api/servicecontrol/v1/log_entry.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/log_entry.proto
+// source: google/api/servicecontrol/v1/log_entry.proto
 // DO NOT EDIT!
 
-package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+package servicecontrol
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_logging_type "google.golang.org/genproto/googleapis/logging/type"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/any"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/struct"
@@ -74,6 +74,13 @@ func (m *LogEntry) GetPayload() isLogEntry_Payload {
 	return nil
 }
 
+func (m *LogEntry) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *LogEntry) GetTimestamp() *google_protobuf3.Timestamp {
 	if m != nil {
 		return m.Timestamp
@@ -81,6 +88,20 @@ func (m *LogEntry) GetTimestamp() *google_protobuf3.Timestamp {
 	return nil
 }
 
+func (m *LogEntry) GetSeverity() google_logging_type.LogSeverity {
+	if m != nil {
+		return m.Severity
+	}
+	return google_logging_type.LogSeverity_DEFAULT
+}
+
+func (m *LogEntry) GetInsertId() string {
+	if m != nil {
+		return m.InsertId
+	}
+	return ""
+}
+
 func (m *LogEntry) GetLabels() map[string]string {
 	if m != nil {
 		return m.Labels
@@ -202,40 +223,37 @@ func init() {
 	proto.RegisterType((*LogEntry)(nil), "google.api.servicecontrol.v1.LogEntry")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicecontrol/v1/log_entry.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/api/servicecontrol/v1/log_entry.proto", fileDescriptor2) }
 
 var fileDescriptor2 = []byte{
-	// 467 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0xc1, 0x6f, 0xd3, 0x30,
-	0x14, 0xc6, 0x9b, 0x75, 0x94, 0xd6, 0x69, 0x27, 0x64, 0x4d, 0x22, 0x0a, 0x1c, 0x22, 0xb8, 0xf4,
-	0x64, 0x6b, 0x9d, 0x90, 0x06, 0xe3, 0x00, 0x95, 0x26, 0x75, 0xd0, 0xc3, 0x94, 0x71, 0xaf, 0xdc,
-	0xd4, 0x33, 0x16, 0x8e, 0x5f, 0x14, 0xbb, 0x11, 0xf9, 0x93, 0xf9, 0x2f, 0x50, 0x6c, 0xa7, 0x03,
-	0x4d, 0xda, 0x10, 0x87, 0xaa, 0xcf, 0xf6, 0xf7, 0x7b, 0xef, 0x7b, 0x5f, 0x8b, 0xbe, 0x0a, 0x00,
-	0xa1, 0x38, 0x11, 0xa0, 0x98, 0x16, 0x04, 0x6a, 0x41, 0x05, 0xd7, 0x55, 0x0d, 0x16, 0xa8, 0x7f,
-	0x62, 0x95, 0x34, 0x94, 0x55, 0x92, 0x1a, 0x5e, 0x37, 0xb2, 0xe0, 0x05, 0x68, 0x5b, 0x83, 0xa2,
-	0xcd, 0x19, 0x55, 0x20, 0x36, 0x5c, 0xdb, 0xba, 0x25, 0x0e, 0xc0, 0xaf, 0x43, 0x33, 0x56, 0x49,
-	0xf2, 0xb7, 0x9a, 0x34, 0x67, 0xe9, 0xf5, 0xff, 0x8c, 0xba, 0x93, 0x82, 0x32, 0xad, 0xc1, 0x32,
-	0x2b, 0x41, 0x1b, 0x3f, 0x28, 0xbd, 0xfa, 0xb7, 0x56, 0x0a, 0x84, 0x90, 0x5a, 0x50, 0xdb, 0x56,
-	0xdc, 0x99, 0x35, 0xbc, 0xe1, 0xb5, 0xb4, 0xc1, 0x6f, 0x4a, 0x85, 0xb4, 0xdf, 0xf7, 0x5b, 0x52,
-	0x40, 0x49, 0x7d, 0x2b, 0xea, 0x1e, 0xb6, 0xfb, 0x3b, 0x5a, 0x75, 0x90, 0xa1, 0x4c, 0xb7, 0xdd,
-	0x27, 0x00, 0xef, 0x9e, 0x06, 0x8c, 0xad, 0xf7, 0x85, 0x0d, 0x5f, 0x01, 0xbb, 0x7c, 0x1a, 0xb3,
-	0xb2, 0xe4, 0xc6, 0xb2, 0xb2, 0xba, 0xaf, 0x3c, 0xfc, 0xe6, 0xd7, 0x10, 0x8d, 0xd7, 0x20, 0xae,
-	0xba, 0x9c, 0x31, 0x46, 0xc7, 0x9a, 0x95, 0x3c, 0x41, 0x59, 0x34, 0x9f, 0xe4, 0xae, 0xc6, 0x17,
-	0x68, 0x72, 0x60, 0x92, 0x38, 0x8b, 0xe6, 0xf1, 0x22, 0x25, 0x21, 0xa0, 0x7e, 0x0c, 0xf9, 0xd6,
-	0x2b, 0xf2, 0x7b, 0x31, 0xfe, 0x88, 0xc6, 0x7d, 0x22, 0xc9, 0x34, 0x8b, 0xe6, 0x27, 0x8b, 0xac,
-	0x07, 0x43, 0x74, 0xa4, 0x73, 0x47, 0xd6, 0x20, 0x6e, 0x83, 0x2e, 0x3f, 0x10, 0xf8, 0x15, 0x9a,
-	0x48, 0x6d, 0x78, 0x6d, 0x37, 0x72, 0x97, 0x1c, 0x3b, 0x43, 0x63, 0x7f, 0x71, 0xbd, 0xc3, 0x5f,
-	0xd0, 0x48, 0xb1, 0x2d, 0x57, 0x26, 0x99, 0x65, 0xc3, 0x79, 0xbc, 0x58, 0x90, 0xc7, 0xfe, 0x1b,
-	0xa4, 0x5f, 0x90, 0xac, 0x1d, 0xe4, 0xea, 0x3c, 0x74, 0xc0, 0x97, 0x68, 0xe6, 0xf6, 0xd8, 0x54,
-	0xac, 0x55, 0xc0, 0x76, 0xc9, 0x91, 0x5b, 0xf2, 0xf4, 0xc1, 0x92, 0x9f, 0x75, 0xbb, 0x1a, 0xe4,
-	0x53, 0x77, 0xbe, 0xf1, 0x5a, 0xfc, 0x16, 0x4d, 0x2d, 0xff, 0x69, 0x0f, 0xec, 0xb0, 0x33, 0xba,
-	0x1a, 0xe4, 0x71, 0x77, 0xdb, 0x8b, 0x3e, 0xa1, 0x13, 0xff, 0x83, 0x1d, 0x64, 0x23, 0x37, 0xe2,
-	0xe5, 0x83, 0x11, 0xb7, 0x4e, 0xb6, 0x1a, 0xe4, 0x33, 0x0f, 0x84, 0x0e, 0xe9, 0x7b, 0x14, 0xff,
-	0x61, 0x1d, 0xbf, 0x40, 0xc3, 0x1f, 0xbc, 0x4d, 0x22, 0x97, 0x4a, 0x57, 0xe2, 0x53, 0xf4, 0xac,
-	0x61, 0x6a, 0xcf, 0x9d, 0xf9, 0x49, 0xee, 0x0f, 0x1f, 0x8e, 0x2e, 0xa2, 0xe5, 0x04, 0x3d, 0x0f,
-	0x53, 0x97, 0xe7, 0x28, 0x2b, 0xa0, 0x7c, 0x34, 0xaa, 0xe5, 0xac, 0xcf, 0xea, 0xc6, 0xad, 0x19,
-	0x6d, 0x47, 0xce, 0xdc, 0xf9, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xca, 0x34, 0xe0, 0xb6, 0xcb,
-	0x03, 0x00, 0x00,
+	// 454 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x93, 0x4f, 0x8f, 0xd3, 0x30,
+	0x10, 0xc5, 0x9b, 0xed, 0x52, 0x1a, 0xa7, 0x5d, 0x21, 0x6b, 0x25, 0x42, 0xa8, 0x44, 0x04, 0x12,
+	0xea, 0x01, 0x39, 0xda, 0x72, 0x59, 0x58, 0x0e, 0x50, 0x09, 0xa9, 0xac, 0x7a, 0x58, 0x65, 0x39,
+	0x71, 0xa9, 0xdc, 0xd6, 0x58, 0x16, 0xae, 0x27, 0x4a, 0xdc, 0x88, 0x9c, 0xf8, 0xbc, 0x7c, 0x0b,
+	0x94, 0xb1, 0x53, 0xf6, 0x9f, 0xf6, 0xe6, 0xf1, 0xfb, 0xbd, 0x99, 0x79, 0x8e, 0x42, 0xde, 0x49,
+	0x00, 0xa9, 0x45, 0xc6, 0x0b, 0x95, 0x55, 0xa2, 0xac, 0xd5, 0x46, 0x6c, 0xc0, 0xd8, 0x12, 0x74,
+	0x56, 0x9f, 0x65, 0x1a, 0xe4, 0x4a, 0x18, 0x5b, 0x36, 0xac, 0x28, 0xc1, 0x02, 0x9d, 0x38, 0x9a,
+	0xf1, 0x42, 0xb1, 0xdb, 0x34, 0xab, 0xcf, 0x92, 0xc9, 0x8d, 0x5e, 0xdc, 0x18, 0xb0, 0xdc, 0x2a,
+	0x30, 0x95, 0xf3, 0x26, 0x6f, 0xbd, 0xaa, 0x41, 0x4a, 0x65, 0x64, 0x66, 0x9b, 0x02, 0x8b, 0x55,
+	0x25, 0x6a, 0x51, 0x2a, 0xeb, 0x67, 0x24, 0x2f, 0x3c, 0x87, 0xd5, 0x7a, 0xff, 0x33, 0xe3, 0xa6,
+	0x93, 0x26, 0x77, 0xa5, 0xca, 0x96, 0xfb, 0x8d, 0xf5, 0xea, 0xab, 0xbb, 0xaa, 0x55, 0x3b, 0x51,
+	0x59, 0xbe, 0x2b, 0x1c, 0xf0, 0xfa, 0x6f, 0x9f, 0x0c, 0x97, 0x20, 0xbf, 0xb6, 0x81, 0x28, 0x25,
+	0xc7, 0x86, 0xef, 0x44, 0x4c, 0xd2, 0x60, 0x1a, 0xe6, 0x78, 0xa6, 0xe7, 0x24, 0x3c, 0x78, 0xe2,
+	0x28, 0x0d, 0xa6, 0xd1, 0x2c, 0x61, 0x3e, 0x72, 0xd7, 0x95, 0x7d, 0xef, 0x88, 0xfc, 0x3f, 0x4c,
+	0x3f, 0x91, 0x61, 0x17, 0x23, 0x1e, 0xa5, 0xc1, 0xf4, 0x64, 0x96, 0x76, 0x46, 0x9f, 0x97, 0xb5,
+	0x79, 0xd9, 0x12, 0xe4, 0xb5, 0xe7, 0xf2, 0x83, 0x83, 0xbe, 0x24, 0xa1, 0x32, 0x95, 0x28, 0xed,
+	0x4a, 0x6d, 0xe3, 0x63, 0x5c, 0x68, 0xe8, 0x2e, 0xbe, 0x6d, 0xe9, 0x25, 0x19, 0x68, 0xbe, 0x16,
+	0xba, 0x8a, 0xc7, 0x69, 0x7f, 0x1a, 0xcd, 0x66, 0xec, 0xb1, 0x8f, 0xc0, 0xba, 0x80, 0x6c, 0x89,
+	0x26, 0x3c, 0xe7, 0xbe, 0x03, 0xbd, 0x20, 0x63, 0xcc, 0xb1, 0x2a, 0x78, 0xa3, 0x81, 0x6f, 0xe3,
+	0x23, 0x0c, 0x79, 0x7a, 0x2f, 0xe4, 0x17, 0xd3, 0x2c, 0x7a, 0xf9, 0x08, 0xeb, 0x2b, 0xc7, 0xd2,
+	0x37, 0x64, 0x64, 0xc5, 0x6f, 0x7b, 0xf0, 0xf6, 0xdb, 0x45, 0x17, 0xbd, 0x3c, 0x6a, 0x6f, 0x3b,
+	0xe8, 0x33, 0x39, 0x71, 0x1f, 0xe5, 0x80, 0x0d, 0x70, 0xc4, 0xf3, 0x7b, 0x23, 0xae, 0x11, 0x5b,
+	0xf4, 0xf2, 0xb1, 0x33, 0xf8, 0x0e, 0xc9, 0x07, 0x12, 0xdd, 0x58, 0x9d, 0x3e, 0x23, 0xfd, 0x5f,
+	0xa2, 0x89, 0x03, 0x7c, 0x95, 0xf6, 0x48, 0x4f, 0xc9, 0x93, 0x9a, 0xeb, 0xbd, 0xc0, 0xe5, 0xc3,
+	0xdc, 0x15, 0x1f, 0x8f, 0xce, 0x83, 0x79, 0x48, 0x9e, 0xfa, 0xa9, 0xf3, 0x3f, 0x24, 0xdd, 0xc0,
+	0xee, 0xd1, 0xa7, 0x9a, 0x8f, 0xbb, 0xb7, 0xba, 0xc2, 0x98, 0xc1, 0x8f, 0x4b, 0x8f, 0x4b, 0xd0,
+	0xdc, 0x48, 0x06, 0xa5, 0xcc, 0xa4, 0x30, 0xb8, 0x71, 0xe6, 0x24, 0x5e, 0xa8, 0xea, 0xe1, 0x7f,
+	0xe5, 0xe2, 0xf6, 0xcd, 0x7a, 0x80, 0xb6, 0xf7, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x67, 0x50,
+	0x6e, 0x13, 0x61, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/api/servicecontrol/v1/log_entry.proto b/googleapis/api/servicecontrol/v1/log_entry.proto
deleted file mode 100644
index 2a93d6c06b1801d774cdee2d6e4aa22e40dbf9fa..0000000000000000000000000000000000000000
--- a/googleapis/api/servicecontrol/v1/log_entry.proto
+++ /dev/null
@@ -1,66 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api.servicecontrol.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/logging/type/log_severity.proto"; // from google/logging/type/log_severity.proto
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "LogEntryProto";
-option java_package = "com.google.api.servicecontrol.v1";
-
-
-// An individual log entry.
-message LogEntry {
-  // Required. The log to which this log entry belongs. Examples: `"syslog"`,
-  // `"book_log"`.
-  string name = 10;
-
-  // The time the event described by the log entry occurred. If
-  // omitted, defaults to operation start time.
-  google.protobuf.Timestamp timestamp = 11;
-
-  // The severity of the log entry. The default value is
-  // `LogSeverity.DEFAULT`.
-  google.logging.type.LogSeverity severity = 12;
-
-  // A unique ID for the log entry used for deduplication. If omitted,
-  // the implementation will generate one based on operation_id.
-  string insert_id = 4;
-
-  // A set of user-defined (key, value) data that provides additional
-  // information about the log entry.
-  map<string, string> labels = 13;
-
-  // The log entry payload, which can be one of multiple types.
-  oneof payload {
-    // The log entry payload, represented as a protocol buffer that is
-    // expressed as a JSON object. You can only pass `protoPayload`
-    // values that belong to a set of approved types.
-    google.protobuf.Any proto_payload = 2;
-
-    // The log entry payload, represented as a Unicode string (UTF-8).
-    string text_payload = 3;
-
-    // The log entry payload, represented as a structure that
-    // is expressed as a JSON object.
-    google.protobuf.Struct struct_payload = 6;
-  }
-}
diff --git a/googleapis/api/servicecontrol/v1/metric_value.pb.go b/googleapis/api/servicecontrol/v1/metric_value.pb.go
index d9d4c51abdaff5b313b941d1edfc4c5e4b248402..0a2c593e575cc4ab81097ade1797954952a8148e 100644
--- a/googleapis/api/servicecontrol/v1/metric_value.pb.go
+++ b/googleapis/api/servicecontrol/v1/metric_value.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/metric_value.proto
+// source: google/api/servicecontrol/v1/metric_value.proto
 // DO NOT EDIT!
 
-package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+package servicecontrol
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
 import _ "google.golang.org/genproto/googleapis/type/money"
 
@@ -268,6 +268,13 @@ func (m *MetricValueSet) String() string            { return proto.CompactTextSt
 func (*MetricValueSet) ProtoMessage()               {}
 func (*MetricValueSet) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
 
+func (m *MetricValueSet) GetMetricName() string {
+	if m != nil {
+		return m.MetricName
+	}
+	return ""
+}
+
 func (m *MetricValueSet) GetMetricValues() []*MetricValue {
 	if m != nil {
 		return m.MetricValues
@@ -280,41 +287,39 @@ func init() {
 	proto.RegisterType((*MetricValueSet)(nil), "google.api.servicecontrol.v1.MetricValueSet")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicecontrol/v1/metric_value.proto", fileDescriptor3)
-}
+func init() { proto.RegisterFile("google/api/servicecontrol/v1/metric_value.proto", fileDescriptor3) }
 
 var fileDescriptor3 = []byte{
-	// 493 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x53, 0xcd, 0x6f, 0xd3, 0x30,
-	0x1c, 0xad, 0x1b, 0xd6, 0x8f, 0x5f, 0x06, 0x82, 0xc0, 0x21, 0xaa, 0x90, 0x16, 0xc6, 0x25, 0x70,
-	0xb0, 0xb5, 0xc1, 0x10, 0x83, 0x9d, 0x2a, 0x90, 0x8a, 0xc4, 0xaa, 0x29, 0x20, 0x2e, 0x1c, 0x26,
-	0x27, 0xf5, 0x82, 0x45, 0x62, 0x47, 0xb1, 0x53, 0xa9, 0x47, 0xfe, 0x6b, 0x2e, 0x48, 0xc8, 0x1f,
-	0x65, 0xd9, 0xa5, 0x4c, 0x70, 0x89, 0xe2, 0xe7, 0xf7, 0xde, 0xef, 0xd3, 0xb0, 0x2c, 0xa5, 0x2c,
-	0x2b, 0x86, 0x4b, 0x59, 0x51, 0x51, 0x62, 0xd9, 0x96, 0xa4, 0x64, 0xa2, 0x69, 0xa5, 0x96, 0xc4,
-	0x5d, 0xd1, 0x86, 0x2b, 0x42, 0x1b, 0x4e, 0x14, 0x6b, 0xd7, 0xbc, 0x60, 0x85, 0x14, 0xba, 0x95,
-	0x15, 0x59, 0x1f, 0x91, 0x9a, 0xe9, 0x96, 0x17, 0x97, 0x6b, 0x5a, 0x75, 0x0c, 0x5b, 0x4d, 0xf4,
-	0xd8, 0xfb, 0xd1, 0x86, 0xe3, 0x9b, 0x02, 0xbc, 0x3e, 0x9a, 0x7d, 0xf8, 0x97, 0x68, 0x57, 0xbc,
-	0x24, 0x54, 0x08, 0xa9, 0xa9, 0xe6, 0x52, 0x28, 0x17, 0x68, 0xf6, 0x5f, 0x89, 0xaf, 0xb8, 0xd2,
-	0x2d, 0xcf, 0x3b, 0x63, 0xe8, 0xfd, 0xde, 0x96, 0x5c, 0x7f, 0xeb, 0x72, 0x5c, 0xc8, 0x9a, 0x38,
-	0x4f, 0x62, 0x2f, 0xf2, 0xee, 0x8a, 0x34, 0x7a, 0xd3, 0x30, 0x45, 0x34, 0xaf, 0x99, 0xd2, 0xb4,
-	0x6e, 0xae, 0xff, 0xbc, 0xf8, 0xec, 0x76, 0xc9, 0x18, 0x1b, 0x52, 0x4b, 0xc1, 0x36, 0xee, 0xeb,
-	0xd4, 0x87, 0xbf, 0x02, 0x08, 0xcf, 0x6d, 0x2b, 0xbf, 0x98, 0x4e, 0x46, 0xe7, 0x30, 0xaa, 0x68,
-	0xce, 0x2a, 0x15, 0xa3, 0x24, 0x48, 0xc3, 0xe3, 0x13, 0xbc, 0xab, 0xa9, 0xb8, 0x27, 0xc5, 0x1f,
-	0xad, 0xee, 0xbd, 0xd0, 0xed, 0x26, 0xf3, 0x26, 0xd1, 0x29, 0x80, 0xd2, 0xb4, 0xd5, 0x97, 0x26,
-	0xeb, 0x78, 0x98, 0xa0, 0x34, 0x3c, 0x9e, 0x6d, 0x2d, 0xb7, 0x35, 0xe2, 0xcf, 0xdb, 0x92, 0xb2,
-	0xa9, 0x65, 0x9b, 0x73, 0x74, 0x02, 0x13, 0x26, 0x56, 0x4e, 0x18, 0xfc, 0x55, 0x38, 0x66, 0x62,
-	0x65, 0x65, 0x07, 0x00, 0xb9, 0x94, 0x95, 0x5b, 0x8c, 0xf8, 0x4e, 0x82, 0xd2, 0xc9, 0x62, 0x90,
-	0x4d, 0x0d, 0xe6, 0x2a, 0x7c, 0x02, 0x21, 0x17, 0xfa, 0xd5, 0x4b, 0xcf, 0xd8, 0x4b, 0x50, 0x1a,
-	0x2c, 0x06, 0x19, 0x58, 0xd0, 0x51, 0x9e, 0xc2, 0xfe, 0x4a, 0x76, 0x79, 0xc5, 0x3c, 0x67, 0x94,
-	0xa0, 0x14, 0x2d, 0x06, 0x59, 0xe8, 0xd0, 0x3f, 0x24, 0x33, 0x48, 0x51, 0x7a, 0xd2, 0x38, 0x41,
-	0xe9, 0xd4, 0x90, 0x1c, 0xea, 0x48, 0x5f, 0x21, 0xea, 0xcf, 0xdb, 0x53, 0x27, 0xb6, 0x9c, 0xe7,
-	0xbb, 0x5b, 0xfb, 0xae, 0xa7, 0x5b, 0x0c, 0xb2, 0x07, 0x7d, 0x1f, 0x6b, 0x3e, 0x3b, 0x85, 0xb0,
-	0xd7, 0xf3, 0xe8, 0x3e, 0x04, 0xdf, 0xd9, 0x26, 0x46, 0x26, 0x8f, 0xcc, 0xfc, 0x46, 0x8f, 0x60,
-	0xcf, 0x05, 0x1c, 0x5a, 0xcc, 0x1d, 0xde, 0x0c, 0x5f, 0xa3, 0xf9, 0xd8, 0xdf, 0x1c, 0xfe, 0x40,
-	0x70, 0xaf, 0x37, 0xc4, 0x4f, 0x4c, 0x47, 0x07, 0x10, 0xfa, 0xc7, 0x25, 0x68, 0xcd, 0xbc, 0x1f,
-	0x38, 0x68, 0x49, 0x6b, 0x16, 0x2d, 0xe1, 0x6e, 0xff, 0xf5, 0xa9, 0x78, 0x68, 0x57, 0xe5, 0xd9,
-	0xad, 0x57, 0x25, 0xdb, 0xaf, 0xaf, 0x0f, 0x6a, 0x7e, 0x06, 0x49, 0x21, 0xeb, 0x9d, 0xea, 0xf9,
-	0xc3, 0x9b, 0x49, 0x5e, 0x98, 0x0d, 0xb8, 0x40, 0x3f, 0x11, 0xca, 0x47, 0x76, 0x1b, 0x5e, 0xfc,
-	0x0e, 0x00, 0x00, 0xff, 0xff, 0xde, 0xbe, 0xad, 0x24, 0x4e, 0x04, 0x00, 0x00,
+	// 482 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xcf, 0x8b, 0xd3, 0x40,
+	0x14, 0xc7, 0x3b, 0x8d, 0xdb, 0x1f, 0x2f, 0xab, 0x68, 0x14, 0x0c, 0x65, 0xa1, 0x71, 0xbd, 0x44,
+	0x0f, 0x13, 0x76, 0x75, 0xc5, 0xd5, 0x5b, 0x51, 0x28, 0xe2, 0x2e, 0x4b, 0x14, 0x0f, 0x7a, 0x58,
+	0x26, 0xed, 0x33, 0x0c, 0x26, 0x33, 0x21, 0x33, 0x2d, 0xf4, 0xe8, 0xcd, 0x3f, 0xd9, 0x8b, 0x20,
+	0xf3, 0xa3, 0x9a, 0x82, 0xd4, 0xbd, 0xe5, 0x7d, 0xf3, 0xfd, 0xbc, 0x7c, 0x27, 0xef, 0x0d, 0x64,
+	0xa5, 0x94, 0x65, 0x85, 0x19, 0x6b, 0x78, 0xa6, 0xb0, 0x5d, 0xf3, 0x05, 0x2e, 0xa4, 0xd0, 0xad,
+	0xac, 0xb2, 0xf5, 0x49, 0x56, 0xa3, 0x6e, 0xf9, 0xe2, 0x7a, 0xcd, 0xaa, 0x15, 0xd2, 0xa6, 0x95,
+	0x5a, 0x46, 0x47, 0x0e, 0xa0, 0xac, 0xe1, 0x74, 0x17, 0xa0, 0xeb, 0x93, 0xc9, 0x51, 0xa7, 0x1d,
+	0x13, 0x42, 0x6a, 0xa6, 0xb9, 0x14, 0xca, 0xb1, 0x93, 0xfd, 0x1f, 0x5b, 0x72, 0xa5, 0x5b, 0x5e,
+	0xac, 0x0c, 0xe1, 0x81, 0xa9, 0x07, 0x6c, 0x55, 0xac, 0xbe, 0x66, 0x9a, 0xd7, 0xa8, 0x34, 0xab,
+	0x1b, 0x6f, 0x78, 0xe8, 0x0d, 0x7a, 0xd3, 0x60, 0x56, 0x4b, 0x81, 0x1b, 0xf7, 0xe2, 0xf8, 0x57,
+	0x00, 0xe1, 0x85, 0x4d, 0xff, 0xc9, 0x84, 0x8f, 0x2e, 0x60, 0x50, 0xb1, 0x02, 0x2b, 0x15, 0x93,
+	0x24, 0x48, 0xc3, 0xd3, 0x33, 0xba, 0xef, 0x1c, 0xb4, 0x83, 0xd2, 0xf7, 0x96, 0x7b, 0x2b, 0x74,
+	0xbb, 0xc9, 0x7d, 0x93, 0xe8, 0x1c, 0x40, 0x69, 0xd6, 0xea, 0x6b, 0x13, 0x28, 0xee, 0x27, 0x24,
+	0x0d, 0x4f, 0x27, 0xdb, 0x96, 0xdb, 0xb4, 0xf4, 0xe3, 0x36, 0x6d, 0x3e, 0xb6, 0x6e, 0x53, 0x47,
+	0x67, 0x30, 0x42, 0xb1, 0x74, 0x60, 0xf0, 0x5f, 0x70, 0x88, 0x62, 0x69, 0xb1, 0x29, 0x40, 0x21,
+	0x65, 0xe5, 0x66, 0x11, 0xdf, 0x4a, 0x48, 0x3a, 0x9a, 0xf7, 0xf2, 0xb1, 0xd1, 0xdc, 0x09, 0x1f,
+	0x41, 0xc8, 0x85, 0x7e, 0xf1, 0xdc, 0x3b, 0x0e, 0x12, 0x92, 0x06, 0xf3, 0x5e, 0x0e, 0x56, 0x74,
+	0x96, 0xc7, 0x70, 0xb8, 0x94, 0xab, 0xa2, 0x42, 0xef, 0x19, 0x24, 0x24, 0x25, 0xf3, 0x5e, 0x1e,
+	0x3a, 0xf5, 0x8f, 0xc9, 0xcc, 0x41, 0x94, 0xde, 0x34, 0x4c, 0x48, 0x3a, 0x36, 0x26, 0xa7, 0x3a,
+	0xd3, 0x17, 0x88, 0xba, 0xe3, 0xf2, 0xd6, 0x91, 0x3d, 0xce, 0xd3, 0xfd, 0xbf, 0xf6, 0x4d, 0x87,
+	0x9b, 0xf7, 0xf2, 0x7b, 0xdd, 0x3e, 0xb6, 0xf9, 0xe4, 0x1c, 0xc2, 0xce, 0x3f, 0x8f, 0xee, 0x42,
+	0xf0, 0x0d, 0x37, 0x31, 0x31, 0x39, 0x72, 0xf3, 0x18, 0x3d, 0x80, 0x03, 0xf7, 0xc1, 0xbe, 0xd5,
+	0x5c, 0xf1, 0xaa, 0xff, 0x92, 0xcc, 0x86, 0xfe, 0xcd, 0xf1, 0x77, 0x02, 0x77, 0x3a, 0x43, 0xfc,
+	0x80, 0x3a, 0x9a, 0x42, 0xe8, 0xf7, 0x59, 0xb0, 0x1a, 0x7d, 0x3f, 0x70, 0xd2, 0x25, 0xab, 0x31,
+	0xba, 0x84, 0xdb, 0xdd, 0x85, 0x57, 0x71, 0xdf, 0xae, 0xca, 0x93, 0x1b, 0xaf, 0x4a, 0x7e, 0x58,
+	0xff, 0x2d, 0xd4, 0xec, 0x07, 0x81, 0x64, 0x21, 0xeb, 0xbd, 0xf8, 0xec, 0xfe, 0x6e, 0xca, 0x2b,
+	0xb3, 0x02, 0x57, 0xe4, 0xf3, 0x3b, 0x0f, 0x95, 0xb2, 0x62, 0xa2, 0xa4, 0xb2, 0x2d, 0xb3, 0x12,
+	0x85, 0x5d, 0x10, 0x7f, 0x8b, 0x58, 0xc3, 0xd5, 0xbf, 0x6f, 0xd2, 0xeb, 0x5d, 0xe5, 0x27, 0x21,
+	0xc5, 0xc0, 0x92, 0xcf, 0x7e, 0x07, 0x00, 0x00, 0xff, 0xff, 0xdb, 0x00, 0x1a, 0xde, 0xef, 0x03,
+	0x00, 0x00,
 }
diff --git a/googleapis/api/servicecontrol/v1/metric_value.proto b/googleapis/api/servicecontrol/v1/metric_value.proto
deleted file mode 100644
index 5711b3934efd795d1064b3c901bc089637e4fb42..0000000000000000000000000000000000000000
--- a/googleapis/api/servicecontrol/v1/metric_value.proto
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api.servicecontrol.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/servicecontrol/v1/distribution.proto"; // from google/api/servicecontrol/v1/distribution.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-import "google.golang.org/genproto/googleapis/type/money/money.proto"; // from google/type/money.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "MetricValueSetProto";
-option java_package = "com.google.api.servicecontrol.v1";
-
-
-// Represents a single metric value.
-message MetricValue {
-  // The labels describing the metric value.
-  // See comments on [google.api.servicecontrol.v1.Operation.labels][google.api.servicecontrol.v1.Operation.labels] for
-  // the overriding relationship.
-  map<string, string> labels = 1;
-
-  // The start of the time period over which this metric value's measurement
-  // applies. The time period has different semantics for different metric
-  // types (cumulative, delta, and gauge). See the metric definition
-  // documentation in the service configuration for details.
-  google.protobuf.Timestamp start_time = 2;
-
-  // The end of the time period over which this metric value's measurement
-  // applies.
-  google.protobuf.Timestamp end_time = 3;
-
-  // The value. The type of value used in the request must
-  // agree with the metric definition in the service configuration, otherwise
-  // the MetricValue is rejected.
-  oneof value {
-    // A boolean value.
-    bool bool_value = 4;
-
-    // A signed 64-bit integer value.
-    int64 int64_value = 5;
-
-    // A double precision floating point value.
-    double double_value = 6;
-
-    // A text string value.
-    string string_value = 7;
-
-    // A distribution value.
-    Distribution distribution_value = 8;
-  }
-}
-
-// Represents a set of metric values in the same metric.
-// Each metric value in the set should have a unique combination of start time,
-// end time, and label values.
-message MetricValueSet {
-  // The metric name defined in the service configuration.
-  string metric_name = 1;
-
-  // The values in this metric.
-  repeated MetricValue metric_values = 2;
-}
diff --git a/googleapis/api/servicecontrol/v1/operation.pb.go b/googleapis/api/servicecontrol/v1/operation.pb.go
index b7f3ca9ac5a92822e539d17d0175178b9c5ecb84..fa5449b617b8d86467d31b31fa0934e1d8aca08d 100644
--- a/googleapis/api/servicecontrol/v1/operation.pb.go
+++ b/googleapis/api/servicecontrol/v1/operation.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/operation.proto
+// source: google/api/servicecontrol/v1/operation.proto
 // DO NOT EDIT!
 
-package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+package servicecontrol
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -110,6 +110,27 @@ func (m *Operation) String() string            { return proto.CompactTextString(
 func (*Operation) ProtoMessage()               {}
 func (*Operation) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
 
+func (m *Operation) GetOperationId() string {
+	if m != nil {
+		return m.OperationId
+	}
+	return ""
+}
+
+func (m *Operation) GetOperationName() string {
+	if m != nil {
+		return m.OperationName
+	}
+	return ""
+}
+
+func (m *Operation) GetConsumerId() string {
+	if m != nil {
+		return m.ConsumerId
+	}
+	return ""
+}
+
 func (m *Operation) GetStartTime() *google_protobuf3.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -145,46 +166,51 @@ func (m *Operation) GetLogEntries() []*LogEntry {
 	return nil
 }
 
+func (m *Operation) GetImportance() Operation_Importance {
+	if m != nil {
+		return m.Importance
+	}
+	return Operation_LOW
+}
+
 func init() {
 	proto.RegisterType((*Operation)(nil), "google.api.servicecontrol.v1.Operation")
 	proto.RegisterEnum("google.api.servicecontrol.v1.Operation_Importance", Operation_Importance_name, Operation_Importance_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicecontrol/v1/operation.proto", fileDescriptor4)
-}
+func init() { proto.RegisterFile("google/api/servicecontrol/v1/operation.proto", fileDescriptor4) }
 
 var fileDescriptor4 = []byte{
-	// 495 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x92, 0x5f, 0x6f, 0xd3, 0x3c,
-	0x14, 0xc6, 0xdf, 0xac, 0xeb, 0xbf, 0x93, 0x97, 0x52, 0x2c, 0x2e, 0xa2, 0x0a, 0x69, 0x65, 0x12,
-	0xa8, 0x17, 0xc8, 0xd6, 0x3a, 0x21, 0x18, 0xdc, 0x4d, 0x42, 0x5b, 0xb5, 0xb2, 0x4d, 0x01, 0x01,
-	0x77, 0x95, 0x9b, 0x9e, 0x05, 0x8b, 0xd8, 0x8e, 0x6c, 0xb7, 0x52, 0xbf, 0x01, 0x1f, 0x99, 0x4b,
-	0x14, 0x27, 0x4d, 0xbb, 0x9b, 0x82, 0xd8, 0x9d, 0xed, 0x9c, 0xe7, 0x77, 0x9e, 0x3c, 0xe7, 0xc0,
-	0x55, 0xaa, 0x75, 0x9a, 0x21, 0x4d, 0x75, 0xc6, 0x55, 0x4a, 0xb5, 0x49, 0x59, 0x8a, 0x2a, 0x37,
-	0xda, 0x69, 0x56, 0x7e, 0xe2, 0xb9, 0xb0, 0x8c, 0xe7, 0x82, 0x59, 0x34, 0x2b, 0x91, 0x60, 0xa2,
-	0x95, 0x33, 0x3a, 0x63, 0xab, 0x13, 0xa6, 0x73, 0x34, 0xdc, 0x09, 0xad, 0xa8, 0x17, 0x90, 0x67,
-	0x15, 0x8c, 0xe7, 0x82, 0xde, 0xaf, 0xa6, 0xab, 0x93, 0xc1, 0xe4, 0x5f, 0x5a, 0xdd, 0x89, 0x94,
-	0x71, 0xa5, 0xb4, 0xf3, 0x7d, 0x6c, 0xd9, 0x68, 0xf0, 0x20, 0xd7, 0x99, 0x4e, 0x67, 0xa8, 0x9c,
-	0x59, 0x57, 0xb0, 0xeb, 0x87, 0xc0, 0x24, 0x3a, 0x23, 0x92, 0xd9, 0x8a, 0x67, 0x4b, 0xac, 0x78,
-	0xef, 0x53, 0xe1, 0xbe, 0x2f, 0xe7, 0x34, 0xd1, 0x92, 0x95, 0x4c, 0xe6, 0x3f, 0xcc, 0x97, 0x77,
-	0x2c, 0x77, 0xeb, 0x1c, 0x2d, 0x73, 0x42, 0xa2, 0x75, 0x5c, 0xe6, 0xdb, 0x53, 0x29, 0x3e, 0xfe,
-	0xd9, 0x84, 0xee, 0xcd, 0x26, 0x56, 0xf2, 0x1c, 0xfe, 0xaf, 0x33, 0x9e, 0x89, 0x45, 0x14, 0x0c,
-	0x83, 0x51, 0x37, 0x0e, 0xeb, 0xb7, 0xc9, 0x82, 0xbc, 0x80, 0xde, 0xb6, 0x44, 0x71, 0x89, 0xd1,
-	0x81, 0x2f, 0x7a, 0x54, 0xbf, 0x5e, 0x73, 0x89, 0xe4, 0x08, 0xc2, 0x44, 0x2b, 0xbb, 0x94, 0x68,
-	0x0a, 0x50, 0xc3, 0xd7, 0xc0, 0xe6, 0x69, 0xb2, 0x20, 0x67, 0x00, 0xd6, 0x71, 0xe3, 0x66, 0x85,
-	0xa3, 0xe8, 0x70, 0x18, 0x8c, 0xc2, 0xf1, 0x80, 0x56, 0xd1, 0x6c, 0xfc, 0xd3, 0xcf, 0x1b, 0xbb,
-	0x71, 0xd7, 0x57, 0x17, 0x77, 0xf2, 0x1a, 0x3a, 0xa8, 0x16, 0xa5, 0xb0, 0xf9, 0x47, 0x61, 0x1b,
-	0xd5, 0xc2, 0xcb, 0xae, 0xa0, 0x95, 0xf1, 0x39, 0x66, 0x36, 0x6a, 0x0d, 0x1b, 0xa3, 0x70, 0x7c,
-	0x4a, 0xf7, 0xad, 0x0f, 0xad, 0x53, 0xa1, 0x53, 0xaf, 0xfa, 0x50, 0x8c, 0x30, 0xae, 0x10, 0xe4,
-	0x1b, 0x3c, 0xd9, 0x1d, 0xc5, 0xcc, 0xa2, 0xb3, 0x51, 0xdb, 0x73, 0x5f, 0xed, 0xe7, 0x7e, 0xf4,
-	0xb2, 0x2f, 0x85, 0xea, 0x13, 0xba, 0xf8, 0xb1, 0xbc, 0x77, 0xb7, 0xe4, 0x02, 0xc2, 0xcd, 0xc6,
-	0x08, 0xb4, 0x51, 0xc7, 0x33, 0x5f, 0xee, 0x67, 0x4e, 0x75, 0x5a, 0xda, 0x83, 0xac, 0x3c, 0x09,
-	0xb4, 0x24, 0x06, 0x10, 0x32, 0xd7, 0xc6, 0x71, 0x95, 0x60, 0x14, 0x0e, 0x83, 0x51, 0x6f, 0x3c,
-	0xfe, 0xdb, 0x7f, 0x9e, 0xd4, 0xca, 0x78, 0x87, 0x32, 0x38, 0x83, 0x70, 0x27, 0x0d, 0xd2, 0x87,
-	0xc6, 0x0f, 0x5c, 0x57, 0x6b, 0x52, 0x1c, 0xc9, 0x53, 0x68, 0xfa, 0x40, 0xaa, 0xad, 0x28, 0x2f,
-	0xef, 0x0e, 0xde, 0x06, 0xc7, 0x47, 0x00, 0x5b, 0x28, 0x69, 0x43, 0x63, 0x7a, 0xf3, 0xb5, 0xff,
-	0x1f, 0xe9, 0xc0, 0xe1, 0xe5, 0xe4, 0xe2, 0xb2, 0x1f, 0x9c, 0xbf, 0x81, 0x61, 0xa2, 0xe5, 0x5e,
-	0x83, 0xe7, 0xbd, 0xda, 0xe1, 0x6d, 0x31, 0xe9, 0xdb, 0xe0, 0x57, 0x10, 0xcc, 0x5b, 0x7e, 0xea,
-	0xa7, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x89, 0xb4, 0x10, 0x3f, 0x5c, 0x04, 0x00, 0x00,
+	// 483 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xcf, 0x6b, 0x13, 0x41,
+	0x14, 0xc7, 0x9d, 0xa6, 0xf9, 0xf5, 0x56, 0x63, 0x1c, 0x3c, 0x2c, 0xa1, 0x90, 0x58, 0x50, 0x72,
+	0x28, 0xb3, 0x34, 0x45, 0xb0, 0x7a, 0x2b, 0x48, 0x1b, 0x8d, 0xb6, 0xac, 0xa2, 0xe2, 0x25, 0x4c,
+	0x36, 0xcf, 0x65, 0x70, 0x77, 0x66, 0x99, 0x99, 0x04, 0x7a, 0xf6, 0xe2, 0x9f, 0xec, 0x51, 0x76,
+	0xf6, 0x47, 0x13, 0x90, 0xb5, 0xb7, 0x7d, 0x8f, 0xef, 0xe7, 0xbb, 0xdf, 0x79, 0x6f, 0x06, 0x4e,
+	0x62, 0xa5, 0xe2, 0x04, 0x03, 0x9e, 0x89, 0xc0, 0xa0, 0xde, 0x8a, 0x08, 0x23, 0x25, 0xad, 0x56,
+	0x49, 0xb0, 0x3d, 0x0d, 0x54, 0x86, 0x9a, 0x5b, 0xa1, 0x24, 0xcb, 0xb4, 0xb2, 0x8a, 0x1e, 0x15,
+	0x6a, 0xc6, 0x33, 0xc1, 0xf6, 0xd5, 0x6c, 0x7b, 0x3a, 0x3a, 0xda, 0xf1, 0xe2, 0x52, 0x2a, 0xeb,
+	0x50, 0x53, 0xb0, 0xa3, 0xe6, 0x3f, 0x25, 0x2a, 0x5e, 0xa2, 0xb4, 0xfa, 0xb6, 0x54, 0x07, 0x8d,
+	0xea, 0x14, 0xad, 0x16, 0xd1, 0x72, 0xcb, 0x93, 0x0d, 0x96, 0xc0, 0xb8, 0x04, 0x5c, 0xb5, 0xda,
+	0xfc, 0x08, 0xac, 0x48, 0xd1, 0x58, 0x9e, 0x66, 0x85, 0xe0, 0xf8, 0x77, 0x1b, 0xfa, 0xd7, 0xd5,
+	0x79, 0xe8, 0x33, 0x78, 0x58, 0x1f, 0x6e, 0x29, 0xd6, 0x3e, 0x99, 0x90, 0x69, 0x3f, 0xf4, 0xea,
+	0xde, 0x7c, 0x4d, 0x9f, 0xc3, 0xe0, 0x4e, 0x22, 0x79, 0x8a, 0xfe, 0x81, 0x13, 0x3d, 0xaa, 0xbb,
+	0x1f, 0x79, 0x8a, 0x74, 0x0c, 0x5e, 0xa4, 0xa4, 0xd9, 0xa4, 0xa8, 0x73, 0xa3, 0x96, 0xd3, 0x40,
+	0xd5, 0x9a, 0xaf, 0xe9, 0x39, 0x80, 0xb1, 0x5c, 0xdb, 0x65, 0x9e, 0xc8, 0x3f, 0x9c, 0x90, 0xa9,
+	0x37, 0x1b, 0xb1, 0x72, 0x92, 0x55, 0x5c, 0xf6, 0xb9, 0x8a, 0x1b, 0xf6, 0x9d, 0x3a, 0xaf, 0xe9,
+	0x4b, 0xe8, 0xa1, 0x5c, 0x17, 0x60, 0xfb, 0xbf, 0x60, 0x17, 0xe5, 0xda, 0x61, 0xef, 0xa1, 0x93,
+	0xf0, 0x15, 0x26, 0xc6, 0xef, 0x4c, 0x5a, 0x53, 0x6f, 0x76, 0xc6, 0x9a, 0xf6, 0xc6, 0xea, 0xa9,
+	0xb0, 0x85, 0xa3, 0xde, 0xe6, 0x7b, 0x08, 0x4b, 0x0b, 0xfa, 0x0d, 0x9e, 0xec, 0x8e, 0x7b, 0x69,
+	0xd0, 0x1a, 0xbf, 0xeb, 0x7c, 0x4f, 0x9a, 0x7d, 0x3f, 0x38, 0xec, 0x4b, 0x4e, 0x7d, 0x42, 0x1b,
+	0x3e, 0x4e, 0xf7, 0x6a, 0x43, 0x2f, 0xc1, 0xab, 0xd6, 0x2e, 0xd0, 0xf8, 0x3d, 0xe7, 0xf9, 0xa2,
+	0xd9, 0x73, 0xa1, 0xe2, 0x22, 0x1e, 0x24, 0xc5, 0x97, 0x40, 0x43, 0x43, 0x00, 0x91, 0x66, 0x4a,
+	0x5b, 0x2e, 0x23, 0xf4, 0xbd, 0x09, 0x99, 0x0e, 0x66, 0xb3, 0xfb, 0x9e, 0x79, 0x5e, 0x93, 0xe1,
+	0x8e, 0xcb, 0xe8, 0x1c, 0xbc, 0x9d, 0x69, 0xd0, 0x21, 0xb4, 0x7e, 0xe2, 0x6d, 0x79, 0x4d, 0xf2,
+	0x4f, 0xfa, 0x14, 0xda, 0x6e, 0x20, 0xe5, 0xad, 0x28, 0x8a, 0xd7, 0x07, 0xaf, 0xc8, 0xf1, 0x18,
+	0xe0, 0xce, 0x94, 0x76, 0xa1, 0xb5, 0xb8, 0xfe, 0x3a, 0x7c, 0x40, 0x7b, 0x70, 0x78, 0x35, 0xbf,
+	0xbc, 0x1a, 0x92, 0x8b, 0x5f, 0x04, 0x26, 0x91, 0x4a, 0x1b, 0x13, 0x5e, 0x0c, 0xea, 0x88, 0x37,
+	0xf9, 0xaa, 0x6f, 0xc8, 0xf7, 0x77, 0xa5, 0x3e, 0x56, 0x09, 0x97, 0x31, 0x53, 0x3a, 0x0e, 0x62,
+	0x94, 0xee, 0x22, 0x94, 0xcf, 0x85, 0x67, 0xc2, 0xfc, 0xfb, 0xc9, 0xbc, 0xd9, 0xef, 0xfc, 0x21,
+	0x64, 0xd5, 0x71, 0xe4, 0xd9, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x8d, 0x9c, 0xc2, 0x5d, 0x03,
+	0x04, 0x00, 0x00,
 }
diff --git a/googleapis/api/servicecontrol/v1/operation.proto b/googleapis/api/servicecontrol/v1/operation.proto
deleted file mode 100644
index 79176565eccbc2be90b48fd95186f2e82a8b0157..0000000000000000000000000000000000000000
--- a/googleapis/api/servicecontrol/v1/operation.proto
+++ /dev/null
@@ -1,111 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api.servicecontrol.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/servicecontrol/v1/log_entry.proto"; // from google/api/servicecontrol/v1/log_entry.proto
-import "google.golang.org/genproto/googleapis/api/servicecontrol/v1/metric_value.proto"; // from google/api/servicecontrol/v1/metric_value.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "OperationProto";
-option java_package = "com.google.api.servicecontrol.v1";
-
-
-// Represents information regarding an operation.
-message Operation {
-  // Defines the importance of the data contained in the operation.
-  enum Importance {
-    // The API implementation may cache and aggregate the data.
-    // The data may be lost when rare and unexpected system failures occur.
-    LOW = 0;
-
-    // The API implementation doesn't cache and aggregate the data.
-    // If the method returns successfully, it's guaranteed that the data has
-    // been persisted in durable storage.
-    HIGH = 1;
-  }
-
-  // Identity of the operation. This must be unique within the scope of the
-  // service that generated the operation. If the service calls
-  // Check() and Report() on the same operation, the two calls should carry
-  // the same id.
-  //
-  // UUID version 4 is recommended, though not required.
-  // In scenarios where an operation is computed from existing information
-  // and an idempotent id is desirable for deduplication purpose, UUID version 5
-  // is recommended. See RFC 4122 for details.
-  string operation_id = 1;
-
-  // Fully qualified name of the operation. Reserved for future use.
-  string operation_name = 2;
-
-  // Identity of the consumer who is using the service.
-  // This field should be filled in for the operations initiated by a
-  // consumer, but not for service-initiated operations that are
-  // not related to a specific consumer.
-  //
-  // This can be in one of the following formats:
-  //   project:<project_id>,
-  //   project_number:<project_number>,
-  //   api_key:<api_key>.
-  string consumer_id = 3;
-
-  // Required. Start time of the operation.
-  google.protobuf.Timestamp start_time = 4;
-
-  // End time of the operation.
-  // Required when the operation is used in [ServiceController.Report][google.api.servicecontrol.v1.ServiceController.Report],
-  // but optional when the operation is used in [ServiceController.Check][google.api.servicecontrol.v1.ServiceController.Check].
-  google.protobuf.Timestamp end_time = 5;
-
-  // Labels describing the operation. Only the following labels are allowed:
-  //
-  // - Labels describing monitored resources as defined in
-  //   the service configuration.
-  // - Default labels of metric values. When specified, labels defined in the
-  //   metric value override these default.
-  // - The following labels defined by Google Cloud Platform:
-  //     - `cloud.googleapis.com/location` describing the location where the
-  //        operation happened,
-  //     - `servicecontrol.googleapis.com/user_agent` describing the user agent
-  //        of the API request,
-  //     - `servicecontrol.googleapis.com/service_agent` describing the service
-  //        used to handle the API request (e.g. ESP),
-  //     - `servicecontrol.googleapis.com/platform` describing the platform
-  //        where the API is served (e.g. GAE, GCE, GKE).
-  map<string, string> labels = 6;
-
-  // Represents information about this operation. Each MetricValueSet
-  // corresponds to a metric defined in the service configuration.
-  // The data type used in the MetricValueSet must agree with
-  // the data type specified in the metric definition.
-  //
-  // Within a single operation, it is not allowed to have more than one
-  // MetricValue instances that have the same metric names and identical
-  // label value combinations. If a request has such duplicated MetricValue
-  // instances, the entire request is rejected with
-  // an invalid argument error.
-  repeated MetricValueSet metric_value_sets = 7;
-
-  // Represents information to be logged.
-  repeated LogEntry log_entries = 8;
-
-  // DO NOT USE. This is an experimental field.
-  Importance importance = 11;
-}
diff --git a/googleapis/api/servicecontrol/v1/service_controller.pb.go b/googleapis/api/servicecontrol/v1/service_controller.pb.go
index 7b71c5f59b5616d1fdedce237445b1418fa33f93..2f34a990486b011a2c3bba830cce8b2d05ee2842 100644
--- a/googleapis/api/servicecontrol/v1/service_controller.pb.go
+++ b/googleapis/api/servicecontrol/v1/service_controller.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/service_controller.proto
+// source: google/api/servicecontrol/v1/service_controller.proto
 // DO NOT EDIT!
 
-package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+package servicecontrol
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
 
 import (
@@ -42,6 +42,13 @@ func (m *CheckRequest) String() string            { return proto.CompactTextStri
 func (*CheckRequest) ProtoMessage()               {}
 func (*CheckRequest) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
 
+func (m *CheckRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 func (m *CheckRequest) GetOperation() *Operation {
 	if m != nil {
 		return m.Operation
@@ -49,6 +56,13 @@ func (m *CheckRequest) GetOperation() *Operation {
 	return nil
 }
 
+func (m *CheckRequest) GetServiceConfigId() string {
+	if m != nil {
+		return m.ServiceConfigId
+	}
+	return ""
+}
+
 // Response message for the Check method.
 type CheckResponse struct {
 	// The same operation_id value used in the CheckRequest.
@@ -69,6 +83,13 @@ func (m *CheckResponse) String() string            { return proto.CompactTextStr
 func (*CheckResponse) ProtoMessage()               {}
 func (*CheckResponse) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{1} }
 
+func (m *CheckResponse) GetOperationId() string {
+	if m != nil {
+		return m.OperationId
+	}
+	return ""
+}
+
 func (m *CheckResponse) GetCheckErrors() []*CheckError {
 	if m != nil {
 		return m.CheckErrors
@@ -76,6 +97,13 @@ func (m *CheckResponse) GetCheckErrors() []*CheckError {
 	return nil
 }
 
+func (m *CheckResponse) GetServiceConfigId() string {
+	if m != nil {
+		return m.ServiceConfigId
+	}
+	return ""
+}
+
 // Request message for the Report method.
 type ReportRequest struct {
 	// The service name as specified in its service configuration. For example,
@@ -107,6 +135,13 @@ func (m *ReportRequest) String() string            { return proto.CompactTextStr
 func (*ReportRequest) ProtoMessage()               {}
 func (*ReportRequest) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{2} }
 
+func (m *ReportRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 func (m *ReportRequest) GetOperations() []*Operation {
 	if m != nil {
 		return m.Operations
@@ -114,6 +149,13 @@ func (m *ReportRequest) GetOperations() []*Operation {
 	return nil
 }
 
+func (m *ReportRequest) GetServiceConfigId() string {
+	if m != nil {
+		return m.ServiceConfigId
+	}
+	return ""
+}
+
 // Response message for the Report method.
 type ReportResponse struct {
 	// Partial failures, one for each `Operation` in the request that failed
@@ -146,6 +188,13 @@ func (m *ReportResponse) GetReportErrors() []*ReportResponse_ReportError {
 	return nil
 }
 
+func (m *ReportResponse) GetServiceConfigId() string {
+	if m != nil {
+		return m.ServiceConfigId
+	}
+	return ""
+}
+
 // Represents the processing error of one `Operation` in the request.
 type ReportResponse_ReportError struct {
 	// The [Operation.operation_id][google.api.servicecontrol.v1.Operation.operation_id] value from the request.
@@ -159,6 +208,13 @@ func (m *ReportResponse_ReportError) String() string            { return proto.C
 func (*ReportResponse_ReportError) ProtoMessage()               {}
 func (*ReportResponse_ReportError) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{3, 0} }
 
+func (m *ReportResponse_ReportError) GetOperationId() string {
+	if m != nil {
+		return m.OperationId
+	}
+	return ""
+}
+
 func (m *ReportResponse_ReportError) GetStatus() *google_rpc.Status {
 	if m != nil {
 		return m.Status
@@ -322,47 +378,47 @@ var _ServiceController_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/api/servicecontrol/v1/service_controller.proto",
+	Metadata: "google/api/servicecontrol/v1/service_controller.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicecontrol/v1/service_controller.proto", fileDescriptor5)
+	proto.RegisterFile("google/api/servicecontrol/v1/service_controller.proto", fileDescriptor5)
 }
 
 var fileDescriptor5 = []byte{
-	// 535 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x94, 0xcf, 0x6e, 0xd3, 0x40,
-	0x10, 0xc6, 0xb5, 0xee, 0x1f, 0xa9, 0xe3, 0x04, 0xd4, 0x3d, 0xa0, 0xc8, 0xe2, 0x90, 0xfa, 0x40,
-	0x23, 0xb7, 0xd8, 0x6a, 0xb8, 0xa0, 0x48, 0x1c, 0x68, 0x54, 0xaa, 0xa8, 0x02, 0x2a, 0x87, 0x23,
-	0x28, 0x5a, 0x9c, 0xad, 0xb1, 0x48, 0xbc, 0xcb, 0xae, 0x9b, 0x0b, 0xe2, 0xc2, 0x03, 0x70, 0x80,
-	0x37, 0x40, 0x48, 0x1c, 0x78, 0x02, 0x9e, 0x83, 0x57, 0xe0, 0x21, 0xe0, 0x86, 0xbc, 0xbb, 0x76,
-	0x5d, 0x61, 0x2c, 0x97, 0x9e, 0xec, 0x9d, 0xdd, 0x99, 0xf9, 0xe9, 0xfb, 0x46, 0x03, 0xcf, 0x62,
-	0xc6, 0xe2, 0x05, 0xf5, 0x63, 0xb6, 0x20, 0x69, 0xec, 0x33, 0x11, 0x07, 0x31, 0x4d, 0xb9, 0x60,
-	0x19, 0x0b, 0xf4, 0x15, 0xe1, 0x89, 0x0c, 0x08, 0x4f, 0x02, 0x49, 0xc5, 0x2a, 0x89, 0x68, 0xc4,
-	0xd2, 0x4c, 0xb0, 0x45, 0xb0, 0x3a, 0x28, 0x22, 0x33, 0x13, 0x5a, 0x50, 0xe1, 0xab, 0x4c, 0x7c,
-	0xdb, 0x54, 0x25, 0x3c, 0xf1, 0x2f, 0xa7, 0xf9, 0xab, 0x03, 0x67, 0xf2, 0x3f, 0x3d, 0xcf, 0x92,
-	0x38, 0x20, 0x69, 0xca, 0x32, 0x92, 0x25, 0x2c, 0x95, 0xba, 0x91, 0xf3, 0xf8, 0x3a, 0xf8, 0xd1,
-	0x2b, 0x1a, 0xbd, 0x9e, 0x51, 0x21, 0x98, 0xe1, 0x76, 0x4e, 0xae, 0x53, 0x8e, 0x71, 0x2a, 0x14,
-	0x9c, 0x29, 0xf6, 0xa0, 0x5d, 0x31, 0xc1, 0xa3, 0x40, 0x66, 0x24, 0x3b, 0x97, 0xe6, 0xa3, 0xd3,
-	0xdd, 0x2f, 0x08, 0x3a, 0xe3, 0x9c, 0x30, 0xa4, 0x6f, 0xce, 0xa9, 0xcc, 0xf0, 0x0e, 0x74, 0x0a,
-	0xc1, 0x53, 0xb2, 0xa4, 0x3d, 0xd4, 0x47, 0x83, 0xad, 0xd0, 0x36, 0xb1, 0x27, 0x64, 0x49, 0xf1,
-	0x11, 0x6c, 0x95, 0x14, 0x3d, 0xab, 0x8f, 0x06, 0xf6, 0x70, 0xd7, 0x6f, 0xf2, 0xc2, 0x7f, 0x5a,
-	0x3c, 0x0f, 0x2f, 0x32, 0xb1, 0x07, 0xdb, 0x15, 0x6b, 0xcf, 0x92, 0x78, 0x96, 0xcc, 0x7b, 0xeb,
-	0xaa, 0xdd, 0x4d, 0x73, 0x31, 0x56, 0xf1, 0xc9, 0xdc, 0xfd, 0x86, 0xa0, 0x6b, 0x30, 0x25, 0x67,
-	0xa9, 0xa4, 0x39, 0x67, 0x59, 0x2a, 0x4f, 0x34, 0x9c, 0x65, 0x6c, 0x32, 0xc7, 0x27, 0xd0, 0xa9,
-	0x88, 0x2f, 0x7b, 0x56, 0x7f, 0x6d, 0x60, 0x0f, 0x07, 0xcd, 0xa8, 0xaa, 0xcb, 0x51, 0x9e, 0x10,
-	0xda, 0x51, 0xf9, 0x2f, 0xeb, 0x69, 0x37, 0xea, 0x69, 0xbf, 0x22, 0xe8, 0x86, 0x94, 0x33, 0x91,
-	0x5d, 0x41, 0xd5, 0x63, 0x80, 0x12, 0xbe, 0x60, 0x6d, 0x2d, 0x6b, 0x25, 0xb5, 0x9e, 0x74, 0xad,
-	0x9e, 0xf4, 0x37, 0x82, 0x1b, 0x05, 0xa9, 0x11, 0xf6, 0x05, 0x74, 0x85, 0x8a, 0x14, 0xb2, 0x21,
-	0x85, 0x72, 0xbf, 0x19, 0xe5, 0x72, 0x11, 0x73, 0xd4, 0x32, 0x76, 0xc4, 0xc5, 0xe1, 0x1f, 0x74,
-	0x56, 0x2d, 0x9d, 0xf3, 0x1c, 0xec, 0x4a, 0xa1, 0x36, 0x96, 0x7b, 0xb0, 0xa9, 0xc7, 0xdb, 0xcc,
-	0x25, 0x2e, 0xa8, 0x05, 0x8f, 0xfc, 0xa9, 0xba, 0x09, 0xcd, 0x8b, 0xe1, 0x77, 0x0b, 0xb6, 0xa7,
-	0x65, 0x47, 0xb3, 0x5a, 0xf0, 0x07, 0x04, 0x1b, 0x6a, 0x06, 0xb0, 0xd7, 0x62, 0x50, 0x8c, 0xbf,
-	0xce, 0x5e, 0xab, 0xb7, 0x5a, 0x1c, 0x77, 0xff, 0xfd, 0x8f, 0x9f, 0x9f, 0xac, 0x3b, 0xee, 0x4e,
-	0x65, 0xbb, 0xc9, 0xe0, 0x6d, 0x75, 0x40, 0xde, 0x8d, 0xd4, 0xec, 0x8d, 0x90, 0x87, 0x3f, 0x22,
-	0xd8, 0xd4, 0x2a, 0xe0, 0xbd, 0x76, 0x1e, 0x68, 0xa4, 0xfd, 0xab, 0x18, 0xe6, 0xde, 0x55, 0x4c,
-	0xbb, 0xae, 0xdb, 0xc4, 0xa4, 0x8d, 0x1c, 0x21, 0xef, 0xf0, 0x11, 0xf4, 0x23, 0xb6, 0x6c, 0xec,
-	0x70, 0x78, 0xeb, 0x2f, 0x71, 0x4f, 0xf3, 0x95, 0x73, 0x8a, 0x7e, 0x21, 0xf4, 0xd9, 0x5a, 0x3f,
-	0x7e, 0x38, 0x1d, 0xbf, 0xdc, 0x54, 0x5b, 0xe8, 0xde, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd6,
-	0x78, 0xcd, 0xf0, 0x21, 0x06, 0x00, 0x00,
+	// 537 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0xcf, 0x6e, 0xd3, 0x40,
+	0x10, 0xc6, 0xb5, 0xee, 0x1f, 0xa9, 0xe3, 0x04, 0xd4, 0x3d, 0x40, 0x64, 0xf5, 0x90, 0xfa, 0x40,
+	0x23, 0x37, 0xd8, 0x6a, 0x10, 0x12, 0x0a, 0x27, 0x1a, 0x55, 0x55, 0x41, 0x82, 0xca, 0xb9, 0x21,
+	0x50, 0xb4, 0x38, 0x8b, 0xb1, 0x48, 0xbc, 0xcb, 0xae, 0x9b, 0x0b, 0xe2, 0xc2, 0x03, 0x70, 0x28,
+	0x6f, 0x80, 0x90, 0x38, 0xf0, 0x04, 0x3c, 0x07, 0xaf, 0xc0, 0x43, 0xc0, 0x0d, 0x79, 0x77, 0xed,
+	0x3a, 0xc2, 0x58, 0xee, 0x2d, 0x9e, 0x9d, 0xf9, 0xe6, 0xb7, 0xdf, 0x4c, 0x16, 0xee, 0xc7, 0x8c,
+	0xc5, 0x0b, 0x1a, 0x10, 0x9e, 0x04, 0x92, 0x8a, 0x55, 0x12, 0xd1, 0x88, 0xa5, 0x99, 0x60, 0x8b,
+	0x60, 0x75, 0x54, 0x44, 0x66, 0x26, 0xb4, 0xa0, 0xc2, 0xe7, 0x82, 0x65, 0x0c, 0xef, 0xe9, 0x32,
+	0x9f, 0xf0, 0xc4, 0x5f, 0x2f, 0xf3, 0x57, 0x47, 0xce, 0x5e, 0x45, 0x94, 0xa4, 0x29, 0xcb, 0x48,
+	0x96, 0xb0, 0x54, 0xea, 0x5a, 0xc7, 0x6f, 0x6c, 0x19, 0xbd, 0xa1, 0xd1, 0xdb, 0x19, 0x15, 0x82,
+	0x99, 0x5e, 0xce, 0xb0, 0x31, 0x9f, 0x71, 0x2a, 0x94, 0xbc, 0xc9, 0xbe, 0x6d, 0xb2, 0x05, 0x8f,
+	0x02, 0x99, 0x91, 0xec, 0xc2, 0xb4, 0x75, 0xbf, 0x22, 0xe8, 0x4c, 0x72, 0xf1, 0x90, 0xbe, 0xbb,
+	0xa0, 0x32, 0xc3, 0xfb, 0xd0, 0x29, 0xee, 0x97, 0x92, 0x25, 0xed, 0xa1, 0x3e, 0x1a, 0xec, 0x84,
+	0xb6, 0x89, 0x3d, 0x25, 0x4b, 0x8a, 0x4f, 0x60, 0xa7, 0xd4, 0xef, 0x59, 0x7d, 0x34, 0xb0, 0x47,
+	0x07, 0x7e, 0xd3, 0xd5, 0xfd, 0x67, 0x45, 0x7a, 0x78, 0x55, 0x89, 0x3d, 0xd8, 0xad, 0x38, 0xf9,
+	0x3a, 0x89, 0x67, 0xc9, 0xbc, 0xb7, 0xa9, 0xda, 0xdd, 0x34, 0x07, 0x13, 0x15, 0x3f, 0x9b, 0xbb,
+	0xdf, 0x11, 0x74, 0x0d, 0xa6, 0xe4, 0x2c, 0x95, 0x34, 0xe7, 0x2c, 0xa5, 0xf2, 0x42, 0xc3, 0x59,
+	0xc6, 0xce, 0xe6, 0xf8, 0x09, 0x74, 0x2a, 0xbe, 0xc9, 0x9e, 0xd5, 0xdf, 0x18, 0xd8, 0xa3, 0x41,
+	0x33, 0xaa, 0xea, 0x72, 0x92, 0x17, 0x84, 0x76, 0x54, 0xfe, 0x96, 0xf5, 0xb4, 0x5b, 0xf5, 0xb4,
+	0xdf, 0x10, 0x74, 0x43, 0xca, 0x99, 0xc8, 0xae, 0xe1, 0xea, 0x29, 0x40, 0x09, 0x5f, 0xb0, 0xb6,
+	0xb6, 0xb5, 0x52, 0x5a, 0x4f, 0xba, 0x51, 0x4f, 0xfa, 0x07, 0xc1, 0x8d, 0x82, 0xd4, 0x18, 0xfb,
+	0x12, 0xba, 0x42, 0x45, 0x0a, 0xdb, 0x90, 0x42, 0x79, 0xd0, 0x8c, 0xb2, 0x2e, 0x62, 0x3e, 0xb5,
+	0x8d, 0x1d, 0x71, 0xf5, 0xf1, 0x1f, 0x3a, 0xab, 0x96, 0xce, 0x79, 0x01, 0x76, 0x45, 0xa8, 0xcd,
+	0xc8, 0x3d, 0xd8, 0xd6, 0xeb, 0x6d, 0xf6, 0x12, 0x17, 0xd4, 0x82, 0x47, 0xfe, 0x54, 0x9d, 0x84,
+	0x26, 0x63, 0xf4, 0xc3, 0x82, 0xdd, 0x69, 0xd9, 0xd1, 0xfc, 0x93, 0xf1, 0x27, 0x04, 0x5b, 0x6a,
+	0x07, 0xb0, 0xd7, 0x62, 0x51, 0xcc, 0x7c, 0x9d, 0xc3, 0x56, 0xb9, 0xda, 0x1c, 0x77, 0xf8, 0xf1,
+	0xe7, 0xaf, 0xcf, 0xd6, 0x1d, 0x77, 0xbf, 0xf2, 0x98, 0xc8, 0xe0, 0x7d, 0x75, 0x41, 0x3e, 0x8c,
+	0xd5, 0xee, 0x8d, 0x91, 0x87, 0x2f, 0x11, 0x6c, 0x6b, 0x17, 0xf0, 0x61, 0xbb, 0x19, 0x68, 0xa4,
+	0xe1, 0x75, 0x06, 0xe6, 0xde, 0x55, 0x4c, 0x07, 0xae, 0xdb, 0xc4, 0xa4, 0x07, 0x39, 0x46, 0xde,
+	0xf1, 0x25, 0x82, 0x7e, 0xc4, 0x96, 0x8d, 0x2d, 0x8e, 0x6f, 0xfd, 0xe3, 0xee, 0x79, 0xfe, 0xe6,
+	0x9c, 0xa3, 0xe7, 0x8f, 0x4d, 0x5d, 0xcc, 0x16, 0x24, 0x8d, 0x7d, 0x26, 0xe2, 0x20, 0xa6, 0xa9,
+	0x7a, 0x91, 0x02, 0x7d, 0x44, 0x78, 0x22, 0xeb, 0xdf, 0xb6, 0x87, 0xeb, 0x91, 0xdf, 0x08, 0x7d,
+	0xb1, 0x36, 0x4f, 0x1f, 0x4d, 0x27, 0xaf, 0xb6, 0x95, 0xc0, 0xbd, 0xbf, 0x01, 0x00, 0x00, 0xff,
+	0xff, 0x6c, 0x58, 0x92, 0x07, 0xbe, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/api/servicecontrol/v1/service_controller.proto b/googleapis/api/servicecontrol/v1/service_controller.proto
deleted file mode 100644
index 78d1adb9f04e068e20791b49f648fe2508c3eb36..0000000000000000000000000000000000000000
--- a/googleapis/api/servicecontrol/v1/service_controller.proto
+++ /dev/null
@@ -1,160 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api.servicecontrol.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/servicecontrol/v1/check_error.proto"; // from google/api/servicecontrol/v1/check_error.proto
-import "google.golang.org/genproto/googleapis/api/servicecontrol/v1/operation.proto"; // from google/api/servicecontrol/v1/operation.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "ServiceControllerProto";
-option java_package = "com.google.api.servicecontrol.v1";
-option objc_class_prefix = "GASC";
-
-
-// [Google Service Control API](/service-control/overview)
-//
-// Lets clients check and report operations against
-// a [managed service][google.api.servicemanagement.v1.ManagedService].
-service ServiceController {
-  // Checks an operation with Google Service Control to decide whether
-  // the given operation should proceed. It should be called before the
-  // operation is executed.
-  //
-  // If feasible, the client should cache the check results and reuse them for
-  // up to 60s. In case of server errors, the client may rely on the cached
-  // results for longer time.
-  //
-  // This method requires the `servicemanagement.services.check` permission
-  // on the specified service. For more information, see
-  // [Google Cloud IAM](https://cloud.google.com/iam).
-  rpc Check(CheckRequest) returns (CheckResponse) {
-    option (google.api.http) = { post: "/v1/services/{service_name}:check" body: "*" };
-  }
-
-  // Reports operations to Google Service Control. It should be called
-  // after the operation is completed.
-  //
-  // If feasible, the client should aggregate reporting data for up to 5s to
-  // reduce API traffic. Limiting aggregation to 5s is to reduce data loss
-  // during client crashes. Clients should carefully choose the aggregation
-  // window to avoid data loss risk more than 0.01% for business and
-  // compliance reasons.
-  //
-  // This method requires the `servicemanagement.services.report` permission
-  // on the specified service. For more information, see
-  // [Google Cloud IAM](https://cloud.google.com/iam).
-  rpc Report(ReportRequest) returns (ReportResponse) {
-    option (google.api.http) = { post: "/v1/services/{service_name}:report" body: "*" };
-  }
-}
-
-// Request message for the Check method.
-message CheckRequest {
-  // The service name as specified in its service configuration. For example,
-  // `"pubsub.googleapis.com"`.
-  //
-  // See [google.api.Service][google.api.Service] for the definition of a service name.
-  string service_name = 1;
-
-  // The operation to be checked.
-  Operation operation = 2;
-
-  // Specifies which version of service configuration should be used to process
-  // the request.
-  //
-  // If unspecified or no matching version can be found, the
-  // latest one will be used.
-  string service_config_id = 4;
-}
-
-// Response message for the Check method.
-message CheckResponse {
-  // The same operation_id value used in the CheckRequest.
-  // Used for logging and diagnostics purposes.
-  string operation_id = 1;
-
-  // Indicate the decision of the check.
-  //
-  // If no check errors are present, the service should process the operation.
-  // Otherwise the service should use the list of errors to determine the
-  // appropriate action.
-  repeated CheckError check_errors = 2;
-
-  // The actual config id used to process the request.
-  string service_config_id = 5;
-}
-
-// Request message for the Report method.
-message ReportRequest {
-  // The service name as specified in its service configuration. For example,
-  // `"pubsub.googleapis.com"`.
-  //
-  // See [google.api.Service][google.api.Service] for the definition of a service name.
-  string service_name = 1;
-
-  // Operations to be reported.
-  //
-  // Typically the service should report one operation per request.
-  // Putting multiple operations into a single request is allowed, but should
-  // be used only when multiple operations are natually available at the time
-  // of the report.
-  //
-  // If multiple operations are in a single request, the total request size
-  // should be no larger than 1MB. See [ReportResponse.report_errors][google.api.servicecontrol.v1.ReportResponse.report_errors] for
-  // partial failure behavior.
-  repeated Operation operations = 2;
-
-  // Specifies which version of service config should be used to process the
-  // request.
-  //
-  // If unspecified or no matching version can be found, the
-  // latest one will be used.
-  string service_config_id = 3;
-}
-
-// Response message for the Report method.
-message ReportResponse {
-  // Represents the processing error of one `Operation` in the request.
-  message ReportError {
-    // The [Operation.operation_id][google.api.servicecontrol.v1.Operation.operation_id] value from the request.
-    string operation_id = 1;
-
-    // Details of the error when processing the `Operation`.
-    google.rpc.Status status = 2;
-  }
-
-  // Partial failures, one for each `Operation` in the request that failed
-  // processing. There are three possible combinations of the RPC status:
-  //
-  // 1. The combination of a successful RPC status and an empty `report_errors`
-  //    list indicates a complete success where all `Operations` in the
-  //    request are processed successfully.
-  // 2. The combination of a successful RPC status and a non-empty
-  //    `report_errors` list indicates a partial success where some
-  //    `Operations` in the request succeeded. Each
-  //    `Operation` that failed processing has a corresponding item
-  //    in this list.
-  // 3. A failed RPC status indicates a complete failure where none of the
-  //    `Operations` in the request succeeded.
-  repeated ReportError report_errors = 1;
-
-  // The actual config id used to process the request.
-  string service_config_id = 2;
-}
diff --git a/googleapis/api/servicemanagement/v1/resources.pb.go b/googleapis/api/servicemanagement/v1/resources.pb.go
index 23d1647a63f0ba091a42742ae76c609f2980bf35..d5bbcfab1503a171c6f26b096420bb281f469be1 100644
--- a/googleapis/api/servicemanagement/v1/resources.pb.go
+++ b/googleapis/api/servicemanagement/v1/resources.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicemanagement/v1/resources.proto
+// source: google/api/servicemanagement/v1/resources.proto
 // DO NOT EDIT!
 
 /*
-Package google_api_servicemanagement_v1 is a generated protocol buffer package.
+Package servicemanagement is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/api/servicemanagement/v1/resources.proto
-	google.golang.org/genproto/googleapis/api/servicemanagement/v1/servicemanager.proto
+	google/api/servicemanagement/v1/resources.proto
+	google/api/servicemanagement/v1/servicemanager.proto
 
 It has these top-level messages:
 	ManagedService
@@ -40,17 +40,17 @@ It has these top-level messages:
 	GenerateConfigReportRequest
 	GenerateConfigReportResponse
 */
-package google_api_servicemanagement_v1 // import "google.golang.org/genproto/googleapis/api/servicemanagement/v1"
+package servicemanagement
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_api2 "google.golang.org/genproto/googleapis/api/configchange"
 import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
 import _ "google.golang.org/genproto/googleapis/longrunning"
 import _ "github.com/golang/protobuf/ptypes/any"
-import _ "google.golang.org/genproto/protobuf"
+import _ "google.golang.org/genproto/protobuf/field_mask"
 import _ "github.com/golang/protobuf/ptypes/struct"
 import google_protobuf9 "github.com/golang/protobuf/ptypes/timestamp"
 import _ "google.golang.org/genproto/googleapis/rpc/status"
@@ -227,6 +227,20 @@ func (m *ManagedService) String() string            { return proto.CompactTextSt
 func (*ManagedService) ProtoMessage()               {}
 func (*ManagedService) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *ManagedService) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *ManagedService) GetProducerProjectId() string {
+	if m != nil {
+		return m.ProducerProjectId
+	}
+	return ""
+}
+
 // The metadata associated with a long running operation resource.
 type OperationMetadata struct {
 	// The full name of the resources that this operation is directly
@@ -245,6 +259,13 @@ func (m *OperationMetadata) String() string            { return proto.CompactTex
 func (*OperationMetadata) ProtoMessage()               {}
 func (*OperationMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *OperationMetadata) GetResourceNames() []string {
+	if m != nil {
+		return m.ResourceNames
+	}
+	return nil
+}
+
 func (m *OperationMetadata) GetSteps() []*OperationMetadata_Step {
 	if m != nil {
 		return m.Steps
@@ -252,6 +273,13 @@ func (m *OperationMetadata) GetSteps() []*OperationMetadata_Step {
 	return nil
 }
 
+func (m *OperationMetadata) GetProgressPercentage() int32 {
+	if m != nil {
+		return m.ProgressPercentage
+	}
+	return 0
+}
+
 func (m *OperationMetadata) GetStartTime() *google_protobuf9.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -272,6 +300,20 @@ func (m *OperationMetadata_Step) String() string            { return proto.Compa
 func (*OperationMetadata_Step) ProtoMessage()               {}
 func (*OperationMetadata_Step) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 0} }
 
+func (m *OperationMetadata_Step) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *OperationMetadata_Step) GetStatus() OperationMetadata_Status {
+	if m != nil {
+		return m.Status
+	}
+	return OperationMetadata_STATUS_UNSPECIFIED
+}
+
 // Represents a diagnostic message (error or warning)
 type Diagnostic struct {
 	// File name and line number of the error or warning.
@@ -287,6 +329,27 @@ func (m *Diagnostic) String() string            { return proto.CompactTextString
 func (*Diagnostic) ProtoMessage()               {}
 func (*Diagnostic) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *Diagnostic) GetLocation() string {
+	if m != nil {
+		return m.Location
+	}
+	return ""
+}
+
+func (m *Diagnostic) GetKind() Diagnostic_Kind {
+	if m != nil {
+		return m.Kind
+	}
+	return Diagnostic_WARNING
+}
+
+func (m *Diagnostic) GetMessage() string {
+	if m != nil {
+		return m.Message
+	}
+	return ""
+}
+
 // Represents a source file which is used to generate the service configuration
 // defined by `google.api.Service`.
 type ConfigSource struct {
@@ -304,6 +367,13 @@ func (m *ConfigSource) String() string            { return proto.CompactTextStri
 func (*ConfigSource) ProtoMessage()               {}
 func (*ConfigSource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *ConfigSource) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 func (m *ConfigSource) GetFiles() []*ConfigFile {
 	if m != nil {
 		return m.Files
@@ -326,6 +396,27 @@ func (m *ConfigFile) String() string            { return proto.CompactTextString
 func (*ConfigFile) ProtoMessage()               {}
 func (*ConfigFile) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *ConfigFile) GetFilePath() string {
+	if m != nil {
+		return m.FilePath
+	}
+	return ""
+}
+
+func (m *ConfigFile) GetFileContents() []byte {
+	if m != nil {
+		return m.FileContents
+	}
+	return nil
+}
+
+func (m *ConfigFile) GetFileType() ConfigFile_FileType {
+	if m != nil {
+		return m.FileType
+	}
+	return ConfigFile_FILE_TYPE_UNSPECIFIED
+}
+
 // Represents a service configuration with its name and id.
 type ConfigRef struct {
 	// Resource name of a service config. It must have the following
@@ -338,6 +429,13 @@ func (m *ConfigRef) String() string            { return proto.CompactTextString(
 func (*ConfigRef) ProtoMessage()               {}
 func (*ConfigRef) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *ConfigRef) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Change report associated with a particular service configuration.
 //
 // It contains a list of ConfigChanges based on the comparison between
@@ -422,6 +520,13 @@ func (m *Rollout) GetStrategy() isRollout_Strategy {
 	return nil
 }
 
+func (m *Rollout) GetRolloutId() string {
+	if m != nil {
+		return m.RolloutId
+	}
+	return ""
+}
+
 func (m *Rollout) GetCreateTime() *google_protobuf9.Timestamp {
 	if m != nil {
 		return m.CreateTime
@@ -429,6 +534,20 @@ func (m *Rollout) GetCreateTime() *google_protobuf9.Timestamp {
 	return nil
 }
 
+func (m *Rollout) GetCreatedBy() string {
+	if m != nil {
+		return m.CreatedBy
+	}
+	return ""
+}
+
+func (m *Rollout) GetStatus() Rollout_RolloutStatus {
+	if m != nil {
+		return m.Status
+	}
+	return Rollout_ROLLOUT_STATUS_UNSPECIFIED
+}
+
 func (m *Rollout) GetTrafficPercentStrategy() *Rollout_TrafficPercentStrategy {
 	if x, ok := m.GetStrategy().(*Rollout_TrafficPercentStrategy_); ok {
 		return x.TrafficPercentStrategy
@@ -443,6 +562,13 @@ func (m *Rollout) GetDeleteServiceStrategy() *Rollout_DeleteServiceStrategy {
 	return nil
 }
 
+func (m *Rollout) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Rollout) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _Rollout_OneofMarshaler, _Rollout_OneofUnmarshaler, _Rollout_OneofSizer, []interface{}{
@@ -597,85 +723,81 @@ func init() {
 	proto.RegisterEnum("google.api.servicemanagement.v1.Rollout_RolloutStatus", Rollout_RolloutStatus_name, Rollout_RolloutStatus_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicemanagement/v1/resources.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/api/servicemanagement/v1/resources.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1189 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x56, 0xcd, 0x6e, 0xdb, 0x46,
-	0x10, 0x0e, 0xf5, 0x63, 0x5b, 0x23, 0x5b, 0x55, 0x36, 0x4d, 0xa2, 0xa8, 0x48, 0xe2, 0x2a, 0x28,
-	0x60, 0xa0, 0x00, 0xd9, 0xb8, 0xe9, 0x4f, 0x1a, 0x34, 0x81, 0x2c, 0xd1, 0x2e, 0x53, 0x9b, 0x64,
-	0x96, 0x72, 0x8b, 0x9c, 0x88, 0x35, 0xb9, 0xa2, 0x59, 0x4b, 0x24, 0x41, 0xae, 0x0c, 0x08, 0x39,
-	0xf6, 0x4d, 0x7a, 0x69, 0x1f, 0xa5, 0x87, 0x3e, 0x41, 0xfb, 0x32, 0xc5, 0xfe, 0xd0, 0xb6, 0x6c,
-	0xa3, 0x72, 0xd2, 0x83, 0xcd, 0x9d, 0x99, 0x9d, 0xef, 0x9b, 0x9d, 0x99, 0x9d, 0x15, 0xd8, 0x51,
-	0x9a, 0x46, 0x13, 0xaa, 0x47, 0xe9, 0x84, 0x24, 0x91, 0x9e, 0xe6, 0x91, 0x11, 0xd1, 0x24, 0xcb,
-	0x53, 0x96, 0x1a, 0xd2, 0x44, 0xb2, 0xb8, 0x30, 0x48, 0x16, 0x1b, 0x05, 0xcd, 0x4f, 0xe3, 0x80,
-	0x4e, 0x49, 0x42, 0x22, 0x3a, 0xa5, 0x09, 0x33, 0x4e, 0x9f, 0x1a, 0x39, 0x2d, 0xd2, 0x59, 0x1e,
-	0xd0, 0x42, 0x17, 0x3e, 0xe8, 0xb1, 0xc2, 0x23, 0x59, 0xac, 0x5f, 0x71, 0xd0, 0x4f, 0x9f, 0x76,
-	0xad, 0xf7, 0x26, 0x0c, 0xd2, 0x64, 0x1c, 0x47, 0x06, 0x49, 0x92, 0x94, 0x11, 0x16, 0xa7, 0x89,
-	0xe2, 0xea, 0xbe, 0xbe, 0x39, 0x94, 0xc4, 0x08, 0x8e, 0x49, 0x12, 0x51, 0x25, 0xf8, 0x52, 0x52,
-	0x58, 0xe6, 0x87, 0x86, 0xa5, 0x24, 0x05, 0xb3, 0x73, 0x33, 0x98, 0x49, 0x9a, 0x44, 0xf9, 0x2c,
-	0x49, 0xe2, 0x24, 0x32, 0xd2, 0x8c, 0xe6, 0x0b, 0xc7, 0x32, 0xa2, 0x98, 0x1d, 0xcf, 0x8e, 0xf4,
-	0x20, 0x9d, 0x1a, 0x12, 0xc7, 0x10, 0x86, 0xa3, 0xd9, 0xd8, 0xc8, 0xd8, 0x3c, 0xa3, 0x85, 0x41,
-	0x92, 0x39, 0xff, 0x53, 0x0e, 0xcf, 0xfe, 0x83, 0xf4, 0xcc, 0x73, 0x1c, 0xd3, 0x49, 0xe8, 0x4f,
-	0x49, 0x71, 0xa2, 0xbc, 0xbe, 0x5a, 0x4e, 0x53, 0xb0, 0x7c, 0x16, 0x30, 0xf5, 0x51, 0x6e, 0x2f,
-	0x96, 0xbb, 0xb1, 0x78, 0x4a, 0x0b, 0x46, 0xa6, 0xd9, 0xf9, 0x4a, 0x39, 0x7f, 0x7f, 0xb3, 0xf4,
-	0xe4, 0x59, 0x60, 0x14, 0x8c, 0xb0, 0x59, 0xa1, 0x3e, 0xd2, 0xbd, 0x17, 0x40, 0xeb, 0x40, 0x34,
-	0x53, 0xe8, 0xc9, 0xac, 0xa3, 0x4f, 0x61, 0x5d, 0x15, 0xc0, 0x4f, 0xc8, 0x94, 0x76, 0x2a, 0x9b,
-	0xda, 0x56, 0x03, 0x37, 0x95, 0xce, 0x26, 0x53, 0x8a, 0x74, 0xb8, 0x93, 0xe5, 0x69, 0x38, 0x0b,
-	0x68, 0xee, 0x67, 0x79, 0xfa, 0x0b, 0x0d, 0x98, 0x1f, 0x87, 0x9d, 0xaa, 0xd8, 0x79, 0xbb, 0x34,
-	0xb9, 0xd2, 0x62, 0x85, 0xbd, 0x7f, 0xaa, 0x70, 0xdb, 0x29, 0x6b, 0x72, 0x40, 0x19, 0x09, 0x09,
-	0x23, 0xe8, 0x33, 0x68, 0x95, 0xad, 0x2e, 0x98, 0x8a, 0x8e, 0xb6, 0x59, 0xdd, 0x6a, 0xe0, 0x8d,
-	0x52, 0xcb, 0xb9, 0x0a, 0x74, 0x00, 0xf5, 0x82, 0xd1, 0xac, 0xe8, 0x54, 0x36, 0xab, 0x5b, 0xcd,
-	0xed, 0x6f, 0xf4, 0x25, 0xd7, 0x41, 0xbf, 0xc2, 0xa4, 0x7b, 0x8c, 0x66, 0x58, 0xa2, 0x20, 0x43,
-	0xc4, 0x1e, 0xe5, 0xb4, 0x28, 0xfc, 0x8c, 0xe6, 0x01, 0x4d, 0x18, 0x89, 0xa8, 0x88, 0xbd, 0x8e,
-	0x51, 0x69, 0x72, 0xcf, 0x2c, 0xe8, 0x39, 0x40, 0xc1, 0x48, 0xce, 0x7c, 0x9e, 0xf9, 0x4e, 0x6d,
-	0x53, 0xdb, 0x6a, 0x6e, 0x77, 0xcb, 0x20, 0xca, 0x3a, 0xe9, 0xa3, 0xb2, 0x2c, 0xb8, 0x21, 0x76,
-	0x73, 0xb9, 0xfb, 0x0e, 0x6a, 0x9c, 0x1a, 0x6d, 0x42, 0x33, 0xa4, 0x45, 0x90, 0xc7, 0x19, 0x0f,
-	0xab, 0xcc, 0xe8, 0x05, 0x15, 0x7a, 0x03, 0x2b, 0xb2, 0x2c, 0x82, 0xa0, 0xb5, 0xfd, 0xfc, 0x83,
-	0x4e, 0xc9, 0x01, 0xb0, 0x02, 0xea, 0x45, 0xb0, 0x22, 0x35, 0xe8, 0x1e, 0x20, 0x6f, 0xd4, 0x1f,
-	0x1d, 0x7a, 0xfe, 0xa1, 0xed, 0xb9, 0xe6, 0xc0, 0xda, 0xb5, 0xcc, 0x61, 0xfb, 0x16, 0x5a, 0x83,
-	0xda, 0xd0, 0xb1, 0xcd, 0xb6, 0x86, 0x3e, 0x82, 0xa6, 0xed, 0x8c, 0x7c, 0x6f, 0xd4, 0xc7, 0x23,
-	0x73, 0xd8, 0xae, 0x70, 0x85, 0x65, 0xfb, 0x2e, 0x76, 0xf6, 0xb0, 0xe9, 0x79, 0xed, 0x2a, 0x02,
-	0x58, 0xd9, 0xed, 0x5b, 0xfb, 0xe6, 0xb0, 0x5d, 0x43, 0x1b, 0xd0, 0x18, 0xf4, 0xed, 0x81, 0xb9,
-	0xcf, 0xc5, 0x7a, 0xef, 0x0f, 0x0d, 0x60, 0x18, 0x93, 0x28, 0x49, 0x0b, 0x16, 0x07, 0xa8, 0x0b,
-	0x6b, 0x93, 0x34, 0x10, 0xa1, 0x75, 0x34, 0x71, 0xd2, 0x33, 0x19, 0x0d, 0xa1, 0x76, 0x12, 0x27,
-	0xa1, 0xc8, 0x40, 0x6b, 0xfb, 0x8b, 0xa5, 0x87, 0x3c, 0x87, 0xd5, 0x7f, 0x8c, 0x93, 0x10, 0x0b,
-	0x6f, 0xd4, 0x81, 0xd5, 0x29, 0x2d, 0x8a, 0xb2, 0x6c, 0x0d, 0x5c, 0x8a, 0xbd, 0x47, 0x50, 0xe3,
-	0xfb, 0x50, 0x13, 0x56, 0x7f, 0xee, 0x63, 0xdb, 0xb2, 0xf7, 0xda, 0xb7, 0x50, 0x03, 0xea, 0x26,
-	0xc6, 0x0e, 0x6e, 0x6b, 0x3d, 0x02, 0xeb, 0x03, 0x31, 0x63, 0x3c, 0xd1, 0x60, 0xa8, 0x05, 0x95,
-	0x38, 0xec, 0xd4, 0x05, 0x48, 0x25, 0x0e, 0x51, 0x1f, 0xea, 0xe3, 0x78, 0x42, 0xcb, 0x5e, 0xfb,
-	0x7c, 0x69, 0x80, 0x12, 0x6d, 0x37, 0x9e, 0x50, 0x2c, 0x3d, 0x7b, 0xbf, 0x57, 0x00, 0xce, 0xb5,
-	0xe8, 0x13, 0x68, 0x70, 0xbd, 0x9f, 0x11, 0x76, 0x5c, 0xa6, 0x83, 0x2b, 0x5c, 0xc2, 0x8e, 0xd1,
-	0x13, 0xd8, 0x10, 0xc6, 0x20, 0x4d, 0x18, 0x4d, 0x58, 0x21, 0x8e, 0xb3, 0x8e, 0xd7, 0xb9, 0x72,
-	0xa0, 0x74, 0xe8, 0x8d, 0x42, 0xe0, 0x83, 0x40, 0x75, 0xc7, 0xb3, 0xf7, 0x88, 0x4b, 0xe7, 0xff,
-	0x46, 0xf3, 0x8c, 0x4a, 0x5e, 0xbe, 0xea, 0xfd, 0xaa, 0xc1, 0x5a, 0xa9, 0x46, 0x0f, 0xe0, 0xee,
-	0xae, 0xb5, 0x6f, 0xfa, 0xa3, 0xb7, 0xae, 0x79, 0xa9, 0x41, 0xee, 0xc3, 0x1d, 0xcf, 0xc4, 0x3f,
-	0x59, 0x03, 0xd3, 0x1f, 0x38, 0xf6, 0xae, 0xb5, 0xe7, 0xbf, 0xed, 0x1f, 0xec, 0xb7, 0x35, 0x74,
-	0x1b, 0x36, 0x1c, 0xd7, 0xb4, 0xfd, 0xbe, 0x6b, 0xf9, 0xaf, 0x3d, 0xc7, 0x6e, 0x57, 0x16, 0x54,
-	0x62, 0x57, 0x15, 0x3d, 0x84, 0x07, 0x02, 0x79, 0x68, 0x7a, 0x03, 0x6c, 0xb9, 0x23, 0x07, 0xfb,
-	0x9e, 0x39, 0xe2, 0x5d, 0x35, 0x72, 0xda, 0xb5, 0xde, 0x63, 0x68, 0xc8, 0x30, 0x31, 0x1d, 0x23,
-	0x04, 0x35, 0x31, 0x6d, 0x64, 0x8a, 0xc4, 0xba, 0xe7, 0xc0, 0xfa, 0x40, 0x3c, 0x28, 0x98, 0x66,
-	0x69, 0xce, 0xd0, 0x2b, 0x68, 0x2d, 0xbc, 0x33, 0x72, 0x60, 0x34, 0xb7, 0x3b, 0x17, 0xd3, 0x21,
-	0x21, 0x95, 0xdf, 0x46, 0x70, 0x41, 0x2a, 0x7a, 0x7f, 0xaf, 0xc0, 0x2a, 0x4e, 0x27, 0x93, 0x74,
-	0xc6, 0xd0, 0x43, 0x80, 0x5c, 0x2e, 0xf9, 0xe8, 0x92, 0xb4, 0x0d, 0xa5, 0xb1, 0x42, 0xf4, 0x02,
-	0x9a, 0x41, 0x4e, 0x09, 0xa3, 0xf2, 0xda, 0x57, 0x96, 0x5e, 0x7b, 0x90, 0xdb, 0xb9, 0x82, 0x63,
-	0x4b, 0x29, 0xf4, 0x8f, 0xe6, 0xaa, 0x47, 0x1b, 0x4a, 0xb3, 0x33, 0x47, 0xf6, 0xa5, 0xcb, 0xfe,
-	0xf5, 0xd2, 0x72, 0xaa, 0xa0, 0xcb, 0xef, 0xe2, 0x4d, 0x47, 0xef, 0xa0, 0xc3, 0x72, 0x32, 0x1e,
-	0xc7, 0x41, 0x39, 0xd1, 0xfc, 0x82, 0xe5, 0x84, 0xd1, 0x68, 0x2e, 0x7a, 0xbb, 0xb9, 0xfd, 0xea,
-	0xc6, 0x0c, 0x23, 0x09, 0xa4, 0xe6, 0x9f, 0xa7, 0x60, 0x7e, 0xb8, 0x85, 0xef, 0xb1, 0x6b, 0x2d,
-	0x68, 0x0e, 0xf7, 0x43, 0x3a, 0xa1, 0x8c, 0xfa, 0xe5, 0xab, 0x71, 0xc6, 0xfd, 0xa7, 0x26, 0xc8,
-	0x5f, 0xde, 0x98, 0x7c, 0x28, 0x80, 0xd4, 0x43, 0x74, 0x81, 0xfb, 0x6e, 0x78, 0x9d, 0xe1, 0xca,
-	0x4b, 0xb5, 0x76, 0xe5, 0xa5, 0xea, 0xfe, 0xa5, 0xc1, 0xbd, 0xeb, 0x8f, 0x84, 0x72, 0x68, 0x9e,
-	0xcf, 0xff, 0xb2, 0x95, 0xdc, 0xff, 0x99, 0x28, 0xfd, 0xfc, 0xe1, 0x28, 0xcc, 0x84, 0xe5, 0x73,
-	0x7c, 0x91, 0xa4, 0xfb, 0x12, 0xda, 0x97, 0x37, 0xa0, 0x36, 0x54, 0x4f, 0xe8, 0x5c, 0x75, 0x20,
-	0x5f, 0xa2, 0x8f, 0xa1, 0x7e, 0x4a, 0x26, 0x33, 0xd9, 0x75, 0x1a, 0x96, 0xc2, 0x77, 0x95, 0x6f,
-	0xb5, 0xee, 0x7d, 0xb8, 0x7b, 0x6d, 0x8e, 0x7a, 0x33, 0xd8, 0x58, 0xe8, 0x0d, 0xf4, 0x08, 0xba,
-	0xd8, 0xd9, 0xdf, 0x77, 0x0e, 0xc5, 0x54, 0xbf, 0x3a, 0xfb, 0x2f, 0x0d, 0x78, 0x8d, 0x8f, 0x4c,
-	0xef, 0x70, 0x30, 0xe0, 0x42, 0x65, 0x71, 0xc2, 0x2f, 0x0e, 0xff, 0x26, 0xac, 0xba, 0xa6, 0x3d,
-	0xe4, 0xa3, 0xb5, 0xbe, 0x03, 0xb0, 0x56, 0x56, 0x7b, 0xe7, 0x25, 0x3c, 0x09, 0xd2, 0xe9, 0xb2,
-	0xfc, 0xed, 0xb4, 0x70, 0xf9, 0xf3, 0xd6, 0xe5, 0x97, 0xc8, 0xd5, 0x7e, 0xab, 0xd4, 0xf6, 0xfa,
-	0xde, 0xc1, 0xd1, 0x8a, 0xb8, 0x54, 0x5f, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x5c, 0x8b, 0x12,
-	0x2b, 0x3f, 0x0b, 0x00, 0x00,
+	// 1166 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xef, 0x8e, 0xdb, 0x44,
+	0x10, 0xaf, 0xf3, 0xe7, 0xee, 0x32, 0xb9, 0x0b, 0xee, 0x96, 0xf6, 0xd2, 0xd0, 0x3f, 0xc1, 0x15,
+	0xd2, 0x49, 0x48, 0x0e, 0x0d, 0x08, 0x28, 0x95, 0x5a, 0xe5, 0x12, 0xdf, 0x61, 0xc8, 0xd9, 0xee,
+	0xda, 0x07, 0x2a, 0x5f, 0xac, 0xad, 0xbd, 0x71, 0x4d, 0x13, 0xdb, 0xb2, 0x37, 0x27, 0x45, 0xfd,
+	0xc8, 0x0b, 0xf0, 0x0c, 0x7c, 0x81, 0x47, 0xe1, 0x03, 0x4f, 0x00, 0x2f, 0x83, 0xbc, 0x5e, 0xdf,
+	0xe5, 0xcf, 0xa1, 0x14, 0xf8, 0x92, 0xec, 0xfc, 0x66, 0xf6, 0x37, 0xb3, 0xb3, 0x33, 0xb3, 0x86,
+	0x5e, 0x10, 0xc7, 0xc1, 0x94, 0xf6, 0x48, 0x12, 0xf6, 0x32, 0x9a, 0x5e, 0x84, 0x1e, 0x9d, 0x91,
+	0x88, 0x04, 0x74, 0x46, 0x23, 0xd6, 0xbb, 0x78, 0xdc, 0x4b, 0x69, 0x16, 0xcf, 0x53, 0x8f, 0x66,
+	0x6a, 0x92, 0xc6, 0x2c, 0x46, 0x0f, 0x8b, 0x0d, 0x2a, 0x49, 0x42, 0x75, 0x63, 0x83, 0x7a, 0xf1,
+	0xb8, 0x73, 0x6f, 0x89, 0x91, 0x44, 0x51, 0xcc, 0x08, 0x0b, 0xe3, 0x48, 0x6c, 0xef, 0x3c, 0x58,
+	0xd2, 0x7a, 0x71, 0x34, 0x09, 0x03, 0xd7, 0x7b, 0x4d, 0xa2, 0x80, 0x0a, 0x7d, 0x7b, 0x33, 0x1e,
+	0xa1, 0x79, 0x24, 0x34, 0xd3, 0x38, 0x0a, 0xd2, 0x79, 0x14, 0x85, 0x51, 0xd0, 0x8b, 0x13, 0x9a,
+	0xae, 0xd0, 0xdf, 0x15, 0x46, 0x5c, 0x7a, 0x35, 0x9f, 0xf4, 0x48, 0xb4, 0x10, 0xaa, 0xee, 0xba,
+	0x6a, 0x12, 0xd2, 0xa9, 0xef, 0xce, 0x48, 0xf6, 0x46, 0x58, 0xdc, 0x5b, 0xb7, 0xc8, 0x58, 0x3a,
+	0xf7, 0x98, 0xd0, 0x3e, 0x5c, 0xd7, 0xb2, 0x70, 0x46, 0x33, 0x46, 0x66, 0x89, 0x30, 0x38, 0x14,
+	0x06, 0x69, 0xe2, 0xf5, 0x32, 0x46, 0xd8, 0x5c, 0x04, 0xa5, 0x78, 0xd0, 0x3a, 0xe3, 0x29, 0xf2,
+	0xed, 0xe2, 0x44, 0xe8, 0x43, 0xd8, 0x17, 0x87, 0x73, 0x23, 0x32, 0xa3, 0xed, 0x4a, 0x57, 0x3a,
+	0x6a, 0xe0, 0xa6, 0xc0, 0x0c, 0x32, 0xa3, 0x48, 0x85, 0x5b, 0x49, 0x1a, 0xfb, 0x73, 0x8f, 0xa6,
+	0x6e, 0x92, 0xc6, 0x3f, 0x52, 0x8f, 0xb9, 0xa1, 0xdf, 0xae, 0x72, 0xcb, 0x9b, 0xa5, 0xca, 0x2a,
+	0x34, 0xba, 0xaf, 0xfc, 0x55, 0x85, 0x9b, 0x66, 0x99, 0x8e, 0x33, 0xca, 0x88, 0x4f, 0x18, 0x41,
+	0x1f, 0x41, 0xab, 0xbc, 0x40, 0xee, 0x29, 0x6b, 0x4b, 0xdd, 0xea, 0x51, 0x03, 0x1f, 0x94, 0x68,
+	0xee, 0x2b, 0x43, 0x67, 0x50, 0xcf, 0x18, 0x4d, 0xb2, 0x76, 0xa5, 0x5b, 0x3d, 0x6a, 0xf6, 0xbf,
+	0x50, 0xb7, 0x5c, 0xb2, 0xba, 0xe1, 0x49, 0xb5, 0x19, 0x4d, 0x70, 0xc1, 0x82, 0x7a, 0x3c, 0xf6,
+	0x20, 0xa5, 0x59, 0xe6, 0x26, 0x34, 0xf5, 0x68, 0xc4, 0x48, 0x40, 0x79, 0xec, 0x75, 0x8c, 0x4a,
+	0x95, 0x75, 0xa9, 0x41, 0x4f, 0x00, 0x32, 0x46, 0x52, 0xe6, 0xe6, 0x39, 0x6d, 0xd7, 0xba, 0xd2,
+	0x51, 0xb3, 0xdf, 0x29, 0x83, 0x28, 0x13, 0xae, 0x3a, 0x65, 0xc2, 0x71, 0x83, 0x5b, 0xe7, 0x72,
+	0xe7, 0x2d, 0xd4, 0x72, 0xd7, 0xa8, 0x0b, 0x4d, 0x9f, 0x66, 0x5e, 0x1a, 0x26, 0x79, 0x58, 0x65,
+	0x46, 0x97, 0x20, 0xf4, 0x02, 0x76, 0x8a, 0x6b, 0xe1, 0x0e, 0x5a, 0xfd, 0x27, 0xff, 0xe9, 0x94,
+	0x39, 0x01, 0x16, 0x44, 0x4a, 0x00, 0x3b, 0x05, 0x82, 0xee, 0x00, 0xb2, 0x9d, 0x81, 0x73, 0x6e,
+	0xbb, 0xe7, 0x86, 0x6d, 0x69, 0x43, 0xfd, 0x44, 0xd7, 0x46, 0xf2, 0x0d, 0xb4, 0x07, 0xb5, 0x91,
+	0x69, 0x68, 0xb2, 0x84, 0xde, 0x83, 0xa6, 0x61, 0x3a, 0xae, 0xed, 0x0c, 0xb0, 0xa3, 0x8d, 0xe4,
+	0x4a, 0x0e, 0xe8, 0x86, 0x6b, 0x61, 0xf3, 0x14, 0x6b, 0xb6, 0x2d, 0x57, 0x11, 0xc0, 0xce, 0xc9,
+	0x40, 0x1f, 0x6b, 0x23, 0xb9, 0x86, 0x0e, 0xa0, 0x31, 0x1c, 0x18, 0x43, 0x6d, 0x9c, 0x8b, 0x75,
+	0xe5, 0x37, 0x09, 0x60, 0x14, 0x92, 0x20, 0x8a, 0x33, 0x16, 0x7a, 0xa8, 0x03, 0x7b, 0xd3, 0xd8,
+	0xe3, 0xa1, 0xb5, 0x25, 0x7e, 0xd2, 0x4b, 0x19, 0x8d, 0xa0, 0xf6, 0x26, 0x8c, 0x7c, 0x9e, 0x81,
+	0x56, 0xff, 0x93, 0xad, 0x87, 0xbc, 0xa2, 0x55, 0xbf, 0x0d, 0x23, 0x1f, 0xf3, 0xdd, 0xa8, 0x0d,
+	0xbb, 0x33, 0x9a, 0x65, 0xe5, 0xb5, 0x35, 0x70, 0x29, 0x2a, 0x0f, 0xa0, 0x96, 0xdb, 0xa1, 0x26,
+	0xec, 0x7e, 0x3f, 0xc0, 0x86, 0x6e, 0x9c, 0xca, 0x37, 0x50, 0x03, 0xea, 0x1a, 0xc6, 0x26, 0x96,
+	0x25, 0x85, 0xc0, 0xfe, 0x90, 0x37, 0xb6, 0xcd, 0x0b, 0x0c, 0xb5, 0xa0, 0x12, 0xfa, 0xed, 0x3a,
+	0x27, 0xa9, 0x84, 0x3e, 0x1a, 0x40, 0x7d, 0x12, 0x4e, 0x69, 0x59, 0x6b, 0x1f, 0x6f, 0x0d, 0xb0,
+	0x60, 0x3b, 0x09, 0xa7, 0x14, 0x17, 0x3b, 0x95, 0x5f, 0x2b, 0x00, 0x57, 0x28, 0xfa, 0x00, 0x1a,
+	0x39, 0xee, 0x26, 0x84, 0xbd, 0x2e, 0xd3, 0x91, 0x03, 0x16, 0x61, 0xaf, 0xd1, 0x23, 0x38, 0xe0,
+	0x4a, 0x2f, 0x8e, 0x18, 0x8d, 0x58, 0xc6, 0x8f, 0xb3, 0x8f, 0xf7, 0x73, 0x70, 0x28, 0x30, 0xf4,
+	0x42, 0x30, 0xb0, 0x45, 0x42, 0x45, 0x75, 0x7c, 0xf6, 0x2f, 0xe2, 0x52, 0xf3, 0x1f, 0x67, 0x91,
+	0xd0, 0xc2, 0x6f, 0xbe, 0x52, 0x7e, 0x92, 0x60, 0xaf, 0x84, 0xd1, 0x5d, 0xb8, 0x7d, 0xa2, 0x8f,
+	0x35, 0xd7, 0x79, 0x69, 0x69, 0x6b, 0x05, 0x72, 0x08, 0xb7, 0x6c, 0x0d, 0x7f, 0xa7, 0x0f, 0x35,
+	0x77, 0x68, 0x1a, 0x27, 0xfa, 0xa9, 0xfb, 0x72, 0x70, 0x36, 0x96, 0x25, 0x74, 0x13, 0x0e, 0x4c,
+	0x4b, 0x33, 0xdc, 0x81, 0xa5, 0xbb, 0xdf, 0xd8, 0xa6, 0x21, 0x57, 0x56, 0x20, 0x6e, 0x55, 0x45,
+	0xf7, 0xe1, 0x2e, 0x67, 0x1e, 0x69, 0xf6, 0x10, 0xeb, 0x96, 0x63, 0x62, 0xd7, 0xd6, 0x9c, 0xbc,
+	0xaa, 0x1c, 0x53, 0xae, 0x29, 0x0f, 0xa1, 0x51, 0x84, 0x89, 0xe9, 0x04, 0x21, 0xa8, 0xf1, 0x69,
+	0x53, 0xa4, 0x88, 0xaf, 0x15, 0x13, 0xf6, 0x87, 0x7c, 0xfe, 0x62, 0x9a, 0xc4, 0x29, 0x43, 0xcf,
+	0xa1, 0xb5, 0x32, 0x96, 0x8b, 0x81, 0xd1, 0xec, 0xb7, 0x97, 0xd3, 0x51, 0x50, 0x8a, 0x7d, 0x07,
+	0xde, 0x92, 0x94, 0x29, 0x7f, 0xee, 0xc0, 0x2e, 0x8e, 0xa7, 0xd3, 0x78, 0xce, 0xd0, 0x7d, 0x80,
+	0xb4, 0x58, 0xe6, 0xa3, 0xab, 0x70, 0xdb, 0x10, 0x88, 0xee, 0xa3, 0xa7, 0xd0, 0xf4, 0x52, 0x4a,
+	0x18, 0x2d, 0xda, 0xbe, 0xb2, 0xb5, 0xed, 0xa1, 0x30, 0xcf, 0x81, 0x9c, 0xbb, 0x90, 0x7c, 0xf7,
+	0xd5, 0x42, 0xd4, 0x68, 0x43, 0x20, 0xc7, 0x0b, 0x64, 0xac, 0x35, 0xfb, 0xe7, 0x5b, 0xaf, 0x53,
+	0x04, 0x5d, 0xfe, 0xaf, 0x76, 0x3a, 0x7a, 0x0b, 0x6d, 0x96, 0x92, 0xc9, 0x24, 0xf4, 0xca, 0x89,
+	0xe6, 0x66, 0x2c, 0x25, 0x8c, 0x06, 0x0b, 0x5e, 0xdb, 0xcd, 0xfe, 0xf3, 0x77, 0xf6, 0xe0, 0x14,
+	0x44, 0x62, 0xfe, 0xd9, 0x82, 0xe6, 0xeb, 0x1b, 0xf8, 0x0e, 0xbb, 0x56, 0x83, 0x16, 0x70, 0xe8,
+	0xd3, 0x29, 0x65, 0xd4, 0x2d, 0x5f, 0x8d, 0x4b, 0xdf, 0xbf, 0x4b, 0xdc, 0xf9, 0xb3, 0x77, 0x76,
+	0x3e, 0xe2, 0x44, 0xe2, 0x21, 0x5a, 0xf2, 0x7d, 0xdb, 0xbf, 0x4e, 0xb1, 0xf1, 0x52, 0xed, 0x6d,
+	0xbc, 0x54, 0x9d, 0x3f, 0x24, 0xb8, 0x73, 0xfd, 0x91, 0x50, 0x0a, 0xcd, 0xab, 0xf9, 0x5f, 0x96,
+	0x92, 0xf5, 0x3f, 0x13, 0xa5, 0x5e, 0x3d, 0x1c, 0x99, 0x16, 0xb1, 0x74, 0x81, 0x97, 0x9d, 0x74,
+	0x9e, 0x81, 0xbc, 0x6e, 0x80, 0x64, 0xa8, 0xbe, 0xa1, 0x0b, 0x51, 0x81, 0xf9, 0x12, 0xbd, 0x0f,
+	0xf5, 0x0b, 0x32, 0x9d, 0x17, 0x55, 0x27, 0xe1, 0x42, 0xf8, 0xaa, 0xf2, 0xa5, 0xd4, 0x39, 0x84,
+	0xdb, 0xd7, 0xe6, 0x48, 0x99, 0xc3, 0xc1, 0x4a, 0x6d, 0xa0, 0x07, 0xd0, 0xc1, 0xe6, 0x78, 0x6c,
+	0x9e, 0xf3, 0xa9, 0xbe, 0x39, 0xfb, 0xd7, 0x06, 0xbc, 0x94, 0x8f, 0x4c, 0xfb, 0x7c, 0x38, 0xcc,
+	0x85, 0xca, 0xea, 0x84, 0x5f, 0x1d, 0xfe, 0x4d, 0xd8, 0xb5, 0x34, 0x63, 0x94, 0x8f, 0xd6, 0xfa,
+	0x31, 0xc0, 0x5e, 0x79, 0xdb, 0xc7, 0x3f, 0x4b, 0xf0, 0xc8, 0x8b, 0x67, 0xdb, 0x12, 0x78, 0xdc,
+	0xc2, 0xe5, 0x57, 0x9b, 0x95, 0x77, 0x91, 0x25, 0xfd, 0x60, 0x89, 0x2d, 0x41, 0x3c, 0x25, 0x51,
+	0xa0, 0xc6, 0x69, 0xd0, 0x0b, 0x68, 0xc4, 0x7b, 0x4c, 0x7c, 0x02, 0x92, 0x24, 0xcc, 0xfe, 0xf1,
+	0x33, 0xf0, 0xe9, 0x06, 0xf8, 0x4b, 0xa5, 0x76, 0x3a, 0xb0, 0xcf, 0x5e, 0xed, 0x70, 0x8e, 0x4f,
+	0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x2d, 0x64, 0x4d, 0x1e, 0x49, 0x0a, 0x00, 0x00,
 }
diff --git a/googleapis/api/servicemanagement/v1/resources.proto b/googleapis/api/servicemanagement/v1/resources.proto
deleted file mode 100644
index 05dd94bc6e20aa0c4c72464fd510921c3f3f7722..0000000000000000000000000000000000000000
--- a/googleapis/api/servicemanagement/v1/resources.proto
+++ /dev/null
@@ -1,285 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api.servicemanagement.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/configchange/config_change.proto"; // from google/api/config_change.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/service.proto"; // from google/api/service.proto
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-import "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ResourcesProto";
-option java_package = "com.google.api.servicemanagement.v1";
-option objc_class_prefix = "GASM";
-
-
-// The full representation of a Service that is managed by
-// Google Service Management.
-message ManagedService {
-  // The name of the service. See the [overview](/service-management/overview)
-  // for naming requirements.
-  string service_name = 2;
-
-  // ID of the project that produces and owns this service.
-  string producer_project_id = 3;
-}
-
-// The metadata associated with a long running operation resource.
-message OperationMetadata {
-  // Represents the status of one operation step.
-  message Step {
-    // The short description of the step.
-    string description = 2;
-
-    // The status code.
-    Status status = 4;
-  }
-
-  // Code describes the status of one operation step.
-  enum Status {
-    // Unspecifed code.
-    STATUS_UNSPECIFIED = 0;
-
-    // The step has completed without errors.
-    DONE = 1;
-
-    // The step has not started yet.
-    NOT_STARTED = 2;
-
-    // The step is in progress.
-    IN_PROGRESS = 3;
-
-    // The step has completed with errors.
-    FAILED = 4;
-
-    // The step has completed with cancellation.
-    CANCELLED = 5;
-  }
-
-  // The full name of the resources that this operation is directly
-  // associated with.
-  repeated string resource_names = 1;
-
-  // Detailed status information for each step. The order is undetermined.
-  repeated Step steps = 2;
-
-  // Percentage of completion of this operation, ranging from 0 to 100.
-  int32 progress_percentage = 3;
-
-  // The start time of the operation.
-  google.protobuf.Timestamp start_time = 4;
-}
-
-// Represents a diagnostic message (error or warning)
-message Diagnostic {
-  // The kind of diagnostic information possible.
-  enum Kind {
-    // Warnings and errors
-    WARNING = 0;
-
-    // Only errors
-    ERROR = 1;
-  }
-
-  // File name and line number of the error or warning.
-  string location = 1;
-
-  // The kind of diagnostic information provided.
-  Kind kind = 2;
-
-  // Message describing the error or warning.
-  string message = 3;
-}
-
-// Represents a source file which is used to generate the service configuration
-// defined by `google.api.Service`.
-message ConfigSource {
-  // A unique ID for a specific instance of this message, typically assigned
-  // by the client for tracking purpose. If empty, the server may choose to
-  // generate one instead.
-  string id = 5;
-
-  // Set of source configuration files that are used to generate a service
-  // configuration (`google.api.Service`).
-  repeated ConfigFile files = 2;
-}
-
-// Generic specification of a source configuration file
-message ConfigFile {
-  enum FileType {
-    // Unknown file type.
-    FILE_TYPE_UNSPECIFIED = 0;
-
-    // YAML-specification of service.
-    SERVICE_CONFIG_YAML = 1;
-
-    // OpenAPI specification, serialized in JSON.
-    OPEN_API_JSON = 2;
-
-    // OpenAPI specification, serialized in YAML.
-    OPEN_API_YAML = 3;
-
-    // FileDescriptorSet, generated by protoc.
-    //
-    // To generate, use protoc with imports and source info included.
-    // For an example test.proto file, the following command would put the value
-    // in a new file named out.pb.
-    //
-    // $protoc --include_imports --include_source_info test.proto -o out.pb
-    FILE_DESCRIPTOR_SET_PROTO = 4;
-  }
-
-  // The file name of the configuration file (full or relative path).
-  string file_path = 1;
-
-  // The bytes that constitute the file.
-  bytes file_contents = 3;
-
-  // The type of configuration file this represents.
-  FileType file_type = 4;
-}
-
-// Represents a service configuration with its name and id.
-message ConfigRef {
-  // Resource name of a service config. It must have the following
-  // format: "services/{service name}/configs/{config id}".
-  string name = 1;
-}
-
-// Change report associated with a particular service configuration.
-//
-// It contains a list of ConfigChanges based on the comparison between
-// two service configurations.
-message ChangeReport {
-  // List of changes between two service configurations.
-  // The changes will be alphabetically sorted based on the identifier
-  // of each change.
-  // A ConfigChange identifier is a dot separated path to the configuration.
-  // Example: visibility.rules[selector='LibraryService.CreateBook'].restriction
-  repeated google.api.ConfigChange config_changes = 1;
-}
-
-// A rollout resource that defines how service configuration versions are pushed
-// to control plane systems. Typically, you create a new version of the
-// service config, and then create a Rollout to push the service config.
-message Rollout {
-  // Strategy that specifies how Google Service Control should select
-  // different
-  // versions of service configurations based on traffic percentage.
-  //
-  // One example of how to gradually rollout a new service configuration using
-  // this
-  // strategy:
-  // Day 1
-  //
-  //     Rollout {
-  //       id: "example.googleapis.com/rollout_20160206"
-  //       traffic_percent_strategy {
-  //         percentages: {
-  //           "example.googleapis.com/20160201": 70.00
-  //           "example.googleapis.com/20160206": 30.00
-  //         }
-  //       }
-  //     }
-  //
-  // Day 2
-  //
-  //     Rollout {
-  //       id: "example.googleapis.com/rollout_20160207"
-  //       traffic_percent_strategy: {
-  //         percentages: {
-  //           "example.googleapis.com/20160206": 100.00
-  //         }
-  //       }
-  //     }
-  message TrafficPercentStrategy {
-    // Maps service configuration IDs to their corresponding traffic percentage.
-    // Key is the service configuration ID, Value is the traffic percentage
-    // which must be greater than 0.0 and the sum must equal to 100.0.
-    map<string, double> percentages = 1;
-  }
-
-  // Strategy used to delete a service. This strategy is a placeholder only
-  // used by the system generated rollout to delete a service.
-  message DeleteServiceStrategy {
-
-  }
-
-  // Status of a Rollout.
-  enum RolloutStatus {
-    // No status specified.
-    ROLLOUT_STATUS_UNSPECIFIED = 0;
-
-    // The Rollout is in progress.
-    IN_PROGRESS = 1;
-
-    // The Rollout has completed successfully.
-    SUCCESS = 2;
-
-    // The Rollout has been cancelled. This can happen if you have overlapping
-    // Rollout pushes, and the previous ones will be cancelled.
-    CANCELLED = 3;
-
-    // The Rollout has failed. It is typically caused by configuration errors.
-    FAILED = 4;
-
-    // The Rollout has not started yet and is pending for execution.
-    PENDING = 5;
-  }
-
-  // Optional unique identifier of this Rollout. Only lower case letters, digits
-  //  and '-' are allowed.
-  //
-  // If not specified by client, the server will generate one. The generated id
-  // will have the form of <date><revision number>, where "date" is the create
-  // date in ISO 8601 format.  "revision number" is a monotonically increasing
-  // positive number that is reset every day for each service.
-  // An example of the generated rollout_id is '2016-02-16r1'
-  string rollout_id = 1;
-
-  // Creation time of the rollout. Readonly.
-  google.protobuf.Timestamp create_time = 2;
-
-  // The user who created the Rollout. Readonly.
-  string created_by = 3;
-
-  // The status of this rollout. Readonly. In case of a failed rollout,
-  // the system will automatically rollback to the current Rollout
-  // version. Readonly.
-  RolloutStatus status = 4;
-
-  // Strategy that defines which versions of service configurations should be
-  // pushed
-  // and how they should be used at runtime.
-  oneof strategy {
-    // Google Service Control selects service configurations based on
-    // traffic percentage.
-    TrafficPercentStrategy traffic_percent_strategy = 5;
-
-    // The strategy associated with a rollout to delete a `ManagedService`.
-    // Readonly.
-    DeleteServiceStrategy delete_service_strategy = 200;
-  }
-
-  // The name of the service associated with this Rollout.
-  string service_name = 8;
-}
diff --git a/googleapis/api/servicemanagement/v1/servicemanager.pb.go b/googleapis/api/servicemanagement/v1/servicemanager.pb.go
index 3f107d2be287c794015ccefcdd9dd4910723b8f5..45c316449e7a209e3972bd8e3226021735981c53 100644
--- a/googleapis/api/servicemanagement/v1/servicemanager.pb.go
+++ b/googleapis/api/servicemanagement/v1/servicemanager.pb.go
@@ -1,18 +1,18 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicemanagement/v1/servicemanager.proto
+// source: google/api/servicemanagement/v1/servicemanager.proto
 // DO NOT EDIT!
 
-package google_api_servicemanagement_v1 // import "google.golang.org/genproto/googleapis/api/servicemanagement/v1"
+package servicemanagement
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_api17 "google.golang.org/genproto/googleapis/api/serviceconfig"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/any"
 import _ "github.com/golang/protobuf/ptypes/empty"
-import _ "google.golang.org/genproto/protobuf"
+import _ "google.golang.org/genproto/protobuf/field_mask"
 import _ "github.com/golang/protobuf/ptypes/struct"
 import _ "google.golang.org/genproto/googleapis/rpc/status"
 
@@ -42,6 +42,27 @@ func (m *ListServicesRequest) String() string            { return proto.CompactT
 func (*ListServicesRequest) ProtoMessage()               {}
 func (*ListServicesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *ListServicesRequest) GetProducerProjectId() string {
+	if m != nil {
+		return m.ProducerProjectId
+	}
+	return ""
+}
+
+func (m *ListServicesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListServicesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response message for `ListServices` method.
 type ListServicesResponse struct {
 	// The results of the query.
@@ -62,6 +83,13 @@ func (m *ListServicesResponse) GetServices() []*ManagedService {
 	return nil
 }
 
+func (m *ListServicesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for `GetService` method.
 type GetServiceRequest struct {
 	// The name of the service.  See the `ServiceManager` overview for naming
@@ -74,6 +102,13 @@ func (m *GetServiceRequest) String() string            { return proto.CompactTex
 func (*GetServiceRequest) ProtoMessage()               {}
 func (*GetServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
+func (m *GetServiceRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 // Request message for CreateService method.
 type CreateServiceRequest struct {
 	// Initial values for the service resource.
@@ -104,6 +139,13 @@ func (m *DeleteServiceRequest) String() string            { return proto.Compact
 func (*DeleteServiceRequest) ProtoMessage()               {}
 func (*DeleteServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
+func (m *DeleteServiceRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 // Request message for UndeleteService method.
 type UndeleteServiceRequest struct {
 	// The name of the service. See the [overview](/service-management/overview)
@@ -116,6 +158,13 @@ func (m *UndeleteServiceRequest) String() string            { return proto.Compa
 func (*UndeleteServiceRequest) ProtoMessage()               {}
 func (*UndeleteServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *UndeleteServiceRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 // Response message for UndeleteService method.
 type UndeleteServiceResponse struct {
 	// Revived service resource.
@@ -147,6 +196,20 @@ func (m *GetServiceConfigRequest) String() string            { return proto.Comp
 func (*GetServiceConfigRequest) ProtoMessage()               {}
 func (*GetServiceConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
 
+func (m *GetServiceConfigRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *GetServiceConfigRequest) GetConfigId() string {
+	if m != nil {
+		return m.ConfigId
+	}
+	return ""
+}
+
 // Request message for ListServiceConfigs method.
 type ListServiceConfigsRequest struct {
 	// The name of the service.  See the [overview](/service-management/overview)
@@ -163,6 +226,27 @@ func (m *ListServiceConfigsRequest) String() string            { return proto.Co
 func (*ListServiceConfigsRequest) ProtoMessage()               {}
 func (*ListServiceConfigsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
 
+func (m *ListServiceConfigsRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *ListServiceConfigsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListServiceConfigsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // Response message for ListServiceConfigs method.
 type ListServiceConfigsResponse struct {
 	// The list of service configuration resources.
@@ -183,6 +267,13 @@ func (m *ListServiceConfigsResponse) GetServiceConfigs() []*google_api17.Service
 	return nil
 }
 
+func (m *ListServiceConfigsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for CreateServiceConfig method.
 type CreateServiceConfigRequest struct {
 	// The name of the service.  See the [overview](/service-management/overview)
@@ -197,6 +288,13 @@ func (m *CreateServiceConfigRequest) String() string            { return proto.C
 func (*CreateServiceConfigRequest) ProtoMessage()               {}
 func (*CreateServiceConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
 
+func (m *CreateServiceConfigRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 func (m *CreateServiceConfigRequest) GetServiceConfig() *google_api17.Service {
 	if m != nil {
 		return m.ServiceConfig
@@ -222,6 +320,13 @@ func (m *SubmitConfigSourceRequest) String() string            { return proto.Co
 func (*SubmitConfigSourceRequest) ProtoMessage()               {}
 func (*SubmitConfigSourceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
 
+func (m *SubmitConfigSourceRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 func (m *SubmitConfigSourceRequest) GetConfigSource() *ConfigSource {
 	if m != nil {
 		return m.ConfigSource
@@ -229,6 +334,13 @@ func (m *SubmitConfigSourceRequest) GetConfigSource() *ConfigSource {
 	return nil
 }
 
+func (m *SubmitConfigSourceRequest) GetValidateOnly() bool {
+	if m != nil {
+		return m.ValidateOnly
+	}
+	return false
+}
+
 // Response message for SubmitConfigSource method.
 type SubmitConfigSourceResponse struct {
 	// The generated service configuration.
@@ -261,6 +373,13 @@ func (m *CreateServiceRolloutRequest) String() string            { return proto.
 func (*CreateServiceRolloutRequest) ProtoMessage()               {}
 func (*CreateServiceRolloutRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
 
+func (m *CreateServiceRolloutRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 func (m *CreateServiceRolloutRequest) GetRollout() *Rollout {
 	if m != nil {
 		return m.Rollout
@@ -284,6 +403,27 @@ func (m *ListServiceRolloutsRequest) String() string            { return proto.C
 func (*ListServiceRolloutsRequest) ProtoMessage()               {}
 func (*ListServiceRolloutsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} }
 
+func (m *ListServiceRolloutsRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *ListServiceRolloutsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListServiceRolloutsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // Response message for ListServiceRollouts method.
 type ListServiceRolloutsResponse struct {
 	// The list of rollout resources.
@@ -304,6 +444,13 @@ func (m *ListServiceRolloutsResponse) GetRollouts() []*Rollout {
 	return nil
 }
 
+func (m *ListServiceRolloutsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for GetServiceRollout method.
 type GetServiceRolloutRequest struct {
 	// The name of the service.  See the [overview](/service-management/overview)
@@ -318,6 +465,20 @@ func (m *GetServiceRolloutRequest) String() string            { return proto.Com
 func (*GetServiceRolloutRequest) ProtoMessage()               {}
 func (*GetServiceRolloutRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
 
+func (m *GetServiceRolloutRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *GetServiceRolloutRequest) GetRolloutId() string {
+	if m != nil {
+		return m.RolloutId
+	}
+	return ""
+}
+
 // Request message for EnableService method.
 type EnableServiceRequest struct {
 	// Name of the service to enable. Specifying an unknown service name will
@@ -339,6 +500,20 @@ func (m *EnableServiceRequest) String() string            { return proto.Compact
 func (*EnableServiceRequest) ProtoMessage()               {}
 func (*EnableServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
 
+func (m *EnableServiceRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *EnableServiceRequest) GetConsumerId() string {
+	if m != nil {
+		return m.ConsumerId
+	}
+	return ""
+}
+
 // Request message for DisableService method.
 type DisableServiceRequest struct {
 	// Name of the service to disable. Specifying an unknown service name
@@ -360,6 +535,20 @@ func (m *DisableServiceRequest) String() string            { return proto.Compac
 func (*DisableServiceRequest) ProtoMessage()               {}
 func (*DisableServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{18} }
 
+func (m *DisableServiceRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *DisableServiceRequest) GetConsumerId() string {
+	if m != nil {
+		return m.ConsumerId
+	}
+	return ""
+}
+
 // Request message for GenerateConfigReport method.
 type GenerateConfigReportRequest struct {
 	// Service configuration for which we want to generate the report.
@@ -415,6 +604,20 @@ func (m *GenerateConfigReportResponse) String() string            { return proto
 func (*GenerateConfigReportResponse) ProtoMessage()               {}
 func (*GenerateConfigReportResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{20} }
 
+func (m *GenerateConfigReportResponse) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *GenerateConfigReportResponse) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 func (m *GenerateConfigReportResponse) GetChangeReports() []*ChangeReport {
 	if m != nil {
 		return m.ChangeReports
@@ -1118,99 +1321,97 @@ var _ServiceManager_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/api/servicemanagement/v1/servicemanager.proto",
+	Metadata: "google/api/servicemanagement/v1/servicemanager.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicemanagement/v1/servicemanager.proto", fileDescriptor1)
+	proto.RegisterFile("google/api/servicemanagement/v1/servicemanager.proto", fileDescriptor1)
 }
 
 var fileDescriptor1 = []byte{
-	// 1369 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x57, 0x4d, 0x6f, 0xdc, 0x44,
-	0x18, 0xd6, 0xa4, 0x5f, 0xc9, 0x9b, 0xec, 0x96, 0x4e, 0x16, 0xba, 0x75, 0x88, 0xda, 0x3a, 0x50,
-	0xa2, 0x94, 0xae, 0x95, 0xa6, 0x69, 0xe9, 0xa6, 0x3d, 0x34, 0x4d, 0x55, 0x45, 0xd0, 0x36, 0xda,
-	0x14, 0x89, 0x2f, 0x69, 0xe5, 0xd8, 0x53, 0xd7, 0xd4, 0x3b, 0x63, 0x3c, 0x76, 0x4a, 0x1a, 0xf5,
-	0x40, 0x55, 0x09, 0x89, 0x9e, 0x10, 0x88, 0x4a, 0x1c, 0x11, 0xe2, 0xc0, 0x81, 0x0b, 0x07, 0x24,
-	0x0e, 0x48, 0xfc, 0x06, 0xfe, 0x02, 0xbf, 0x81, 0x33, 0xf2, 0x78, 0xbc, 0xf1, 0xec, 0xba, 0x6b,
-	0x3b, 0x7c, 0x1c, 0x92, 0x95, 0x67, 0xfc, 0xbc, 0xef, 0x33, 0xef, 0x3c, 0xf3, 0xfa, 0x19, 0xd8,
-	0x74, 0x18, 0x73, 0x3c, 0xd2, 0x72, 0x98, 0x67, 0x52, 0xa7, 0xc5, 0x02, 0xc7, 0x70, 0x08, 0xf5,
-	0x03, 0x16, 0x32, 0x23, 0x99, 0x32, 0x7d, 0x97, 0x1b, 0xa6, 0xef, 0x1a, 0x9c, 0x04, 0xdb, 0xae,
-	0x45, 0x7a, 0x26, 0x35, 0x1d, 0xd2, 0x23, 0x34, 0x34, 0xb6, 0x17, 0xd5, 0xc1, 0xa0, 0x25, 0x80,
-	0xf8, 0xa4, 0x0c, 0x6a, 0xfa, 0x6e, 0x6b, 0x08, 0xd5, 0xda, 0x5e, 0xd4, 0xd6, 0x2b, 0x67, 0xb5,
-	0x18, 0xbd, 0xe7, 0x3a, 0x86, 0x49, 0x29, 0x0b, 0xcd, 0xd0, 0x65, 0x94, 0x27, 0xb9, 0xb4, 0x1b,
-	0xfb, 0x0d, 0x25, 0x9f, 0x64, 0x98, 0xdb, 0xff, 0xb0, 0x0e, 0x01, 0xe1, 0x2c, 0x0a, 0x2c, 0x92,
-	0xd2, 0x5a, 0x2d, 0x17, 0xcf, 0x63, 0xd4, 0x09, 0x22, 0x4a, 0x5d, 0xea, 0x18, 0xcc, 0x27, 0x81,
-	0xb2, 0x34, 0xc3, 0x71, 0xc3, 0xfb, 0xd1, 0x56, 0xcb, 0x62, 0x3d, 0x23, 0x89, 0x63, 0x88, 0x89,
-	0xad, 0xe8, 0x9e, 0xe1, 0x87, 0x3b, 0x3e, 0xe1, 0x86, 0x49, 0x77, 0xe2, 0x3f, 0x09, 0x58, 0x2a,
-	0x06, 0x90, 0x9e, 0x1f, 0xee, 0x24, 0xff, 0x25, 0xe8, 0xc2, 0x08, 0xa6, 0x7d, 0xf4, 0x3d, 0x97,
-	0x78, 0x76, 0xb7, 0x67, 0xf2, 0x07, 0x12, 0xb5, 0x5c, 0x9c, 0x8a, 0x87, 0x41, 0x64, 0x85, 0xf2,
-	0x47, 0xc2, 0xae, 0x96, 0x2b, 0x4b, 0xe0, 0x5b, 0x06, 0x0f, 0xcd, 0x30, 0xe2, 0xf2, 0x27, 0x81,
-	0xeb, 0x9f, 0x21, 0x98, 0x7e, 0xc7, 0xe5, 0xe1, 0x66, 0xb2, 0x05, 0xbc, 0x43, 0x3e, 0x89, 0x08,
-	0x0f, 0x71, 0x0b, 0xa6, 0xfd, 0x80, 0xd9, 0x91, 0x45, 0x82, 0xae, 0x1f, 0xb0, 0x8f, 0x89, 0x15,
-	0x76, 0x5d, 0xbb, 0x89, 0x4e, 0xa1, 0xf9, 0x89, 0xce, 0xb1, 0x74, 0x6a, 0x23, 0x99, 0x59, 0xb7,
-	0xf1, 0x0c, 0x4c, 0xf8, 0xa6, 0x43, 0xba, 0xdc, 0x7d, 0x44, 0x9a, 0x87, 0x4e, 0xa1, 0xf9, 0x43,
-	0x9d, 0xf1, 0x78, 0x60, 0xd3, 0x7d, 0x44, 0xf0, 0x2c, 0x80, 0x98, 0x0c, 0xd9, 0x03, 0x42, 0x9b,
-	0x87, 0x45, 0x0c, 0xf1, 0xfa, 0xdd, 0x78, 0x40, 0x7f, 0x86, 0xa0, 0xa1, 0x72, 0xe0, 0x3e, 0xa3,
-	0x9c, 0xe0, 0xb7, 0x61, 0x5c, 0x4a, 0x83, 0x37, 0xd1, 0xa9, 0x03, 0xf3, 0x93, 0xe7, 0x8d, 0x56,
-	0xc1, 0x41, 0x68, 0xdd, 0x12, 0x4f, 0xb6, 0x8c, 0xd5, 0xe9, 0x07, 0xc0, 0x67, 0xe0, 0x28, 0x25,
-	0x9f, 0x86, 0xdd, 0x0c, 0x93, 0x31, 0xc1, 0xa4, 0x16, 0x0f, 0x6f, 0xf4, 0xd9, 0x5c, 0x84, 0x63,
-	0x37, 0x49, 0xca, 0x25, 0x2d, 0xc7, 0x69, 0x98, 0x92, 0x81, 0xba, 0xd4, 0xec, 0x11, 0x59, 0x87,
-	0x49, 0x39, 0x76, 0xdb, 0xec, 0x11, 0xdd, 0x84, 0xc6, 0xf5, 0x80, 0x98, 0x21, 0x19, 0x80, 0xae,
-	0xc3, 0x11, 0xf9, 0x9a, 0x40, 0xed, 0x63, 0x0d, 0x29, 0x5e, 0xbf, 0x0c, 0x8d, 0x35, 0xe2, 0x91,
-	0xa1, 0x14, 0x25, 0xd8, 0xad, 0xc0, 0x2b, 0xef, 0x52, 0x7b, 0x9f, 0x60, 0x1b, 0x8e, 0x0f, 0x81,
-	0xe5, 0x16, 0xfd, 0x8b, 0xab, 0x7b, 0x1f, 0x8e, 0xef, 0x15, 0xfe, 0xba, 0x68, 0x29, 0xe5, 0x39,
-	0xc6, 0x02, 0x4c, 0xda, 0x50, 0x2c, 0xd3, 0x64, 0x63, 0xc7, 0x93, 0x81, 0x75, 0x5b, 0x7f, 0x04,
-	0x27, 0x32, 0x02, 0x4b, 0x62, 0xf3, 0x0a, 0xc1, 0x55, 0x01, 0x8f, 0x0d, 0x08, 0x58, 0x15, 0xff,
-	0x01, 0x55, 0xfc, 0xfa, 0x13, 0x04, 0x5a, 0x5e, 0x72, 0x59, 0xc0, 0x2b, 0x70, 0x34, 0xcd, 0x9e,
-	0xd0, 0x4d, 0xa5, 0x3e, 0x9d, 0x2d, 0x64, 0x5a, 0xac, 0x3a, 0x57, 0xa2, 0x94, 0x16, 0xf5, 0x2e,
-	0x68, 0x8a, 0x38, 0x2b, 0x97, 0xb7, 0x0d, 0x75, 0x95, 0xa6, 0xc8, 0xf3, 0x02, 0x96, 0x35, 0x85,
-	0xa5, 0xfe, 0x0b, 0x82, 0x13, 0x9b, 0xd1, 0x56, 0xcf, 0x0d, 0x93, 0x81, 0x4d, 0xd1, 0xd7, 0x2b,
-	0x24, 0xef, 0x40, 0x4d, 0xee, 0x6d, 0xf2, 0x49, 0x90, 0xb9, 0xcf, 0x15, 0x4a, 0x4d, 0xc9, 0x37,
-	0x65, 0x65, 0x9e, 0xf0, 0x1c, 0xd4, 0xb6, 0x4d, 0xcf, 0xb5, 0xcd, 0x90, 0x74, 0x19, 0xf5, 0x76,
-	0xc4, 0xbe, 0x8d, 0x77, 0xa6, 0xd2, 0xc1, 0x3b, 0xd4, 0xdb, 0xd1, 0xdf, 0x03, 0x2d, 0x8f, 0xb8,
-	0xdc, 0xba, 0xe1, 0x9a, 0xa0, 0xd2, 0x35, 0x79, 0x8a, 0x60, 0x46, 0x6d, 0x17, 0xcc, 0xf3, 0x58,
-	0x14, 0x56, 0xa8, 0xca, 0x2a, 0x1c, 0x09, 0x12, 0x90, 0xac, 0xc7, 0x7c, 0x61, 0x3d, 0xd2, 0x24,
-	0x29, 0x30, 0xd6, 0x45, 0x46, 0x9b, 0x72, 0xfa, 0xff, 0x3a, 0x19, 0xcf, 0x10, 0xcc, 0xe4, 0x66,
-	0x97, 0xf5, 0x5d, 0x83, 0x71, 0xc9, 0x33, 0x3d, 0x13, 0xe5, 0x57, 0xd8, 0x47, 0x96, 0x3e, 0x22,
-	0x1f, 0x41, 0x33, 0xd3, 0xf7, 0x2b, 0xef, 0xc6, 0x2c, 0x80, 0x4c, 0xb9, 0xd7, 0x80, 0x26, 0xe4,
-	0xc8, 0xba, 0xad, 0x7f, 0x00, 0x8d, 0x1b, 0xd4, 0xdc, 0xf2, 0xaa, 0x77, 0x5f, 0x7c, 0x12, 0x26,
-	0x2d, 0x46, 0x79, 0xd4, 0x23, 0xc1, 0x5e, 0x68, 0x48, 0x87, 0xd6, 0x6d, 0xfd, 0x43, 0x78, 0x79,
-	0xcd, 0xe5, 0xff, 0x51, 0xf0, 0xcf, 0x11, 0xcc, 0xdc, 0x24, 0x34, 0x36, 0x52, 0xfd, 0xae, 0xe1,
-	0xb3, 0xa0, 0x5f, 0x9a, 0x25, 0x00, 0x4a, 0x1e, 0xaa, 0x07, 0xa0, 0x91, 0x6e, 0x53, 0x6a, 0x60,
-	0x5a, 0xd7, 0xe8, 0x4e, 0x67, 0x82, 0x92, 0x87, 0x49, 0x84, 0x18, 0xc4, 0x3c, 0x5b, 0xed, 0x24,
-	0x2f, 0x00, 0x31, 0xcf, 0x96, 0x47, 0xe6, 0x2f, 0x04, 0xaf, 0xe6, 0x33, 0x91, 0x7a, 0x29, 0xb1,
-	0xdc, 0x3a, 0x8c, 0xf5, 0x57, 0x39, 0xe6, 0xda, 0xf8, 0x2e, 0xd4, 0xad, 0xfb, 0x26, 0x75, 0x48,
-	0x37, 0x10, 0xb1, 0x78, 0xf3, 0x80, 0x10, 0x5a, 0x89, 0xd6, 0x22, 0x60, 0x92, 0x41, 0xcd, 0xca,
-	0x3c, 0x71, 0x7c, 0x0b, 0x26, 0x6d, 0xd7, 0x74, 0x28, 0xe3, 0xa1, 0x6b, 0xf1, 0xe6, 0x41, 0x11,
-	0xf2, 0x6c, 0x61, 0xc8, 0xb5, 0x3e, 0xa6, 0x93, 0xc5, 0x9f, 0xff, 0x69, 0x1a, 0xea, 0x72, 0x67,
-	0x93, 0x6f, 0x67, 0x80, 0xbf, 0x44, 0x30, 0x95, 0xb5, 0x4c, 0xf8, 0x42, 0x61, 0xf4, 0x1c, 0x97,
-	0xa7, 0x2d, 0x57, 0x44, 0x25, 0x85, 0xd6, 0x1b, 0x4f, 0xfe, 0xf8, 0xf3, 0xab, 0xb1, 0x3a, 0x9e,
-	0xca, 0xdc, 0x57, 0x38, 0xfe, 0x06, 0x01, 0xec, 0x9d, 0x20, 0x7c, 0xbe, 0x30, 0xf6, 0x90, 0xcd,
-	0xd2, 0xaa, 0x9a, 0x07, 0x7d, 0x4e, 0x30, 0x99, 0xc5, 0x33, 0x59, 0x26, 0xc6, 0x6e, 0x56, 0x06,
-	0x8f, 0xf1, 0x53, 0x04, 0x35, 0xa5, 0xd7, 0xe2, 0xe2, 0x75, 0xe7, 0x59, 0x39, 0x6d, 0x36, 0x85,
-	0x65, 0x2e, 0x19, 0xad, 0x3b, 0xe9, 0x25, 0x43, 0x9f, 0x15, 0x64, 0x8e, 0xeb, 0x4a, 0x59, 0xda,
-	0xa9, 0xbf, 0xc1, 0x5f, 0x20, 0xa8, 0x29, 0xf6, 0xad, 0x04, 0x8d, 0x3c, 0xbb, 0x57, 0x44, 0x43,
-	0xd6, 0x64, 0x61, 0x64, 0x4d, 0x9e, 0x23, 0x38, 0x3a, 0xe0, 0xe9, 0xf0, 0xa5, 0x42, 0x3a, 0xf9,
-	0x16, 0xb2, 0x88, 0xd0, 0x9b, 0x82, 0xd0, 0x19, 0xfd, 0xb5, 0x11, 0x84, 0xda, 0x91, 0x0c, 0x8d,
-	0x7f, 0x45, 0x80, 0x87, 0xfd, 0x12, 0x6e, 0x57, 0x91, 0xaa, 0xea, 0xf0, 0xb4, 0x95, 0x7d, 0x61,
-	0xa5, 0xd8, 0xcf, 0x0a, 0xf6, 0xaf, 0xe3, 0xb9, 0x11, 0xec, 0x0d, 0x69, 0xdd, 0xf0, 0xb7, 0x08,
-	0x5e, 0x1a, 0x34, 0xb1, 0xf8, 0xad, 0x0a, 0x27, 0x41, 0x31, 0x66, 0x5a, 0x9e, 0x93, 0xd0, 0x2f,
-	0x09, 0x42, 0x8b, 0xd8, 0x28, 0x41, 0xc8, 0xd8, 0xed, 0x9b, 0xe2, 0xc7, 0xf8, 0x7b, 0x04, 0xd3,
-	0x39, 0x2e, 0x10, 0xaf, 0x54, 0x3b, 0x0d, 0x25, 0x28, 0xae, 0x08, 0x8a, 0xcb, 0x7a, 0x99, 0x9a,
-	0xb5, 0x07, 0x4c, 0x14, 0xfe, 0x01, 0x01, 0x1e, 0x76, 0x5d, 0x25, 0x04, 0xf0, 0x42, 0x8f, 0x59,
-	0x24, 0xd0, 0x65, 0x41, 0xd7, 0xd0, 0x17, 0xca, 0xd0, 0xe5, 0x22, 0x4b, 0x1b, 0x2d, 0xe0, 0xdf,
-	0xd4, 0xbb, 0x73, 0xea, 0x5f, 0x70, 0x25, 0xb9, 0x0d, 0x78, 0x2e, 0xed, 0xca, 0xfe, 0xc0, 0x52,
-	0xac, 0xf2, 0xa8, 0xe1, 0x51, 0x47, 0xcd, 0xe8, 0x5b, 0xa3, 0x9f, 0x91, 0x72, 0xd7, 0x4d, 0x86,
-	0xf1, 0xe5, 0x2a, 0x8d, 0x5b, 0xf1, 0x49, 0x5a, 0x69, 0x7f, 0xa6, 0x5f, 0x16, 0x44, 0x97, 0xf0,
-	0x62, 0x19, 0xa2, 0xc6, 0xee, 0x9e, 0xb5, 0x7a, 0x8c, 0x7f, 0x44, 0x83, 0x37, 0x6d, 0x49, 0xfc,
-	0x4a, 0xc5, 0xae, 0xae, 0x72, 0x2f, 0xa9, 0x91, 0x52, 0x95, 0x6d, 0xa7, 0x06, 0x1b, 0xff, 0x8e,
-	0xa0, 0x91, 0x67, 0x5a, 0x4a, 0x90, 0x1d, 0xe1, 0xba, 0xb4, 0xab, 0xfb, 0x44, 0xab, 0x32, 0xd1,
-	0x4f, 0x2b, 0x5f, 0x2a, 0x27, 0x07, 0x12, 0xeb, 0xfc, 0x6b, 0x04, 0x35, 0xc5, 0xbc, 0x96, 0xf8,
-	0x70, 0xe5, 0x99, 0xdd, 0xa2, 0x12, 0x9f, 0x13, 0xac, 0xde, 0xd0, 0xf5, 0x51, 0xdf, 0x09, 0x22,
-	0x02, 0xc7, 0xb4, 0x9e, 0x23, 0xa8, 0xab, 0xbe, 0x17, 0x5f, 0x2c, 0xe1, 0xb1, 0x78, 0x75, 0x62,
-	0x2d, 0x41, 0x6c, 0x7e, 0x64, 0x3b, 0x6b, 0xdb, 0x49, 0xe4, 0x36, 0x5a, 0x58, 0xbd, 0x0e, 0x73,
-	0x16, 0xeb, 0x15, 0x71, 0x59, 0x9d, 0x56, 0x4d, 0xdd, 0x46, 0xec, 0x7b, 0x37, 0xd0, 0x77, 0x63,
-	0x07, 0x6f, 0x5e, 0xdb, 0xbc, 0xb5, 0x75, 0x58, 0xf8, 0xe0, 0xa5, 0xbf, 0x03, 0x00, 0x00, 0xff,
-	0xff, 0xb8, 0x45, 0x92, 0x9b, 0x50, 0x16, 0x00, 0x00,
+	// 1343 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcf, 0x6f, 0xdc, 0x44,
+	0x14, 0xd6, 0x6c, 0x7f, 0x25, 0x2f, 0xd9, 0x2d, 0x9d, 0x5d, 0xc8, 0xd6, 0xdb, 0xa8, 0xa9, 0x03,
+	0x25, 0x4a, 0xe9, 0x5a, 0xe9, 0x4f, 0xba, 0x29, 0x87, 0xb6, 0x41, 0x55, 0x04, 0xa5, 0xd1, 0xa6,
+	0x48, 0x50, 0x90, 0x56, 0x8e, 0x3d, 0x31, 0xa6, 0xde, 0x19, 0xe3, 0xf1, 0xa6, 0x24, 0x51, 0x0e,
+	0x54, 0x95, 0x90, 0xe8, 0x09, 0xf1, 0xa3, 0x12, 0x47, 0x84, 0x38, 0x70, 0xe0, 0xc2, 0x01, 0x89,
+	0x03, 0x12, 0x7f, 0x03, 0xff, 0x02, 0x7f, 0x03, 0x67, 0xb4, 0xe3, 0xf1, 0xc6, 0xb3, 0xeb, 0xac,
+	0xed, 0x08, 0x38, 0xfa, 0x8d, 0xbf, 0xf7, 0xbe, 0x79, 0xf3, 0xcd, 0xf3, 0xb7, 0x0b, 0x57, 0x1c,
+	0xc6, 0x1c, 0x8f, 0x18, 0xa6, 0xef, 0x1a, 0x9c, 0x04, 0x5b, 0xae, 0x45, 0xba, 0x26, 0x35, 0x1d,
+	0xd2, 0x25, 0x34, 0x34, 0xb6, 0x96, 0xd4, 0x60, 0xd0, 0xf4, 0x03, 0x16, 0x32, 0x7c, 0x36, 0x42,
+	0x35, 0x4d, 0xdf, 0x6d, 0x8e, 0xa0, 0x9a, 0x5b, 0x4b, 0xda, 0x99, 0x44, 0x5a, 0x93, 0x52, 0x16,
+	0x9a, 0xa1, 0xcb, 0x28, 0x8f, 0xe0, 0x5a, 0x7d, 0xb4, 0xa8, 0x5c, 0x31, 0xb2, 0xe8, 0x04, 0x84,
+	0xb3, 0x5e, 0x60, 0x91, 0x38, 0xd5, 0xbc, 0x04, 0x78, 0x8c, 0x3a, 0x41, 0x8f, 0x52, 0x97, 0x3a,
+	0x06, 0xf3, 0x49, 0xa0, 0xd4, 0x3b, 0x2d, 0x5f, 0x12, 0x4f, 0x1b, 0xbd, 0x4d, 0xc3, 0xa4, 0xdb,
+	0x72, 0xa9, 0x31, 0xbc, 0x44, 0xba, 0x7e, 0x18, 0x2f, 0xce, 0x0d, 0x2f, 0x6e, 0xba, 0xc4, 0xb3,
+	0x3b, 0x5d, 0x93, 0x3f, 0x92, 0x6f, 0x9c, 0x19, 0x7e, 0x83, 0x87, 0x41, 0xcf, 0x0a, 0xe5, 0xea,
+	0x8c, 0x5c, 0x0d, 0x7c, 0xcb, 0xe0, 0xa1, 0x19, 0xf6, 0x24, 0x21, 0xfd, 0x33, 0x04, 0xd5, 0xb7,
+	0x5d, 0x1e, 0xae, 0x47, 0x5b, 0xe4, 0x6d, 0xf2, 0x49, 0x8f, 0xf0, 0x10, 0x37, 0xa1, 0xea, 0x07,
+	0xcc, 0xee, 0x59, 0x24, 0xe8, 0xf8, 0x01, 0xfb, 0x98, 0x58, 0x61, 0xc7, 0xb5, 0xeb, 0x68, 0x0e,
+	0x2d, 0x4c, 0xb6, 0x4f, 0xc5, 0x4b, 0x6b, 0xd1, 0xca, 0xaa, 0x8d, 0x1b, 0x30, 0xe9, 0x9b, 0x0e,
+	0xe9, 0x70, 0x77, 0x87, 0xd4, 0x8f, 0xcd, 0xa1, 0x85, 0x63, 0xed, 0x89, 0x7e, 0x60, 0xdd, 0xdd,
+	0x21, 0x78, 0x16, 0x40, 0x2c, 0x86, 0xec, 0x11, 0xa1, 0xf5, 0xe3, 0x22, 0x87, 0x78, 0xfd, 0x41,
+	0x3f, 0xa0, 0x3f, 0x43, 0x50, 0x53, 0x39, 0x70, 0x9f, 0x51, 0x4e, 0xf0, 0x5b, 0x30, 0x21, 0x5b,
+	0xcf, 0xeb, 0x68, 0xee, 0xc8, 0xc2, 0xd4, 0x25, 0xa3, 0x99, 0x71, 0xde, 0xcd, 0x7b, 0xe2, 0xc9,
+	0x96, 0xb9, 0xda, 0x83, 0x04, 0xf8, 0x3c, 0x9c, 0xa4, 0xe4, 0xd3, 0xb0, 0x93, 0x60, 0x52, 0x12,
+	0x4c, 0xca, 0xfd, 0xf0, 0xda, 0x80, 0xcd, 0x35, 0x38, 0x75, 0x97, 0xc4, 0x5c, 0xe2, 0x76, 0x9c,
+	0x83, 0x69, 0x99, 0xa8, 0x43, 0xcd, 0x2e, 0x91, 0x7d, 0x98, 0x92, 0xb1, 0x77, 0xcc, 0x2e, 0xd1,
+	0x4d, 0xa8, 0xdd, 0x09, 0x88, 0x19, 0x92, 0x21, 0xe8, 0x2a, 0x9c, 0x90, 0xaf, 0x09, 0xd4, 0x21,
+	0xf6, 0x10, 0xe3, 0xf5, 0x1b, 0x50, 0x5b, 0x21, 0x1e, 0x19, 0x29, 0x91, 0x83, 0xdd, 0x32, 0xbc,
+	0xf4, 0x2e, 0xb5, 0x0f, 0x09, 0xb6, 0x61, 0x66, 0x04, 0x2c, 0x8f, 0xe8, 0x5f, 0xdc, 0xdd, 0xfb,
+	0x30, 0xb3, 0xdf, 0xf8, 0x3b, 0x8c, 0x6e, 0xba, 0x4e, 0x7e, 0x8e, 0x7d, 0x01, 0x5a, 0x02, 0xd3,
+	0x97, 0x69, 0x74, 0xb0, 0x13, 0x51, 0x60, 0xd5, 0xd6, 0x77, 0xe0, 0x74, 0x42, 0x60, 0x51, 0x6e,
+	0x5e, 0x20, 0xb9, 0x2a, 0xe0, 0xd2, 0x90, 0x80, 0x55, 0xf1, 0x1f, 0x51, 0xc5, 0xaf, 0x3f, 0x41,
+	0xa0, 0xa5, 0x15, 0x97, 0x0d, 0xbc, 0x09, 0x27, 0xe3, 0xea, 0x11, 0xdd, 0x58, 0xea, 0xd5, 0x64,
+	0x23, 0xe3, 0x66, 0x55, 0xb8, 0x92, 0x25, 0xb7, 0xa8, 0x77, 0x41, 0x53, 0xc4, 0x59, 0xb8, 0xbd,
+	0x2d, 0xa8, 0xa8, 0x34, 0x45, 0x9d, 0x03, 0x58, 0x96, 0x15, 0x96, 0xfa, 0xaf, 0x08, 0x4e, 0xaf,
+	0xf7, 0x36, 0xba, 0x6e, 0x18, 0x05, 0xd6, 0xc5, 0xdc, 0x2c, 0x50, 0xbc, 0x0d, 0x65, 0x79, 0xb6,
+	0xd1, 0xc8, 0x95, 0xb5, 0x2f, 0x66, 0x4a, 0x4d, 0xa9, 0x37, 0x6d, 0x25, 0x9e, 0xf0, 0x3c, 0x94,
+	0xb7, 0x4c, 0xcf, 0xb5, 0xcd, 0x90, 0x74, 0x18, 0xf5, 0xb6, 0xc5, 0xb9, 0x4d, 0xb4, 0xa7, 0xe3,
+	0xe0, 0x7d, 0xea, 0x6d, 0xeb, 0xef, 0x81, 0x96, 0x46, 0x5c, 0x1e, 0xdd, 0x68, 0x4f, 0x50, 0xee,
+	0x9e, 0x3c, 0x45, 0xd0, 0x50, 0xc7, 0x05, 0xf3, 0x3c, 0xd6, 0x0b, 0x0b, 0x74, 0xe5, 0x36, 0x9c,
+	0x08, 0x22, 0x90, 0xec, 0xc7, 0x42, 0x66, 0x3f, 0xe2, 0x22, 0x31, 0xb0, 0xaf, 0x8b, 0x84, 0x36,
+	0xe5, 0xf2, 0xff, 0x75, 0x33, 0x9e, 0x21, 0x68, 0xa4, 0x56, 0x97, 0xfd, 0x5d, 0x81, 0x09, 0xc9,
+	0x33, 0xbe, 0x13, 0xf9, 0x77, 0x38, 0x40, 0xe6, 0xbe, 0x22, 0x1f, 0x42, 0x3d, 0x31, 0xf7, 0x0b,
+	0x9f, 0xc6, 0x2c, 0x80, 0x2c, 0xb9, 0x3f, 0x80, 0x26, 0x65, 0x64, 0xd5, 0xd6, 0x1f, 0x42, 0xed,
+	0x4d, 0x6a, 0x6e, 0x78, 0xc5, 0xa7, 0x2f, 0x3e, 0x0b, 0x53, 0x16, 0xa3, 0xbc, 0xd7, 0x25, 0xc1,
+	0x7e, 0x6a, 0x88, 0x43, 0xab, 0xb6, 0xfe, 0x01, 0xbc, 0xb8, 0xe2, 0xf2, 0xff, 0x28, 0xf9, 0xe7,
+	0x08, 0x1a, 0x77, 0x09, 0xed, 0xfb, 0x98, 0xc1, 0xd4, 0xf0, 0x59, 0x30, 0x68, 0xcd, 0x65, 0x00,
+	0x4a, 0x1e, 0xab, 0x17, 0xa0, 0x16, 0x1f, 0x53, 0x6c, 0x46, 0x9a, 0xb7, 0xe8, 0x76, 0x7b, 0x92,
+	0x92, 0xc7, 0x51, 0x86, 0x3e, 0x88, 0x79, 0xb6, 0x3a, 0x49, 0x0e, 0x00, 0x31, 0xcf, 0x96, 0x57,
+	0xe6, 0x6f, 0x04, 0x67, 0xd2, 0x99, 0x48, 0xbd, 0xe4, 0xd8, 0x6e, 0x05, 0x4a, 0x83, 0x5d, 0x96,
+	0x5c, 0x1b, 0x3f, 0x80, 0x8a, 0xf5, 0x91, 0x49, 0x1d, 0xd2, 0x09, 0x44, 0x2e, 0x5e, 0x3f, 0x22,
+	0x84, 0x96, 0x63, 0xb4, 0x08, 0x98, 0x64, 0x50, 0xb6, 0x12, 0x4f, 0x1c, 0xdf, 0x83, 0x29, 0xdb,
+	0x35, 0x1d, 0xca, 0x78, 0xe8, 0x5a, 0xbc, 0x7e, 0x54, 0xa4, 0xbc, 0x90, 0x99, 0x72, 0x65, 0x80,
+	0x69, 0x27, 0xf1, 0x97, 0x7e, 0xae, 0x42, 0x45, 0x9e, 0x6c, 0xf4, 0xed, 0x0c, 0xf0, 0x97, 0x08,
+	0xa6, 0x93, 0x96, 0x09, 0x5f, 0xc9, 0xcc, 0x9e, 0xe2, 0xf2, 0xb4, 0xab, 0x05, 0x51, 0x51, 0xa3,
+	0xf5, 0xda, 0x93, 0x3f, 0xff, 0xfa, 0xaa, 0x54, 0xc1, 0xd3, 0x09, 0x5b, 0xce, 0xf1, 0xb7, 0x08,
+	0x60, 0xff, 0x06, 0xe1, 0x4b, 0x99, 0xb9, 0x47, 0x6c, 0x96, 0x56, 0xd4, 0x3c, 0xe8, 0xf3, 0x82,
+	0xc9, 0x2c, 0x6e, 0x24, 0x99, 0x18, 0xbb, 0x49, 0x19, 0xec, 0xe1, 0xa7, 0x08, 0xca, 0xca, 0xac,
+	0xc5, 0xd9, 0xfb, 0x4e, 0xb3, 0x72, 0xda, 0x6c, 0x0c, 0x4b, 0x78, 0xfc, 0xe6, 0xfd, 0xd8, 0xe3,
+	0xeb, 0xb3, 0x82, 0xcc, 0x8c, 0xae, 0xb4, 0xa5, 0x15, 0xfb, 0x1b, 0xfc, 0x05, 0x82, 0xb2, 0x62,
+	0xdf, 0x72, 0xd0, 0x48, 0xb3, 0x7b, 0x59, 0x34, 0x64, 0x4f, 0x16, 0xc7, 0xf6, 0xe4, 0x39, 0x82,
+	0x93, 0x43, 0x9e, 0x0e, 0x5f, 0xcf, 0xa4, 0x93, 0x6e, 0x21, 0xb3, 0x08, 0xbd, 0x26, 0x08, 0x9d,
+	0xd7, 0x5f, 0x1e, 0x43, 0xa8, 0xd5, 0x93, 0xa9, 0xf1, 0x6f, 0x08, 0xf0, 0xa8, 0x5f, 0xc2, 0xad,
+	0x22, 0x52, 0x55, 0x1d, 0x9e, 0xb6, 0x7c, 0x28, 0xac, 0x14, 0xfb, 0x05, 0xc1, 0xfe, 0x15, 0x3c,
+	0x3f, 0x86, 0xbd, 0x21, 0xad, 0x1b, 0xfe, 0x0e, 0xc1, 0x0b, 0xc3, 0x26, 0x16, 0xbf, 0x5e, 0xe0,
+	0x26, 0x28, 0xc6, 0x4c, 0x4b, 0x73, 0x12, 0xfa, 0x75, 0x41, 0x68, 0x09, 0x1b, 0x39, 0x08, 0x19,
+	0xbb, 0x03, 0x53, 0xbc, 0x87, 0x7f, 0x40, 0x50, 0x4d, 0x71, 0x81, 0x78, 0xb9, 0xd8, 0x6d, 0xc8,
+	0x41, 0x71, 0x59, 0x50, 0xbc, 0xaa, 0xe7, 0xe9, 0x59, 0x6b, 0xc8, 0x44, 0xe1, 0x1f, 0x11, 0xe0,
+	0x51, 0xd7, 0x95, 0x43, 0x00, 0x07, 0x7a, 0xcc, 0x2c, 0x81, 0x5e, 0x15, 0x74, 0x0d, 0x7d, 0x31,
+	0x0f, 0x5d, 0x2e, 0xaa, 0xb4, 0xd0, 0x22, 0xfe, 0x5d, 0xfd, 0xed, 0x1c, 0xfb, 0x17, 0x5c, 0x48,
+	0x6e, 0x43, 0x9e, 0x4b, 0xbb, 0x79, 0x38, 0xb0, 0x14, 0xab, 0xbc, 0x6a, 0x78, 0xdc, 0x55, 0x33,
+	0x06, 0xd6, 0xe8, 0x17, 0xa4, 0xfc, 0xd6, 0x8d, 0xc2, 0xf8, 0x46, 0x91, 0xc1, 0xad, 0xf8, 0x24,
+	0x2d, 0xb7, 0x3f, 0xd3, 0x6f, 0x08, 0xa2, 0x97, 0xf1, 0x52, 0x1e, 0xa2, 0xc6, 0xee, 0xbe, 0xb5,
+	0xda, 0xc3, 0x3f, 0xa1, 0xe1, 0x5f, 0xda, 0x92, 0xf8, 0xcd, 0x82, 0x53, 0x5d, 0xe5, 0x9e, 0x53,
+	0x23, 0xb9, 0x3a, 0xdb, 0x8a, 0x0d, 0x36, 0xfe, 0x03, 0x41, 0x2d, 0xcd, 0xb4, 0xe4, 0x20, 0x3b,
+	0xc6, 0x75, 0x69, 0x6f, 0x1c, 0x12, 0xad, 0xca, 0x44, 0x3f, 0xa7, 0x7c, 0xa9, 0x9c, 0x14, 0x48,
+	0x5f, 0xe7, 0x5f, 0x23, 0x28, 0x2b, 0xe6, 0x35, 0xc7, 0x87, 0x2b, 0xcd, 0xec, 0x66, 0xb5, 0xf8,
+	0xa2, 0x60, 0xf5, 0xaa, 0xae, 0x8f, 0xfb, 0x4e, 0x10, 0x91, 0xb8, 0x4f, 0xeb, 0x39, 0x82, 0x8a,
+	0xea, 0x7b, 0xf1, 0xb5, 0x1c, 0x1e, 0x8b, 0x17, 0x27, 0xd6, 0x14, 0xc4, 0x16, 0xc6, 0x8e, 0xb3,
+	0x96, 0x1d, 0x65, 0x6e, 0xa1, 0xc5, 0xdb, 0xdf, 0x20, 0x98, 0xb7, 0x58, 0x37, 0x8b, 0xcc, 0xed,
+	0xaa, 0xea, 0xea, 0xd6, 0xfa, 0xc6, 0x77, 0x0d, 0x3d, 0x5c, 0x93, 0x38, 0x87, 0x79, 0x26, 0x75,
+	0x9a, 0x2c, 0x70, 0x0c, 0x87, 0x50, 0x61, 0x8b, 0xe5, 0xbf, 0x92, 0xa6, 0xef, 0xf2, 0x03, 0xff,
+	0x99, 0x5c, 0x1e, 0x09, 0x7e, 0x5f, 0x3a, 0x7a, 0xf7, 0xd6, 0xfa, 0xbd, 0x8d, 0xe3, 0x22, 0xc7,
+	0xe5, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xb2, 0xf0, 0x70, 0x6f, 0x6b, 0x15, 0x00, 0x00,
 }
diff --git a/googleapis/api/servicemanagement/v1/servicemanager.proto b/googleapis/api/servicemanagement/v1/servicemanager.proto
deleted file mode 100644
index 312f89c213cc7cbd5713fe9a7d0df76fc69dfed6..0000000000000000000000000000000000000000
--- a/googleapis/api/servicemanagement/v1/servicemanager.proto
+++ /dev/null
@@ -1,391 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.api.servicemanagement.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/service.proto"; // from google/api/service.proto
-import "google.golang.org/genproto/googleapis/api/servicemanagement/v1/resources.proto"; // from google/api/servicemanagement/v1/resources.proto
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ServiceManagerProto";
-option java_package = "com.google.api.servicemanagement.v1";
-option objc_class_prefix = "GASM";
-
-
-// [Google Service Management API](/service-management/overview)
-service ServiceManager {
-  // Lists all managed services.
-  rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
-    option (google.api.http) = { get: "/v1/services" };
-  }
-
-  // Gets a managed service.
-  rpc GetService(GetServiceRequest) returns (ManagedService) {
-    option (google.api.http) = { get: "/v1/services/{service_name}" };
-  }
-
-  // Creates a new managed service.
-  // Please note one producer project can own no more than 20 services.
-  //
-  // Operation<response: ManagedService>
-  rpc CreateService(CreateServiceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/services" body: "service" };
-  }
-
-  // Deletes a managed service. This method will change the serivce in the
-  // `Soft-Delete` state for 30 days. Within this period, service producers may
-  // call [UndeleteService][google.api.servicemanagement.v1.ServiceManager.UndeleteService] to restore the service.
-  // After 30 days, the service will be permanently deleted.
-  //
-  // Operation<response: google.protobuf.Empty>
-  rpc DeleteService(DeleteServiceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { delete: "/v1/services/{service_name}" };
-  }
-
-  // Revives a previously deleted managed service. The method restores the
-  // service using the configuration at the time the service was deleted.
-  // The target service must exist and must have been deleted within the
-  // last 30 days.
-  //
-  // Operation<response: UndeleteServiceResponse>
-  rpc UndeleteService(UndeleteServiceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/services/{service_name}:undelete" body: "" };
-  }
-
-  // Lists the history of the service configuration for a managed service,
-  // from the newest to the oldest.
-  rpc ListServiceConfigs(ListServiceConfigsRequest) returns (ListServiceConfigsResponse) {
-    option (google.api.http) = { get: "/v1/services/{service_name}/configs" };
-  }
-
-  // Gets a service configuration (version) for a managed service.
-  rpc GetServiceConfig(GetServiceConfigRequest) returns (google.api.Service) {
-    option (google.api.http) = { get: "/v1/services/{service_name}/configs/{config_id}" };
-  }
-
-  // Creates a new service configuration (version) for a managed service.
-  // This method only stores the service configuration. To roll out the service
-  // configuration to backend systems please call
-  // [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout].
-  rpc CreateServiceConfig(CreateServiceConfigRequest) returns (google.api.Service) {
-    option (google.api.http) = { post: "/v1/services/{service_name}/configs" body: "service_config" };
-  }
-
-  // Creates a new service configuration (version) for a managed service based
-  // on
-  // user-supplied configuration source files (for example: OpenAPI
-  // Specification). This method stores the source configurations as well as the
-  // generated service configuration. To rollout the service configuration to
-  // other services,
-  // please call [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout].
-  //
-  // Operation<response: SubmitConfigSourceResponse>
-  rpc SubmitConfigSource(SubmitConfigSourceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/services/{service_name}/configs:submit" body: "*" };
-  }
-
-  // Lists the history of the service configuration rollouts for a managed
-  // service, from the newest to the oldest.
-  rpc ListServiceRollouts(ListServiceRolloutsRequest) returns (ListServiceRolloutsResponse) {
-    option (google.api.http) = { get: "/v1/services/{service_name}/rollouts" };
-  }
-
-  // Gets a service configuration [rollout][google.api.servicemanagement.v1.Rollout].
-  rpc GetServiceRollout(GetServiceRolloutRequest) returns (Rollout) {
-    option (google.api.http) = { get: "/v1/services/{service_name}/rollouts/{rollout_id}" };
-  }
-
-  // Creates a new service configuration rollout. Based on rollout, the
-  // Google Service Management will roll out the service configurations to
-  // different backend services. For example, the logging configuration will be
-  // pushed to Google Cloud Logging.
-  //
-  // Please note that any previous pending and running Rollouts and associated
-  // Operations will be automatically cancelled so that the latest Rollout will
-  // not be blocked by previous Rollouts.
-  //
-  // Operation<response: Rollout>
-  rpc CreateServiceRollout(CreateServiceRolloutRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/services/{service_name}/rollouts" body: "rollout" };
-  }
-
-  // Generates and returns a report (errors, warnings and changes from
-  // existing configurations) associated with
-  // GenerateConfigReportRequest.new_value
-  //
-  // If GenerateConfigReportRequest.old_value is specified,
-  // GenerateConfigReportRequest will contain a single ChangeReport based on the
-  // comparison between GenerateConfigReportRequest.new_value and
-  // GenerateConfigReportRequest.old_value.
-  // If GenerateConfigReportRequest.old_value is not specified, this method
-  // will compare GenerateConfigReportRequest.new_value with the last pushed
-  // service configuration.
-  rpc GenerateConfigReport(GenerateConfigReportRequest) returns (GenerateConfigReportResponse) {
-    option (google.api.http) = { post: "/v1/services:generateConfigReport" body: "*" };
-  }
-
-  // Enable a managed service for a project with default setting.
-  //
-  // Operation<response: EnableServiceResponse>
-  //
-  // [google.rpc.Status][google.rpc.Status] errors may contain a
-  // [google.rpc.PreconditionFailure][] error detail.
-  rpc EnableService(EnableServiceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/services/{service_name}:enable" body: "*" };
-  }
-
-  // Disable a managed service for a project.
-  //
-  // Operation<response: DisableServiceResponse>
-  rpc DisableService(DisableServiceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/services/{service_name}:disable" body: "*" };
-  }
-}
-
-// Request message for `ListServices` method.
-message ListServicesRequest {
-  // Include services produced by the specified project.
-  string producer_project_id = 1;
-
-  // Requested size of the next page of data.
-  int32 page_size = 5;
-
-  // Token identifying which result to start with; returned by a previous list
-  // call.
-  string page_token = 6;
-}
-
-// Response message for `ListServices` method.
-message ListServicesResponse {
-  // The results of the query.
-  repeated ManagedService services = 1;
-
-  // Token that can be passed to `ListServices` to resume a paginated query.
-  string next_page_token = 2;
-}
-
-// Request message for `GetService` method.
-message GetServiceRequest {
-  // The name of the service.  See the `ServiceManager` overview for naming
-  // requirements.  For example: `example.googleapis.com`.
-  string service_name = 1;
-}
-
-// Request message for CreateService method.
-message CreateServiceRequest {
-  // Initial values for the service resource.
-  ManagedService service = 1;
-}
-
-// Request message for DeleteService method.
-message DeleteServiceRequest {
-  // The name of the service.  See the [overview](/service-management/overview)
-  // for naming requirements.  For example: `example.googleapis.com`.
-  string service_name = 1;
-}
-
-// Request message for UndeleteService method.
-message UndeleteServiceRequest {
-  // The name of the service. See the [overview](/service-management/overview)
-  // for naming requirements. For example: `example.googleapis.com`.
-  string service_name = 1;
-}
-
-// Response message for UndeleteService method.
-message UndeleteServiceResponse {
-  // Revived service resource.
-  ManagedService service = 1;
-}
-
-// Request message for GetServiceConfig method.
-message GetServiceConfigRequest {
-  // The name of the service.  See the [overview](/service-management/overview)
-  // for naming requirements.  For example: `example.googleapis.com`.
-  string service_name = 1;
-
-  string config_id = 2;
-}
-
-// Request message for ListServiceConfigs method.
-message ListServiceConfigsRequest {
-  // The name of the service.  See the [overview](/service-management/overview)
-  // for naming requirements.  For example: `example.googleapis.com`.
-  string service_name = 1;
-
-  // The token of the page to retrieve.
-  string page_token = 2;
-
-  // The max number of items to include in the response list.
-  int32 page_size = 3;
-}
-
-// Response message for ListServiceConfigs method.
-message ListServiceConfigsResponse {
-  // The list of service configuration resources.
-  repeated google.api.Service service_configs = 1;
-
-  // The token of the next page of results.
-  string next_page_token = 2;
-}
-
-// Request message for CreateServiceConfig method.
-message CreateServiceConfigRequest {
-  // The name of the service.  See the [overview](/service-management/overview)
-  // for naming requirements.  For example: `example.googleapis.com`.
-  string service_name = 1;
-
-  // The service configuration resource.
-  google.api.Service service_config = 2;
-}
-
-// Request message for SubmitConfigSource method.
-message SubmitConfigSourceRequest {
-  // The name of the service.  See the [overview](/service-management/overview)
-  // for naming requirements.  For example: `example.googleapis.com`.
-  string service_name = 1;
-
-  // The source configuration for the service.
-  ConfigSource config_source = 2;
-
-  // Optional. If set, this will result in the generation of a
-  // `google.api.Service` configuration based on the `ConfigSource` provided,
-  // but the generated config and the sources will NOT be persisted.
-  bool validate_only = 3;
-}
-
-// Response message for SubmitConfigSource method.
-message SubmitConfigSourceResponse {
-  // The generated service configuration.
-  google.api.Service service_config = 1;
-}
-
-// Request message for 'CreateServiceRollout'
-message CreateServiceRolloutRequest {
-  // The name of the service.  See the [overview](/service-management/overview)
-  // for naming requirements.  For example: `example.googleapis.com`.
-  string service_name = 1;
-
-  // The rollout resource. The `service_name` field is output only.
-  Rollout rollout = 2;
-}
-
-// Request message for 'ListServiceRollouts'
-message ListServiceRolloutsRequest {
-  // The name of the service.  See the [overview](/service-management/overview)
-  // for naming requirements.  For example: `example.googleapis.com`.
-  string service_name = 1;
-
-  // The token of the page to retrieve.
-  string page_token = 2;
-
-  // The max number of items to include in the response list.
-  int32 page_size = 3;
-}
-
-// Response message for ListServiceRollouts method.
-message ListServiceRolloutsResponse {
-  // The list of rollout resources.
-  repeated Rollout rollouts = 1;
-
-  // The token of the next page of results.
-  string next_page_token = 2;
-}
-
-// Request message for GetServiceRollout method.
-message GetServiceRolloutRequest {
-  // The name of the service.  See the [overview](/service-management/overview)
-  // for naming requirements.  For example: `example.googleapis.com`.
-  string service_name = 1;
-
-  // The id of the rollout resource.
-  string rollout_id = 2;
-}
-
-// Request message for EnableService method.
-message EnableServiceRequest {
-  // Name of the service to enable. Specifying an unknown service name will
-  // cause the request to fail.
-  string service_name = 1;
-
-  // The identity of consumer resource which service enablement will be
-  // applied to.
-  //
-  // The Google Service Management implementation accepts the following
-  // forms: "project:<project_id>", "project_number:<project_number>".
-  //
-  // Note: this is made compatible with
-  // google.api.servicecontrol.v1.Operation.consumer_id.
-  string consumer_id = 2;
-}
-
-// Request message for DisableService method.
-message DisableServiceRequest {
-  // Name of the service to disable. Specifying an unknown service name
-  // will cause the request to fail.
-  string service_name = 1;
-
-  // The identity of consumer resource which service disablement will be
-  // applied to.
-  //
-  // The Google Service Management implementation accepts the following
-  // forms: "project:<project_id>", "project_number:<project_number>".
-  //
-  // Note: this is made compatible with
-  // google.api.servicecontrol.v1.Operation.consumer_id.
-  string consumer_id = 2;
-}
-
-// Request message for GenerateConfigReport method.
-message GenerateConfigReportRequest {
-  // Service configuration for which we want to generate the report.
-  // For this version of API, the supported types are
-  // [google.api.servicemanagement.v1.ConfigRef][google.api.servicemanagement.v1.ConfigRef],
-  // [google.api.servicemanagement.v1.ConfigSource][google.api.servicemanagement.v1.ConfigSource],
-  // and [google.api.Service][google.api.Service]
-  google.protobuf.Any new_config = 1;
-
-  // Service configuration against which the comparison will be done.
-  // For this version of API, the supported types are
-  // [google.api.servicemanagement.v1.ConfigRef][google.api.servicemanagement.v1.ConfigRef],
-  // [google.api.servicemanagement.v1.ConfigSource][google.api.servicemanagement.v1.ConfigSource],
-  // and [google.api.Service][google.api.Service]
-  google.protobuf.Any old_config = 2;
-}
-
-// Response message for GenerateConfigReport method.
-message GenerateConfigReportResponse {
-  // Name of the service this report belongs to.
-  string service_name = 1;
-
-  // ID of the service configuration this report belongs to.
-  string id = 2;
-
-  // list of ChangeReport, each corresponding to comparison between two
-  // service configurations.
-  repeated ChangeReport change_reports = 3;
-
-  // Errors / Linter warnings associated with the service definition this
-  // report
-  // belongs to.
-  repeated Diagnostic diagnostics = 4;
-}
diff --git a/googleapis/appengine/logging/v1/request_log.pb.go b/googleapis/appengine/logging/v1/request_log.pb.go
index 6eb2914281c2f6e321e19d155c29f018e060a18a..4f285cc8eb66cce8ca8a168b1cdce6aae7c71947 100644
--- a/googleapis/appengine/logging/v1/request_log.pb.go
+++ b/googleapis/appengine/logging/v1/request_log.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/logging/v1/request_log.proto
+// source: google/appengine/logging/v1/request_log.proto
 // DO NOT EDIT!
 
 /*
-Package google_appengine_logging_v1 is a generated protocol buffer package.
+Package logging is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/appengine/logging/v1/request_log.proto
+	google/appengine/logging/v1/request_log.proto
 
 It has these top-level messages:
 	LogLine
@@ -14,7 +14,7 @@ It has these top-level messages:
 	SourceReference
 	RequestLog
 */
-package google_appengine_logging_v1 // import "google.golang.org/genproto/googleapis/appengine/logging/v1"
+package logging
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -58,6 +58,20 @@ func (m *LogLine) GetTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *LogLine) GetSeverity() google_logging_type.LogSeverity {
+	if m != nil {
+		return m.Severity
+	}
+	return google_logging_type.LogSeverity_DEFAULT
+}
+
+func (m *LogLine) GetLogMessage() string {
+	if m != nil {
+		return m.LogMessage
+	}
+	return ""
+}
+
 func (m *LogLine) GetSourceLocation() *SourceLocation {
 	if m != nil {
 		return m.SourceLocation
@@ -86,6 +100,27 @@ func (m *SourceLocation) String() string            { return proto.CompactTextSt
 func (*SourceLocation) ProtoMessage()               {}
 func (*SourceLocation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *SourceLocation) GetFile() string {
+	if m != nil {
+		return m.File
+	}
+	return ""
+}
+
+func (m *SourceLocation) GetLine() int64 {
+	if m != nil {
+		return m.Line
+	}
+	return 0
+}
+
+func (m *SourceLocation) GetFunctionName() string {
+	if m != nil {
+		return m.FunctionName
+	}
+	return ""
+}
+
 // A reference to a particular snapshot of the source tree used to build and
 // deploy an application.
 type SourceReference struct {
@@ -102,6 +137,20 @@ func (m *SourceReference) String() string            { return proto.CompactTextS
 func (*SourceReference) ProtoMessage()               {}
 func (*SourceReference) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *SourceReference) GetRepository() string {
+	if m != nil {
+		return m.Repository
+	}
+	return ""
+}
+
+func (m *SourceReference) GetRevisionId() string {
+	if m != nil {
+		return m.RevisionId
+	}
+	return ""
+}
+
 // Complete log information about a single HTTP request to an App Engine
 // application.
 type RequestLog struct {
@@ -194,6 +243,41 @@ func (m *RequestLog) String() string            { return proto.CompactTextString
 func (*RequestLog) ProtoMessage()               {}
 func (*RequestLog) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *RequestLog) GetAppId() string {
+	if m != nil {
+		return m.AppId
+	}
+	return ""
+}
+
+func (m *RequestLog) GetModuleId() string {
+	if m != nil {
+		return m.ModuleId
+	}
+	return ""
+}
+
+func (m *RequestLog) GetVersionId() string {
+	if m != nil {
+		return m.VersionId
+	}
+	return ""
+}
+
+func (m *RequestLog) GetRequestId() string {
+	if m != nil {
+		return m.RequestId
+	}
+	return ""
+}
+
+func (m *RequestLog) GetIp() string {
+	if m != nil {
+		return m.Ip
+	}
+	return ""
+}
+
 func (m *RequestLog) GetStartTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -215,6 +299,111 @@ func (m *RequestLog) GetLatency() *google_protobuf1.Duration {
 	return nil
 }
 
+func (m *RequestLog) GetMegaCycles() int64 {
+	if m != nil {
+		return m.MegaCycles
+	}
+	return 0
+}
+
+func (m *RequestLog) GetMethod() string {
+	if m != nil {
+		return m.Method
+	}
+	return ""
+}
+
+func (m *RequestLog) GetResource() string {
+	if m != nil {
+		return m.Resource
+	}
+	return ""
+}
+
+func (m *RequestLog) GetHttpVersion() string {
+	if m != nil {
+		return m.HttpVersion
+	}
+	return ""
+}
+
+func (m *RequestLog) GetStatus() int32 {
+	if m != nil {
+		return m.Status
+	}
+	return 0
+}
+
+func (m *RequestLog) GetResponseSize() int64 {
+	if m != nil {
+		return m.ResponseSize
+	}
+	return 0
+}
+
+func (m *RequestLog) GetReferrer() string {
+	if m != nil {
+		return m.Referrer
+	}
+	return ""
+}
+
+func (m *RequestLog) GetUserAgent() string {
+	if m != nil {
+		return m.UserAgent
+	}
+	return ""
+}
+
+func (m *RequestLog) GetNickname() string {
+	if m != nil {
+		return m.Nickname
+	}
+	return ""
+}
+
+func (m *RequestLog) GetUrlMapEntry() string {
+	if m != nil {
+		return m.UrlMapEntry
+	}
+	return ""
+}
+
+func (m *RequestLog) GetHost() string {
+	if m != nil {
+		return m.Host
+	}
+	return ""
+}
+
+func (m *RequestLog) GetCost() float64 {
+	if m != nil {
+		return m.Cost
+	}
+	return 0
+}
+
+func (m *RequestLog) GetTaskQueueName() string {
+	if m != nil {
+		return m.TaskQueueName
+	}
+	return ""
+}
+
+func (m *RequestLog) GetTaskName() string {
+	if m != nil {
+		return m.TaskName
+	}
+	return ""
+}
+
+func (m *RequestLog) GetWasLoadingRequest() bool {
+	if m != nil {
+		return m.WasLoadingRequest
+	}
+	return false
+}
+
 func (m *RequestLog) GetPendingTime() *google_protobuf1.Duration {
 	if m != nil {
 		return m.PendingTime
@@ -222,6 +411,34 @@ func (m *RequestLog) GetPendingTime() *google_protobuf1.Duration {
 	return nil
 }
 
+func (m *RequestLog) GetInstanceIndex() int32 {
+	if m != nil {
+		return m.InstanceIndex
+	}
+	return 0
+}
+
+func (m *RequestLog) GetFinished() bool {
+	if m != nil {
+		return m.Finished
+	}
+	return false
+}
+
+func (m *RequestLog) GetFirst() bool {
+	if m != nil {
+		return m.First
+	}
+	return false
+}
+
+func (m *RequestLog) GetInstanceId() string {
+	if m != nil {
+		return m.InstanceId
+	}
+	return ""
+}
+
 func (m *RequestLog) GetLine() []*LogLine {
 	if m != nil {
 		return m.Line
@@ -229,6 +446,20 @@ func (m *RequestLog) GetLine() []*LogLine {
 	return nil
 }
 
+func (m *RequestLog) GetAppEngineRelease() string {
+	if m != nil {
+		return m.AppEngineRelease
+	}
+	return ""
+}
+
+func (m *RequestLog) GetTraceId() string {
+	if m != nil {
+		return m.TraceId
+	}
+	return ""
+}
+
 func (m *RequestLog) GetSourceReference() []*SourceReference {
 	if m != nil {
 		return m.SourceReference
@@ -243,69 +474,66 @@ func init() {
 	proto.RegisterType((*RequestLog)(nil), "google.appengine.logging.v1.RequestLog")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/logging/v1/request_log.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/appengine/logging/v1/request_log.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 929 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x54, 0x6f, 0x6f, 0x1c, 0xb5,
-	0x13, 0xd6, 0xe5, 0xef, 0x9d, 0x2f, 0xb9, 0xa4, 0xfe, 0xb5, 0xfd, 0x39, 0x09, 0xa5, 0x47, 0xa0,
-	0xe5, 0x80, 0x6a, 0x4f, 0x4d, 0x41, 0xa2, 0xa2, 0x6f, 0x28, 0xe4, 0xc5, 0x49, 0x57, 0x54, 0x36,
-	0x15, 0xbc, 0x42, 0x2b, 0x67, 0x77, 0xce, 0xb1, 0xba, 0x6b, 0xbb, 0xb6, 0x37, 0xe5, 0xfa, 0x41,
-	0xf8, 0x98, 0x7c, 0x06, 0xe4, 0xb1, 0xf7, 0x42, 0x84, 0x94, 0xf4, 0x9d, 0xe7, 0x99, 0x79, 0x66,
-	0xc6, 0xe3, 0xc7, 0x43, 0xe6, 0x42, 0x6b, 0x51, 0x43, 0x26, 0x74, 0xcd, 0x95, 0xc8, 0xb4, 0x15,
-	0x53, 0x01, 0xca, 0x58, 0xed, 0xf5, 0x34, 0xba, 0xb8, 0x91, 0x6e, 0xca, 0x8d, 0x01, 0x25, 0xa4,
-	0x82, 0x69, 0xad, 0x85, 0x90, 0x4a, 0x4c, 0x2f, 0x9f, 0x4e, 0x2d, 0xbc, 0x6b, 0xc1, 0xf9, 0xa2,
-	0xd6, 0x22, 0x43, 0x06, 0x3d, 0x4a, 0xd9, 0x56, 0xe1, 0x59, 0x0a, 0xcf, 0x2e, 0x9f, 0x1e, 0x9e,
-	0x7e, 0x5c, 0xa9, 0xae, 0x80, 0x5f, 0x1a, 0xac, 0x56, 0x38, 0xb8, 0x04, 0x2b, 0xfd, 0x32, 0xd6,
-	0x38, 0x7c, 0x2e, 0xa4, 0xbf, 0x68, 0xcf, 0xb3, 0x52, 0x37, 0xd3, 0x98, 0x6a, 0x8a, 0x8e, 0xf3,
-	0x76, 0x31, 0x35, 0x81, 0xe4, 0xa6, 0x55, 0x6b, 0xb9, 0x97, 0x5a, 0xad, 0x0e, 0x89, 0xfa, 0xc3,
-	0xed, 0x54, 0x2f, 0x1b, 0x70, 0x9e, 0x37, 0xe6, 0xea, 0x14, 0xc9, 0xc7, 0x7f, 0xf7, 0xc8, 0xf6,
-	0x5c, 0x8b, 0xb9, 0x54, 0x40, 0x33, 0xb2, 0x11, 0xdc, 0xac, 0x37, 0xee, 0x4d, 0x86, 0x27, 0x87,
-	0x59, 0xba, 0x59, 0x97, 0x2c, 0x7b, 0xd3, 0x71, 0x73, 0x8c, 0xa3, 0x2f, 0x48, 0xbf, 0xbb, 0x05,
-	0x5b, 0x1b, 0xf7, 0x26, 0xa3, 0x93, 0x71, 0xc7, 0xe9, 0x06, 0x14, 0xca, 0x67, 0x73, 0x2d, 0xce,
-	0x52, 0x5c, 0xbe, 0x62, 0xd0, 0x87, 0x64, 0x18, 0xe6, 0xd0, 0x80, 0x73, 0x5c, 0x00, 0x5b, 0x1f,
-	0xf7, 0x26, 0x83, 0x9c, 0xd4, 0x5a, 0xbc, 0x8a, 0x08, 0x7d, 0x43, 0xf6, 0x9c, 0x6e, 0x6d, 0x09,
-	0x45, 0xad, 0x4b, 0xbc, 0x30, 0xdb, 0xc0, 0xce, 0xbe, 0xc9, 0x6e, 0x78, 0x90, 0xec, 0x0c, 0x39,
-	0xf3, 0x44, 0xc9, 0x47, 0xee, 0x9a, 0x7d, 0xfc, 0x07, 0x19, 0x5d, 0x8f, 0xa0, 0x94, 0x6c, 0x2c,
-	0x64, 0x1d, 0xaf, 0x3d, 0xc8, 0xf1, 0x1c, 0xb0, 0x5a, 0x2a, 0xc0, 0x6b, 0xad, 0xe7, 0x78, 0xa6,
-	0x9f, 0x93, 0xdd, 0x45, 0xab, 0xca, 0xc0, 0x29, 0x14, 0x6f, 0xba, 0x96, 0x77, 0x3a, 0xf0, 0x17,
-	0xde, 0xc0, 0x71, 0x4e, 0xf6, 0x62, 0xfa, 0x1c, 0x16, 0x60, 0x41, 0x95, 0x40, 0x3f, 0x25, 0xc4,
-	0x82, 0xd1, 0x4e, 0x7a, 0x6d, 0x97, 0xa9, 0xca, 0xbf, 0x90, 0x30, 0x08, 0x0b, 0x97, 0xd2, 0x85,
-	0xbc, 0xb2, 0xc2, 0x92, 0x18, 0x10, 0xa1, 0x59, 0x75, 0xfc, 0xd7, 0x80, 0x90, 0x3c, 0xaa, 0x72,
-	0xae, 0x05, 0xbd, 0x47, 0xb6, 0xb8, 0x31, 0x21, 0x34, 0xe6, 0xda, 0xe4, 0xc6, 0xcc, 0x2a, 0x7a,
-	0x44, 0x06, 0x8d, 0xae, 0xda, 0x1a, 0x82, 0xe7, 0x11, 0x7a, 0xfa, 0x11, 0x98, 0x55, 0xf4, 0x01,
-	0x21, 0x97, 0x60, 0xaf, 0x97, 0x18, 0x24, 0x24, 0xba, 0x3b, 0xd9, 0xcb, 0x2a, 0xdd, 0x6b, 0x90,
-	0x90, 0x59, 0x45, 0x47, 0x64, 0x4d, 0x1a, 0x1c, 0xfe, 0x20, 0x5f, 0x93, 0x86, 0x3e, 0x27, 0xc4,
-	0x79, 0x6e, 0x7d, 0x81, 0x72, 0xd9, 0xba, 0x55, 0x2e, 0x03, 0x8c, 0x0e, 0x36, 0xfd, 0x8e, 0xf4,
-	0x41, 0x55, 0x91, 0xb8, 0x7d, 0x2b, 0x71, 0x1b, 0x54, 0x85, 0xb4, 0x67, 0x64, 0xbb, 0xe6, 0x1e,
-	0x54, 0xb9, 0x64, 0x7d, 0x64, 0x1d, 0xfc, 0x87, 0xf5, 0x73, 0xfa, 0x15, 0x79, 0x17, 0x19, 0x06,
-	0xdb, 0x80, 0xe0, 0x45, 0xb9, 0x2c, 0x6b, 0x70, 0x6c, 0x80, 0x6f, 0x49, 0x02, 0xf4, 0x13, 0x22,
-	0xf4, 0x3e, 0xd9, 0x6a, 0xc0, 0x5f, 0xe8, 0x8a, 0x11, 0xbc, 0x5b, 0xb2, 0xe8, 0x21, 0xe9, 0x5b,
-	0x88, 0xba, 0x61, 0xc3, 0x38, 0xc9, 0xce, 0xa6, 0x9f, 0x91, 0x9d, 0x0b, 0xef, 0x4d, 0x91, 0x86,
-	0xc7, 0x76, 0xd0, 0x3f, 0x0c, 0xd8, 0x6f, 0x11, 0x0a, 0x69, 0x9d, 0xe7, 0xbe, 0x75, 0x6c, 0x77,
-	0xdc, 0x9b, 0x6c, 0xe6, 0xc9, 0x0a, 0x02, 0xb2, 0xe0, 0x8c, 0x56, 0x0e, 0x0a, 0x27, 0x3f, 0x00,
-	0x1b, 0x61, 0x47, 0x3b, 0x1d, 0x78, 0x26, 0x3f, 0x40, 0xac, 0xbd, 0x00, 0x6b, 0xc1, 0xb2, 0xbd,
-	0xae, 0x76, 0xb4, 0xc3, 0x33, 0xb5, 0x0e, 0x6c, 0xc1, 0x05, 0x28, 0xcf, 0xf6, 0xe3, 0x33, 0x05,
-	0xe4, 0xc7, 0x00, 0x04, 0xaa, 0x92, 0xe5, 0x5b, 0xd4, 0xe6, 0x24, 0x52, 0x3b, 0x9b, 0x1e, 0x93,
-	0xdd, 0xd6, 0xd6, 0x45, 0xc3, 0x4d, 0x01, 0xca, 0xdb, 0x25, 0xbb, 0x13, 0xfb, 0x6e, 0x6d, 0xfd,
-	0x8a, 0x9b, 0xd3, 0x00, 0x05, 0xd1, 0x5f, 0x68, 0xe7, 0xd9, 0xdd, 0xf8, 0x11, 0xc2, 0x39, 0x60,
-	0x65, 0xc0, 0xee, 0x8d, 0x7b, 0x93, 0x5e, 0x8e, 0x67, 0xfa, 0x98, 0xec, 0x79, 0xee, 0xde, 0x16,
-	0xef, 0x5a, 0x68, 0x21, 0x7e, 0x85, 0xfb, 0x48, 0xd9, 0x0d, 0xf0, 0xaf, 0x01, 0x0d, 0x7f, 0x21,
-	0x28, 0x12, 0xe3, 0x30, 0xe2, 0xff, 0xb1, 0xa1, 0x00, 0xa0, 0x33, 0x23, 0xff, 0x7b, 0xcf, 0x5d,
-	0x51, 0x6b, 0x5e, 0x49, 0x25, 0x8a, 0x24, 0x36, 0xc6, 0xc6, 0xbd, 0x49, 0x3f, 0xbf, 0xf3, 0x9e,
-	0xbb, 0x79, 0xf4, 0x24, 0xe1, 0xd3, 0x17, 0x64, 0xc7, 0x80, 0xc2, 0x58, 0x14, 0xcf, 0xc1, 0x6d,
-	0x32, 0x18, 0xa6, 0x70, 0xd4, 0xcf, 0x23, 0x32, 0x92, 0xca, 0x79, 0xae, 0x4a, 0x28, 0xa4, 0xaa,
-	0xe0, 0x4f, 0x76, 0x88, 0x4f, 0xb3, 0xdb, 0xa1, 0xb3, 0x00, 0x86, 0x09, 0x2e, 0xa4, 0x92, 0xee,
-	0x02, 0x2a, 0x76, 0x84, 0x9d, 0xac, 0x6c, 0x7a, 0x97, 0x6c, 0x2e, 0xa4, 0x75, 0x9e, 0x7d, 0x8d,
-	0x8e, 0x68, 0x04, 0x8d, 0x5d, 0x25, 0xae, 0xd8, 0x27, 0xf1, 0xf3, 0xae, 0xb2, 0x56, 0xf4, 0xfb,
-	0xb4, 0x49, 0x1e, 0x8c, 0xd7, 0x27, 0xc3, 0x93, 0x2f, 0x6e, 0x5c, 0x5d, 0x69, 0x11, 0xa7, 0x7d,
-	0xf3, 0x84, 0xd0, 0xf0, 0xcf, 0x63, 0x58, 0x61, 0xa1, 0x06, 0xee, 0x80, 0x3d, 0xc6, 0x0a, 0xfb,
-	0xdc, 0x98, 0x53, 0x74, 0xe4, 0x11, 0xa7, 0x07, 0xa4, 0xef, 0x2d, 0x8f, 0x5d, 0x7c, 0x89, 0x31,
-	0xdb, 0x68, 0xcf, 0x2a, 0xfa, 0x3b, 0xd9, 0x4f, 0x8b, 0xd4, 0x76, 0x4b, 0x89, 0x7d, 0x85, 0xed,
-	0x3c, 0xf9, 0x88, 0x4d, 0xba, 0x5a, 0x64, 0x79, 0x5a, 0xc7, 0x2b, 0xe0, 0xe5, 0xb7, 0xe4, 0x61,
-	0xa9, 0x9b, 0x9b, 0x72, 0xbc, 0xdc, 0xbb, 0x5a, 0x5c, 0xaf, 0xc3, 0x13, 0xbd, 0xee, 0x9d, 0x6f,
-	0xe1, 0x5b, 0x3d, 0xfb, 0x27, 0x00, 0x00, 0xff, 0xff, 0x11, 0x12, 0x95, 0x58, 0xa5, 0x07, 0x00,
-	0x00,
+	// 921 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0x7f, 0x6f, 0x1c, 0x35,
+	0x10, 0xd5, 0xe6, 0xe7, 0x9d, 0x2f, 0xb9, 0xa4, 0xa6, 0x2d, 0x4e, 0x42, 0x9b, 0x23, 0xd0, 0x70,
+	0x40, 0xd9, 0x53, 0x53, 0x21, 0x81, 0xe8, 0x3f, 0x04, 0xfa, 0xc7, 0x49, 0x57, 0x54, 0x36, 0x15,
+	0x48, 0x48, 0x68, 0xe5, 0xee, 0xce, 0x6d, 0xac, 0xee, 0xda, 0xae, 0xed, 0xbd, 0xf6, 0xfa, 0x41,
+	0xf8, 0x98, 0x7c, 0x06, 0xe4, 0xb1, 0xf7, 0x4a, 0x00, 0x25, 0xfc, 0xb7, 0xf3, 0xe6, 0xbd, 0xf1,
+	0xd8, 0x7e, 0x9e, 0x25, 0x5f, 0x55, 0x4a, 0x55, 0x35, 0x4c, 0xb8, 0xd6, 0x20, 0x2b, 0x21, 0x61,
+	0x52, 0xab, 0xaa, 0x12, 0xb2, 0x9a, 0x2c, 0x1e, 0x4d, 0x0c, 0xbc, 0x6e, 0xc1, 0xba, 0xbc, 0x56,
+	0x55, 0xaa, 0x8d, 0x72, 0x8a, 0x1e, 0x05, 0x7a, 0xba, 0xa2, 0xa7, 0x91, 0x9e, 0x2e, 0x1e, 0x1d,
+	0x9e, 0xc6, 0x5a, 0x5d, 0x05, 0xb7, 0xd4, 0x18, 0xe4, 0x16, 0x16, 0x60, 0x84, 0x5b, 0x86, 0x22,
+	0x87, 0xf7, 0x23, 0x0f, 0xa3, 0x97, 0xed, 0x7c, 0x52, 0xb6, 0x86, 0x3b, 0xa1, 0x64, 0xcc, 0x1f,
+	0xff, 0x33, 0xef, 0x44, 0x03, 0xd6, 0xf1, 0x46, 0x07, 0xc2, 0xc9, 0x9f, 0x09, 0xd9, 0x9e, 0xa9,
+	0x6a, 0x26, 0x24, 0xd0, 0x94, 0x6c, 0xf8, 0x34, 0x4b, 0x46, 0xc9, 0x78, 0x70, 0x76, 0x98, 0xc6,
+	0x06, 0x3b, 0x6d, 0xfa, 0xa2, 0xd3, 0x66, 0xc8, 0xa3, 0x4f, 0x48, 0xaf, 0x6b, 0x87, 0xad, 0x8d,
+	0x92, 0xf1, 0xf0, 0x6c, 0xd4, 0x69, 0xba, 0xad, 0xf8, 0xbe, 0xd3, 0x99, 0xaa, 0x2e, 0x22, 0x2f,
+	0x5b, 0x29, 0xe8, 0x31, 0x19, 0xf8, 0x0d, 0x35, 0x60, 0x2d, 0xaf, 0x80, 0xad, 0x8f, 0x92, 0x71,
+	0x3f, 0x23, 0xb5, 0xaa, 0x9e, 0x05, 0x84, 0xbe, 0x20, 0x7b, 0x56, 0xb5, 0xa6, 0x80, 0xbc, 0x56,
+	0x05, 0x6e, 0x8a, 0x6d, 0x60, 0x67, 0x5f, 0xa6, 0xd7, 0x1c, 0x5d, 0x7a, 0x81, 0x9a, 0x59, 0x94,
+	0x64, 0x43, 0x7b, 0x25, 0x3e, 0xf9, 0x9d, 0x0c, 0xaf, 0x32, 0x28, 0x25, 0x1b, 0x73, 0x51, 0x87,
+	0x6d, 0xf7, 0x33, 0xfc, 0xf6, 0x58, 0x2d, 0x24, 0xe0, 0xb6, 0xd6, 0x33, 0xfc, 0xa6, 0x9f, 0x90,
+	0xdd, 0x79, 0x2b, 0x0b, 0xaf, 0xc9, 0x25, 0x6f, 0xba, 0x96, 0x77, 0x3a, 0xf0, 0x27, 0xde, 0xc0,
+	0x49, 0x46, 0xf6, 0x42, 0xf9, 0x0c, 0xe6, 0x60, 0x40, 0x16, 0x40, 0xef, 0x13, 0x62, 0x40, 0x2b,
+	0x2b, 0x9c, 0x32, 0xcb, 0xb8, 0xca, 0xdf, 0x10, 0x7f, 0x10, 0x06, 0x16, 0xc2, 0xfa, 0xba, 0xa2,
+	0xc4, 0x25, 0x91, 0x10, 0xa0, 0x69, 0x79, 0xf2, 0x47, 0x9f, 0x90, 0x2c, 0xf8, 0x67, 0xa6, 0x2a,
+	0x7a, 0x87, 0x6c, 0x71, 0xad, 0x3d, 0x35, 0xd4, 0xda, 0xe4, 0x5a, 0x4f, 0x4b, 0x7a, 0x44, 0xfa,
+	0x8d, 0x2a, 0xdb, 0x1a, 0x7c, 0xe6, 0x01, 0x66, 0x7a, 0x01, 0x98, 0x96, 0xf4, 0x1e, 0x21, 0x0b,
+	0x30, 0x57, 0x97, 0xe8, 0x47, 0x24, 0xa4, 0x3b, 0x83, 0x8a, 0x32, 0xee, 0xab, 0x1f, 0x91, 0x69,
+	0x49, 0x87, 0x64, 0x4d, 0x68, 0x3c, 0xfc, 0x7e, 0xb6, 0x26, 0x34, 0xfd, 0x96, 0x10, 0xeb, 0xb8,
+	0x71, 0x39, 0xda, 0x65, 0xeb, 0x46, 0xbb, 0xf4, 0x91, 0xed, 0x63, 0xfa, 0x35, 0xe9, 0x81, 0x2c,
+	0x83, 0x70, 0xfb, 0x46, 0xe1, 0x36, 0xc8, 0x12, 0x65, 0x8f, 0xc9, 0x76, 0xcd, 0x1d, 0xc8, 0x62,
+	0xc9, 0x7a, 0xa8, 0x3a, 0xf8, 0x97, 0xea, 0xc7, 0xe8, 0xfc, 0xac, 0x63, 0xfa, 0x83, 0x6d, 0xa0,
+	0xe2, 0x79, 0xb1, 0x2c, 0x6a, 0xb0, 0xac, 0x8f, 0x77, 0x49, 0x3c, 0xf4, 0x03, 0x22, 0xf4, 0x2e,
+	0xd9, 0x6a, 0xc0, 0x5d, 0xaa, 0x92, 0x11, 0xdc, 0x5b, 0x8c, 0xe8, 0x21, 0xe9, 0x19, 0x08, 0xbe,
+	0x61, 0x83, 0x70, 0x92, 0x5d, 0x4c, 0x3f, 0x26, 0x3b, 0x97, 0xce, 0xe9, 0x3c, 0x1e, 0x1e, 0xdb,
+	0xc1, 0xfc, 0xc0, 0x63, 0xbf, 0x04, 0xc8, 0x97, 0xb5, 0x8e, 0xbb, 0xd6, 0xb2, 0xdd, 0x51, 0x32,
+	0xde, 0xcc, 0x62, 0xe4, 0x0d, 0x64, 0xc0, 0x6a, 0x25, 0x2d, 0xe4, 0x56, 0xbc, 0x03, 0x36, 0xc4,
+	0x8e, 0x76, 0x3a, 0xf0, 0x42, 0xbc, 0x83, 0xb0, 0xf6, 0x1c, 0x8c, 0x01, 0xc3, 0xf6, 0xba, 0xb5,
+	0x43, 0xec, 0xaf, 0xa9, 0xb5, 0x60, 0x72, 0x5e, 0x81, 0x74, 0x6c, 0x3f, 0x5c, 0x93, 0x47, 0xbe,
+	0xf7, 0x80, 0x97, 0x4a, 0x51, 0xbc, 0x42, 0x6f, 0x8e, 0x83, 0xb4, 0x8b, 0xe9, 0x09, 0xd9, 0x6d,
+	0x4d, 0x9d, 0x37, 0x5c, 0xe7, 0x20, 0x9d, 0x59, 0xb2, 0x5b, 0xa1, 0xef, 0xd6, 0xd4, 0xcf, 0xb8,
+	0x7e, 0xea, 0x21, 0x6f, 0xfa, 0x4b, 0x65, 0x1d, 0xbb, 0x1d, 0x1e, 0x82, 0xff, 0xf6, 0x58, 0xe1,
+	0xb1, 0x3b, 0xa3, 0x64, 0x9c, 0x64, 0xf8, 0x4d, 0x4f, 0xc9, 0x9e, 0xe3, 0xf6, 0x55, 0xfe, 0xba,
+	0x85, 0x16, 0xc2, 0x53, 0xb8, 0x8b, 0x92, 0x5d, 0x0f, 0xff, 0xec, 0x51, 0xff, 0x16, 0xbc, 0x23,
+	0x91, 0x87, 0x8c, 0x0f, 0x43, 0x43, 0x1e, 0xc0, 0x64, 0x4a, 0x3e, 0x78, 0xc3, 0x6d, 0x5e, 0x2b,
+	0x5e, 0x0a, 0x59, 0xe5, 0xd1, 0x6c, 0x8c, 0x8d, 0x92, 0x71, 0x2f, 0xbb, 0xf5, 0x86, 0xdb, 0x59,
+	0xc8, 0x44, 0xe3, 0xd3, 0x27, 0x64, 0x47, 0x83, 0x44, 0x2e, 0x9a, 0xe7, 0xe0, 0x26, 0x1b, 0x0c,
+	0x22, 0x1d, 0xfd, 0xf3, 0x80, 0x0c, 0x85, 0xb4, 0x8e, 0xcb, 0x02, 0x72, 0x21, 0x4b, 0x78, 0xcb,
+	0x0e, 0xf1, 0x6a, 0x76, 0x3b, 0x74, 0xea, 0x41, 0x7f, 0x82, 0x73, 0x21, 0x85, 0xbd, 0x84, 0x92,
+	0x1d, 0x61, 0x27, 0xab, 0x98, 0xde, 0x26, 0x9b, 0x73, 0x61, 0xac, 0x63, 0x5f, 0x60, 0x22, 0x04,
+	0xde, 0x63, 0xef, 0x0b, 0x97, 0xec, 0xa3, 0xf0, 0x78, 0x57, 0x55, 0x4b, 0xfa, 0x4d, 0x9c, 0x24,
+	0xf7, 0x46, 0xeb, 0xe3, 0xc1, 0xd9, 0xa7, 0xd7, 0x8e, 0xae, 0x38, 0x88, 0xe3, 0xbc, 0x79, 0x48,
+	0xa8, 0x7f, 0xe7, 0x81, 0x96, 0x1b, 0xa8, 0x81, 0x5b, 0x60, 0xa7, 0xb8, 0xc2, 0x3e, 0xd7, 0xfa,
+	0x29, 0x26, 0xb2, 0x80, 0xd3, 0x03, 0xd2, 0x73, 0x86, 0x87, 0x2e, 0x3e, 0x43, 0xce, 0x36, 0xc6,
+	0xd3, 0x92, 0xfe, 0x4a, 0xf6, 0xe3, 0x20, 0x35, 0xdd, 0x50, 0x62, 0x9f, 0x63, 0x3b, 0x0f, 0xff,
+	0xc7, 0x24, 0x5d, 0x0d, 0xb2, 0x2c, 0x8e, 0xe3, 0x15, 0x70, 0xfe, 0x96, 0x1c, 0x17, 0xaa, 0xb9,
+	0xae, 0xc6, 0xf9, 0xde, 0xfb, 0xc1, 0xf5, 0xdc, 0x5f, 0xd1, 0xf3, 0xe4, 0xb7, 0xf3, 0xc8, 0xaf,
+	0x54, 0xcd, 0x65, 0x95, 0x2a, 0x53, 0x4d, 0x2a, 0x90, 0x78, 0x81, 0x93, 0x90, 0xe2, 0x5a, 0xd8,
+	0xff, 0xfc, 0x8d, 0x7e, 0x17, 0x3f, 0x5f, 0x6e, 0x21, 0xfd, 0xf1, 0x5f, 0x01, 0x00, 0x00, 0xff,
+	0xff, 0x05, 0xf7, 0x68, 0xa8, 0x74, 0x07, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/logging/v1/request_log.proto b/googleapis/appengine/logging/v1/request_log.proto
deleted file mode 100644
index 50f0bdc1766df970b88d56fb63cd987545d88774..0000000000000000000000000000000000000000
--- a/googleapis/appengine/logging/v1/request_log.proto
+++ /dev/null
@@ -1,189 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.appengine.logging.v1;
-
-import "google.golang.org/genproto/googleapis/logging/type/log_severity.proto"; // from google/logging/type/log_severity.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "RequestLogProto";
-option java_package = "com.google.appengine.logging.v1";
-
-
-// Application log line emitted while processing a request.
-message LogLine {
-  // Approximate time when this log entry was made.
-  google.protobuf.Timestamp time = 1;
-
-  // Severity of this log entry.
-  google.logging.type.LogSeverity severity = 2;
-
-  // App-provided log message.
-  string log_message = 3;
-
-  // Where in the source code this log message was written.
-  SourceLocation source_location = 4;
-}
-
-// Specifies a location in a source code file.
-message SourceLocation {
-  // Source file name. Depending on the runtime environment, this might be a
-  // simple name or a fully-qualified name.
-  string file = 1;
-
-  // Line within the source file.
-  int64 line = 2;
-
-  // Human-readable name of the function or method being invoked, with optional
-  // context such as the class or package name. This information is used in
-  // contexts such as the logs viewer, where a file and line number are less
-  // meaningful. The format can vary by language. For example:
-  // `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function`
-  // (Python).
-  string function_name = 3;
-}
-
-// A reference to a particular snapshot of the source tree used to build and
-// deploy an application.
-message SourceReference {
-  // Optional. A URI string identifying the repository.
-  // Example: "https://github.com/GoogleCloudPlatform/kubernetes.git"
-  string repository = 1;
-
-  // The canonical and persistent identifier of the deployed revision.
-  // Example (git): "0035781c50ec7aa23385dc841529ce8a4b70db1b"
-  string revision_id = 2;
-}
-
-// Complete log information about a single HTTP request to an App Engine
-// application.
-message RequestLog {
-  // Application that handled this request.
-  string app_id = 1;
-
-  // Module of the application that handled this request.
-  string module_id = 37;
-
-  // Version of the application that handled this request.
-  string version_id = 2;
-
-  // Globally unique identifier for a request, which is based on the request
-  // start time.  Request IDs for requests which started later will compare
-  // greater as strings than those for requests which started earlier.
-  string request_id = 3;
-
-  // Origin IP address.
-  string ip = 4;
-
-  // Time when the request started.
-  google.protobuf.Timestamp start_time = 6;
-
-  // Time when the request finished.
-  google.protobuf.Timestamp end_time = 7;
-
-  // Latency of the request.
-  google.protobuf.Duration latency = 8;
-
-  // Number of CPU megacycles used to process request.
-  int64 mega_cycles = 9;
-
-  // Request method. Example: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`, `"DELETE"`.
-  string method = 10;
-
-  // Contains the path and query portion of the URL that was requested. For
-  // example, if the URL was "http://example.com/app?name=val", the resource
-  // would be "/app?name=val".  The fragment identifier, which is identified by
-  // the `#` character, is not included.
-  string resource = 11;
-
-  // HTTP version of request. Example: `"HTTP/1.1"`.
-  string http_version = 12;
-
-  // HTTP response status code. Example: 200, 404.
-  int32 status = 13;
-
-  // Size in bytes sent back to client by request.
-  int64 response_size = 14;
-
-  // Referrer URL of request.
-  string referrer = 15;
-
-  // User agent that made the request.
-  string user_agent = 16;
-
-  // The logged-in user who made the request.
-  //
-  // Most likely, this is the part of the user's email before the `@` sign.  The
-  // field value is the same for different requests from the same user, but
-  // different users can have similar names.  This information is also
-  // available to the application via the App Engine Users API.
-  //
-  // This field will be populated starting with App Engine 1.9.21.
-  string nickname = 40;
-
-  // File or class that handled the request.
-  string url_map_entry = 17;
-
-  // Internet host and port number of the resource being requested.
-  string host = 20;
-
-  // An indication of the relative cost of serving this request.
-  double cost = 21;
-
-  // Queue name of the request, in the case of an offline request.
-  string task_queue_name = 22;
-
-  // Task name of the request, in the case of an offline request.
-  string task_name = 23;
-
-  // Whether this was a loading request for the instance.
-  bool was_loading_request = 24;
-
-  // Time this request spent in the pending request queue.
-  google.protobuf.Duration pending_time = 25;
-
-  // If the instance processing this request belongs to a manually scaled
-  // module, then this is the 0-based index of the instance. Otherwise, this
-  // value is -1.
-  int32 instance_index = 26;
-
-  // Whether this request is finished or active.
-  bool finished = 27;
-
-  // Whether this is the first `RequestLog` entry for this request.  If an
-  // active request has several `RequestLog` entries written to Stackdriver
-  // Logging, then this field will be set for one of them.
-  bool first = 42;
-
-  // An identifier for the instance that handled the request.
-  string instance_id = 28;
-
-  // A list of log lines emitted by the application while serving this request.
-  repeated LogLine line = 29;
-
-  // App Engine release version.
-  string app_engine_release = 38;
-
-  // Stackdriver Trace identifier for this request.
-  string trace_id = 39;
-
-  // Source code for the application that handled this request. There can be
-  // more than one source reference per deployed application if source code is
-  // distributed among multiple repositories.
-  repeated SourceReference source_reference = 41;
-}
diff --git a/googleapis/appengine/v1/app_yaml.pb.go b/googleapis/appengine/v1/app_yaml.pb.go
index 28b4cec4003025ae7321bb2c5ec5265b3b26242a..7d5655286e9b248cccf4de952f817cb526d75ae4 100644
--- a/googleapis/appengine/v1/app_yaml.pb.go
+++ b/googleapis/appengine/v1/app_yaml.pb.go
@@ -1,13 +1,76 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/app_yaml.proto
+// source: google/appengine/v1/app_yaml.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+/*
+Package appengine is a generated protocol buffer package.
+
+It is generated from these files:
+	google/appengine/v1/app_yaml.proto
+	google/appengine/v1/appengine.proto
+	google/appengine/v1/application.proto
+	google/appengine/v1/deploy.proto
+	google/appengine/v1/instance.proto
+	google/appengine/v1/location.proto
+	google/appengine/v1/operation.proto
+	google/appengine/v1/service.proto
+	google/appengine/v1/version.proto
+
+It has these top-level messages:
+	ApiConfigHandler
+	ErrorHandler
+	UrlMap
+	StaticFilesHandler
+	ScriptHandler
+	ApiEndpointHandler
+	HealthCheck
+	Library
+	GetApplicationRequest
+	RepairApplicationRequest
+	ListServicesRequest
+	ListServicesResponse
+	GetServiceRequest
+	UpdateServiceRequest
+	DeleteServiceRequest
+	ListVersionsRequest
+	ListVersionsResponse
+	GetVersionRequest
+	CreateVersionRequest
+	UpdateVersionRequest
+	DeleteVersionRequest
+	ListInstancesRequest
+	ListInstancesResponse
+	GetInstanceRequest
+	DeleteInstanceRequest
+	DebugInstanceRequest
+	Application
+	UrlDispatchRule
+	Deployment
+	FileInfo
+	ContainerInfo
+	ZipInfo
+	Instance
+	LocationMetadata
+	OperationMetadataV1
+	Service
+	TrafficSplit
+	Version
+	AutomaticScaling
+	BasicScaling
+	ManualScaling
+	CpuUtilization
+	RequestUtilization
+	DiskUtilization
+	NetworkUtilization
+	Network
+	Resources
+*/
+package appengine
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -15,6 +78,12 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
 // Actions to take when the user is not logged in.
 type AuthFailAction int32
 
@@ -43,7 +112,7 @@ var AuthFailAction_value = map[string]int32{
 func (x AuthFailAction) String() string {
 	return proto.EnumName(AuthFailAction_name, int32(x))
 }
-func (AuthFailAction) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+func (AuthFailAction) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
 // Methods to restrict access to a URL based on login status.
 type LoginRequirement int32
@@ -80,7 +149,7 @@ var LoginRequirement_value = map[string]int32{
 func (x LoginRequirement) String() string {
 	return proto.EnumName(LoginRequirement_name, int32(x))
 }
-func (LoginRequirement) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+func (LoginRequirement) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
 // Methods to enforce security (HTTPS) on a URL.
 type SecurityLevel int32
@@ -123,7 +192,7 @@ var SecurityLevel_value = map[string]int32{
 func (x SecurityLevel) String() string {
 	return proto.EnumName(SecurityLevel_name, int32(x))
 }
-func (SecurityLevel) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
+func (SecurityLevel) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
 // Error codes.
 type ErrorHandler_ErrorCode int32
@@ -160,7 +229,7 @@ var ErrorHandler_ErrorCode_value = map[string]int32{
 func (x ErrorHandler_ErrorCode) String() string {
 	return proto.EnumName(ErrorHandler_ErrorCode_name, int32(x))
 }
-func (ErrorHandler_ErrorCode) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{1, 0} }
+func (ErrorHandler_ErrorCode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 0} }
 
 // Redirect codes.
 type UrlMap_RedirectHttpResponseCode int32
@@ -197,7 +266,7 @@ func (x UrlMap_RedirectHttpResponseCode) String() string {
 	return proto.EnumName(UrlMap_RedirectHttpResponseCode_name, int32(x))
 }
 func (UrlMap_RedirectHttpResponseCode) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor2, []int{2, 0}
+	return fileDescriptor0, []int{2, 0}
 }
 
 // [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/)
@@ -220,7 +289,42 @@ type ApiConfigHandler struct {
 func (m *ApiConfigHandler) Reset()                    { *m = ApiConfigHandler{} }
 func (m *ApiConfigHandler) String() string            { return proto.CompactTextString(m) }
 func (*ApiConfigHandler) ProtoMessage()               {}
-func (*ApiConfigHandler) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+func (*ApiConfigHandler) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func (m *ApiConfigHandler) GetAuthFailAction() AuthFailAction {
+	if m != nil {
+		return m.AuthFailAction
+	}
+	return AuthFailAction_AUTH_FAIL_ACTION_UNSPECIFIED
+}
+
+func (m *ApiConfigHandler) GetLogin() LoginRequirement {
+	if m != nil {
+		return m.Login
+	}
+	return LoginRequirement_LOGIN_UNSPECIFIED
+}
+
+func (m *ApiConfigHandler) GetScript() string {
+	if m != nil {
+		return m.Script
+	}
+	return ""
+}
+
+func (m *ApiConfigHandler) GetSecurityLevel() SecurityLevel {
+	if m != nil {
+		return m.SecurityLevel
+	}
+	return SecurityLevel_SECURE_UNSPECIFIED
+}
+
+func (m *ApiConfigHandler) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
 
 // Custom static error page to be served when an error occurs.
 type ErrorHandler struct {
@@ -235,7 +339,28 @@ type ErrorHandler struct {
 func (m *ErrorHandler) Reset()                    { *m = ErrorHandler{} }
 func (m *ErrorHandler) String() string            { return proto.CompactTextString(m) }
 func (*ErrorHandler) ProtoMessage()               {}
-func (*ErrorHandler) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+func (*ErrorHandler) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func (m *ErrorHandler) GetErrorCode() ErrorHandler_ErrorCode {
+	if m != nil {
+		return m.ErrorCode
+	}
+	return ErrorHandler_ERROR_CODE_UNSPECIFIED
+}
+
+func (m *ErrorHandler) GetStaticFile() string {
+	if m != nil {
+		return m.StaticFile
+	}
+	return ""
+}
+
+func (m *ErrorHandler) GetMimeType() string {
+	if m != nil {
+		return m.MimeType
+	}
+	return ""
+}
 
 // URL pattern and description of how the URL should be handled. App Engine can
 // handle URLs by executing application code or by serving static files
@@ -268,7 +393,7 @@ type UrlMap struct {
 func (m *UrlMap) Reset()                    { *m = UrlMap{} }
 func (m *UrlMap) String() string            { return proto.CompactTextString(m) }
 func (*UrlMap) ProtoMessage()               {}
-func (*UrlMap) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
+func (*UrlMap) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
 type isUrlMap_HandlerType interface {
 	isUrlMap_HandlerType()
@@ -295,6 +420,13 @@ func (m *UrlMap) GetHandlerType() isUrlMap_HandlerType {
 	return nil
 }
 
+func (m *UrlMap) GetUrlRegex() string {
+	if m != nil {
+		return m.UrlRegex
+	}
+	return ""
+}
+
 func (m *UrlMap) GetStaticFiles() *StaticFilesHandler {
 	if x, ok := m.GetHandlerType().(*UrlMap_StaticFiles); ok {
 		return x.StaticFiles
@@ -316,6 +448,34 @@ func (m *UrlMap) GetApiEndpoint() *ApiEndpointHandler {
 	return nil
 }
 
+func (m *UrlMap) GetSecurityLevel() SecurityLevel {
+	if m != nil {
+		return m.SecurityLevel
+	}
+	return SecurityLevel_SECURE_UNSPECIFIED
+}
+
+func (m *UrlMap) GetLogin() LoginRequirement {
+	if m != nil {
+		return m.Login
+	}
+	return LoginRequirement_LOGIN_UNSPECIFIED
+}
+
+func (m *UrlMap) GetAuthFailAction() AuthFailAction {
+	if m != nil {
+		return m.AuthFailAction
+	}
+	return AuthFailAction_AUTH_FAIL_ACTION_UNSPECIFIED
+}
+
+func (m *UrlMap) GetRedirectHttpResponseCode() UrlMap_RedirectHttpResponseCode {
+	if m != nil {
+		return m.RedirectHttpResponseCode
+	}
+	return UrlMap_REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*UrlMap) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _UrlMap_OneofMarshaler, _UrlMap_OneofUnmarshaler, _UrlMap_OneofSizer, []interface{}{
@@ -445,7 +605,21 @@ type StaticFilesHandler struct {
 func (m *StaticFilesHandler) Reset()                    { *m = StaticFilesHandler{} }
 func (m *StaticFilesHandler) String() string            { return proto.CompactTextString(m) }
 func (*StaticFilesHandler) ProtoMessage()               {}
-func (*StaticFilesHandler) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
+func (*StaticFilesHandler) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+func (m *StaticFilesHandler) GetPath() string {
+	if m != nil {
+		return m.Path
+	}
+	return ""
+}
+
+func (m *StaticFilesHandler) GetUploadPathRegex() string {
+	if m != nil {
+		return m.UploadPathRegex
+	}
+	return ""
+}
 
 func (m *StaticFilesHandler) GetHttpHeaders() map[string]string {
 	if m != nil {
@@ -454,6 +628,13 @@ func (m *StaticFilesHandler) GetHttpHeaders() map[string]string {
 	return nil
 }
 
+func (m *StaticFilesHandler) GetMimeType() string {
+	if m != nil {
+		return m.MimeType
+	}
+	return ""
+}
+
 func (m *StaticFilesHandler) GetExpiration() *google_protobuf1.Duration {
 	if m != nil {
 		return m.Expiration
@@ -461,6 +642,20 @@ func (m *StaticFilesHandler) GetExpiration() *google_protobuf1.Duration {
 	return nil
 }
 
+func (m *StaticFilesHandler) GetRequireMatchingFile() bool {
+	if m != nil {
+		return m.RequireMatchingFile
+	}
+	return false
+}
+
+func (m *StaticFilesHandler) GetApplicationReadable() bool {
+	if m != nil {
+		return m.ApplicationReadable
+	}
+	return false
+}
+
 // Executes a script to handle the request that matches the URL pattern.
 type ScriptHandler struct {
 	// Path to the script from the application root directory.
@@ -470,7 +665,14 @@ type ScriptHandler struct {
 func (m *ScriptHandler) Reset()                    { *m = ScriptHandler{} }
 func (m *ScriptHandler) String() string            { return proto.CompactTextString(m) }
 func (*ScriptHandler) ProtoMessage()               {}
-func (*ScriptHandler) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
+func (*ScriptHandler) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+
+func (m *ScriptHandler) GetScriptPath() string {
+	if m != nil {
+		return m.ScriptPath
+	}
+	return ""
+}
 
 // Uses Google Cloud Endpoints to handle requests.
 type ApiEndpointHandler struct {
@@ -481,7 +683,14 @@ type ApiEndpointHandler struct {
 func (m *ApiEndpointHandler) Reset()                    { *m = ApiEndpointHandler{} }
 func (m *ApiEndpointHandler) String() string            { return proto.CompactTextString(m) }
 func (*ApiEndpointHandler) ProtoMessage()               {}
-func (*ApiEndpointHandler) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
+func (*ApiEndpointHandler) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
+
+func (m *ApiEndpointHandler) GetScriptPath() string {
+	if m != nil {
+		return m.ScriptPath
+	}
+	return ""
+}
 
 // Health checking configuration for VM instances. Unhealthy instances
 // are killed and replaced with new instances. Only applicable for
@@ -510,7 +719,42 @@ type HealthCheck struct {
 func (m *HealthCheck) Reset()                    { *m = HealthCheck{} }
 func (m *HealthCheck) String() string            { return proto.CompactTextString(m) }
 func (*HealthCheck) ProtoMessage()               {}
-func (*HealthCheck) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
+func (*HealthCheck) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
+
+func (m *HealthCheck) GetDisableHealthCheck() bool {
+	if m != nil {
+		return m.DisableHealthCheck
+	}
+	return false
+}
+
+func (m *HealthCheck) GetHost() string {
+	if m != nil {
+		return m.Host
+	}
+	return ""
+}
+
+func (m *HealthCheck) GetHealthyThreshold() uint32 {
+	if m != nil {
+		return m.HealthyThreshold
+	}
+	return 0
+}
+
+func (m *HealthCheck) GetUnhealthyThreshold() uint32 {
+	if m != nil {
+		return m.UnhealthyThreshold
+	}
+	return 0
+}
+
+func (m *HealthCheck) GetRestartThreshold() uint32 {
+	if m != nil {
+		return m.RestartThreshold
+	}
+	return 0
+}
 
 func (m *HealthCheck) GetCheckInterval() *google_protobuf1.Duration {
 	if m != nil {
@@ -537,7 +781,21 @@ type Library struct {
 func (m *Library) Reset()                    { *m = Library{} }
 func (m *Library) String() string            { return proto.CompactTextString(m) }
 func (*Library) ProtoMessage()               {}
-func (*Library) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
+func (*Library) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
+
+func (m *Library) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Library) GetVersion() string {
+	if m != nil {
+		return m.Version
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*ApiConfigHandler)(nil), "google.appengine.v1.ApiConfigHandler")
@@ -555,89 +813,85 @@ func init() {
 	proto.RegisterEnum("google.appengine.v1.UrlMap_RedirectHttpResponseCode", UrlMap_RedirectHttpResponseCode_name, UrlMap_RedirectHttpResponseCode_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/app_yaml.proto", fileDescriptor2)
-}
-
-var fileDescriptor2 = []byte{
-	// 1249 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0xdb, 0xc6,
-	0x12, 0x8e, 0x24, 0xff, 0x8e, 0x64, 0x85, 0x5e, 0x27, 0x39, 0xb2, 0x73, 0x82, 0xf8, 0x28, 0x38,
-	0x48, 0x6a, 0x03, 0x52, 0x6c, 0xb7, 0x48, 0xd2, 0x16, 0x45, 0x19, 0x89, 0xae, 0x58, 0xc8, 0x96,
-	0xb2, 0x92, 0x52, 0xa4, 0xbd, 0x58, 0xac, 0xa9, 0xb5, 0xb8, 0x08, 0x45, 0xb2, 0xcb, 0xa5, 0x10,
-	0x3d, 0x47, 0xd1, 0xf7, 0xc8, 0x6d, 0x1f, 0xa4, 0x57, 0x7d, 0x99, 0x62, 0x97, 0xd4, 0x9f, 0x2d,
-	0xc7, 0x41, 0xee, 0x76, 0x66, 0xbe, 0xf9, 0xb8, 0xf3, 0xbb, 0x04, 0x73, 0x10, 0x04, 0x03, 0x8f,
-	0x55, 0x06, 0x81, 0x47, 0xfd, 0x41, 0x25, 0x10, 0x83, 0xea, 0x80, 0xf9, 0xa1, 0x08, 0x64, 0x50,
-	0x4d, 0x4c, 0x34, 0xe4, 0x51, 0x95, 0x86, 0x21, 0xf3, 0x07, 0xdc, 0x67, 0xd5, 0xd1, 0x91, 0x12,
-	0xc8, 0x98, 0x0e, 0xbd, 0x8a, 0x86, 0xa1, 0x9d, 0x94, 0x62, 0x8a, 0xa9, 0x8c, 0x8e, 0xf6, 0xec,
-	0xcf, 0xe5, 0xe5, 0xd5, 0x88, 0x89, 0x11, 0x77, 0x98, 0x13, 0xf8, 0x97, 0x7c, 0x50, 0xa5, 0xbe,
-	0x1f, 0x48, 0x2a, 0x79, 0xe0, 0x47, 0x09, 0xff, 0xde, 0xab, 0x01, 0x97, 0x6e, 0x7c, 0x51, 0x71,
-	0x82, 0x61, 0x35, 0xa1, 0xab, 0x6a, 0xc3, 0x45, 0x7c, 0x59, 0x0d, 0xe5, 0x38, 0x64, 0x51, 0xb5,
-	0x1f, 0x0b, 0xed, 0x32, 0x3d, 0x24, 0xae, 0xe5, 0x3f, 0xb2, 0x60, 0x98, 0x21, 0xaf, 0x69, 0xea,
-	0x06, 0xf5, 0xfb, 0x1e, 0x13, 0xe8, 0x0c, 0x0c, 0x1a, 0x4b, 0x97, 0x5c, 0x52, 0xee, 0x11, 0xea,
-	0x28, 0x78, 0x29, 0xb3, 0x9f, 0x79, 0x56, 0x3c, 0x7e, 0x52, 0x59, 0x12, 0x4a, 0xc5, 0x8c, 0xa5,
-	0x7b, 0x4a, 0xb9, 0x67, 0x6a, 0x28, 0x2e, 0xd2, 0x05, 0x19, 0x7d, 0x07, 0xab, 0x5e, 0x30, 0xe0,
-	0x7e, 0x29, 0xab, 0x39, 0xfe, 0xbf, 0x94, 0xa3, 0xa9, 0x10, 0x98, 0xfd, 0x1e, 0x73, 0xc1, 0x86,
-	0xcc, 0x97, 0x38, 0xf1, 0x41, 0x0f, 0x60, 0x2d, 0x72, 0x04, 0x0f, 0x65, 0x29, 0xb7, 0x9f, 0x79,
-	0xb6, 0x89, 0x53, 0x09, 0xd9, 0x50, 0x8c, 0x98, 0x13, 0x0b, 0x2e, 0xc7, 0xc4, 0x63, 0x23, 0xe6,
-	0x95, 0x56, 0x34, 0x7b, 0x79, 0x29, 0x7b, 0x27, 0x85, 0x36, 0x15, 0x12, 0x6f, 0x45, 0xf3, 0x22,
-	0x32, 0x20, 0x17, 0x0b, 0xaf, 0xb4, 0xaa, 0xf9, 0xd5, 0xb1, 0xfc, 0x31, 0x0b, 0x05, 0x4b, 0x88,
-	0x40, 0x4c, 0x32, 0xf2, 0x33, 0x00, 0x53, 0x32, 0x71, 0x82, 0x3e, 0x4b, 0x73, 0x71, 0xb8, 0xf4,
-	0x4b, 0xf3, 0x6e, 0x89, 0x50, 0x0b, 0xfa, 0x0c, 0x6f, 0xb2, 0xc9, 0x11, 0x3d, 0x86, 0x7c, 0xa4,
-	0xea, 0xe7, 0x90, 0x4b, 0xee, 0x31, 0x9d, 0x94, 0x4d, 0x0c, 0x89, 0xea, 0x94, 0x7b, 0x0c, 0x3d,
-	0x84, 0xcd, 0x21, 0x1f, 0x32, 0xa2, 0x2a, 0x97, 0x46, 0xbd, 0xa1, 0x14, 0xdd, 0x71, 0xc8, 0xca,
-	0x7f, 0x66, 0x60, 0x73, 0x4a, 0x8b, 0xf6, 0xe0, 0x81, 0x85, 0x71, 0x0b, 0x93, 0x5a, 0xab, 0x6e,
-	0x91, 0xde, 0x79, 0xa7, 0x6d, 0xd5, 0xec, 0x53, 0xdb, 0xaa, 0x1b, 0x77, 0xd0, 0x03, 0x40, 0x73,
-	0xb6, 0xba, 0x75, 0x6a, 0xf6, 0x9a, 0x5d, 0xe3, 0x0e, 0xda, 0x85, 0xfb, 0x73, 0xfa, 0xd6, 0x5b,
-	0x0b, 0x93, 0x37, 0xbd, 0x56, 0xd7, 0x34, 0x32, 0xe8, 0x11, 0xec, 0xce, 0xbb, 0xb4, 0x3a, 0xc4,
-	0x6c, 0xdb, 0xa4, 0x6e, 0x9d, 0xdb, 0x66, 0xd3, 0xc8, 0x5e, 0x61, 0xec, 0xda, 0x67, 0x56, 0xab,
-	0xd7, 0x35, 0x72, 0x7b, 0x59, 0x23, 0x53, 0xfe, 0x6b, 0x0d, 0xd6, 0x7a, 0xc2, 0x3b, 0xa3, 0xa1,
-	0xba, 0x7f, 0x2c, 0x3c, 0x22, 0xd8, 0x80, 0x7d, 0xd0, 0xb9, 0xda, 0xc4, 0x1b, 0xb1, 0xf0, 0xb0,
-	0x92, 0x51, 0x13, 0x0a, 0x73, 0xd1, 0x47, 0x3a, 0xfc, 0xfc, 0xf1, 0xd3, 0xe5, 0x55, 0x9b, 0xe6,
-	0x24, 0x4a, 0x33, 0xda, 0xb8, 0x83, 0xf3, 0xb3, 0x4c, 0x45, 0xe8, 0xfb, 0x85, 0xee, 0xc8, 0xdf,
-	0x54, 0x7d, 0x0d, 0x99, 0x51, 0x4c, 0x7a, 0xa8, 0x09, 0x05, 0x1a, 0x72, 0xc2, 0xfc, 0x7e, 0x18,
-	0x70, 0x5f, 0xea, 0x0e, 0xba, 0xe9, 0x2e, 0x66, 0xc8, 0xad, 0x14, 0x37, 0x77, 0x17, 0x3a, 0xd3,
-	0x2e, 0xe9, 0xc8, 0xd5, 0x2f, 0xed, 0xc8, 0xe9, 0xc4, 0xac, 0x7d, 0xc1, 0xc4, 0x2c, 0x9b, 0xde,
-	0xf5, 0x2f, 0x9f, 0xde, 0x08, 0x1e, 0x0a, 0xd6, 0xe7, 0x82, 0x39, 0x92, 0xb8, 0x52, 0x86, 0x44,
-	0xb0, 0x28, 0x0c, 0xfc, 0x88, 0x25, 0xb3, 0xb0, 0xa1, 0x99, 0xbf, 0x5e, 0xca, 0x9c, 0xf4, 0x43,
-	0x05, 0xa7, 0xee, 0x0d, 0x29, 0x43, 0x9c, 0x3a, 0xeb, 0xa1, 0x28, 0x89, 0x1b, 0x2c, 0xe5, 0x7f,
-	0x32, 0x50, 0xba, 0xc9, 0x0d, 0x1d, 0xc2, 0x53, 0x6c, 0xd5, 0x6d, 0x6c, 0xd5, 0xba, 0xa4, 0xd1,
-	0xed, 0xb6, 0x09, 0xb6, 0x3a, 0xed, 0xd6, 0x79, 0xc7, 0x5a, 0x36, 0x05, 0x4f, 0xe0, 0xf1, 0xa7,
-	0xc0, 0x27, 0xcf, 0x8f, 0x8c, 0xcc, 0xed, 0xa0, 0x63, 0x23, 0x7b, 0x3b, 0xe8, 0xc4, 0xc8, 0xdd,
-	0x0e, 0x7a, 0x61, 0xac, 0xbc, 0x2e, 0x42, 0xc1, 0x4d, 0x7a, 0x48, 0xcf, 0x78, 0xf9, 0x63, 0x0e,
-	0xd0, 0xf5, 0x5e, 0x47, 0x08, 0x56, 0x42, 0x2a, 0xdd, 0x74, 0x84, 0xf4, 0x19, 0x1d, 0xc0, 0x76,
-	0x1c, 0x7a, 0x01, 0xed, 0x13, 0x25, 0xa6, 0x33, 0x96, 0xac, 0x90, 0xbb, 0x89, 0xa1, 0x4d, 0xa5,
-	0x9b, 0x8c, 0xda, 0x6f, 0x50, 0xd0, 0x05, 0x73, 0x19, 0xed, 0x33, 0x11, 0x95, 0x72, 0xfb, 0xb9,
-	0x67, 0xf9, 0xe3, 0x97, 0x9f, 0x39, 0x6a, 0x15, 0x95, 0xf7, 0x46, 0xe2, 0x6a, 0xf9, 0x52, 0x8c,
-	0x71, 0xde, 0x9d, 0x69, 0x16, 0x97, 0xd4, 0xca, 0xe2, 0x92, 0x42, 0xaf, 0x00, 0xd8, 0x87, 0x90,
-	0x27, 0x2f, 0x8d, 0x1e, 0x83, 0xfc, 0xf1, 0xee, 0xe4, 0xbb, 0x93, 0xa7, 0xa9, 0x52, 0x4f, 0x9f,
-	0x22, 0x3c, 0x07, 0x46, 0xc7, 0x70, 0x5f, 0x24, 0x3d, 0x4d, 0x86, 0x54, 0x3a, 0x2e, 0xf7, 0x07,
-	0xc9, 0x9e, 0x54, 0xa3, 0xb0, 0x81, 0x77, 0x52, 0xe3, 0x59, 0x6a, 0xd3, 0x0b, 0xf3, 0x08, 0xee,
-	0xd1, 0x30, 0xf4, 0xb8, 0xa3, 0x29, 0x88, 0x60, 0xb4, 0x4f, 0x2f, 0x3c, 0xa6, 0xbb, 0x7e, 0x03,
-	0xef, 0xcc, 0xd9, 0x70, 0x6a, 0xda, 0xfb, 0x01, 0x8c, 0xab, 0xf1, 0xa9, 0x77, 0xe0, 0x3d, 0x1b,
-	0xa7, 0xe9, 0x56, 0x47, 0x74, 0x0f, 0x56, 0x47, 0xd4, 0x8b, 0x27, 0x4b, 0x3a, 0x11, 0xbe, 0xcd,
-	0xbe, 0xcc, 0x94, 0x9f, 0xc3, 0xd6, 0xc2, 0x56, 0xd1, 0x5b, 0x5d, 0x2b, 0xc8, 0x5c, 0xcd, 0x20,
-	0x51, 0xa9, 0x92, 0x94, 0xbf, 0x01, 0x74, 0x7d, 0x87, 0xdc, 0xee, 0xf6, 0x77, 0x16, 0xf2, 0x0d,
-	0x46, 0x3d, 0xe9, 0xd6, 0x5c, 0xe6, 0xbc, 0x47, 0xcf, 0xe1, 0x5e, 0x9f, 0x47, 0x2a, 0x06, 0x55,
-	0x57, 0x4f, 0xba, 0xc4, 0x51, 0x7a, 0xed, 0xb9, 0x81, 0x51, 0x6a, 0x9b, 0xf7, 0x40, 0xb0, 0xe2,
-	0x06, 0x91, 0x4c, 0x63, 0xd0, 0x67, 0x74, 0x08, 0xdb, 0x89, 0xf7, 0x98, 0x48, 0x57, 0xb0, 0xc8,
-	0x0d, 0xbc, 0xbe, 0x5e, 0xa1, 0x5b, 0xd8, 0x48, 0x0d, 0xdd, 0x89, 0x1e, 0x55, 0x61, 0x27, 0xf6,
-	0xaf, 0xc3, 0x57, 0x34, 0x1c, 0x4d, 0x4d, 0x33, 0x87, 0x43, 0xd8, 0x16, 0x2c, 0x92, 0x54, 0xc8,
-	0x39, 0xf8, 0x6a, 0xc2, 0x9e, 0x1a, 0x66, 0xe0, 0x1f, 0xa1, 0xa8, 0x23, 0x20, 0xdc, 0x97, 0x4c,
-	0x8c, 0xa8, 0xa7, 0x2b, 0xfd, 0xc9, 0x7e, 0xd9, 0xd2, 0x0e, 0x76, 0x8a, 0x47, 0x27, 0xb0, 0x2e,
-	0xf9, 0x90, 0x05, 0xb1, 0xd4, 0x15, 0xff, 0xa4, 0xeb, 0x04, 0x59, 0x7e, 0x01, 0xeb, 0x4d, 0x7e,
-	0x21, 0xa8, 0x18, 0xab, 0x04, 0xf9, 0x74, 0xc8, 0x26, 0x73, 0xa6, 0xce, 0xa8, 0x04, 0xeb, 0x23,
-	0x26, 0x22, 0xd5, 0xbe, 0x49, 0xde, 0x26, 0xe2, 0x81, 0x84, 0xe2, 0xe2, 0xc6, 0x44, 0xfb, 0xf0,
-	0x5f, 0xb3, 0xd7, 0x6d, 0x90, 0x53, 0xd3, 0x6e, 0x12, 0xb3, 0xd6, 0xb5, 0x5b, 0xe7, 0x57, 0x96,
-	0xd0, 0x23, 0xd8, 0xbd, 0x86, 0x98, 0xac, 0x09, 0x23, 0x83, 0xfe, 0x07, 0x8f, 0x96, 0x10, 0x28,
-	0x55, 0x0b, 0xdb, 0xbf, 0x5a, 0x75, 0x23, 0x7b, 0x70, 0x01, 0xc6, 0xd5, 0x7d, 0x8f, 0xee, 0xc3,
-	0x76, 0xb3, 0xf5, 0x93, 0x7d, 0xf5, 0x63, 0x08, 0x8a, 0x89, 0xba, 0xd5, 0x56, 0x4c, 0x66, 0xd3,
-	0xc8, 0xa0, 0xbb, 0x90, 0x4f, 0x74, 0x66, 0xfd, 0xcc, 0x3e, 0x37, 0xb2, 0x33, 0x10, 0xb6, 0xde,
-	0xf4, 0x6c, 0x6c, 0xd5, 0x8d, 0xdc, 0xc1, 0x18, 0xb6, 0x16, 0x5e, 0x25, 0xf5, 0xde, 0x77, 0xac,
-	0x5a, 0x0f, 0x5b, 0xd7, 0xbf, 0x90, 0xea, 0x67, 0x7f, 0x15, 0x06, 0x14, 0x52, 0xdd, 0xb9, 0xf5,
-	0xd6, 0xc2, 0x46, 0x06, 0xed, 0xc0, 0xdd, 0x54, 0x33, 0xbd, 0x48, 0x16, 0x6d, 0xc3, 0x56, 0xaa,
-	0x34, 0x9b, 0xbf, 0x98, 0xef, 0x3a, 0xc9, 0xdf, 0xc3, 0xeb, 0xaf, 0xe0, 0x3f, 0x4e, 0x30, 0x5c,
-	0xb6, 0x99, 0x5e, 0x17, 0xcc, 0x30, 0x7c, 0x47, 0x87, 0x5e, 0x5b, 0xd5, 0xb2, 0x9d, 0xb9, 0x58,
-	0xd3, 0x45, 0x3d, 0xf9, 0x37, 0x00, 0x00, 0xff, 0xff, 0x9d, 0xa0, 0x1f, 0xc5, 0x98, 0x0b, 0x00,
-	0x00,
+func init() { proto.RegisterFile("google/appengine/v1/app_yaml.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 1232 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0x13, 0x47,
+	0x14, 0xc6, 0x76, 0x7e, 0x8f, 0x1d, 0xb3, 0x99, 0x00, 0x75, 0x02, 0x94, 0xd4, 0xa8, 0x02, 0x25,
+	0x92, 0x4d, 0x92, 0x56, 0xd0, 0x82, 0xaa, 0x2e, 0xf6, 0xa6, 0xde, 0xca, 0x89, 0xcd, 0xd8, 0xa6,
+	0x82, 0x5e, 0x8c, 0x26, 0xf6, 0xc4, 0x3b, 0x62, 0xbd, 0xbb, 0x9d, 0x1d, 0x47, 0xf8, 0x39, 0xaa,
+	0xbe, 0x07, 0xb7, 0x7d, 0x90, 0x5e, 0xf5, 0x65, 0xaa, 0x99, 0x1d, 0xff, 0x25, 0x0e, 0xa9, 0xb8,
+	0x9b, 0x73, 0xce, 0xf7, 0x9d, 0x9d, 0xf3, 0x3b, 0x0b, 0xc5, 0x7e, 0x18, 0xf6, 0x7d, 0x56, 0xa6,
+	0x51, 0xc4, 0x82, 0x3e, 0x0f, 0x58, 0xf9, 0xe2, 0x40, 0x09, 0x64, 0x44, 0x07, 0x7e, 0x29, 0x12,
+	0xa1, 0x0c, 0xd1, 0x56, 0x82, 0x29, 0x4d, 0x30, 0xa5, 0x8b, 0x83, 0x9d, 0x07, 0x13, 0x22, 0x2f,
+	0xd3, 0x20, 0x08, 0x25, 0x95, 0x3c, 0x0c, 0xe2, 0x84, 0xb2, 0xf3, 0xb5, 0xb1, 0x6a, 0xe9, 0x6c,
+	0x78, 0x5e, 0xee, 0x0d, 0x85, 0x06, 0x24, 0xf6, 0xe2, 0x9f, 0x69, 0xb0, 0xec, 0x88, 0x57, 0xc2,
+	0xe0, 0x9c, 0xf7, 0x6b, 0x34, 0xe8, 0xf9, 0x4c, 0xa0, 0x13, 0xb0, 0xe8, 0x50, 0x7a, 0xe4, 0x9c,
+	0x72, 0x9f, 0xd0, 0xae, 0x82, 0x17, 0x52, 0xbb, 0xa9, 0xa7, 0xf9, 0xc3, 0xc7, 0xa5, 0x05, 0x57,
+	0x28, 0xd9, 0x43, 0xe9, 0x1d, 0x53, 0xee, 0xdb, 0x1a, 0x8a, 0xf3, 0x74, 0x4e, 0x46, 0x2f, 0x61,
+	0xd9, 0x0f, 0xfb, 0x3c, 0x28, 0xa4, 0xb5, 0x8f, 0x6f, 0x17, 0xfa, 0xa8, 0x2b, 0x04, 0x66, 0x7f,
+	0x0c, 0xb9, 0x60, 0x03, 0x16, 0x48, 0x9c, 0x70, 0xd0, 0x3d, 0x58, 0x89, 0xbb, 0x82, 0x47, 0xb2,
+	0x90, 0xd9, 0x4d, 0x3d, 0x5d, 0xc7, 0x46, 0x42, 0x2e, 0xe4, 0x63, 0xd6, 0x1d, 0x0a, 0x2e, 0x47,
+	0xc4, 0x67, 0x17, 0xcc, 0x2f, 0x2c, 0x69, 0xef, 0xc5, 0x85, 0xde, 0x5b, 0x06, 0x5a, 0x57, 0x48,
+	0xbc, 0x11, 0xcf, 0x8a, 0xc8, 0x82, 0xcc, 0x50, 0xf8, 0x85, 0x65, 0xed, 0x5f, 0x1d, 0x8b, 0x9f,
+	0xd2, 0x90, 0x73, 0x84, 0x08, 0xc5, 0x38, 0x23, 0xbf, 0x02, 0x30, 0x25, 0x93, 0x6e, 0xd8, 0x63,
+	0x26, 0x17, 0xfb, 0x0b, 0xbf, 0x34, 0x4b, 0x4b, 0x84, 0x4a, 0xd8, 0x63, 0x78, 0x9d, 0x8d, 0x8f,
+	0xe8, 0x11, 0x64, 0x63, 0x55, 0xa4, 0x2e, 0x39, 0xe7, 0x3e, 0xd3, 0x49, 0x59, 0xc7, 0x90, 0xa8,
+	0x8e, 0xb9, 0xcf, 0xd0, 0x7d, 0x58, 0x1f, 0xf0, 0x01, 0x23, 0x72, 0x14, 0x31, 0x13, 0xf5, 0x9a,
+	0x52, 0xb4, 0x47, 0x11, 0x2b, 0xfe, 0x95, 0x82, 0xf5, 0x89, 0x5b, 0xb4, 0x03, 0xf7, 0x1c, 0x8c,
+	0x1b, 0x98, 0x54, 0x1a, 0x55, 0x87, 0x74, 0x4e, 0x5b, 0x4d, 0xa7, 0xe2, 0x1e, 0xbb, 0x4e, 0xd5,
+	0xba, 0x85, 0xee, 0x01, 0x9a, 0xb1, 0x55, 0x9d, 0x63, 0xbb, 0x53, 0x6f, 0x5b, 0xb7, 0xd0, 0x36,
+	0xdc, 0x9d, 0xd1, 0x37, 0xde, 0x3a, 0x98, 0xbc, 0xe9, 0x34, 0xda, 0xb6, 0x95, 0x42, 0x0f, 0x61,
+	0x7b, 0x96, 0xd2, 0x68, 0x11, 0xbb, 0xe9, 0x92, 0xaa, 0x73, 0xea, 0xda, 0x75, 0x2b, 0x7d, 0xc9,
+	0x63, 0xdb, 0x3d, 0x71, 0x1a, 0x9d, 0xb6, 0x95, 0xd9, 0x49, 0x5b, 0xa9, 0xe2, 0xdf, 0x2b, 0xb0,
+	0xd2, 0x11, 0xfe, 0x09, 0x8d, 0xd4, 0xfd, 0x87, 0xc2, 0x27, 0x82, 0xf5, 0xd9, 0x47, 0x9d, 0xab,
+	0x75, 0xbc, 0x36, 0x14, 0x3e, 0x56, 0x32, 0xaa, 0x43, 0x6e, 0x26, 0xfa, 0x58, 0x87, 0x9f, 0x3d,
+	0x7c, 0xb2, 0xb8, 0x6a, 0x93, 0x9c, 0xc4, 0x26, 0xa3, 0xb5, 0x5b, 0x38, 0x3b, 0xcd, 0x54, 0x8c,
+	0x5e, 0xcd, 0x75, 0x47, 0xf6, 0xba, 0xea, 0x6b, 0xc8, 0xd4, 0xc5, 0xb8, 0x87, 0xea, 0x90, 0xa3,
+	0x11, 0x27, 0x2c, 0xe8, 0x45, 0x21, 0x0f, 0xa4, 0xee, 0xa0, 0xeb, 0xee, 0x62, 0x47, 0xdc, 0x31,
+	0xb8, 0x99, 0xbb, 0xd0, 0xa9, 0x76, 0x41, 0x47, 0x2e, 0x7f, 0x69, 0x47, 0x4e, 0x26, 0x66, 0xe5,
+	0x0b, 0x26, 0x66, 0xd1, 0xf4, 0xae, 0x7e, 0xf9, 0xf4, 0xc6, 0x70, 0x5f, 0xb0, 0x1e, 0x17, 0xac,
+	0x2b, 0x89, 0x27, 0x65, 0x44, 0x04, 0x8b, 0xa3, 0x30, 0x88, 0x59, 0x32, 0x0b, 0x6b, 0xda, 0xf3,
+	0x77, 0x0b, 0x3d, 0x27, 0xfd, 0x50, 0xc2, 0x86, 0x5e, 0x93, 0x32, 0xc2, 0x86, 0xac, 0x87, 0xa2,
+	0x20, 0xae, 0xb1, 0x14, 0xff, 0x4d, 0x41, 0xe1, 0x3a, 0x1a, 0xda, 0x87, 0x27, 0xd8, 0xa9, 0xba,
+	0xd8, 0xa9, 0xb4, 0x49, 0xad, 0xdd, 0x6e, 0x12, 0xec, 0xb4, 0x9a, 0x8d, 0xd3, 0x96, 0xb3, 0x68,
+	0x0a, 0x1e, 0xc3, 0xa3, 0xcf, 0x81, 0x8f, 0x9e, 0x1d, 0x58, 0xa9, 0x9b, 0x41, 0x87, 0x56, 0xfa,
+	0x66, 0xd0, 0x91, 0x95, 0xb9, 0x19, 0xf4, 0xdc, 0x5a, 0x7a, 0x9d, 0x87, 0x9c, 0x97, 0xf4, 0x90,
+	0x9e, 0xf1, 0xe2, 0xa7, 0x0c, 0xa0, 0xab, 0xbd, 0x8e, 0x10, 0x2c, 0x45, 0x54, 0x7a, 0x66, 0x84,
+	0xf4, 0x19, 0xed, 0xc1, 0xe6, 0x30, 0xf2, 0x43, 0xda, 0x23, 0x4a, 0x34, 0x33, 0x96, 0xac, 0x90,
+	0xdb, 0x89, 0xa1, 0x49, 0xa5, 0x97, 0x8c, 0xda, 0xef, 0x90, 0xd3, 0x05, 0xf3, 0x18, 0xed, 0x31,
+	0x11, 0x17, 0x32, 0xbb, 0x99, 0xa7, 0xd9, 0xc3, 0x17, 0xff, 0x73, 0xd4, 0x4a, 0x2a, 0xef, 0xb5,
+	0x84, 0xea, 0x04, 0x52, 0x8c, 0x70, 0xd6, 0x9b, 0x6a, 0xe6, 0x97, 0xd4, 0xd2, 0xfc, 0x92, 0x42,
+	0x3f, 0x00, 0xb0, 0x8f, 0x11, 0x4f, 0x5e, 0x1a, 0x3d, 0x06, 0xd9, 0xc3, 0xed, 0xf1, 0x77, 0xc7,
+	0x4f, 0x51, 0xa9, 0x6a, 0x9e, 0x22, 0x3c, 0x03, 0x46, 0x87, 0x70, 0x57, 0x24, 0x3d, 0x4d, 0x06,
+	0x54, 0x76, 0x3d, 0x1e, 0xf4, 0x93, 0x3d, 0xa9, 0x46, 0x61, 0x0d, 0x6f, 0x19, 0xe3, 0x89, 0xb1,
+	0xe9, 0x85, 0x79, 0x00, 0x77, 0x68, 0x14, 0xf9, 0xbc, 0xab, 0x5d, 0x10, 0xc1, 0x68, 0x8f, 0x9e,
+	0xf9, 0x4c, 0x77, 0xfd, 0x1a, 0xde, 0x9a, 0xb1, 0x61, 0x63, 0xda, 0xf9, 0x09, 0xac, 0xcb, 0xf1,
+	0xa9, 0x77, 0xe0, 0x03, 0x1b, 0x99, 0x74, 0xab, 0x23, 0xba, 0x03, 0xcb, 0x17, 0xd4, 0x1f, 0x8e,
+	0x97, 0x74, 0x22, 0xfc, 0x98, 0x7e, 0x91, 0x2a, 0x3e, 0x83, 0x8d, 0xb9, 0xad, 0xa2, 0xb7, 0xba,
+	0x56, 0x90, 0x99, 0x9a, 0x41, 0xa2, 0x52, 0x25, 0x29, 0x7e, 0x0f, 0xe8, 0xea, 0x0e, 0xb9, 0x99,
+	0xf6, 0x4f, 0x1a, 0xb2, 0x35, 0x46, 0x7d, 0xe9, 0x55, 0x3c, 0xd6, 0xfd, 0x80, 0x9e, 0xc1, 0x9d,
+	0x1e, 0x8f, 0x55, 0x0c, 0xaa, 0xae, 0xbe, 0xf4, 0x48, 0x57, 0xe9, 0x35, 0x73, 0x0d, 0x23, 0x63,
+	0x9b, 0x65, 0x20, 0x58, 0xf2, 0xc2, 0x58, 0x9a, 0x18, 0xf4, 0x19, 0xed, 0xc3, 0x66, 0xc2, 0x1e,
+	0x11, 0xe9, 0x09, 0x16, 0x7b, 0xa1, 0xdf, 0xd3, 0x2b, 0x74, 0x03, 0x5b, 0xc6, 0xd0, 0x1e, 0xeb,
+	0x51, 0x19, 0xb6, 0x86, 0xc1, 0x55, 0xf8, 0x92, 0x86, 0xa3, 0x89, 0x69, 0x4a, 0xd8, 0x87, 0x4d,
+	0xc1, 0x62, 0x49, 0x85, 0x9c, 0x81, 0x2f, 0x27, 0xde, 0x8d, 0x61, 0x0a, 0xfe, 0x19, 0xf2, 0x3a,
+	0x02, 0xc2, 0x03, 0xc9, 0xc4, 0x05, 0xf5, 0x75, 0xa5, 0x3f, 0xdb, 0x2f, 0x1b, 0x9a, 0xe0, 0x1a,
+	0x3c, 0x3a, 0x82, 0x55, 0xc9, 0x07, 0x2c, 0x1c, 0x4a, 0x5d, 0xf1, 0xcf, 0x52, 0xc7, 0xc8, 0xe2,
+	0x73, 0x58, 0xad, 0xf3, 0x33, 0x41, 0xc5, 0x48, 0x25, 0x28, 0xa0, 0x03, 0x36, 0x9e, 0x33, 0x75,
+	0x46, 0x05, 0x58, 0xbd, 0x60, 0x22, 0x56, 0xed, 0x9b, 0xe4, 0x6d, 0x2c, 0xee, 0x49, 0xc8, 0xcf,
+	0x6f, 0x4c, 0xb4, 0x0b, 0x0f, 0xec, 0x4e, 0xbb, 0x46, 0x8e, 0x6d, 0xb7, 0x4e, 0xec, 0x4a, 0xdb,
+	0x6d, 0x9c, 0x5e, 0x5a, 0x42, 0x0f, 0x61, 0xfb, 0x0a, 0x62, 0xbc, 0x26, 0xac, 0x14, 0xfa, 0x06,
+	0x1e, 0x2e, 0x70, 0xa0, 0x54, 0x0d, 0xec, 0xbe, 0x77, 0xaa, 0x56, 0x7a, 0xef, 0x0c, 0xac, 0xcb,
+	0xfb, 0x1e, 0xdd, 0x85, 0xcd, 0x7a, 0xe3, 0x17, 0xf7, 0xf2, 0xc7, 0x10, 0xe4, 0x13, 0x75, 0xa3,
+	0xa9, 0x3c, 0xd9, 0x75, 0x2b, 0x85, 0x6e, 0x43, 0x36, 0xd1, 0xd9, 0xd5, 0x13, 0xf7, 0xd4, 0x4a,
+	0x4f, 0x41, 0xd8, 0x79, 0xd3, 0x71, 0xb1, 0x53, 0xb5, 0x32, 0x7b, 0x23, 0xd8, 0x98, 0x7b, 0x95,
+	0xd4, 0x7b, 0xdf, 0x72, 0x2a, 0x1d, 0xec, 0x5c, 0xfd, 0x82, 0xd1, 0x4f, 0xff, 0x2a, 0x2c, 0xc8,
+	0x19, 0xdd, 0xa9, 0xf3, 0xd6, 0xc1, 0x56, 0x0a, 0x6d, 0xc1, 0x6d, 0xa3, 0x99, 0x5c, 0x24, 0x8d,
+	0x36, 0x61, 0xc3, 0x28, 0xed, 0xfa, 0x6f, 0xf6, 0xbb, 0x56, 0xf2, 0xf7, 0xf0, 0xba, 0x0f, 0x5f,
+	0x75, 0xc3, 0xc1, 0xa2, 0xcd, 0xf4, 0x3a, 0x67, 0x47, 0xd1, 0x3b, 0x3a, 0xf0, 0x9b, 0xaa, 0x96,
+	0xcd, 0xd4, 0xfb, 0x57, 0x06, 0xd4, 0x0f, 0x7d, 0x1a, 0xf4, 0x4b, 0xa1, 0xe8, 0x97, 0xfb, 0x2c,
+	0xd0, 0x95, 0x2e, 0x27, 0x26, 0x1a, 0xf1, 0x78, 0xee, 0x3f, 0xfa, 0xe5, 0x44, 0x38, 0x5b, 0xd1,
+	0xc0, 0xa3, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x96, 0x5d, 0x26, 0x6c, 0x6f, 0x0b, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/app_yaml.proto b/googleapis/appengine/v1/app_yaml.proto
deleted file mode 100644
index 474426437729139360d4eaa5a7ff8b56ad1b3eda..0000000000000000000000000000000000000000
--- a/googleapis/appengine/v1/app_yaml.proto
+++ /dev/null
@@ -1,284 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.appengine.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "AppYamlProto";
-option java_package = "com.google.appengine.v1";
-
-
-// [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/)
-// configuration for API handlers.
-message ApiConfigHandler {
-  // Action to take when users access resources that require
-  // authentication. Defaults to `redirect`.
-  AuthFailAction auth_fail_action = 1;
-
-  // Level of login required to access this resource. Defaults to
-  // `optional`.
-  LoginRequirement login = 2;
-
-  // Path to the script from the application root directory.
-  string script = 3;
-
-  // Security (HTTPS) enforcement for this URL.
-  SecurityLevel security_level = 4;
-
-  // URL to serve the endpoint at.
-  string url = 5;
-}
-
-// Custom static error page to be served when an error occurs.
-message ErrorHandler {
-  // Error codes.
-  enum ErrorCode {
-    option allow_alias = true;
-    // Not specified. ERROR_CODE_DEFAULT is assumed.
-    ERROR_CODE_UNSPECIFIED = 0;
-
-    // All other error types.
-    ERROR_CODE_DEFAULT = 0;
-
-    // Application has exceeded a resource quota.
-    ERROR_CODE_OVER_QUOTA = 1;
-
-    // Client blocked by the application's Denial of Service protection
-    // configuration.
-    ERROR_CODE_DOS_API_DENIAL = 2;
-
-    // Deadline reached before the application responds.
-    ERROR_CODE_TIMEOUT = 3;
-  }
-
-  // Error condition this handler applies to.
-  ErrorCode error_code = 1;
-
-  // Static file content to be served for this error.
-  string static_file = 2;
-
-  // MIME type of file. Defaults to `text/html`.
-  string mime_type = 3;
-}
-
-// URL pattern and description of how the URL should be handled. App Engine can
-// handle URLs by executing application code or by serving static files
-// uploaded with the version, such as images, CSS, or JavaScript.
-message UrlMap {
-  // Redirect codes.
-  enum RedirectHttpResponseCode {
-    // Not specified. `302` is assumed.
-    REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED = 0;
-
-    // `301 Moved Permanently` code.
-    REDIRECT_HTTP_RESPONSE_CODE_301 = 1;
-
-    // `302 Moved Temporarily` code.
-    REDIRECT_HTTP_RESPONSE_CODE_302 = 2;
-
-    // `303 See Other` code.
-    REDIRECT_HTTP_RESPONSE_CODE_303 = 3;
-
-    // `307 Temporary Redirect` code.
-    REDIRECT_HTTP_RESPONSE_CODE_307 = 4;
-  }
-
-  // URL prefix. Uses regular expression syntax, which means regexp
-  // special characters must be escaped, but should not contain groupings.
-  // All URLs that begin with this prefix are handled by this handler, using the
-  // portion of the URL after the prefix as part of the file path.
-  string url_regex = 1;
-
-  // Type of handler for this URL pattern.
-  oneof handler_type {
-    // Returns the contents of a file, such as an image, as the response.
-    StaticFilesHandler static_files = 2;
-
-    // Executes a script to handle the request that matches this URL
-    // pattern.
-    ScriptHandler script = 3;
-
-    // Uses API Endpoints to handle requests.
-    ApiEndpointHandler api_endpoint = 4;
-  }
-
-  // Security (HTTPS) enforcement for this URL.
-  SecurityLevel security_level = 5;
-
-  // Level of login required to access this resource.
-  LoginRequirement login = 6;
-
-  // Action to take when users access resources that require
-  // authentication. Defaults to `redirect`.
-  AuthFailAction auth_fail_action = 7;
-
-  // `30x` code to use when performing redirects for the `secure` field.
-  // Defaults to `302`.
-  RedirectHttpResponseCode redirect_http_response_code = 8;
-}
-
-// Files served directly to the user for a given URL, such as images, CSS
-// stylesheets, or JavaScript source files. Static file handlers describe which
-// files in the application directory are static files, and which URLs serve
-// them.
-message StaticFilesHandler {
-  // Path to the static files matched by the URL pattern, from the
-  // application root directory. The path can refer to text matched in groupings
-  // in the URL pattern.
-  string path = 1;
-
-  // Regular expression that matches the file paths for all files that should be
-  // referenced by this handler.
-  string upload_path_regex = 2;
-
-  // HTTP headers to use for all responses from these URLs.
-  map<string, string> http_headers = 3;
-
-  // MIME type used to serve all files served by this handler.
-  //
-  // Defaults to file-specific MIME types, which are derived from each file's
-  // filename extension.
-  string mime_type = 4;
-
-  // Time a static file served by this handler should be cached
-  // by web proxies and browsers.
-  google.protobuf.Duration expiration = 5;
-
-  // Whether this handler should match the request if the file
-  // referenced by the handler does not exist.
-  bool require_matching_file = 6;
-
-  // Whether files should also be uploaded as code data. By default, files
-  // declared in static file handlers are uploaded as static
-  // data and are only served to end users; they cannot be read by the
-  // application. If enabled, uploads are charged against both your code and
-  // static data storage resource quotas.
-  bool application_readable = 7;
-}
-
-// Executes a script to handle the request that matches the URL pattern.
-message ScriptHandler {
-  // Path to the script from the application root directory.
-  string script_path = 1;
-}
-
-// Uses Google Cloud Endpoints to handle requests.
-message ApiEndpointHandler {
-  // Path to the script from the application root directory.
-  string script_path = 1;
-}
-
-// Health checking configuration for VM instances. Unhealthy instances
-// are killed and replaced with new instances. Only applicable for
-// instances in App Engine flexible environment.
-message HealthCheck {
-  // Whether to explicitly disable health checks for this instance.
-  bool disable_health_check = 1;
-
-  // Host header to send when performing an HTTP health check.
-  // Example: "myapp.appspot.com"
-  string host = 2;
-
-  // Number of consecutive successful health checks required before receiving
-  // traffic.
-  uint32 healthy_threshold = 3;
-
-  // Number of consecutive failed health checks required before removing
-  // traffic.
-  uint32 unhealthy_threshold = 4;
-
-  // Number of consecutive failed health checks required before an instance is
-  // restarted.
-  uint32 restart_threshold = 5;
-
-  // Interval between health checks.
-  google.protobuf.Duration check_interval = 6;
-
-  // Time before the health check is considered failed.
-  google.protobuf.Duration timeout = 7;
-}
-
-// Third-party Python runtime library that is required by the application.
-message Library {
-  // Name of the library. Example: "django".
-  string name = 1;
-
-  // Version of the library to select, or "latest".
-  string version = 2;
-}
-
-// Actions to take when the user is not logged in.
-enum AuthFailAction {
-  // Not specified. `AUTH_FAIL_ACTION_REDIRECT` is assumed.
-  AUTH_FAIL_ACTION_UNSPECIFIED = 0;
-
-  // Redirects user to "accounts.google.com". The user is redirected back to the
-  // application URL after signing in or creating an account.
-  AUTH_FAIL_ACTION_REDIRECT = 1;
-
-  // Rejects request with a `401` HTTP status code and an error
-  // message.
-  AUTH_FAIL_ACTION_UNAUTHORIZED = 2;
-}
-
-// Methods to restrict access to a URL based on login status.
-enum LoginRequirement {
-  // Not specified. `LOGIN_OPTIONAL` is assumed.
-  LOGIN_UNSPECIFIED = 0;
-
-  // Does not require that the user is signed in.
-  LOGIN_OPTIONAL = 1;
-
-  // If the user is not signed in, the `auth_fail_action` is taken.
-  // In addition, if the user is not an administrator for the
-  // application, they are given an error message regardless of
-  // `auth_fail_action`. If the user is an administrator, the handler
-  // proceeds.
-  LOGIN_ADMIN = 2;
-
-  // If the user has signed in, the handler proceeds normally. Otherwise, the
-  // auth_fail_action is taken.
-  LOGIN_REQUIRED = 3;
-}
-
-// Methods to enforce security (HTTPS) on a URL.
-enum SecurityLevel {
-  option allow_alias = true;
-  // Not specified.
-  SECURE_UNSPECIFIED = 0;
-
-  // Both HTTP and HTTPS requests with URLs that match the handler succeed
-  // without redirects. The application can examine the request to determine
-  // which protocol was used, and respond accordingly.
-  SECURE_DEFAULT = 0;
-
-  // Requests for a URL that match this handler that use HTTPS are automatically
-  // redirected to the HTTP equivalent URL.
-  SECURE_NEVER = 1;
-
-  // Both HTTP and HTTPS requests with URLs that match the handler succeed
-  // without redirects. The application can examine the request to determine
-  // which protocol was used and respond accordingly.
-  SECURE_OPTIONAL = 2;
-
-  // Requests for a URL that match this handler that do not use HTTPS are
-  // automatically redirected to the HTTPS URL with the same path. Query
-  // parameters are reserved for the redirect.
-  SECURE_ALWAYS = 3;
-}
diff --git a/googleapis/appengine/v1/appengine.pb.go b/googleapis/appengine/v1/appengine.pb.go
index 478d4a3e499ae713fcc6b2ec9dbe0894af5c9d35..24d32d89e41a7b44c7c0edd3af502070ef12dbbb 100644
--- a/googleapis/appengine/v1/appengine.pb.go
+++ b/googleapis/appengine/v1/appengine.pb.go
@@ -1,81 +1,18 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/appengine.proto
+// source: google/appengine/v1/appengine.proto
 // DO NOT EDIT!
 
-/*
-Package google_appengine_v1 is a generated protocol buffer package.
-
-It is generated from these files:
-	google.golang.org/genproto/googleapis/appengine/v1/appengine.proto
-	google.golang.org/genproto/googleapis/appengine/v1/application.proto
-	google.golang.org/genproto/googleapis/appengine/v1/app_yaml.proto
-	google.golang.org/genproto/googleapis/appengine/v1/deploy.proto
-	google.golang.org/genproto/googleapis/appengine/v1/instance.proto
-	google.golang.org/genproto/googleapis/appengine/v1/location.proto
-	google.golang.org/genproto/googleapis/appengine/v1/operation.proto
-	google.golang.org/genproto/googleapis/appengine/v1/service.proto
-	google.golang.org/genproto/googleapis/appengine/v1/version.proto
-
-It has these top-level messages:
-	GetApplicationRequest
-	RepairApplicationRequest
-	ListServicesRequest
-	ListServicesResponse
-	GetServiceRequest
-	UpdateServiceRequest
-	DeleteServiceRequest
-	ListVersionsRequest
-	ListVersionsResponse
-	GetVersionRequest
-	CreateVersionRequest
-	UpdateVersionRequest
-	DeleteVersionRequest
-	ListInstancesRequest
-	ListInstancesResponse
-	GetInstanceRequest
-	DeleteInstanceRequest
-	DebugInstanceRequest
-	Application
-	UrlDispatchRule
-	ApiConfigHandler
-	ErrorHandler
-	UrlMap
-	StaticFilesHandler
-	ScriptHandler
-	ApiEndpointHandler
-	HealthCheck
-	Library
-	Deployment
-	FileInfo
-	ContainerInfo
-	ZipInfo
-	Instance
-	LocationMetadata
-	OperationMetadataV1
-	Service
-	TrafficSplit
-	Version
-	AutomaticScaling
-	BasicScaling
-	ManualScaling
-	CpuUtilization
-	RequestUtilization
-	DiskUtilization
-	NetworkUtilization
-	Network
-	Resources
-*/
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import _ "google.golang.org/genproto/googleapis/iam/v1"
 import _ "google.golang.org/genproto/googleapis/iam/v1"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import _ "github.com/golang/protobuf/ptypes/empty"
-import google_protobuf5 "google.golang.org/genproto/protobuf"
+import google_protobuf5 "google.golang.org/genproto/protobuf/field_mask"
 
 import (
 	context "golang.org/x/net/context"
@@ -87,12 +24,6 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
-
 // Fields that should be returned when [Version][google.appengine.v1.Version] resources
 // are retreived.
 type VersionView int32
@@ -119,7 +50,7 @@ var VersionView_value = map[string]int32{
 func (x VersionView) String() string {
 	return proto.EnumName(VersionView_name, int32(x))
 }
-func (VersionView) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+func (VersionView) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
 // Request message for `Applications.GetApplication`.
 type GetApplicationRequest struct {
@@ -130,7 +61,14 @@ type GetApplicationRequest struct {
 func (m *GetApplicationRequest) Reset()                    { *m = GetApplicationRequest{} }
 func (m *GetApplicationRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetApplicationRequest) ProtoMessage()               {}
-func (*GetApplicationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+func (*GetApplicationRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+
+func (m *GetApplicationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // Request message for 'Applications.RepairApplication'.
 type RepairApplicationRequest struct {
@@ -141,7 +79,14 @@ type RepairApplicationRequest struct {
 func (m *RepairApplicationRequest) Reset()                    { *m = RepairApplicationRequest{} }
 func (m *RepairApplicationRequest) String() string            { return proto.CompactTextString(m) }
 func (*RepairApplicationRequest) ProtoMessage()               {}
-func (*RepairApplicationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+func (*RepairApplicationRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+
+func (m *RepairApplicationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // Request message for `Services.ListServices`.
 type ListServicesRequest struct {
@@ -156,7 +101,28 @@ type ListServicesRequest struct {
 func (m *ListServicesRequest) Reset()                    { *m = ListServicesRequest{} }
 func (m *ListServicesRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListServicesRequest) ProtoMessage()               {}
-func (*ListServicesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+func (*ListServicesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
+
+func (m *ListServicesRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListServicesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListServicesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
 
 // Response message for `Services.ListServices`.
 type ListServicesResponse struct {
@@ -169,7 +135,7 @@ type ListServicesResponse struct {
 func (m *ListServicesResponse) Reset()                    { *m = ListServicesResponse{} }
 func (m *ListServicesResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListServicesResponse) ProtoMessage()               {}
-func (*ListServicesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+func (*ListServicesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
 func (m *ListServicesResponse) GetServices() []*Service {
 	if m != nil {
@@ -178,6 +144,13 @@ func (m *ListServicesResponse) GetServices() []*Service {
 	return nil
 }
 
+func (m *ListServicesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for `Services.GetService`.
 type GetServiceRequest struct {
 	// Name of the resource requested. Example: `apps/myapp/services/default`.
@@ -187,7 +160,14 @@ type GetServiceRequest struct {
 func (m *GetServiceRequest) Reset()                    { *m = GetServiceRequest{} }
 func (m *GetServiceRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetServiceRequest) ProtoMessage()               {}
-func (*GetServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+func (*GetServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
+
+func (m *GetServiceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // Request message for `Services.UpdateService`.
 type UpdateServiceRequest struct {
@@ -216,7 +196,14 @@ type UpdateServiceRequest struct {
 func (m *UpdateServiceRequest) Reset()                    { *m = UpdateServiceRequest{} }
 func (m *UpdateServiceRequest) String() string            { return proto.CompactTextString(m) }
 func (*UpdateServiceRequest) ProtoMessage()               {}
-func (*UpdateServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
+func (*UpdateServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
+
+func (m *UpdateServiceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *UpdateServiceRequest) GetService() *Service {
 	if m != nil {
@@ -232,6 +219,13 @@ func (m *UpdateServiceRequest) GetUpdateMask() *google_protobuf5.FieldMask {
 	return nil
 }
 
+func (m *UpdateServiceRequest) GetMigrateTraffic() bool {
+	if m != nil {
+		return m.MigrateTraffic
+	}
+	return false
+}
+
 // Request message for `Services.DeleteService`.
 type DeleteServiceRequest struct {
 	// Name of the resource requested. Example: `apps/myapp/services/default`.
@@ -241,7 +235,14 @@ type DeleteServiceRequest struct {
 func (m *DeleteServiceRequest) Reset()                    { *m = DeleteServiceRequest{} }
 func (m *DeleteServiceRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteServiceRequest) ProtoMessage()               {}
-func (*DeleteServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
+func (*DeleteServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
+
+func (m *DeleteServiceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // Request message for `Versions.ListVersions`.
 type ListVersionsRequest struct {
@@ -259,7 +260,35 @@ type ListVersionsRequest struct {
 func (m *ListVersionsRequest) Reset()                    { *m = ListVersionsRequest{} }
 func (m *ListVersionsRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListVersionsRequest) ProtoMessage()               {}
-func (*ListVersionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
+func (*ListVersionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
+
+func (m *ListVersionsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListVersionsRequest) GetView() VersionView {
+	if m != nil {
+		return m.View
+	}
+	return VersionView_BASIC
+}
+
+func (m *ListVersionsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListVersionsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
 
 // Response message for `Versions.ListVersions`.
 type ListVersionsResponse struct {
@@ -272,7 +301,7 @@ type ListVersionsResponse struct {
 func (m *ListVersionsResponse) Reset()                    { *m = ListVersionsResponse{} }
 func (m *ListVersionsResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListVersionsResponse) ProtoMessage()               {}
-func (*ListVersionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
+func (*ListVersionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
 
 func (m *ListVersionsResponse) GetVersions() []*Version {
 	if m != nil {
@@ -281,6 +310,13 @@ func (m *ListVersionsResponse) GetVersions() []*Version {
 	return nil
 }
 
+func (m *ListVersionsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for `Versions.GetVersion`.
 type GetVersionRequest struct {
 	// Name of the resource requested. Example:
@@ -293,7 +329,21 @@ type GetVersionRequest struct {
 func (m *GetVersionRequest) Reset()                    { *m = GetVersionRequest{} }
 func (m *GetVersionRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetVersionRequest) ProtoMessage()               {}
-func (*GetVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
+func (*GetVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
+
+func (m *GetVersionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *GetVersionRequest) GetView() VersionView {
+	if m != nil {
+		return m.View
+	}
+	return VersionView_BASIC
+}
 
 // Request message for `Versions.CreateVersion`.
 type CreateVersionRequest struct {
@@ -307,7 +357,14 @@ type CreateVersionRequest struct {
 func (m *CreateVersionRequest) Reset()                    { *m = CreateVersionRequest{} }
 func (m *CreateVersionRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateVersionRequest) ProtoMessage()               {}
-func (*CreateVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
+func (*CreateVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
+
+func (m *CreateVersionRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
 
 func (m *CreateVersionRequest) GetVersion() *Version {
 	if m != nil {
@@ -331,7 +388,14 @@ type UpdateVersionRequest struct {
 func (m *UpdateVersionRequest) Reset()                    { *m = UpdateVersionRequest{} }
 func (m *UpdateVersionRequest) String() string            { return proto.CompactTextString(m) }
 func (*UpdateVersionRequest) ProtoMessage()               {}
-func (*UpdateVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
+func (*UpdateVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
+
+func (m *UpdateVersionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *UpdateVersionRequest) GetVersion() *Version {
 	if m != nil {
@@ -357,7 +421,14 @@ type DeleteVersionRequest struct {
 func (m *DeleteVersionRequest) Reset()                    { *m = DeleteVersionRequest{} }
 func (m *DeleteVersionRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteVersionRequest) ProtoMessage()               {}
-func (*DeleteVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
+func (*DeleteVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
+
+func (m *DeleteVersionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // Request message for `Instances.ListInstances`.
 type ListInstancesRequest struct {
@@ -373,7 +444,28 @@ type ListInstancesRequest struct {
 func (m *ListInstancesRequest) Reset()                    { *m = ListInstancesRequest{} }
 func (m *ListInstancesRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListInstancesRequest) ProtoMessage()               {}
-func (*ListInstancesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
+func (*ListInstancesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
+
+func (m *ListInstancesRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListInstancesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListInstancesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
 
 // Response message for `Instances.ListInstances`.
 type ListInstancesResponse struct {
@@ -386,7 +478,7 @@ type ListInstancesResponse struct {
 func (m *ListInstancesResponse) Reset()                    { *m = ListInstancesResponse{} }
 func (m *ListInstancesResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListInstancesResponse) ProtoMessage()               {}
-func (*ListInstancesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
+func (*ListInstancesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} }
 
 func (m *ListInstancesResponse) GetInstances() []*Instance {
 	if m != nil {
@@ -395,6 +487,13 @@ func (m *ListInstancesResponse) GetInstances() []*Instance {
 	return nil
 }
 
+func (m *ListInstancesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for `Instances.GetInstance`.
 type GetInstanceRequest struct {
 	// Name of the resource requested. Example:
@@ -405,7 +504,14 @@ type GetInstanceRequest struct {
 func (m *GetInstanceRequest) Reset()                    { *m = GetInstanceRequest{} }
 func (m *GetInstanceRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetInstanceRequest) ProtoMessage()               {}
-func (*GetInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
+func (*GetInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} }
+
+func (m *GetInstanceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // Request message for `Instances.DeleteInstance`.
 type DeleteInstanceRequest struct {
@@ -417,7 +523,14 @@ type DeleteInstanceRequest struct {
 func (m *DeleteInstanceRequest) Reset()                    { *m = DeleteInstanceRequest{} }
 func (m *DeleteInstanceRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteInstanceRequest) ProtoMessage()               {}
-func (*DeleteInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
+func (*DeleteInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
+
+func (m *DeleteInstanceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // Request message for `Instances.DebugInstance`.
 type DebugInstanceRequest struct {
@@ -429,7 +542,14 @@ type DebugInstanceRequest struct {
 func (m *DebugInstanceRequest) Reset()                    { *m = DebugInstanceRequest{} }
 func (m *DebugInstanceRequest) String() string            { return proto.CompactTextString(m) }
 func (*DebugInstanceRequest) ProtoMessage()               {}
-func (*DebugInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
+func (*DebugInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
+
+func (m *DebugInstanceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*GetApplicationRequest)(nil), "google.appengine.v1.GetApplicationRequest")
@@ -643,7 +763,7 @@ var _Instances_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/appengine/v1/appengine.proto",
+	Metadata: "google/appengine/v1/appengine.proto",
 }
 
 // Client API for Versions service
@@ -881,7 +1001,7 @@ var _Versions_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/appengine/v1/appengine.proto",
+	Metadata: "google/appengine/v1/appengine.proto",
 }
 
 // Client API for Services service
@@ -1052,7 +1172,7 @@ var _Services_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/appengine/v1/appengine.proto",
+	Metadata: "google/appengine/v1/appengine.proto",
 }
 
 // Client API for Applications service
@@ -1159,86 +1279,82 @@ var _Applications_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/appengine/v1/appengine.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/appengine.proto", fileDescriptor0)
-}
-
-var fileDescriptor0 = []byte{
-	// 1160 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x57, 0x5f, 0x6f, 0xdb, 0x54,
-	0x14, 0xc7, 0x6d, 0xba, 0xa5, 0xa7, 0x6b, 0xb7, 0xde, 0xb6, 0x10, 0xcc, 0x8a, 0x22, 0x83, 0x96,
-	0xd4, 0xd5, 0x62, 0xcd, 0x1d, 0xd3, 0x96, 0x6a, 0x88, 0x76, 0xd5, 0xaa, 0x4a, 0x45, 0x54, 0xee,
-	0xb6, 0x37, 0x54, 0xb9, 0xe9, 0x8d, 0xb9, 0x34, 0xb1, 0x8d, 0xed, 0x64, 0xed, 0x20, 0x42, 0x62,
-	0x12, 0x02, 0x1e, 0x37, 0x1e, 0x78, 0x40, 0xda, 0x03, 0x5f, 0x86, 0x77, 0xbe, 0x00, 0x0f, 0x7c,
-	0x10, 0xe4, 0xeb, 0x7b, 0xed, 0xd8, 0xf1, 0x3f, 0x32, 0xf1, 0x12, 0xc5, 0xd7, 0xe7, 0xcf, 0xef,
-	0xfc, 0xce, 0xcf, 0x3e, 0xc7, 0xb0, 0x6b, 0x58, 0x96, 0xd1, 0xc3, 0x2d, 0xc3, 0xea, 0xe9, 0xa6,
-	0xd1, 0xb2, 0x1c, 0x43, 0x31, 0xb0, 0x69, 0x3b, 0x96, 0x67, 0x29, 0xc1, 0x2d, 0xdd, 0x26, 0xae,
-	0xa2, 0xdb, 0x36, 0x36, 0x0d, 0x62, 0x62, 0x65, 0x78, 0x27, 0xba, 0x68, 0x51, 0x3b, 0xb4, 0xc2,
-	0x62, 0x44, 0xe7, 0xc3, 0x3b, 0xe2, 0x41, 0xd9, 0xc0, 0x44, 0x71, 0xb1, 0x33, 0x24, 0x1d, 0xdc,
-	0xb1, 0xcc, 0x2e, 0x31, 0x14, 0xdd, 0x34, 0x2d, 0x4f, 0xf7, 0x88, 0x65, 0xba, 0x41, 0x7c, 0x71,
-	0x6f, 0x3a, 0x8c, 0x3d, 0xd2, 0xa1, 0x61, 0x58, 0x94, 0x9d, 0x29, 0xa2, 0x10, 0xd3, 0xf5, 0x74,
-	0xb3, 0xc3, 0x0a, 0x15, 0x3f, 0x9b, 0x22, 0x04, 0x2b, 0xee, 0x2d, 0x22, 0x0c, 0xb1, 0xe3, 0x46,
-	0x65, 0x3c, 0x2c, 0x17, 0x81, 0xe8, 0x7d, 0x5a, 0x80, 0xde, 0x3f, 0xb1, 0xad, 0x1e, 0xe9, 0x5c,
-	0x32, 0xf7, 0x07, 0xff, 0xc9, 0x3d, 0xe6, 0x5a, 0x52, 0x2a, 0x3d, 0xcb, 0x34, 0x9c, 0x81, 0x69,
-	0x12, 0xd3, 0x50, 0x2c, 0x1b, 0x3b, 0xb1, 0x56, 0x6e, 0x19, 0xc4, 0xfb, 0x6a, 0x70, 0xda, 0xea,
-	0x58, 0x7d, 0x25, 0x88, 0xa3, 0xd0, 0x1b, 0xa7, 0x83, 0xae, 0x62, 0x7b, 0x97, 0x36, 0x76, 0x15,
-	0xdc, 0xb7, 0xbd, 0xcb, 0xe0, 0x97, 0x39, 0xdd, 0xcd, 0x49, 0x1c, 0x7a, 0x77, 0x09, 0xee, 0x9d,
-	0x9d, 0xf4, 0x75, 0xf7, 0x3c, 0xf0, 0x92, 0x36, 0x61, 0x6d, 0x1f, 0x7b, 0x3b, 0x91, 0x0e, 0x34,
-	0xfc, 0xcd, 0x00, 0xbb, 0x1e, 0x42, 0x50, 0x31, 0xf5, 0x3e, 0xae, 0x09, 0x75, 0xa1, 0x39, 0xaf,
-	0xd1, 0xff, 0x52, 0x0b, 0x6a, 0x1a, 0xb6, 0x75, 0xe2, 0x94, 0xb4, 0x27, 0xb0, 0x72, 0x48, 0x5c,
-	0xef, 0x38, 0x68, 0xae, 0xcb, 0x4d, 0xdf, 0x85, 0x2b, 0xb6, 0xee, 0x60, 0xd3, 0x63, 0xc6, 0xec,
-	0x0a, 0x7d, 0x00, 0xf3, 0xb6, 0x6e, 0xe0, 0x13, 0x97, 0xbc, 0xc0, 0xb5, 0x99, 0xba, 0xd0, 0x9c,
-	0xd3, 0xaa, 0xfe, 0xc1, 0x31, 0x79, 0x81, 0xd1, 0x3a, 0x00, 0xbd, 0xe9, 0x59, 0xe7, 0xd8, 0xac,
-	0xcd, 0x52, 0x47, 0x6a, 0xfe, 0xc4, 0x3f, 0x90, 0x2e, 0x60, 0x35, 0x9e, 0xca, 0xb5, 0x2d, 0xd3,
-	0xc5, 0xe8, 0x3e, 0x54, 0x99, 0xb6, 0xdc, 0x9a, 0x50, 0x9f, 0x6d, 0x2e, 0xa8, 0x37, 0x5b, 0x29,
-	0x0f, 0x62, 0x8b, 0x39, 0x6a, 0xa1, 0x35, 0xba, 0x05, 0xd7, 0x4d, 0x7c, 0xe1, 0x9d, 0x8c, 0x65,
-	0x9d, 0xa1, 0x59, 0x17, 0xfd, 0xe3, 0xa3, 0x30, 0x73, 0x03, 0x96, 0xf7, 0x31, 0x4f, 0x9c, 0xc7,
-	0xc6, 0x9f, 0x02, 0xac, 0x3e, 0xb5, 0xcf, 0x74, 0x0f, 0x17, 0x1b, 0xa3, 0x7b, 0x70, 0x95, 0x21,
-	0xa1, 0x59, 0x8b, 0x60, 0x73, 0x63, 0xb4, 0x0d, 0x0b, 0x03, 0x9a, 0x83, 0x36, 0x99, 0xf2, 0xb4,
-	0xa0, 0x8a, 0xdc, 0x97, 0xeb, 0xa0, 0xf5, 0xd8, 0xd7, 0xc1, 0xe7, 0xba, 0x7b, 0xae, 0x41, 0x60,
-	0xee, 0xff, 0x47, 0x0d, 0xb8, 0xde, 0x27, 0x86, 0xe3, 0x7b, 0x7b, 0x8e, 0xde, 0xed, 0x92, 0x4e,
-	0xad, 0x52, 0x17, 0x9a, 0x55, 0x6d, 0x89, 0x1d, 0x3f, 0x09, 0x4e, 0x25, 0x19, 0x56, 0xf7, 0x70,
-	0x0f, 0x97, 0xa9, 0x44, 0x7a, 0x23, 0x04, 0x2a, 0x78, 0x16, 0x3c, 0xa0, 0x85, 0x2a, 0xb8, 0x0b,
-	0x95, 0x21, 0xc1, 0xcf, 0x69, 0xd9, 0x4b, 0x6a, 0x3d, 0xb5, 0x6c, 0x16, 0xeb, 0x19, 0xc1, 0xcf,
-	0x35, 0x6a, 0x1d, 0xd7, 0xce, 0x6c, 0xae, 0x76, 0x2a, 0x19, 0xda, 0x89, 0x00, 0x46, 0xda, 0x61,
-	0x6f, 0x95, 0x7c, 0xed, 0x30, 0x47, 0x2d, 0xb4, 0x2e, 0xad, 0x9d, 0x2f, 0xa9, 0x76, 0xb8, 0x7f,
-	0x8e, 0x1c, 0xa6, 0x22, 0x45, 0xea, 0xc2, 0xea, 0x23, 0x07, 0xeb, 0x1e, 0x4e, 0x64, 0xc8, 0xa2,
-	0xfe, 0x1e, 0x5c, 0x65, 0x25, 0xe4, 0x8a, 0x8e, 0x47, 0xe3, 0xc6, 0x7e, 0x8b, 0x99, 0xb2, 0x4b,
-	0x94, 0x32, 0x65, 0x92, 0xb7, 0x52, 0x76, 0x24, 0xd8, 0x62, 0x80, 0xd2, 0xd7, 0x81, 0x1c, 0x0e,
-	0xd8, 0x54, 0xfb, 0x5f, 0x5f, 0x5b, 0xdf, 0xc1, 0x5a, 0x22, 0x17, 0xd3, 0xde, 0x36, 0xcc, 0xf3,
-	0xb1, 0xca, 0xc5, 0xb7, 0x9e, 0xca, 0x13, 0x77, 0xd5, 0x22, 0xfb, 0xd2, 0xf2, 0x6b, 0x02, 0xda,
-	0xc7, 0x61, 0xf2, 0x3c, 0x4e, 0x36, 0x61, 0x2d, 0xe0, 0xaf, 0x8c, 0x31, 0x25, 0xfb, 0x74, 0x60,
-	0x94, 0xb0, 0x95, 0x25, 0x58, 0x18, 0xd3, 0x2d, 0x9a, 0x87, 0xb9, 0xdd, 0x9d, 0xe3, 0x83, 0x47,
-	0x37, 0xde, 0x41, 0x55, 0xa8, 0x3c, 0x7e, 0x7a, 0x78, 0x78, 0x43, 0x50, 0x5f, 0xce, 0xc1, 0x7c,
-	0xc8, 0x10, 0xfa, 0x43, 0x80, 0xc5, 0x18, 0x67, 0x68, 0x23, 0x95, 0x98, 0xb4, 0x1e, 0x8a, 0x72,
-	0x19, 0xd3, 0xa0, 0x05, 0xd2, 0xf6, 0x0f, 0x7f, 0xfd, 0xf3, 0x7a, 0xe6, 0x13, 0xb4, 0xe5, 0xcf,
-	0xf8, 0x6f, 0x83, 0x66, 0x3f, 0xd4, 0x6d, 0xdb, 0x55, 0x64, 0xbe, 0xaf, 0xf8, 0x7f, 0xf9, 0x43,
-	0xaf, 0xc8, 0x23, 0x25, 0x6a, 0xc1, 0x2b, 0x01, 0x16, 0xc6, 0xb8, 0x45, 0x8d, 0xd4, 0xc4, 0x93,
-	0xec, 0x8b, 0xf9, 0x5d, 0x4e, 0x80, 0xf2, 0x29, 0xcc, 0x85, 0x14, 0x21, 0x52, 0xe4, 0x11, 0xfa,
-	0x4d, 0x80, 0xa5, 0x78, 0x1b, 0x51, 0x3a, 0x21, 0xa9, 0xbd, 0x8e, 0xa0, 0x8d, 0x2d, 0x2f, 0xad,
-	0x2f, 0xf8, 0xf2, 0xc2, 0xa1, 0xc9, 0x53, 0x41, 0x7b, 0x23, 0xc0, 0x62, 0x4c, 0x34, 0x19, 0x5d,
-	0x4d, 0x13, 0x56, 0x11, 0xb0, 0x3d, 0x0a, 0xec, 0x53, 0xe9, 0xc1, 0x14, 0xc0, 0xda, 0x67, 0x7e,
-	0xc2, 0xb6, 0x20, 0xab, 0x7f, 0xcf, 0x41, 0x95, 0x8f, 0x08, 0xf4, 0xab, 0x00, 0xd7, 0xc6, 0x67,
-	0x06, 0x6a, 0x66, 0x0a, 0x2b, 0x31, 0xf7, 0xc4, 0x8d, 0x12, 0x96, 0x4c, 0x81, 0x0a, 0x05, 0xbe,
-	0x81, 0x1a, 0xb9, 0x0a, 0x1c, 0x85, 0xd8, 0xd1, 0x4b, 0x01, 0x20, 0x1a, 0x28, 0xe8, 0x56, 0x96,
-	0xe8, 0xe2, 0x6f, 0x41, 0x31, 0xf7, 0x0d, 0x9c, 0x40, 0x51, 0x48, 0xdf, 0x08, 0xbd, 0x16, 0x60,
-	0x31, 0x36, 0x77, 0x32, 0x7a, 0x99, 0x36, 0x9b, 0x8a, 0x7a, 0x79, 0x9f, 0x82, 0x51, 0xa5, 0xb2,
-	0x94, 0xb4, 0xc3, 0xf9, 0xe1, 0xa3, 0x8a, 0x0d, 0xa9, 0x0c, 0x54, 0x69, 0x83, 0xac, 0x24, 0x2a,
-	0xb5, 0x2c, 0x45, 0x11, 0xaa, 0x5f, 0xa8, 0xee, 0xc7, 0x26, 0x53, 0xa6, 0xee, 0x27, 0xa7, 0x57,
-	0x11, 0x2a, 0xd6, 0x38, 0xb9, 0x2c, 0x2a, 0xf5, 0xf7, 0x0a, 0x54, 0xf9, 0x06, 0x8d, 0x7e, 0x66,
-	0x12, 0x0f, 0x0f, 0xb2, 0x25, 0x9e, 0x58, 0xf0, 0x73, 0x24, 0x9e, 0xdc, 0xcf, 0xa5, 0x8f, 0x29,
-	0xc6, 0x0f, 0xd1, 0xcd, 0xc9, 0x7e, 0x8e, 0x42, 0x98, 0xe8, 0x82, 0xca, 0x9a, 0x39, 0x67, 0xcb,
-	0x3a, 0xbe, 0x8d, 0x8a, 0xb9, 0x2b, 0x73, 0x22, 0x73, 0x3a, 0x3b, 0x23, 0xf4, 0x53, 0xa8, 0x1a,
-	0x9e, 0x3d, 0x4f, 0x35, 0x09, 0x00, 0x05, 0xfd, 0xb9, 0x4d, 0x11, 0x34, 0xd4, 0x5c, 0x04, 0xed,
-	0x70, 0xb5, 0xff, 0x9e, 0x2b, 0x25, 0x1f, 0x49, 0xda, 0x62, 0x5e, 0x84, 0x84, 0x71, 0x21, 0xe7,
-	0x22, 0x51, 0x5f, 0xcd, 0xc0, 0xb5, 0xb1, 0x2f, 0x3f, 0x17, 0x5d, 0xc2, 0x52, 0xfc, 0xe3, 0x31,
-	0x63, 0x9c, 0xa4, 0x7e, 0x61, 0x8a, 0xe9, 0x5b, 0xec, 0x98, 0xa1, 0xf4, 0x3e, 0x85, 0xb5, 0x82,
-	0x96, 0x93, 0xb0, 0x46, 0xe8, 0x47, 0x01, 0x96, 0x27, 0xbe, 0x45, 0xd1, 0xed, 0xd4, 0x90, 0x59,
-	0xdf, 0xac, 0x45, 0xac, 0x7c, 0x44, 0xd3, 0xaf, 0x4b, 0xb5, 0x89, 0xf4, 0x6d, 0x87, 0x86, 0x6c,
-	0x0b, 0xf2, 0xee, 0x26, 0xbc, 0xd7, 0xb1, 0xfa, 0x69, 0x79, 0x77, 0x97, 0x76, 0xf8, 0xd5, 0x91,
-	0xbf, 0x9d, 0x1e, 0x09, 0xa7, 0x57, 0xe8, 0x9a, 0xba, 0xf5, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff,
-	0xfd, 0x69, 0x15, 0xc5, 0x50, 0x12, 0x00, 0x00,
+	Metadata: "google/appengine/v1/appengine.proto",
+}
+
+func init() { proto.RegisterFile("google/appengine/v1/appengine.proto", fileDescriptor1) }
+
+var fileDescriptor1 = []byte{
+	// 1134 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xdf, 0x6f, 0xdb, 0x54,
+	0x14, 0xc6, 0x6d, 0xba, 0x25, 0x27, 0x6b, 0xb6, 0xde, 0xb6, 0x10, 0xbc, 0x76, 0x0a, 0x1e, 0x2c,
+	0xa9, 0xa7, 0xc5, 0x9a, 0x07, 0xd3, 0x48, 0x01, 0xa9, 0xdd, 0xb4, 0x6a, 0x52, 0x11, 0x95, 0xbb,
+	0xed, 0x01, 0x09, 0x55, 0x6e, 0x7a, 0x63, 0x5d, 0x9a, 0xd8, 0xc6, 0x76, 0xb2, 0x6e, 0x10, 0x21,
+	0x31, 0x09, 0x01, 0x8f, 0x1b, 0x0f, 0x3c, 0x20, 0xed, 0x81, 0x7f, 0x86, 0x77, 0xfe, 0x01, 0x1e,
+	0xf8, 0x43, 0x90, 0xaf, 0xef, 0xb5, 0x63, 0xc7, 0xbf, 0x54, 0xc4, 0x5b, 0x7c, 0xef, 0x77, 0xef,
+	0xf9, 0xee, 0x77, 0x3e, 0xfb, 0x9c, 0x1b, 0xb8, 0x6e, 0x58, 0x96, 0x31, 0xc4, 0x8a, 0x6e, 0xdb,
+	0xd8, 0x34, 0x88, 0x89, 0x95, 0xc9, 0xed, 0xe8, 0xa1, 0x6b, 0x3b, 0x96, 0x67, 0xa1, 0xd5, 0x00,
+	0xd4, 0x8d, 0xc6, 0x27, 0xb7, 0xc5, 0x8d, 0x70, 0x25, 0x51, 0x74, 0xd3, 0xb4, 0x3c, 0xdd, 0x23,
+	0x96, 0xe9, 0x06, 0x4b, 0xc4, 0x0f, 0x32, 0xf6, 0x1d, 0x92, 0x3e, 0xc5, 0x31, 0x98, 0x94, 0x06,
+	0x23, 0xa6, 0xeb, 0xe9, 0x66, 0x9f, 0x45, 0x17, 0xdf, 0x4b, 0xc3, 0xb8, 0xd8, 0x99, 0x90, 0x7c,
+	0xc8, 0x04, 0x3b, 0x6e, 0x14, 0xe9, 0x1a, 0x83, 0x10, 0x7d, 0x44, 0x63, 0xe8, 0xa3, 0x23, 0xdb,
+	0x1a, 0x92, 0xfe, 0x73, 0x36, 0x2f, 0xc6, 0xe7, 0x63, 0x73, 0x5c, 0xa4, 0xa1, 0x65, 0x1a, 0xce,
+	0xd8, 0x34, 0x89, 0x69, 0x28, 0x96, 0x8d, 0x9d, 0xd8, 0x89, 0xaf, 0x32, 0x10, 0x7d, 0x3a, 0x1e,
+	0x0f, 0x14, 0x3c, 0xb2, 0x3d, 0xbe, 0x43, 0x2b, 0x39, 0x39, 0x20, 0x78, 0x78, 0x72, 0x34, 0xd2,
+	0xdd, 0xd3, 0x00, 0x21, 0xdd, 0x84, 0xf5, 0x3d, 0xec, 0xed, 0x44, 0x0a, 0x69, 0xf8, 0x9b, 0x31,
+	0x76, 0x3d, 0x84, 0xa0, 0x62, 0xea, 0x23, 0xdc, 0x14, 0x5a, 0x42, 0xa7, 0xa6, 0xd1, 0xdf, 0x52,
+	0x17, 0x9a, 0x1a, 0xb6, 0x75, 0xe2, 0x94, 0xc4, 0x13, 0x58, 0xdd, 0x27, 0xae, 0x77, 0x18, 0x88,
+	0xe6, 0x72, 0xe8, 0xdb, 0x70, 0xc1, 0xd6, 0x1d, 0x6c, 0x7a, 0x0c, 0xcc, 0x9e, 0xd0, 0x55, 0xa8,
+	0xd9, 0xba, 0x81, 0x8f, 0x5c, 0xf2, 0x02, 0x37, 0x17, 0x5a, 0x42, 0x67, 0x49, 0xab, 0xfa, 0x03,
+	0x87, 0xe4, 0x05, 0x46, 0x9b, 0x00, 0x74, 0xd2, 0xb3, 0x4e, 0xb1, 0xd9, 0x5c, 0xa4, 0x0b, 0x29,
+	0xfc, 0xb1, 0x3f, 0x20, 0x9d, 0xc1, 0x5a, 0x3c, 0x94, 0x6b, 0x5b, 0xa6, 0x8b, 0xd1, 0x3d, 0xa8,
+	0xb2, 0x9c, 0xb9, 0x4d, 0xa1, 0xb5, 0xd8, 0xa9, 0xab, 0x1b, 0xdd, 0x14, 0x5b, 0x75, 0xd9, 0x42,
+	0x2d, 0x44, 0xa3, 0x1b, 0x70, 0xd9, 0xc4, 0x67, 0xde, 0xd1, 0x4c, 0xd4, 0x05, 0x1a, 0x75, 0xd9,
+	0x1f, 0x3e, 0x08, 0x23, 0xb7, 0x61, 0x65, 0x0f, 0xf3, 0xc0, 0x79, 0x6a, 0xfc, 0x29, 0xc0, 0xda,
+	0x13, 0xfb, 0x44, 0xf7, 0x70, 0x31, 0x18, 0xdd, 0x85, 0x8b, 0x8c, 0x09, 0x8d, 0x5a, 0x44, 0x9b,
+	0x83, 0xd1, 0x36, 0xd4, 0xc7, 0x34, 0x06, 0x4d, 0x32, 0xd5, 0xa9, 0xae, 0x8a, 0x7c, 0x2d, 0xf7,
+	0x41, 0xf7, 0xa1, 0xef, 0x83, 0xcf, 0x75, 0xf7, 0x54, 0x83, 0x00, 0xee, 0xff, 0x46, 0x6d, 0xb8,
+	0x3c, 0x22, 0x86, 0xe3, 0xaf, 0xf6, 0x1c, 0x7d, 0x30, 0x20, 0xfd, 0x66, 0xa5, 0x25, 0x74, 0xaa,
+	0x5a, 0x83, 0x0d, 0x3f, 0x0e, 0x46, 0x25, 0x19, 0xd6, 0x1e, 0xe0, 0x21, 0x2e, 0x73, 0x12, 0xe9,
+	0x8d, 0x10, 0xb8, 0xe0, 0x69, 0xf0, 0x5e, 0x14, 0xba, 0xe0, 0x43, 0xa8, 0x4c, 0x08, 0x7e, 0x46,
+	0x8f, 0xdd, 0x50, 0x5b, 0xa9, 0xc7, 0x66, 0x7b, 0x3d, 0x25, 0xf8, 0x99, 0x46, 0xd1, 0x71, 0xef,
+	0x2c, 0xe6, 0x7a, 0xa7, 0x92, 0xe1, 0x9d, 0x88, 0x60, 0xe4, 0x1d, 0xf6, 0x32, 0xe7, 0x7b, 0x87,
+	0x2d, 0xd4, 0x42, 0x74, 0x69, 0xef, 0x7c, 0x45, 0xbd, 0xc3, 0xd7, 0xe7, 0xd8, 0xe1, 0x5c, 0xa2,
+	0x48, 0x03, 0x58, 0xbb, 0xef, 0x60, 0xdd, 0xc3, 0x89, 0x08, 0x59, 0xd2, 0xdf, 0x85, 0x8b, 0xec,
+	0x08, 0xb9, 0xa6, 0xe3, 0xbb, 0x71, 0xb0, 0x9f, 0x62, 0xe6, 0xec, 0x12, 0x47, 0x39, 0x67, 0x90,
+	0xff, 0xe4, 0xec, 0xc8, 0xb0, 0xc5, 0x04, 0xa5, 0xaf, 0x03, 0x3b, 0x3c, 0x62, 0xe5, 0xe0, 0x7f,
+	0xfd, 0x6c, 0x7d, 0x07, 0xeb, 0x89, 0x58, 0xcc, 0x7b, 0xdb, 0x50, 0xe3, 0xf5, 0x88, 0x9b, 0x6f,
+	0x33, 0x55, 0x27, 0xbe, 0x54, 0x8b, 0xf0, 0xa5, 0xed, 0xd7, 0x01, 0xb4, 0x87, 0xc3, 0xe0, 0x79,
+	0x9a, 0xdc, 0x84, 0xf5, 0x40, 0xbf, 0x32, 0x60, 0x2a, 0xf6, 0xf1, 0xd8, 0x28, 0x81, 0x95, 0x25,
+	0xa8, 0xcf, 0xf8, 0x16, 0xd5, 0x60, 0x69, 0x77, 0xe7, 0xf0, 0xd1, 0xfd, 0x2b, 0x6f, 0xa1, 0x2a,
+	0x54, 0x1e, 0x3e, 0xd9, 0xdf, 0xbf, 0x22, 0xa8, 0x2f, 0x97, 0xa0, 0x16, 0x2a, 0x84, 0xfe, 0x10,
+	0x60, 0x39, 0xa6, 0x19, 0xda, 0x4a, 0x15, 0x26, 0x2d, 0x87, 0xa2, 0x5c, 0x06, 0x1a, 0xa4, 0x40,
+	0xda, 0xfe, 0xe1, 0xaf, 0x7f, 0x5e, 0x2f, 0x7c, 0x84, 0xee, 0xf8, 0x85, 0xf9, 0xdb, 0x20, 0xd9,
+	0x9f, 0xea, 0xb6, 0xed, 0x2a, 0x32, 0xef, 0x03, 0xfc, 0x9f, 0xfc, 0xa5, 0x57, 0xe4, 0xa9, 0x12,
+	0xa5, 0xe0, 0x95, 0x00, 0xf5, 0x19, 0x6d, 0x51, 0x3b, 0x35, 0xf0, 0xbc, 0xfa, 0x62, 0x7e, 0x96,
+	0x13, 0xa4, 0x7c, 0x09, 0x73, 0x29, 0x45, 0x8c, 0x14, 0x79, 0x8a, 0x7e, 0x13, 0xa0, 0x11, 0x4f,
+	0x23, 0x4a, 0x17, 0x24, 0x35, 0xd7, 0x11, 0xb5, 0x99, 0x86, 0xa4, 0xfb, 0x05, 0x6f, 0x48, 0x38,
+	0x35, 0xf9, 0x5c, 0xd4, 0xde, 0x08, 0xb0, 0x1c, 0x33, 0x4d, 0x46, 0x56, 0xd3, 0x8c, 0x55, 0x44,
+	0xec, 0x01, 0x25, 0xf6, 0x99, 0xf4, 0xf1, 0x39, 0x88, 0xf5, 0x4e, 0xfc, 0x80, 0x3d, 0x41, 0x56,
+	0xff, 0x5e, 0x82, 0x2a, 0x2f, 0x11, 0xe8, 0x57, 0x01, 0x2e, 0xcd, 0xd6, 0x0c, 0xd4, 0xc9, 0x34,
+	0x56, 0xa2, 0xee, 0x89, 0x5b, 0x25, 0x90, 0xcc, 0x81, 0x0a, 0x25, 0xbe, 0x85, 0xda, 0xb9, 0x0e,
+	0x9c, 0x86, 0xdc, 0xd1, 0x4b, 0x01, 0x20, 0x2a, 0x28, 0xe8, 0x46, 0x96, 0xe9, 0xe2, 0x5f, 0x41,
+	0x31, 0xf7, 0x0b, 0x9c, 0x60, 0x51, 0x28, 0xdf, 0x14, 0xbd, 0x16, 0x60, 0x39, 0x56, 0x77, 0x32,
+	0x72, 0x99, 0x56, 0x9b, 0x8a, 0x72, 0x79, 0x8f, 0x92, 0x51, 0xa5, 0xb2, 0x92, 0xf4, 0xc2, 0xfa,
+	0xe1, 0xb3, 0x8a, 0x15, 0xa9, 0x0c, 0x56, 0x69, 0x85, 0xac, 0x24, 0x2b, 0xb5, 0xac, 0x44, 0x11,
+	0xab, 0x5f, 0xa8, 0xef, 0x67, 0x2a, 0x53, 0xa6, 0xef, 0xe7, 0xab, 0x57, 0x11, 0x2b, 0x96, 0x38,
+	0xb9, 0x2c, 0x2b, 0xf5, 0xf7, 0x0a, 0x54, 0x79, 0x07, 0x8d, 0x7e, 0x66, 0x16, 0x0f, 0x07, 0xb2,
+	0x2d, 0x9e, 0x68, 0xf0, 0x73, 0x2c, 0x9e, 0xec, 0xcf, 0xa5, 0xf7, 0x29, 0xc7, 0x6b, 0x68, 0x63,
+	0x3e, 0x9f, 0xd3, 0x90, 0x26, 0x3a, 0xa3, 0xb6, 0x66, 0x8b, 0xb3, 0x6d, 0x1d, 0xef, 0x46, 0xc5,
+	0xdc, 0x96, 0x39, 0x11, 0x39, 0x5d, 0x9d, 0x29, 0xfa, 0x29, 0x74, 0x0d, 0x8f, 0x9e, 0xe7, 0x9a,
+	0x04, 0x81, 0x82, 0xfc, 0xdc, 0xa2, 0x0c, 0xda, 0x6a, 0x2e, 0x83, 0x5e, 0xd8, 0xda, 0x7f, 0xcf,
+	0x9d, 0x92, 0xcf, 0x24, 0xad, 0x31, 0x2f, 0x62, 0xc2, 0xb4, 0x90, 0x73, 0x99, 0xa8, 0xaf, 0x16,
+	0xe0, 0xd2, 0xcc, 0xcd, 0xcf, 0x45, 0xcf, 0xa1, 0x11, 0xbf, 0x3c, 0x66, 0x94, 0x93, 0xd4, 0x1b,
+	0xa6, 0x98, 0xde, 0xc5, 0xce, 0x00, 0xa5, 0x77, 0x29, 0xad, 0x55, 0xb4, 0x92, 0xa4, 0x35, 0x45,
+	0x3f, 0x0a, 0xb0, 0x32, 0x77, 0x17, 0x45, 0xb7, 0x52, 0xb7, 0xcc, 0xba, 0xb3, 0x16, 0xa9, 0x72,
+	0x9d, 0x86, 0xdf, 0x94, 0x9a, 0x73, 0xe1, 0x7b, 0x0e, 0xdd, 0xb2, 0x27, 0xc8, 0xbb, 0x04, 0xde,
+	0xe9, 0x5b, 0xa3, 0xb4, 0xb8, 0xbb, 0x8d, 0x1d, 0xfe, 0x74, 0xe0, 0x77, 0xa7, 0x07, 0xc2, 0x97,
+	0x9f, 0x30, 0x98, 0x61, 0x0d, 0x75, 0xd3, 0xe8, 0x5a, 0x8e, 0xa1, 0x18, 0xd8, 0xa4, 0xbd, 0xab,
+	0x12, 0x4c, 0xe9, 0x36, 0x71, 0x63, 0xff, 0x27, 0x6c, 0x87, 0x0f, 0xc7, 0x17, 0x28, 0xf0, 0xce,
+	0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x89, 0x36, 0x22, 0x8f, 0x3d, 0x11, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/appengine.proto b/googleapis/appengine/v1/appengine.proto
deleted file mode 100644
index 51b4b57fa281d0a661b6a89fc366734abcfea8c1..0000000000000000000000000000000000000000
--- a/googleapis/appengine/v1/appengine.proto
+++ /dev/null
@@ -1,340 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.appengine.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/appengine/v1/application.proto"; // from google/appengine/v1/application.proto
-import "google.golang.org/genproto/googleapis/appengine/v1/instance.proto"; // from google/appengine/v1/instance.proto
-import "google.golang.org/genproto/googleapis/appengine/v1/service.proto"; // from google/appengine/v1/service.proto
-import "google.golang.org/genproto/googleapis/appengine/v1/version.proto"; // from google/appengine/v1/version.proto
-import "google.golang.org/genproto/googleapis/iam/v1/iam_policy.proto"; // from google/iam/v1/iam_policy.proto
-import "google.golang.org/genproto/googleapis/iam/v1/policy.proto"; // from google/iam/v1/policy.proto
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "AppengineProto";
-option java_package = "com.google.appengine.v1";
-
-
-// Manages instances of a version.
-service Instances {
-  // Lists the instances of a version.
-  rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) {
-    option (google.api.http) = { get: "/v1/{parent=apps/*/services/*/versions/*}/instances" };
-  }
-
-  // Gets instance information.
-  rpc GetInstance(GetInstanceRequest) returns (Instance) {
-    option (google.api.http) = { get: "/v1/{name=apps/*/services/*/versions/*/instances/*}" };
-  }
-
-  // Stops a running instance.
-  rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { delete: "/v1/{name=apps/*/services/*/versions/*/instances/*}" };
-  }
-
-  // Enables debugging on a VM instance. This allows you to use the SSH
-  // command to connect to the virtual machine where the instance lives.
-  // While in "debug mode", the instance continues to serve live traffic.
-  // You should delete the instance when you are done debugging and then
-  // allow the system to take over and determine if another instance
-  // should be started.
-  //
-  // Only applicable for instances in App Engine flexible environment.
-  rpc DebugInstance(DebugInstanceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/{name=apps/*/services/*/versions/*/instances/*}:debug" body: "*" };
-  }
-}
-
-// Manages versions of a service.
-service Versions {
-  // Lists the versions of a service.
-  rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse) {
-    option (google.api.http) = { get: "/v1/{parent=apps/*/services/*}/versions" };
-  }
-
-  // Gets the specified Version resource.
-  // By default, only a `BASIC_VIEW` will be returned.
-  // Specify the `FULL_VIEW` parameter to get the full resource.
-  rpc GetVersion(GetVersionRequest) returns (Version) {
-    option (google.api.http) = { get: "/v1/{name=apps/*/services/*/versions/*}" };
-  }
-
-  // Deploys code and resource files to a new version.
-  rpc CreateVersion(CreateVersionRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/{parent=apps/*/services/*}/versions" body: "version" };
-  }
-
-  // Updates the specified Version resource.
-  // You can specify the following fields depending on the App Engine
-  // environment and type of scaling that the version resource uses:
-  //
-  // * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status):
-  //   For Version resources that use basic scaling, manual scaling, or run in
-  //   the App Engine flexible environment.
-  // * [`instance_class`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class):
-  //   For Version resources that run in the App Engine standard environment.
-  // * [`automatic_scaling.min_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling):
-  //   For Version resources that use automatic scaling and run in the App
-  //   Engine standard environment.
-  // * [`automatic_scaling.max_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling):
-  //   For Version resources that use automatic scaling and run in the App
-  //   Engine standard environment.
-  rpc UpdateVersion(UpdateVersionRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { patch: "/v1/{name=apps/*/services/*/versions/*}" body: "version" };
-  }
-
-  // Deletes an existing Version resource.
-  rpc DeleteVersion(DeleteVersionRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { delete: "/v1/{name=apps/*/services/*/versions/*}" };
-  }
-}
-
-// Manages services of an application.
-service Services {
-  // Lists all the services in the application.
-  rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
-    option (google.api.http) = { get: "/v1/{parent=apps/*}/services" };
-  }
-
-  // Gets the current configuration of the specified service.
-  rpc GetService(GetServiceRequest) returns (Service) {
-    option (google.api.http) = { get: "/v1/{name=apps/*/services/*}" };
-  }
-
-  // Updates the configuration of the specified service.
-  rpc UpdateService(UpdateServiceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { patch: "/v1/{name=apps/*/services/*}" body: "service" };
-  }
-
-  // Deletes the specified service and all enclosed versions.
-  rpc DeleteService(DeleteServiceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { delete: "/v1/{name=apps/*/services/*}" };
-  }
-}
-
-// Manages App Engine applications.
-service Applications {
-  // Gets information about an application.
-  rpc GetApplication(GetApplicationRequest) returns (Application) {
-    option (google.api.http) = { get: "/v1/{name=apps/*}" };
-  }
-
-  // Recreates the required App Engine features for the application in your
-  // project, for example a Cloud Storage bucket or App Engine service account.
-  // Use this method if you receive an error message about a missing feature,
-  // for example "*Error retrieving the App Engine service account*".
-  rpc RepairApplication(RepairApplicationRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/{name=apps/*}:repair" body: "*" };
-  }
-}
-
-// Request message for `Applications.GetApplication`.
-message GetApplicationRequest {
-  // Name of the Application resource to get. Example: `apps/myapp`.
-  string name = 1;
-}
-
-// Request message for 'Applications.RepairApplication'.
-message RepairApplicationRequest {
-  // Name of the application to repair. Example: `apps/myapp`
-  string name = 1;
-}
-
-// Request message for `Services.ListServices`.
-message ListServicesRequest {
-  // Name of the parent Application resource. Example: `apps/myapp`.
-  string parent = 1;
-
-  // Maximum results to return per page.
-  int32 page_size = 2;
-
-  // Continuation token for fetching the next page of results.
-  string page_token = 3;
-}
-
-// Response message for `Services.ListServices`.
-message ListServicesResponse {
-  // The services belonging to the requested application.
-  repeated Service services = 1;
-
-  // Continuation token for fetching the next page of results.
-  string next_page_token = 2;
-}
-
-// Request message for `Services.GetService`.
-message GetServiceRequest {
-  // Name of the resource requested. Example: `apps/myapp/services/default`.
-  string name = 1;
-}
-
-// Request message for `Services.UpdateService`.
-message UpdateServiceRequest {
-  // Name of the resource to update. Example: `apps/myapp/services/default`.
-  string name = 1;
-
-  // A Service resource containing the updated service. Only fields set in the
-  // field mask will be updated.
-  Service service = 2;
-
-  // Standard field mask for the set of fields to be updated.
-  google.protobuf.FieldMask update_mask = 3;
-
-  // Set to `true` to gradually shift traffic from one version to another
-  // single version. By default, traffic is shifted immediately.
-  // For gradual traffic migration, the target version
-  // must be located within instances that are configured for both
-  // [warmup requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#inboundservicetype)
-  // and
-  // [automatic scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#automaticscaling).
-  // You must specify the
-  // [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#shardby)
-  // field in the Service resource. Gradual traffic migration is not
-  // supported in the App Engine flexible environment. For examples, see
-  // [Migrating and Splitting Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).
-  bool migrate_traffic = 4;
-}
-
-// Request message for `Services.DeleteService`.
-message DeleteServiceRequest {
-  // Name of the resource requested. Example: `apps/myapp/services/default`.
-  string name = 1;
-}
-
-// Request message for `Versions.ListVersions`.
-message ListVersionsRequest {
-  // Name of the parent Service resource. Example:
-  // `apps/myapp/services/default`.
-  string parent = 1;
-
-  // Controls the set of fields returned in the `List` response.
-  VersionView view = 2;
-
-  // Maximum results to return per page.
-  int32 page_size = 3;
-
-  // Continuation token for fetching the next page of results.
-  string page_token = 4;
-}
-
-// Response message for `Versions.ListVersions`.
-message ListVersionsResponse {
-  // The versions belonging to the requested service.
-  repeated Version versions = 1;
-
-  // Continuation token for fetching the next page of results.
-  string next_page_token = 2;
-}
-
-// Request message for `Versions.GetVersion`.
-message GetVersionRequest {
-  // Name of the resource requested. Example:
-  // `apps/myapp/services/default/versions/v1`.
-  string name = 1;
-
-  // Controls the set of fields returned in the `Get` response.
-  VersionView view = 2;
-}
-
-// Request message for `Versions.CreateVersion`.
-message CreateVersionRequest {
-  // Name of the parent resource to create this version under. Example:
-  // `apps/myapp/services/default`.
-  string parent = 1;
-
-  // Application deployment configuration.
-  Version version = 2;
-}
-
-// Request message for `Versions.UpdateVersion`.
-message UpdateVersionRequest {
-  // Name of the resource to update. Example:
-  // `apps/myapp/services/default/versions/1`.
-  string name = 1;
-
-  // A Version containing the updated resource. Only fields set in the field
-  // mask will be updated.
-  Version version = 2;
-
-  // Standard field mask for the set of fields to be updated.
-  google.protobuf.FieldMask update_mask = 3;
-}
-
-// Request message for `Versions.DeleteVersion`.
-message DeleteVersionRequest {
-  // Name of the resource requested. Example:
-  // `apps/myapp/services/default/versions/v1`.
-  string name = 1;
-}
-
-// Request message for `Instances.ListInstances`.
-message ListInstancesRequest {
-  // Name of the parent Version resource. Example:
-  // `apps/myapp/services/default/versions/v1`.
-  string parent = 1;
-
-  // Maximum results to return per page.
-  int32 page_size = 2;
-
-  // Continuation token for fetching the next page of results.
-  string page_token = 3;
-}
-
-// Response message for `Instances.ListInstances`.
-message ListInstancesResponse {
-  // The instances belonging to the requested version.
-  repeated Instance instances = 1;
-
-  // Continuation token for fetching the next page of results.
-  string next_page_token = 2;
-}
-
-// Request message for `Instances.GetInstance`.
-message GetInstanceRequest {
-  // Name of the resource requested. Example:
-  // `apps/myapp/services/default/versions/v1/instances/instance-1`.
-  string name = 1;
-}
-
-// Request message for `Instances.DeleteInstance`.
-message DeleteInstanceRequest {
-  // Name of the resource requested. Example:
-  // `apps/myapp/services/default/versions/v1/instances/instance-1`.
-  string name = 1;
-}
-
-// Request message for `Instances.DebugInstance`.
-message DebugInstanceRequest {
-  // Name of the resource requested. Example:
-  // `apps/myapp/services/default/versions/v1/instances/instance-1`.
-  string name = 1;
-}
-
-// Fields that should be returned when [Version][google.appengine.v1.Version] resources
-// are retreived.
-enum VersionView {
-  // Basic version information including scaling and inbound services,
-  // but not detailed deployment information.
-  BASIC = 0;
-
-  // The information from `BASIC`, plus detailed information about the
-  // deployment. This format is required when creating resources, but
-  // is not returned in `Get` or `List` by default.
-  FULL = 1;
-}
diff --git a/googleapis/appengine/v1/application.pb.go b/googleapis/appengine/v1/application.pb.go
index d6eb1af16c6f1902a7ade785ea2be8d83b5cc167..03c7822a1831c36e90a7fc0a5683f79ac3331bc1 100644
--- a/googleapis/appengine/v1/application.pb.go
+++ b/googleapis/appengine/v1/application.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/application.proto
+// source: google/appengine/v1/application.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -76,7 +76,21 @@ type Application struct {
 func (m *Application) Reset()                    { *m = Application{} }
 func (m *Application) String() string            { return proto.CompactTextString(m) }
 func (*Application) ProtoMessage()               {}
-func (*Application) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+func (*Application) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+
+func (m *Application) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Application) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
 
 func (m *Application) GetDispatchRules() []*UrlDispatchRule {
 	if m != nil {
@@ -85,6 +99,27 @@ func (m *Application) GetDispatchRules() []*UrlDispatchRule {
 	return nil
 }
 
+func (m *Application) GetAuthDomain() string {
+	if m != nil {
+		return m.AuthDomain
+	}
+	return ""
+}
+
+func (m *Application) GetLocationId() string {
+	if m != nil {
+		return m.LocationId
+	}
+	return ""
+}
+
+func (m *Application) GetCodeBucket() string {
+	if m != nil {
+		return m.CodeBucket
+	}
+	return ""
+}
+
 func (m *Application) GetDefaultCookieExpiration() *google_protobuf1.Duration {
 	if m != nil {
 		return m.DefaultCookieExpiration
@@ -92,6 +127,20 @@ func (m *Application) GetDefaultCookieExpiration() *google_protobuf1.Duration {
 	return nil
 }
 
+func (m *Application) GetDefaultHostname() string {
+	if m != nil {
+		return m.DefaultHostname
+	}
+	return ""
+}
+
+func (m *Application) GetDefaultBucket() string {
+	if m != nil {
+		return m.DefaultBucket
+	}
+	return ""
+}
+
 // Rules to match an HTTP request and dispatch that request to a service.
 type UrlDispatchRule struct {
 	// Domain name to match against. The wildcard "`*`" is supported if
@@ -113,44 +162,62 @@ type UrlDispatchRule struct {
 func (m *UrlDispatchRule) Reset()                    { *m = UrlDispatchRule{} }
 func (m *UrlDispatchRule) String() string            { return proto.CompactTextString(m) }
 func (*UrlDispatchRule) ProtoMessage()               {}
-func (*UrlDispatchRule) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+func (*UrlDispatchRule) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+
+func (m *UrlDispatchRule) GetDomain() string {
+	if m != nil {
+		return m.Domain
+	}
+	return ""
+}
+
+func (m *UrlDispatchRule) GetPath() string {
+	if m != nil {
+		return m.Path
+	}
+	return ""
+}
+
+func (m *UrlDispatchRule) GetService() string {
+	if m != nil {
+		return m.Service
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*Application)(nil), "google.appengine.v1.Application")
 	proto.RegisterType((*UrlDispatchRule)(nil), "google.appengine.v1.UrlDispatchRule")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/application.proto", fileDescriptor1)
-}
-
-var fileDescriptor1 = []byte{
-	// 424 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x52, 0xc1, 0x6e, 0x13, 0x31,
-	0x10, 0x55, 0x12, 0x94, 0x52, 0x2f, 0x4d, 0x2b, 0x23, 0x51, 0xb7, 0x17, 0xa2, 0x0a, 0xa4, 0x70,
-	0x60, 0xad, 0x96, 0x13, 0x47, 0x42, 0x90, 0xa8, 0xb8, 0x54, 0x91, 0x2a, 0x8e, 0x2b, 0xc7, 0x76,
-	0xbc, 0x56, 0x37, 0x1e, 0x6b, 0xd7, 0x8e, 0xe0, 0x17, 0xf8, 0x6a, 0xb4, 0x63, 0x6f, 0xa8, 0x50,
-	0x0f, 0xbd, 0xcd, 0x3c, 0xbf, 0x79, 0x1e, 0xbf, 0x67, 0xb2, 0x32, 0x00, 0xa6, 0xd1, 0xa5, 0x81,
-	0x46, 0x38, 0x53, 0x42, 0x6b, 0xb8, 0xd1, 0xce, 0xb7, 0x10, 0x80, 0xa7, 0x23, 0xe1, 0x6d, 0xc7,
-	0x85, 0xf7, 0xda, 0x19, 0xeb, 0x34, 0xdf, 0x5f, 0xf7, 0x4d, 0x63, 0xa5, 0x08, 0x16, 0x5c, 0x89,
-	0x4c, 0xfa, 0x3a, 0xab, 0x1c, 0x68, 0xe5, 0xfe, 0xfa, 0xf2, 0xf6, 0xb9, 0xd2, 0x96, 0x77, 0xba,
-	0xdd, 0x5b, 0xa9, 0x25, 0xb8, 0xad, 0x35, 0x5c, 0x38, 0x07, 0x01, 0xe5, 0xbb, 0xa4, 0x7f, 0xf9,
-	0xd9, 0xd8, 0x50, 0xc7, 0x4d, 0x29, 0x61, 0xc7, 0x93, 0x1c, 0xc7, 0x83, 0x4d, 0xdc, 0x72, 0x1f,
-	0x7e, 0x7b, 0xdd, 0x71, 0x15, 0x5b, 0x1c, 0x39, 0x14, 0x69, 0xf4, 0xea, 0xcf, 0x84, 0x14, 0x5f,
-	0xfe, 0x2d, 0x4c, 0x29, 0x79, 0xe1, 0xc4, 0x4e, 0xb3, 0xd1, 0x7c, 0xb4, 0x38, 0x5e, 0x63, 0x4d,
-	0x67, 0x64, 0x6c, 0x15, 0x1b, 0x23, 0x32, 0xb6, 0x8a, 0xfe, 0x20, 0x33, 0x65, 0x3b, 0x2f, 0x82,
-	0xac, 0xab, 0x36, 0x36, 0xba, 0x63, 0x93, 0xf9, 0x64, 0x51, 0xdc, 0xbc, 0x2b, 0x9f, 0x78, 0x67,
-	0x79, 0xdf, 0x36, 0xab, 0xcc, 0x5e, 0xc7, 0x46, 0xaf, 0x4f, 0xd4, 0xa3, 0xae, 0xa3, 0x6f, 0x49,
-	0x21, 0x62, 0xa8, 0x2b, 0x05, 0x3b, 0x61, 0x1d, 0x9b, 0xe2, 0x2d, 0xa4, 0x87, 0x56, 0x88, 0xf4,
-	0x84, 0x06, 0xd2, 0x76, 0x95, 0x55, 0xec, 0x28, 0x11, 0x06, 0xe8, 0x56, 0xf5, 0x04, 0x09, 0x4a,
-	0x57, 0x9b, 0x28, 0x1f, 0x74, 0x60, 0x2f, 0x13, 0xa1, 0x87, 0x96, 0x88, 0xd0, 0x7b, 0x72, 0xa1,
-	0xf4, 0x56, 0xc4, 0x26, 0x54, 0x12, 0xe0, 0xc1, 0xea, 0x4a, 0xff, 0xf2, 0x36, 0xd9, 0xc0, 0x8e,
-	0xe7, 0xa3, 0x45, 0x71, 0x73, 0x31, 0xac, 0x3e, 0xf8, 0x56, 0xae, 0xb2, 0x4f, 0xeb, 0xf3, 0x3c,
-	0xfb, 0x15, 0x47, 0xbf, 0x1d, 0x26, 0xe9, 0x07, 0x72, 0x36, 0xc8, 0xd6, 0xd0, 0x05, 0xb4, 0xad,
-	0xc0, 0xcb, 0x4f, 0x33, 0xfe, 0x3d, 0xc3, 0xf4, 0x3d, 0x99, 0x0d, 0xd4, 0xbc, 0xe5, 0x2b, 0x24,
-	0x9e, 0x64, 0x34, 0x2d, 0x7a, 0xf5, 0x93, 0x9c, 0xfe, 0xe7, 0x16, 0x7d, 0x43, 0xa6, 0xd9, 0x99,
-	0x94, 0x48, 0xee, 0xfa, 0x9c, 0xbc, 0x08, 0x75, 0x4e, 0x05, 0x6b, 0xca, 0xc8, 0x51, 0xfe, 0x29,
-	0x6c, 0x82, 0xf0, 0xd0, 0x2e, 0x3f, 0x92, 0x73, 0x09, 0xbb, 0xa7, 0xe2, 0x59, 0x9e, 0x3d, 0x4a,
-	0xff, 0xae, 0x7f, 0xfc, 0xdd, 0x68, 0x33, 0x45, 0x17, 0x3e, 0xfd, 0x0d, 0x00, 0x00, 0xff, 0xff,
-	0x68, 0x07, 0x8c, 0xce, 0xfe, 0x02, 0x00, 0x00,
+func init() { proto.RegisterFile("google/appengine/v1/application.proto", fileDescriptor2) }
+
+var fileDescriptor2 = []byte{
+	// 409 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0x5f, 0x6b, 0xdb, 0x30,
+	0x14, 0xc5, 0x71, 0x3c, 0x92, 0x45, 0x5e, 0xfe, 0xa0, 0xc1, 0xa2, 0x84, 0xb1, 0x85, 0xb0, 0x40,
+	0xf6, 0x62, 0x93, 0xec, 0x71, 0x7b, 0x59, 0x9a, 0x42, 0x4b, 0x5f, 0x82, 0x21, 0x14, 0xfa, 0x62,
+	0x14, 0x4b, 0xb1, 0x45, 0x14, 0xc9, 0xd8, 0x72, 0xe8, 0x67, 0xe8, 0xa7, 0x2e, 0x96, 0x64, 0x37,
+	0x2d, 0x79, 0xd3, 0x3d, 0xfa, 0x1d, 0xdd, 0xeb, 0x73, 0x0d, 0xe6, 0x89, 0x94, 0x09, 0xa7, 0x01,
+	0xce, 0x32, 0x2a, 0x12, 0x26, 0x68, 0x70, 0x5e, 0x56, 0x05, 0x67, 0x31, 0x56, 0x4c, 0x0a, 0x3f,
+	0xcb, 0xa5, 0x92, 0xf0, 0xab, 0xc1, 0xfc, 0x06, 0xf3, 0xcf, 0xcb, 0xc9, 0xf7, 0xc6, 0xcb, 0x02,
+	0x2c, 0x84, 0x54, 0xda, 0x51, 0x18, 0xcb, 0xe4, 0x87, 0xbd, 0xd5, 0xd5, 0xbe, 0x3c, 0x04, 0xa4,
+	0xcc, 0x2f, 0x9e, 0x9c, 0xbd, 0xb8, 0xc0, 0xfb, 0xff, 0xd6, 0x08, 0x42, 0xf0, 0x49, 0xe0, 0x13,
+	0x45, 0xce, 0xd4, 0x59, 0x74, 0x43, 0x7d, 0x86, 0x7d, 0xd0, 0x62, 0x04, 0xb5, 0xb4, 0xd2, 0x62,
+	0x04, 0x3e, 0x80, 0x3e, 0x61, 0x45, 0x86, 0x55, 0x9c, 0x46, 0x79, 0xc9, 0x69, 0x81, 0xdc, 0xa9,
+	0xbb, 0xf0, 0x56, 0xbf, 0xfc, 0x2b, 0xf3, 0xf9, 0xbb, 0x9c, 0x6f, 0x2c, 0x1d, 0x96, 0x9c, 0x86,
+	0x3d, 0x72, 0x51, 0x15, 0xf0, 0x27, 0xf0, 0x70, 0xa9, 0xd2, 0x88, 0xc8, 0x13, 0x66, 0x02, 0xb5,
+	0x75, 0x17, 0x50, 0x49, 0x1b, 0xad, 0x54, 0x00, 0x97, 0x66, 0xba, 0x88, 0x11, 0xd4, 0x31, 0x40,
+	0x2d, 0xdd, 0x93, 0x0a, 0x88, 0x25, 0xa1, 0xd1, 0xbe, 0x8c, 0x8f, 0x54, 0xa1, 0xcf, 0x06, 0xa8,
+	0xa4, 0xb5, 0x56, 0xe0, 0x0e, 0x8c, 0x09, 0x3d, 0xe0, 0x92, 0xab, 0x28, 0x96, 0xf2, 0xc8, 0x68,
+	0x44, 0x9f, 0x33, 0x66, 0x62, 0x40, 0xdd, 0xa9, 0xb3, 0xf0, 0x56, 0xe3, 0x7a, 0xf4, 0x3a, 0x27,
+	0x7f, 0x63, 0x73, 0x0a, 0x47, 0xd6, 0x7b, 0xa3, 0xad, 0xb7, 0x8d, 0x13, 0xfe, 0x06, 0xc3, 0xfa,
+	0xd9, 0x54, 0x16, 0x4a, 0xc7, 0xe6, 0xe9, 0xe6, 0x03, 0xab, 0xdf, 0x59, 0x19, 0xce, 0x41, 0xbf,
+	0x46, 0xed, 0x94, 0x5f, 0x34, 0xd8, 0xb3, 0xaa, 0x19, 0x74, 0xf6, 0x08, 0x06, 0x1f, 0xd2, 0x82,
+	0xdf, 0x40, 0xdb, 0x26, 0x63, 0x36, 0x62, 0xab, 0x6a, 0x4f, 0x19, 0x56, 0xa9, 0xdd, 0x8a, 0x3e,
+	0x43, 0x04, 0x3a, 0x05, 0xcd, 0xcf, 0x2c, 0xa6, 0xc8, 0xd5, 0x72, 0x5d, 0xae, 0x8f, 0x60, 0x14,
+	0xcb, 0xd3, 0xb5, 0xf5, 0xac, 0x87, 0x17, 0xdb, 0xdf, 0x56, 0x1f, 0xbf, 0x75, 0x9e, 0xfe, 0x59,
+	0x30, 0x91, 0x1c, 0x8b, 0xc4, 0x97, 0x79, 0x12, 0x24, 0x54, 0xe8, 0x68, 0x02, 0x73, 0x85, 0x33,
+	0x56, 0xbc, 0xfb, 0x5b, 0xff, 0x36, 0xc5, 0xbe, 0xad, 0xc1, 0x3f, 0xaf, 0x01, 0x00, 0x00, 0xff,
+	0xff, 0x7a, 0x51, 0x2e, 0x3c, 0xd5, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/application.proto b/googleapis/appengine/v1/application.proto
deleted file mode 100644
index 8d49c8a1e684f93c334385603745a3023996f95e..0000000000000000000000000000000000000000
--- a/googleapis/appengine/v1/application.proto
+++ /dev/null
@@ -1,111 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.appengine.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ApplicationProto";
-option java_package = "com.google.appengine.v1";
-
-
-// An Application resource contains the top-level configuration of an App
-// Engine application.
-message Application {
-  // Full path to the Application resource in the API.
-  // Example: `apps/myapp`.
-  //
-  // @OutputOnly
-  string name = 1;
-
-  // Identifier of the Application resource. This identifier is equivalent
-  // to the project ID of the Google Cloud Platform project where you want to
-  // deploy your application.
-  // Example: `myapp`.
-  string id = 2;
-
-  // HTTP path dispatch rules for requests to the application that do not
-  // explicitly target a service or version. Rules are order-dependent.
-  //
-  // @OutputOnly
-  repeated UrlDispatchRule dispatch_rules = 3;
-
-  // Google Apps authentication domain that controls which users can access
-  // this application.
-  //
-  // Defaults to open access for any Google Account.
-  string auth_domain = 6;
-
-  // Location from which this application will be run. Application instances
-  // will run out of data centers in the chosen location, which is also where
-  // all of the application's end user content is stored.
-  //
-  // Defaults to `us-central`.
-  //
-  // Options are:
-  //
-  // `us-central` - Central US
-  //
-  // `europe-west` - Western Europe
-  //
-  // `us-east1` - Eastern US
-  string location_id = 7;
-
-  // Google Cloud Storage bucket that can be used for storing files
-  // associated with this application. This bucket is associated with the
-  // application and can be used by the gcloud deployment commands.
-  //
-  // @OutputOnly
-  string code_bucket = 8;
-
-  // Cookie expiration policy for this application.
-  //
-  // @OutputOnly
-  google.protobuf.Duration default_cookie_expiration = 9;
-
-  // Hostname used to reach this application, as resolved by App Engine.
-  //
-  // @OutputOnly
-  string default_hostname = 11;
-
-  // Google Cloud Storage bucket that can be used by this application to store
-  // content.
-  //
-  // @OutputOnly
-  string default_bucket = 12;
-}
-
-// Rules to match an HTTP request and dispatch that request to a service.
-message UrlDispatchRule {
-  // Domain name to match against. The wildcard "`*`" is supported if
-  // specified before a period: "`*.`".
-  //
-  // Defaults to matching all domains: "`*`".
-  string domain = 1;
-
-  // Pathname within the host. Must start with a "`/`". A
-  // single "`*`" can be included at the end of the path. The sum
-  // of the lengths of the domain and path may not exceed 100
-  // characters.
-  string path = 2;
-
-  // Resource ID of a service in this application that should
-  // serve the matched request. The service must already
-  // exist. Example: `default`.
-  string service = 3;
-}
diff --git a/googleapis/appengine/v1/deploy.pb.go b/googleapis/appengine/v1/deploy.pb.go
index 508c3df78ed13dea5b8bf41fa3c3f898ed3d4ab7..ffc43973766ebdd90bbb3b745ffafdd851bda0cb 100644
--- a/googleapis/appengine/v1/deploy.pb.go
+++ b/googleapis/appengine/v1/deploy.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/deploy.proto
+// source: google/appengine/v1/deploy.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -73,6 +73,27 @@ func (m *FileInfo) String() string            { return proto.CompactTextString(m
 func (*FileInfo) ProtoMessage()               {}
 func (*FileInfo) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
 
+func (m *FileInfo) GetSourceUrl() string {
+	if m != nil {
+		return m.SourceUrl
+	}
+	return ""
+}
+
+func (m *FileInfo) GetSha1Sum() string {
+	if m != nil {
+		return m.Sha1Sum
+	}
+	return ""
+}
+
+func (m *FileInfo) GetMimeType() string {
+	if m != nil {
+		return m.MimeType
+	}
+	return ""
+}
+
 // Docker image that is used to start a VM container for the version you
 // deploy.
 type ContainerInfo struct {
@@ -87,6 +108,13 @@ func (m *ContainerInfo) String() string            { return proto.CompactTextStr
 func (*ContainerInfo) ProtoMessage()               {}
 func (*ContainerInfo) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{2} }
 
+func (m *ContainerInfo) GetImage() string {
+	if m != nil {
+		return m.Image
+	}
+	return ""
+}
+
 type ZipInfo struct {
 	// URL of the zip file to deploy from. Must be a URL to a resource in
 	// Google Cloud Storage in the form
@@ -103,6 +131,20 @@ func (m *ZipInfo) String() string            { return proto.CompactTextString(m)
 func (*ZipInfo) ProtoMessage()               {}
 func (*ZipInfo) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{3} }
 
+func (m *ZipInfo) GetSourceUrl() string {
+	if m != nil {
+		return m.SourceUrl
+	}
+	return ""
+}
+
+func (m *ZipInfo) GetFilesCount() int32 {
+	if m != nil {
+		return m.FilesCount
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*Deployment)(nil), "google.appengine.v1.Deployment")
 	proto.RegisterType((*FileInfo)(nil), "google.appengine.v1.FileInfo")
@@ -110,35 +152,33 @@ func init() {
 	proto.RegisterType((*ZipInfo)(nil), "google.appengine.v1.ZipInfo")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/deploy.proto", fileDescriptor3)
-}
+func init() { proto.RegisterFile("google/appengine/v1/deploy.proto", fileDescriptor3) }
 
 var fileDescriptor3 = []byte{
-	// 396 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x92, 0x4f, 0x8b, 0xd5, 0x30,
-	0x14, 0xc5, 0xe9, 0xab, 0x75, 0x5e, 0x6f, 0x11, 0x24, 0x0a, 0xd6, 0xd1, 0xc1, 0x52, 0x10, 0x8a,
-	0x8b, 0x94, 0x37, 0xb3, 0x11, 0x37, 0x0e, 0x33, 0x2a, 0xbc, 0xdd, 0x50, 0x15, 0xc1, 0x4d, 0x89,
-	0xf5, 0xbe, 0x18, 0x6c, 0x93, 0x90, 0xa6, 0x85, 0xfa, 0x4d, 0xfc, 0xb6, 0x92, 0xb4, 0xe3, 0xc3,
-	0xa1, 0x0b, 0x77, 0xcd, 0xe9, 0x39, 0xbf, 0x7b, 0xf2, 0x07, 0xde, 0x72, 0xa5, 0x78, 0x8b, 0x94,
-	0xab, 0x96, 0x49, 0x4e, 0x95, 0xe1, 0x25, 0x47, 0xa9, 0x8d, 0xb2, 0xaa, 0x9c, 0x7f, 0x31, 0x2d,
-	0xfa, 0x92, 0x69, 0x8d, 0x92, 0x0b, 0x89, 0xe5, 0xb8, 0x2b, 0xbf, 0xa3, 0x6e, 0xd5, 0x44, 0xbd,
-	0x89, 0x3c, 0x5a, 0x00, 0x7f, 0x1d, 0x74, 0xdc, 0x9d, 0xee, 0xff, 0x97, 0x2a, 0xca, 0x1e, 0xcd,
-	0x28, 0x1a, 0x6c, 0x94, 0x3c, 0x08, 0x5e, 0x32, 0x29, 0x95, 0x65, 0x56, 0x28, 0xd9, 0xcf, 0xfc,
-	0xfc, 0xf7, 0x06, 0xe0, 0x9d, 0x1f, 0xd8, 0xa1, 0xb4, 0xe4, 0x12, 0xa2, 0x83, 0x68, 0xb1, 0x4f,
-	0x83, 0x2c, 0x2c, 0x92, 0xf3, 0x57, 0x74, 0x65, 0x3c, 0x3d, 0xfa, 0xe9, 0x07, 0x67, 0x7e, 0x2f,
-	0xad, 0x99, 0xaa, 0x39, 0x48, 0x2e, 0x21, 0x6e, 0x94, 0xb4, 0x4c, 0x48, 0x34, 0xe9, 0x26, 0x0b,
-	0x8a, 0xe4, 0x3c, 0x5f, 0xa5, 0x5c, 0xdf, 0xba, 0xf6, 0xf2, 0xa0, 0xaa, 0x63, 0x88, 0x50, 0x08,
-	0x7f, 0x09, 0x9d, 0x86, 0x3e, 0xfb, 0x7c, 0x35, 0xfb, 0x55, 0x68, 0x9f, 0x72, 0xc6, 0xd3, 0x2f,
-	0x00, 0xc7, 0x1a, 0xe4, 0x21, 0x84, 0x3f, 0x71, 0x4a, 0x83, 0x2c, 0x28, 0xe2, 0xca, 0x7d, 0x92,
-	0x0b, 0x88, 0x46, 0xd6, 0x0e, 0xb8, 0xb4, 0x39, 0x5b, 0x25, 0x3a, 0x82, 0x47, 0xce, 0xde, 0x37,
-	0x9b, 0xd7, 0x41, 0xce, 0x60, 0x7b, 0x2b, 0x93, 0x33, 0x80, 0x5e, 0x0d, 0xa6, 0xc1, 0x7a, 0x30,
-	0xed, 0x42, 0x8f, 0x67, 0xe5, 0xb3, 0x69, 0xc9, 0x53, 0xd8, 0xf6, 0x3f, 0xd8, 0xae, 0xee, 0x87,
-	0xce, 0x8f, 0x89, 0xab, 0x13, 0xb7, 0xfe, 0x38, 0x74, 0xe4, 0x19, 0xc4, 0x9d, 0xe8, 0xb0, 0xb6,
-	0x93, 0x46, 0xbf, 0xa9, 0xb8, 0xda, 0x3a, 0xe1, 0xd3, 0xa4, 0x31, 0x7f, 0x09, 0x0f, 0xfe, 0x39,
-	0x07, 0xf2, 0x18, 0x22, 0xd1, 0x31, 0x8e, 0xcb, 0x88, 0x79, 0x91, 0xef, 0xe1, 0x64, 0xd9, 0xf2,
-	0x9d, 0x22, 0xe1, 0xdd, 0x22, 0x2f, 0x20, 0xf1, 0xf7, 0x50, 0x37, 0x6a, 0x90, 0x36, 0xbd, 0x97,
-	0x05, 0x45, 0x54, 0x81, 0x97, 0xae, 0x9d, 0x72, 0x55, 0xc0, 0x93, 0x46, 0x75, 0x6b, 0x67, 0x70,
-	0x95, 0xcc, 0x17, 0x7b, 0xe3, 0x1e, 0xc6, 0x4d, 0xf0, 0xed, 0xbe, 0x7f, 0x21, 0x17, 0x7f, 0x02,
-	0x00, 0x00, 0xff, 0xff, 0x71, 0x4b, 0x8e, 0x87, 0xc4, 0x02, 0x00, 0x00,
+	// 394 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0xd1, 0xab, 0xd3, 0x30,
+	0x14, 0xc6, 0xe9, 0x6a, 0xbd, 0xeb, 0x29, 0x82, 0x44, 0xc1, 0x7a, 0xbd, 0x17, 0x4b, 0x41, 0x28,
+	0x3e, 0xa4, 0xec, 0xde, 0x17, 0x51, 0x1f, 0x2e, 0x9b, 0x0a, 0x7b, 0x1b, 0x55, 0x11, 0xf6, 0x52,
+	0x62, 0xcd, 0x62, 0xb0, 0x4d, 0x42, 0x9b, 0x0e, 0xea, 0x7f, 0xe2, 0x7f, 0x2b, 0x49, 0xba, 0x8d,
+	0x8d, 0xbe, 0xf5, 0x7c, 0xfd, 0x7d, 0x5f, 0x4e, 0x72, 0x0e, 0x24, 0x4c, 0x4a, 0x56, 0xd3, 0x9c,
+	0x28, 0x45, 0x05, 0xe3, 0x82, 0xe6, 0xfb, 0x45, 0xfe, 0x8b, 0xaa, 0x5a, 0x0e, 0x58, 0xb5, 0x52,
+	0x4b, 0xf4, 0xcc, 0x11, 0xf8, 0x48, 0xe0, 0xfd, 0xe2, 0xfa, 0xe6, 0x68, 0xe3, 0x39, 0x11, 0x42,
+	0x6a, 0xa2, 0xb9, 0x14, 0x9d, 0xb3, 0xa4, 0xff, 0x66, 0x00, 0x9f, 0x6c, 0x46, 0x43, 0x85, 0x46,
+	0x0f, 0x10, 0xec, 0x78, 0x4d, 0xbb, 0xd8, 0x4b, 0xfc, 0x2c, 0xba, 0x7b, 0x8b, 0x27, 0x12, 0xf1,
+	0x89, 0xc7, 0x5f, 0x0c, 0xfc, 0x59, 0xe8, 0x76, 0x28, 0x9c, 0x11, 0x3d, 0x40, 0x58, 0x49, 0xa1,
+	0x09, 0x17, 0xb4, 0x8d, 0x67, 0x89, 0x97, 0x45, 0x77, 0xe9, 0x64, 0xca, 0xea, 0x40, 0xad, 0xc5,
+	0x4e, 0x16, 0x27, 0x13, 0xc2, 0xe0, 0xff, 0xe5, 0x2a, 0xf6, 0xad, 0xf7, 0x66, 0xd2, 0xbb, 0xe5,
+	0xca, 0xba, 0x0c, 0x78, 0xfd, 0x03, 0xe0, 0xd4, 0x06, 0x7a, 0x0a, 0xfe, 0x1f, 0x3a, 0xc4, 0x5e,
+	0xe2, 0x65, 0x61, 0x61, 0x3e, 0xd1, 0x3d, 0x04, 0x7b, 0x52, 0xf7, 0x74, 0xec, 0xe6, 0x76, 0x32,
+	0xd1, 0x24, 0xd8, 0x48, 0xc7, 0xbe, 0x9f, 0xbd, 0xf3, 0x52, 0x02, 0xf3, 0x83, 0x8c, 0x6e, 0x01,
+	0x3a, 0xd9, 0xb7, 0x15, 0x2d, 0xfb, 0xb6, 0x1e, 0xd3, 0x43, 0xa7, 0x7c, 0x6f, 0x6b, 0xf4, 0x12,
+	0xe6, 0xdd, 0x6f, 0xb2, 0x28, 0xbb, 0xbe, 0xb1, 0xc7, 0x84, 0xc5, 0x95, 0xa9, 0xbf, 0xf6, 0x0d,
+	0x7a, 0x05, 0x61, 0xc3, 0x1b, 0x5a, 0xea, 0x41, 0x51, 0x7b, 0xa9, 0xb0, 0x98, 0x1b, 0xe1, 0xdb,
+	0xa0, 0x68, 0xfa, 0x06, 0x9e, 0x9c, 0xbd, 0x03, 0x7a, 0x0e, 0x01, 0x6f, 0x08, 0xa3, 0xe3, 0x11,
+	0xae, 0x48, 0xd7, 0x70, 0x35, 0x5e, 0xf9, 0xa2, 0x11, 0xff, 0xb2, 0x91, 0xd7, 0x10, 0xd9, 0x39,
+	0x94, 0x95, 0xec, 0x85, 0x8e, 0x1f, 0x25, 0x5e, 0x16, 0x14, 0x60, 0xa5, 0x95, 0x51, 0x96, 0x3b,
+	0x78, 0x51, 0xc9, 0x66, 0xea, 0x0d, 0x96, 0x91, 0x1b, 0xec, 0xc6, 0x2c, 0xc6, 0xc6, 0xdb, 0x7e,
+	0x1c, 0x19, 0x26, 0x6b, 0x22, 0x18, 0x96, 0x2d, 0xcb, 0x19, 0x15, 0x76, 0x6d, 0x72, 0xf7, 0x8b,
+	0x28, 0xde, 0x9d, 0xad, 0xe3, 0x87, 0x63, 0xf1, 0xf3, 0xb1, 0x05, 0xef, 0xff, 0x07, 0x00, 0x00,
+	0xff, 0xff, 0x6e, 0xeb, 0x52, 0x5a, 0xb6, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/deploy.proto b/googleapis/appengine/v1/deploy.proto
deleted file mode 100644
index 62300ff54ce23dd886e4dc52f1e27bbfd589434f..0000000000000000000000000000000000000000
--- a/googleapis/appengine/v1/deploy.proto
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.appengine.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "DeployProto";
-option java_package = "com.google.appengine.v1";
-
-
-// Code and application artifacts used to deploy a version to App Engine.
-message Deployment {
-  // Manifest of the files stored in Google Cloud Storage that are included
-  // as part of this version. All files must be readable using the
-  // credentials supplied with this call.
-  map<string, FileInfo> files = 1;
-
-  // A Docker image that App Engine uses to run the version.
-  // Only applicable for instances in App Engine flexible environment.
-  ContainerInfo container = 2;
-
-  // The zip file for this deployment, if this is a zip deployment.
-  ZipInfo zip = 3;
-}
-
-// Single source file that is part of the version to be deployed. Each source
-// file that is deployed must be specified separately.
-message FileInfo {
-  // URL source to use to fetch this file. Must be a URL to a resource in
-  // Google Cloud Storage in the form
-  // 'http(s)://storage.googleapis.com/\<bucket\>/\<object\>'.
-  string source_url = 1;
-
-  // The SHA1 hash of the file, in hex.
-  string sha1_sum = 2;
-
-  // The MIME type of the file.
-  //
-  // Defaults to the value from Google Cloud Storage.
-  string mime_type = 3;
-}
-
-// Docker image that is used to start a VM container for the version you
-// deploy.
-message ContainerInfo {
-  // URI to the hosted container image in a Docker repository. The URI must be
-  // fully qualified and include a tag or digest.
-  // Examples: "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest"
-  string image = 1;
-}
-
-message ZipInfo {
-  // URL of the zip file to deploy from. Must be a URL to a resource in
-  // Google Cloud Storage in the form
-  // 'http(s)://storage.googleapis.com/\<bucket\>/\<object\>'.
-  string source_url = 3;
-
-  // An estimate of the number of files in a zip for a zip deployment.
-  // If set, must be greater than or equal to the actual number of files.
-  // Used for optimizing performance; if not provided, deployment may be slow.
-  int32 files_count = 4;
-}
diff --git a/googleapis/appengine/v1/instance.pb.go b/googleapis/appengine/v1/instance.pb.go
index 06532296ce5a0e03b5b9b2c08e691ef6da657d7c..591da0def3f996a3f42ceac41d6576e0cc71a587 100644
--- a/googleapis/appengine/v1/instance.pb.go
+++ b/googleapis/appengine/v1/instance.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/instance.proto
+// source: google/appengine/v1/instance.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -117,6 +117,55 @@ func (m *Instance) String() string            { return proto.CompactTextString(m
 func (*Instance) ProtoMessage()               {}
 func (*Instance) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
 
+func (m *Instance) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Instance) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Instance) GetAppEngineRelease() string {
+	if m != nil {
+		return m.AppEngineRelease
+	}
+	return ""
+}
+
+func (m *Instance) GetAvailability() Instance_Availability {
+	if m != nil {
+		return m.Availability
+	}
+	return Instance_UNSPECIFIED
+}
+
+func (m *Instance) GetVmName() string {
+	if m != nil {
+		return m.VmName
+	}
+	return ""
+}
+
+func (m *Instance) GetVmZoneName() string {
+	if m != nil {
+		return m.VmZoneName
+	}
+	return ""
+}
+
+func (m *Instance) GetVmId() string {
+	if m != nil {
+		return m.VmId
+	}
+	return ""
+}
+
 func (m *Instance) GetStartTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -124,49 +173,95 @@ func (m *Instance) GetStartTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *Instance) GetRequests() int32 {
+	if m != nil {
+		return m.Requests
+	}
+	return 0
+}
+
+func (m *Instance) GetErrors() int32 {
+	if m != nil {
+		return m.Errors
+	}
+	return 0
+}
+
+func (m *Instance) GetQps() float32 {
+	if m != nil {
+		return m.Qps
+	}
+	return 0
+}
+
+func (m *Instance) GetAverageLatency() int32 {
+	if m != nil {
+		return m.AverageLatency
+	}
+	return 0
+}
+
+func (m *Instance) GetMemoryUsage() int64 {
+	if m != nil {
+		return m.MemoryUsage
+	}
+	return 0
+}
+
+func (m *Instance) GetVmStatus() string {
+	if m != nil {
+		return m.VmStatus
+	}
+	return ""
+}
+
+func (m *Instance) GetVmDebugEnabled() bool {
+	if m != nil {
+		return m.VmDebugEnabled
+	}
+	return false
+}
+
 func init() {
 	proto.RegisterType((*Instance)(nil), "google.appengine.v1.Instance")
 	proto.RegisterEnum("google.appengine.v1.Instance_Availability", Instance_Availability_name, Instance_Availability_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/instance.proto", fileDescriptor4)
-}
+func init() { proto.RegisterFile("google/appengine/v1/instance.proto", fileDescriptor4) }
 
 var fileDescriptor4 = []byte{
-	// 539 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x51, 0x4d, 0x4f, 0xdb, 0x40,
-	0x10, 0xad, 0x03, 0x84, 0x64, 0x12, 0x42, 0xb4, 0x48, 0x65, 0x95, 0x5e, 0x5c, 0x2e, 0xb5, 0x50,
-	0x65, 0x0b, 0x7a, 0x6a, 0x7b, 0x02, 0x92, 0x4a, 0x96, 0xda, 0x08, 0x39, 0x70, 0x68, 0x2f, 0xd6,
-	0x26, 0x19, 0xdc, 0x95, 0xbc, 0x1f, 0x78, 0xd7, 0x2b, 0xa5, 0xbf, 0xb1, 0x3f, 0xaa, 0xf2, 0x3a,
-	0xa1, 0x54, 0xe2, 0xd0, 0xdb, 0xce, 0x7b, 0x33, 0x6f, 0xdf, 0xbc, 0x81, 0xab, 0x42, 0xa9, 0xa2,
-	0xc4, 0xb8, 0x50, 0x25, 0x93, 0x45, 0xac, 0xaa, 0x22, 0x29, 0x50, 0xea, 0x4a, 0x59, 0x95, 0xb4,
-	0x14, 0xd3, 0xdc, 0x24, 0x4c, 0x6b, 0x94, 0x05, 0x97, 0x98, 0xb8, 0x8b, 0x84, 0x4b, 0x63, 0x99,
-	0x5c, 0x61, 0xec, 0xdb, 0xc8, 0xc9, 0x56, 0xe2, 0xa9, 0x27, 0x76, 0x17, 0x93, 0xf4, 0x7f, 0x75,
-	0x79, 0x62, 0xb0, 0x72, 0x7c, 0x85, 0x2b, 0x25, 0x1f, 0x78, 0x91, 0x30, 0x29, 0x95, 0x65, 0x96,
-	0x2b, 0x69, 0x5a, 0xfd, 0xc9, 0xe7, 0x82, 0xdb, 0x9f, 0xf5, 0x32, 0x5e, 0x29, 0x91, 0xb4, 0x72,
-	0x89, 0x27, 0x96, 0xf5, 0x43, 0xa2, 0xed, 0x46, 0xa3, 0x49, 0x2c, 0x17, 0x68, 0x2c, 0x13, 0xfa,
-	0xef, 0xab, 0x1d, 0x3e, 0xfb, 0xbd, 0x0f, 0xbd, 0x74, 0xeb, 0x97, 0x10, 0xd8, 0x97, 0x4c, 0x20,
-	0x0d, 0xc2, 0x20, 0xea, 0x67, 0xfe, 0x4d, 0x46, 0xd0, 0xe1, 0x6b, 0xda, 0xf1, 0x48, 0x87, 0xaf,
-	0xc9, 0x7b, 0x20, 0x4c, 0xeb, 0xbc, 0xdd, 0x24, 0xaf, 0xb0, 0x44, 0x66, 0x90, 0xee, 0x79, 0x7e,
-	0xcc, 0xb4, 0x9e, 0x79, 0x22, 0x6b, 0x71, 0x32, 0x87, 0x21, 0x73, 0x8c, 0x97, 0x6c, 0xc9, 0x4b,
-	0x6e, 0x37, 0x74, 0x3f, 0x0c, 0xa2, 0xd1, 0xe5, 0x79, 0xfc, 0x42, 0x24, 0xf1, 0xce, 0x46, 0x7c,
-	0xf5, 0x6c, 0x22, 0xfb, 0x67, 0x9e, 0x9c, 0xc2, 0xa1, 0x13, 0xb9, 0x37, 0x79, 0xe0, 0xbf, 0xec,
-	0x3a, 0x31, 0x6f, 0x6c, 0x86, 0x30, 0x74, 0x22, 0xff, 0xa5, 0x24, 0xb6, 0x6c, 0xd7, 0xb3, 0xe0,
-	0xc4, 0x0f, 0x25, 0xd1, 0x77, 0x9c, 0xc0, 0x81, 0x13, 0x39, 0x5f, 0xd3, 0xc3, 0x76, 0x3b, 0x27,
-	0xd2, 0x35, 0xf9, 0x08, 0x60, 0x2c, 0xab, 0x6c, 0xde, 0xe4, 0x42, 0x7b, 0x61, 0x10, 0x0d, 0x2e,
-	0x27, 0x3b, 0x77, 0xbb, 0x14, 0xe3, 0xbb, 0x5d, 0x68, 0x59, 0xdf, 0x77, 0x37, 0x35, 0x99, 0x40,
-	0xaf, 0xc2, 0xc7, 0x1a, 0x8d, 0x35, 0xb4, 0x1f, 0x06, 0xd1, 0x41, 0xf6, 0x54, 0x93, 0xd7, 0xd0,
-	0xc5, 0xaa, 0x52, 0x95, 0xa1, 0xe0, 0x99, 0x6d, 0x45, 0xc6, 0xb0, 0xf7, 0xa8, 0x0d, 0x1d, 0x84,
-	0x41, 0xd4, 0xc9, 0x9a, 0x27, 0x79, 0x07, 0xc7, 0xcc, 0x61, 0xc5, 0x0a, 0xcc, 0x4b, 0x66, 0x51,
-	0xae, 0x36, 0x74, 0xe8, 0x47, 0x46, 0x5b, 0xf8, 0x6b, 0x8b, 0x92, 0xb7, 0x30, 0x14, 0x28, 0x54,
-	0xb5, 0xc9, 0x6b, 0xc3, 0x0a, 0xa4, 0x47, 0x61, 0x10, 0xed, 0x65, 0x83, 0x16, 0xbb, 0x6f, 0x20,
-	0xf2, 0x06, 0xfa, 0x4e, 0xe4, 0xc6, 0x32, 0x5b, 0x1b, 0x3a, 0xf2, 0x5b, 0xf6, 0x9c, 0x58, 0xf8,
-	0x9a, 0x44, 0x30, 0x76, 0x22, 0x5f, 0xe3, 0xb2, 0x2e, 0x72, 0x94, 0x6c, 0x59, 0xe2, 0x9a, 0x1e,
-	0x87, 0x41, 0xd4, 0xcb, 0x46, 0x4e, 0x4c, 0x1b, 0x78, 0xd6, 0xa2, 0x67, 0x9f, 0x60, 0xf8, 0xfc,
-	0x02, 0xe4, 0x18, 0x06, 0xf7, 0xf3, 0xc5, 0xed, 0xec, 0x26, 0xfd, 0x92, 0xce, 0xa6, 0xe3, 0x57,
-	0x64, 0x08, 0xbd, 0x6c, 0xb6, 0x48, 0xa7, 0xb3, 0xf9, 0xdd, 0x38, 0x20, 0x03, 0x38, 0x9c, 0x7e,
-	0x9f, 0x5f, 0x7d, 0x4b, 0x6f, 0xc6, 0x9d, 0xeb, 0x73, 0x38, 0x5d, 0x29, 0xf1, 0xd2, 0x79, 0xaf,
-	0x8f, 0x76, 0xf7, 0xbd, 0x6d, 0x62, 0xbd, 0x0d, 0x96, 0x5d, 0x9f, 0xef, 0x87, 0x3f, 0x01, 0x00,
-	0x00, 0xff, 0xff, 0x9e, 0x6c, 0x5b, 0xd2, 0x63, 0x03, 0x00, 0x00,
+	// 521 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x53, 0x5d, 0x6b, 0xdb, 0x3c,
+	0x14, 0x7e, 0x9d, 0xb6, 0xa9, 0x73, 0xe2, 0x26, 0x46, 0x85, 0xb7, 0x22, 0x1b, 0xcc, 0xcb, 0xcd,
+	0xcc, 0x18, 0x36, 0xed, 0xae, 0xf6, 0x71, 0xd3, 0x36, 0x1e, 0x18, 0xb6, 0x10, 0x9c, 0xf6, 0x62,
+	0xbd, 0x31, 0x4a, 0xac, 0x79, 0x02, 0x4b, 0x72, 0x2d, 0x45, 0x90, 0xfd, 0xc6, 0xfd, 0xa8, 0x61,
+	0x39, 0x09, 0x2d, 0xf4, 0xce, 0xcf, 0xc7, 0x41, 0xcf, 0x79, 0x0e, 0x86, 0x69, 0x29, 0x65, 0x59,
+	0xd1, 0x98, 0xd4, 0x35, 0x15, 0x25, 0x13, 0x34, 0x36, 0x97, 0x31, 0x13, 0x4a, 0x13, 0xb1, 0xa6,
+	0x51, 0xdd, 0x48, 0x2d, 0xd1, 0x79, 0xe7, 0x89, 0x0e, 0x9e, 0xc8, 0x5c, 0x4e, 0x5e, 0x1f, 0x06,
+	0x59, 0x4c, 0x84, 0x90, 0x9a, 0x68, 0x26, 0x85, 0xea, 0x46, 0x26, 0x6f, 0x76, 0xaa, 0x45, 0xab,
+	0xcd, 0xaf, 0x58, 0x33, 0x4e, 0x95, 0x26, 0xbc, 0xee, 0x0c, 0xd3, 0xbf, 0xc7, 0xe0, 0xa6, 0xbb,
+	0x67, 0x10, 0x82, 0x63, 0x41, 0x38, 0xc5, 0x4e, 0xe0, 0x84, 0x83, 0xcc, 0x7e, 0xa3, 0x11, 0xf4,
+	0x58, 0x81, 0x7b, 0x96, 0xe9, 0xb1, 0x02, 0x7d, 0x00, 0x44, 0xea, 0x3a, 0xef, 0x02, 0xe4, 0x0d,
+	0xad, 0x28, 0x51, 0x14, 0x1f, 0x59, 0xdd, 0x27, 0x75, 0x9d, 0x58, 0x21, 0xeb, 0x78, 0x34, 0x07,
+	0x8f, 0x18, 0xc2, 0x2a, 0xb2, 0x62, 0x15, 0xd3, 0x5b, 0x7c, 0x1c, 0x38, 0xe1, 0xe8, 0xea, 0x7d,
+	0xf4, 0xc2, 0x26, 0xd1, 0x3e, 0x46, 0x74, 0xfd, 0x64, 0x22, 0x7b, 0x36, 0x8f, 0x2e, 0xe0, 0xd4,
+	0xf0, 0xdc, 0x86, 0x3c, 0xb1, 0x4f, 0xf6, 0x0d, 0x9f, 0xb7, 0x31, 0x03, 0xf0, 0x0c, 0xcf, 0xff,
+	0x48, 0x41, 0x3b, 0xb5, 0x6f, 0x55, 0x30, 0xfc, 0x41, 0x0a, 0x6a, 0x1d, 0xe7, 0x70, 0x62, 0x78,
+	0xce, 0x0a, 0x7c, 0xda, 0x6d, 0x67, 0x78, 0x5a, 0xa0, 0x4f, 0x00, 0x4a, 0x93, 0x46, 0xe7, 0x6d,
+	0x2f, 0xd8, 0x0d, 0x9c, 0x70, 0x78, 0x35, 0xd9, 0xa7, 0xdb, 0x97, 0x16, 0xdd, 0xed, 0x4b, 0xcb,
+	0x06, 0xd6, 0xdd, 0x62, 0x34, 0x01, 0xb7, 0xa1, 0x8f, 0x1b, 0xaa, 0xb4, 0xc2, 0x83, 0xc0, 0x09,
+	0x4f, 0xb2, 0x03, 0x46, 0xff, 0x43, 0x9f, 0x36, 0x8d, 0x6c, 0x14, 0x06, 0xab, 0xec, 0x10, 0xf2,
+	0xe1, 0xe8, 0xb1, 0x56, 0x78, 0x18, 0x38, 0x61, 0x2f, 0x6b, 0x3f, 0xd1, 0x3b, 0x18, 0x13, 0x43,
+	0x1b, 0x52, 0xd2, 0xbc, 0x22, 0x9a, 0x8a, 0xf5, 0x16, 0x7b, 0x76, 0x64, 0xb4, 0xa3, 0xbf, 0x77,
+	0x2c, 0x7a, 0x0b, 0x1e, 0xa7, 0x5c, 0x36, 0xdb, 0x7c, 0xa3, 0x48, 0x49, 0xf1, 0x59, 0xe0, 0x84,
+	0x47, 0xd9, 0xb0, 0xe3, 0xee, 0x5b, 0x0a, 0xbd, 0x82, 0x81, 0xe1, 0xb9, 0xd2, 0x44, 0x6f, 0x14,
+	0x1e, 0xd9, 0x2d, 0x5d, 0xc3, 0x97, 0x16, 0xa3, 0x10, 0x7c, 0xc3, 0xf3, 0x82, 0xae, 0x36, 0x65,
+	0x4e, 0x05, 0x59, 0x55, 0xb4, 0xc0, 0xe3, 0xc0, 0x09, 0xdd, 0x6c, 0x64, 0xf8, 0xac, 0xa5, 0x93,
+	0x8e, 0x9d, 0x7e, 0x06, 0xef, 0xe9, 0x05, 0xd0, 0x18, 0x86, 0xf7, 0xf3, 0xe5, 0x22, 0xb9, 0x4d,
+	0xbf, 0xa5, 0xc9, 0xcc, 0xff, 0x0f, 0x79, 0xe0, 0x66, 0xc9, 0x32, 0x9d, 0x25, 0xf3, 0x3b, 0xdf,
+	0x41, 0x43, 0x38, 0x9d, 0xfd, 0x9c, 0x5f, 0xff, 0x48, 0x6f, 0xfd, 0xde, 0xcd, 0x6f, 0xb8, 0x58,
+	0x4b, 0xfe, 0xd2, 0x79, 0x6f, 0xce, 0xf6, 0xf7, 0x5d, 0xb4, 0xb5, 0x2e, 0x9c, 0x87, 0xaf, 0x3b,
+	0x57, 0x29, 0x2b, 0x22, 0xca, 0x48, 0x36, 0x65, 0x5c, 0x52, 0x61, 0x4b, 0x8f, 0x3b, 0x89, 0xd4,
+	0x4c, 0x3d, 0xfb, 0x23, 0xbe, 0x1c, 0xc0, 0xaa, 0x6f, 0x8d, 0x1f, 0xff, 0x05, 0x00, 0x00, 0xff,
+	0xff, 0x97, 0xe7, 0x7d, 0x88, 0x39, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/instance.proto b/googleapis/appengine/v1/instance.proto
deleted file mode 100644
index 55814e37c7c92c16dc1826d09f42ab5e5bd78a5f..0000000000000000000000000000000000000000
--- a/googleapis/appengine/v1/instance.proto
+++ /dev/null
@@ -1,120 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.appengine.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "InstanceProto";
-option java_package = "com.google.appengine.v1";
-
-
-// An Instance resource is the computing unit that App Engine uses to
-// automatically scale an application.
-message Instance {
-  // Availability of the instance.
-  enum Availability {
-    UNSPECIFIED = 0;
-
-    RESIDENT = 1;
-
-    DYNAMIC = 2;
-  }
-
-  // Full path to the Instance resource in the API.
-  // Example: `apps/myapp/services/default/versions/v1/instances/instance-1`.
-  //
-  // @OutputOnly
-  string name = 1;
-
-  // Relative name of the instance within the version.
-  // Example: `instance-1`.
-  //
-  // @OutputOnly
-  string id = 2;
-
-  // App Engine release this instance is running on.
-  //
-  // @OutputOnly
-  string app_engine_release = 3;
-
-  // Availability of the instance.
-  //
-  // @OutputOnly
-  Availability availability = 4;
-
-  // Name of the virtual machine where this instance lives. Only applicable
-  // for instances in App Engine flexible environment.
-  //
-  // @OutputOnly
-  string vm_name = 5;
-
-  // Zone where the virtual machine is located. Only applicable for instances
-  // in App Engine flexible environment.
-  //
-  // @OutputOnly
-  string vm_zone_name = 6;
-
-  // Virtual machine ID of this instance. Only applicable for instances in
-  // App Engine flexible environment.
-  //
-  // @OutputOnly
-  string vm_id = 7;
-
-  // Time that this instance was started.
-  //
-  // @OutputOnly
-  google.protobuf.Timestamp start_time = 8;
-
-  // Number of requests since this instance was started.
-  //
-  // @OutputOnly
-  int32 requests = 9;
-
-  // Number of errors since this instance was started.
-  //
-  // @OutputOnly
-  int32 errors = 10;
-
-  // Average queries per second (QPS) over the last minute.
-  //
-  // @OutputOnly
-  float qps = 11;
-
-  // Average latency (ms) over the last minute.
-  //
-  // @OutputOnly
-  int32 average_latency = 12;
-
-  // Total memory in use (bytes).
-  //
-  // @OutputOnly
-  int64 memory_usage = 13;
-
-  // Status of the virtual machine where this instance lives. Only applicable
-  // for instances in App Engine flexible environment.
-  //
-  // @OutputOnly
-  string vm_status = 14;
-
-  // Whether this instance is in debug mode. Only applicable for instances in
-  // App Engine flexible environment.
-  //
-  // @OutputOnly
-  bool vm_debug_enabled = 15;
-}
diff --git a/googleapis/appengine/v1/location.pb.go b/googleapis/appengine/v1/location.pb.go
index 422de363d1c7fc64211aac25156127c056bafaa3..9b2309a34803f1285888ca25d06f262f2db58fc5 100644
--- a/googleapis/appengine/v1/location.pb.go
+++ b/googleapis/appengine/v1/location.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/location.proto
+// source: google/appengine/v1/location.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import _ "google.golang.org/genproto/googleapis/type/latlng"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -32,30 +32,41 @@ func (m *LocationMetadata) String() string            { return proto.CompactText
 func (*LocationMetadata) ProtoMessage()               {}
 func (*LocationMetadata) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
 
-func init() {
-	proto.RegisterType((*LocationMetadata)(nil), "google.appengine.v1.LocationMetadata")
+func (m *LocationMetadata) GetStandardEnvironmentAvailable() bool {
+	if m != nil {
+		return m.StandardEnvironmentAvailable
+	}
+	return false
+}
+
+func (m *LocationMetadata) GetFlexibleEnvironmentAvailable() bool {
+	if m != nil {
+		return m.FlexibleEnvironmentAvailable
+	}
+	return false
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/location.proto", fileDescriptor5)
+	proto.RegisterType((*LocationMetadata)(nil), "google.appengine.v1.LocationMetadata")
 }
 
+func init() { proto.RegisterFile("google/appengine/v1/location.proto", fileDescriptor5) }
+
 var fileDescriptor5 = []byte{
-	// 241 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0xd0, 0xcd, 0x4a, 0x03, 0x31,
-	0x10, 0xc0, 0x71, 0x56, 0x44, 0x64, 0x41, 0x90, 0x7a, 0x50, 0x8a, 0x88, 0x78, 0x12, 0x0f, 0x09,
-	0xc5, 0xbb, 0xd0, 0xa2, 0x07, 0x41, 0xa1, 0xf8, 0x02, 0x65, 0x76, 0x77, 0x1a, 0x06, 0xa6, 0x33,
-	0x21, 0x3b, 0x04, 0x7d, 0x19, 0x9f, 0x55, 0xba, 0x1f, 0x7a, 0xa9, 0xb0, 0xa7, 0x1c, 0xf2, 0xcf,
-	0x8f, 0x99, 0x94, 0xcb, 0xa0, 0x1a, 0x18, 0x5d, 0x50, 0x06, 0x09, 0x4e, 0x53, 0xf0, 0x01, 0x25,
-	0x26, 0x35, 0xf5, 0xfd, 0x15, 0x44, 0x6a, 0x3d, 0xc4, 0x88, 0x12, 0x48, 0xd0, 0xe7, 0x85, 0x67,
-	0xad, 0xc1, 0x48, 0xc5, 0x75, 0xd9, 0xec, 0x62, 0x20, 0x7e, 0x1b, 0x97, 0x17, 0xf3, 0xd7, 0xa9,
-	0x2e, 0xf9, 0x16, 0x53, 0xa6, 0x1a, 0x6b, 0x95, 0x2d, 0x05, 0x0f, 0x22, 0x6a, 0x1d, 0xdf, 0xf6,
-	0xfe, 0xfc, 0x69, 0x1a, 0x65, 0x5f, 0x11, 0x3d, 0x83, 0xb1, 0x84, 0xe1, 0xe8, 0xdf, 0xdf, 0x7d,
-	0x17, 0xe5, 0xf9, 0xdb, 0x30, 0xf2, 0x3b, 0x1a, 0x34, 0x60, 0x30, 0x7b, 0x2e, 0x6f, 0x5a, 0x03,
-	0x69, 0x20, 0x35, 0x1b, 0x94, 0x4c, 0x49, 0x65, 0x87, 0x62, 0x1b, 0xc8, 0x40, 0x0c, 0x15, 0xe3,
-	0xd5, 0xd1, 0x6d, 0x71, 0x7f, 0xfa, 0x71, 0x3d, 0x56, 0x2f, 0x7f, 0xd1, 0x72, 0x6c, 0xf6, 0xca,
-	0x96, 0xf1, 0x93, 0x2a, 0xc6, 0x7f, 0x94, 0xe3, 0x5e, 0x19, 0xab, 0x43, 0xca, 0xea, 0xa1, 0xbc,
-	0xac, 0x75, 0xe7, 0x0e, 0x7c, 0xe3, 0xea, 0x6c, 0x1c, 0x7c, 0xbd, 0x5f, 0x65, 0x5d, 0x54, 0x27,
-	0xdd, 0x4e, 0x8f, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd8, 0xc1, 0x4f, 0xe8, 0xb8, 0x01, 0x00,
-	0x00,
+	// 236 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x90, 0x41, 0x4b, 0xc3, 0x40,
+	0x10, 0x85, 0x89, 0x88, 0x48, 0x40, 0x90, 0x7a, 0xb0, 0x94, 0x22, 0xd2, 0x93, 0xa7, 0x5d, 0x8a,
+	0x47, 0xbd, 0x58, 0xf4, 0xa6, 0x50, 0x3c, 0x7a, 0x29, 0x93, 0x66, 0x1c, 0x17, 0xa6, 0x33, 0x4b,
+	0x32, 0x04, 0xfd, 0x33, 0xfe, 0x56, 0x69, 0x36, 0x1b, 0x11, 0xea, 0x71, 0x79, 0xdf, 0xfb, 0xd8,
+	0x37, 0xe5, 0x82, 0x54, 0x89, 0xd1, 0x43, 0x8c, 0x28, 0x14, 0x04, 0x7d, 0xb7, 0xf4, 0xac, 0x5b,
+	0xb0, 0xa0, 0xe2, 0x62, 0xa3, 0xa6, 0x93, 0x8b, 0xc4, 0xb8, 0x91, 0x71, 0xdd, 0x72, 0x36, 0x1f,
+	0x8b, 0xc1, 0x83, 0x88, 0x5a, 0xdf, 0x68, 0x53, 0x65, 0x36, 0x1d, 0x52, 0xfb, 0x8a, 0xe8, 0x19,
+	0x8c, 0x85, 0x52, 0xb2, 0xf8, 0x2e, 0xca, 0xf3, 0xe7, 0xc1, 0xff, 0x82, 0x06, 0x35, 0x18, 0x4c,
+	0x1e, 0xcb, 0xab, 0xd6, 0x40, 0x6a, 0x68, 0xea, 0x0d, 0x4a, 0x17, 0x1a, 0x95, 0x1d, 0x8a, 0x6d,
+	0xa0, 0x83, 0xc0, 0x50, 0x31, 0x4e, 0x8f, 0xae, 0x8b, 0x9b, 0xd3, 0xd7, 0x79, 0xa6, 0x9e, 0x7e,
+	0xa1, 0x87, 0xcc, 0xec, 0x2d, 0xef, 0x8c, 0x9f, 0xa1, 0x62, 0xfc, 0xc7, 0x72, 0x9c, 0x2c, 0x99,
+	0x3a, 0x64, 0x59, 0x7d, 0x94, 0x97, 0x5b, 0xdd, 0xb9, 0x03, 0x9b, 0x57, 0x67, 0xf9, 0xe3, 0xeb,
+	0xfd, 0x94, 0x75, 0xf1, 0x76, 0x3f, 0x50, 0xa4, 0x0c, 0x42, 0x4e, 0x1b, 0xf2, 0x84, 0xd2, 0x0f,
+	0xf5, 0x29, 0x82, 0x18, 0xda, 0x3f, 0xc7, 0xbd, 0x1b, 0x1f, 0xd5, 0x49, 0x0f, 0xde, 0xfe, 0x04,
+	0x00, 0x00, 0xff, 0xff, 0x93, 0x9b, 0x7c, 0xf8, 0x84, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/location.proto b/googleapis/appengine/v1/location.proto
deleted file mode 100644
index b91caff7df54fc7ef9828b6385889d76933ae59b..0000000000000000000000000000000000000000
--- a/googleapis/appengine/v1/location.proto
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.appengine.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/type/latlng/latlng.proto"; // from google/type/latlng.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "LocationProto";
-option java_package = "com.google.appengine.v1";
-
-
-// Metadata for the given [google.cloud.location.Location][google.cloud.location.Location].
-message LocationMetadata {
-  // App Engine Standard Environment is available in the given location.
-  //
-  // @OutputOnly
-  bool standard_environment_available = 2;
-
-  // App Engine Flexible Environment is available in the given location.
-  //
-  // @OutputOnly
-  bool flexible_environment_available = 4;
-}
diff --git a/googleapis/appengine/v1/operation.pb.go b/googleapis/appengine/v1/operation.pb.go
index 2f4e6eca610979c087e3c2a57c9b062c85173b3a..d5f5a00901797c8044e92d2947fe2d04f3c2a704 100644
--- a/googleapis/appengine/v1/operation.pb.go
+++ b/googleapis/appengine/v1/operation.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/operation.proto
+// source: google/appengine/v1/operation.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -46,6 +46,13 @@ func (m *OperationMetadataV1) String() string            { return proto.CompactT
 func (*OperationMetadataV1) ProtoMessage()               {}
 func (*OperationMetadataV1) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{0} }
 
+func (m *OperationMetadataV1) GetMethod() string {
+	if m != nil {
+		return m.Method
+	}
+	return ""
+}
+
 func (m *OperationMetadataV1) GetInsertTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.InsertTime
@@ -60,33 +67,43 @@ func (m *OperationMetadataV1) GetEndTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
-func init() {
-	proto.RegisterType((*OperationMetadataV1)(nil), "google.appengine.v1.OperationMetadataV1")
+func (m *OperationMetadataV1) GetUser() string {
+	if m != nil {
+		return m.User
+	}
+	return ""
+}
+
+func (m *OperationMetadataV1) GetTarget() string {
+	if m != nil {
+		return m.Target
+	}
+	return ""
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/operation.proto", fileDescriptor6)
+	proto.RegisterType((*OperationMetadataV1)(nil), "google.appengine.v1.OperationMetadataV1")
 }
 
+func init() { proto.RegisterFile("google/appengine/v1/operation.proto", fileDescriptor6) }
+
 var fileDescriptor6 = []byte{
-	// 290 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x90, 0x41, 0x4b, 0xfc, 0x30,
-	0x10, 0xc5, 0xe9, 0xff, 0xbf, 0xae, 0x9a, 0x05, 0x0f, 0x5d, 0xd0, 0xd2, 0xd3, 0xe2, 0x69, 0x41,
-	0x48, 0xa8, 0xe2, 0x69, 0x6f, 0xbd, 0x79, 0x10, 0x97, 0x45, 0xbc, 0x4a, 0xda, 0xce, 0x66, 0x03,
-	0xdb, 0x4c, 0x48, 0xa6, 0x05, 0x3f, 0xa4, 0xdf, 0x49, 0x9a, 0xb4, 0xeb, 0x45, 0xd0, 0xdb, 0x4c,
-	0x66, 0xde, 0xef, 0xbd, 0x09, 0x2b, 0x15, 0xa2, 0x3a, 0x02, 0x57, 0x78, 0x94, 0x46, 0x71, 0x74,
-	0x4a, 0x28, 0x30, 0xd6, 0x21, 0xa1, 0x88, 0x23, 0x69, 0xb5, 0x17, 0xd2, 0x5a, 0x30, 0x4a, 0x1b,
-	0x10, 0x7d, 0x21, 0xd0, 0x82, 0x93, 0xa4, 0xd1, 0xf0, 0xb0, 0x97, 0x2e, 0x47, 0xc6, 0x69, 0x89,
-	0xf7, 0x45, 0xfe, 0xf4, 0x57, 0xb0, 0x16, 0x1e, 0x5c, 0xaf, 0x6b, 0xa8, 0xd1, 0xec, 0xb5, 0x12,
-	0xd2, 0x18, 0xa4, 0x80, 0xf7, 0x91, 0x9f, 0x6f, 0x94, 0xa6, 0x43, 0x57, 0xf1, 0x1a, 0x5b, 0x11,
-	0x71, 0x22, 0x0c, 0xaa, 0x6e, 0x2f, 0x2c, 0x7d, 0x58, 0xf0, 0x82, 0x74, 0x0b, 0x9e, 0x64, 0x6b,
-	0xbf, 0xab, 0x28, 0xbe, 0xfd, 0x4c, 0xd8, 0xf2, 0x65, 0x0a, 0xfc, 0x0c, 0x24, 0x1b, 0x49, 0xf2,
-	0xad, 0x48, 0xaf, 0xd9, 0xbc, 0x05, 0x3a, 0x60, 0x93, 0x25, 0xab, 0x64, 0x7d, 0xb9, 0x1b, 0xbb,
-	0x74, 0xc3, 0x16, 0xda, 0x78, 0x70, 0xf4, 0x3e, 0x90, 0xb2, 0x7f, 0xab, 0x64, 0xbd, 0xb8, 0xcf,
-	0xf9, 0x78, 0xcd, 0xe4, 0xcb, 0x5f, 0x27, 0x9b, 0x1d, 0x8b, 0xeb, 0xc3, 0x43, 0xfa, 0xc8, 0x2e,
-	0xc0, 0x34, 0x51, 0xf9, 0xff, 0x57, 0xe5, 0x39, 0x98, 0x26, 0xc8, 0x52, 0x36, 0xeb, 0x3c, 0xb8,
-	0x6c, 0x16, 0x92, 0x84, 0x7a, 0xc8, 0x47, 0xd2, 0x29, 0xa0, 0xec, 0x2c, 0xe6, 0x8b, 0x5d, 0x79,
-	0xc7, 0x6e, 0x6a, 0x6c, 0xf9, 0x0f, 0x5f, 0x5e, 0x5e, 0x9d, 0xee, 0xdc, 0x0e, 0x66, 0xdb, 0xa4,
-	0x9a, 0x07, 0xd7, 0x87, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x6e, 0x06, 0x0e, 0xe6, 0x01,
-	0x00, 0x00,
+	// 271 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0x41, 0x4b, 0x03, 0x31,
+	0x10, 0x85, 0x59, 0xad, 0x55, 0x53, 0xf0, 0xb0, 0x05, 0x5d, 0x16, 0xc1, 0xa2, 0x97, 0x9e, 0x12,
+	0x56, 0xf1, 0x54, 0x4f, 0xbd, 0x8b, 0xa5, 0x88, 0x07, 0x2f, 0x92, 0xba, 0x63, 0x0c, 0x74, 0x67,
+	0x42, 0x32, 0xed, 0xbf, 0xf4, 0x3f, 0xc9, 0x26, 0xbb, 0x0b, 0x82, 0xd0, 0x5b, 0x5e, 0xe6, 0x7d,
+	0x79, 0x2f, 0x89, 0xb8, 0x33, 0x44, 0x66, 0x0b, 0x4a, 0x3b, 0x07, 0x68, 0x2c, 0x82, 0xda, 0x57,
+	0x8a, 0x1c, 0x78, 0xcd, 0x96, 0x50, 0x3a, 0x4f, 0x4c, 0xf9, 0x34, 0x99, 0xe4, 0x60, 0x92, 0xfb,
+	0xaa, 0xbc, 0x1e, 0x48, 0xab, 0x34, 0x22, 0x71, 0x24, 0x42, 0x42, 0xca, 0x9b, 0x6e, 0x1a, 0xd5,
+	0x66, 0xf7, 0xa5, 0xd8, 0x36, 0x10, 0x58, 0x37, 0x2e, 0x19, 0x6e, 0x7f, 0x32, 0x31, 0x7d, 0xe9,
+	0x73, 0x9e, 0x81, 0x75, 0xad, 0x59, 0xbf, 0x55, 0xf9, 0xa5, 0x18, 0x37, 0xc0, 0xdf, 0x54, 0x17,
+	0xd9, 0x2c, 0x9b, 0x9f, 0xaf, 0x3b, 0x95, 0x2f, 0xc4, 0xc4, 0x62, 0x00, 0xcf, 0x1f, 0xed, 0x49,
+	0xc5, 0xd1, 0x2c, 0x9b, 0x4f, 0xee, 0x4b, 0xd9, 0x35, 0xeb, 0x63, 0xe4, 0x6b, 0x1f, 0xb3, 0x16,
+	0xc9, 0xde, 0x6e, 0xe4, 0x8f, 0xe2, 0x0c, 0xb0, 0x4e, 0xe4, 0xf1, 0x41, 0xf2, 0x14, 0xb0, 0x8e,
+	0x58, 0x2e, 0x46, 0xbb, 0x00, 0xbe, 0x18, 0xc5, 0x26, 0x71, 0xdd, 0xf6, 0x63, 0xed, 0x0d, 0x70,
+	0x71, 0x92, 0xfa, 0x25, 0xb5, 0xb4, 0xe2, 0xea, 0x93, 0x1a, 0xf9, 0xcf, 0x4b, 0x2d, 0x2f, 0x86,
+	0x7b, 0xae, 0xda, 0xb0, 0x55, 0xf6, 0xfe, 0xd4, 0xd9, 0x0c, 0x6d, 0x35, 0x1a, 0x49, 0xde, 0x28,
+	0x03, 0x18, 0xab, 0xa8, 0x34, 0xd2, 0xce, 0x86, 0x3f, 0x9f, 0xb2, 0x18, 0xc4, 0x66, 0x1c, 0x8d,
+	0x0f, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x8e, 0xb2, 0x00, 0xbc, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/operation.proto b/googleapis/appengine/v1/operation.proto
deleted file mode 100644
index 28304b9396ae3acd43e6d2c2e3f1d4c2f30444e9..0000000000000000000000000000000000000000
--- a/googleapis/appengine/v1/operation.proto
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.appengine.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "OperationProto";
-option java_package = "com.google.appengine.v1";
-
-
-// Metadata for the given [google.longrunning.Operation][google.longrunning.Operation].
-message OperationMetadataV1 {
-  // API method that initiated this operation. Example:
-  // `google.appengine.v1.Versions.CreateVersion`.
-  //
-  // @OutputOnly
-  string method = 1;
-
-  // Time that this operation was created.
-  //
-  // @OutputOnly
-  google.protobuf.Timestamp insert_time = 2;
-
-  // Time that this operation completed.
-  //
-  // @OutputOnly
-  google.protobuf.Timestamp end_time = 3;
-
-  // User who requested this operation.
-  //
-  // @OutputOnly
-  string user = 4;
-
-  // Name of the resource that this operation is acting on. Example:
-  // `apps/myapp/services/default`.
-  //
-  // @OutputOnly
-  string target = 5;
-}
diff --git a/googleapis/appengine/v1/service.pb.go b/googleapis/appengine/v1/service.pb.go
index 36689182a5f6a817641093d5215699aea3c1de50..222cb13f5de0ac2b696af9f17831d5d9838b2a6c 100644
--- a/googleapis/appengine/v1/service.pb.go
+++ b/googleapis/appengine/v1/service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/service.proto
+// source: google/appengine/v1/service.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -72,6 +72,20 @@ func (m *Service) String() string            { return proto.CompactTextString(m)
 func (*Service) ProtoMessage()               {}
 func (*Service) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0} }
 
+func (m *Service) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Service) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 func (m *Service) GetSplit() *TrafficSplit {
 	if m != nil {
 		return m.Split
@@ -102,6 +116,13 @@ func (m *TrafficSplit) String() string            { return proto.CompactTextStri
 func (*TrafficSplit) ProtoMessage()               {}
 func (*TrafficSplit) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{1} }
 
+func (m *TrafficSplit) GetShardBy() TrafficSplit_ShardBy {
+	if m != nil {
+		return m.ShardBy
+	}
+	return TrafficSplit_UNSPECIFIED
+}
+
 func (m *TrafficSplit) GetAllocations() map[string]float64 {
 	if m != nil {
 		return m.Allocations
@@ -115,32 +136,31 @@ func init() {
 	proto.RegisterEnum("google.appengine.v1.TrafficSplit_ShardBy", TrafficSplit_ShardBy_name, TrafficSplit_ShardBy_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/service.proto", fileDescriptor7)
-}
+func init() { proto.RegisterFile("google/appengine/v1/service.proto", fileDescriptor7) }
 
 var fileDescriptor7 = []byte{
-	// 350 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x91, 0xcd, 0x6a, 0xe3, 0x30,
-	0x10, 0x80, 0xd7, 0xca, 0x26, 0xd9, 0x1d, 0x87, 0xac, 0xd1, 0x2e, 0xac, 0xc9, 0x29, 0x9b, 0x53,
-	0x72, 0x91, 0x89, 0xf7, 0xd0, 0xd2, 0x43, 0x69, 0x93, 0xb8, 0x60, 0x0a, 0x8d, 0xb1, 0xd3, 0x73,
-	0x51, 0x1c, 0x59, 0x15, 0x75, 0x24, 0x63, 0xbb, 0x06, 0xbf, 0x4a, 0x9f, 0xb6, 0xf8, 0xa7, 0x6d,
-	0x28, 0x81, 0xf4, 0x36, 0x1a, 0x7d, 0xf3, 0x69, 0x34, 0x03, 0x57, 0x5c, 0x29, 0x1e, 0x33, 0xc2,
-	0x55, 0x4c, 0x25, 0x27, 0x2a, 0xe5, 0x16, 0x67, 0x32, 0x49, 0x55, 0xae, 0xac, 0xe6, 0x8a, 0x26,
-	0x22, 0xb3, 0x68, 0x92, 0x30, 0xc9, 0x85, 0x64, 0x56, 0x31, 0xb7, 0x32, 0x96, 0x16, 0x22, 0x64,
-	0xa4, 0xa6, 0xf0, 0xef, 0xd6, 0xf0, 0x8e, 0x90, 0x62, 0x3e, 0x72, 0xbf, 0xaa, 0x15, 0x6f, 0xb6,
-	0x50, 0xc9, 0x48, 0x70, 0x8b, 0x4a, 0xa9, 0x72, 0x9a, 0x0b, 0x25, 0xb3, 0xc6, 0x3f, 0x89, 0xa0,
-	0x1f, 0x34, 0x08, 0xc6, 0xf0, 0x5d, 0xd2, 0x3d, 0x33, 0xb5, 0xb1, 0x36, 0xfd, 0xe9, 0xd7, 0x31,
-	0x1e, 0x02, 0x12, 0x3b, 0x13, 0xd5, 0x19, 0x24, 0x76, 0xf8, 0x0c, 0xba, 0x59, 0x12, 0x8b, 0xdc,
-	0xec, 0x8c, 0xb5, 0xa9, 0x6e, 0xff, 0x23, 0x47, 0xda, 0x23, 0x9b, 0x94, 0x46, 0x91, 0x08, 0x83,
-	0x0a, 0xf4, 0x1b, 0x7e, 0xf2, 0x82, 0x60, 0x70, 0x98, 0xc7, 0x2b, 0xf8, 0x91, 0x3d, 0xd2, 0x74,
-	0xf7, 0xb0, 0x2d, 0xeb, 0x17, 0x87, 0xf6, 0xec, 0xa4, 0x8c, 0x04, 0x55, 0xc5, 0xa2, 0xf4, 0xfb,
-	0x59, 0x13, 0xe0, 0x0d, 0xe8, 0x34, 0x8e, 0x55, 0xd8, 0xfc, 0xc9, 0x44, 0xe3, 0xce, 0x54, 0xb7,
-	0xed, 0xd3, 0xa2, 0xeb, 0x8f, 0x22, 0x47, 0xe6, 0x69, 0xe9, 0x1f, 0x6a, 0x46, 0x97, 0x60, 0x7c,
-	0x06, 0xb0, 0x01, 0x9d, 0x27, 0x56, 0xb6, 0xc3, 0xa9, 0x42, 0xfc, 0x07, 0xba, 0x05, 0x8d, 0x9f,
-	0x59, 0x3d, 0x1e, 0xcd, 0x6f, 0x0e, 0x17, 0xe8, 0x5c, 0x9b, 0x10, 0xe8, 0xb7, 0x9d, 0xe2, 0x5f,
-	0xa0, 0xdf, 0xdf, 0x05, 0x9e, 0xb3, 0x74, 0x6f, 0x5c, 0x67, 0x65, 0x7c, 0xc3, 0x00, 0xbd, 0xe5,
-	0x7a, 0x7d, 0xeb, 0x3a, 0x86, 0x86, 0x7b, 0x80, 0x5c, 0xcf, 0x40, 0x8b, 0x19, 0xfc, 0x0d, 0xd5,
-	0xfe, 0x58, 0xd7, 0x8b, 0x41, 0xbb, 0x1d, 0xaf, 0xda, 0x96, 0xa7, 0x6d, 0x7b, 0xf5, 0xda, 0xfe,
-	0xbf, 0x06, 0x00, 0x00, 0xff, 0xff, 0xf2, 0x86, 0xd3, 0x59, 0x5a, 0x02, 0x00, 0x00,
+	// 356 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0x51, 0x8b, 0xda, 0x40,
+	0x10, 0xc7, 0x9b, 0xb5, 0x6a, 0x3b, 0x11, 0x1b, 0xb6, 0x85, 0x06, 0xe9, 0x83, 0xfa, 0x64, 0x5f,
+	0x36, 0x98, 0x3e, 0xb4, 0xb4, 0xa5, 0x50, 0x35, 0x85, 0x50, 0x38, 0x43, 0xe2, 0xbd, 0xdc, 0xcb,
+	0xb1, 0xc6, 0x75, 0x6f, 0xb9, 0xb8, 0x1b, 0x92, 0x5c, 0x20, 0x5f, 0xe5, 0x3e, 0xed, 0x91, 0x6c,
+	0xf0, 0xbc, 0x43, 0xf0, 0x6d, 0x66, 0xf2, 0xfb, 0xff, 0x67, 0x32, 0xb3, 0x30, 0xe1, 0x4a, 0xf1,
+	0x84, 0x39, 0x34, 0x4d, 0x99, 0xe4, 0x42, 0x32, 0xa7, 0x9c, 0x3b, 0x39, 0xcb, 0x4a, 0x11, 0x33,
+	0x92, 0x66, 0xaa, 0x50, 0xf8, 0xa3, 0x46, 0xc8, 0x11, 0x21, 0xe5, 0x7c, 0xf4, 0xe5, 0xa8, 0x13,
+	0x0e, 0x95, 0x52, 0x15, 0xb4, 0x10, 0x4a, 0xe6, 0x5a, 0x32, 0xdd, 0x43, 0x3f, 0xd2, 0x1e, 0x18,
+	0xc3, 0x5b, 0x49, 0x0f, 0xcc, 0x36, 0xc6, 0xc6, 0xec, 0x7d, 0xd8, 0xc4, 0x78, 0x08, 0x48, 0xec,
+	0x6c, 0xd4, 0x54, 0x90, 0xd8, 0xe1, 0xef, 0xd0, 0xcd, 0xd3, 0x44, 0x14, 0x76, 0x67, 0x6c, 0xcc,
+	0x4c, 0x77, 0x42, 0xce, 0x74, 0x24, 0x9b, 0x8c, 0xee, 0xf7, 0x22, 0x8e, 0x6a, 0x30, 0xd4, 0xfc,
+	0xf4, 0x11, 0xc1, 0xe0, 0xb4, 0x8e, 0x57, 0xf0, 0x2e, 0xbf, 0xa3, 0xd9, 0xee, 0x76, 0x5b, 0x35,
+	0x1d, 0x87, 0xee, 0xd7, 0x8b, 0x66, 0x24, 0xaa, 0x15, 0x8b, 0x2a, 0xec, 0xe7, 0x3a, 0xc0, 0x1b,
+	0x30, 0x69, 0x92, 0xa8, 0x58, 0xff, 0x93, 0x8d, 0xc6, 0x9d, 0x99, 0xe9, 0xba, 0x97, 0x8d, 0xfe,
+	0x3e, 0x8b, 0x3c, 0x59, 0x64, 0x55, 0x78, 0x6a, 0x33, 0xfa, 0x03, 0xd6, 0x6b, 0x00, 0x5b, 0xd0,
+	0xb9, 0x67, 0x55, 0xbb, 0x9c, 0x3a, 0xc4, 0x9f, 0xa0, 0x5b, 0xd2, 0xe4, 0x81, 0x35, 0xeb, 0x31,
+	0x42, 0x9d, 0xfc, 0x44, 0x3f, 0x8c, 0x29, 0x81, 0x7e, 0x3b, 0x29, 0xfe, 0x00, 0xe6, 0xf5, 0x55,
+	0x14, 0x78, 0x4b, 0xff, 0x9f, 0xef, 0xad, 0xac, 0x37, 0x18, 0xa0, 0xb7, 0x5c, 0xaf, 0xff, 0xfb,
+	0x9e, 0x65, 0xe0, 0x1e, 0x20, 0x3f, 0xb0, 0xd0, 0x82, 0xc3, 0xe7, 0x58, 0x1d, 0xce, 0x4d, 0xbd,
+	0x18, 0xb4, 0xd7, 0x09, 0xea, 0x6b, 0x05, 0xc6, 0xcd, 0xef, 0x16, 0xe2, 0x2a, 0xa1, 0x92, 0x13,
+	0x95, 0x71, 0x87, 0x33, 0xd9, 0xdc, 0xd2, 0xd1, 0x9f, 0x68, 0x2a, 0xf2, 0x17, 0x8f, 0xe4, 0xd7,
+	0x31, 0xd9, 0xf6, 0x1a, 0xf0, 0xdb, 0x53, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5f, 0xbc, 0x13, 0xf4,
+	0x4c, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/service.proto b/googleapis/appengine/v1/service.proto
deleted file mode 100644
index a719759489515a4d84c18d2f33ea66de774612bd..0000000000000000000000000000000000000000
--- a/googleapis/appengine/v1/service.proto
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.appengine.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ServiceProto";
-option java_package = "com.google.appengine.v1";
-
-
-// A Service resource is a logical component of an application that can share
-// state and communicate in a secure fashion with other services.
-// For example, an application that handles customer requests might
-// include separate services to handle tasks such as backend data
-// analysis or API requests from mobile devices. Each service has a
-// collection of versions that define a specific set of code used to
-// implement the functionality of that service.
-message Service {
-  // Full path to the Service resource in the API.
-  // Example: `apps/myapp/services/default`.
-  //
-  // @OutputOnly
-  string name = 1;
-
-  // Relative name of the service within the application.
-  // Example: `default`.
-  //
-  // @OutputOnly
-  string id = 2;
-
-  // Mapping that defines fractional HTTP traffic diversion to
-  // different versions within the service.
-  TrafficSplit split = 3;
-}
-
-// Traffic routing configuration for versions within a single service. Traffic
-// splits define how traffic directed to the service is assigned to versions.
-message TrafficSplit {
-  // Available sharding mechanisms.
-  enum ShardBy {
-    // Diversion method unspecified.
-    UNSPECIFIED = 0;
-
-    // Diversion based on a specially named cookie, "GOOGAPPUID." The cookie
-    // must be set by the application itself or no diversion will occur.
-    COOKIE = 1;
-
-    // Diversion based on applying the modulus operation to a fingerprint
-    // of the IP address.
-    IP = 2;
-  }
-
-  // Mechanism used to determine which version a request is sent to.
-  // The traffic selection algorithm will
-  // be stable for either type until allocations are changed.
-  ShardBy shard_by = 1;
-
-  // Mapping from version IDs within the service to fractional
-  // (0.000, 1] allocations of traffic for that version. Each version can
-  // be specified only once, but some versions in the service may not
-  // have any traffic allocation. Services that have traffic allocated
-  // cannot be deleted until either the service is deleted or
-  // their traffic allocation is removed. Allocations must sum to 1.
-  // Up to two decimal place precision is supported for IP-based splits and
-  // up to three decimal places is supported for cookie-based splits.
-  map<string, double> allocations = 2;
-}
diff --git a/googleapis/appengine/v1/version.pb.go b/googleapis/appengine/v1/version.pb.go
index 98715679dc98543df7dedc7d4181aa2077c75ae3..331a9e5dcfb922f7c4caaa2b9444cd277baa7ffc 100644
--- a/googleapis/appengine/v1/version.pb.go
+++ b/googleapis/appengine/v1/version.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/version.proto
+// source: google/appengine/v1/version.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -249,6 +249,20 @@ func (m *Version) GetScaling() isVersion_Scaling {
 	return nil
 }
 
+func (m *Version) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Version) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 func (m *Version) GetAutomaticScaling() *AutomaticScaling {
 	if x, ok := m.GetScaling().(*Version_AutomaticScaling); ok {
 		return x.AutomaticScaling
@@ -270,6 +284,20 @@ func (m *Version) GetManualScaling() *ManualScaling {
 	return nil
 }
 
+func (m *Version) GetInboundServices() []InboundServiceType {
+	if m != nil {
+		return m.InboundServices
+	}
+	return nil
+}
+
+func (m *Version) GetInstanceClass() string {
+	if m != nil {
+		return m.InstanceClass
+	}
+	return ""
+}
+
 func (m *Version) GetNetwork() *Network {
 	if m != nil {
 		return m.Network
@@ -284,6 +312,27 @@ func (m *Version) GetResources() *Resources {
 	return nil
 }
 
+func (m *Version) GetRuntime() string {
+	if m != nil {
+		return m.Runtime
+	}
+	return ""
+}
+
+func (m *Version) GetThreadsafe() bool {
+	if m != nil {
+		return m.Threadsafe
+	}
+	return false
+}
+
+func (m *Version) GetVm() bool {
+	if m != nil {
+		return m.Vm
+	}
+	return false
+}
+
 func (m *Version) GetBetaSettings() map[string]string {
 	if m != nil {
 		return m.BetaSettings
@@ -291,6 +340,27 @@ func (m *Version) GetBetaSettings() map[string]string {
 	return nil
 }
 
+func (m *Version) GetEnv() string {
+	if m != nil {
+		return m.Env
+	}
+	return ""
+}
+
+func (m *Version) GetServingStatus() ServingStatus {
+	if m != nil {
+		return m.ServingStatus
+	}
+	return ServingStatus_SERVING_STATUS_UNSPECIFIED
+}
+
+func (m *Version) GetCreatedBy() string {
+	if m != nil {
+		return m.CreatedBy
+	}
+	return ""
+}
+
 func (m *Version) GetCreateTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.CreateTime
@@ -298,6 +368,13 @@ func (m *Version) GetCreateTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *Version) GetDiskUsageBytes() int64 {
+	if m != nil {
+		return m.DiskUsageBytes
+	}
+	return 0
+}
+
 func (m *Version) GetHandlers() []*UrlMap {
 	if m != nil {
 		return m.Handlers
@@ -347,6 +424,13 @@ func (m *Version) GetHealthCheck() *HealthCheck {
 	return nil
 }
 
+func (m *Version) GetNobuildFilesRegex() string {
+	if m != nil {
+		return m.NobuildFilesRegex
+	}
+	return ""
+}
+
 func (m *Version) GetDeployment() *Deployment {
 	if m != nil {
 		return m.Deployment
@@ -354,6 +438,13 @@ func (m *Version) GetDeployment() *Deployment {
 	return nil
 }
 
+func (m *Version) GetVersionUrl() string {
+	if m != nil {
+		return m.VersionUrl
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Version) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _Version_OneofMarshaler, _Version_OneofUnmarshaler, _Version_OneofSizer, []interface{}{
@@ -505,6 +596,27 @@ func (m *AutomaticScaling) GetCpuUtilization() *CpuUtilization {
 	return nil
 }
 
+func (m *AutomaticScaling) GetMaxConcurrentRequests() int32 {
+	if m != nil {
+		return m.MaxConcurrentRequests
+	}
+	return 0
+}
+
+func (m *AutomaticScaling) GetMaxIdleInstances() int32 {
+	if m != nil {
+		return m.MaxIdleInstances
+	}
+	return 0
+}
+
+func (m *AutomaticScaling) GetMaxTotalInstances() int32 {
+	if m != nil {
+		return m.MaxTotalInstances
+	}
+	return 0
+}
+
 func (m *AutomaticScaling) GetMaxPendingLatency() *google_protobuf1.Duration {
 	if m != nil {
 		return m.MaxPendingLatency
@@ -512,6 +624,20 @@ func (m *AutomaticScaling) GetMaxPendingLatency() *google_protobuf1.Duration {
 	return nil
 }
 
+func (m *AutomaticScaling) GetMinIdleInstances() int32 {
+	if m != nil {
+		return m.MinIdleInstances
+	}
+	return 0
+}
+
+func (m *AutomaticScaling) GetMinTotalInstances() int32 {
+	if m != nil {
+		return m.MinTotalInstances
+	}
+	return 0
+}
+
 func (m *AutomaticScaling) GetMinPendingLatency() *google_protobuf1.Duration {
 	if m != nil {
 		return m.MinPendingLatency
@@ -564,6 +690,13 @@ func (m *BasicScaling) GetIdleTimeout() *google_protobuf1.Duration {
 	return nil
 }
 
+func (m *BasicScaling) GetMaxInstances() int32 {
+	if m != nil {
+		return m.MaxInstances
+	}
+	return 0
+}
+
 // A service with manual scaling runs continuously, allowing you to perform
 // complex initialization and rely on the state of its memory over time.
 type ManualScaling struct {
@@ -579,6 +712,13 @@ func (m *ManualScaling) String() string            { return proto.CompactTextStr
 func (*ManualScaling) ProtoMessage()               {}
 func (*ManualScaling) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{3} }
 
+func (m *ManualScaling) GetInstances() int32 {
+	if m != nil {
+		return m.Instances
+	}
+	return 0
+}
+
 // Target scaling by CPU usage.
 type CpuUtilization struct {
 	// Period of time over which CPU utilization is calculated.
@@ -600,6 +740,13 @@ func (m *CpuUtilization) GetAggregationWindowLength() *google_protobuf1.Duration
 	return nil
 }
 
+func (m *CpuUtilization) GetTargetUtilization() float64 {
+	if m != nil {
+		return m.TargetUtilization
+	}
+	return 0
+}
+
 // Target scaling by request utilization. Only applicable for VM runtimes.
 type RequestUtilization struct {
 	// Target requests per second.
@@ -613,6 +760,20 @@ func (m *RequestUtilization) String() string            { return proto.CompactTe
 func (*RequestUtilization) ProtoMessage()               {}
 func (*RequestUtilization) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{5} }
 
+func (m *RequestUtilization) GetTargetRequestCountPerSecond() int32 {
+	if m != nil {
+		return m.TargetRequestCountPerSecond
+	}
+	return 0
+}
+
+func (m *RequestUtilization) GetTargetConcurrentRequests() int32 {
+	if m != nil {
+		return m.TargetConcurrentRequests
+	}
+	return 0
+}
+
 // Target scaling by disk usage. Only applicable for VM runtimes.
 type DiskUtilization struct {
 	// Target bytes written per second.
@@ -630,6 +791,34 @@ func (m *DiskUtilization) String() string            { return proto.CompactTextS
 func (*DiskUtilization) ProtoMessage()               {}
 func (*DiskUtilization) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{6} }
 
+func (m *DiskUtilization) GetTargetWriteBytesPerSecond() int32 {
+	if m != nil {
+		return m.TargetWriteBytesPerSecond
+	}
+	return 0
+}
+
+func (m *DiskUtilization) GetTargetWriteOpsPerSecond() int32 {
+	if m != nil {
+		return m.TargetWriteOpsPerSecond
+	}
+	return 0
+}
+
+func (m *DiskUtilization) GetTargetReadBytesPerSecond() int32 {
+	if m != nil {
+		return m.TargetReadBytesPerSecond
+	}
+	return 0
+}
+
+func (m *DiskUtilization) GetTargetReadOpsPerSecond() int32 {
+	if m != nil {
+		return m.TargetReadOpsPerSecond
+	}
+	return 0
+}
+
 // Target scaling by network usage. Only applicable for VM runtimes.
 type NetworkUtilization struct {
 	// Target bytes sent per second.
@@ -647,6 +836,34 @@ func (m *NetworkUtilization) String() string            { return proto.CompactTe
 func (*NetworkUtilization) ProtoMessage()               {}
 func (*NetworkUtilization) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{7} }
 
+func (m *NetworkUtilization) GetTargetSentBytesPerSecond() int32 {
+	if m != nil {
+		return m.TargetSentBytesPerSecond
+	}
+	return 0
+}
+
+func (m *NetworkUtilization) GetTargetSentPacketsPerSecond() int32 {
+	if m != nil {
+		return m.TargetSentPacketsPerSecond
+	}
+	return 0
+}
+
+func (m *NetworkUtilization) GetTargetReceivedBytesPerSecond() int32 {
+	if m != nil {
+		return m.TargetReceivedBytesPerSecond
+	}
+	return 0
+}
+
+func (m *NetworkUtilization) GetTargetReceivedPacketsPerSecond() int32 {
+	if m != nil {
+		return m.TargetReceivedPacketsPerSecond
+	}
+	return 0
+}
+
 // Extra network settings. Only applicable for VM runtimes.
 type Network struct {
 	// List of ports, or port pairs, to forward from the virtual machine to the
@@ -666,6 +883,27 @@ func (m *Network) String() string            { return proto.CompactTextString(m)
 func (*Network) ProtoMessage()               {}
 func (*Network) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{8} }
 
+func (m *Network) GetForwardedPorts() []string {
+	if m != nil {
+		return m.ForwardedPorts
+	}
+	return nil
+}
+
+func (m *Network) GetInstanceTag() string {
+	if m != nil {
+		return m.InstanceTag
+	}
+	return ""
+}
+
+func (m *Network) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Machine resources for a version.
 type Resources struct {
 	// Number of CPU cores needed.
@@ -681,6 +919,27 @@ func (m *Resources) String() string            { return proto.CompactTextString(
 func (*Resources) ProtoMessage()               {}
 func (*Resources) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{9} }
 
+func (m *Resources) GetCpu() float64 {
+	if m != nil {
+		return m.Cpu
+	}
+	return 0
+}
+
+func (m *Resources) GetDiskGb() float64 {
+	if m != nil {
+		return m.DiskGb
+	}
+	return 0
+}
+
+func (m *Resources) GetMemoryGb() float64 {
+	if m != nil {
+		return m.MemoryGb
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*Version)(nil), "google.appengine.v1.Version")
 	proto.RegisterType((*AutomaticScaling)(nil), "google.appengine.v1.AutomaticScaling")
@@ -696,122 +955,119 @@ func init() {
 	proto.RegisterEnum("google.appengine.v1.ServingStatus", ServingStatus_name, ServingStatus_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/version.proto", fileDescriptor8)
-}
+func init() { proto.RegisterFile("google/appengine/v1/version.proto", fileDescriptor8) }
 
 var fileDescriptor8 = []byte{
-	// 1784 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x57, 0x5d, 0x73, 0xdb, 0xc6,
-	0x15, 0x0d, 0x29, 0x4b, 0x14, 0x2f, 0x3f, 0x44, 0xad, 0xd3, 0x08, 0x96, 0x64, 0x99, 0x66, 0x92,
-	0xb1, 0x9a, 0x69, 0xc8, 0x89, 0x3b, 0x93, 0xb6, 0x8e, 0xa7, 0x8e, 0x48, 0xd1, 0x16, 0x5b, 0x7d,
-	0x70, 0x00, 0xd1, 0xce, 0x1b, 0x66, 0x09, 0xac, 0xc0, 0xad, 0x80, 0x05, 0xb2, 0x58, 0x50, 0x62,
-	0xff, 0x43, 0x1f, 0xdb, 0xe9, 0x8f, 0xe8, 0x63, 0xdf, 0xfa, 0xe7, 0x3a, 0xbb, 0x00, 0x48, 0x90,
-	0x44, 0xac, 0x24, 0x6f, 0xd8, 0xbb, 0xe7, 0x9c, 0x3d, 0xb8, 0x7b, 0xf7, 0x2e, 0x00, 0xdf, 0x3b,
-	0xbe, 0xef, 0xb8, 0xa4, 0xed, 0xf8, 0x2e, 0x66, 0x4e, 0xdb, 0xe7, 0x4e, 0xc7, 0x21, 0x2c, 0xe0,
-	0xbe, 0xf0, 0x3b, 0xf1, 0x14, 0x0e, 0x68, 0xd8, 0xc1, 0x41, 0x40, 0x98, 0x43, 0x19, 0xe9, 0x4c,
-	0xbf, 0xe9, 0x4c, 0x09, 0x0f, 0xa9, 0xcf, 0xda, 0x0a, 0x85, 0x1e, 0x27, 0x0a, 0x73, 0x48, 0x7b,
-	0xfa, 0xcd, 0xfe, 0xe0, 0xe7, 0xca, 0xd2, 0x4e, 0x48, 0xf8, 0x94, 0x5a, 0xc4, 0xf2, 0xd9, 0x0d,
-	0x75, 0x3a, 0x98, 0x31, 0x5f, 0x60, 0x41, 0x7d, 0x16, 0xc6, 0xfa, 0xfb, 0x27, 0xbf, 0xc2, 0x21,
-	0x0e, 0x02, 0x73, 0x86, 0x3d, 0x37, 0x91, 0x78, 0xf3, 0x2b, 0x24, 0x6c, 0x12, 0xb8, 0xfe, 0x2c,
-	0x11, 0xf8, 0x93, 0x43, 0xc5, 0x24, 0x1a, 0xb7, 0x2d, 0xdf, 0xeb, 0xc4, 0x22, 0x1d, 0x35, 0x31,
-	0x8e, 0x6e, 0x3a, 0x81, 0x98, 0x05, 0x24, 0xec, 0xd8, 0x11, 0x57, 0xb6, 0xe7, 0x0f, 0x09, 0xf5,
-	0xbb, 0x87, 0xa9, 0x82, 0x7a, 0x24, 0x14, 0xd8, 0x0b, 0x16, 0x4f, 0x31, 0xb9, 0xf5, 0xcf, 0x1a,
-	0x94, 0xde, 0xc7, 0xd9, 0x46, 0x08, 0x1e, 0x31, 0xec, 0x11, 0xad, 0xd0, 0x2c, 0x1c, 0x97, 0x75,
-	0xf5, 0x8c, 0xea, 0x50, 0xa4, 0xb6, 0x56, 0x54, 0x91, 0x22, 0xb5, 0xd1, 0x35, 0xec, 0xe2, 0x48,
-	0xf8, 0x1e, 0x16, 0xd4, 0x32, 0x43, 0x0b, 0xbb, 0x94, 0x39, 0xda, 0x46, 0xb3, 0x70, 0x5c, 0x79,
-	0xf9, 0x65, 0x3b, 0x67, 0x9f, 0xda, 0x27, 0x29, 0xda, 0x88, 0xc1, 0x67, 0x9f, 0xe8, 0x0d, 0xbc,
-	0x12, 0x43, 0x67, 0x50, 0x1b, 0xe3, 0x30, 0xa3, 0xf8, 0x48, 0x29, 0x3e, 0xcf, 0x55, 0xec, 0x4a,
-	0xe4, 0x42, 0xad, 0x3a, 0xce, 0x8c, 0xd1, 0x5f, 0xa1, 0xee, 0x61, 0x16, 0x61, 0x77, 0x2e, 0xb5,
-	0xa9, 0xa4, 0x5a, 0xb9, 0x52, 0x17, 0x0a, 0xba, 0xd0, 0xaa, 0x79, 0xd9, 0x00, 0xd2, 0xa1, 0x41,
-	0xd9, 0xd8, 0x8f, 0x98, 0x6d, 0x26, 0x35, 0x14, 0x6a, 0x5b, 0xcd, 0x8d, 0xe3, 0xfa, 0xcb, 0x17,
-	0xb9, 0x72, 0x83, 0x18, 0x6c, 0xc4, 0xd8, 0xeb, 0x59, 0x40, 0xf4, 0x1d, 0xba, 0x14, 0x0b, 0xd1,
-	0x97, 0x50, 0xa7, 0x2c, 0x14, 0x98, 0x59, 0xc4, 0xb4, 0x5c, 0x1c, 0x86, 0x5a, 0x49, 0x25, 0xb7,
-	0x96, 0x46, 0x7b, 0x32, 0x88, 0xbe, 0x85, 0x12, 0x23, 0xe2, 0xce, 0xe7, 0xb7, 0xda, 0xb6, 0x7a,
-	0x81, 0xc3, 0xdc, 0x15, 0x2f, 0x63, 0x8c, 0x9e, 0x82, 0xd1, 0x6b, 0x28, 0x73, 0x12, 0xfa, 0x11,
-	0x97, 0x5e, 0xcb, 0x8a, 0x79, 0x94, 0xcb, 0xd4, 0x53, 0x94, 0xbe, 0x20, 0x20, 0x0d, 0x4a, 0x3c,
-	0x62, 0xb2, 0x46, 0x34, 0x50, 0xae, 0xd2, 0x21, 0x3a, 0x02, 0x10, 0x13, 0x4e, 0xb0, 0x1d, 0xe2,
-	0x1b, 0xa2, 0x55, 0x9a, 0x85, 0xe3, 0x6d, 0x3d, 0x13, 0x91, 0x75, 0x32, 0xf5, 0xb4, 0xaa, 0x8a,
-	0x17, 0xa7, 0x1e, 0x32, 0xa0, 0x36, 0x26, 0x02, 0x9b, 0x21, 0x11, 0x82, 0x32, 0x27, 0xd4, 0x6a,
-	0xcd, 0x8d, 0xe3, 0xca, 0xcb, 0x76, 0xae, 0x97, 0xa4, 0x00, 0xdb, 0x5d, 0x22, 0xb0, 0x91, 0x10,
-	0xfa, 0x4c, 0xf0, 0x99, 0x5e, 0x1d, 0x67, 0x42, 0xa8, 0x01, 0x1b, 0x84, 0x4d, 0xb5, 0xba, 0xb2,
-	0x26, 0x1f, 0xd1, 0x00, 0xea, 0x6a, 0x67, 0x98, 0x63, 0x86, 0x02, 0x8b, 0x28, 0xd4, 0x76, 0x9a,
-	0x85, 0xe3, 0xfa, 0x4f, 0x6c, 0xb7, 0x11, 0x43, 0x0d, 0x85, 0xd4, 0x6b, 0x61, 0x76, 0x88, 0x9e,
-	0x02, 0x58, 0x9c, 0x60, 0x41, 0x6c, 0x73, 0x3c, 0xd3, 0x1a, 0x6a, 0x8d, 0x72, 0x12, 0xe9, 0xce,
-	0xd0, 0x77, 0x50, 0x89, 0x07, 0xa6, 0x4a, 0xcf, 0xae, 0x4a, 0xed, 0x7e, 0xba, 0x4c, 0x7a, 0xe0,
-	0xda, 0xd7, 0xe9, 0xf9, 0xd2, 0x13, 0x35, 0x19, 0x40, 0xc7, 0xd0, 0xb0, 0x69, 0x78, 0x6b, 0x46,
-	0x21, 0x76, 0x88, 0x39, 0x9e, 0x09, 0x12, 0x6a, 0xa8, 0x59, 0x38, 0xde, 0xd0, 0xeb, 0x32, 0x3e,
-	0x92, 0xe1, 0xae, 0x8c, 0xa2, 0x3f, 0xc0, 0xf6, 0x04, 0x33, 0xdb, 0x25, 0x3c, 0xd4, 0x6c, 0x95,
-	0xb2, 0x83, 0xdc, 0x57, 0x19, 0x71, 0xf7, 0x02, 0x07, 0xfa, 0x1c, 0x8c, 0xce, 0xa0, 0x4e, 0x38,
-	0xf7, 0xb9, 0x39, 0xa7, 0x13, 0x45, 0xcf, 0x3f, 0x43, 0x7d, 0x09, 0x3d, 0x8b, 0x91, 0x7a, 0x8d,
-	0x64, 0x46, 0x21, 0x7a, 0x05, 0x65, 0x97, 0x8e, 0x39, 0xe6, 0x94, 0x84, 0xda, 0x8d, 0x12, 0xc9,
-	0x2f, 0xbe, 0x73, 0x85, 0x9a, 0xe9, 0x0b, 0x38, 0x3a, 0x05, 0xc0, 0x01, 0x35, 0xe3, 0x56, 0xab,
-	0x39, 0x1f, 0xeb, 0x0b, 0x01, 0xed, 0x29, 0x54, 0xea, 0xa2, 0x8c, 0xd3, 0x88, 0x2c, 0x1e, 0xc2,
-	0xa6, 0xe6, 0x14, 0x73, 0x8a, 0xc7, 0x2e, 0x09, 0xb5, 0xc9, 0xcf, 0x28, 0x9e, 0x3e, 0x9b, 0xbe,
-	0x4f, 0x09, 0x49, 0xf1, 0x90, 0x4c, 0x08, 0x9d, 0x01, 0xb2, 0xc9, 0x0d, 0x8e, 0x5c, 0x61, 0x92,
-	0xfb, 0x80, 0xc6, 0x2d, 0x54, 0xa3, 0xca, 0xe2, 0x93, 0xb5, 0x7d, 0x3c, 0x4d, 0x7a, 0xac, 0xbe,
-	0x9b, 0x90, 0xfa, 0x73, 0x0e, 0xea, 0x41, 0x75, 0x42, 0xb0, 0x2b, 0x26, 0xa6, 0x35, 0x21, 0xd6,
-	0xad, 0xf6, 0x37, 0xa5, 0xd1, 0xcc, 0x75, 0x77, 0xa6, 0x80, 0x3d, 0x89, 0xd3, 0x2b, 0x93, 0xc5,
-	0x00, 0xb5, 0xe1, 0x31, 0xf3, 0xc7, 0x11, 0x75, 0x6d, 0xf3, 0x86, 0xba, 0x24, 0x34, 0x39, 0x71,
-	0xc8, 0xbd, 0x76, 0xab, 0xea, 0x6e, 0x37, 0x99, 0x7a, 0x2b, 0x67, 0x74, 0x39, 0x81, 0xde, 0x00,
-	0xc4, 0x17, 0x86, 0x47, 0x98, 0xd0, 0x5c, 0xb5, 0xe4, 0xb3, 0xdc, 0x25, 0x4f, 0xe7, 0x30, 0x3d,
-	0x43, 0x41, 0xcf, 0xa0, 0x92, 0x5c, 0xab, 0x66, 0xc4, 0x5d, 0xcd, 0x53, 0x0b, 0x41, 0x12, 0x1a,
-	0x71, 0x77, 0xff, 0x0d, 0xec, 0xae, 0x1d, 0x40, 0x79, 0xe4, 0x6e, 0xc9, 0x2c, 0xb9, 0x12, 0xe4,
-	0x23, 0xfa, 0x14, 0x36, 0xa7, 0xd8, 0x8d, 0x48, 0x72, 0x29, 0xc4, 0x83, 0x57, 0xc5, 0x3f, 0x16,
-	0xa4, 0xc0, 0xda, 0x26, 0xfc, 0x12, 0x81, 0x6e, 0x19, 0x4a, 0x49, 0xd7, 0x6e, 0xfd, 0x77, 0x0b,
-	0x1a, 0xab, 0x57, 0x07, 0xea, 0x41, 0xc3, 0xf2, 0x7d, 0xd7, 0xb4, 0xfd, 0x3b, 0x66, 0x06, 0x84,
-	0x53, 0xdf, 0x56, 0xc2, 0x1f, 0xdd, 0xc0, 0xba, 0xa4, 0x9c, 0xfa, 0x77, 0x6c, 0xa8, 0x08, 0xe8,
-	0x1c, 0x76, 0xac, 0x20, 0x32, 0x23, 0x41, 0x5d, 0xfa, 0xf7, 0xb8, 0x08, 0x8a, 0x4a, 0xe3, 0xf3,
-	0xdc, 0x6c, 0xf6, 0x82, 0x68, 0xb4, 0x80, 0xea, 0x75, 0x6b, 0x69, 0x8c, 0xbe, 0x85, 0x3d, 0x0f,
-	0xdf, 0xcb, 0x82, 0xb7, 0x22, 0xce, 0x09, 0x13, 0x26, 0x27, 0x3f, 0x46, 0x24, 0x14, 0xa1, 0xba,
-	0x15, 0x37, 0xf5, 0xdf, 0x78, 0xf8, 0xbe, 0x37, 0x9f, 0xd5, 0x93, 0x49, 0xf4, 0x3b, 0x40, 0x92,
-	0x47, 0x6d, 0x97, 0x98, 0x69, 0xe7, 0x0f, 0xd5, 0xb5, 0xb7, 0xa9, 0x37, 0x3c, 0x7c, 0x3f, 0xb0,
-	0x5d, 0x32, 0x48, 0xe3, 0xb2, 0x58, 0x24, 0x5a, 0xf8, 0x02, 0xbb, 0x19, 0xf8, 0xa6, 0x82, 0xef,
-	0x7a, 0xf8, 0xfe, 0x5a, 0xce, 0x2c, 0xf0, 0x83, 0x18, 0x1f, 0x10, 0x66, 0xcb, 0xd6, 0xe8, 0x62,
-	0x41, 0x98, 0x35, 0xd3, 0xb6, 0x1e, 0x2c, 0x76, 0x0f, 0xdf, 0x0f, 0x63, 0xd2, 0x79, 0xcc, 0x51,
-	0x46, 0x29, 0x5b, 0x35, 0x5a, 0x4a, 0x8c, 0x52, 0xb6, 0x6e, 0x94, 0xb2, 0x35, 0xa3, 0xdb, 0x89,
-	0x51, 0xca, 0x72, 0x8c, 0x52, 0xb6, 0x66, 0xb4, 0xfc, 0xb0, 0x51, 0xca, 0x56, 0x8c, 0xfe, 0x00,
-	0x8f, 0x93, 0xd4, 0x2f, 0xed, 0x2d, 0x28, 0xa9, 0x17, 0x3f, 0x71, 0x07, 0x2a, 0x7c, 0x76, 0x7f,
-	0x11, 0x5f, 0x8b, 0xa1, 0xab, 0xb4, 0x7b, 0x67, 0x64, 0x2b, 0x4a, 0xf6, 0x8b, 0xfc, 0x03, 0x28,
-	0x5b, 0x7a, 0x46, 0x73, 0xc7, 0x5e, 0x0e, 0x48, 0xab, 0xc9, 0x7d, 0xbd, 0xa4, 0x59, 0xfd, 0x88,
-	0xd5, 0xe4, 0xa2, 0x5f, 0xb2, 0xca, 0xd6, 0x62, 0xad, 0x1f, 0xa1, 0x9a, 0xfd, 0x3c, 0x42, 0xaf,
-	0xa1, 0xaa, 0x76, 0x4e, 0xde, 0x59, 0x7e, 0x24, 0x1e, 0x3e, 0x2d, 0x15, 0x09, 0xbf, 0x8e, 0xd1,
-	0xe8, 0x73, 0xa8, 0xa9, 0x22, 0x9d, 0xef, 0x63, 0x51, 0xed, 0x63, 0x55, 0xd6, 0x67, 0x1a, 0x6b,
-	0x7d, 0x0d, 0xb5, 0xa5, 0xcf, 0x28, 0x74, 0x08, 0xe5, 0x05, 0xa3, 0xa0, 0x18, 0x8b, 0x40, 0xeb,
-	0x5f, 0x05, 0xa8, 0x2f, 0x9f, 0x29, 0x34, 0x82, 0x27, 0xd8, 0x71, 0x38, 0x71, 0xd4, 0xd0, 0xbc,
-	0xa3, 0xcc, 0xf6, 0xef, 0x4c, 0x97, 0x30, 0x47, 0x4c, 0x1e, 0x76, 0xbc, 0x97, 0xe1, 0x7e, 0x50,
-	0xd4, 0x73, 0xc5, 0x44, 0x5f, 0x03, 0x12, 0x98, 0x3b, 0x44, 0xac, 0x9d, 0xf5, 0x82, 0xbe, 0x1b,
-	0xcf, 0x64, 0x53, 0xf7, 0xef, 0x02, 0xa0, 0xf5, 0x82, 0x40, 0xa7, 0xf0, 0x2c, 0x51, 0x49, 0xab,
-	0xcb, 0xf2, 0x23, 0x26, 0x64, 0xfb, 0x31, 0x43, 0xf9, 0x4f, 0x61, 0x27, 0xef, 0x78, 0x10, 0xc3,
-	0x12, 0x89, 0x9e, 0x04, 0x0d, 0x09, 0x37, 0x14, 0x04, 0xbd, 0x86, 0xfd, 0x44, 0x25, 0xaf, 0x53,
-	0xc4, 0x69, 0xd5, 0x62, 0xc4, 0x7a, 0xb3, 0x68, 0xfd, 0xa3, 0x08, 0x3b, 0x2b, 0x45, 0x85, 0xbe,
-	0x87, 0xa7, 0x89, 0xe2, 0x1d, 0xa7, 0x22, 0xf9, 0xa8, 0xc8, 0xba, 0xaa, 0x2b, 0xd1, 0x27, 0x31,
-	0xe8, 0x83, 0xc4, 0xa8, 0x2f, 0x8c, 0xac, 0xa7, 0x83, 0x25, 0x05, 0x3f, 0x58, 0xe2, 0xef, 0x28,
-	0xfe, 0x5e, 0x86, 0x7f, 0x15, 0x64, 0xd8, 0x7f, 0x86, 0xc3, 0x79, 0x5e, 0xb0, 0xbd, 0xbe, 0x7c,
-	0x23, 0xfb, 0x4e, 0x3a, 0xc1, 0xf6, 0xca, 0xea, 0xaf, 0xe6, 0x19, 0x51, 0xfc, 0x95, 0xc5, 0x77,
-	0x15, 0xfb, 0xb3, 0x05, 0x3b, 0xbb, 0x76, 0xeb, 0x3f, 0x45, 0x40, 0xeb, 0x07, 0x22, 0x63, 0x29,
-	0x94, 0xe9, 0x5d, 0xb3, 0x54, 0xc8, 0x5a, 0x32, 0x08, 0x13, 0x2b, 0x96, 0xba, 0x70, 0x94, 0xe5,
-	0x07, 0xd8, 0xba, 0x25, 0x62, 0x49, 0xa1, 0xa2, 0x14, 0xf6, 0x17, 0x0a, 0xc3, 0x18, 0xb3, 0xd0,
-	0x78, 0x0b, 0xcd, 0xf9, 0x6b, 0x59, 0x84, 0x4e, 0x49, 0x4e, 0x6a, 0xaa, 0x4a, 0xe5, 0x30, 0x7d,
-	0xb9, 0x18, 0xb6, 0xe2, 0xe5, 0x2f, 0xd0, 0x5a, 0xd5, 0xc9, 0xf1, 0x53, 0x53, 0x4a, 0x47, 0xcb,
-	0x4a, 0xab, 0x9e, 0x5a, 0x14, 0x4a, 0x49, 0xb6, 0xd0, 0x0b, 0xd8, 0xb9, 0xf1, 0xf9, 0x1d, 0xe6,
-	0xb6, 0x14, 0xf4, 0xb9, 0x90, 0x27, 0x74, 0xe3, 0xb8, 0xac, 0xd7, 0xe7, 0xe1, 0xa1, 0x8c, 0xa2,
-	0xe7, 0x50, 0x9d, 0xff, 0xa6, 0x08, 0xec, 0x24, 0x77, 0x75, 0x25, 0x8d, 0x5d, 0x63, 0x67, 0xfe,
-	0xbb, 0xb8, 0xb1, 0xf8, 0x5d, 0x6c, 0x19, 0x50, 0x9e, 0xff, 0x58, 0xc8, 0xab, 0xdf, 0x0a, 0x22,
-	0x95, 0xf6, 0x82, 0x2e, 0x1f, 0xd1, 0x1e, 0x94, 0x54, 0x27, 0x75, 0xc6, 0xc9, 0x39, 0xdc, 0x92,
-	0xc3, 0x77, 0x63, 0x74, 0x00, 0x65, 0x8f, 0x78, 0x3e, 0x9f, 0xc9, 0xa9, 0x0d, 0x35, 0xb5, 0x1d,
-	0x07, 0xde, 0x8d, 0xbf, 0xfa, 0x5f, 0x11, 0xd0, 0xfa, 0xaf, 0x15, 0x7a, 0x06, 0x07, 0x83, 0xcb,
-	0xee, 0xd5, 0xe8, 0xf2, 0xd4, 0x34, 0xfa, 0xfa, 0xfb, 0x41, 0xaf, 0x6f, 0x8e, 0x2e, 0x8d, 0x61,
-	0xbf, 0x37, 0x78, 0x3b, 0xe8, 0x9f, 0x36, 0x3e, 0x41, 0x1a, 0x7c, 0xba, 0x0a, 0xb8, 0x38, 0x19,
-	0x9c, 0x37, 0x0a, 0x79, 0x54, 0x39, 0x63, 0xca, 0x50, 0xaf, 0xdf, 0x28, 0xa2, 0x23, 0xd8, 0x5f,
-	0x05, 0xfc, 0x70, 0x31, 0x1c, 0x9a, 0x7d, 0x5d, 0xbf, 0xd2, 0x1b, 0x1b, 0xa8, 0x09, 0x87, 0xb9,
-	0xf3, 0x17, 0x7d, 0xc3, 0x38, 0x79, 0xd7, 0x6f, 0x3c, 0x42, 0x2d, 0x38, 0xca, 0x45, 0x18, 0xa3,
-	0xae, 0xd1, 0xd3, 0x07, 0xdd, 0x7e, 0x63, 0x13, 0x3d, 0x87, 0xa7, 0xb9, 0x98, 0xa1, 0xde, 0x37,
-	0xfa, 0xd2, 0xc8, 0x16, 0xfa, 0x02, 0x9a, 0xab, 0x90, 0xde, 0xd9, 0xc9, 0xe5, 0x65, 0xff, 0x7c,
-	0x81, 0x2a, 0xa1, 0x7d, 0xf8, 0x6c, 0x15, 0xf5, 0xe1, 0x44, 0xbf, 0x18, 0x0d, 0x1b, 0xe5, 0xaf,
-	0x06, 0x50, 0x5b, 0xfa, 0xef, 0x91, 0xef, 0xa6, 0x40, 0x97, 0xef, 0x4c, 0xe3, 0xfa, 0xe4, 0x7a,
-	0x64, 0xac, 0xa4, 0xad, 0x02, 0xa5, 0x64, 0xbe, 0x51, 0x50, 0x83, 0xeb, 0xab, 0xe1, 0xb0, 0x7f,
-	0xda, 0x28, 0x76, 0x7f, 0x0b, 0x7b, 0x96, 0xef, 0xe5, 0xdd, 0x4f, 0xdd, 0x6a, 0xf2, 0x19, 0x3e,
-	0x94, 0xfd, 0x79, 0x58, 0x18, 0x6f, 0xa9, 0x46, 0xfd, 0xfb, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff,
-	0xfa, 0x40, 0xf2, 0x62, 0xfe, 0x11, 0x00, 0x00,
+	// 1767 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x58, 0x5d, 0x73, 0xdb, 0xc6,
+	0x15, 0x0d, 0x29, 0x4b, 0x14, 0x2f, 0x3f, 0x04, 0xad, 0xd3, 0x08, 0x96, 0x64, 0x89, 0x66, 0x92,
+	0xb1, 0x26, 0xd3, 0x50, 0x13, 0x77, 0x26, 0xed, 0x38, 0x9e, 0xa6, 0x22, 0x45, 0x5b, 0x6c, 0xf5,
+	0xc1, 0x01, 0x48, 0x3b, 0xd3, 0x17, 0xcc, 0x12, 0x58, 0x41, 0x5b, 0x01, 0x0b, 0x64, 0xb1, 0xa0,
+	0xc4, 0xfe, 0x87, 0x3e, 0xb6, 0xd3, 0x1f, 0xd1, 0xc7, 0xbe, 0xf5, 0xcf, 0x75, 0x76, 0x01, 0x90,
+	0x20, 0x89, 0xd8, 0xed, 0x1b, 0xf7, 0xee, 0x39, 0x67, 0x0f, 0xee, 0xde, 0xbd, 0x0b, 0x10, 0x5e,
+	0xb8, 0x41, 0xe0, 0x7a, 0xe4, 0x14, 0x87, 0x21, 0x61, 0x2e, 0x65, 0xe4, 0x74, 0xfa, 0xdd, 0xe9,
+	0x94, 0xf0, 0x88, 0x06, 0xac, 0x13, 0xf2, 0x40, 0x04, 0xe8, 0x69, 0x02, 0xe9, 0xcc, 0x21, 0x9d,
+	0xe9, 0x77, 0xfb, 0x87, 0x73, 0x1e, 0x3d, 0xc5, 0x8c, 0x05, 0x02, 0x0b, 0x1a, 0xb0, 0x28, 0xa1,
+	0xec, 0xb7, 0x8b, 0x54, 0x71, 0x18, 0x5a, 0x33, 0xec, 0x7b, 0x29, 0xa6, 0x55, 0x84, 0x71, 0x48,
+	0xe8, 0x05, 0xb3, 0x14, 0x71, 0x94, 0x22, 0xd4, 0x68, 0x12, 0xdf, 0x9e, 0x3a, 0x31, 0x57, 0xcb,
+	0xa4, 0xf3, 0xc7, 0xab, 0xf3, 0x82, 0xfa, 0x24, 0x12, 0xd8, 0x0f, 0x13, 0x40, 0xfb, 0xef, 0x0d,
+	0xa8, 0xbc, 0x4f, 0x9e, 0x05, 0x21, 0x78, 0xc2, 0xb0, 0x4f, 0xf4, 0x52, 0xab, 0x74, 0x52, 0x35,
+	0xd4, 0x6f, 0xd4, 0x84, 0x32, 0x75, 0xf4, 0xb2, 0x8a, 0x94, 0xa9, 0x83, 0x46, 0xb0, 0x8b, 0x63,
+	0x11, 0xf8, 0x58, 0x50, 0xdb, 0x8a, 0x6c, 0xec, 0x51, 0xe6, 0xea, 0x1b, 0xad, 0xd2, 0x49, 0xed,
+	0xd5, 0xd7, 0x9d, 0x82, 0x2c, 0x74, 0xce, 0x32, 0xb4, 0x99, 0x80, 0x2f, 0x3e, 0x33, 0x34, 0xbc,
+	0x12, 0x43, 0x17, 0xd0, 0x98, 0xe0, 0x28, 0xa7, 0xf8, 0x44, 0x29, 0xbe, 0x28, 0x54, 0xec, 0x4a,
+	0xe4, 0x42, 0xad, 0x3e, 0xc9, 0x8d, 0xd1, 0x9f, 0xa0, 0xe9, 0x63, 0x16, 0x63, 0x6f, 0x2e, 0xb5,
+	0xa9, 0xa4, 0xda, 0x85, 0x52, 0x57, 0x0a, 0xba, 0xd0, 0x6a, 0xf8, 0xf9, 0x00, 0x32, 0x40, 0xa3,
+	0x6c, 0x12, 0xc4, 0xcc, 0xb1, 0x22, 0xc2, 0xa7, 0xd4, 0x26, 0x91, 0xbe, 0xd5, 0xda, 0x38, 0x69,
+	0xbe, 0x7a, 0x59, 0x28, 0x37, 0x48, 0xc0, 0x66, 0x82, 0x1d, 0xcd, 0x42, 0x62, 0xec, 0xd0, 0xa5,
+	0x58, 0x84, 0xbe, 0x86, 0x26, 0x65, 0x91, 0xc0, 0xcc, 0x26, 0x96, 0xed, 0xe1, 0x28, 0xd2, 0x2b,
+	0x2a, 0xb9, 0x8d, 0x2c, 0xda, 0x93, 0x41, 0xf4, 0x3d, 0x54, 0x18, 0x11, 0x0f, 0x01, 0xbf, 0xd7,
+	0xb7, 0xd5, 0x03, 0x1c, 0x16, 0xae, 0x78, 0x9d, 0x60, 0x8c, 0x0c, 0x8c, 0xde, 0x40, 0x95, 0x93,
+	0x28, 0x88, 0xb9, 0xf4, 0x5a, 0x55, 0xcc, 0xa3, 0x42, 0xa6, 0x91, 0xa1, 0x8c, 0x05, 0x01, 0xe9,
+	0x50, 0xe1, 0x31, 0x93, 0x35, 0xa2, 0x83, 0x72, 0x95, 0x0d, 0xd1, 0x11, 0x80, 0xb8, 0xe3, 0x04,
+	0x3b, 0x11, 0xbe, 0x25, 0x7a, 0xad, 0x55, 0x3a, 0xd9, 0x36, 0x72, 0x11, 0x59, 0x27, 0x53, 0x5f,
+	0xaf, 0xab, 0x78, 0x79, 0xea, 0x23, 0x13, 0x1a, 0x13, 0x22, 0xb0, 0x15, 0x11, 0x21, 0x28, 0x73,
+	0x23, 0xbd, 0xd1, 0xda, 0x38, 0xa9, 0xbd, 0xea, 0x14, 0x7a, 0x49, 0x0b, 0xb0, 0xd3, 0x25, 0x02,
+	0x9b, 0x29, 0xa1, 0xcf, 0x04, 0x9f, 0x19, 0xf5, 0x49, 0x2e, 0x84, 0x34, 0xd8, 0x20, 0x6c, 0xaa,
+	0x37, 0x95, 0x35, 0xf9, 0x13, 0x0d, 0xa0, 0xa9, 0x76, 0x86, 0xb9, 0x56, 0x24, 0xb0, 0x88, 0x23,
+	0x7d, 0xa7, 0x55, 0x3a, 0x69, 0xfe, 0xc2, 0x76, 0x9b, 0x09, 0xd4, 0x54, 0x48, 0xa3, 0x11, 0xe5,
+	0x87, 0xe8, 0x39, 0x80, 0xcd, 0x09, 0x16, 0xc4, 0xb1, 0x26, 0x33, 0x5d, 0x53, 0x6b, 0x54, 0xd3,
+	0x48, 0x77, 0x86, 0x7e, 0x80, 0x5a, 0x32, 0xb0, 0x54, 0x7a, 0x76, 0x55, 0x6a, 0xf7, 0xb3, 0x65,
+	0xb2, 0xf3, 0xd5, 0x19, 0x65, 0xe7, 0xcb, 0x48, 0xd5, 0x64, 0x00, 0x9d, 0x80, 0xe6, 0xd0, 0xe8,
+	0xde, 0x8a, 0x23, 0xec, 0x12, 0x6b, 0x32, 0x13, 0x24, 0xd2, 0x51, 0xab, 0x74, 0xb2, 0x61, 0x34,
+	0x65, 0x7c, 0x2c, 0xc3, 0x5d, 0x19, 0x45, 0xbf, 0x85, 0xed, 0x3b, 0xcc, 0x1c, 0x8f, 0xf0, 0x48,
+	0x77, 0x54, 0xca, 0x0e, 0x0a, 0x1f, 0x65, 0xcc, 0xbd, 0x2b, 0x1c, 0x1a, 0x73, 0x30, 0xba, 0x80,
+	0x26, 0xe1, 0x3c, 0xe0, 0xd6, 0x9c, 0x4e, 0x14, 0xbd, 0xf8, 0x0c, 0xf5, 0x25, 0xf4, 0x22, 0x41,
+	0x1a, 0x0d, 0x92, 0x1b, 0x45, 0xe8, 0x35, 0x54, 0x3d, 0x3a, 0xe1, 0x98, 0x53, 0x12, 0xe9, 0xb7,
+	0x4a, 0xa4, 0xb8, 0xf8, 0x2e, 0x15, 0x6a, 0x66, 0x2c, 0xe0, 0xe8, 0x1c, 0x00, 0x87, 0xd4, 0xb2,
+	0x03, 0x76, 0x4b, 0x5d, 0xdd, 0xfd, 0x58, 0x5f, 0x08, 0x69, 0x4f, 0xa1, 0x32, 0x17, 0x55, 0x9c,
+	0x45, 0x64, 0xf1, 0x10, 0x36, 0xb5, 0xa6, 0x98, 0x53, 0x3c, 0xf1, 0x48, 0xa4, 0xdf, 0xfd, 0x0f,
+	0xc5, 0xd3, 0x67, 0xd3, 0xf7, 0x19, 0x21, 0x2d, 0x1e, 0x92, 0x0b, 0xa1, 0x0b, 0x40, 0x0e, 0xb9,
+	0xc5, 0xb1, 0x27, 0x2c, 0xf2, 0x18, 0xd2, 0xa4, 0x4d, 0xea, 0x54, 0x59, 0x7c, 0xb6, 0xb6, 0x8f,
+	0xe7, 0x69, 0x1f, 0x35, 0x76, 0x53, 0x52, 0x7f, 0xce, 0x41, 0x3d, 0xa8, 0xdf, 0x11, 0xec, 0x89,
+	0x3b, 0xcb, 0xbe, 0x23, 0xf6, 0xbd, 0xfe, 0x17, 0xa5, 0xd1, 0x2a, 0x74, 0x77, 0xa1, 0x80, 0x3d,
+	0x89, 0x33, 0x6a, 0x77, 0x8b, 0x01, 0xea, 0xc0, 0x53, 0x16, 0x4c, 0x62, 0xea, 0x39, 0xd6, 0x2d,
+	0xf5, 0x48, 0x64, 0x71, 0xe2, 0x92, 0x47, 0xfd, 0x5e, 0xd5, 0xdd, 0x6e, 0x3a, 0xf5, 0x56, 0xce,
+	0x18, 0x72, 0x02, 0xfd, 0x08, 0x90, 0x74, 0x7e, 0x9f, 0x30, 0xa1, 0x7b, 0x6a, 0xc9, 0xe3, 0xc2,
+	0x25, 0xcf, 0xe7, 0x30, 0x23, 0x47, 0x41, 0xc7, 0x50, 0x4b, 0x2f, 0x2d, 0x2b, 0xe6, 0x9e, 0xee,
+	0xab, 0x85, 0x20, 0x0d, 0x8d, 0xb9, 0xb7, 0xff, 0x23, 0xec, 0xae, 0x1d, 0x40, 0x79, 0xe4, 0xee,
+	0xc9, 0x2c, 0xbd, 0x12, 0xe4, 0x4f, 0xf4, 0x39, 0x6c, 0x4e, 0xb1, 0x17, 0x93, 0xf4, 0x52, 0x48,
+	0x06, 0xaf, 0xcb, 0xbf, 0x2b, 0x49, 0x81, 0xb5, 0x4d, 0xf8, 0x7f, 0x04, 0xba, 0x55, 0xa8, 0xa4,
+	0x5d, 0xbb, 0xfd, 0xef, 0x2d, 0xd0, 0x56, 0xaf, 0x0e, 0xd4, 0x03, 0xcd, 0x0e, 0x02, 0xcf, 0x72,
+	0x82, 0x07, 0x66, 0x85, 0x84, 0xd3, 0xc0, 0x51, 0xc2, 0x1f, 0xdd, 0xc0, 0xa6, 0xa4, 0x9c, 0x07,
+	0x0f, 0x6c, 0xa8, 0x08, 0xe8, 0x12, 0x76, 0xec, 0x30, 0xb6, 0x62, 0x41, 0x3d, 0xfa, 0xd7, 0xa4,
+	0x08, 0xca, 0x4a, 0xe3, 0xcb, 0xc2, 0x6c, 0xf6, 0xc2, 0x78, 0xbc, 0x80, 0x1a, 0x4d, 0x7b, 0x69,
+	0x8c, 0xbe, 0x87, 0x3d, 0x1f, 0x3f, 0xca, 0x82, 0xb7, 0x63, 0xce, 0x09, 0x13, 0x16, 0x27, 0x3f,
+	0xc7, 0x24, 0x12, 0x91, 0xba, 0x15, 0x37, 0x8d, 0x5f, 0xf9, 0xf8, 0xb1, 0x37, 0x9f, 0x35, 0xd2,
+	0x49, 0xf4, 0x6b, 0x40, 0x92, 0x47, 0x1d, 0x8f, 0x58, 0x59, 0xe7, 0x8f, 0xd4, 0xb5, 0xb7, 0x69,
+	0x68, 0x3e, 0x7e, 0x1c, 0x38, 0x1e, 0x19, 0x64, 0x71, 0x59, 0x2c, 0x12, 0x2d, 0x02, 0x81, 0xbd,
+	0x1c, 0x7c, 0x53, 0xc1, 0x77, 0x7d, 0xfc, 0x38, 0x92, 0x33, 0x0b, 0xfc, 0x20, 0xc1, 0x87, 0x84,
+	0x39, 0xb2, 0x35, 0x7a, 0x58, 0x10, 0x66, 0xcf, 0xf4, 0xad, 0x4f, 0x16, 0xbb, 0x8f, 0x1f, 0x87,
+	0x09, 0xe9, 0x32, 0xe1, 0x28, 0xa3, 0x94, 0xad, 0x1a, 0xad, 0xa4, 0x46, 0x29, 0x5b, 0x37, 0x4a,
+	0xd9, 0x9a, 0xd1, 0xed, 0xd4, 0x28, 0x65, 0x05, 0x46, 0x29, 0x5b, 0x33, 0x5a, 0xfd, 0xb4, 0x51,
+	0xca, 0x56, 0x8c, 0xfe, 0x04, 0x4f, 0xd3, 0xd4, 0x2f, 0xed, 0x2d, 0x28, 0xa9, 0x97, 0xbf, 0x70,
+	0x07, 0x2a, 0x7c, 0x7e, 0x7f, 0x11, 0x5f, 0x8b, 0xa1, 0x9b, 0xac, 0x7b, 0xe7, 0x64, 0x6b, 0x4a,
+	0xf6, 0xab, 0xe2, 0x03, 0x28, 0x5b, 0x7a, 0x4e, 0x73, 0xc7, 0x59, 0x0e, 0x48, 0xab, 0xe9, 0x7d,
+	0xbd, 0xa4, 0x59, 0xff, 0x88, 0xd5, 0xf4, 0xa2, 0x5f, 0xb2, 0xca, 0xd6, 0x62, 0xed, 0x9f, 0xa1,
+	0x9e, 0x7f, 0x3d, 0x42, 0x6f, 0xa0, 0xae, 0x76, 0x4e, 0xde, 0x59, 0x41, 0x2c, 0x3e, 0x7d, 0x5a,
+	0x6a, 0x12, 0x3e, 0x4a, 0xd0, 0xe8, 0x4b, 0x68, 0xa8, 0x22, 0x9d, 0xef, 0x63, 0x59, 0xed, 0x63,
+	0x5d, 0xd6, 0x67, 0x16, 0x6b, 0x7f, 0x0b, 0x8d, 0xa5, 0xd7, 0x28, 0x74, 0x08, 0xd5, 0x05, 0xa3,
+	0xa4, 0x18, 0x8b, 0x40, 0xfb, 0x1f, 0x25, 0x68, 0x2e, 0x9f, 0x29, 0x34, 0x86, 0x67, 0xd8, 0x75,
+	0x39, 0x71, 0xd5, 0xd0, 0x7a, 0xa0, 0xcc, 0x09, 0x1e, 0x2c, 0x8f, 0x30, 0x57, 0xdc, 0x7d, 0xda,
+	0xf1, 0x5e, 0x8e, 0xfb, 0x41, 0x51, 0x2f, 0x15, 0x13, 0x7d, 0x0b, 0x48, 0x60, 0xee, 0x12, 0xb1,
+	0x76, 0xd6, 0x4b, 0xc6, 0x6e, 0x32, 0x93, 0x4f, 0xdd, 0x3f, 0x4b, 0x80, 0xd6, 0x0b, 0x02, 0x9d,
+	0xc3, 0x71, 0xaa, 0x92, 0x55, 0x97, 0x1d, 0xc4, 0x4c, 0xc8, 0xf6, 0x63, 0x45, 0xc4, 0x0e, 0x98,
+	0x93, 0x3e, 0xe3, 0x41, 0x02, 0x4b, 0x25, 0x7a, 0x12, 0x34, 0x24, 0xdc, 0x54, 0x10, 0xf4, 0x06,
+	0xf6, 0x53, 0x95, 0xa2, 0x4e, 0x91, 0xa4, 0x55, 0x4f, 0x10, 0xeb, 0xcd, 0xa2, 0xfd, 0xb7, 0x32,
+	0xec, 0xac, 0x14, 0x15, 0xfa, 0x03, 0x3c, 0x4f, 0x15, 0x1f, 0x38, 0x15, 0xe9, 0x4b, 0x45, 0xde,
+	0x55, 0x53, 0x89, 0x3e, 0x4b, 0x40, 0x1f, 0x24, 0x46, 0xbd, 0x61, 0xe4, 0x3d, 0x1d, 0x2c, 0x29,
+	0x04, 0xe1, 0x12, 0x7f, 0x47, 0xf1, 0xf7, 0x72, 0xfc, 0x9b, 0x30, 0xc7, 0xfe, 0x3d, 0x1c, 0xce,
+	0xf3, 0x82, 0x9d, 0xf5, 0xe5, 0xb5, 0xfc, 0x33, 0x19, 0x04, 0x3b, 0x2b, 0xab, 0xbf, 0x9e, 0x67,
+	0x44, 0xf1, 0x57, 0x16, 0xdf, 0x55, 0xec, 0x2f, 0x16, 0xec, 0xfc, 0xda, 0xed, 0x7f, 0x95, 0x01,
+	0xad, 0x1f, 0x88, 0x9c, 0xa5, 0x48, 0xa6, 0x77, 0xcd, 0x52, 0x29, 0x6f, 0xc9, 0x24, 0x4c, 0xac,
+	0x58, 0xea, 0xc2, 0x51, 0x9e, 0x1f, 0x62, 0xfb, 0x9e, 0x88, 0x25, 0x85, 0x9a, 0x52, 0xd8, 0x5f,
+	0x28, 0x0c, 0x13, 0xcc, 0x42, 0xe3, 0x2d, 0xb4, 0xe6, 0x8f, 0x65, 0x13, 0x3a, 0x25, 0x05, 0xa9,
+	0xa9, 0x2b, 0x95, 0xc3, 0xec, 0xe1, 0x12, 0xd8, 0x8a, 0x97, 0x3f, 0x42, 0x7b, 0x55, 0xa7, 0xc0,
+	0x4f, 0x43, 0x29, 0x1d, 0x2d, 0x2b, 0xad, 0x7a, 0x6a, 0x53, 0xa8, 0xa4, 0xd9, 0x42, 0x2f, 0x61,
+	0xe7, 0x36, 0xe0, 0x0f, 0x98, 0x3b, 0x52, 0x30, 0xe0, 0x42, 0x9e, 0xd0, 0x8d, 0x93, 0xaa, 0xd1,
+	0x9c, 0x87, 0x87, 0x32, 0x8a, 0x5e, 0x40, 0x7d, 0xfe, 0x99, 0x22, 0xb0, 0x9b, 0xde, 0xd5, 0xb5,
+	0x2c, 0x36, 0xc2, 0xee, 0xfc, 0x73, 0x71, 0x63, 0xf1, 0xb9, 0xd8, 0x36, 0xa1, 0x3a, 0xff, 0xb0,
+	0x90, 0x57, 0xbf, 0x1d, 0xc6, 0x2a, 0xed, 0x25, 0x43, 0xfe, 0x44, 0x7b, 0x50, 0x51, 0x9d, 0xd4,
+	0x9d, 0xa4, 0xe7, 0x70, 0x4b, 0x0e, 0xdf, 0x4d, 0xd0, 0x01, 0x54, 0x7d, 0xe2, 0x07, 0x7c, 0x26,
+	0xa7, 0x36, 0xd4, 0xd4, 0x76, 0x12, 0x78, 0x37, 0xf9, 0xe6, 0x3f, 0x65, 0x40, 0xeb, 0x9f, 0x56,
+	0xe8, 0x18, 0x0e, 0x06, 0xd7, 0xdd, 0x9b, 0xf1, 0xf5, 0xb9, 0x65, 0xf6, 0x8d, 0xf7, 0x83, 0x5e,
+	0xdf, 0x1a, 0x5f, 0x9b, 0xc3, 0x7e, 0x6f, 0xf0, 0x76, 0xd0, 0x3f, 0xd7, 0x3e, 0x43, 0x3a, 0x7c,
+	0xbe, 0x0a, 0xb8, 0x3a, 0x1b, 0x5c, 0x6a, 0xa5, 0x22, 0xaa, 0x9c, 0xb1, 0x64, 0xa8, 0xd7, 0xd7,
+	0xca, 0xe8, 0x08, 0xf6, 0x57, 0x01, 0x3f, 0x5d, 0x0d, 0x87, 0x56, 0xdf, 0x30, 0x6e, 0x0c, 0x6d,
+	0x03, 0xb5, 0xe0, 0xb0, 0x70, 0xfe, 0xaa, 0x6f, 0x9a, 0x67, 0xef, 0xfa, 0xda, 0x13, 0xd4, 0x86,
+	0xa3, 0x42, 0x84, 0x39, 0xee, 0x9a, 0x3d, 0x63, 0xd0, 0xed, 0x6b, 0x9b, 0xe8, 0x05, 0x3c, 0x2f,
+	0xc4, 0x0c, 0x8d, 0xbe, 0xd9, 0x97, 0x46, 0xb6, 0xd0, 0x57, 0xd0, 0x5a, 0x85, 0xf4, 0x2e, 0xce,
+	0xae, 0xaf, 0xfb, 0x97, 0x0b, 0x54, 0x05, 0xed, 0xc3, 0x17, 0xab, 0xa8, 0x0f, 0x67, 0xc6, 0xd5,
+	0x78, 0xa8, 0x55, 0xbf, 0x19, 0x40, 0x63, 0xe9, 0xbb, 0x47, 0x3e, 0x9b, 0x02, 0x5d, 0xbf, 0xb3,
+	0xcc, 0xd1, 0xd9, 0x68, 0x6c, 0xae, 0xa4, 0xad, 0x06, 0x95, 0x74, 0x5e, 0x2b, 0xa9, 0xc1, 0xe8,
+	0x66, 0x38, 0xec, 0x9f, 0x6b, 0xe5, 0xae, 0x0b, 0x7b, 0x76, 0xe0, 0x17, 0xdd, 0x4f, 0xdd, 0x7a,
+	0xfa, 0x1a, 0x3e, 0x94, 0xfd, 0x79, 0x58, 0xfa, 0xf3, 0x9b, 0x14, 0xe4, 0x06, 0x1e, 0x66, 0x6e,
+	0x27, 0xe0, 0xee, 0xa9, 0x4b, 0x98, 0xea, 0xde, 0xa7, 0xc9, 0x14, 0x0e, 0x69, 0xb4, 0xf4, 0xcf,
+	0xc6, 0x0f, 0xf3, 0xc1, 0x64, 0x4b, 0x01, 0x7f, 0xf3, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2f,
+	0xe1, 0xd6, 0xfa, 0x7b, 0x11, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/version.proto b/googleapis/appengine/v1/version.proto
deleted file mode 100644
index d915e207f4b37c9e30004ec6db26055f289a4ffe..0000000000000000000000000000000000000000
--- a/googleapis/appengine/v1/version.proto
+++ /dev/null
@@ -1,377 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.appengine.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/appengine/v1/app_yaml.proto"; // from google/appengine/v1/app_yaml.proto
-import "google.golang.org/genproto/googleapis/appengine/v1/deploy.proto"; // from google/appengine/v1/deploy.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "VersionProto";
-option java_package = "com.google.appengine.v1";
-
-
-// A Version resource is a specific set of source code and configuration files
-// that are deployed into a service.
-message Version {
-  // Full path to the Version resource in the API.  Example:
-  // `apps/myapp/services/default/versions/v1`.
-  //
-  // @OutputOnly
-  string name = 1;
-
-  // Relative name of the version within the service.  Example: `v1`.
-  // Version names can contain only lowercase letters, numbers, or hyphens.
-  // Reserved names: "default", "latest", and any name with the prefix "ah-".
-  string id = 2;
-
-  // Controls how instances are created.
-  //
-  // Defaults to `AutomaticScaling`.
-  oneof scaling {
-    // Automatic scaling is based on request rate, response latencies, and other
-    // application metrics.
-    AutomaticScaling automatic_scaling = 3;
-
-    // A service with basic scaling will create an instance when the application
-    // receives a request. The instance will be turned down when the app becomes
-    // idle. Basic scaling is ideal for work that is intermittent or driven by
-    // user activity.
-    BasicScaling basic_scaling = 4;
-
-    // A service with manual scaling runs continuously, allowing you to perform
-    // complex initialization and rely on the state of its memory over time.
-    ManualScaling manual_scaling = 5;
-  }
-
-  // Before an application can receive email or XMPP messages, the application
-  // must be configured to enable the service.
-  repeated InboundServiceType inbound_services = 6;
-
-  // Instance class that is used to run this version. Valid values are:
-  // * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G`
-  // * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G`
-  //
-  // Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or
-  // BasicScaling.
-  string instance_class = 7;
-
-  // Extra network settings. Only applicable for VM runtimes.
-  Network network = 8;
-
-  // Machine resources for this version. Only applicable for VM runtimes.
-  Resources resources = 9;
-
-  // Desired runtime. Example: `python27`.
-  string runtime = 10;
-
-  // Whether multiple requests can be dispatched to this version at once.
-  bool threadsafe = 11;
-
-  // Whether to deploy this version in a container on a virtual machine.
-  bool vm = 12;
-
-  // Metadata settings that are supplied to this version to enable
-  // beta runtime features.
-  map<string, string> beta_settings = 13;
-
-  // App Engine execution environment for this version.
-  //
-  // Defaults to `standard`.
-  string env = 14;
-
-  // Current serving status of this version. Only the versions with a
-  // `SERVING` status create instances and can be billed.
-  //
-  // `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`.
-  ServingStatus serving_status = 15;
-
-  // Email address of the user who created this version.
-  //
-  // @OutputOnly
-  string created_by = 16;
-
-  // Time that this version was created.
-  //
-  // @OutputOnly
-  google.protobuf.Timestamp create_time = 17;
-
-  // Total size in bytes of all the files that are included in this version
-  // and curerntly hosted on the App Engine disk.
-  //
-  // @OutputOnly
-  int64 disk_usage_bytes = 18;
-
-  // An ordered list of URL-matching patterns that should be applied to incoming
-  // requests. The first matching URL handles the request and other request
-  // handlers are not attempted.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  repeated UrlMap handlers = 100;
-
-  // Custom static error pages. Limited to 10KB per page.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  repeated ErrorHandler error_handlers = 101;
-
-  // Configuration for third-party Python runtime libraries that are required
-  // by the application.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  repeated Library libraries = 102;
-
-  // Serving configuration for
-  // [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/).
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  ApiConfigHandler api_config = 103;
-
-  // Environment variables available to the application.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  map<string, string> env_variables = 104;
-
-  // Duration that static files should be cached by web proxies and browsers.
-  // Only applicable if the corresponding
-  // [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler)
-  // does not specify its own expiration time.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  google.protobuf.Duration default_expiration = 105;
-
-  // Configures health checking for VM instances. Unhealthy instances are
-  // stopped and replaced with new instances. Only applicable for VM
-  // runtimes.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  HealthCheck health_check = 106;
-
-  // Files that match this pattern will not be built into this version.
-  // Only applicable for Go runtimes.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  string nobuild_files_regex = 107;
-
-  // Code and application artifacts that make up this version.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  Deployment deployment = 108;
-
-  // Serving URL for this version. Example:
-  // "https://myversion-dot-myservice-dot-myapp.appspot.com"
-  //
-  // @OutputOnly
-  string version_url = 109;
-}
-
-// Automatic scaling is based on request rate, response latencies, and other
-// application metrics.
-message AutomaticScaling {
-  // Amount of time that the
-  // [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/)
-  // should wait between changes to the number of virtual machines.
-  // Only applicable for VM runtimes.
-  google.protobuf.Duration cool_down_period = 1;
-
-  // Target scaling by CPU usage.
-  CpuUtilization cpu_utilization = 2;
-
-  // Number of concurrent requests an automatic scaling instance can accept
-  // before the scheduler spawns a new instance.
-  //
-  // Defaults to a runtime-specific value.
-  int32 max_concurrent_requests = 3;
-
-  // Maximum number of idle instances that should be maintained for this
-  // version.
-  int32 max_idle_instances = 4;
-
-  // Maximum number of instances that should be started to handle requests.
-  int32 max_total_instances = 5;
-
-  // Maximum amount of time that a request should wait in the pending queue
-  // before starting a new instance to handle it.
-  google.protobuf.Duration max_pending_latency = 6;
-
-  // Minimum number of idle instances that should be maintained for
-  // this version. Only applicable for the default version of a service.
-  int32 min_idle_instances = 7;
-
-  // Minimum number of instances that should be maintained for this version.
-  int32 min_total_instances = 8;
-
-  // Minimum amount of time a request should wait in the pending queue before
-  // starting a new instance to handle it.
-  google.protobuf.Duration min_pending_latency = 9;
-
-  // Target scaling by request utilization.
-  RequestUtilization request_utilization = 10;
-
-  // Target scaling by disk usage.
-  DiskUtilization disk_utilization = 11;
-
-  // Target scaling by network usage.
-  NetworkUtilization network_utilization = 12;
-}
-
-// A service with basic scaling will create an instance when the application
-// receives a request. The instance will be turned down when the app becomes
-// idle. Basic scaling is ideal for work that is intermittent or driven by
-// user activity.
-message BasicScaling {
-  // Duration of time after the last request that an instance must wait before
-  // the instance is shut down.
-  google.protobuf.Duration idle_timeout = 1;
-
-  // Maximum number of instances to create for this version.
-  int32 max_instances = 2;
-}
-
-// A service with manual scaling runs continuously, allowing you to perform
-// complex initialization and rely on the state of its memory over time.
-message ManualScaling {
-  // Number of instances to assign to the service at the start. This number
-  // can later be altered by using the
-  // [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions)
-  // `set_num_instances()` function.
-  int32 instances = 1;
-}
-
-// Target scaling by CPU usage.
-message CpuUtilization {
-  // Period of time over which CPU utilization is calculated.
-  google.protobuf.Duration aggregation_window_length = 1;
-
-  // Target CPU utilization ratio to maintain when scaling. Must be between 0
-  // and 1.
-  double target_utilization = 2;
-}
-
-// Target scaling by request utilization. Only applicable for VM runtimes.
-message RequestUtilization {
-  // Target requests per second.
-  int32 target_request_count_per_second = 1;
-
-  // Target number of concurrent requests.
-  int32 target_concurrent_requests = 2;
-}
-
-// Target scaling by disk usage. Only applicable for VM runtimes.
-message DiskUtilization {
-  // Target bytes written per second.
-  int32 target_write_bytes_per_second = 14;
-
-  // Target ops written per second.
-  int32 target_write_ops_per_second = 15;
-
-  // Target bytes read per second.
-  int32 target_read_bytes_per_second = 16;
-
-  // Target ops read per seconds.
-  int32 target_read_ops_per_second = 17;
-}
-
-// Target scaling by network usage. Only applicable for VM runtimes.
-message NetworkUtilization {
-  // Target bytes sent per second.
-  int32 target_sent_bytes_per_second = 1;
-
-  // Target packets sent per second.
-  int32 target_sent_packets_per_second = 11;
-
-  // Target bytes received per second.
-  int32 target_received_bytes_per_second = 12;
-
-  // Target packets received per second.
-  int32 target_received_packets_per_second = 13;
-}
-
-// Extra network settings. Only applicable for VM runtimes.
-message Network {
-  // List of ports, or port pairs, to forward from the virtual machine to the
-  // application container.
-  repeated string forwarded_ports = 1;
-
-  // Tag to apply to the VM instance during creation.
-  string instance_tag = 2;
-
-  // Google Cloud Platform network where the virtual machines are created.
-  // Specify the short name, not the resource path.
-  //
-  // Defaults to `default`.
-  string name = 3;
-}
-
-// Machine resources for a version.
-message Resources {
-  // Number of CPU cores needed.
-  double cpu = 1;
-
-  // Disk size (GB) needed.
-  double disk_gb = 2;
-
-  // Memory (GB) needed.
-  double memory_gb = 3;
-}
-
-// Available inbound services.
-enum InboundServiceType {
-  // Not specified.
-  INBOUND_SERVICE_UNSPECIFIED = 0;
-
-  // Allows an application to receive mail.
-  INBOUND_SERVICE_MAIL = 1;
-
-  // Allows an application to receive email-bound notifications.
-  INBOUND_SERVICE_MAIL_BOUNCE = 2;
-
-  // Allows an application to receive error stanzas.
-  INBOUND_SERVICE_XMPP_ERROR = 3;
-
-  // Allows an application to receive instant messages.
-  INBOUND_SERVICE_XMPP_MESSAGE = 4;
-
-  // Allows an application to receive user subscription POSTs.
-  INBOUND_SERVICE_XMPP_SUBSCRIBE = 5;
-
-  // Allows an application to receive a user's chat presence.
-  INBOUND_SERVICE_XMPP_PRESENCE = 6;
-
-  // Registers an application for notifications when a client connects or
-  // disconnects from a channel.
-  INBOUND_SERVICE_CHANNEL_PRESENCE = 7;
-
-  // Enables warmup requests.
-  INBOUND_SERVICE_WARMUP = 9;
-}
-
-// Run states of a version.
-enum ServingStatus {
-  // Not specified.
-  SERVING_STATUS_UNSPECIFIED = 0;
-
-  // Currently serving. Instances are created according to the
-  // scaling settings of the version.
-  SERVING = 1;
-
-  // Disabled. No instances will be created and the scaling
-  // settings are ignored until the state of the version changes
-  // to `SERVING`.
-  STOPPED = 2;
-}
diff --git a/googleapis/bigtable/admin/table/v1/bigtable_table_data.pb.go b/googleapis/bigtable/admin/table/v1/bigtable_table_data.pb.go
index 0390dfda8ce2ba14bf1a1d633cd9d4303394a0aa..24636a7c0e690d9c12cb5c0a2d81315202509085 100644
--- a/googleapis/bigtable/admin/table/v1/bigtable_table_data.pb.go
+++ b/googleapis/bigtable/admin/table/v1/bigtable_table_data.pb.go
@@ -1,14 +1,14 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto
+// source: google/bigtable/admin/table/v1/bigtable_table_data.proto
 // DO NOT EDIT!
 
 /*
-Package google_bigtable_admin_table_v1 is a generated protocol buffer package.
+Package table is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto
-	google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto
-	google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto
+	google/bigtable/admin/table/v1/bigtable_table_data.proto
+	google/bigtable/admin/table/v1/bigtable_table_service.proto
+	google/bigtable/admin/table/v1/bigtable_table_service_messages.proto
 
 It has these top-level messages:
 	Table
@@ -24,7 +24,7 @@ It has these top-level messages:
 	DeleteColumnFamilyRequest
 	BulkDeleteRowsRequest
 */
-package google_bigtable_admin_table_v1 // import "google.golang.org/genproto/googleapis/bigtable/admin/table/v1"
+package table
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -86,6 +86,13 @@ func (m *Table) String() string            { return proto.CompactTextString(m) }
 func (*Table) ProtoMessage()               {}
 func (*Table) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Table) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Table) GetCurrentOperation() *google_longrunning.Operation {
 	if m != nil {
 		return m.CurrentOperation
@@ -100,6 +107,13 @@ func (m *Table) GetColumnFamilies() map[string]*ColumnFamily {
 	return nil
 }
 
+func (m *Table) GetGranularity() Table_TimestampGranularity {
+	if m != nil {
+		return m.Granularity
+	}
+	return Table_MILLIS
+}
+
 // A set of columns within a table which share a common configuration.
 type ColumnFamily struct {
 	// A unique identifier of the form <table_name>/columnFamilies/[-_.a-zA-Z0-9]+
@@ -147,6 +161,20 @@ func (m *ColumnFamily) String() string            { return proto.CompactTextStri
 func (*ColumnFamily) ProtoMessage()               {}
 func (*ColumnFamily) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *ColumnFamily) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ColumnFamily) GetGcExpression() string {
+	if m != nil {
+		return m.GcExpression
+	}
+	return ""
+}
+
 func (m *ColumnFamily) GetGcRule() *GcRule {
 	if m != nil {
 		return m.GcRule
@@ -379,46 +407,46 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto", fileDescriptor0)
+	proto.RegisterFile("google/bigtable/admin/table/v1/bigtable_table_data.proto", fileDescriptor0)
 }
 
 var fileDescriptor0 = []byte{
-	// 584 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x93, 0xe1, 0x6a, 0x13, 0x4f,
-	0x14, 0xc5, 0xb3, 0xdd, 0x24, 0xa5, 0xb7, 0xf9, 0xf7, 0x1f, 0x47, 0x91, 0x18, 0x50, 0x42, 0x04,
-	0x09, 0x22, 0xb3, 0xb4, 0xf5, 0x83, 0x2d, 0xa2, 0x18, 0x5b, 0xdb, 0x4a, 0xd5, 0xb2, 0x56, 0x45,
-	0x10, 0x96, 0xc9, 0x76, 0x3a, 0x2e, 0xee, 0xcc, 0x2c, 0xb3, 0x33, 0x21, 0x79, 0x03, 0x1f, 0xc5,
-	0xa7, 0xf0, 0xd9, 0x64, 0x67, 0x76, 0xe3, 0x16, 0x8a, 0x89, 0xf8, 0x25, 0xb9, 0xdc, 0x99, 0xf3,
-	0xbb, 0x87, 0x73, 0x67, 0xe1, 0x13, 0x93, 0x92, 0xa5, 0x14, 0x33, 0x99, 0x12, 0xc1, 0xb0, 0x54,
-	0x2c, 0x60, 0x54, 0x64, 0x4a, 0x6a, 0x19, 0xb8, 0x23, 0x92, 0x25, 0x79, 0x30, 0x49, 0x98, 0x26,
-	0x93, 0x94, 0x06, 0xe4, 0x82, 0x27, 0x22, 0x70, 0xf5, 0x74, 0x7b, 0xd1, 0x8f, 0xdc, 0xef, 0x05,
-	0xd1, 0x04, 0x5b, 0x31, 0xba, 0x57, 0x82, 0xab, 0x1b, 0xd8, 0x2a, 0xb1, 0xab, 0xa7, 0xdb, 0xfd,
-	0xf1, 0x6a, 0x83, 0x53, 0x29, 0x98, 0x32, 0x42, 0x24, 0x82, 0x05, 0x32, 0xa3, 0x8a, 0xe8, 0x44,
-	0x8a, 0xdc, 0xcd, 0xe8, 0xef, 0xb1, 0x44, 0x7f, 0x35, 0x13, 0x1c, 0x4b, 0x1e, 0x38, 0x4e, 0x60,
-	0x0f, 0x26, 0xe6, 0x32, 0xc8, 0xf4, 0x3c, 0xa3, 0x79, 0x70, 0x61, 0x9c, 0x64, 0x51, 0x38, 0xe9,
-	0xf0, 0xa7, 0x0f, 0xad, 0xf3, 0xc2, 0x0b, 0x42, 0xd0, 0x14, 0x84, 0xd3, 0x9e, 0x37, 0xf0, 0x46,
-	0x1b, 0xa1, 0xad, 0xd1, 0x6b, 0xb8, 0x11, 0x1b, 0xa5, 0xa8, 0xd0, 0xd1, 0x62, 0x68, 0x6f, 0x6d,
-	0xe0, 0x8d, 0x36, 0x77, 0xee, 0xe2, 0xd2, 0x78, 0xcd, 0x19, 0x7e, 0x57, 0x5d, 0x0a, 0xbb, 0xa5,
-	0x6e, 0xd1, 0x41, 0x13, 0xf8, 0x3f, 0x96, 0xa9, 0xe1, 0x22, 0xba, 0x24, 0x3c, 0x49, 0x13, 0x9a,
-	0xf7, 0xfc, 0x81, 0x3f, 0xda, 0xdc, 0xd9, 0xc3, 0x7f, 0x8e, 0x08, 0x5b, 0x7f, 0xf8, 0xa5, 0x15,
-	0xbf, 0x2a, 0xb5, 0x87, 0x42, 0xab, 0x79, 0xb8, 0x15, 0x5f, 0x69, 0xa2, 0x2f, 0xb0, 0xc9, 0x14,
-	0x11, 0x26, 0x25, 0x2a, 0xd1, 0xf3, 0x5e, 0x73, 0xe0, 0x8d, 0xb6, 0x76, 0xf6, 0x57, 0xe3, 0x9f,
-	0x27, 0x9c, 0xe6, 0x9a, 0xf0, 0xec, 0xe8, 0x37, 0x21, 0xac, 0xe3, 0xfa, 0x12, 0x6e, 0x5e, 0x63,
-	0x02, 0x75, 0xc1, 0xff, 0x46, 0xe7, 0x65, 0x6e, 0x45, 0x89, 0xc6, 0xd0, 0x9a, 0x92, 0xd4, 0xd0,
-	0x32, 0xaa, 0x47, 0xcb, 0x0c, 0xd4, 0xa8, 0xf3, 0xd0, 0x49, 0xf7, 0xd7, 0x9e, 0x78, 0xc3, 0x21,
-	0xdc, 0xba, 0xce, 0x15, 0x02, 0x68, 0xbf, 0x39, 0x39, 0x3d, 0x3d, 0x79, 0xdf, 0x6d, 0x0c, 0xbf,
-	0x7b, 0xd0, 0xa9, 0xeb, 0xaf, 0xdd, 0xe3, 0x7d, 0xf8, 0x8f, 0xc5, 0x11, 0x9d, 0x65, 0x8a, 0xe6,
-	0x79, 0xb5, 0xc3, 0x8d, 0xb0, 0xc3, 0xe2, 0xc3, 0x45, 0x0f, 0x3d, 0x87, 0x75, 0x16, 0x47, 0xca,
-	0xa4, 0xb4, 0xe7, 0x5b, 0xdf, 0x0f, 0x96, 0xf9, 0x3e, 0x8a, 0x43, 0x93, 0xd2, 0xb0, 0xcd, 0xec,
-	0xff, 0xf0, 0x87, 0x0f, 0x6d, 0xd7, 0x42, 0x0f, 0xa1, 0xcb, 0xc9, 0x2c, 0x12, 0x86, 0x47, 0x53,
-	0xaa, 0x0a, 0x7c, 0x6e, 0x0d, 0xb5, 0x8e, 0x1b, 0xe1, 0x16, 0x27, 0xb3, 0xb7, 0x86, 0x7f, 0x2c,
-	0xfb, 0xe8, 0x31, 0xac, 0x17, 0x77, 0x09, 0xab, 0xf2, 0xba, 0x53, 0xcd, 0xad, 0x1e, 0x31, 0x3e,
-	0x28, 0x1f, 0xed, 0x71, 0x23, 0x6c, 0x73, 0x32, 0x7b, 0xc1, 0x28, 0xfa, 0x0c, 0x9d, 0x44, 0x68,
-	0xaa, 0x72, 0x1a, 0xdb, 0x57, 0xe9, 0x2c, 0xef, 0xae, 0x66, 0x19, 0x9f, 0xd4, 0xa4, 0xc7, 0x8d,
-	0xf0, 0x0a, 0x0a, 0x1d, 0x40, 0xcb, 0x88, 0x82, 0xd9, 0x5c, 0x6d, 0x7d, 0x25, 0xf3, 0x83, 0x70,
-	0x30, 0x27, 0xee, 0x9f, 0x42, 0xa7, 0x3e, 0x05, 0x3d, 0x85, 0x56, 0x91, 0x6d, 0x91, 0x83, 0xff,
-	0x17, 0xe1, 0x3a, 0x51, 0xff, 0x10, 0x5a, 0x96, 0xff, 0x6f, 0x98, 0x71, 0x1b, 0x9a, 0x45, 0x31,
-	0x7e, 0x06, 0xc3, 0x58, 0xf2, 0x25, 0xda, 0xf1, 0xed, 0x71, 0x79, 0x60, 0xbf, 0x90, 0x03, 0xa2,
-	0xc9, 0x59, 0xb1, 0x91, 0x33, 0x6f, 0xd2, 0xb6, 0xab, 0xd9, 0xfd, 0x15, 0x00, 0x00, 0xff, 0xff,
-	0x05, 0x58, 0xfe, 0xa5, 0x37, 0x05, 0x00, 0x00,
+	// 579 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0x61, 0x6b, 0xd3, 0x40,
+	0x18, 0xc7, 0x9b, 0xa5, 0xed, 0xd8, 0xb3, 0x3a, 0xeb, 0x29, 0x52, 0x0b, 0x4a, 0xc9, 0x40, 0x8a,
+	0xc8, 0x85, 0x6d, 0xbe, 0x98, 0x53, 0x10, 0xbb, 0xcd, 0x6d, 0x32, 0x75, 0xc4, 0x29, 0x28, 0x42,
+	0xb8, 0x66, 0xb7, 0x23, 0x98, 0xbb, 0x2b, 0x97, 0x5c, 0x69, 0x5f, 0xfb, 0xc6, 0x8f, 0xe2, 0xa7,
+	0xf0, 0xb3, 0x49, 0xee, 0x2e, 0x35, 0x83, 0xe9, 0x26, 0xbe, 0x49, 0x9e, 0x3c, 0xf7, 0xfc, 0x7f,
+	0xf7, 0xcf, 0xf3, 0x5c, 0x02, 0xdb, 0x4c, 0x4a, 0x96, 0xd1, 0x70, 0x9c, 0xb2, 0x82, 0x8c, 0x33,
+	0x1a, 0x92, 0x33, 0x9e, 0x8a, 0xd0, 0xc6, 0xd3, 0x8d, 0x45, 0x3e, 0xb6, 0xd7, 0x33, 0x52, 0x10,
+	0x3c, 0x51, 0xb2, 0x90, 0xe8, 0x81, 0x55, 0xe2, 0xaa, 0x02, 0x1b, 0x25, 0xb6, 0xf1, 0x74, 0xa3,
+	0xbf, 0xee, 0xc8, 0x99, 0x14, 0x4c, 0x69, 0x21, 0x52, 0xc1, 0x42, 0x39, 0xa1, 0x8a, 0x14, 0xa9,
+	0x14, 0xb9, 0x85, 0xf4, 0x1d, 0x24, 0x34, 0x4f, 0x63, 0x7d, 0x1e, 0x9e, 0x69, 0x5b, 0x60, 0xd7,
+	0x83, 0x9f, 0x3e, 0xb4, 0x4e, 0x4b, 0x22, 0x42, 0xd0, 0x14, 0x84, 0xd3, 0x9e, 0x37, 0xf0, 0x86,
+	0x2b, 0x91, 0x89, 0xd1, 0x6b, 0xb8, 0x95, 0x68, 0xa5, 0xa8, 0x28, 0xe2, 0x05, 0xb9, 0xb7, 0x34,
+	0xf0, 0x86, 0xab, 0x9b, 0xf7, 0xb1, 0xb3, 0x57, 0xdb, 0x1e, 0xbf, 0xab, 0x8a, 0xa2, 0xae, 0xd3,
+	0x2d, 0x32, 0x68, 0x0c, 0x37, 0x13, 0x99, 0x69, 0x2e, 0xe2, 0x73, 0xc2, 0xd3, 0x2c, 0xa5, 0x79,
+	0xcf, 0x1f, 0xf8, 0xc3, 0xd5, 0xcd, 0xa7, 0xf8, 0xef, 0x2f, 0x8a, 0x8d, 0x3f, 0xbc, 0x6b, 0xc4,
+	0xaf, 0x9c, 0x76, 0x5f, 0x14, 0x6a, 0x1e, 0xad, 0x25, 0x17, 0x92, 0xe8, 0x0b, 0xac, 0x32, 0x45,
+	0x84, 0xce, 0x88, 0x4a, 0x8b, 0x79, 0xaf, 0x39, 0xf0, 0x86, 0x6b, 0x9b, 0x3b, 0xd7, 0xe3, 0x9f,
+	0xa6, 0x9c, 0xe6, 0x05, 0xe1, 0x93, 0x83, 0xdf, 0x84, 0xa8, 0x8e, 0xeb, 0x4b, 0xb8, 0x7d, 0x89,
+	0x09, 0xd4, 0x05, 0xff, 0x2b, 0x9d, 0xbb, 0xbe, 0x95, 0x21, 0x1a, 0x41, 0x6b, 0x4a, 0x32, 0x4d,
+	0x5d, 0xab, 0x1e, 0x5f, 0x65, 0xa0, 0x46, 0x9d, 0x47, 0x56, 0xba, 0xb3, 0xb4, 0xed, 0x05, 0x01,
+	0xdc, 0xb9, 0xcc, 0x15, 0x02, 0x68, 0xbf, 0x39, 0x3a, 0x3e, 0x3e, 0x7a, 0xdf, 0x6d, 0x04, 0xdf,
+	0x3d, 0xe8, 0xd4, 0xf5, 0x97, 0xce, 0x71, 0x1d, 0x6e, 0xb0, 0x24, 0xa6, 0xb3, 0x89, 0xa2, 0x79,
+	0x5e, 0xcd, 0x70, 0x25, 0xea, 0xb0, 0x64, 0x7f, 0x91, 0x43, 0x2f, 0x60, 0x99, 0x25, 0xb1, 0xd2,
+	0x19, 0xed, 0xf9, 0xc6, 0xf7, 0xc3, 0xab, 0x7c, 0x1f, 0x24, 0x91, 0xce, 0x68, 0xd4, 0x66, 0xe6,
+	0x1e, 0xfc, 0xf0, 0xa1, 0x6d, 0x53, 0xe8, 0x11, 0x74, 0x39, 0x99, 0xc5, 0x42, 0xf3, 0x78, 0x4a,
+	0x55, 0x89, 0xcf, 0x8d, 0xa1, 0xd6, 0x61, 0x23, 0x5a, 0xe3, 0x64, 0xf6, 0x56, 0xf3, 0x8f, 0x2e,
+	0x8f, 0x9e, 0xc0, 0x72, 0x59, 0x4b, 0x58, 0xd5, 0xaf, 0x7b, 0xd5, 0xbe, 0xd5, 0xa1, 0xc5, 0x7b,
+	0xee, 0xd0, 0x1e, 0x36, 0xa2, 0x36, 0x27, 0xb3, 0x97, 0x8c, 0xa2, 0x4f, 0xd0, 0x49, 0x45, 0x41,
+	0x55, 0x4e, 0x13, 0x73, 0x2a, 0xad, 0xe5, 0xad, 0xeb, 0x59, 0xc6, 0x47, 0x35, 0xe9, 0x61, 0x23,
+	0xba, 0x80, 0x42, 0x7b, 0xd0, 0xd2, 0xa2, 0x64, 0x36, 0xaf, 0x37, 0x3e, 0xc7, 0xfc, 0x20, 0x2c,
+	0xcc, 0x8a, 0xfb, 0xc7, 0xd0, 0xa9, 0xef, 0x82, 0x9e, 0x43, 0xab, 0xec, 0x6d, 0xd9, 0x07, 0xff,
+	0x1f, 0x9a, 0x6b, 0x45, 0xfd, 0x7d, 0x68, 0x19, 0xfe, 0xff, 0x61, 0x46, 0x6d, 0x68, 0x96, 0xc1,
+	0xe8, 0x9b, 0x07, 0x41, 0x22, 0xf9, 0x15, 0xe2, 0xd1, 0xdd, 0x91, 0x5b, 0x30, 0x9f, 0xc8, 0x1e,
+	0x29, 0xc8, 0x49, 0x39, 0x92, 0x13, 0xef, 0xf3, 0xae, 0x53, 0x32, 0x99, 0x11, 0xc1, 0xb0, 0x54,
+	0x2c, 0x64, 0x54, 0x98, 0x81, 0x85, 0x76, 0x89, 0x4c, 0xd2, 0xfc, 0x4f, 0x7f, 0xbd, 0x67, 0x26,
+	0x18, 0xb7, 0x4d, 0xfd, 0xd6, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd7, 0x80, 0x76, 0xdc, 0x24,
+	0x05, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto b/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto
deleted file mode 100644
index f85edfc5070f02cc2e642e4b618bd70d854b5c73..0000000000000000000000000000000000000000
--- a/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto
+++ /dev/null
@@ -1,125 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.bigtable.admin.table.v1;
-
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "BigtableTableDataProto";
-option java_package = "com.google.bigtable.admin.table.v1";
-
-
-// A collection of user data indexed by row, column, and timestamp.
-// Each table is served using the resources of its parent cluster.
-message Table {
-  enum TimestampGranularity {
-    MILLIS = 0;
-  }
-
-  // A unique identifier of the form
-  // <cluster_name>/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*
-  string name = 1;
-
-  // If this Table is in the process of being created, the Operation used to
-  // track its progress. As long as this operation is present, the Table will
-  // not accept any Table Admin or Read/Write requests.
-  google.longrunning.Operation current_operation = 2;
-
-  // The column families configured for this table, mapped by column family id.
-  map<string, ColumnFamily> column_families = 3;
-
-  // The granularity (e.g. MILLIS, MICROS) at which timestamps are stored in
-  // this table. Timestamps not matching the granularity will be rejected.
-  // Cannot be changed once the table is created.
-  TimestampGranularity granularity = 4;
-}
-
-// A set of columns within a table which share a common configuration.
-message ColumnFamily {
-  // A unique identifier of the form <table_name>/columnFamilies/[-_.a-zA-Z0-9]+
-  // The last segment is the same as the "name" field in
-  // google.bigtable.v1.Family.
-  string name = 1;
-
-  // Garbage collection expression specified by the following grammar:
-  //   GC = EXPR
-  //      | "" ;
-  //   EXPR = EXPR, "||", EXPR              (* lowest precedence *)
-  //        | EXPR, "&&", EXPR
-  //        | "(", EXPR, ")"                (* highest precedence *)
-  //        | PROP ;
-  //   PROP = "version() >", NUM32
-  //        | "age() >", NUM64, [ UNIT ] ;
-  //   NUM32 = non-zero-digit { digit } ;    (* # NUM32 <= 2^32 - 1 *)
-  //   NUM64 = non-zero-digit { digit } ;    (* # NUM64 <= 2^63 - 1 *)
-  //   UNIT =  "d" | "h" | "m"  (* d=days, h=hours, m=minutes, else micros *)
-  // GC expressions can be up to 500 characters in length
-  //
-  // The different types of PROP are defined as follows:
-  //   version() - cell index, counting from most recent and starting at 1
-  //   age() - age of the cell (current time minus cell timestamp)
-  //
-  // Example: "version() > 3 || (age() > 3d && version() > 1)"
-  //   drop cells beyond the most recent three, and drop cells older than three
-  //   days unless they're the most recent cell in the row/column
-  //
-  // Garbage collection executes opportunistically in the background, and so
-  // it's possible for reads to return a cell even if it matches the active GC
-  // expression for its family.
-  string gc_expression = 2;
-
-  // Garbage collection rule specified as a protobuf.
-  // Supersedes `gc_expression`.
-  // Must serialize to at most 500 bytes.
-  //
-  // NOTE: Garbage collection executes opportunistically in the background, and
-  // so it's possible for reads to return a cell even if it matches the active
-  // GC expression for its family.
-  GcRule gc_rule = 3;
-}
-
-// Rule for determining which cells to delete during garbage collection.
-message GcRule {
-  // A GcRule which deletes cells matching all of the given rules.
-  message Intersection {
-    // Only delete cells which would be deleted by every element of `rules`.
-    repeated GcRule rules = 1;
-  }
-
-  // A GcRule which deletes cells matching any of the given rules.
-  message Union {
-    // Delete cells which would be deleted by any element of `rules`.
-    repeated GcRule rules = 1;
-  }
-
-  oneof rule {
-    // Delete all cells in a column except the most recent N.
-    int32 max_num_versions = 1;
-
-    // Delete cells in a column older than the given age.
-    // Values must be at least one millisecond, and will be truncated to
-    // microsecond granularity.
-    google.protobuf.Duration max_age = 2;
-
-    // Delete cells that would be deleted by every nested rule.
-    Intersection intersection = 3;
-
-    // Delete cells that would be deleted by any nested rule.
-    Union union = 4;
-  }
-}
diff --git a/googleapis/bigtable/admin/table/v1/bigtable_table_service.pb.go b/googleapis/bigtable/admin/table/v1/bigtable_table_service.pb.go
index 18f3b6f9614257cd8d6b121aa4cf5e21bf577792..342c0769317438d30ed2a6e72ec83fd8798219fb 100644
--- a/googleapis/bigtable/admin/table/v1/bigtable_table_service.pb.go
+++ b/googleapis/bigtable/admin/table/v1/bigtable_table_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto
+// source: google/bigtable/admin/table/v1/bigtable_table_service.proto
 // DO NOT EDIT!
 
-package google_bigtable_admin_table_v1 // import "google.golang.org/genproto/googleapis/bigtable/admin/table/v1"
+package table
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
 
 import (
@@ -377,49 +377,48 @@ var _BigtableTableService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto",
+	Metadata: "google/bigtable/admin/table/v1/bigtable_table_service.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto", fileDescriptor2)
+	proto.RegisterFile("google/bigtable/admin/table/v1/bigtable_table_service.proto", fileDescriptor1)
 }
 
-var fileDescriptor2 = []byte{
-	// 572 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x95, 0xcf, 0x8b, 0xd4, 0x30,
-	0x14, 0xc7, 0x89, 0x07, 0x91, 0x8c, 0x78, 0x08, 0xe2, 0x61, 0x0e, 0x1e, 0x0a, 0x5e, 0x8a, 0x34,
-	0xcc, 0x8c, 0xa2, 0x3b, 0xb0, 0x20, 0x9d, 0xfd, 0x81, 0xae, 0xc2, 0x3a, 0x2a, 0x82, 0x97, 0x25,
-	0xed, 0xbc, 0x8d, 0xd1, 0x36, 0xa9, 0x4d, 0x3a, 0x32, 0xca, 0x5e, 0xfc, 0x17, 0xf4, 0xaa, 0x27,
-	0x8f, 0x9e, 0xf4, 0xae, 0x77, 0xaf, 0xfe, 0x0b, 0xfe, 0x21, 0xd2, 0x64, 0xea, 0xce, 0xae, 0x62,
-	0x1b, 0xd9, 0xbd, 0xa4, 0xa5, 0x7d, 0xdf, 0xef, 0xfb, 0xbc, 0xbc, 0x17, 0x82, 0x9f, 0x70, 0xa5,
-	0x78, 0x06, 0x11, 0x57, 0x19, 0x93, 0x3c, 0x52, 0x25, 0xa7, 0x1c, 0x64, 0x51, 0x2a, 0xa3, 0xa8,
-	0xfb, 0xc5, 0x0a, 0xa1, 0x69, 0x22, 0xb8, 0x61, 0x49, 0x06, 0x94, 0xcd, 0x72, 0x21, 0xa9, 0x7b,
-	0x9f, 0x0f, 0x7e, 0x7f, 0xdf, 0x73, 0xab, 0x86, 0x72, 0x2e, 0x52, 0x88, 0xac, 0x9e, 0x5c, 0x5e,
-	0x7a, 0x37, 0x41, 0x91, 0x15, 0x47, 0xee, 0x7d, 0x3e, 0xe8, 0xdf, 0xee, 0x96, 0x9b, 0x15, 0x82,
-	0x2e, 0x8d, 0x53, 0x25, 0xf7, 0x05, 0xa7, 0x4c, 0x4a, 0x65, 0x98, 0x11, 0x4a, 0x6a, 0x97, 0xaa,
-	0xff, 0xf8, 0x44, 0xcb, 0x98, 0x31, 0xc3, 0x96, 0xc6, 0xe9, 0x69, 0xec, 0xcf, 0x5e, 0x0e, 0x5a,
-	0x33, 0x0e, 0x0d, 0xfd, 0x88, 0x0b, 0xf3, 0xb4, 0x4a, 0xa2, 0x54, 0xe5, 0xd4, 0x25, 0xa2, 0xf6,
-	0x47, 0x52, 0xed, 0xd3, 0xc2, 0x2c, 0x0a, 0xd0, 0x14, 0xf2, 0xc2, 0x2c, 0xdc, 0xea, 0x44, 0xc3,
-	0xaf, 0xe7, 0xf1, 0xc5, 0x78, 0x69, 0xff, 0xb0, 0x5e, 0x1e, 0x38, 0x73, 0xf2, 0x11, 0xe1, 0xde,
-	0xa4, 0x04, 0x66, 0xdc, 0x67, 0x32, 0x8c, 0xfe, 0xdd, 0x87, 0x68, 0x25, 0x78, 0x0a, 0x2f, 0x2a,
-	0xd0, 0xa6, 0x7f, 0xa5, 0x4d, 0x63, 0xa3, 0x83, 0xf1, 0x9b, 0x1f, 0x3f, 0xdf, 0x9e, 0xb9, 0x16,
-	0xd0, 0xba, 0xd6, 0xd7, 0x92, 0xe5, 0xb0, 0x5e, 0x94, 0xea, 0x19, 0xa4, 0x46, 0xd3, 0x90, 0xbe,
-	0x52, 0x12, 0xea, 0x67, 0x9a, 0x55, 0xda, 0x40, 0xa9, 0x69, 0x78, 0xe0, 0x76, 0x46, 0x8f, 0x51,
-	0x48, 0x3e, 0x21, 0x8c, 0xef, 0x0a, 0x6d, 0xac, 0x93, 0x26, 0x83, 0xb6, 0x8c, 0x87, 0xb1, 0x0d,
-	0xe4, 0xd0, 0x47, 0xa2, 0x0b, 0x25, 0x35, 0x04, 0x37, 0x2c, 0xf1, 0x80, 0xf8, 0x12, 0x93, 0xf7,
-	0x08, 0x9f, 0xdb, 0x06, 0x67, 0x47, 0x68, 0x5b, 0xe6, 0x26, 0xd2, 0x73, 0x3f, 0xd7, 0x2c, 0xdd,
-	0x88, 0x0c, 0x3a, 0xd2, 0x2d, 0xe1, 0x68, 0x78, 0x40, 0xde, 0x21, 0xdc, 0xdb, 0x80, 0x0c, 0x3a,
-	0x77, 0x7d, 0x25, 0xb8, 0xa1, 0xbc, 0xd4, 0x68, 0x9a, 0xe9, 0x8b, 0x36, 0xeb, 0x81, 0x6b, 0xb0,
-	0xc2, 0xff, 0xc0, 0xfa, 0x80, 0x70, 0x6f, 0x0a, 0xb5, 0xa4, 0x23, 0xd6, 0x4a, 0x70, 0x1b, 0xd6,
-	0xc4, 0x62, 0xad, 0x07, 0x37, 0xbd, 0xb1, 0xc6, 0xa5, 0xcd, 0x52, 0x8f, 0xe1, 0x77, 0x84, 0x89,
-	0x3b, 0x00, 0x13, 0x95, 0x55, 0xb9, 0xdc, 0x62, 0xb9, 0xc8, 0x16, 0x64, 0xad, 0xdb, 0xa1, 0x59,
-	0xd5, 0x34, 0xb8, 0x57, 0x5b, 0xa5, 0x2b, 0xa2, 0x60, 0xc7, 0x16, 0xb1, 0x19, 0xdc, 0xf2, 0x2e,
-	0x82, 0xa6, 0x87, 0x3e, 0xc2, 0x9d, 0xa9, 0x6f, 0x08, 0x93, 0x47, 0xc5, 0xec, 0x78, 0x31, 0x5e,
-	0x44, 0x9e, 0xfc, 0xf7, 0x2c, 0xff, 0x76, 0x3f, 0xf6, 0xe5, 0x3f, 0x86, 0x5f, 0x77, 0x05, 0x85,
-	0xe4, 0x0b, 0xc2, 0xc4, 0x4d, 0xa6, 0x5f, 0x3b, 0xfe, 0xd4, 0xb4, 0x4d, 0xcf, 0x1d, 0x0b, 0xbe,
-	0x11, 0x9e, 0x00, 0x38, 0xf9, 0x8c, 0xf0, 0x85, 0xb8, 0xca, 0x9e, 0x3b, 0x8a, 0xa9, 0x7a, 0xa9,
-	0xc9, 0xf5, 0x36, 0xe2, 0xa3, 0xf1, 0x6d, 0xb4, 0xf7, 0x2d, 0xed, 0x4e, 0xb0, 0x65, 0x69, 0xdd,
-	0x6d, 0xe2, 0x35, 0xf1, 0xc9, 0x91, 0x74, 0x63, 0x14, 0xc6, 0x31, 0x0e, 0x52, 0x95, 0xb7, 0x60,
-	0xc6, 0xfd, 0xbf, 0xdd, 0x31, 0x7a, 0xb7, 0xa6, 0xdb, 0x45, 0xc9, 0x59, 0x8b, 0x39, 0xfa, 0x15,
-	0x00, 0x00, 0xff, 0xff, 0x2e, 0xa4, 0x4d, 0x5a, 0x47, 0x08, 0x00, 0x00,
+var fileDescriptor1 = []byte{
+	// 560 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x95, 0xbf, 0x6f, 0xd4, 0x30,
+	0x14, 0xc7, 0x65, 0x06, 0x84, 0x7c, 0x88, 0xc1, 0x42, 0x0c, 0x07, 0x62, 0x88, 0xc4, 0x12, 0xa1,
+	0x58, 0xb9, 0x82, 0x68, 0xaf, 0xaa, 0x84, 0x72, 0xd7, 0x56, 0xa2, 0x20, 0x95, 0x03, 0x16, 0x96,
+	0xca, 0xc9, 0x3d, 0xa2, 0x40, 0x62, 0x87, 0xd8, 0x39, 0x54, 0x50, 0x17, 0x16, 0xfe, 0x00, 0x58,
+	0x61, 0x62, 0x64, 0x82, 0x1d, 0x76, 0x56, 0xfe, 0x05, 0xfe, 0x10, 0x14, 0x3b, 0xa1, 0x69, 0xf9,
+	0xe1, 0x73, 0xd5, 0x25, 0xe7, 0xb3, 0xbf, 0xdf, 0xf7, 0x3e, 0xcf, 0x7e, 0x96, 0xf1, 0x7a, 0x2a,
+	0x44, 0x9a, 0x03, 0x8d, 0xb3, 0x54, 0xb1, 0x38, 0x07, 0xca, 0xe6, 0x45, 0xc6, 0xa9, 0x19, 0x2f,
+	0xc2, 0xdf, 0xf3, 0x7b, 0xe6, 0x2b, 0xa1, 0x5a, 0x64, 0x09, 0x04, 0x65, 0x25, 0x94, 0x20, 0x57,
+	0x8d, 0x39, 0xe8, 0x44, 0x81, 0x36, 0x07, 0x66, 0xbc, 0x08, 0x87, 0x57, 0xda, 0xe0, 0xac, 0xcc,
+	0x28, 0xe3, 0x5c, 0x28, 0xa6, 0x32, 0xc1, 0xa5, 0x71, 0x0f, 0x57, 0xdd, 0x52, 0xcf, 0x99, 0x62,
+	0xad, 0x73, 0x7a, 0x22, 0xe8, 0xbd, 0x02, 0xa4, 0x64, 0x29, 0x74, 0xf9, 0x2f, 0xb7, 0x51, 0xf4,
+	0xbf, 0xb8, 0x7e, 0x42, 0xa1, 0x28, 0xd5, 0xbe, 0x59, 0x1c, 0x7d, 0x3d, 0x8f, 0x2f, 0x46, 0x6d,
+	0x98, 0x87, 0xcd, 0xe7, 0x81, 0x09, 0x42, 0x3e, 0x22, 0x3c, 0x98, 0x54, 0xc0, 0x94, 0x99, 0x26,
+	0xa3, 0xe0, 0xff, 0x9b, 0x10, 0xf4, 0xc4, 0x33, 0x78, 0x5e, 0x83, 0x54, 0xc3, 0x6b, 0x36, 0x8f,
+	0x56, 0x7b, 0xe3, 0xd7, 0x3f, 0x7e, 0xbe, 0x3d, 0x73, 0xc3, 0xa3, 0x4d, 0x4d, 0xaf, 0x38, 0x2b,
+	0x60, 0xa3, 0xac, 0xc4, 0x53, 0x48, 0x94, 0xa4, 0x3e, 0x7d, 0x29, 0x38, 0x34, 0xbf, 0x49, 0x5e,
+	0x4b, 0x05, 0x95, 0xa4, 0xfe, 0x81, 0xd9, 0x01, 0x39, 0x46, 0x3e, 0xf9, 0x84, 0x30, 0xbe, 0x9b,
+	0x49, 0xa5, 0x23, 0x49, 0x12, 0xda, 0x32, 0x1e, 0x6a, 0x3b, 0xc8, 0x91, 0x8b, 0x45, 0x96, 0x82,
+	0x4b, 0xf0, 0x6e, 0x69, 0xe2, 0x90, 0xb8, 0x12, 0x93, 0xf7, 0x08, 0x9f, 0xdb, 0x06, 0x13, 0x8e,
+	0x50, 0x5b, 0xe6, 0x4e, 0xe9, 0xb8, 0x9f, 0x6b, 0x9a, 0x6e, 0x85, 0x84, 0x4b, 0xd2, 0xb5, 0x70,
+	0xd4, 0x3f, 0x20, 0xef, 0x10, 0x1e, 0x4c, 0x21, 0x87, 0xa5, 0x4f, 0xbd, 0x27, 0xee, 0x28, 0x2f,
+	0x75, 0x9e, 0xae, 0xe1, 0x82, 0xcd, 0xa6, 0xe1, 0x3a, 0x2c, 0xff, 0x04, 0x58, 0x1f, 0x10, 0x1e,
+	0xcc, 0xa0, 0xb1, 0x2c, 0x89, 0xd5, 0x13, 0xdb, 0xb0, 0x26, 0x1a, 0x6b, 0xc3, 0x5b, 0x75, 0xc6,
+	0x1a, 0x57, 0x3a, 0x4b, 0xd3, 0x86, 0xdf, 0x11, 0x26, 0xe6, 0x02, 0x4c, 0x44, 0x5e, 0x17, 0x7c,
+	0x8b, 0x15, 0x59, 0xbe, 0x4f, 0xd6, 0x96, 0xbb, 0x34, 0x7d, 0x4f, 0x87, 0x7b, 0xdd, 0x6a, 0xed,
+	0x99, 0xbc, 0x1d, 0x5d, 0xc4, 0xa6, 0x77, 0xdb, 0xb9, 0x08, 0x9a, 0x1c, 0xc6, 0xc9, 0xcc, 0x9d,
+	0xfa, 0x86, 0x30, 0x79, 0x54, 0xce, 0x8f, 0x17, 0xe3, 0x44, 0xe4, 0xc8, 0x7f, 0x4f, 0xf3, 0x6f,
+	0x0f, 0x23, 0x57, 0xfe, 0x63, 0xf8, 0xcd, 0xa9, 0x20, 0x9f, 0x7c, 0x41, 0x98, 0x98, 0xce, 0x74,
+	0x3b, 0x8e, 0x3f, 0x3d, 0xb6, 0xee, 0xb9, 0xa3, 0xc1, 0xa7, 0xfe, 0x29, 0x80, 0x93, 0xcf, 0x08,
+	0x5f, 0x88, 0xea, 0xfc, 0x99, 0xa1, 0x98, 0x89, 0x17, 0x92, 0xdc, 0xb4, 0x11, 0x1f, 0xd5, 0xdb,
+	0x68, 0xef, 0x6b, 0xda, 0x1d, 0x6f, 0x4b, 0xd3, 0x9a, 0x57, 0xc3, 0xa9, 0xe3, 0xe3, 0x23, 0xe9,
+	0xc6, 0xc8, 0x8f, 0xde, 0x20, 0xec, 0x25, 0xa2, 0xb0, 0x70, 0x46, 0xc3, 0xbf, 0x3d, 0x32, 0x72,
+	0xb7, 0xc1, 0xdb, 0x45, 0x8f, 0x27, 0xad, 0x3b, 0x15, 0x39, 0xe3, 0x69, 0x20, 0xaa, 0x94, 0xa6,
+	0xc0, 0x35, 0x3c, 0x35, 0x4b, 0xac, 0xcc, 0xe4, 0xbf, 0xde, 0xc1, 0x75, 0x3d, 0x88, 0xcf, 0x6a,
+	0xfd, 0xca, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x65, 0xb4, 0xe0, 0xeb, 0x07, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto b/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto
deleted file mode 100644
index 77f7ea2f76f05a7cb277be3e5da814a12fc83946..0000000000000000000000000000000000000000
--- a/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.bigtable.admin.table.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto"; // from google/bigtable/admin/table/v1/bigtable_table_data.proto
-import "google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto"; // from google/bigtable/admin/table/v1/bigtable_table_service_messages.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "BigtableTableServicesProto";
-option java_package = "com.google.bigtable.admin.table.v1";
-
-
-// Service for creating, configuring, and deleting Cloud Bigtable tables.
-// Provides access to the table schemas only, not the data stored within the tables.
-service BigtableTableService {
-  // Creates a new table, to be served from a specified cluster.
-  // The table can be created with a full set of initial column families,
-  // specified in the request.
-  rpc CreateTable(CreateTableRequest) returns (Table) {
-    option (google.api.http) = { post: "/v1/{name=projects/*/zones/*/clusters/*}/tables" body: "*" };
-  }
-
-  // Lists the names of all tables served from a specified cluster.
-  rpc ListTables(ListTablesRequest) returns (ListTablesResponse) {
-    option (google.api.http) = { get: "/v1/{name=projects/*/zones/*/clusters/*}/tables" };
-  }
-
-  // Gets the schema of the specified table, including its column families.
-  rpc GetTable(GetTableRequest) returns (Table) {
-    option (google.api.http) = { get: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}" };
-  }
-
-  // Permanently deletes a specified table and all of its data.
-  rpc DeleteTable(DeleteTableRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}" };
-  }
-
-  // Changes the name of a specified table.
-  // Cannot be used to move tables between clusters, zones, or projects.
-  rpc RenameTable(RenameTableRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}:rename" body: "*" };
-  }
-
-  // Creates a new column family within a specified table.
-  rpc CreateColumnFamily(CreateColumnFamilyRequest) returns (ColumnFamily) {
-    option (google.api.http) = { post: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}/columnFamilies" body: "*" };
-  }
-
-  // Changes the configuration of a specified column family.
-  rpc UpdateColumnFamily(ColumnFamily) returns (ColumnFamily) {
-    option (google.api.http) = { put: "/v1/{name=projects/*/zones/*/clusters/*/tables/*/columnFamilies/*}" body: "*" };
-  }
-
-  // Permanently deletes a specified column family and all of its data.
-  rpc DeleteColumnFamily(DeleteColumnFamilyRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{name=projects/*/zones/*/clusters/*/tables/*/columnFamilies/*}" };
-  }
-
-  // Delete all rows in a table corresponding to a particular prefix
-  rpc BulkDeleteRows(BulkDeleteRowsRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}:bulkDeleteRows" body: "*" };
-  }
-}
diff --git a/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.pb.go b/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.pb.go
index ed36544de0223d324be07632142d77cac148a9c4..3ac7d7f939316e688f05eeb85a312161a85e55ee 100644
--- a/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.pb.go
+++ b/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto
+// source: google/bigtable/admin/table/v1/bigtable_table_service_messages.proto
 // DO NOT EDIT!
 
-package google_bigtable_admin_table_v1 // import "google.golang.org/genproto/googleapis/bigtable/admin/table/v1"
+package table
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -43,7 +43,21 @@ type CreateTableRequest struct {
 func (m *CreateTableRequest) Reset()                    { *m = CreateTableRequest{} }
 func (m *CreateTableRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateTableRequest) ProtoMessage()               {}
-func (*CreateTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+func (*CreateTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+
+func (m *CreateTableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *CreateTableRequest) GetTableId() string {
+	if m != nil {
+		return m.TableId
+	}
+	return ""
+}
 
 func (m *CreateTableRequest) GetTable() *Table {
 	if m != nil {
@@ -52,6 +66,13 @@ func (m *CreateTableRequest) GetTable() *Table {
 	return nil
 }
 
+func (m *CreateTableRequest) GetInitialSplitKeys() []string {
+	if m != nil {
+		return m.InitialSplitKeys
+	}
+	return nil
+}
+
 type ListTablesRequest struct {
 	// The unique name of the cluster for which tables should be listed.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
@@ -60,7 +81,14 @@ type ListTablesRequest struct {
 func (m *ListTablesRequest) Reset()                    { *m = ListTablesRequest{} }
 func (m *ListTablesRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListTablesRequest) ProtoMessage()               {}
-func (*ListTablesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+func (*ListTablesRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+
+func (m *ListTablesRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 type ListTablesResponse struct {
 	// The tables present in the requested cluster.
@@ -71,7 +99,7 @@ type ListTablesResponse struct {
 func (m *ListTablesResponse) Reset()                    { *m = ListTablesResponse{} }
 func (m *ListTablesResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListTablesResponse) ProtoMessage()               {}
-func (*ListTablesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
+func (*ListTablesResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
 
 func (m *ListTablesResponse) GetTables() []*Table {
 	if m != nil {
@@ -88,7 +116,14 @@ type GetTableRequest struct {
 func (m *GetTableRequest) Reset()                    { *m = GetTableRequest{} }
 func (m *GetTableRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetTableRequest) ProtoMessage()               {}
-func (*GetTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
+func (*GetTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
+
+func (m *GetTableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 type DeleteTableRequest struct {
 	// The unique name of the table to be deleted.
@@ -98,7 +133,14 @@ type DeleteTableRequest struct {
 func (m *DeleteTableRequest) Reset()                    { *m = DeleteTableRequest{} }
 func (m *DeleteTableRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteTableRequest) ProtoMessage()               {}
-func (*DeleteTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
+func (*DeleteTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
+
+func (m *DeleteTableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 type RenameTableRequest struct {
 	// The current unique name of the table.
@@ -111,7 +153,21 @@ type RenameTableRequest struct {
 func (m *RenameTableRequest) Reset()                    { *m = RenameTableRequest{} }
 func (m *RenameTableRequest) String() string            { return proto.CompactTextString(m) }
 func (*RenameTableRequest) ProtoMessage()               {}
-func (*RenameTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
+func (*RenameTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
+
+func (m *RenameTableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *RenameTableRequest) GetNewId() string {
+	if m != nil {
+		return m.NewId
+	}
+	return ""
+}
 
 type CreateColumnFamilyRequest struct {
 	// The unique name of the table in which to create the new column family.
@@ -126,7 +182,21 @@ type CreateColumnFamilyRequest struct {
 func (m *CreateColumnFamilyRequest) Reset()                    { *m = CreateColumnFamilyRequest{} }
 func (m *CreateColumnFamilyRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateColumnFamilyRequest) ProtoMessage()               {}
-func (*CreateColumnFamilyRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
+func (*CreateColumnFamilyRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
+
+func (m *CreateColumnFamilyRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *CreateColumnFamilyRequest) GetColumnFamilyId() string {
+	if m != nil {
+		return m.ColumnFamilyId
+	}
+	return ""
+}
 
 func (m *CreateColumnFamilyRequest) GetColumnFamily() *ColumnFamily {
 	if m != nil {
@@ -143,7 +213,14 @@ type DeleteColumnFamilyRequest struct {
 func (m *DeleteColumnFamilyRequest) Reset()                    { *m = DeleteColumnFamilyRequest{} }
 func (m *DeleteColumnFamilyRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteColumnFamilyRequest) ProtoMessage()               {}
-func (*DeleteColumnFamilyRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
+func (*DeleteColumnFamilyRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
+
+func (m *DeleteColumnFamilyRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 type BulkDeleteRowsRequest struct {
 	// The unique name of the table on which to perform the bulk delete
@@ -157,7 +234,7 @@ type BulkDeleteRowsRequest struct {
 func (m *BulkDeleteRowsRequest) Reset()                    { *m = BulkDeleteRowsRequest{} }
 func (m *BulkDeleteRowsRequest) String() string            { return proto.CompactTextString(m) }
 func (*BulkDeleteRowsRequest) ProtoMessage()               {}
-func (*BulkDeleteRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
+func (*BulkDeleteRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{8} }
 
 type isBulkDeleteRowsRequest_Target interface {
 	isBulkDeleteRowsRequest_Target()
@@ -180,6 +257,13 @@ func (m *BulkDeleteRowsRequest) GetTarget() isBulkDeleteRowsRequest_Target {
 	return nil
 }
 
+func (m *BulkDeleteRowsRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
 func (m *BulkDeleteRowsRequest) GetRowKeyPrefix() []byte {
 	if x, ok := m.GetTarget().(*BulkDeleteRowsRequest_RowKeyPrefix); ok {
 		return x.RowKeyPrefix
@@ -276,41 +360,42 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto", fileDescriptor1)
-}
-
-var fileDescriptor1 = []byte{
-	// 503 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0x51, 0x6f, 0xd3, 0x30,
-	0x10, 0x5e, 0xe8, 0x56, 0xda, 0xa3, 0x8c, 0x61, 0x69, 0xa8, 0x9d, 0x04, 0x2a, 0x96, 0x06, 0x7d,
-	0x98, 0x12, 0x0d, 0x1e, 0x01, 0x21, 0xba, 0x69, 0xac, 0x1a, 0xa0, 0x92, 0x22, 0xf1, 0x18, 0xb9,
-	0xcd, 0x35, 0xb2, 0xe6, 0xc4, 0xc1, 0x76, 0x1b, 0xfa, 0x87, 0x78, 0x42, 0xfc, 0x46, 0x14, 0x3b,
-	0xac, 0xdd, 0x4b, 0xb3, 0x07, 0x5e, 0xa2, 0xcb, 0xdd, 0x7d, 0xdf, 0x9d, 0xbf, 0x3b, 0x1b, 0x66,
-	0x89, 0x94, 0x89, 0x40, 0x3f, 0x91, 0x82, 0x65, 0x89, 0x2f, 0x55, 0x12, 0x24, 0x98, 0xe5, 0x4a,
-	0x1a, 0x19, 0xb8, 0x10, 0xcb, 0xb9, 0x0e, 0xa6, 0x3c, 0x31, 0x6c, 0x2a, 0x30, 0x60, 0x71, 0xca,
-	0xb3, 0xc0, 0xd9, 0xcb, 0xd3, 0x1b, 0x7f, 0xe4, 0xbe, 0x1a, 0xd5, 0x92, 0xcf, 0x30, 0x4a, 0x51,
-	0x6b, 0x96, 0xa0, 0xf6, 0x2d, 0x11, 0x79, 0x56, 0x15, 0xf9, 0x97, 0xed, 0x5b, 0x16, 0xdf, 0xd9,
-	0xcb, 0xd3, 0xa3, 0xef, 0xff, 0xb5, 0x89, 0x98, 0x19, 0xe6, 0x0a, 0xd3, 0x3f, 0x1e, 0x90, 0x33,
-	0x85, 0xcc, 0xe0, 0xb7, 0x32, 0x14, 0xe2, 0x8f, 0x05, 0x6a, 0x43, 0x08, 0xec, 0x66, 0x2c, 0xc5,
-	0xae, 0xd7, 0xf7, 0x06, 0xed, 0xd0, 0xda, 0xa4, 0x07, 0x2d, 0x07, 0xe7, 0x71, 0xf7, 0x9e, 0xf5,
-	0xdf, 0xb7, 0xff, 0xa3, 0x98, 0xbc, 0x81, 0x3d, 0x6b, 0x76, 0x1b, 0x7d, 0x6f, 0xf0, 0xe0, 0xd5,
-	0xb1, 0xbf, 0xfd, 0x38, 0xbe, 0xab, 0xe5, 0x30, 0xe4, 0x04, 0x08, 0xcf, 0xb8, 0xe1, 0x4c, 0x44,
-	0x3a, 0x17, 0xdc, 0x44, 0xd7, 0xb8, 0xd2, 0xdd, 0xdd, 0x7e, 0x63, 0xd0, 0x0e, 0x0f, 0xaa, 0xc8,
-	0xa4, 0x0c, 0x5c, 0xe1, 0x4a, 0xd3, 0x97, 0xf0, 0xf8, 0x13, 0xd7, 0xc6, 0x32, 0xe8, 0x2d, 0xed,
-	0xd2, 0x09, 0x90, 0xcd, 0x44, 0x9d, 0xcb, 0x4c, 0x23, 0x79, 0x07, 0x4d, 0x5b, 0x55, 0x77, 0xbd,
-	0x7e, 0xe3, 0xee, 0xad, 0x56, 0x20, 0x7a, 0x0c, 0x8f, 0x3e, 0xa2, 0xa9, 0x93, 0x8a, 0x0e, 0x80,
-	0x9c, 0xa3, 0xc0, 0x7a, 0x51, 0xe9, 0x7b, 0x20, 0x21, 0x96, 0x56, 0xad, 0xfc, 0x87, 0xd0, 0xcc,
-	0xb0, 0x58, 0x8b, 0xbf, 0x97, 0x61, 0x31, 0x8a, 0xe9, 0x6f, 0x0f, 0x7a, 0x6e, 0x80, 0x67, 0x52,
-	0x2c, 0xd2, 0xec, 0x82, 0xa5, 0x5c, 0xac, 0xb6, 0x11, 0x0d, 0xe0, 0x60, 0x66, 0x53, 0xa3, 0xb9,
-	0xcd, 0x5d, 0x53, 0xee, 0xcf, 0x36, 0x28, 0x46, 0x31, 0xf9, 0x0a, 0x0f, 0x6f, 0x65, 0x56, 0xe3,
-	0x3d, 0xa9, 0xd3, 0xec, 0x56, 0x27, 0x9d, 0x4d, 0x52, 0x1a, 0x40, 0xcf, 0x29, 0x73, 0xc7, 0x6e,
-	0xe9, 0x2f, 0x0f, 0x0e, 0x87, 0x0b, 0x71, 0xed, 0x50, 0xa1, 0x2c, 0x6e, 0x86, 0xfe, 0x14, 0xc0,
-	0xed, 0xe3, 0x06, 0xa6, 0x6d, 0x3d, 0x5f, 0xca, 0x63, 0xbe, 0x80, 0x7d, 0x25, 0x8b, 0x72, 0x99,
-	0xa2, 0x5c, 0xe1, 0x9c, 0xff, 0xb4, 0x87, 0xec, 0x5c, 0xee, 0x84, 0x1d, 0x25, 0x8b, 0x2b, 0x5c,
-	0x8d, 0xad, 0x97, 0xbc, 0x85, 0xa3, 0xd8, 0x72, 0x47, 0x4c, 0x08, 0x7b, 0x35, 0xa2, 0xb9, 0x92,
-	0x69, 0xb4, 0x5e, 0xe8, 0xd6, 0xe5, 0x4e, 0xf8, 0xc4, 0xe5, 0x7c, 0x10, 0xe2, 0x9c, 0x19, 0x76,
-	0xa1, 0x64, 0x6a, 0x07, 0x36, 0x6c, 0x95, 0xfb, 0xa4, 0x12, 0x34, 0xc3, 0x11, 0xd0, 0x99, 0x4c,
-	0x6b, 0xa4, 0x19, 0x3e, 0x1f, 0x56, 0x01, 0x0b, 0x9f, 0xb8, 0xd7, 0xe0, 0x73, 0xf5, 0x18, 0x8c,
-	0xcb, 0x2b, 0x39, 0xf6, 0xa6, 0x4d, 0x7b, 0x37, 0x5f, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x3a,
-	0xb9, 0x40, 0x1a, 0x7b, 0x04, 0x00, 0x00,
+	proto.RegisterFile("google/bigtable/admin/table/v1/bigtable_table_service_messages.proto", fileDescriptor2)
+}
+
+var fileDescriptor2 = []byte{
+	// 514 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0xc1, 0x6e, 0xd3, 0x40,
+	0x10, 0xad, 0x49, 0x1b, 0x92, 0x21, 0x94, 0xb2, 0x52, 0x51, 0x52, 0x09, 0x14, 0x56, 0x2a, 0xe4,
+	0x50, 0xd9, 0x2a, 0x5c, 0x90, 0x0a, 0x42, 0x24, 0x51, 0x69, 0x54, 0x40, 0xc1, 0xe1, 0xc4, 0xc5,
+	0xda, 0xc4, 0x13, 0x6b, 0xd5, 0xb5, 0x37, 0xec, 0x6e, 0x12, 0xf2, 0x13, 0x7c, 0x06, 0x27, 0xc4,
+	0x37, 0x22, 0xef, 0x9a, 0x26, 0x3d, 0x10, 0x97, 0x8b, 0x35, 0x9e, 0x79, 0xf3, 0x66, 0xf6, 0xcd,
+	0x0c, 0xf4, 0x13, 0x29, 0x13, 0x81, 0xc1, 0x98, 0x27, 0x86, 0x8d, 0x05, 0x06, 0x2c, 0x4e, 0x79,
+	0x16, 0x38, 0x7b, 0x71, 0x7a, 0xed, 0x8f, 0xdc, 0x57, 0xa3, 0x5a, 0xf0, 0x09, 0x46, 0x29, 0x6a,
+	0xcd, 0x12, 0xd4, 0xfe, 0x4c, 0x49, 0x23, 0xc9, 0x13, 0xc7, 0xe2, 0xff, 0x45, 0xfb, 0x96, 0xc5,
+	0x77, 0xf6, 0xe2, 0xf4, 0xe8, 0xd5, 0xff, 0x55, 0x89, 0x99, 0x61, 0x8e, 0x99, 0xfe, 0xf6, 0x80,
+	0xf4, 0x14, 0x32, 0x83, 0x5f, 0xf2, 0x50, 0x88, 0xdf, 0xe6, 0xa8, 0x0d, 0x21, 0xb0, 0x9b, 0xb1,
+	0x14, 0x9b, 0x5e, 0xdb, 0xeb, 0xd4, 0x43, 0x6b, 0x93, 0x16, 0xd4, 0x5c, 0x3a, 0x8f, 0x9b, 0x77,
+	0xac, 0xff, 0xae, 0xfd, 0x1f, 0xc4, 0xe4, 0x0c, 0xf6, 0xac, 0xd9, 0xac, 0xb4, 0xbd, 0xce, 0xbd,
+	0x17, 0xc7, 0xfe, 0xf6, 0x7e, 0x7d, 0x57, 0xcb, 0xe5, 0x90, 0x13, 0x20, 0x3c, 0xe3, 0x86, 0x33,
+	0x11, 0xe9, 0x99, 0xe0, 0x26, 0xba, 0xc2, 0x95, 0x6e, 0xee, 0xb6, 0x2b, 0x9d, 0x7a, 0x78, 0x50,
+	0x44, 0x46, 0x79, 0xe0, 0x12, 0x57, 0x9a, 0x3e, 0x87, 0x87, 0x1f, 0xb8, 0x36, 0x96, 0x41, 0x6f,
+	0x69, 0x97, 0x8e, 0x80, 0x6c, 0x02, 0xf5, 0x4c, 0x66, 0x1a, 0xc9, 0x1b, 0xa8, 0xda, 0xaa, 0xba,
+	0xe9, 0xb5, 0x2b, 0xb7, 0x6f, 0xb5, 0x48, 0xa2, 0xc7, 0xf0, 0xe0, 0x3d, 0x9a, 0x32, 0xa9, 0x68,
+	0x07, 0x48, 0x1f, 0x05, 0x96, 0x8b, 0x4a, 0xdf, 0x02, 0x09, 0x31, 0xb7, 0x4a, 0xe5, 0x3f, 0x84,
+	0x6a, 0x86, 0xcb, 0xb5, 0xf8, 0x7b, 0x19, 0x2e, 0x07, 0x31, 0xfd, 0xe5, 0x41, 0xcb, 0x0d, 0xb0,
+	0x27, 0xc5, 0x3c, 0xcd, 0xce, 0x59, 0xca, 0xc5, 0x6a, 0x1b, 0x51, 0x07, 0x0e, 0x26, 0x16, 0x1a,
+	0x4d, 0x2d, 0x76, 0x4d, 0xb9, 0x3f, 0xd9, 0xa0, 0x18, 0xc4, 0xe4, 0x33, 0xdc, 0xbf, 0x81, 0x2c,
+	0xc6, 0x7b, 0x52, 0xa6, 0xd9, 0x8d, 0x4e, 0x1a, 0x9b, 0xa4, 0x34, 0x80, 0x96, 0x53, 0xe6, 0x96,
+	0xdd, 0xd2, 0x9f, 0x1e, 0x1c, 0x76, 0xe7, 0xe2, 0xca, 0x65, 0x85, 0x72, 0x79, 0x3d, 0xf4, 0xc7,
+	0x00, 0x6e, 0x1f, 0x37, 0x72, 0xea, 0xd6, 0xf3, 0x29, 0x7f, 0xe6, 0x33, 0xd8, 0x57, 0x72, 0x99,
+	0x2f, 0x53, 0x34, 0x53, 0x38, 0xe5, 0xdf, 0xed, 0x23, 0x1b, 0x17, 0x3b, 0x61, 0x43, 0xc9, 0xe5,
+	0x25, 0xae, 0x86, 0xd6, 0x4b, 0x5e, 0xc3, 0x51, 0x6c, 0xb9, 0x23, 0x26, 0x84, 0x3d, 0x8d, 0x68,
+	0xaa, 0x64, 0x1a, 0xad, 0x17, 0xba, 0x76, 0xb1, 0x13, 0x3e, 0x72, 0x98, 0x77, 0x42, 0xf4, 0x99,
+	0x61, 0xe7, 0x4a, 0xa6, 0x76, 0x60, 0xdd, 0x5a, 0xbe, 0x4f, 0x2a, 0x41, 0xd3, 0xfd, 0xe1, 0x01,
+	0x9d, 0xc8, 0xb4, 0x44, 0x9b, 0xee, 0xd3, 0x6e, 0x11, 0xb0, 0xf9, 0x23, 0x77, 0xef, 0x1f, 0x8b,
+	0x73, 0x1f, 0xe6, 0x37, 0x39, 0xf4, 0xbe, 0xf6, 0x0a, 0x92, 0x44, 0x0a, 0x96, 0x25, 0xbe, 0x54,
+	0x49, 0x90, 0x60, 0x66, 0x2f, 0x36, 0x70, 0x21, 0x36, 0xe3, 0xfa, 0x5f, 0xe7, 0x7e, 0x66, 0x8d,
+	0x71, 0xd5, 0xe2, 0x5f, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0xf7, 0x08, 0x29, 0x16, 0x83, 0x04,
+	0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto b/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto
deleted file mode 100644
index b935351073a9c10aa5281b8924a531aa04e5303a..0000000000000000000000000000000000000000
--- a/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.bigtable.admin.table.v1;
-
-import "google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto"; // from google/bigtable/admin/table/v1/bigtable_table_data.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "BigtableTableServiceMessagesProto";
-option java_package = "com.google.bigtable.admin.table.v1";
-
-
-message CreateTableRequest {
-  // The unique name of the cluster in which to create the new table.
-  string name = 1;
-
-  // The name by which the new table should be referred to within the cluster,
-  // e.g. "foobar" rather than "<cluster_name>/tables/foobar".
-  string table_id = 2;
-
-  // The Table to create. The `name` field of the Table and all of its
-  // ColumnFamilies must be left blank, and will be populated in the response.
-  Table table = 3;
-
-  // The optional list of row keys that will be used to initially split the
-  // table into several tablets (Tablets are similar to HBase regions).
-  // Given two split keys, "s1" and "s2", three tablets will be created,
-  // spanning the key ranges: [, s1), [s1, s2), [s2, ).
-  //
-  // Example:
-  //  * Row keys := ["a", "apple", "custom", "customer_1", "customer_2",
-  //                 "other", "zz"]
-  //  * initial_split_keys := ["apple", "customer_1", "customer_2", "other"]
-  //  * Key assignment:
-  //    - Tablet 1 [, apple)                => {"a"}.
-  //    - Tablet 2 [apple, customer_1)      => {"apple", "custom"}.
-  //    - Tablet 3 [customer_1, customer_2) => {"customer_1"}.
-  //    - Tablet 4 [customer_2, other)      => {"customer_2"}.
-  //    - Tablet 5 [other, )                => {"other", "zz"}.
-  repeated string initial_split_keys = 4;
-}
-
-message ListTablesRequest {
-  // The unique name of the cluster for which tables should be listed.
-  string name = 1;
-}
-
-message ListTablesResponse {
-  // The tables present in the requested cluster.
-  // At present, only the names of the tables are populated.
-  repeated Table tables = 1;
-}
-
-message GetTableRequest {
-  // The unique name of the requested table.
-  string name = 1;
-}
-
-message DeleteTableRequest {
-  // The unique name of the table to be deleted.
-  string name = 1;
-}
-
-message RenameTableRequest {
-  // The current unique name of the table.
-  string name = 1;
-
-  // The new name by which the table should be referred to within its containing
-  // cluster, e.g. "foobar" rather than "<cluster_name>/tables/foobar".
-  string new_id = 2;
-}
-
-message CreateColumnFamilyRequest {
-  // The unique name of the table in which to create the new column family.
-  string name = 1;
-
-  // The name by which the new column family should be referred to within the
-  // table, e.g. "foobar" rather than "<table_name>/columnFamilies/foobar".
-  string column_family_id = 2;
-
-  // The column family to create. The `name` field must be left blank.
-  ColumnFamily column_family = 3;
-}
-
-message DeleteColumnFamilyRequest {
-  // The unique name of the column family to be deleted.
-  string name = 1;
-}
-
-message BulkDeleteRowsRequest {
-  // The unique name of the table on which to perform the bulk delete
-  string table_name = 1;
-
-  oneof target {
-    // Delete all rows that start with this row key prefix. Prefix cannot be
-    // zero length.
-    bytes row_key_prefix = 2;
-
-    // Delete all rows in the table. Setting this to false is a no-op.
-    bool delete_all_data_from_table = 3;
-  }
-}
diff --git a/googleapis/bigtable/admin/v2/bigtable_instance_admin.pb.go b/googleapis/bigtable/admin/v2/bigtable_instance_admin.pb.go
index 884e320150d9ec056e7b847107ff69684efda811..17de8014160b808864ad041c63b8adae5ea2c256 100644
--- a/googleapis/bigtable/admin/v2/bigtable_instance_admin.pb.go
+++ b/googleapis/bigtable/admin/v2/bigtable_instance_admin.pb.go
@@ -1,16 +1,16 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_instance_admin.proto
+// source: google/bigtable/admin/v2/bigtable_instance_admin.proto
 // DO NOT EDIT!
 
 /*
-Package google_bigtable_admin_v2 is a generated protocol buffer package.
+Package admin is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_instance_admin.proto
-	google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_table_admin.proto
-	google.golang.org/genproto/googleapis/bigtable/admin/v2/common.proto
-	google.golang.org/genproto/googleapis/bigtable/admin/v2/instance.proto
-	google.golang.org/genproto/googleapis/bigtable/admin/v2/table.proto
+	google/bigtable/admin/v2/bigtable_instance_admin.proto
+	google/bigtable/admin/v2/bigtable_table_admin.proto
+	google/bigtable/admin/v2/common.proto
+	google/bigtable/admin/v2/instance.proto
+	google/bigtable/admin/v2/table.proto
 
 It has these top-level messages:
 	CreateInstanceRequest
@@ -38,12 +38,12 @@ It has these top-level messages:
 	ColumnFamily
 	GcRule
 */
-package google_bigtable_admin_v2 // import "google.golang.org/genproto/googleapis/bigtable/admin/v2"
+package admin
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/timestamp"
@@ -89,6 +89,20 @@ func (m *CreateInstanceRequest) String() string            { return proto.Compac
 func (*CreateInstanceRequest) ProtoMessage()               {}
 func (*CreateInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *CreateInstanceRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *CreateInstanceRequest) GetInstanceId() string {
+	if m != nil {
+		return m.InstanceId
+	}
+	return ""
+}
+
 func (m *CreateInstanceRequest) GetInstance() *Instance {
 	if m != nil {
 		return m.Instance
@@ -115,6 +129,13 @@ func (m *GetInstanceRequest) String() string            { return proto.CompactTe
 func (*GetInstanceRequest) ProtoMessage()               {}
 func (*GetInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *GetInstanceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for BigtableInstanceAdmin.ListInstances.
 type ListInstancesRequest struct {
 	// The unique name of the project for which a list of instances is requested.
@@ -129,6 +150,20 @@ func (m *ListInstancesRequest) String() string            { return proto.Compact
 func (*ListInstancesRequest) ProtoMessage()               {}
 func (*ListInstancesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *ListInstancesRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListInstancesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response message for BigtableInstanceAdmin.ListInstances.
 type ListInstancesResponse struct {
 	// The list of requested instances.
@@ -157,6 +192,20 @@ func (m *ListInstancesResponse) GetInstances() []*Instance {
 	return nil
 }
 
+func (m *ListInstancesResponse) GetFailedLocations() []string {
+	if m != nil {
+		return m.FailedLocations
+	}
+	return nil
+}
+
+func (m *ListInstancesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for BigtableInstanceAdmin.DeleteInstance.
 type DeleteInstanceRequest struct {
 	// The unique name of the instance to be deleted.
@@ -169,6 +218,13 @@ func (m *DeleteInstanceRequest) String() string            { return proto.Compac
 func (*DeleteInstanceRequest) ProtoMessage()               {}
 func (*DeleteInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *DeleteInstanceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for BigtableInstanceAdmin.CreateCluster.
 type CreateClusterRequest struct {
 	// The unique name of the instance in which to create the new cluster.
@@ -189,6 +245,20 @@ func (m *CreateClusterRequest) String() string            { return proto.Compact
 func (*CreateClusterRequest) ProtoMessage()               {}
 func (*CreateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *CreateClusterRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *CreateClusterRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
 func (m *CreateClusterRequest) GetCluster() *Cluster {
 	if m != nil {
 		return m.Cluster
@@ -208,6 +278,13 @@ func (m *GetClusterRequest) String() string            { return proto.CompactTex
 func (*GetClusterRequest) ProtoMessage()               {}
 func (*GetClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *GetClusterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for BigtableInstanceAdmin.ListClusters.
 type ListClustersRequest struct {
 	// The unique name of the instance for which a list of clusters is requested.
@@ -224,6 +301,20 @@ func (m *ListClustersRequest) String() string            { return proto.CompactT
 func (*ListClustersRequest) ProtoMessage()               {}
 func (*ListClustersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *ListClustersRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListClustersRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response message for BigtableInstanceAdmin.ListClusters.
 type ListClustersResponse struct {
 	// The list of requested clusters.
@@ -251,6 +342,20 @@ func (m *ListClustersResponse) GetClusters() []*Cluster {
 	return nil
 }
 
+func (m *ListClustersResponse) GetFailedLocations() []string {
+	if m != nil {
+		return m.FailedLocations
+	}
+	return nil
+}
+
+func (m *ListClustersResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for BigtableInstanceAdmin.DeleteCluster.
 type DeleteClusterRequest struct {
 	// The unique name of the cluster to be deleted. Values are of the form
@@ -263,6 +368,13 @@ func (m *DeleteClusterRequest) String() string            { return proto.Compact
 func (*DeleteClusterRequest) ProtoMessage()               {}
 func (*DeleteClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *DeleteClusterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // The metadata for the Operation returned by CreateInstance.
 type CreateInstanceMetadata struct {
 	// The request that prompted the initiation of this CreateInstance operation.
@@ -736,76 +848,75 @@ var _BigtableInstanceAdmin_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_instance_admin.proto",
+	Metadata: "google/bigtable/admin/v2/bigtable_instance_admin.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_instance_admin.proto", fileDescriptor0)
+	proto.RegisterFile("google/bigtable/admin/v2/bigtable_instance_admin.proto", fileDescriptor0)
 }
 
 var fileDescriptor0 = []byte{
-	// 1006 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x56, 0x41, 0x6f, 0x1b, 0x45,
-	0x14, 0xd6, 0xd8, 0xa5, 0xd4, 0xcf, 0x75, 0x12, 0x86, 0x38, 0xb2, 0x56, 0x54, 0xa4, 0x8b, 0x54,
-	0x5c, 0x37, 0xec, 0x0a, 0x17, 0x29, 0x28, 0xc1, 0x08, 0x52, 0x4a, 0x15, 0x29, 0x15, 0x91, 0xd5,
-	0x1e, 0xe0, 0x80, 0x35, 0xb6, 0x27, 0xdb, 0xa1, 0xeb, 0x99, 0x65, 0x77, 0x1c, 0x11, 0xa1, 0x5e,
-	0x10, 0xe2, 0x10, 0x09, 0x0e, 0x70, 0x44, 0x9c, 0xb8, 0x70, 0xe0, 0x9f, 0x70, 0xe4, 0xc8, 0x09,
-	0x89, 0x1f, 0xc0, 0x4f, 0x40, 0xbb, 0x33, 0xb3, 0xf6, 0x3a, 0x6b, 0xef, 0x06, 0x84, 0xd4, 0x8b,
-	0xb5, 0xfb, 0x66, 0xde, 0x9b, 0x6f, 0xbe, 0xef, 0xdb, 0xf7, 0x0c, 0x8f, 0x3d, 0x21, 0x3c, 0x9f,
-	0x3a, 0x9e, 0xf0, 0x09, 0xf7, 0x1c, 0x11, 0x7a, 0xae, 0x47, 0x79, 0x10, 0x0a, 0x29, 0x5c, 0xb5,
-	0x44, 0x02, 0x16, 0xb9, 0x43, 0xe6, 0x49, 0x32, 0xf4, 0xa9, 0x4b, 0xc6, 0x13, 0xc6, 0xdd, 0xd3,
-	0x6e, 0x1a, 0x19, 0x30, 0x1e, 0x49, 0xc2, 0x47, 0x74, 0x90, 0x2c, 0x39, 0x49, 0x2a, 0x6e, 0xe9,
-	0xb2, 0x66, 0x97, 0xa3, 0x16, 0x4f, 0xbb, 0xd6, 0x61, 0xb9, 0x03, 0x49, 0xc0, 0xdc, 0x88, 0x86,
-	0xa7, 0x6c, 0x44, 0x47, 0x82, 0x9f, 0x30, 0xcf, 0x25, 0x9c, 0x0b, 0x49, 0x24, 0x13, 0x3c, 0x52,
-	0x87, 0x58, 0x1f, 0xfe, 0x5b, 0xec, 0x06, 0xb2, 0xae, 0x73, 0x50, 0xae, 0x8e, 0x2f, 0xb8, 0x17,
-	0x4e, 0x39, 0x67, 0xdc, 0x73, 0x45, 0x40, 0xc3, 0x0c, 0x96, 0xbb, 0x1e, 0x93, 0x4f, 0xa6, 0x43,
-	0x67, 0x24, 0x26, 0xae, 0xaa, 0xe3, 0x26, 0x0b, 0xc3, 0xe9, 0x89, 0x1b, 0xc8, 0xb3, 0x80, 0x46,
-	0x2e, 0x9d, 0x04, 0xf2, 0x4c, 0xfd, 0xea, 0xa4, 0xfd, 0xe2, 0x24, 0xc9, 0x26, 0x34, 0x92, 0x64,
-	0x12, 0xcc, 0x9e, 0x54, 0xb2, 0xfd, 0x5b, 0x05, 0x9a, 0xf7, 0x42, 0x4a, 0x24, 0x3d, 0xd4, 0xd7,
-	0xe9, 0xd3, 0xcf, 0xa7, 0x34, 0x92, 0x78, 0x0b, 0xae, 0x06, 0x24, 0xa4, 0x5c, 0xb6, 0xd0, 0x36,
-	0x6a, 0xd7, 0xfa, 0xfa, 0x0d, 0xbf, 0x0a, 0xf5, 0x54, 0x2c, 0x36, 0x6e, 0x55, 0x92, 0x45, 0x30,
-	0xa1, 0xc3, 0x31, 0x7e, 0x17, 0xae, 0x99, 0xb7, 0x56, 0x75, 0x1b, 0xb5, 0xeb, 0x5d, 0xdb, 0x59,
-	0x26, 0xa4, 0x93, 0x9e, 0x9a, 0xe6, 0xe0, 0x8f, 0xe1, 0xda, 0xc8, 0x9f, 0x46, 0x92, 0x86, 0x51,
-	0xeb, 0xca, 0x76, 0xb5, 0x5d, 0xef, 0xf6, 0x96, 0xe7, 0xe7, 0x62, 0x77, 0xee, 0xe9, 0xfc, 0xfb,
-	0x5c, 0x86, 0x67, 0xfd, 0xb4, 0x9c, 0xf5, 0x29, 0x34, 0x32, 0x4b, 0x78, 0x03, 0xaa, 0x4f, 0xe9,
-	0x99, 0xbe, 0x61, 0xfc, 0x88, 0x77, 0xe1, 0x85, 0x53, 0xe2, 0x4f, 0x69, 0x72, 0xb1, 0x7a, 0xf7,
-	0xe6, 0x8a, 0xa3, 0x55, 0xa5, 0xbe, 0xda, 0xbf, 0x57, 0x79, 0x1b, 0xd9, 0x6d, 0xc0, 0x0f, 0xa8,
-	0x5c, 0x64, 0x12, 0xc3, 0x15, 0x4e, 0x26, 0x54, 0x9f, 0x92, 0x3c, 0xdb, 0x0f, 0x61, 0xf3, 0x88,
-	0x45, 0xe9, 0xd6, 0xa8, 0x88, 0xf5, 0x1b, 0x00, 0x01, 0xf1, 0xe8, 0x40, 0x8a, 0xa7, 0x94, 0x6b,
-	0xd2, 0x6b, 0x71, 0xe4, 0x51, 0x1c, 0xb0, 0x7f, 0x45, 0xd0, 0x5c, 0xa8, 0x17, 0x05, 0x82, 0x47,
-	0x14, 0xbf, 0x07, 0x35, 0xc3, 0x6c, 0xd4, 0x42, 0x09, 0x9d, 0x65, 0xe4, 0x98, 0x25, 0xe1, 0xdb,
-	0xb0, 0x71, 0x42, 0x98, 0x4f, 0xc7, 0x03, 0x5f, 0x8c, 0x94, 0x5d, 0x5b, 0x95, 0xed, 0x6a, 0xbb,
-	0xd6, 0x5f, 0x57, 0xf1, 0x23, 0x13, 0xc6, 0xb7, 0x60, 0x9d, 0xd3, 0x2f, 0xe4, 0x60, 0x0e, 0x6a,
-	0x35, 0x81, 0xda, 0x88, 0xc3, 0xc7, 0x29, 0xdc, 0x3b, 0xd0, 0xfc, 0x80, 0xfa, 0xf4, 0xa2, 0xe9,
-	0xf2, 0xa8, 0x3a, 0x47, 0xb0, 0xa9, 0x64, 0x36, 0x8c, 0x17, 0x73, 0xa5, 0x15, 0x9f, 0x19, 0xb4,
-	0xa6, 0x23, 0x87, 0x63, 0xbc, 0x0f, 0x2f, 0xea, 0x17, 0x6d, 0xcf, 0x12, 0x1a, 0x9b, 0x0c, 0xfb,
-	0x75, 0x78, 0xe9, 0x01, 0x95, 0x0b, 0x40, 0xf2, 0x50, 0x1f, 0xc1, 0xcb, 0xb1, 0x20, 0xc6, 0x6e,
-	0xff, 0x51, 0xdf, 0x5f, 0x90, 0xf2, 0xcb, 0xac, 0x9c, 0x96, 0xb7, 0x37, 0xf7, 0xb1, 0x28, 0x75,
-	0x4b, 0xdc, 0x26, 0x4d, 0xf9, 0x3f, 0xb4, 0xed, 0xc0, 0xa6, 0xd2, 0xb6, 0x04, 0x49, 0x7f, 0x23,
-	0xd8, 0xca, 0x7e, 0xc1, 0x0f, 0xa9, 0x24, 0x63, 0x22, 0x09, 0xfe, 0x04, 0x36, 0x44, 0xc8, 0x3c,
-	0xc6, 0x89, 0x3f, 0x08, 0x55, 0x89, 0x24, 0xb5, 0xde, 0x75, 0x2f, 0xd9, 0x0d, 0xfa, 0xeb, 0xa6,
-	0x90, 0x81, 0xd2, 0x83, 0xeb, 0xba, 0xe4, 0x20, 0xee, 0x87, 0xfa, 0x53, 0xb7, 0x4c, 0x5d, 0xd3,
-	0x3d, 0x9d, 0x47, 0xa6, 0x59, 0xf6, 0xeb, 0x7a, 0x7f, 0x1c, 0xc1, 0xfb, 0x50, 0x3f, 0x61, 0x9c,
-	0x45, 0x4f, 0x54, 0x76, 0xb5, 0x30, 0x1b, 0xd4, 0xf6, 0x38, 0x60, 0xff, 0x89, 0xa0, 0xf9, 0x38,
-	0x18, 0xcf, 0xdc, 0x9c, 0xde, 0xf8, 0x68, 0xe9, 0x8d, 0x4b, 0x48, 0xfa, 0x3c, 0xdd, 0xb1, 0xfb,
-	0x47, 0x1d, 0x9a, 0x07, 0x1a, 0xaa, 0x11, 0xe3, 0xfd, 0x18, 0x31, 0xfe, 0x0e, 0xc1, 0x5a, 0x56,
-	0x24, 0x7c, 0x59, 0x39, 0xad, 0x1b, 0x26, 0x61, 0x6e, 0x94, 0x3a, 0x1f, 0x99, 0x51, 0x6a, 0xef,
-	0x7c, 0xf5, 0xfb, 0x5f, 0x3f, 0x54, 0x6e, 0xd9, 0x37, 0xe3, 0x19, 0xfd, 0xa5, 0xfa, 0xbc, 0x7a,
-	0x41, 0x28, 0x3e, 0xa3, 0x23, 0x19, 0xb9, 0x9d, 0x67, 0xe9, 0xdc, 0x8e, 0xf6, 0x50, 0x07, 0x9f,
-	0x23, 0xa8, 0xcf, 0xb5, 0x6c, 0xbc, 0xb3, 0x1c, 0xcd, 0xc5, 0xce, 0x6e, 0x95, 0xe8, 0xa4, 0xf6,
-	0xed, 0x04, 0xcf, 0x6b, 0x58, 0xe1, 0x89, 0x6d, 0x3f, 0x87, 0x66, 0x06, 0xc6, 0xed, 0x3c, 0xc3,
-	0x3f, 0x22, 0x68, 0x64, 0xba, 0x38, 0x76, 0x96, 0x1f, 0x90, 0x37, 0x3e, 0x2c, 0xb7, 0xf4, 0x7e,
-	0xd5, 0x3f, 0x16, 0xd0, 0xad, 0x62, 0x0b, 0x7f, 0x83, 0x60, 0x4d, 0x39, 0x37, 0x65, 0xab, 0xc4,
-	0xfd, 0x4b, 0x71, 0xa4, 0x35, 0xb3, 0x8a, 0x39, 0x8a, 0x35, 0xfb, 0x1a, 0xc1, 0x5a, 0x76, 0x7c,
-	0xac, 0x32, 0x51, 0xee, 0xa0, 0xb1, 0xb6, 0x2e, 0x58, 0xf9, 0x7e, 0xfc, 0x97, 0xca, 0xf0, 0xd1,
-	0x29, 0xa1, 0xd6, 0x4f, 0x08, 0x1a, 0x99, 0xb9, 0xb4, 0x4a, 0xad, 0xbc, 0x01, 0x56, 0xe4, 0xe4,
-	0x5e, 0x82, 0x65, 0xd7, 0xde, 0xc9, 0xd7, 0x26, 0x83, 0xc6, 0x35, 0x2d, 0x7d, 0xcf, 0x8c, 0x2a,
-	0xfc, 0x3d, 0x02, 0x98, 0xcd, 0x2a, 0x7c, 0x67, 0xa5, 0xb3, 0x17, 0x90, 0x15, 0x77, 0x1c, 0xfb,
-	0xad, 0x04, 0x9d, 0x83, 0x77, 0x8a, 0x98, 0x4a, 0xa1, 0xc5, 0xa4, 0xfd, 0x8c, 0xe0, 0xfa, 0xfc,
-	0x20, 0xc3, 0x6f, 0xac, 0x76, 0xec, 0xc2, 0xfc, 0xb4, 0x9c, 0xb2, 0xdb, 0xb5, 0xbf, 0xb3, 0x28,
-	0x4b, 0x72, 0x18, 0x77, 0x85, 0x46, 0xa6, 0x49, 0xe3, 0x62, 0x42, 0x8a, 0xd4, 0xdc, 0x4d, 0x90,
-	0xbc, 0x69, 0x5d, 0x8a, 0xaf, 0xd8, 0xee, 0xdf, 0x22, 0x68, 0x64, 0x26, 0xea, 0x2a, 0x9f, 0xe5,
-	0x8d, 0xde, 0xa5, 0x66, 0xd7, 0xe4, 0x74, 0x2e, 0x05, 0xe9, 0xe0, 0x1d, 0x78, 0x65, 0x24, 0x26,
-	0x4b, 0x21, 0x1c, 0x58, 0xb9, 0xad, 0xff, 0x38, 0x3e, 0xfa, 0x18, 0x0d, 0xaf, 0x26, 0x18, 0xee,
-	0xfe, 0x13, 0x00, 0x00, 0xff, 0xff, 0xb4, 0xae, 0x02, 0xb9, 0x33, 0x0e, 0x00, 0x00,
+	// 985 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0x41, 0x8f, 0xdb, 0x44,
+	0x14, 0xd6, 0x24, 0xa5, 0x34, 0xcf, 0xcd, 0xee, 0x32, 0x6c, 0x56, 0x91, 0x69, 0xd5, 0xad, 0x2b,
+	0xb5, 0x69, 0xba, 0xd8, 0x22, 0x20, 0x16, 0xed, 0x2a, 0x08, 0xb6, 0x54, 0xd5, 0x4a, 0x5b, 0xb1,
+	0x8a, 0xca, 0x81, 0x1e, 0x88, 0x66, 0x93, 0x59, 0x63, 0xea, 0x8c, 0x8d, 0x3d, 0x59, 0xb1, 0xaa,
+	0x7a, 0x41, 0x88, 0x43, 0x25, 0x38, 0xc0, 0x11, 0x71, 0xe2, 0xc2, 0x81, 0x7f, 0xc2, 0x91, 0x23,
+	0x27, 0x24, 0x7e, 0x00, 0x3f, 0x01, 0x8d, 0x67, 0xc6, 0x89, 0xb3, 0x76, 0xec, 0x08, 0x21, 0xf5,
+	0x66, 0xcf, 0xbc, 0xf7, 0xe6, 0x9b, 0xef, 0xfb, 0xfc, 0x5e, 0x02, 0xef, 0xba, 0x41, 0xe0, 0xfa,
+	0xd4, 0x39, 0xf1, 0x5c, 0x4e, 0x4e, 0x7c, 0xea, 0x90, 0xf1, 0xc4, 0x63, 0xce, 0x59, 0x2f, 0x5d,
+	0x19, 0x7a, 0x2c, 0xe6, 0x84, 0x8d, 0xe8, 0x30, 0xd9, 0xb2, 0xc3, 0x28, 0xe0, 0x01, 0x6e, 0xcb,
+	0x3c, 0x5b, 0x47, 0xd9, 0x72, 0xf3, 0xac, 0x67, 0x5e, 0x53, 0x15, 0x49, 0xe8, 0x39, 0x84, 0xb1,
+	0x80, 0x13, 0xee, 0x05, 0x2c, 0x96, 0x79, 0xe6, 0x9d, 0xc2, 0xf3, 0xf4, 0x31, 0x2a, 0xf0, 0x96,
+	0x0a, 0xf4, 0x03, 0xe6, 0x46, 0x53, 0xc6, 0x3c, 0xe6, 0x3a, 0x41, 0x48, 0xa3, 0x4c, 0xb5, 0x37,
+	0x54, 0x50, 0xf2, 0x76, 0x32, 0x3d, 0x75, 0xe8, 0x24, 0xe4, 0xe7, 0x6a, 0xf3, 0xc6, 0xe2, 0x26,
+	0xf7, 0x26, 0x34, 0xe6, 0x64, 0x12, 0xca, 0x00, 0xeb, 0xf7, 0x1a, 0xb4, 0xee, 0x47, 0x94, 0x70,
+	0x7a, 0xa8, 0xce, 0x1e, 0xd0, 0x2f, 0xa7, 0x34, 0xe6, 0x78, 0x0b, 0x2e, 0x87, 0x24, 0xa2, 0x8c,
+	0xb7, 0xd1, 0x36, 0xea, 0x34, 0x06, 0xea, 0x0d, 0xdf, 0x00, 0x23, 0x65, 0xc3, 0x1b, 0xb7, 0x6b,
+	0xc9, 0x26, 0xe8, 0xa5, 0xc3, 0x31, 0x7e, 0x1f, 0xae, 0xe8, 0xb7, 0x76, 0x7d, 0x1b, 0x75, 0x8c,
+	0x9e, 0x65, 0x17, 0x31, 0x65, 0xa7, 0xa7, 0xa6, 0x39, 0xf8, 0x53, 0xb8, 0x32, 0xf2, 0xa7, 0x31,
+	0xa7, 0x51, 0xdc, 0xbe, 0xb4, 0x5d, 0xef, 0x18, 0xbd, 0x7e, 0x71, 0x7e, 0x2e, 0x76, 0xfb, 0xbe,
+	0xca, 0x7f, 0xc0, 0x78, 0x74, 0x3e, 0x48, 0xcb, 0x99, 0x9f, 0x41, 0x33, 0xb3, 0x85, 0x37, 0xa0,
+	0xfe, 0x94, 0x9e, 0xab, 0x1b, 0x8a, 0x47, 0xbc, 0x0b, 0xaf, 0x9c, 0x11, 0x7f, 0x4a, 0x93, 0x8b,
+	0x19, 0xbd, 0x9b, 0x4b, 0x8e, 0x96, 0x95, 0x06, 0x32, 0x7e, 0xaf, 0xf6, 0x1e, 0xb2, 0x3a, 0x80,
+	0x1f, 0x52, 0xbe, 0xc8, 0x24, 0x86, 0x4b, 0x8c, 0x4c, 0xa8, 0x3a, 0x25, 0x79, 0xb6, 0x1e, 0xc1,
+	0xe6, 0x91, 0x17, 0xa7, 0xa1, 0x71, 0x19, 0xeb, 0xd7, 0x01, 0x42, 0xe2, 0xd2, 0x21, 0x0f, 0x9e,
+	0x52, 0xa6, 0x48, 0x6f, 0x88, 0x95, 0xc7, 0x62, 0xc1, 0xfa, 0x0d, 0x41, 0x6b, 0xa1, 0x5e, 0x1c,
+	0x06, 0x2c, 0xa6, 0xf8, 0x03, 0x68, 0x68, 0x66, 0xe3, 0x36, 0x4a, 0xe8, 0xac, 0x22, 0xc7, 0x2c,
+	0x09, 0xdf, 0x85, 0x8d, 0x53, 0xe2, 0xf9, 0x74, 0x3c, 0xf4, 0x83, 0x91, 0xb4, 0x5e, 0xbb, 0xb6,
+	0x5d, 0xef, 0x34, 0x06, 0xeb, 0x72, 0xfd, 0x48, 0x2f, 0xe3, 0xdb, 0xb0, 0xce, 0xe8, 0x57, 0x7c,
+	0x38, 0x07, 0xb5, 0x9e, 0x40, 0x6d, 0x8a, 0xe5, 0xe3, 0x14, 0xee, 0x3d, 0x68, 0x7d, 0x44, 0x7d,
+	0x7a, 0xd1, 0x74, 0x79, 0x54, 0xbd, 0x40, 0xb0, 0x29, 0x65, 0xd6, 0x8c, 0x97, 0x73, 0xa5, 0x14,
+	0x9f, 0x19, 0xb4, 0xa1, 0x56, 0x0e, 0xc7, 0x78, 0x1f, 0x5e, 0x55, 0x2f, 0xca, 0x9e, 0x15, 0x34,
+	0xd6, 0x19, 0xd6, 0x1d, 0x78, 0xed, 0x21, 0xe5, 0x0b, 0x40, 0xf2, 0x50, 0x1f, 0xc1, 0xeb, 0x42,
+	0x10, 0x6d, 0xb7, 0xff, 0xa8, 0xef, 0xaf, 0x48, 0xfa, 0x65, 0x56, 0x4e, 0xc9, 0xdb, 0x9f, 0xfb,
+	0x58, 0xa4, 0xba, 0x15, 0x6e, 0x93, 0xa6, 0xfc, 0x1f, 0xda, 0x76, 0x61, 0x53, 0x6a, 0x5b, 0x81,
+	0xa4, 0x7f, 0x10, 0x6c, 0x65, 0xbf, 0xe0, 0x47, 0x94, 0x93, 0x31, 0xe1, 0x04, 0x3f, 0x81, 0x8d,
+	0x20, 0xf2, 0x5c, 0x8f, 0x11, 0x7f, 0x18, 0xc9, 0x12, 0x49, 0xaa, 0xd1, 0x73, 0x56, 0xec, 0x06,
+	0x83, 0x75, 0x5d, 0x48, 0x43, 0xe9, 0xc3, 0x55, 0x55, 0x72, 0x28, 0xfa, 0xa1, 0xfa, 0xd4, 0x4d,
+	0x5d, 0x57, 0x37, 0x4b, 0xfb, 0xb1, 0x6e, 0x96, 0x03, 0x43, 0xc5, 0x8b, 0x15, 0xbc, 0x0f, 0xc6,
+	0xa9, 0xc7, 0xbc, 0xf8, 0x73, 0x99, 0x5d, 0x2f, 0xcd, 0x06, 0x19, 0x2e, 0x16, 0xac, 0xbf, 0x10,
+	0xb4, 0x3e, 0x09, 0xc7, 0x33, 0x37, 0xa7, 0x37, 0x3e, 0x2a, 0xbc, 0x71, 0x05, 0x49, 0x5f, 0xa6,
+	0x3b, 0xf6, 0xfe, 0x34, 0xa0, 0x75, 0xa0, 0xa0, 0x6a, 0x31, 0x3e, 0x14, 0x88, 0xf1, 0xf7, 0x08,
+	0xd6, 0xb2, 0x22, 0xe1, 0x55, 0xe5, 0x34, 0xaf, 0xeb, 0x84, 0xb9, 0xb1, 0x68, 0x7f, 0xac, 0xc7,
+	0xa2, 0xb5, 0xf3, 0xf5, 0x1f, 0x7f, 0xff, 0x58, 0xbb, 0x6d, 0xdd, 0x14, 0x03, 0xf5, 0x99, 0xfc,
+	0xbc, 0xfa, 0x61, 0x14, 0x7c, 0x41, 0x47, 0x3c, 0x76, 0xba, 0xcf, 0xd3, 0x21, 0x1b, 0xef, 0xa1,
+	0x2e, 0x7e, 0x81, 0xc0, 0x98, 0x6b, 0xd9, 0x78, 0xa7, 0x18, 0xcd, 0xc5, 0xce, 0x6e, 0x56, 0xe8,
+	0xa4, 0xd6, 0xdd, 0x04, 0xcf, 0x2d, 0x2c, 0xf1, 0x08, 0xdb, 0xcf, 0xa1, 0x99, 0x81, 0x71, 0xba,
+	0xcf, 0xf1, 0x4f, 0x08, 0x9a, 0x99, 0x2e, 0x8e, 0xed, 0xe2, 0x03, 0xf2, 0xc6, 0x87, 0xe9, 0x54,
+	0x8e, 0x97, 0xfd, 0x63, 0x01, 0xdd, 0x32, 0xb6, 0xf0, 0xb7, 0x08, 0xd6, 0xa4, 0x73, 0x53, 0xb6,
+	0x2a, 0xdc, 0xbf, 0x12, 0x47, 0x4a, 0x33, 0xb3, 0x9c, 0x23, 0xa1, 0xd9, 0x37, 0x08, 0xd6, 0xb2,
+	0xe3, 0x63, 0x99, 0x89, 0x72, 0x07, 0x8d, 0xb9, 0x75, 0xc1, 0xca, 0x0f, 0xc4, 0xcf, 0x26, 0xcd,
+	0x47, 0xb7, 0x82, 0x5a, 0x3f, 0x23, 0x68, 0x66, 0xe6, 0xd2, 0x32, 0xb5, 0xf2, 0x06, 0x58, 0x99,
+	0x93, 0xfb, 0x09, 0x96, 0x5d, 0x6b, 0x27, 0x5f, 0x9b, 0x0c, 0x1a, 0x47, 0xb7, 0xf4, 0x3d, 0x3d,
+	0xaa, 0xf0, 0x0f, 0x08, 0x60, 0x36, 0xab, 0xf0, 0xbd, 0xa5, 0xce, 0x5e, 0x40, 0x56, 0xde, 0x71,
+	0xac, 0x77, 0x12, 0x74, 0x36, 0xde, 0x29, 0x63, 0x2a, 0x85, 0x26, 0x48, 0xfb, 0x05, 0xc1, 0xd5,
+	0xf9, 0x41, 0x86, 0xdf, 0x5c, 0xee, 0xd8, 0x85, 0xf9, 0x69, 0xda, 0x55, 0xc3, 0x95, 0xbf, 0xb3,
+	0x28, 0x2b, 0x72, 0x28, 0xba, 0x42, 0x33, 0xd3, 0xa4, 0x71, 0x39, 0x21, 0x65, 0x6a, 0xee, 0x26,
+	0x48, 0xde, 0x32, 0x57, 0xe2, 0x4b, 0xd8, 0xfd, 0x3b, 0x04, 0xcd, 0xcc, 0x44, 0x5d, 0xe6, 0xb3,
+	0xbc, 0xd1, 0x5b, 0x68, 0x76, 0x45, 0x4e, 0x77, 0x25, 0x48, 0x07, 0xcf, 0xe0, 0xda, 0x28, 0x98,
+	0x14, 0x42, 0x38, 0x30, 0x73, 0x5b, 0xff, 0xb1, 0x38, 0xfa, 0x18, 0x3d, 0xe9, 0xab, 0x3c, 0x37,
+	0xf0, 0x09, 0x73, 0xed, 0x20, 0x72, 0x1d, 0x97, 0xb2, 0x04, 0x98, 0x23, 0xb7, 0x48, 0xe8, 0xc5,
+	0x17, 0xff, 0x1b, 0xed, 0x27, 0x0f, 0x27, 0x97, 0x93, 0xc8, 0xb7, 0xff, 0x0d, 0x00, 0x00, 0xff,
+	0xff, 0xb8, 0x4b, 0x18, 0x4a, 0xb4, 0x0d, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/bigtable_instance_admin.proto b/googleapis/bigtable/admin/v2/bigtable_instance_admin.proto
deleted file mode 100644
index c8460f1b6256bb57c5740660079097e36b16848f..0000000000000000000000000000000000000000
--- a/googleapis/bigtable/admin/v2/bigtable_instance_admin.proto
+++ /dev/null
@@ -1,232 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.bigtable.admin.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/bigtable/admin/v2/instance.proto"; // from google/bigtable/admin/v2/instance.proto
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "BigtableInstanceAdminProto";
-option java_package = "com.google.bigtable.admin.v2";
-
-
-// Service for creating, configuring, and deleting Cloud Bigtable Instances and
-// Clusters. Provides access to the Instance and Cluster schemas only, not the
-// tables metadata or data stored in those tables.
-service BigtableInstanceAdmin {
-  // Create an instance within a project.
-  rpc CreateInstance(CreateInstanceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v2/{parent=projects/*}/instances" body: "*" };
-  }
-
-  // Gets information about an instance.
-  rpc GetInstance(GetInstanceRequest) returns (Instance) {
-    option (google.api.http) = { get: "/v2/{name=projects/*/instances/*}" };
-  }
-
-  // Lists information about instances in a project.
-  rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) {
-    option (google.api.http) = { get: "/v2/{parent=projects/*}/instances" };
-  }
-
-  // Updates an instance within a project.
-  rpc UpdateInstance(Instance) returns (Instance) {
-    option (google.api.http) = { put: "/v2/{name=projects/*/instances/*}" body: "*" };
-  }
-
-  // Delete an instance from a project.
-  rpc DeleteInstance(DeleteInstanceRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*}" };
-  }
-
-  // Creates a cluster within an instance.
-  rpc CreateCluster(CreateClusterRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v2/{parent=projects/*/instances/*}/clusters" body: "cluster" };
-  }
-
-  // Gets information about a cluster.
-  rpc GetCluster(GetClusterRequest) returns (Cluster) {
-    option (google.api.http) = { get: "/v2/{name=projects/*/instances/*/clusters/*}" };
-  }
-
-  // Lists information about clusters in an instance.
-  rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) {
-    option (google.api.http) = { get: "/v2/{parent=projects/*/instances/*}/clusters" };
-  }
-
-  // Updates a cluster within an instance.
-  rpc UpdateCluster(Cluster) returns (google.longrunning.Operation) {
-    option (google.api.http) = { put: "/v2/{name=projects/*/instances/*/clusters/*}" body: "*" };
-  }
-
-  // Deletes a cluster from an instance.
-  rpc DeleteCluster(DeleteClusterRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*/clusters/*}" };
-  }
-}
-
-// Request message for BigtableInstanceAdmin.CreateInstance.
-message CreateInstanceRequest {
-  // The unique name of the project in which to create the new instance.
-  // Values are of the form projects/<project>
-  string parent = 1;
-
-  // The id to be used when referring to the new instance within its project,
-  // e.g. just the "myinstance" section of the full name
-  // "projects/myproject/instances/myinstance"
-  string instance_id = 2;
-
-  // The instance to create.
-  // Fields marked "@OutputOnly" must be left blank.
-  Instance instance = 3;
-
-  // The clusters to be created within the instance, mapped by desired
-  // cluster ID (e.g. just the "mycluster" part of the full name
-  // "projects/myproject/instances/myinstance/clusters/mycluster").
-  // Fields marked "@OutputOnly" must be left blank.
-  // Currently exactly one cluster must be specified.
-  map<string, Cluster> clusters = 4;
-}
-
-// Request message for BigtableInstanceAdmin.GetInstance.
-message GetInstanceRequest {
-  // The unique name of the requested instance. Values are of the form
-  // projects/<project>/instances/<instance>
-  string name = 1;
-}
-
-// Request message for BigtableInstanceAdmin.ListInstances.
-message ListInstancesRequest {
-  // The unique name of the project for which a list of instances is requested.
-  // Values are of the form projects/<project>
-  string parent = 1;
-
-  // The value of `next_page_token` returned by a previous call.
-  string page_token = 2;
-}
-
-// Response message for BigtableInstanceAdmin.ListInstances.
-message ListInstancesResponse {
-  // The list of requested instances.
-  repeated Instance instances = 1;
-
-  // Locations from which Instance information could not be retrieved,
-  // due to an outage or some other transient condition.
-  // Instances whose Clusters are all in one of the failed locations
-  // may be missing from 'instances', and Instances with at least one
-  // Cluster in a failed location may only have partial information returned.
-  repeated string failed_locations = 2;
-
-  // Set if not all instances could be returned in a single response.
-  // Pass this value to `page_token` in another request to get the next
-  // page of results.
-  string next_page_token = 3;
-}
-
-// Request message for BigtableInstanceAdmin.DeleteInstance.
-message DeleteInstanceRequest {
-  // The unique name of the instance to be deleted.
-  // Values are of the form projects/<project>/instances/<instance>
-  string name = 1;
-}
-
-// Request message for BigtableInstanceAdmin.CreateCluster.
-message CreateClusterRequest {
-  // The unique name of the instance in which to create the new cluster.
-  // Values are of the form
-  // projects/<project>/instances/<instance>/clusters/[a-z][-a-z0-9]*
-  string parent = 1;
-
-  // The id to be used when referring to the new cluster within its instance,
-  // e.g. just the "mycluster" section of the full name
-  // "projects/myproject/instances/myinstance/clusters/mycluster"
-  string cluster_id = 2;
-
-  // The cluster to be created.
-  // Fields marked "@OutputOnly" must be left blank.
-  Cluster cluster = 3;
-}
-
-// Request message for BigtableInstanceAdmin.GetCluster.
-message GetClusterRequest {
-  // The unique name of the requested cluster. Values are of the form
-  // projects/<project>/instances/<instance>/clusters/<cluster>
-  string name = 1;
-}
-
-// Request message for BigtableInstanceAdmin.ListClusters.
-message ListClustersRequest {
-  // The unique name of the instance for which a list of clusters is requested.
-  // Values are of the form projects/<project>/instances/<instance>
-  // Use <instance> = '-' to list Clusters for all Instances in a project,
-  // for example "projects/myproject/instances/-"
-  string parent = 1;
-
-  // The value of `next_page_token` returned by a previous call.
-  string page_token = 2;
-}
-
-// Response message for BigtableInstanceAdmin.ListClusters.
-message ListClustersResponse {
-  // The list of requested clusters.
-  repeated Cluster clusters = 1;
-
-  // Locations from which Cluster information could not be retrieved,
-  // due to an outage or some other transient condition.
-  // Clusters from these locations may be missing from 'clusters',
-  // or may only have partial information returned.
-  repeated string failed_locations = 2;
-
-  // Set if not all clusters could be returned in a single response.
-  // Pass this value to `page_token` in another request to get the next
-  // page of results.
-  string next_page_token = 3;
-}
-
-// Request message for BigtableInstanceAdmin.DeleteCluster.
-message DeleteClusterRequest {
-  // The unique name of the cluster to be deleted. Values are of the form
-  // projects/<project>/instances/<instance>/clusters/<cluster>
-  string name = 1;
-}
-
-// The metadata for the Operation returned by CreateInstance.
-message CreateInstanceMetadata {
-  // The request that prompted the initiation of this CreateInstance operation.
-  CreateInstanceRequest original_request = 1;
-
-  // The time at which the original request was received.
-  google.protobuf.Timestamp request_time = 2;
-
-  // The time at which the operation failed or was completed successfully.
-  google.protobuf.Timestamp finish_time = 3;
-}
-
-// The metadata for the Operation returned by UpdateCluster.
-message UpdateClusterMetadata {
-  // The request that prompted the initiation of this UpdateCluster operation.
-  Cluster original_request = 1;
-
-  // The time at which the original request was received.
-  google.protobuf.Timestamp request_time = 2;
-
-  // The time at which the operation failed or was completed successfully.
-  google.protobuf.Timestamp finish_time = 3;
-}
diff --git a/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go b/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go
index 3390a56ecaf44f8b2e9ec9223e3c5fabed719175..7896af3fed0b66ecd92e720e8ce3d2017959c3e1 100644
--- a/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go
+++ b/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_table_admin.proto
+// source: google/bigtable/admin/v2/bigtable_table_admin.proto
 // DO NOT EDIT!
 
-package google_bigtable_admin_v2 // import "google.golang.org/genproto/googleapis/bigtable/admin/v2"
+package admin
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/empty"
 
 import (
@@ -53,6 +53,20 @@ func (m *CreateTableRequest) String() string            { return proto.CompactTe
 func (*CreateTableRequest) ProtoMessage()               {}
 func (*CreateTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *CreateTableRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *CreateTableRequest) GetTableId() string {
+	if m != nil {
+		return m.TableId
+	}
+	return ""
+}
+
 func (m *CreateTableRequest) GetTable() *Table {
 	if m != nil {
 		return m.Table
@@ -78,6 +92,13 @@ func (m *CreateTableRequest_Split) String() string            { return proto.Com
 func (*CreateTableRequest_Split) ProtoMessage()               {}
 func (*CreateTableRequest_Split) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 0} }
 
+func (m *CreateTableRequest_Split) GetKey() []byte {
+	if m != nil {
+		return m.Key
+	}
+	return nil
+}
+
 // Request message for [google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange][google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange]
 type DropRowRangeRequest struct {
 	// The unique name of the table on which to drop a range of rows.
@@ -115,6 +136,13 @@ func (m *DropRowRangeRequest) GetTarget() isDropRowRangeRequest_Target {
 	return nil
 }
 
+func (m *DropRowRangeRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *DropRowRangeRequest) GetRowKeyPrefix() []byte {
 	if x, ok := m.GetTarget().(*DropRowRangeRequest_RowKeyPrefix); ok {
 		return x.RowKeyPrefix
@@ -215,6 +243,27 @@ func (m *ListTablesRequest) String() string            { return proto.CompactTex
 func (*ListTablesRequest) ProtoMessage()               {}
 func (*ListTablesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
+func (m *ListTablesRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListTablesRequest) GetView() Table_View {
+	if m != nil {
+		return m.View
+	}
+	return Table_VIEW_UNSPECIFIED
+}
+
+func (m *ListTablesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response message for [google.bigtable.admin.v2.BigtableTableAdmin.ListTables][google.bigtable.admin.v2.BigtableTableAdmin.ListTables]
 type ListTablesResponse struct {
 	// The tables present in the requested cluster.
@@ -237,6 +286,13 @@ func (m *ListTablesResponse) GetTables() []*Table {
 	return nil
 }
 
+func (m *ListTablesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for [google.bigtable.admin.v2.BigtableTableAdmin.GetTable][google.bigtable.admin.v2.BigtableTableAdmin.GetTable]
 type GetTableRequest struct {
 	// The unique name of the requested table.
@@ -252,6 +308,20 @@ func (m *GetTableRequest) String() string            { return proto.CompactTextS
 func (*GetTableRequest) ProtoMessage()               {}
 func (*GetTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
+func (m *GetTableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *GetTableRequest) GetView() Table_View {
+	if m != nil {
+		return m.View
+	}
+	return Table_VIEW_UNSPECIFIED
+}
+
 // Request message for [google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable][google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable]
 type DeleteTableRequest struct {
 	// The unique name of the table to be deleted.
@@ -264,6 +334,13 @@ func (m *DeleteTableRequest) String() string            { return proto.CompactTe
 func (*DeleteTableRequest) ProtoMessage()               {}
 func (*DeleteTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *DeleteTableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for [google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies][google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies]
 type ModifyColumnFamiliesRequest struct {
 	// The unique name of the table whose families should be modified.
@@ -281,6 +358,13 @@ func (m *ModifyColumnFamiliesRequest) String() string            { return proto.
 func (*ModifyColumnFamiliesRequest) ProtoMessage()               {}
 func (*ModifyColumnFamiliesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
 
+func (m *ModifyColumnFamiliesRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *ModifyColumnFamiliesRequest) GetModifications() []*ModifyColumnFamiliesRequest_Modification {
 	if m != nil {
 		return m.Modifications
@@ -336,6 +420,13 @@ func (m *ModifyColumnFamiliesRequest_Modification) GetMod() isModifyColumnFamili
 	return nil
 }
 
+func (m *ModifyColumnFamiliesRequest_Modification) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 func (m *ModifyColumnFamiliesRequest_Modification) GetCreate() *ColumnFamily {
 	if x, ok := m.GetMod().(*ModifyColumnFamiliesRequest_Modification_Create); ok {
 		return x.Create
@@ -717,69 +808,67 @@ var _BigtableTableAdmin_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_table_admin.proto",
+	Metadata: "google/bigtable/admin/v2/bigtable_table_admin.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_table_admin.proto", fileDescriptor1)
+	proto.RegisterFile("google/bigtable/admin/v2/bigtable_table_admin.proto", fileDescriptor1)
 }
 
 var fileDescriptor1 = []byte{
-	// 883 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x55, 0xdd, 0x6e, 0x23, 0x35,
-	0x14, 0xae, 0x93, 0xb4, 0xdb, 0x9e, 0xa4, 0x5d, 0x30, 0xab, 0x92, 0x0d, 0x20, 0xaa, 0x11, 0xaa,
-	0x4a, 0x28, 0x63, 0x69, 0x56, 0xd5, 0x42, 0xb5, 0x08, 0x36, 0x2d, 0x4b, 0x97, 0x1f, 0xa9, 0x1a,
-	0x56, 0x48, 0x5c, 0x8d, 0x9c, 0x8c, 0x33, 0x6b, 0x3a, 0x63, 0x0f, 0x63, 0xa7, 0xd9, 0x08, 0xed,
-	0x0d, 0x42, 0x42, 0xe2, 0x76, 0xaf, 0x56, 0xbc, 0x08, 0xe2, 0x86, 0x87, 0xe0, 0x9a, 0x3b, 0x1e,
-	0x81, 0x07, 0x40, 0xb6, 0x27, 0x6d, 0xba, 0x69, 0x9a, 0xa6, 0x37, 0x23, 0xfb, 0xd8, 0xe7, 0x3b,
-	0xdf, 0xf9, 0xf9, 0xc6, 0x10, 0x26, 0x52, 0x26, 0x29, 0xf3, 0x13, 0x99, 0x52, 0x91, 0xf8, 0xb2,
-	0x48, 0x48, 0xc2, 0x44, 0x5e, 0x48, 0x2d, 0x89, 0x3b, 0xa2, 0x39, 0x57, 0xa4, 0xcb, 0x13, 0x4d,
-	0xbb, 0x29, 0x23, 0x34, 0xce, 0xb8, 0x20, 0xa7, 0xc1, 0x99, 0x25, 0x72, 0x5f, 0x6b, 0xf7, 0xad,
-	0x1f, 0x6e, 0x96, 0x98, 0xe3, 0x2b, 0xbe, 0x3b, 0x3c, 0x0d, 0x5a, 0x8f, 0xaf, 0x17, 0x8d, 0xe6,
-	0x9c, 0x28, 0x56, 0x9c, 0xf2, 0x1e, 0xeb, 0x49, 0xd1, 0xe7, 0x09, 0xa1, 0x42, 0x48, 0x4d, 0x35,
-	0x97, 0x42, 0xb9, 0x20, 0xad, 0x83, 0x9b, 0x12, 0x77, 0x94, 0x1c, 0xc8, 0xbd, 0x84, 0xeb, 0xa7,
-	0x83, 0xae, 0xdf, 0x93, 0x19, 0x71, 0x40, 0xc4, 0x1e, 0x74, 0x07, 0x7d, 0x92, 0xeb, 0x51, 0xce,
-	0x14, 0x61, 0x59, 0xae, 0x47, 0xee, 0xeb, 0x9c, 0xbc, 0xff, 0x10, 0xe0, 0x83, 0x82, 0x51, 0xcd,
-	0x9e, 0x18, 0xa8, 0x90, 0xfd, 0x38, 0x60, 0x4a, 0xe3, 0x4d, 0x58, 0xc9, 0x69, 0xc1, 0x84, 0x6e,
-	0xa2, 0x2d, 0xb4, 0xb3, 0x16, 0x96, 0x3b, 0x7c, 0x17, 0x56, 0x5d, 0x89, 0x78, 0xdc, 0xac, 0xd8,
-	0x93, 0x5b, 0x76, 0xff, 0x38, 0xc6, 0x7b, 0xb0, 0x6c, 0x97, 0xcd, 0xea, 0x16, 0xda, 0xa9, 0x07,
-	0xef, 0xfa, 0xb3, 0x0a, 0xe7, 0xbb, 0x48, 0xee, 0x36, 0xfe, 0x1e, 0x36, 0xb8, 0xe0, 0x9a, 0xd3,
-	0x34, 0x52, 0x79, 0xca, 0xb5, 0x6a, 0xd6, 0xb6, 0xaa, 0x3b, 0xf5, 0x20, 0x98, 0xed, 0x3f, 0xcd,
-	0xd7, 0xff, 0xd6, 0xb8, 0x86, 0xeb, 0x25, 0x92, 0xdd, 0xa9, 0xd6, 0x5d, 0x58, 0xb6, 0x2b, 0xfc,
-	0x1a, 0x54, 0x4f, 0xd8, 0xc8, 0xa6, 0xd2, 0x08, 0xcd, 0xd2, 0x7b, 0x89, 0xe0, 0x8d, 0xc3, 0x42,
-	0xe6, 0xa1, 0x1c, 0x86, 0x54, 0x24, 0x67, 0x79, 0x63, 0xa8, 0x09, 0x9a, 0xb1, 0x32, 0x6b, 0xbb,
-	0xc6, 0xdb, 0xb0, 0x51, 0xc8, 0x61, 0x74, 0xc2, 0x46, 0x51, 0x5e, 0xb0, 0x3e, 0x7f, 0x66, 0x33,
-	0x6f, 0x1c, 0x2d, 0x85, 0x8d, 0x42, 0x0e, 0xbf, 0x62, 0xa3, 0x63, 0x6b, 0xc5, 0x0f, 0xa0, 0x15,
-	0xb3, 0x94, 0x69, 0x16, 0xd1, 0x34, 0x8d, 0x62, 0xaa, 0x69, 0xd4, 0x2f, 0x64, 0x16, 0x9d, 0x57,
-	0x65, 0xf5, 0x68, 0x29, 0xdc, 0x74, 0x77, 0x1e, 0xa6, 0xe9, 0x21, 0xd5, 0xf4, 0x51, 0x21, 0x33,
-	0x9b, 0x48, 0x67, 0x15, 0x56, 0x34, 0x2d, 0x12, 0xa6, 0xbd, 0x5f, 0x10, 0xbc, 0xfe, 0x35, 0x57,
-	0xda, 0xda, 0xd5, 0xbc, 0x8e, 0x7c, 0x04, 0xb5, 0x53, 0xce, 0x86, 0x96, 0xd3, 0x46, 0xf0, 0xde,
-	0x9c, 0xaa, 0xfb, 0xdf, 0x71, 0x36, 0x0c, 0xad, 0x07, 0x7e, 0x07, 0x20, 0xa7, 0x09, 0x8b, 0xb4,
-	0x3c, 0x61, 0xc2, 0xf2, 0x5b, 0x0b, 0xd7, 0x8c, 0xe5, 0x89, 0x31, 0x78, 0x03, 0xc0, 0x93, 0x2c,
-	0x54, 0x2e, 0x85, 0x62, 0xf8, 0xbe, 0xa1, 0x69, 0x2c, 0x4d, 0x64, 0xdb, 0x34, 0xb7, 0xcd, 0xe5,
-	0x75, 0xbc, 0x0d, 0xb7, 0x05, 0x7b, 0xa6, 0xa3, 0x89, 0x90, 0x6e, 0x80, 0xd6, 0x8d, 0xf9, 0xf8,
-	0x2c, 0x6c, 0x04, 0xb7, 0xbf, 0x60, 0xfa, 0xc2, 0x30, 0x5e, 0xd6, 0x94, 0x1b, 0xa7, 0xed, 0xed,
-	0x00, 0x3e, 0xb4, 0x2d, 0x98, 0x17, 0xc3, 0xfb, 0xa7, 0x02, 0x6f, 0x7d, 0x23, 0x63, 0xde, 0x1f,
-	0x1d, 0xc8, 0x74, 0x90, 0x89, 0x47, 0x34, 0xe3, 0x29, 0x3f, 0x6f, 0xc9, 0x65, 0xbc, 0x9e, 0xc2,
-	0x7a, 0x66, 0x5c, 0x78, 0xcf, 0x09, 0xbc, 0x59, 0xb1, 0x65, 0xea, 0xcc, 0x26, 0x78, 0x45, 0x04,
-	0x77, 0x56, 0x42, 0x85, 0x17, 0x81, 0x5b, 0x7f, 0x21, 0x68, 0x4c, 0x9e, 0xe3, 0x0d, 0xa8, 0xf0,
-	0xb8, 0x24, 0x53, 0xe1, 0x31, 0xfe, 0x0c, 0x56, 0x7a, 0x56, 0x29, 0xb6, 0x48, 0xf5, 0x60, 0xfb,
-	0x0a, 0x45, 0x9d, 0x47, 0x1f, 0x1d, 0x2d, 0x85, 0xa5, 0x9f, 0x41, 0x18, 0xe4, 0xb1, 0x41, 0xa8,
-	0x2e, 0x8a, 0xe0, 0xfc, 0xf0, 0x1d, 0xa8, 0xc5, 0x85, 0xcc, 0x9b, 0xb5, 0x72, 0xfa, 0xed, 0xae,
-	0xb3, 0x0c, 0xd5, 0x4c, 0xc6, 0xc1, 0x1f, 0xb7, 0x00, 0x77, 0x4a, 0x24, 0xdb, 0x8c, 0x87, 0x06,
-	0x0d, 0xbf, 0x40, 0x50, 0x9f, 0x90, 0x38, 0xde, 0x5d, 0xe4, 0x4f, 0xd0, 0x9a, 0x37, 0x90, 0xde,
-	0xde, 0xcf, 0x7f, 0xff, 0xfb, 0xa2, 0x42, 0xbc, 0xb6, 0xf9, 0x7f, 0xfe, 0xe4, 0x54, 0xf4, 0x49,
-	0x5e, 0xc8, 0x1f, 0x58, 0x4f, 0x2b, 0xd2, 0x26, 0x5c, 0x28, 0x4d, 0x45, 0x8f, 0x29, 0xd2, 0x7e,
-	0xee, 0xfe, 0xaf, 0x6a, 0x1f, 0xb5, 0xf1, 0xef, 0x08, 0xe0, 0x5c, 0x0f, 0xf8, 0x83, 0xd9, 0x61,
-	0xa6, 0xb4, 0xdb, 0xda, 0xbd, 0xde, 0x65, 0x27, 0x31, 0x2f, 0xb0, 0x04, 0x77, 0xf1, 0x02, 0x04,
-	0xf1, 0x6f, 0x08, 0x56, 0xc7, 0xb2, 0xc1, 0xef, 0xcf, 0x0e, 0xf7, 0x8a, 0xb4, 0xe6, 0x57, 0xeb,
-	0x22, 0x19, 0x33, 0xe2, 0x33, 0xa8, 0x94, 0x4c, 0x48, 0xfb, 0x39, 0xfe, 0x15, 0x41, 0x7d, 0x42,
-	0x62, 0x57, 0x35, 0x70, 0x5a, 0x89, 0xad, 0xcd, 0xf1, 0xed, 0xf1, 0xe3, 0xe5, 0x7f, 0x6e, 0xde,
-	0xab, 0x31, 0x93, 0xf6, 0x22, 0x4c, 0xfe, 0x44, 0x70, 0xe7, 0x32, 0x7d, 0xe1, 0xbd, 0x1b, 0xe9,
-	0x71, 0x7e, 0xb9, 0xbe, 0xb4, 0x24, 0x0f, 0xbd, 0x4f, 0xaf, 0x4f, 0x72, 0x3f, 0xbb, 0x24, 0xa0,
-	0x99, 0xb8, 0x97, 0x08, 0x1a, 0x93, 0x6f, 0x14, 0xfe, 0xf0, 0x8a, 0x3a, 0x4e, 0xbf, 0x65, 0x33,
-	0x0b, 0xd9, 0xb1, 0x1c, 0x1f, 0x78, 0xf7, 0x17, 0xe0, 0x18, 0x4f, 0xe0, 0xef, 0xa3, 0x76, 0xe7,
-	0x63, 0x78, 0xbb, 0x27, 0xb3, 0x99, 0x7c, 0x3a, 0x6f, 0x4e, 0xeb, 0xfa, 0xd8, 0xb0, 0x38, 0x46,
-	0xdd, 0x15, 0x4b, 0xe7, 0xde, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x72, 0x99, 0xef, 0xc8, 0xad,
-	0x09, 0x00, 0x00,
+	// 864 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x4d, 0x6f, 0x1b, 0x45,
+	0x18, 0xce, 0xd8, 0x4e, 0x9a, 0xbc, 0x76, 0x52, 0x18, 0xaa, 0xb0, 0xdd, 0x16, 0x11, 0xad, 0xaa,
+	0x28, 0x98, 0xb0, 0x2b, 0x6d, 0x15, 0x15, 0x85, 0x56, 0x50, 0x37, 0x94, 0xf0, 0x25, 0x45, 0x4b,
+	0x85, 0x04, 0x97, 0xd5, 0xc4, 0x3b, 0x5e, 0x86, 0xec, 0xce, 0x2c, 0xbb, 0xe3, 0x38, 0x16, 0xea,
+	0x05, 0x21, 0x21, 0x71, 0xed, 0xa9, 0xe2, 0x8f, 0x20, 0x2e, 0xfc, 0x08, 0xce, 0xdc, 0xf8, 0x09,
+	0xfc, 0x00, 0x34, 0x33, 0xeb, 0xd8, 0xc1, 0x5e, 0xbb, 0xce, 0xc5, 0x9a, 0x79, 0x3f, 0x9f, 0xf7,
+	0xe3, 0xd9, 0x31, 0xdc, 0x8f, 0x85, 0x88, 0x13, 0xea, 0x9d, 0xb2, 0x58, 0x92, 0xd3, 0x84, 0x7a,
+	0x24, 0x4a, 0x19, 0xf7, 0xce, 0xfd, 0x4b, 0x49, 0x68, 0x7e, 0xb5, 0xdc, 0xcd, 0x72, 0x21, 0x05,
+	0xb6, 0x8c, 0x93, 0x3b, 0x32, 0x71, 0x8d, 0xf2, 0xdc, 0xb7, 0xef, 0x96, 0xe1, 0x48, 0xc6, 0x3c,
+	0xc2, 0xb9, 0x90, 0x44, 0x32, 0xc1, 0x0b, 0xe3, 0x67, 0xdf, 0xab, 0x4c, 0x66, 0xc2, 0x18, 0xab,
+	0x3b, 0xa5, 0x95, 0xbe, 0x9d, 0xf6, 0x7b, 0x1e, 0x4d, 0x33, 0x39, 0x34, 0x4a, 0xe7, 0x5f, 0x04,
+	0xf8, 0x49, 0x4e, 0x89, 0xa4, 0xcf, 0x94, 0x4b, 0x40, 0x7f, 0xe8, 0xd3, 0x42, 0xe2, 0x6d, 0x58,
+	0xcb, 0x48, 0x4e, 0xb9, 0xb4, 0xd0, 0x0e, 0xda, 0xdb, 0x08, 0xca, 0x1b, 0xbe, 0x0d, 0xeb, 0x06,
+	0x3e, 0x8b, 0xac, 0x9a, 0xd6, 0xdc, 0xd0, 0xf7, 0x4f, 0x23, 0x7c, 0x00, 0xab, 0xfa, 0x68, 0xd5,
+	0x77, 0xd0, 0x5e, 0xd3, 0x7f, 0xdb, 0xad, 0x2a, 0xca, 0x35, 0x99, 0x8c, 0x35, 0xfe, 0x06, 0xb6,
+	0x18, 0x67, 0x92, 0x91, 0x24, 0x2c, 0xb2, 0x84, 0xc9, 0xc2, 0x6a, 0xec, 0xd4, 0xf7, 0x9a, 0xbe,
+	0x5f, 0xed, 0x3f, 0x8d, 0xd7, 0xfd, 0x4a, 0xb9, 0x06, 0x9b, 0x65, 0x24, 0x7d, 0x2b, 0xec, 0xdb,
+	0xb0, 0xaa, 0x4f, 0xf8, 0x35, 0xa8, 0x9f, 0xd1, 0xa1, 0x2e, 0xa5, 0x15, 0xa8, 0xa3, 0xf3, 0x12,
+	0xc1, 0x1b, 0x47, 0xb9, 0xc8, 0x02, 0x31, 0x08, 0x08, 0x8f, 0x2f, 0xeb, 0xc6, 0xd0, 0xe0, 0x24,
+	0xa5, 0x65, 0xd5, 0xfa, 0x8c, 0x77, 0x61, 0x2b, 0x17, 0x83, 0xf0, 0x8c, 0x0e, 0xc3, 0x2c, 0xa7,
+	0x3d, 0x76, 0xa1, 0x2b, 0x6f, 0x1d, 0xaf, 0x04, 0xad, 0x5c, 0x0c, 0x3e, 0xa7, 0xc3, 0x13, 0x2d,
+	0xc5, 0x0f, 0xc1, 0x8e, 0x68, 0x42, 0x25, 0x0d, 0x49, 0x92, 0x84, 0x11, 0x91, 0x24, 0xec, 0xe5,
+	0x22, 0x0d, 0xc7, 0x5d, 0x59, 0x3f, 0x5e, 0x09, 0xb6, 0x8d, 0xcd, 0xe3, 0x24, 0x39, 0x22, 0x92,
+	0x3c, 0xcd, 0x45, 0xaa, 0x0b, 0xe9, 0xac, 0xc3, 0x9a, 0x24, 0x79, 0x4c, 0xa5, 0xf3, 0x33, 0x82,
+	0xd7, 0xbf, 0x60, 0x85, 0xd4, 0xf2, 0x62, 0xd1, 0x44, 0xde, 0x87, 0xc6, 0x39, 0xa3, 0x03, 0x8d,
+	0x69, 0xcb, 0xbf, 0xb7, 0xa0, 0xeb, 0xee, 0xd7, 0x8c, 0x0e, 0x02, 0xed, 0x81, 0xdf, 0x02, 0xc8,
+	0x48, 0x4c, 0x43, 0x29, 0xce, 0x28, 0xd7, 0xf8, 0x36, 0x82, 0x0d, 0x25, 0x79, 0xa6, 0x04, 0x4e,
+	0x1f, 0xf0, 0x24, 0x8a, 0x22, 0x13, 0xbc, 0xa0, 0xf8, 0x81, 0x82, 0xa9, 0x24, 0x16, 0xd2, 0x63,
+	0x5a, 0x38, 0xe6, 0xd2, 0x1c, 0xef, 0xc2, 0x4d, 0x4e, 0x2f, 0x64, 0x38, 0x91, 0xd2, 0x2c, 0xd0,
+	0xa6, 0x12, 0x9f, 0x5c, 0xa6, 0x0d, 0xe1, 0xe6, 0x27, 0x54, 0x5e, 0x59, 0xc6, 0x59, 0x43, 0xb9,
+	0x76, 0xd9, 0xce, 0x1e, 0xe0, 0x23, 0x3d, 0x82, 0x45, 0x39, 0x9c, 0xbf, 0x6b, 0x70, 0xe7, 0x4b,
+	0x11, 0xb1, 0xde, 0xf0, 0x89, 0x48, 0xfa, 0x29, 0x7f, 0x4a, 0x52, 0x96, 0xb0, 0xf1, 0x48, 0x66,
+	0xe1, 0xfa, 0x0e, 0x36, 0x53, 0xe5, 0xc2, 0xba, 0x86, 0xa9, 0x56, 0x4d, 0xb7, 0xa9, 0x53, 0x0d,
+	0x70, 0x4e, 0x06, 0xa3, 0x2b, 0x43, 0x05, 0x57, 0x03, 0xdb, 0x7f, 0x22, 0x68, 0x4d, 0xea, 0xf1,
+	0x16, 0xd4, 0x58, 0x54, 0x82, 0xa9, 0xb1, 0x08, 0x7f, 0x04, 0x6b, 0x5d, 0xcd, 0x14, 0xdd, 0xa4,
+	0xa6, 0xbf, 0x3b, 0x87, 0x51, 0xe3, 0xec, 0xc3, 0xe3, 0x95, 0xa0, 0xf4, 0x53, 0x11, 0xfa, 0x59,
+	0xa4, 0x22, 0xd4, 0x97, 0x8d, 0x60, 0xfc, 0xf0, 0x2d, 0x68, 0x44, 0xb9, 0xc8, 0xac, 0x46, 0xb9,
+	0xfd, 0xfa, 0xd6, 0x59, 0x85, 0x7a, 0x2a, 0x22, 0xff, 0xf7, 0x1b, 0x80, 0x3b, 0x65, 0x24, 0x3d,
+	0x8c, 0xc7, 0x2a, 0x1a, 0x7e, 0x81, 0xa0, 0x39, 0x41, 0x71, 0xbc, 0xbf, 0xcc, 0x97, 0xc0, 0x5e,
+	0xb4, 0x90, 0xce, 0xc1, 0x4f, 0x7f, 0xfd, 0xf3, 0xa2, 0xe6, 0x39, 0x6d, 0xf5, 0x9d, 0xfc, 0xd1,
+	0xb0, 0xe8, 0x51, 0x96, 0x8b, 0xef, 0x69, 0x57, 0x16, 0x5e, 0xdb, 0x63, 0xbc, 0x90, 0x84, 0x77,
+	0x69, 0xe1, 0xb5, 0x9f, 0x9b, 0xef, 0x68, 0x71, 0x88, 0xda, 0xf8, 0x37, 0x04, 0x30, 0xe6, 0x03,
+	0x7e, 0xb7, 0x3a, 0xcd, 0x14, 0x77, 0xed, 0xfd, 0x57, 0x33, 0x36, 0x14, 0x73, 0x7c, 0x0d, 0x70,
+	0x1f, 0x2f, 0x01, 0x10, 0xff, 0x8a, 0x60, 0x7d, 0x44, 0x1b, 0xfc, 0x4e, 0x75, 0xba, 0xff, 0x51,
+	0x6b, 0x71, 0xb7, 0xae, 0x82, 0x51, 0x2b, 0x5e, 0x01, 0xa5, 0x44, 0xe2, 0xb5, 0x9f, 0xe3, 0x5f,
+	0x10, 0x34, 0x27, 0x28, 0x36, 0x6f, 0x80, 0xd3, 0x4c, 0xb4, 0xb7, 0x47, 0xd6, 0xa3, 0xf7, 0xca,
+	0xfd, 0x58, 0xbd, 0x57, 0x23, 0x24, 0xed, 0x65, 0x90, 0xfc, 0x81, 0xe0, 0xd6, 0x2c, 0x7e, 0xe1,
+	0x83, 0x6b, 0xf1, 0x71, 0x71, 0xbb, 0x3e, 0xd3, 0x20, 0x8f, 0x9c, 0x0f, 0x5f, 0x1d, 0xe4, 0x61,
+	0x3a, 0x23, 0xa1, 0xda, 0xb8, 0x97, 0x08, 0x5a, 0x93, 0x6f, 0x14, 0x7e, 0x6f, 0x4e, 0x1f, 0xa7,
+	0xdf, 0xb2, 0xca, 0x46, 0x76, 0x34, 0xc6, 0x87, 0xce, 0x83, 0x25, 0x30, 0x46, 0x13, 0xf1, 0x0f,
+	0x51, 0xbb, 0x73, 0x01, 0x77, 0xbb, 0x22, 0xad, 0xc4, 0xd3, 0x79, 0x73, 0x9a, 0xd7, 0x27, 0x0a,
+	0xc5, 0x09, 0xfa, 0xf6, 0x51, 0xe9, 0x14, 0x8b, 0x84, 0xf0, 0xd8, 0x15, 0x79, 0xec, 0xc5, 0x94,
+	0x6b, 0x8c, 0x9e, 0x51, 0x91, 0x8c, 0x15, 0xd3, 0xff, 0x69, 0x3e, 0xd0, 0x87, 0xd3, 0x35, 0x6d,
+	0x79, 0xff, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb9, 0xba, 0x3b, 0xe9, 0x69, 0x09, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/bigtable_table_admin.proto b/googleapis/bigtable/admin/v2/bigtable_table_admin.proto
deleted file mode 100644
index 5be2fbbc1ed064776e2ec2c8d20650f9ad23acd4..0000000000000000000000000000000000000000
--- a/googleapis/bigtable/admin/v2/bigtable_table_admin.proto
+++ /dev/null
@@ -1,195 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.bigtable.admin.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/bigtable/admin/v2/table.proto"; // from google/bigtable/admin/v2/table.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "BigtableTableAdminProto";
-option java_package = "com.google.bigtable.admin.v2";
-
-
-// Service for creating, configuring, and deleting Cloud Bigtable tables.
-// Provides access to the table schemas only, not the data stored within
-// the tables.
-service BigtableTableAdmin {
-  // Creates a new table in the specified instance.
-  // The table can be created with a full set of initial column families,
-  // specified in the request.
-  rpc CreateTable(CreateTableRequest) returns (Table) {
-    option (google.api.http) = { post: "/v2/{parent=projects/*/instances/*}/tables" body: "*" };
-  }
-
-  // Lists all tables served from a specified instance.
-  rpc ListTables(ListTablesRequest) returns (ListTablesResponse) {
-    option (google.api.http) = { get: "/v2/{parent=projects/*/instances/*}/tables" };
-  }
-
-  // Gets metadata information about the specified table.
-  rpc GetTable(GetTableRequest) returns (Table) {
-    option (google.api.http) = { get: "/v2/{name=projects/*/instances/*/tables/*}" };
-  }
-
-  // Permanently deletes a specified table and all of its data.
-  rpc DeleteTable(DeleteTableRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*/tables/*}" };
-  }
-
-  // Atomically performs a series of column family modifications
-  // on the specified table.
-  rpc ModifyColumnFamilies(ModifyColumnFamiliesRequest) returns (Table) {
-    option (google.api.http) = { post: "/v2/{name=projects/*/instances/*/tables/*}:modifyColumnFamilies" body: "*" };
-  }
-
-  // Permanently drop/delete a row range from a specified table. The request can
-  // specify whether to delete all rows in a table, or only those that match a
-  // particular prefix.
-  rpc DropRowRange(DropRowRangeRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v2/{name=projects/*/instances/*/tables/*}:dropRowRange" body: "*" };
-  }
-}
-
-// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.CreateTable][google.bigtable.admin.v2.BigtableTableAdmin.CreateTable]
-message CreateTableRequest {
-  // An initial split point for a newly created table.
-  message Split {
-    // Row key to use as an initial tablet boundary.
-    bytes key = 1;
-  }
-
-  // The unique name of the instance in which to create the table.
-  // Values are of the form projects/<project>/instances/<instance>
-  string parent = 1;
-
-  // The name by which the new table should be referred to within the parent
-  // instance, e.g. "foobar" rather than "<parent>/tables/foobar".
-  string table_id = 2;
-
-  // The Table to create.
-  Table table = 3;
-
-  // The optional list of row keys that will be used to initially split the
-  // table into several tablets (Tablets are similar to HBase regions).
-  // Given two split keys, "s1" and "s2", three tablets will be created,
-  // spanning the key ranges: [, s1), [s1, s2), [s2, ).
-  //
-  // Example:
-  //  * Row keys := ["a", "apple", "custom", "customer_1", "customer_2",
-  //                 "other", "zz"]
-  //  * initial_split_keys := ["apple", "customer_1", "customer_2", "other"]
-  //  * Key assignment:
-  //    - Tablet 1 [, apple)                => {"a"}.
-  //    - Tablet 2 [apple, customer_1)      => {"apple", "custom"}.
-  //    - Tablet 3 [customer_1, customer_2) => {"customer_1"}.
-  //    - Tablet 4 [customer_2, other)      => {"customer_2"}.
-  //    - Tablet 5 [other, )                => {"other", "zz"}.
-  repeated Split initial_splits = 4;
-}
-
-// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange][google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange]
-message DropRowRangeRequest {
-  // The unique name of the table on which to drop a range of rows.
-  // Values are of the form projects/<project>/instances/<instance>/tables/<table>
-  string name = 1;
-
-  oneof target {
-    // Delete all rows that start with this row key prefix. Prefix cannot be
-    // zero length.
-    bytes row_key_prefix = 2;
-
-    // Delete all rows in the table. Setting this to false is a no-op.
-    bool delete_all_data_from_table = 3;
-  }
-}
-
-// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.ListTables][google.bigtable.admin.v2.BigtableTableAdmin.ListTables]
-message ListTablesRequest {
-  // The unique name of the instance for which tables should be listed.
-  // Values are of the form projects/<project>/instances/<instance>
-  string parent = 1;
-
-  // The view to be applied to the returned tables' fields.
-  // Defaults to NAME_ONLY if unspecified (no others are currently supported).
-  Table.View view = 2;
-
-  // The value of `next_page_token` returned by a previous call.
-  string page_token = 3;
-}
-
-// Response message for [google.bigtable.admin.v2.BigtableTableAdmin.ListTables][google.bigtable.admin.v2.BigtableTableAdmin.ListTables]
-message ListTablesResponse {
-  // The tables present in the requested cluster.
-  repeated Table tables = 1;
-
-  // Set if not all tables could be returned in a single response.
-  // Pass this value to `page_token` in another request to get the next
-  // page of results.
-  string next_page_token = 2;
-}
-
-// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.GetTable][google.bigtable.admin.v2.BigtableTableAdmin.GetTable]
-message GetTableRequest {
-  // The unique name of the requested table.
-  // Values are of the form projects/<project>/instances/<instance>/tables/<table>
-  string name = 1;
-
-  // The view to be applied to the returned table's fields.
-  // Defaults to SCHEMA_ONLY if unspecified.
-  Table.View view = 2;
-}
-
-// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable][google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable]
-message DeleteTableRequest {
-  // The unique name of the table to be deleted.
-  // Values are of the form projects/<project>/instances/<instance>/tables/<table>
-  string name = 1;
-}
-
-// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies][google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies]
-message ModifyColumnFamiliesRequest {
-  // A create, update, or delete of a particular column family.
-  message Modification {
-    // The ID of the column family to be modified.
-    string id = 1;
-
-    oneof mod {
-      // Create a new column family with the specified schema, or fail if
-      // one already exists with the given ID.
-      ColumnFamily create = 2;
-
-      // Update an existing column family to the specified schema, or fail
-      // if no column family exists with the given ID.
-      ColumnFamily update = 3;
-
-      // Drop (delete) the column family with the given ID, or fail if no such
-      // family exists.
-      bool drop = 4;
-    }
-  }
-
-  // The unique name of the table whose families should be modified.
-  // Values are of the form projects/<project>/instances/<instance>/tables/<table>
-  string name = 1;
-
-  // Modifications to be atomically applied to the specified table's families.
-  // Entries are applied in order, meaning that earlier modifications can be
-  // masked by later ones (in the case of repeated updates to the same family,
-  // for example).
-  repeated Modification modifications = 2;
-}
diff --git a/googleapis/bigtable/admin/v2/common.pb.go b/googleapis/bigtable/admin/v2/common.pb.go
index 61220ec928ab08c5c006fd4ca0443cce89916181..d52196db551b3bf4195603b36b10af15ea08f1a1 100644
--- a/googleapis/bigtable/admin/v2/common.pb.go
+++ b/googleapis/bigtable/admin/v2/common.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/v2/common.proto
+// source: google/bigtable/admin/v2/common.proto
 // DO NOT EDIT!
 
-package google_bigtable_admin_v2 // import "google.golang.org/genproto/googleapis/bigtable/admin/v2"
+package admin
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import _ "github.com/golang/protobuf/ptypes/timestamp"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -47,26 +47,23 @@ func init() {
 	proto.RegisterEnum("google.bigtable.admin.v2.StorageType", StorageType_name, StorageType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/v2/common.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/bigtable/admin/v2/common.proto", fileDescriptor2) }
 
 var fileDescriptor2 = []byte{
-	// 250 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x90, 0xc1, 0x4a, 0x33, 0x31,
-	0x14, 0x85, 0xff, 0xfe, 0x82, 0xc2, 0x74, 0x33, 0xcc, 0xaa, 0x94, 0x3e, 0x81, 0x60, 0x2e, 0xd4,
-	0xa5, 0xb8, 0xb0, 0xcd, 0xa8, 0xb3, 0xd1, 0xc1, 0x8c, 0x0b, 0x57, 0x25, 0x89, 0xe9, 0x35, 0x30,
-	0xc9, 0x0d, 0x93, 0x74, 0xa0, 0x6f, 0x2f, 0xcd, 0x28, 0xae, 0x04, 0x77, 0x07, 0xce, 0xc9, 0xf7,
-	0x91, 0x5b, 0x70, 0x24, 0xc2, 0xde, 0x30, 0xa4, 0x5e, 0x7a, 0x64, 0x34, 0x20, 0xa0, 0xf1, 0x61,
-	0xa0, 0x44, 0x30, 0x55, 0x32, 0xd8, 0x08, 0xca, 0x62, 0x92, 0xaa, 0x37, 0x20, 0xdf, 0x9d, 0xf5,
-	0x30, 0xae, 0x41, 0x93, 0x73, 0xe4, 0x59, 0x5e, 0x56, 0x8b, 0x2f, 0xca, 0xf7, 0x8c, 0xe5, 0x19,
-	0x1b, 0xd7, 0xcb, 0xe6, 0x6f, 0x7c, 0x19, 0x2c, 0x44, 0x33, 0x8c, 0x56, 0x1b, 0x4d, 0x7e, 0x6f,
-	0x11, 0xa4, 0xf7, 0x94, 0x64, 0xb2, 0xe4, 0xe3, 0x24, 0x59, 0xde, 0xa0, 0x4d, 0x1f, 0x07, 0xc5,
-	0x34, 0x39, 0x98, 0x70, 0x90, 0x0b, 0x75, 0xd8, 0x43, 0x48, 0xc7, 0x60, 0x22, 0x24, 0xeb, 0x4c,
-	0x4c, 0xd2, 0x85, 0x9f, 0x34, 0x3d, 0xbe, 0xbc, 0x2d, 0xe6, 0x22, 0xd1, 0x20, 0xd1, 0x74, 0xc7,
-	0x60, 0xaa, 0x55, 0xb1, 0x10, 0xdd, 0xf3, 0xcb, 0xdd, 0x43, 0xbd, 0xeb, 0xde, 0xda, 0x7a, 0xf7,
-	0xfa, 0x24, 0xda, 0x7a, 0xdb, 0xdc, 0x37, 0x35, 0x2f, 0xff, 0x55, 0x17, 0xc5, 0x99, 0x10, 0xbc,
-	0x9c, 0x9d, 0xc2, 0x23, 0xe7, 0xe5, 0xff, 0xcd, 0x55, 0xb1, 0xd2, 0xe4, 0xd8, 0x6f, 0xdf, 0xdc,
-	0xcc, 0xb7, 0xf9, 0x1c, 0xed, 0xc9, 0xd5, 0xce, 0xd4, 0x79, 0x96, 0x5e, 0x7f, 0x06, 0x00, 0x00,
-	0xff, 0xff, 0x7f, 0xfd, 0xc6, 0x6a, 0x5e, 0x01, 0x00, 0x00,
+	// 234 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x90, 0x31, 0x4b, 0xc4, 0x40,
+	0x10, 0x85, 0x3d, 0x05, 0x85, 0xbd, 0x26, 0xa4, 0x3a, 0x8e, 0x80, 0x95, 0x8d, 0xc5, 0x0e, 0x9c,
+	0xa5, 0x5c, 0xe1, 0x5d, 0xa2, 0x5e, 0xa3, 0xc1, 0x8d, 0x85, 0x36, 0xc7, 0xe4, 0x5c, 0x87, 0x85,
+	0xec, 0xce, 0x92, 0xac, 0x07, 0xfe, 0x7b, 0xc9, 0x6e, 0xac, 0xc4, 0xee, 0x0d, 0xef, 0x9b, 0x99,
+	0x37, 0x23, 0xae, 0x88, 0x99, 0x3a, 0x0d, 0xad, 0xa1, 0x80, 0x6d, 0xa7, 0x01, 0x3f, 0xac, 0x71,
+	0x70, 0x5c, 0xc1, 0x81, 0xad, 0x65, 0x27, 0x7d, 0xcf, 0x81, 0xf3, 0x45, 0xc2, 0xe4, 0x2f, 0x26,
+	0x23, 0x26, 0x8f, 0xab, 0x65, 0x31, 0x0d, 0x40, 0x6f, 0x00, 0x9d, 0xe3, 0x80, 0xc1, 0xb0, 0x1b,
+	0x52, 0xdf, 0xf2, 0x72, 0x72, 0x63, 0xd5, 0x7e, 0x7d, 0x42, 0x30, 0x56, 0x0f, 0x01, 0xad, 0x4f,
+	0xc0, 0xf5, 0x5a, 0xcc, 0x55, 0xe0, 0x1e, 0x49, 0x37, 0xdf, 0x5e, 0xe7, 0x85, 0x58, 0xa8, 0xe6,
+	0xf9, 0xe5, 0xee, 0xa1, 0xda, 0x37, 0x6f, 0x75, 0xb5, 0x7f, 0x7d, 0x52, 0x75, 0xb5, 0xdd, 0xdd,
+	0xef, 0xaa, 0x32, 0x3b, 0xc9, 0x2f, 0xc4, 0x99, 0x52, 0x65, 0x36, 0x1b, 0xc5, 0x63, 0x59, 0x66,
+	0xa7, 0x9b, 0x4e, 0x14, 0x07, 0xb6, 0xf2, 0xbf, 0x74, 0x9b, 0xf9, 0x36, 0x5e, 0x51, 0x8f, 0xbb,
+	0xea, 0xd9, 0xfb, 0x7a, 0x02, 0x89, 0x3b, 0x74, 0x24, 0xb9, 0x27, 0x20, 0xed, 0x62, 0x12, 0x48,
+	0x16, 0x7a, 0x33, 0xfc, 0x7d, 0xc6, 0x6d, 0x14, 0xed, 0x79, 0x24, 0x6f, 0x7e, 0x02, 0x00, 0x00,
+	0xff, 0xff, 0x66, 0x13, 0x33, 0x8e, 0x35, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/common.proto b/googleapis/bigtable/admin/v2/common.proto
deleted file mode 100644
index cc793a4235c935be3744ced7af8911bdc00de410..0000000000000000000000000000000000000000
--- a/googleapis/bigtable/admin/v2/common.proto
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.bigtable.admin.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "CommonProto";
-option java_package = "com.google.bigtable.admin.v2";
-
-
-// Storage media types for persisting Bigtable data.
-enum StorageType {
-  // The user did not specify a storage type.
-  STORAGE_TYPE_UNSPECIFIED = 0;
-
-  // Flash (SSD) storage should be used.
-  SSD = 1;
-
-  // Magnetic drive (HDD) storage should be used.
-  HDD = 2;
-}
diff --git a/googleapis/bigtable/admin/v2/instance.pb.go b/googleapis/bigtable/admin/v2/instance.pb.go
index f00fb8806336d167585f5a8948a5d55be2e4e452..ffa834b20c20a651584f8f46fd44ffb0f0161c93 100644
--- a/googleapis/bigtable/admin/v2/instance.pb.go
+++ b/googleapis/bigtable/admin/v2/instance.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/v2/instance.proto
+// source: google/bigtable/admin/v2/instance.proto
 // DO NOT EDIT!
 
-package google_bigtable_admin_v2 // import "google.golang.org/genproto/googleapis/bigtable/admin/v2"
+package admin
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -110,6 +110,27 @@ func (m *Instance) String() string            { return proto.CompactTextString(m
 func (*Instance) ProtoMessage()               {}
 func (*Instance) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
 
+func (m *Instance) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Instance) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
+}
+
+func (m *Instance) GetState() Instance_State {
+	if m != nil {
+		return m.State
+	}
+	return Instance_STATE_NOT_KNOWN
+}
+
 // A resizable group of nodes in a particular cloud location, capable
 // of serving all [Tables][google.bigtable.admin.v2.Table] in the parent
 // [Instance][google.bigtable.admin.v2.Instance].
@@ -140,6 +161,41 @@ func (m *Cluster) String() string            { return proto.CompactTextString(m)
 func (*Cluster) ProtoMessage()               {}
 func (*Cluster) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
 
+func (m *Cluster) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Cluster) GetLocation() string {
+	if m != nil {
+		return m.Location
+	}
+	return ""
+}
+
+func (m *Cluster) GetState() Cluster_State {
+	if m != nil {
+		return m.State
+	}
+	return Cluster_STATE_NOT_KNOWN
+}
+
+func (m *Cluster) GetServeNodes() int32 {
+	if m != nil {
+		return m.ServeNodes
+	}
+	return 0
+}
+
+func (m *Cluster) GetDefaultStorageType() StorageType {
+	if m != nil {
+		return m.DefaultStorageType
+	}
+	return StorageType_STORAGE_TYPE_UNSPECIFIED
+}
+
 func init() {
 	proto.RegisterType((*Instance)(nil), "google.bigtable.admin.v2.Instance")
 	proto.RegisterType((*Cluster)(nil), "google.bigtable.admin.v2.Cluster")
@@ -147,36 +203,34 @@ func init() {
 	proto.RegisterEnum("google.bigtable.admin.v2.Cluster_State", Cluster_State_name, Cluster_State_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/v2/instance.proto", fileDescriptor3)
-}
+func init() { proto.RegisterFile("google/bigtable/admin/v2/instance.proto", fileDescriptor3) }
 
 var fileDescriptor3 = []byte{
-	// 415 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0xd1, 0x8a, 0xd4, 0x30,
-	0x14, 0x86, 0xed, 0xec, 0x54, 0x67, 0xb3, 0xab, 0x0e, 0xd1, 0x8b, 0x32, 0x08, 0x8e, 0x05, 0xb1,
-	0x57, 0x09, 0x8c, 0x78, 0xa9, 0xd0, 0xd9, 0x56, 0x29, 0x4a, 0x77, 0x6d, 0x0b, 0x8b, 0xde, 0x94,
-	0x4c, 0x9b, 0x0d, 0x81, 0x36, 0x29, 0x4d, 0x76, 0x60, 0xde, 0xcc, 0x17, 0xf0, 0xbd, 0x24, 0x69,
-	0x47, 0x5c, 0xb0, 0xb0, 0xec, 0x5d, 0xff, 0x73, 0xfe, 0x9e, 0xff, 0x4b, 0x72, 0xc0, 0x67, 0x26,
-	0x25, 0x6b, 0x28, 0x62, 0xb2, 0x21, 0x82, 0x21, 0xd9, 0x33, 0xcc, 0xa8, 0xe8, 0x7a, 0xa9, 0x25,
-	0x1e, 0x5a, 0xa4, 0xe3, 0x0a, 0xef, 0x38, 0xd3, 0x64, 0xd7, 0x50, 0x4c, 0xea, 0x96, 0x0b, 0xbc,
-	0xdf, 0x60, 0x2e, 0x94, 0x26, 0xa2, 0xa2, 0xc8, 0x7a, 0xa1, 0x37, 0xce, 0x39, 0x1a, 0x91, 0x35,
-	0xa2, 0xfd, 0x66, 0x95, 0xdc, 0x2f, 0x81, 0x74, 0x1c, 0x2b, 0xda, 0xef, 0x79, 0x45, 0x2b, 0x29,
-	0x6e, 0x38, 0xc3, 0x44, 0x08, 0xa9, 0x89, 0xe6, 0x52, 0xa8, 0x21, 0x64, 0x15, 0x3d, 0x14, 0xb6,
-	0x92, 0x6d, 0x2b, 0xc5, 0x30, 0xc5, 0xff, 0xe5, 0x80, 0x45, 0x32, 0xd2, 0x43, 0x08, 0xe6, 0x82,
-	0xb4, 0xd4, 0x73, 0xd6, 0x4e, 0x70, 0x9a, 0xd9, 0x6f, 0xf8, 0x06, 0x9c, 0xd7, 0x5c, 0x75, 0x0d,
-	0x39, 0x94, 0xb6, 0x37, 0xb3, 0xbd, 0xb3, 0xb1, 0x96, 0x1a, 0xcb, 0x27, 0xe0, 0x2a, 0x4d, 0x34,
-	0xf5, 0x4e, 0xd6, 0x4e, 0xf0, 0x6c, 0x13, 0xa0, 0xa9, 0xe3, 0xa3, 0x63, 0x12, 0xca, 0x8d, 0x3f,
-	0x1b, 0x7e, 0xf3, 0x3f, 0x00, 0xd7, 0x6a, 0xf8, 0x02, 0x3c, 0xcf, 0x8b, 0xb0, 0x88, 0xcb, 0xf4,
-	0xb2, 0x28, 0xbf, 0xa6, 0x97, 0xd7, 0xe9, 0xf2, 0x11, 0x3c, 0x05, 0x6e, 0x16, 0x87, 0xd1, 0x8f,
-	0xa5, 0x03, 0xcf, 0xc1, 0xe2, 0x22, 0x8b, 0xc3, 0x22, 0x49, 0xbf, 0x2c, 0x67, 0xfe, 0xef, 0x19,
-	0x78, 0x72, 0xd1, 0xdc, 0x2a, 0x4d, 0xfb, 0xff, 0x92, 0xaf, 0xc0, 0xa2, 0x91, 0x95, 0xbd, 0xb3,
-	0x91, 0xfa, 0xaf, 0x86, 0x1f, 0xef, 0x22, 0xbf, 0x9b, 0x46, 0x1e, 0x13, 0xee, 0x10, 0xc3, 0xd7,
-	0xe0, 0xcc, 0x3c, 0x0f, 0x2d, 0x85, 0xac, 0xa9, 0xf2, 0xe6, 0x6b, 0x27, 0x70, 0x33, 0x60, 0x4b,
-	0xa9, 0xa9, 0xc0, 0x6b, 0xf0, 0xb2, 0xa6, 0x37, 0xe4, 0xb6, 0xd1, 0xa5, 0xd2, 0xb2, 0x27, 0x8c,
-	0x96, 0xfa, 0xd0, 0x51, 0xcf, 0xb5, 0x71, 0x6f, 0xa7, 0xe3, 0xf2, 0xc1, 0x5d, 0x1c, 0x3a, 0x9a,
-	0xc1, 0x71, 0xc4, 0x3f, 0x35, 0xff, 0xfb, 0x83, 0xee, 0xca, 0xa8, 0x2c, 0xce, 0x93, 0x9f, 0x46,
-	0x9d, 0x18, 0x15, 0x25, 0x79, 0xb8, 0xfd, 0x16, 0x47, 0xcb, 0xf9, 0x16, 0x83, 0x57, 0x95, 0x6c,
-	0x27, 0x91, 0xb6, 0x4f, 0x8f, 0xaf, 0x76, 0x65, 0x36, 0xe6, 0xca, 0xd9, 0x3d, 0xb6, 0xab, 0xf3,
-	0xfe, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x78, 0x6c, 0xbc, 0xfe, 0x2f, 0x03, 0x00, 0x00,
+	// 412 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x92, 0x51, 0xab, 0xd3, 0x30,
+	0x14, 0xc7, 0xed, 0xee, 0xaa, 0xbb, 0xb9, 0x57, 0x2d, 0xd1, 0x87, 0x32, 0x06, 0xce, 0xc2, 0x58,
+	0x9f, 0x52, 0x98, 0xf8, 0x24, 0x13, 0xba, 0xad, 0x48, 0x51, 0xba, 0xd9, 0x16, 0x86, 0x7b, 0x29,
+	0x59, 0x1b, 0x43, 0xa1, 0x4d, 0x4a, 0x93, 0x0d, 0xf6, 0xcd, 0xfc, 0x02, 0x7e, 0x2f, 0x69, 0xda,
+	0x89, 0x43, 0xfb, 0xe2, 0x5b, 0xfe, 0xe7, 0xfc, 0x92, 0xff, 0x9f, 0x93, 0x03, 0xe6, 0x94, 0x73,
+	0x5a, 0x10, 0xe7, 0x98, 0x53, 0x89, 0x8f, 0x05, 0x71, 0x70, 0x56, 0xe6, 0xcc, 0x39, 0x2f, 0x9c,
+	0x9c, 0x09, 0x89, 0x59, 0x4a, 0x50, 0x55, 0x73, 0xc9, 0xa1, 0xd9, 0x82, 0xe8, 0x0a, 0x22, 0x05,
+	0xa2, 0xf3, 0x62, 0x3c, 0xe9, 0x9e, 0xc0, 0x55, 0xee, 0x60, 0xc6, 0xb8, 0xc4, 0x32, 0xe7, 0x4c,
+	0xb4, 0xf7, 0xc6, 0xb3, 0x5e, 0x83, 0x94, 0x97, 0x25, 0x67, 0x2d, 0x66, 0xfd, 0xd0, 0xc0, 0xc8,
+	0xef, 0x1c, 0x21, 0x04, 0x43, 0x86, 0x4b, 0x62, 0x6a, 0x53, 0xcd, 0xbe, 0x0f, 0xd5, 0x19, 0xbe,
+	0x05, 0x8f, 0x59, 0x2e, 0xaa, 0x02, 0x5f, 0x12, 0xd5, 0x1b, 0xa8, 0xde, 0x43, 0x57, 0x0b, 0x1a,
+	0xe4, 0x23, 0xd0, 0x85, 0xc4, 0x92, 0x98, 0x77, 0x53, 0xcd, 0x7e, 0xb1, 0xb0, 0x51, 0x5f, 0x64,
+	0x74, 0x75, 0x42, 0x51, 0xc3, 0x87, 0xed, 0x35, 0xeb, 0x3d, 0xd0, 0x95, 0x86, 0xaf, 0xc0, 0xcb,
+	0x28, 0x76, 0x63, 0x2f, 0x09, 0xb6, 0x71, 0xf2, 0x39, 0xd8, 0xee, 0x03, 0xe3, 0x09, 0xbc, 0x07,
+	0x7a, 0xe8, 0xb9, 0x9b, 0x6f, 0x86, 0x06, 0x1f, 0xc1, 0x68, 0x1d, 0x7a, 0x6e, 0xec, 0x07, 0x9f,
+	0x8c, 0x81, 0xf5, 0x73, 0x00, 0x9e, 0xad, 0x8b, 0x93, 0x90, 0xa4, 0xfe, 0x67, 0xf2, 0x31, 0x18,
+	0x15, 0x3c, 0x55, 0x43, 0xe9, 0x52, 0xff, 0xd6, 0x70, 0x79, 0x1b, 0x79, 0xde, 0x1f, 0xb9, 0x73,
+	0xb8, 0x49, 0x0c, 0xdf, 0x80, 0x07, 0x41, 0xea, 0x33, 0x49, 0x18, 0xcf, 0x88, 0x30, 0x87, 0x53,
+	0xcd, 0xd6, 0x43, 0xa0, 0x4a, 0x41, 0x53, 0x81, 0x7b, 0xf0, 0x3a, 0x23, 0xdf, 0xf1, 0xa9, 0x90,
+	0x89, 0x90, 0xbc, 0xc6, 0x94, 0x24, 0xf2, 0x52, 0x11, 0x53, 0x57, 0x76, 0xb3, 0x7e, 0xbb, 0xa8,
+	0xa5, 0xe3, 0x4b, 0x45, 0x42, 0xd8, 0x3d, 0xf1, 0x47, 0xcd, 0xfa, 0xfa, 0x5f, 0xb3, 0x6a, 0x54,
+	0xe8, 0x45, 0xfe, 0xa1, 0x51, 0x77, 0x8d, 0xda, 0xf8, 0x91, 0xbb, 0xfa, 0xe2, 0x6d, 0x8c, 0xe1,
+	0x8a, 0x81, 0x49, 0xca, 0xcb, 0xde, 0x48, 0xab, 0xe7, 0xd7, 0x5f, 0xdb, 0x35, 0x1b, 0xb3, 0xd3,
+	0x0e, 0xcb, 0x0e, 0xa5, 0xbc, 0xc0, 0x8c, 0x22, 0x5e, 0x53, 0x87, 0x12, 0xa6, 0xf6, 0xc9, 0x69,
+	0x5b, 0xb8, 0xca, 0xc5, 0xdf, 0x9b, 0xf7, 0x41, 0x1d, 0x8e, 0x4f, 0x15, 0xf9, 0xee, 0x57, 0x00,
+	0x00, 0x00, 0xff, 0xff, 0x33, 0x2a, 0xdc, 0x7a, 0x03, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/instance.proto b/googleapis/bigtable/admin/v2/instance.proto
deleted file mode 100644
index ee29ea8dd89a649a1bc41b599e7b160361d982c6..0000000000000000000000000000000000000000
--- a/googleapis/bigtable/admin/v2/instance.proto
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.bigtable.admin.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/bigtable/admin/v2/common.proto"; // from google/bigtable/admin/v2/common.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "InstanceProto";
-option java_package = "com.google.bigtable.admin.v2";
-
-
-// A collection of Bigtable [Tables][google.bigtable.admin.v2.Table] and
-// the resources that serve them.
-// All tables in an instance are served from a single
-// [Cluster][google.bigtable.admin.v2.Cluster].
-message Instance {
-  // Possible states of an instance.
-  enum State {
-    // The state of the instance could not be determined.
-    STATE_NOT_KNOWN = 0;
-
-    // The instance has been successfully created and can serve requests
-    // to its tables.
-    READY = 1;
-
-    // The instance is currently being created, and may be destroyed
-    // if the creation process encounters an error.
-    CREATING = 2;
-  }
-
-  // @OutputOnly
-  // The unique name of the instance. Values are of the form
-  // projects/<project>/instances/[a-z][a-z0-9\\-]+[a-z0-9]
-  string name = 1;
-
-  // The descriptive name for this instance as it appears in UIs.
-  // Can be changed at any time, but should be kept globally unique
-  // to avoid confusion.
-  string display_name = 2;
-
-  //
-  // The current state of the instance.
-  State state = 3;
-}
-
-// A resizable group of nodes in a particular cloud location, capable
-// of serving all [Tables][google.bigtable.admin.v2.Table] in the parent
-// [Instance][google.bigtable.admin.v2.Instance].
-message Cluster {
-  // Possible states of a cluster.
-  enum State {
-    // The state of the cluster could not be determined.
-    STATE_NOT_KNOWN = 0;
-
-    // The cluster has been successfully created and is ready to serve requests.
-    READY = 1;
-
-    // The cluster is currently being created, and may be destroyed
-    // if the creation process encounters an error.
-    // A cluster may not be able to serve requests while being created.
-    CREATING = 2;
-
-    // The cluster is currently being resized, and may revert to its previous
-    // node count if the process encounters an error.
-    // A cluster is still capable of serving requests while being resized,
-    // but may exhibit performance as if its number of allocated nodes is
-    // between the starting and requested states.
-    RESIZING = 3;
-
-    // The cluster has no backing nodes. The data (tables) still
-    // exist, but no operations can be performed on the cluster.
-    DISABLED = 4;
-  }
-
-  // @OutputOnly
-  // The unique name of the cluster. Values are of the form
-  // projects/<project>/instances/<instance>/clusters/[a-z][-a-z0-9]*
-  string name = 1;
-
-  // @CreationOnly
-  // The location where this cluster's nodes and storage reside. For best
-  // performance, clients should be located as close as possible to this cluster.
-  // Currently only zones are supported, e.g. projects/*/locations/us-central1-b
-  string location = 2;
-
-  // @OutputOnly
-  // The current state of the cluster.
-  State state = 3;
-
-  // The number of nodes allocated to this cluster. More nodes enable higher
-  // throughput and more consistent performance.
-  int32 serve_nodes = 4;
-
-  // @CreationOnly
-  // The type of storage used by this cluster to serve its
-  // parent instance's tables, unless explicitly overridden.
-  StorageType default_storage_type = 5;
-}
diff --git a/googleapis/bigtable/admin/v2/table.pb.go b/googleapis/bigtable/admin/v2/table.pb.go
index cf62c3ba7c1a4d22a2fcc3654ae7aafcccb99678..13a3426c58b44882773b944d49ac7ad3360716c3 100644
--- a/googleapis/bigtable/admin/v2/table.pb.go
+++ b/googleapis/bigtable/admin/v2/table.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/v2/table.proto
+// source: google/bigtable/admin/v2/table.proto
 // DO NOT EDIT!
 
-package google_bigtable_admin_v2 // import "google.golang.org/genproto/googleapis/bigtable/admin/v2"
+package admin
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf4 "github.com/golang/protobuf/ptypes/duration"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -100,6 +100,13 @@ func (m *Table) String() string            { return proto.CompactTextString(m) }
 func (*Table) ProtoMessage()               {}
 func (*Table) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
 
+func (m *Table) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Table) GetColumnFamilies() map[string]*ColumnFamily {
 	if m != nil {
 		return m.ColumnFamilies
@@ -107,6 +114,13 @@ func (m *Table) GetColumnFamilies() map[string]*ColumnFamily {
 	return nil
 }
 
+func (m *Table) GetGranularity() Table_TimestampGranularity {
+	if m != nil {
+		return m.Granularity
+	}
+	return Table_TIMESTAMP_GRANULARITY_UNSPECIFIED
+}
+
 // A set of columns within a table which share a common configuration.
 type ColumnFamily struct {
 	// Garbage collection rule specified as a protobuf.
@@ -355,48 +369,45 @@ func init() {
 	proto.RegisterEnum("google.bigtable.admin.v2.Table_View", Table_View_name, Table_View_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/v2/table.proto", fileDescriptor4)
-}
+func init() { proto.RegisterFile("google/bigtable/admin/v2/table.proto", fileDescriptor4) }
 
 var fileDescriptor4 = []byte{
-	// 608 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x93, 0x7f, 0x6f, 0xd2, 0x40,
-	0x18, 0xc7, 0xe9, 0x5a, 0x98, 0x7b, 0x98, 0x5b, 0x73, 0xee, 0x0f, 0x24, 0xfe, 0x81, 0x24, 0x1a,
-	0x62, 0xb4, 0x4d, 0xd8, 0x62, 0x9c, 0x31, 0x1a, 0xc6, 0xca, 0x68, 0x02, 0x48, 0xca, 0x0f, 0xb3,
-	0xc4, 0xa4, 0x39, 0xba, 0xdb, 0x79, 0xb1, 0x77, 0x47, 0xfa, 0x03, 0xc7, 0xbb, 0xf0, 0x9d, 0xf9,
-	0x96, 0x4c, 0xaf, 0xa0, 0xcc, 0x8c, 0x6c, 0xf1, 0x2f, 0x1e, 0xee, 0xbe, 0xdf, 0xcf, 0xf3, 0xe3,
-	0x9e, 0x42, 0x9b, 0x4a, 0x49, 0x43, 0x62, 0x51, 0x19, 0x62, 0x41, 0x2d, 0x19, 0x51, 0x9b, 0x12,
-	0x31, 0x8f, 0x64, 0x22, 0xed, 0xfc, 0x0a, 0xcf, 0x59, 0x6c, 0xcf, 0x18, 0x4d, 0xf0, 0x2c, 0x24,
-	0x36, 0xbe, 0xe2, 0x4c, 0xd8, 0x8b, 0xa6, 0xad, 0xfe, 0x5a, 0x4a, 0x88, 0x2a, 0x2b, 0xc8, 0x5a,
-	0x65, 0x29, 0x95, 0xb5, 0x68, 0x56, 0xdd, 0x87, 0xe1, 0xf1, 0x9c, 0xd9, 0x31, 0x89, 0x16, 0x2c,
-	0x20, 0x81, 0x14, 0xd7, 0x8c, 0xda, 0x58, 0x08, 0x99, 0xe0, 0x84, 0x49, 0x11, 0xe7, 0x49, 0xaa,
-	0xa7, 0x94, 0x25, 0xdf, 0xd2, 0x99, 0x15, 0x48, 0x6e, 0xe7, 0x38, 0x5b, 0x5d, 0xcc, 0xd2, 0x6b,
-	0x7b, 0x9e, 0x2c, 0xe7, 0x24, 0xb6, 0xaf, 0xd2, 0x48, 0x59, 0xfe, 0x04, 0xb9, 0xb5, 0xfe, 0x4b,
-	0x87, 0xe2, 0x38, 0x2b, 0x0c, 0x21, 0x30, 0x04, 0xe6, 0xa4, 0xa2, 0xd5, 0xb4, 0xc6, 0x9e, 0xa7,
-	0x62, 0xf4, 0x15, 0x0e, 0x03, 0x19, 0xa6, 0x5c, 0xf8, 0xd7, 0x98, 0xb3, 0x90, 0x91, 0xb8, 0xa2,
-	0xd7, 0xf4, 0x46, 0xb9, 0x79, 0x6c, 0x6d, 0xeb, 0xcb, 0x52, 0x34, 0xab, 0xad, 0x6c, 0x9d, 0x95,
-	0xcb, 0x11, 0x49, 0xb4, 0xf4, 0x0e, 0x82, 0x5b, 0x87, 0x68, 0x0a, 0x65, 0x1a, 0x61, 0x91, 0x86,
-	0x38, 0x62, 0xc9, 0xb2, 0x62, 0xd4, 0xb4, 0xc6, 0x41, 0xf3, 0xe4, 0x3e, 0xf2, 0x98, 0x71, 0x12,
-	0x27, 0x98, 0xcf, 0x2f, 0xfe, 0x7a, 0xbd, 0x4d, 0x50, 0x95, 0xc1, 0x93, 0x3b, 0xd2, 0x23, 0x13,
-	0xf4, 0xef, 0x64, 0xb9, 0xea, 0x2f, 0x0b, 0xd1, 0x07, 0x28, 0x2e, 0x70, 0x98, 0x92, 0xca, 0x4e,
-	0x4d, 0x6b, 0x94, 0x9b, 0x2f, 0xb7, 0xa7, 0xde, 0xe0, 0x2d, 0xbd, 0xdc, 0xf4, 0x7e, 0xe7, 0x9d,
-	0x56, 0x77, 0xe1, 0xe8, 0xae, 0x7a, 0xd0, 0x0b, 0x78, 0x3e, 0x76, 0xfb, 0xce, 0x68, 0xdc, 0xea,
-	0x0f, 0xfd, 0x0b, 0xaf, 0x35, 0x98, 0xf4, 0x5a, 0x9e, 0x3b, 0xbe, 0xf4, 0x27, 0x83, 0xd1, 0xd0,
-	0x69, 0xbb, 0x1d, 0xd7, 0x39, 0x37, 0x0b, 0x08, 0xa0, 0xd4, 0x77, 0x7b, 0x3d, 0x77, 0x64, 0x6a,
-	0xf5, 0x0e, 0x18, 0x53, 0x46, 0x7e, 0xa0, 0x23, 0x30, 0xa7, 0xae, 0xf3, 0xe5, 0x1f, 0xe5, 0x63,
-	0xd8, 0x1b, 0xb4, 0xfa, 0x8e, 0xff, 0x79, 0xd0, 0xbb, 0x34, 0x35, 0x74, 0x08, 0xe5, 0x51, 0xbb,
-	0xeb, 0xf4, 0x5b, 0x7e, 0xa6, 0x35, 0x77, 0xd0, 0x23, 0x30, 0x3a, 0x93, 0x5e, 0xcf, 0x34, 0xea,
-	0x2e, 0xec, 0x6f, 0x56, 0x8b, 0x4e, 0x61, 0x97, 0x06, 0x7e, 0x94, 0x86, 0xf9, 0xd3, 0x96, 0x9b,
-	0xb5, 0xed, 0x6d, 0x5e, 0x04, 0x5e, 0x1a, 0x12, 0xaf, 0x44, 0xd5, 0x6f, 0xfd, 0xa7, 0x0e, 0xa5,
-	0xfc, 0x08, 0xbd, 0x02, 0x93, 0xe3, 0x1b, 0x5f, 0xa4, 0xdc, 0x5f, 0x90, 0x28, 0xce, 0x96, 0x4f,
-	0xe1, 0x8a, 0xdd, 0x82, 0x77, 0xc0, 0xf1, 0xcd, 0x20, 0xe5, 0xd3, 0xd5, 0x39, 0x3a, 0x81, 0xdd,
-	0x4c, 0x8b, 0xe9, 0x7a, 0xb0, 0x4f, 0xd7, 0x19, 0xd7, 0x5b, 0x69, 0x9d, 0xaf, 0xb6, 0xb0, 0x5b,
-	0xf0, 0x4a, 0x1c, 0xdf, 0xb4, 0x28, 0x41, 0x23, 0xd8, 0x67, 0x22, 0x21, 0x51, 0x4c, 0x82, 0xec,
-	0xa6, 0xa2, 0x2b, 0xeb, 0x9b, 0xfb, 0x8a, 0xb5, 0xdc, 0x0d, 0x53, 0xb7, 0xe0, 0xdd, 0x82, 0xa0,
-	0x8f, 0x50, 0x4c, 0x45, 0x46, 0x33, 0xee, 0x7b, 0xe1, 0x15, 0x6d, 0x22, 0x72, 0x4c, 0x6e, 0xab,
-	0x76, 0x60, 0x7f, 0x93, 0x8f, 0xde, 0x42, 0x31, 0x9b, 0x64, 0xd6, 0xbb, 0xfe, 0xa0, 0x51, 0xe6,
-	0xf2, 0xea, 0x27, 0x28, 0x2a, 0xf2, 0xff, 0x02, 0xce, 0x4a, 0x60, 0x64, 0xc1, 0xd9, 0x6b, 0x78,
-	0x16, 0x48, 0xbe, 0xd5, 0x75, 0x06, 0xea, 0x23, 0x19, 0x66, 0x73, 0x1e, 0x6a, 0xb3, 0x92, 0x1a,
-	0xf8, 0xf1, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xaf, 0x0f, 0xf7, 0x8b, 0xcb, 0x04, 0x00, 0x00,
+	// 592 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0xed, 0x6a, 0xdb, 0x3c,
+	0x14, 0xc7, 0xe3, 0xda, 0x49, 0x9f, 0x9e, 0xf4, 0x69, 0x8d, 0xd6, 0x0f, 0x59, 0x28, 0x23, 0x0b,
+	0xdb, 0x08, 0x83, 0xd9, 0x90, 0x96, 0xb1, 0xf7, 0x91, 0xb6, 0x4e, 0x63, 0x70, 0xb2, 0xe0, 0xbc,
+	0x8c, 0x8e, 0x81, 0x51, 0x5c, 0x55, 0x88, 0x5a, 0x72, 0xf0, 0x4b, 0xd6, 0xdc, 0xc5, 0xee, 0x6c,
+	0xb7, 0x34, 0x2c, 0x3b, 0x2c, 0xdd, 0x1a, 0x3a, 0xf6, 0x29, 0x47, 0x3a, 0xff, 0xff, 0x4f, 0x47,
+	0x47, 0x27, 0x86, 0x27, 0x34, 0x0c, 0x69, 0x40, 0xcc, 0x19, 0xa3, 0x09, 0x9e, 0x05, 0xc4, 0xc4,
+	0x97, 0x9c, 0x09, 0x73, 0xd1, 0x36, 0xe5, 0xd2, 0x98, 0x47, 0x61, 0x12, 0xa2, 0x5a, 0xae, 0x32,
+	0x56, 0x2a, 0x43, 0xaa, 0x8c, 0x45, 0xbb, 0x7e, 0x58, 0xf8, 0xf1, 0x9c, 0x99, 0x58, 0x88, 0x30,
+	0xc1, 0x09, 0x0b, 0x45, 0x9c, 0xfb, 0xea, 0x8f, 0x8a, 0xac, 0x5c, 0xcd, 0xd2, 0x2b, 0xf3, 0x32,
+	0x8d, 0xa4, 0x20, 0xcf, 0x37, 0x7f, 0xa8, 0x50, 0x1e, 0x67, 0x40, 0x84, 0x40, 0x13, 0x98, 0x93,
+	0x9a, 0xd2, 0x50, 0x5a, 0x3b, 0xae, 0x8c, 0xd1, 0x57, 0xd8, 0xf7, 0xc3, 0x20, 0xe5, 0xc2, 0xbb,
+	0xc2, 0x9c, 0x05, 0x8c, 0xc4, 0x35, 0xb5, 0xa1, 0xb6, 0xaa, 0xed, 0x23, 0x63, 0x53, 0x3d, 0x86,
+	0xa4, 0x19, 0xa7, 0xd2, 0xd6, 0x2d, 0x5c, 0x96, 0x48, 0xa2, 0xa5, 0xbb, 0xe7, 0xdf, 0xda, 0x44,
+	0x53, 0xa8, 0xd2, 0x08, 0x8b, 0x34, 0xc0, 0x11, 0x4b, 0x96, 0x35, 0xad, 0xa1, 0xb4, 0xf6, 0xda,
+	0xc7, 0xf7, 0x91, 0xc7, 0x8c, 0x93, 0x38, 0xc1, 0x7c, 0x7e, 0xfe, 0xcb, 0xeb, 0xae, 0x83, 0xea,
+	0x0c, 0x1e, 0xdc, 0x71, 0x3c, 0xd2, 0x41, 0xbd, 0x26, 0xcb, 0xe2, 0x7e, 0x59, 0x88, 0xde, 0x41,
+	0x79, 0x81, 0x83, 0x94, 0xd4, 0xb6, 0x1a, 0x4a, 0xab, 0xda, 0x7e, 0xb6, 0xf9, 0xe8, 0x35, 0xde,
+	0xd2, 0xcd, 0x4d, 0x6f, 0xb6, 0x5e, 0x29, 0x4d, 0x1b, 0x0e, 0xee, 0xaa, 0x07, 0x3d, 0x85, 0xc7,
+	0x63, 0xbb, 0x6f, 0x8d, 0xc6, 0x9d, 0xfe, 0xd0, 0x3b, 0x77, 0x3b, 0x83, 0x89, 0xd3, 0x71, 0xed,
+	0xf1, 0x85, 0x37, 0x19, 0x8c, 0x86, 0xd6, 0xa9, 0xdd, 0xb5, 0xad, 0x33, 0xbd, 0x84, 0x00, 0x2a,
+	0x7d, 0xdb, 0x71, 0xec, 0x91, 0xae, 0x34, 0xbb, 0xa0, 0x4d, 0x19, 0xf9, 0x86, 0x0e, 0x40, 0x9f,
+	0xda, 0xd6, 0xe7, 0xdf, 0x94, 0xff, 0xc3, 0xce, 0xa0, 0xd3, 0xb7, 0xbc, 0x4f, 0x03, 0xe7, 0x42,
+	0x57, 0xd0, 0x3e, 0x54, 0x47, 0xa7, 0x3d, 0xab, 0xdf, 0xf1, 0x32, 0xad, 0xbe, 0x85, 0xfe, 0x03,
+	0xad, 0x3b, 0x71, 0x1c, 0x5d, 0x6b, 0xda, 0xb0, 0xbb, 0x5e, 0x2d, 0x7a, 0x0d, 0xdb, 0xd4, 0xf7,
+	0xa2, 0x34, 0xc8, 0x9f, 0xb6, 0xda, 0x6e, 0x6c, 0xbe, 0xe6, 0xb9, 0xef, 0xa6, 0x01, 0x71, 0x2b,
+	0x54, 0xfe, 0x36, 0xbf, 0xab, 0x50, 0xc9, 0xb7, 0xd0, 0x73, 0xd0, 0x39, 0xbe, 0xf1, 0x44, 0xca,
+	0xbd, 0x05, 0x89, 0xe2, 0x6c, 0xc2, 0x24, 0xae, 0xdc, 0x2b, 0xb9, 0x7b, 0x1c, 0xdf, 0x0c, 0x52,
+	0x3e, 0x2d, 0xf6, 0xd1, 0x31, 0x6c, 0x67, 0x5a, 0x4c, 0x57, 0x8d, 0x7d, 0xb8, 0x3a, 0x71, 0x35,
+	0x85, 0xc6, 0x59, 0x31, 0x85, 0xbd, 0x92, 0x5b, 0xe1, 0xf8, 0xa6, 0x43, 0x09, 0x1a, 0xc1, 0x2e,
+	0x13, 0x09, 0x89, 0x62, 0xe2, 0x67, 0x99, 0x9a, 0x2a, 0xad, 0x2f, 0xee, 0x2b, 0xd6, 0xb0, 0xd7,
+	0x4c, 0xbd, 0x92, 0x7b, 0x0b, 0x82, 0x3e, 0x40, 0x39, 0x15, 0x19, 0x4d, 0xbb, 0xef, 0x85, 0x0b,
+	0xda, 0x44, 0xe4, 0x98, 0xdc, 0x56, 0xef, 0xc2, 0xee, 0x3a, 0x1f, 0xbd, 0x84, 0x72, 0xd6, 0xc9,
+	0xec, 0xee, 0xea, 0x5f, 0xb5, 0x32, 0x97, 0xd7, 0x3f, 0x42, 0x59, 0x92, 0xff, 0x15, 0x70, 0x52,
+	0x01, 0x2d, 0x0b, 0x4e, 0xae, 0xe1, 0xd0, 0x0f, 0xf9, 0x46, 0xd7, 0x09, 0xc8, 0x3f, 0xc9, 0x30,
+	0xeb, 0xf3, 0x50, 0xf9, 0xf2, 0xbe, 0xd0, 0xd1, 0x30, 0xc0, 0x82, 0x1a, 0x61, 0x44, 0x4d, 0x4a,
+	0x84, 0x7c, 0x05, 0x33, 0x4f, 0xe1, 0x39, 0x8b, 0xff, 0xfc, 0xf4, 0xbc, 0x95, 0xc1, 0xac, 0x22,
+	0x95, 0x47, 0x3f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xf1, 0xc7, 0x7b, 0xb1, 0xa3, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/table.proto b/googleapis/bigtable/admin/v2/table.proto
deleted file mode 100644
index 84f61e7e8a39777acdd3a6e52f9bc2146e00b470..0000000000000000000000000000000000000000
--- a/googleapis/bigtable/admin/v2/table.proto
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.bigtable.admin.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "TableProto";
-option java_package = "com.google.bigtable.admin.v2";
-
-
-// A collection of user data indexed by row, column, and timestamp.
-// Each table is served using the resources of its parent cluster.
-message Table {
-  // Possible timestamp granularities to use when keeping multiple versions
-  // of data in a table.
-  enum TimestampGranularity {
-    // The user did not specify a granularity. Should not be returned.
-    // When specified during table creation, MILLIS will be used.
-    TIMESTAMP_GRANULARITY_UNSPECIFIED = 0;
-
-    // The table keeps data versioned at a granularity of 1ms.
-    MILLIS = 1;
-  }
-
-  // Defines a view over a table's fields.
-  enum View {
-    // Uses the default view for each method as documented in its request.
-    VIEW_UNSPECIFIED = 0;
-
-    // Only populates `name`.
-    NAME_ONLY = 1;
-
-    // Only populates `name` and fields related to the table's schema.
-    SCHEMA_VIEW = 2;
-
-    // Populates all fields.
-    FULL = 4;
-  }
-
-  // The unique name of the table. Values are of the form
-  // projects/<project>/instances/<instance>/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*
-  // Views: NAME_ONLY, SCHEMA_VIEW, REPLICATION_VIEW, FULL
-  // @OutputOnly
-  string name = 1;
-
-  // The column families configured for this table, mapped by column family ID.
-  // Views: SCHEMA_VIEW, FULL
-  // @CreationOnly
-  map<string, ColumnFamily> column_families = 3;
-
-  // The granularity (e.g. MILLIS, MICROS) at which timestamps are stored in
-  // this table. Timestamps not matching the granularity will be rejected.
-  // If unspecified at creation time, the value will be set to MILLIS.
-  // Views: SCHEMA_VIEW, FULL
-  // @CreationOnly
-  TimestampGranularity granularity = 4;
-}
-
-// A set of columns within a table which share a common configuration.
-message ColumnFamily {
-  // Garbage collection rule specified as a protobuf.
-  // Must serialize to at most 500 bytes.
-  //
-  // NOTE: Garbage collection executes opportunistically in the background, and
-  // so it's possible for reads to return a cell even if it matches the active
-  // GC expression for its family.
-  GcRule gc_rule = 1;
-}
-
-// Rule for determining which cells to delete during garbage collection.
-message GcRule {
-  // A GcRule which deletes cells matching all of the given rules.
-  message Intersection {
-    // Only delete cells which would be deleted by every element of `rules`.
-    repeated GcRule rules = 1;
-  }
-
-  // A GcRule which deletes cells matching any of the given rules.
-  message Union {
-    // Delete cells which would be deleted by any element of `rules`.
-    repeated GcRule rules = 1;
-  }
-
-  oneof rule {
-    // Delete all cells in a column except the most recent N.
-    int32 max_num_versions = 1;
-
-    // Delete cells in a column older than the given age.
-    // Values must be at least one millisecond, and will be truncated to
-    // microsecond granularity.
-    google.protobuf.Duration max_age = 2;
-
-    // Delete cells that would be deleted by every nested rule.
-    Intersection intersection = 3;
-
-    // Delete cells that would be deleted by any nested rule.
-    Union union = 4;
-  }
-}
diff --git a/googleapis/bigtable/v1/bigtable_data.pb.go b/googleapis/bigtable/v1/bigtable_data.pb.go
index a2936d59a99c01e9d2652f60342ace74248c3830..2c530ff17b3f99da2e3d84e27af2e5adf8a5d9c5 100644
--- a/googleapis/bigtable/v1/bigtable_data.pb.go
+++ b/googleapis/bigtable/v1/bigtable_data.pb.go
@@ -1,14 +1,14 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/v1/bigtable_data.proto
+// source: google/bigtable/v1/bigtable_data.proto
 // DO NOT EDIT!
 
 /*
-Package google_bigtable_v1 is a generated protocol buffer package.
+Package bigtable is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/bigtable/v1/bigtable_data.proto
-	google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service_messages.proto
-	google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service.proto
+	google/bigtable/v1/bigtable_data.proto
+	google/bigtable/v1/bigtable_service.proto
+	google/bigtable/v1/bigtable_service_messages.proto
 
 It has these top-level messages:
 	Row
@@ -34,7 +34,7 @@ It has these top-level messages:
 	CheckAndMutateRowResponse
 	ReadModifyWriteRowRequest
 */
-package google_bigtable_v1 // import "google.golang.org/genproto/googleapis/bigtable/v1"
+package bigtable
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -68,6 +68,13 @@ func (m *Row) String() string            { return proto.CompactTextString(m) }
 func (*Row) ProtoMessage()               {}
 func (*Row) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Row) GetKey() []byte {
+	if m != nil {
+		return m.Key
+	}
+	return nil
+}
+
 func (m *Row) GetFamilies() []*Family {
 	if m != nil {
 		return m.Families
@@ -93,6 +100,13 @@ func (m *Family) String() string            { return proto.CompactTextString(m)
 func (*Family) ProtoMessage()               {}
 func (*Family) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *Family) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Family) GetColumns() []*Column {
 	if m != nil {
 		return m.Columns
@@ -117,6 +131,13 @@ func (m *Column) String() string            { return proto.CompactTextString(m)
 func (*Column) ProtoMessage()               {}
 func (*Column) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *Column) GetQualifier() []byte {
+	if m != nil {
+		return m.Qualifier
+	}
+	return nil
+}
+
 func (m *Column) GetCells() []*Cell {
 	if m != nil {
 		return m.Cells
@@ -146,6 +167,27 @@ func (m *Cell) String() string            { return proto.CompactTextString(m) }
 func (*Cell) ProtoMessage()               {}
 func (*Cell) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *Cell) GetTimestampMicros() int64 {
+	if m != nil {
+		return m.TimestampMicros
+	}
+	return 0
+}
+
+func (m *Cell) GetValue() []byte {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
+func (m *Cell) GetLabels() []string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
 // Specifies a contiguous range of rows.
 type RowRange struct {
 	// Inclusive lower bound. If left empty, interpreted as the empty string.
@@ -159,6 +201,20 @@ func (m *RowRange) String() string            { return proto.CompactTextString(m
 func (*RowRange) ProtoMessage()               {}
 func (*RowRange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *RowRange) GetStartKey() []byte {
+	if m != nil {
+		return m.StartKey
+	}
+	return nil
+}
+
+func (m *RowRange) GetEndKey() []byte {
+	if m != nil {
+		return m.EndKey
+	}
+	return nil
+}
+
 // Specifies a non-contiguous set of rows.
 type RowSet struct {
 	// Single rows included in the set.
@@ -172,6 +228,13 @@ func (m *RowSet) String() string            { return proto.CompactTextString(m)
 func (*RowSet) ProtoMessage()               {}
 func (*RowSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *RowSet) GetRowKeys() [][]byte {
+	if m != nil {
+		return m.RowKeys
+	}
+	return nil
+}
+
 func (m *RowSet) GetRowRanges() []*RowRange {
 	if m != nil {
 		return m.RowRanges
@@ -245,6 +308,13 @@ func (m *ColumnRange) GetEndQualifier() isColumnRange_EndQualifier {
 	return nil
 }
 
+func (m *ColumnRange) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
 func (m *ColumnRange) GetStartQualifierInclusive() []byte {
 	if x, ok := m.GetStartQualifier().(*ColumnRange_StartQualifierInclusive); ok {
 		return x.StartQualifierInclusive
@@ -394,6 +464,20 @@ func (m *TimestampRange) String() string            { return proto.CompactTextSt
 func (*TimestampRange) ProtoMessage()               {}
 func (*TimestampRange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *TimestampRange) GetStartTimestampMicros() int64 {
+	if m != nil {
+		return m.StartTimestampMicros
+	}
+	return 0
+}
+
+func (m *TimestampRange) GetEndTimestampMicros() int64 {
+	if m != nil {
+		return m.EndTimestampMicros
+	}
+	return 0
+}
+
 // Specifies a contiguous range of raw byte values.
 type ValueRange struct {
 	// The value at which to start the range.
@@ -1548,6 +1632,34 @@ func (m *Mutation_SetCell) String() string            { return proto.CompactText
 func (*Mutation_SetCell) ProtoMessage()               {}
 func (*Mutation_SetCell) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10, 0} }
 
+func (m *Mutation_SetCell) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
+func (m *Mutation_SetCell) GetColumnQualifier() []byte {
+	if m != nil {
+		return m.ColumnQualifier
+	}
+	return nil
+}
+
+func (m *Mutation_SetCell) GetTimestampMicros() int64 {
+	if m != nil {
+		return m.TimestampMicros
+	}
+	return 0
+}
+
+func (m *Mutation_SetCell) GetValue() []byte {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
 // A Mutation which deletes cells from the specified column, optionally
 // restricting the deletions to a given timestamp range.
 type Mutation_DeleteFromColumn struct {
@@ -1566,6 +1678,20 @@ func (m *Mutation_DeleteFromColumn) String() string            { return proto.Co
 func (*Mutation_DeleteFromColumn) ProtoMessage()               {}
 func (*Mutation_DeleteFromColumn) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10, 1} }
 
+func (m *Mutation_DeleteFromColumn) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
+func (m *Mutation_DeleteFromColumn) GetColumnQualifier() []byte {
+	if m != nil {
+		return m.ColumnQualifier
+	}
+	return nil
+}
+
 func (m *Mutation_DeleteFromColumn) GetTimeRange() *TimestampRange {
 	if m != nil {
 		return m.TimeRange
@@ -1585,6 +1711,13 @@ func (m *Mutation_DeleteFromFamily) String() string            { return proto.Co
 func (*Mutation_DeleteFromFamily) ProtoMessage()               {}
 func (*Mutation_DeleteFromFamily) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10, 2} }
 
+func (m *Mutation_DeleteFromFamily) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
 // A Mutation which deletes all cells from the containing row.
 type Mutation_DeleteFromRow struct {
 }
@@ -1639,6 +1772,20 @@ func (m *ReadModifyWriteRule) GetRule() isReadModifyWriteRule_Rule {
 	return nil
 }
 
+func (m *ReadModifyWriteRule) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
+func (m *ReadModifyWriteRule) GetColumnQualifier() []byte {
+	if m != nil {
+		return m.ColumnQualifier
+	}
+	return nil
+}
+
 func (m *ReadModifyWriteRule) GetAppendValue() []byte {
 	if x, ok := m.GetRule().(*ReadModifyWriteRule_AppendValue); ok {
 		return x.AppendValue
@@ -1740,96 +1887,95 @@ func init() {
 	proto.RegisterType((*ReadModifyWriteRule)(nil), "google.bigtable.v1.ReadModifyWriteRule")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/v1/bigtable_data.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/bigtable/v1/bigtable_data.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1368 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x57, 0x5b, 0x6f, 0x1b, 0xb7,
-	0x12, 0xd6, 0x5a, 0xf7, 0x59, 0x3b, 0x92, 0xe9, 0x9b, 0xa2, 0x24, 0x27, 0x86, 0x72, 0x80, 0xa3,
-	0xe4, 0x9c, 0xc8, 0x89, 0x13, 0x9c, 0xa6, 0x48, 0x50, 0xc4, 0xca, 0xa5, 0x4a, 0x73, 0x67, 0x8c,
-	0x14, 0x28, 0x50, 0x6c, 0x69, 0x2d, 0xa5, 0x2e, 0xc2, 0x5d, 0xaa, 0xdc, 0x95, 0x15, 0xfd, 0x91,
-	0xbe, 0xf7, 0x77, 0xf4, 0xad, 0x7f, 0xa2, 0x7f, 0xa3, 0x8f, 0x7d, 0xe8, 0x43, 0xc1, 0xcb, 0xde,
-	0x64, 0xc5, 0x36, 0x8a, 0xbc, 0x2d, 0x39, 0xdf, 0xf7, 0xcd, 0x70, 0x38, 0x1c, 0x72, 0xe1, 0xc9,
-	0x98, 0xf3, 0x31, 0xa3, 0xbd, 0x31, 0x67, 0x24, 0x18, 0xf7, 0xb8, 0x18, 0xef, 0x8d, 0x69, 0x30,
-	0x11, 0x3c, 0xe2, 0x7b, 0xda, 0x44, 0x26, 0x5e, 0xb8, 0x77, 0xe4, 0x8d, 0x23, 0x72, 0xc4, 0xe8,
-	0xde, 0xf1, 0xed, 0xe4, 0xdb, 0x71, 0x49, 0x44, 0x7a, 0x0a, 0x8a, 0x90, 0x91, 0x89, 0x6d, 0xbd,
-	0xe3, 0xdb, 0x9d, 0xd7, 0x50, 0xc4, 0x7c, 0x86, 0x9a, 0x50, 0xfc, 0x40, 0xe7, 0x2d, 0x6b, 0xd7,
-	0xea, 0xae, 0x62, 0xf9, 0x89, 0xfe, 0x0f, 0xb5, 0x11, 0xf1, 0x3d, 0xe6, 0xd1, 0xb0, 0xb5, 0xb2,
-	0x5b, 0xec, 0xda, 0xfb, 0xed, 0xde, 0x49, 0x7e, 0xef, 0xa9, 0xc4, 0xcc, 0x71, 0x82, 0xed, 0x60,
-	0xa8, 0xe8, 0x39, 0x84, 0xa0, 0x14, 0x10, 0x9f, 0x2a, 0xd1, 0x3a, 0x56, 0xdf, 0xe8, 0x2e, 0x54,
-	0x87, 0x9c, 0x4d, 0xfd, 0xe0, 0x54, 0xd1, 0x47, 0x0a, 0x82, 0x63, 0x68, 0xe7, 0x3d, 0x54, 0xf4,
-	0x14, 0xba, 0x0c, 0xf5, 0x9f, 0xa6, 0x84, 0x79, 0x23, 0x8f, 0x0a, 0x13, 0x6d, 0x3a, 0x81, 0x7a,
-	0x50, 0x1e, 0x52, 0xc6, 0x62, 0xed, 0xd6, 0x52, 0x6d, 0xca, 0x18, 0xd6, 0xb0, 0x8e, 0x03, 0x25,
-	0x39, 0x44, 0xd7, 0xa1, 0x19, 0x79, 0x3e, 0x0d, 0x23, 0xe2, 0x4f, 0x1c, 0xdf, 0x1b, 0x0a, 0x1e,
-	0x2a, 0xf1, 0x22, 0x6e, 0x24, 0xf3, 0x2f, 0xd5, 0x34, 0xda, 0x84, 0xf2, 0x31, 0x61, 0x53, 0xda,
-	0x5a, 0x51, 0xce, 0xf5, 0x00, 0x6d, 0x43, 0x85, 0x91, 0x23, 0xca, 0xc2, 0x56, 0x71, 0xb7, 0xd8,
-	0xad, 0x63, 0x33, 0xea, 0x3c, 0x84, 0x1a, 0xe6, 0x33, 0x4c, 0x82, 0x31, 0x45, 0x97, 0xa0, 0x1e,
-	0x46, 0x44, 0x44, 0x8e, 0x4c, 0xb4, 0x66, 0xd7, 0xd4, 0xc4, 0x73, 0x3a, 0x47, 0x3b, 0x50, 0xa5,
-	0x81, 0xab, 0x4c, 0x45, 0x65, 0xaa, 0xd0, 0xc0, 0x7d, 0x4e, 0xe7, 0x9d, 0x1f, 0xa0, 0x82, 0xf9,
-	0xec, 0x1d, 0x8d, 0xd0, 0x45, 0xa8, 0x09, 0x3e, 0x93, 0x10, 0x19, 0x5c, 0xb1, 0xbb, 0x8a, 0xab,
-	0x82, 0xcf, 0x9e, 0xd3, 0x79, 0x88, 0xee, 0x03, 0x48, 0x93, 0x90, 0x7e, 0xe2, 0xc5, 0x5f, 0x5e,
-	0xb6, 0xf8, 0x38, 0x18, 0x5c, 0x17, 0xe6, 0x2b, 0xec, 0xfc, 0xb6, 0x02, 0xb6, 0x49, 0xb8, 0x8a,
-	0xf3, 0x2a, 0xd8, 0x6a, 0x33, 0xe7, 0x4e, 0x66, 0xf7, 0x40, 0x4f, 0xbd, 0x92, 0x7b, 0xf8, 0x00,
-	0x2e, 0xea, 0x85, 0x24, 0x89, 0x77, 0xbc, 0x60, 0xc8, 0xa6, 0xa1, 0x77, 0x6c, 0xd2, 0x32, 0x28,
-	0xe0, 0x1d, 0x05, 0x79, 0x1b, 0x23, 0x9e, 0xc5, 0x80, 0x65, 0x6c, 0xfa, 0x31, 0x66, 0x17, 0x97,
-	0xb3, 0x9f, 0xc4, 0x00, 0x74, 0x0f, 0x76, 0x64, 0x9e, 0x96, 0x79, 0x2e, 0x29, 0xae, 0x85, 0xb7,
-	0x68, 0xe0, 0x2e, 0xf1, 0x7b, 0x82, 0x99, 0x7a, 0x2d, 0x2f, 0x63, 0x26, 0x3e, 0xfb, 0xeb, 0xd0,
-	0x58, 0x88, 0xb8, 0xdf, 0x80, 0xb5, 0x9c, 0x58, 0xe7, 0x23, 0x5c, 0x38, 0x8c, 0x2b, 0x45, 0xa7,
-	0xf1, 0x2e, 0x6c, 0x6b, 0xd6, 0x27, 0x2a, 0x6b, 0x53, 0x59, 0x0f, 0x17, 0xca, 0xeb, 0x16, 0x6c,
-	0x4a, 0xe1, 0x13, 0x9c, 0x15, 0xc5, 0x41, 0x34, 0x70, 0x17, 0x18, 0x9d, 0x3f, 0x2d, 0x80, 0xf7,
-	0xb2, 0x08, 0x63, 0xb7, 0x5b, 0xda, 0xad, 0x2a, 0xcc, 0x4c, 0x7a, 0x2c, 0x93, 0xda, 0x0d, 0x65,
-	0x56, 0x8c, 0x34, 0x39, 0x0b, 0xac, 0x34, 0x35, 0x2b, 0x27, 0x59, 0xe9, 0x66, 0xdc, 0x82, 0x0d,
-	0x19, 0xec, 0xa2, 0xa7, 0xa2, 0x49, 0xe7, 0x3a, 0x0d, 0xdc, 0x05, 0x3f, 0x39, 0x46, 0xea, 0xa5,
-	0xb4, 0xc8, 0x48, 0x93, 0xbf, 0x06, 0x76, 0x26, 0xb2, 0xbe, 0x0d, 0xf5, 0x44, 0xa0, 0xf3, 0x97,
-	0x0d, 0x75, 0xcc, 0x67, 0x4f, 0x3d, 0x16, 0x51, 0x81, 0xee, 0x43, 0x79, 0xf8, 0x23, 0xf1, 0x02,
-	0xb5, 0x52, 0x7b, 0xff, 0xda, 0x27, 0xea, 0x5f, 0xa3, 0x7b, 0x8f, 0x24, 0x74, 0x50, 0xc0, 0x9a,
-	0x83, 0xbe, 0x01, 0xf0, 0x82, 0x88, 0x0a, 0x46, 0x89, 0x59, 0xb5, 0xbd, 0xdf, 0x3d, 0x5d, 0xe1,
-	0x59, 0x82, 0x1f, 0x14, 0x70, 0x86, 0x8d, 0xbe, 0x86, 0xfa, 0x90, 0x07, 0xae, 0x17, 0x79, 0x3c,
-	0x50, 0xc9, 0xb0, 0xf7, 0xff, 0x73, 0x46, 0x30, 0x31, 0x7c, 0x50, 0xc0, 0x29, 0x17, 0x6d, 0x42,
-	0x29, 0xf4, 0x82, 0x0f, 0xad, 0xe6, 0xae, 0xd5, 0xad, 0x0d, 0x0a, 0x58, 0x8d, 0x50, 0x17, 0x1a,
-	0x13, 0x12, 0x86, 0x0e, 0x61, 0xcc, 0x19, 0x29, 0x7e, 0x6b, 0xdd, 0x00, 0xd6, 0xa4, 0xe1, 0x80,
-	0x31, 0x93, 0x91, 0x1b, 0xd0, 0x3c, 0x62, 0x7c, 0xf8, 0x21, 0x0b, 0x45, 0x06, 0x7a, 0x41, 0x59,
-	0x52, 0xec, 0x6d, 0xd8, 0x34, 0xdd, 0xc5, 0x11, 0x74, 0x4c, 0x3f, 0xc6, 0xf8, 0x92, 0x29, 0x80,
-	0x75, 0xdd, 0x6b, 0xb0, 0xb4, 0x19, 0xca, 0xff, 0x40, 0x4e, 0x3a, 0x21, 0xf1, 0x27, 0x8c, 0xc6,
-	0xf8, 0x0b, 0xbb, 0x56, 0xd7, 0x1a, 0x14, 0x70, 0x43, 0xf0, 0xd9, 0x3b, 0x65, 0x31, 0xe8, 0x2f,
-	0xa1, 0x95, 0x69, 0x2b, 0x79, 0x27, 0xf2, 0x00, 0xd6, 0x07, 0x05, 0xbc, 0x95, 0x76, 0x99, 0xac,
-	0xa3, 0x47, 0x70, 0x45, 0xdf, 0x04, 0x99, 0xd3, 0x9b, 0xe3, 0x57, 0x4c, 0x90, 0x6d, 0x0d, 0x4b,
-	0xce, 0x70, 0x56, 0xe4, 0x2d, 0x6c, 0x18, 0x11, 0xd5, 0x26, 0x63, 0x6a, 0x55, 0xed, 0xcf, 0xd5,
-	0x53, 0x6e, 0x21, 0x89, 0x96, 0x09, 0x18, 0xa6, 0x43, 0x23, 0xf9, 0x1d, 0x6c, 0xa7, 0x07, 0x35,
-	0xa7, 0x5a, 0x53, 0xaa, 0x9d, 0x65, 0xaa, 0xf9, 0x36, 0x31, 0x28, 0xe0, 0xcd, 0x28, 0x37, 0x63,
-	0xb4, 0x7b, 0x80, 0xf4, 0x29, 0xc9, 0x2d, 0xb4, 0x6e, 0x16, 0xda, 0x54, 0xb6, 0xec, 0xf2, 0x5e,
-	0x25, 0xf8, 0x6c, 0x1c, 0x0d, 0x15, 0xc7, 0xbf, 0x96, 0xc5, 0x91, 0xf6, 0x8c, 0x54, 0x2f, 0xe3,
-	0xff, 0x2b, 0xb8, 0xa4, 0xee, 0x48, 0x67, 0x22, 0x93, 0xcd, 0x67, 0x0e, 0x1f, 0x8d, 0x42, 0x1a,
-	0xc5, 0xc2, 0xb0, 0x6b, 0x75, 0xcb, 0xb2, 0x51, 0x2b, 0xd0, 0x1b, 0x2a, 0x30, 0x9f, 0xbd, 0x56,
-	0x08, 0xc3, 0x7f, 0x00, 0xed, 0x3c, 0x9f, 0x79, 0xbe, 0x97, 0xd0, 0x6d, 0x43, 0xdf, 0xce, 0xd0,
-	0x5f, 0x48, 0x80, 0x61, 0xf7, 0xe1, 0x4a, 0xca, 0x36, 0xdb, 0x96, 0x13, 0x58, 0x35, 0x02, 0x17,
-	0x63, 0x01, 0xbd, 0x59, 0x59, 0x8d, 0x7b, 0xb0, 0x13, 0x46, 0xc2, 0x9b, 0x98, 0x6e, 0x13, 0x09,
-	0x12, 0x84, 0x23, 0x2e, 0x7c, 0x2a, 0x5a, 0x6b, 0xe6, 0x10, 0x6c, 0x29, 0x80, 0xca, 0xc4, 0x61,
-	0x6a, 0x96, 0x4c, 0x32, 0x99, 0xb0, 0xb9, 0xa3, 0x6e, 0xf1, 0x1c, 0x73, 0x23, 0xae, 0x54, 0x05,
-	0x78, 0x21, 0xed, 0x19, 0x66, 0xfb, 0x21, 0x94, 0x55, 0x63, 0x41, 0x5f, 0x40, 0x55, 0x47, 0xaa,
-	0xef, 0x6a, 0x7b, 0xff, 0xca, 0xa9, 0x1d, 0x00, 0xc7, 0xe8, 0xf6, 0x13, 0x80, 0xb4, 0xb1, 0xfc,
-	0x73, 0x99, 0xdf, 0x2d, 0xa8, 0x27, 0x5d, 0x05, 0x0d, 0xa0, 0x39, 0x11, 0xd4, 0xf5, 0x86, 0x24,
-	0x4a, 0x4a, 0x43, 0x77, 0xc9, 0x33, 0xf4, 0x1a, 0x09, 0x2d, 0x29, 0x0b, 0x3b, 0x12, 0xd3, 0x44,
-	0x64, 0xe5, 0x3c, 0x22, 0x20, 0x19, 0x86, 0xff, 0x10, 0x56, 0x47, 0x84, 0x85, 0x89, 0x40, 0xf1,
-	0x3c, 0x02, 0xb6, 0xa2, 0xe8, 0x41, 0xbf, 0x06, 0x15, 0xcd, 0xed, 0xfc, 0x51, 0x86, 0xda, 0xcb,
-	0x69, 0x44, 0xd4, 0x12, 0x0f, 0xa0, 0x26, 0xcb, 0x53, 0x96, 0x83, 0x59, 0xda, 0xbf, 0x97, 0x89,
-	0xc6, 0xf8, 0xde, 0x3b, 0x1a, 0xc9, 0xa7, 0xdf, 0xa0, 0x80, 0xab, 0xa1, 0xfe, 0x44, 0xdf, 0x03,
-	0x72, 0x29, 0xa3, 0x32, 0x45, 0x82, 0xfb, 0xa6, 0xec, 0xcc, 0x12, 0x6f, 0x9e, 0x2a, 0xf6, 0x58,
-	0xd1, 0x9e, 0x0a, 0xee, 0xeb, 0x32, 0x94, 0x27, 0xca, 0x5d, 0x98, 0x5b, 0x94, 0xd7, 0xad, 0xce,
-	0x24, 0xe0, 0xbc, 0xf2, 0xfa, 0x65, 0x9d, 0x97, 0x37, 0xaf, 0xed, 0x43, 0x68, 0x64, 0xe5, 0x05,
-	0x9f, 0xa9, 0xde, 0x6d, 0xef, 0xdf, 0x38, 0xa7, 0x36, 0xe6, 0x33, 0x79, 0x85, 0xb8, 0xd9, 0x89,
-	0xf6, 0xcf, 0x16, 0x54, 0x4d, 0xaa, 0xce, 0x7e, 0x18, 0x5e, 0x87, 0xe6, 0x62, 0x9f, 0x36, 0x0f,
-	0xdd, 0xc6, 0x42, 0x63, 0x5e, 0xfa, 0xe2, 0x2e, 0x9e, 0xf1, 0xe2, 0x2e, 0x65, 0x5e, 0xdc, 0xed,
-	0x5f, 0x2c, 0x68, 0x2e, 0xa6, 0xfd, 0xb3, 0x46, 0x78, 0x00, 0x20, 0x23, 0xd1, 0xfd, 0xd4, 0x6c,
-	0xd3, 0x39, 0x1a, 0x3a, 0xae, 0x4b, 0x96, 0xfa, 0x6c, 0xdf, 0xc9, 0x86, 0x68, 0xb6, 0xe9, 0xac,
-	0x10, 0xdb, 0x0d, 0x58, 0xcb, 0xed, 0x49, 0x1f, 0xa0, 0xe6, 0x9b, 0xdd, 0xea, 0xfc, 0x6a, 0xc1,
-	0x06, 0xa6, 0xc4, 0x7d, 0xc9, 0x5d, 0x6f, 0x34, 0xff, 0x56, 0x78, 0x11, 0xc5, 0x53, 0x46, 0x3f,
-	0xeb, 0xc2, 0xaf, 0xc1, 0x2a, 0x99, 0x4c, 0x92, 0x57, 0x56, 0xf2, 0x26, 0xb7, 0xf5, 0xac, 0xea,
-	0x96, 0xe8, 0xbf, 0xd0, 0xf4, 0x82, 0xa1, 0xa0, 0x3e, 0x0d, 0x22, 0x87, 0xf8, 0x7c, 0x1a, 0x44,
-	0x6a, 0x7f, 0x8a, 0xf2, 0xea, 0x4f, 0x2c, 0x07, 0xca, 0xd0, 0xaf, 0x40, 0x49, 0x4c, 0x19, 0xed,
-	0xdf, 0x84, 0xed, 0x21, 0xf7, 0x97, 0xe4, 0xb0, 0xbf, 0xde, 0x37, 0x83, 0xc7, 0x24, 0x22, 0x6f,
-	0xe4, 0xcf, 0xea, 0x1b, 0xeb, 0xa8, 0xa2, 0xfe, 0x5a, 0xef, 0xfc, 0x1d, 0x00, 0x00, 0xff, 0xff,
-	0x07, 0x78, 0x0a, 0xae, 0xfe, 0x0e, 0x00, 0x00,
+	// 1378 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xdb, 0x6e, 0x1b, 0x37,
+	0x13, 0xd6, 0x5a, 0xb2, 0x0e, 0xb3, 0x76, 0x24, 0xd3, 0x27, 0x45, 0x49, 0xfe, 0x18, 0xca, 0x8f,
+	0x56, 0x49, 0x5b, 0x39, 0x71, 0x82, 0x36, 0x6d, 0x82, 0x22, 0x56, 0x0e, 0x55, 0x9a, 0x33, 0x63,
+	0xa4, 0x40, 0x80, 0x62, 0x4b, 0x6b, 0x29, 0x75, 0x11, 0xee, 0x52, 0xe5, 0xae, 0xac, 0xe8, 0x45,
+	0x7a, 0xdf, 0xe7, 0xe8, 0x5d, 0x5f, 0xa2, 0xaf, 0xd1, 0xcb, 0x5e, 0xf4, 0xa2, 0xe0, 0x61, 0x4f,
+	0xb2, 0x62, 0x1b, 0x45, 0xee, 0x96, 0x9c, 0xef, 0xfb, 0x66, 0x38, 0x1c, 0x0e, 0xb9, 0xf0, 0xc9,
+	0x88, 0xf3, 0x11, 0xa3, 0xbb, 0x87, 0xde, 0x28, 0x22, 0x87, 0x8c, 0xee, 0x1e, 0xdd, 0x48, 0xbe,
+	0x1d, 0x97, 0x44, 0xa4, 0x3b, 0x16, 0x3c, 0xe2, 0x08, 0x69, 0x5c, 0x37, 0xb6, 0x75, 0x8f, 0x6e,
+	0xb4, 0x5f, 0x40, 0x11, 0xf3, 0x29, 0x6a, 0x40, 0xf1, 0x1d, 0x9d, 0x35, 0xad, 0x1d, 0xab, 0xb3,
+	0x82, 0xe5, 0x27, 0xfa, 0x12, 0xaa, 0x43, 0xe2, 0x7b, 0xcc, 0xa3, 0x61, 0x73, 0x69, 0xa7, 0xd8,
+	0xb1, 0xf7, 0x5a, 0xdd, 0xe3, 0xfc, 0xee, 0x23, 0x89, 0x99, 0xe1, 0x04, 0xdb, 0xc6, 0x50, 0xd6,
+	0x73, 0x08, 0x41, 0x29, 0x20, 0x3e, 0x55, 0xa2, 0x35, 0xac, 0xbe, 0xd1, 0x2d, 0xa8, 0x0c, 0x38,
+	0x9b, 0xf8, 0xc1, 0x89, 0xa2, 0xf7, 0x15, 0x04, 0xc7, 0xd0, 0xf6, 0x1b, 0x28, 0xeb, 0x29, 0x74,
+	0x11, 0x6a, 0xbf, 0x4c, 0x08, 0xf3, 0x86, 0x1e, 0x15, 0x26, 0xda, 0x74, 0x02, 0x75, 0x61, 0x79,
+	0x40, 0x19, 0x8b, 0xb5, 0x9b, 0x0b, 0xb5, 0x29, 0x63, 0x58, 0xc3, 0xda, 0x0e, 0x94, 0xe4, 0x10,
+	0x5d, 0x85, 0x46, 0xe4, 0xf9, 0x34, 0x8c, 0x88, 0x3f, 0x76, 0x7c, 0x6f, 0x20, 0x78, 0xa8, 0xc4,
+	0x8b, 0xb8, 0x9e, 0xcc, 0x3f, 0x53, 0xd3, 0x68, 0x03, 0x96, 0x8f, 0x08, 0x9b, 0xd0, 0xe6, 0x92,
+	0x72, 0xae, 0x07, 0x68, 0x0b, 0xca, 0x8c, 0x1c, 0x52, 0x16, 0x36, 0x8b, 0x3b, 0xc5, 0x4e, 0x0d,
+	0x9b, 0x51, 0xfb, 0x1e, 0x54, 0x31, 0x9f, 0x62, 0x12, 0x8c, 0x28, 0xba, 0x00, 0xb5, 0x30, 0x22,
+	0x22, 0x72, 0x64, 0xa2, 0x35, 0xbb, 0xaa, 0x26, 0x9e, 0xd0, 0x19, 0xda, 0x86, 0x0a, 0x0d, 0x5c,
+	0x65, 0x2a, 0x2a, 0x53, 0x99, 0x06, 0xee, 0x13, 0x3a, 0x6b, 0xff, 0x04, 0x65, 0xcc, 0xa7, 0xaf,
+	0x69, 0x84, 0xce, 0x43, 0x55, 0xf0, 0xa9, 0x84, 0xc8, 0xe0, 0x8a, 0x9d, 0x15, 0x5c, 0x11, 0x7c,
+	0xfa, 0x84, 0xce, 0x42, 0x74, 0x07, 0x40, 0x9a, 0x84, 0xf4, 0x13, 0x2f, 0xfe, 0xe2, 0xa2, 0xc5,
+	0xc7, 0xc1, 0xe0, 0x9a, 0x30, 0x5f, 0x61, 0xfb, 0x8f, 0x25, 0xb0, 0x4d, 0xc2, 0x55, 0x9c, 0x97,
+	0xc1, 0x56, 0x9b, 0x39, 0x73, 0x32, 0xbb, 0x07, 0x7a, 0xea, 0xb9, 0xdc, 0xc3, 0xbb, 0x70, 0x5e,
+	0x2f, 0x24, 0x49, 0xbc, 0xe3, 0x05, 0x03, 0x36, 0x09, 0xbd, 0x23, 0x93, 0x96, 0x7e, 0x01, 0x6f,
+	0x2b, 0xc8, 0xab, 0x18, 0xf1, 0x38, 0x06, 0x2c, 0x62, 0xd3, 0xf7, 0x31, 0xbb, 0xb8, 0x98, 0xfd,
+	0x30, 0x06, 0xa0, 0xdb, 0xb0, 0x2d, 0xf3, 0xb4, 0xc8, 0x73, 0x49, 0x71, 0x2d, 0xbc, 0x49, 0x03,
+	0x77, 0x81, 0xdf, 0x63, 0xcc, 0xd4, 0xeb, 0xf2, 0x22, 0x66, 0xe2, 0xb3, 0xb7, 0x06, 0xf5, 0xb9,
+	0x88, 0x7b, 0x75, 0x58, 0xcd, 0x89, 0xb5, 0xdf, 0xc3, 0xb9, 0x83, 0xb8, 0x52, 0x74, 0x1a, 0x6f,
+	0xc1, 0x96, 0x66, 0x7d, 0xa0, 0xb2, 0x36, 0x94, 0xf5, 0x60, 0xae, 0xbc, 0xae, 0xc3, 0x86, 0x14,
+	0x3e, 0xc6, 0x59, 0x52, 0x1c, 0x44, 0x03, 0x77, 0x8e, 0xd1, 0xfe, 0xdb, 0x02, 0x78, 0x23, 0x8b,
+	0x30, 0x76, 0xbb, 0xa9, 0xdd, 0xaa, 0xc2, 0xcc, 0xa4, 0xc7, 0x32, 0xa9, 0x5d, 0x57, 0x66, 0xc5,
+	0x48, 0x93, 0x33, 0xc7, 0x4a, 0x53, 0xb3, 0x74, 0x9c, 0x95, 0x6e, 0xc6, 0x75, 0x58, 0x97, 0xc1,
+	0xce, 0x7b, 0x2a, 0x9a, 0x74, 0xae, 0xd1, 0xc0, 0x9d, 0xf3, 0x93, 0x63, 0xa4, 0x5e, 0x4a, 0xf3,
+	0x8c, 0x34, 0xf9, 0xab, 0x60, 0x67, 0x22, 0xeb, 0xd9, 0x50, 0x4b, 0x04, 0xda, 0xff, 0xd8, 0x50,
+	0xc3, 0x7c, 0xfa, 0xc8, 0x63, 0x11, 0x15, 0xe8, 0x0e, 0x2c, 0x0f, 0x7e, 0x26, 0x5e, 0xa0, 0x56,
+	0x6a, 0xef, 0x5d, 0xf9, 0x40, 0xfd, 0x6b, 0x74, 0xf7, 0xbe, 0x84, 0xf6, 0x0b, 0x58, 0x73, 0xd0,
+	0xf7, 0x00, 0x5e, 0x10, 0x51, 0xc1, 0x28, 0x31, 0xab, 0xb6, 0xf7, 0x3a, 0x27, 0x2b, 0x3c, 0x4e,
+	0xf0, 0xfd, 0x02, 0xce, 0xb0, 0xd1, 0x77, 0x50, 0x1b, 0xf0, 0xc0, 0xf5, 0x22, 0x8f, 0x07, 0x2a,
+	0x19, 0xf6, 0xde, 0xa7, 0xa7, 0x04, 0x13, 0xc3, 0xfb, 0x05, 0x9c, 0x72, 0xd1, 0x06, 0x94, 0x42,
+	0x2f, 0x78, 0xd7, 0x6c, 0xec, 0x58, 0x9d, 0x6a, 0xbf, 0x80, 0xd5, 0x08, 0x75, 0xa0, 0x3e, 0x26,
+	0x61, 0xe8, 0x10, 0xc6, 0x9c, 0xa1, 0xe2, 0x37, 0xd7, 0x0c, 0x60, 0x55, 0x1a, 0xf6, 0x19, 0x33,
+	0x19, 0xb9, 0x06, 0x8d, 0x43, 0xc6, 0x07, 0xef, 0xb2, 0x50, 0x64, 0xa0, 0xe7, 0x94, 0x25, 0xc5,
+	0xde, 0x80, 0x0d, 0xd3, 0x5d, 0x1c, 0x41, 0x47, 0xf4, 0x7d, 0x8c, 0x2f, 0x99, 0x02, 0x58, 0xd3,
+	0xbd, 0x06, 0x4b, 0x9b, 0xa1, 0x7c, 0x0e, 0x72, 0xd2, 0x09, 0x89, 0x3f, 0x66, 0x34, 0xc6, 0x9f,
+	0xdb, 0xb1, 0x3a, 0x56, 0xbf, 0x80, 0xeb, 0x82, 0x4f, 0x5f, 0x2b, 0x8b, 0x41, 0x7f, 0x0d, 0xcd,
+	0x4c, 0x5b, 0xc9, 0x3b, 0x91, 0x07, 0xb0, 0xd6, 0x2f, 0xe0, 0xcd, 0xb4, 0xcb, 0x64, 0x1d, 0xdd,
+	0x87, 0x4b, 0xfa, 0x26, 0xc8, 0x9c, 0xde, 0x1c, 0xbf, 0x6c, 0x82, 0x6c, 0x69, 0x58, 0x72, 0x86,
+	0xb3, 0x22, 0xaf, 0x60, 0xdd, 0x88, 0xa8, 0x36, 0x19, 0x53, 0x2b, 0x6a, 0x7f, 0x2e, 0x9f, 0x70,
+	0x0b, 0x49, 0xb4, 0x4c, 0xc0, 0x20, 0x1d, 0x1a, 0xc9, 0xb7, 0xb0, 0x95, 0x1e, 0xd4, 0x9c, 0x6a,
+	0x55, 0xa9, 0xb6, 0x17, 0xa9, 0xe6, 0xdb, 0x44, 0xbf, 0x80, 0x37, 0xa2, 0xdc, 0x8c, 0xd1, 0xee,
+	0x02, 0xd2, 0xa7, 0x24, 0xb7, 0xd0, 0x9a, 0x59, 0x68, 0x43, 0xd9, 0xb2, 0xcb, 0x7b, 0x9e, 0xe0,
+	0xb3, 0x71, 0xd4, 0x55, 0x1c, 0xff, 0x5b, 0x14, 0x47, 0xda, 0x33, 0x52, 0xbd, 0x8c, 0xff, 0x6f,
+	0xe1, 0x82, 0xba, 0x23, 0x9d, 0xb1, 0x4c, 0x36, 0x9f, 0x3a, 0x7c, 0x38, 0x0c, 0x69, 0x14, 0x0b,
+	0xc3, 0x8e, 0xd5, 0x59, 0x96, 0x8d, 0x5a, 0x81, 0x5e, 0x52, 0x81, 0xf9, 0xf4, 0x85, 0x42, 0x18,
+	0xfe, 0x5d, 0x68, 0xe5, 0xf9, 0xcc, 0xf3, 0xbd, 0x84, 0x6e, 0x1b, 0xfa, 0x56, 0x86, 0xfe, 0x54,
+	0x02, 0x0c, 0xbb, 0x07, 0x97, 0x52, 0xb6, 0xd9, 0xb6, 0x9c, 0xc0, 0x8a, 0x11, 0x38, 0x1f, 0x0b,
+	0xe8, 0xcd, 0xca, 0x6a, 0xdc, 0x86, 0xed, 0x30, 0x12, 0xde, 0xd8, 0x74, 0x9b, 0x48, 0x90, 0x20,
+	0x1c, 0x72, 0xe1, 0x53, 0xd1, 0x5c, 0x35, 0x87, 0x60, 0x53, 0x01, 0x54, 0x26, 0x0e, 0x52, 0xb3,
+	0x64, 0x92, 0xf1, 0x98, 0xcd, 0x1c, 0x75, 0x8b, 0xe7, 0x98, 0xeb, 0x71, 0xa5, 0x2a, 0xc0, 0x53,
+	0x69, 0xcf, 0x30, 0x5b, 0xf7, 0x60, 0x59, 0x35, 0x16, 0xf4, 0x15, 0x54, 0x74, 0xa4, 0xfa, 0xae,
+	0xb6, 0xf7, 0x2e, 0x9d, 0xd8, 0x01, 0x70, 0x8c, 0x6e, 0x3d, 0x04, 0x48, 0x1b, 0xcb, 0x7f, 0x97,
+	0xf9, 0xd3, 0x82, 0x5a, 0xd2, 0x55, 0x50, 0x1f, 0x1a, 0x63, 0x41, 0x5d, 0x6f, 0x40, 0xa2, 0xa4,
+	0x34, 0x74, 0x97, 0x3c, 0x45, 0xaf, 0x9e, 0xd0, 0x92, 0xb2, 0xb0, 0x23, 0x31, 0x49, 0x44, 0x96,
+	0xce, 0x22, 0x02, 0x92, 0x61, 0xf8, 0xf7, 0x60, 0x65, 0x48, 0x58, 0x98, 0x08, 0x14, 0xcf, 0x22,
+	0x60, 0x2b, 0x8a, 0x1e, 0xf4, 0xaa, 0x50, 0xd6, 0xdc, 0xf6, 0x5f, 0xcb, 0x50, 0x7d, 0x36, 0x89,
+	0x88, 0x5a, 0xe2, 0x3e, 0x54, 0x65, 0x79, 0xca, 0x72, 0x30, 0x4b, 0xfb, 0xff, 0x22, 0xd1, 0x18,
+	0xdf, 0x7d, 0x4d, 0x23, 0xf9, 0xf4, 0xeb, 0x17, 0x70, 0x25, 0xd4, 0x9f, 0xe8, 0x47, 0x40, 0x2e,
+	0x65, 0x54, 0xa6, 0x48, 0x70, 0xdf, 0x94, 0x9d, 0x59, 0xe2, 0x17, 0x27, 0x8a, 0x3d, 0x50, 0xb4,
+	0x47, 0x82, 0xfb, 0xba, 0x0c, 0xe5, 0x89, 0x72, 0xe7, 0xe6, 0xe6, 0xe5, 0x75, 0xab, 0x33, 0x09,
+	0x38, 0xab, 0xbc, 0x7e, 0x59, 0xe7, 0xe5, 0xcd, 0x6b, 0xfb, 0x00, 0xea, 0x59, 0x79, 0xc1, 0xa7,
+	0xaa, 0x77, 0xdb, 0x7b, 0xd7, 0xce, 0xa8, 0x8d, 0xf9, 0x54, 0x5e, 0x21, 0x6e, 0x76, 0xa2, 0xf5,
+	0xab, 0x05, 0x15, 0x93, 0xaa, 0xd3, 0x1f, 0x86, 0x57, 0xa1, 0x31, 0xdf, 0xa7, 0xcd, 0x43, 0xb7,
+	0x3e, 0xd7, 0x98, 0x17, 0xbe, 0xb8, 0x8b, 0xa7, 0xbc, 0xb8, 0x4b, 0x99, 0x17, 0x77, 0xeb, 0x37,
+	0x0b, 0x1a, 0xf3, 0x69, 0xff, 0xa8, 0x11, 0xee, 0x03, 0xc8, 0x48, 0x74, 0x3f, 0x35, 0xdb, 0x74,
+	0x86, 0x86, 0x8e, 0x6b, 0x92, 0xa5, 0x3e, 0x5b, 0x37, 0xb3, 0x21, 0x9a, 0x6d, 0x3a, 0x2d, 0xc4,
+	0x56, 0x1d, 0x56, 0x73, 0x7b, 0xd2, 0x03, 0xa8, 0xfa, 0x66, 0xb7, 0xda, 0xbf, 0x5b, 0xb0, 0x8e,
+	0x29, 0x71, 0x9f, 0x71, 0xd7, 0x1b, 0xce, 0x7e, 0x10, 0x5e, 0x44, 0xf1, 0x84, 0xd1, 0x8f, 0xba,
+	0xf0, 0x2b, 0xb0, 0x42, 0xc6, 0xe3, 0xe4, 0x95, 0x95, 0xbc, 0xc9, 0x6d, 0x3d, 0xab, 0xba, 0x25,
+	0xfa, 0x0c, 0x1a, 0x5e, 0x30, 0x10, 0xd4, 0xa7, 0x41, 0xe4, 0x10, 0x9f, 0x4f, 0x82, 0x48, 0xed,
+	0x4f, 0x51, 0x5e, 0xfd, 0x89, 0x65, 0x5f, 0x19, 0x7a, 0x65, 0x28, 0x89, 0x09, 0xa3, 0x3d, 0x0f,
+	0xb6, 0x06, 0xdc, 0x5f, 0x90, 0xc3, 0xde, 0x5a, 0xcf, 0x0c, 0x1e, 0x90, 0x88, 0xbc, 0x94, 0x3f,
+	0xab, 0x2f, 0xad, 0xb7, 0xdf, 0x18, 0xe0, 0x88, 0x33, 0x12, 0x8c, 0xba, 0x5c, 0x8c, 0x76, 0x47,
+	0x34, 0x50, 0xbf, 0xb2, 0xbb, 0xda, 0x44, 0xc6, 0x5e, 0x98, 0xfd, 0xeb, 0xbd, 0x13, 0x7f, 0x1f,
+	0x96, 0x15, 0xec, 0xe6, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x3e, 0x54, 0x66, 0x7c, 0x1b, 0x0f,
+	0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v1/bigtable_data.proto b/googleapis/bigtable/v1/bigtable_data.proto
deleted file mode 100644
index 95fbdca16f56b74c3957d038d017985fafd929f7..0000000000000000000000000000000000000000
--- a/googleapis/bigtable/v1/bigtable_data.proto
+++ /dev/null
@@ -1,515 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.bigtable.v1;
-
-option java_multiple_files = true;
-option java_outer_classname = "BigtableDataProto";
-option java_package = "com.google.bigtable.v1";
-
-
-// Specifies the complete (requested) contents of a single row of a table.
-// Rows which exceed 256MiB in size cannot be read in full.
-message Row {
-  // The unique key which identifies this row within its table. This is the same
-  // key that's used to identify the row in, for example, a MutateRowRequest.
-  // May contain any non-empty byte string up to 4KiB in length.
-  bytes key = 1;
-
-  // May be empty, but only if the entire row is empty.
-  // The mutual ordering of column families is not specified.
-  repeated Family families = 2;
-}
-
-// Specifies (some of) the contents of a single row/column family of a table.
-message Family {
-  // The unique key which identifies this family within its row. This is the
-  // same key that's used to identify the family in, for example, a RowFilter
-  // which sets its "family_name_regex_filter" field.
-  // Must match [-_.a-zA-Z0-9]+, except that AggregatingRowProcessors may
-  // produce cells in a sentinel family with an empty name.
-  // Must be no greater than 64 characters in length.
-  string name = 1;
-
-  // Must not be empty. Sorted in order of increasing "qualifier".
-  repeated Column columns = 2;
-}
-
-// Specifies (some of) the contents of a single row/column of a table.
-message Column {
-  // The unique key which identifies this column within its family. This is the
-  // same key that's used to identify the column in, for example, a RowFilter
-  // which sets its "column_qualifier_regex_filter" field.
-  // May contain any byte string, including the empty string, up to 16kiB in
-  // length.
-  bytes qualifier = 1;
-
-  // Must not be empty. Sorted in order of decreasing "timestamp_micros".
-  repeated Cell cells = 2;
-}
-
-// Specifies (some of) the contents of a single row/column/timestamp of a table.
-message Cell {
-  // The cell's stored timestamp, which also uniquely identifies it within
-  // its column.
-  // Values are always expressed in microseconds, but individual tables may set
-  // a coarser "granularity" to further restrict the allowed values. For
-  // example, a table which specifies millisecond granularity will only allow
-  // values of "timestamp_micros" which are multiples of 1000.
-  int64 timestamp_micros = 1;
-
-  // The value stored in the cell.
-  // May contain any byte string, including the empty string, up to 100MiB in
-  // length.
-  bytes value = 2;
-
-  // Labels applied to the cell by a [RowFilter][google.bigtable.v1.RowFilter].
-  repeated string labels = 3;
-}
-
-// Specifies a contiguous range of rows.
-message RowRange {
-  // Inclusive lower bound. If left empty, interpreted as the empty string.
-  bytes start_key = 2;
-
-  // Exclusive upper bound. If left empty, interpreted as infinity.
-  bytes end_key = 3;
-}
-
-// Specifies a non-contiguous set of rows.
-message RowSet {
-  // Single rows included in the set.
-  repeated bytes row_keys = 1;
-
-  // Contiguous row ranges included in the set.
-  repeated RowRange row_ranges = 2;
-}
-
-// Specifies a contiguous range of columns within a single column family.
-// The range spans from <column_family>:<start_qualifier> to
-// <column_family>:<end_qualifier>, where both bounds can be either inclusive or
-// exclusive.
-message ColumnRange {
-  // The name of the column family within which this range falls.
-  string family_name = 1;
-
-  // The column qualifier at which to start the range (within 'column_family').
-  // If neither field is set, interpreted as the empty string, inclusive.
-  oneof start_qualifier {
-    // Used when giving an inclusive lower bound for the range.
-    bytes start_qualifier_inclusive = 2;
-
-    // Used when giving an exclusive lower bound for the range.
-    bytes start_qualifier_exclusive = 3;
-  }
-
-  // The column qualifier at which to end the range (within 'column_family').
-  // If neither field is set, interpreted as the infinite string, exclusive.
-  oneof end_qualifier {
-    // Used when giving an inclusive upper bound for the range.
-    bytes end_qualifier_inclusive = 4;
-
-    // Used when giving an exclusive upper bound for the range.
-    bytes end_qualifier_exclusive = 5;
-  }
-}
-
-// Specified a contiguous range of microsecond timestamps.
-message TimestampRange {
-  // Inclusive lower bound. If left empty, interpreted as 0.
-  int64 start_timestamp_micros = 1;
-
-  // Exclusive upper bound. If left empty, interpreted as infinity.
-  int64 end_timestamp_micros = 2;
-}
-
-// Specifies a contiguous range of raw byte values.
-message ValueRange {
-  // The value at which to start the range.
-  // If neither field is set, interpreted as the empty string, inclusive.
-  oneof start_value {
-    // Used when giving an inclusive lower bound for the range.
-    bytes start_value_inclusive = 1;
-
-    // Used when giving an exclusive lower bound for the range.
-    bytes start_value_exclusive = 2;
-  }
-
-  // The value at which to end the range.
-  // If neither field is set, interpreted as the infinite string, exclusive.
-  oneof end_value {
-    // Used when giving an inclusive upper bound for the range.
-    bytes end_value_inclusive = 3;
-
-    // Used when giving an exclusive upper bound for the range.
-    bytes end_value_exclusive = 4;
-  }
-}
-
-// Takes a row as input and produces an alternate view of the row based on
-// specified rules. For example, a RowFilter might trim down a row to include
-// just the cells from columns matching a given regular expression, or might
-// return all the cells of a row but not their values. More complicated filters
-// can be composed out of these components to express requests such as, "within
-// every column of a particular family, give just the two most recent cells
-// which are older than timestamp X."
-//
-// There are two broad categories of RowFilters (true filters and transformers),
-// as well as two ways to compose simple filters into more complex ones
-// (chains and interleaves). They work as follows:
-//
-// * True filters alter the input row by excluding some of its cells wholesale
-// from the output row. An example of a true filter is the "value_regex_filter",
-// which excludes cells whose values don't match the specified pattern. All
-// regex true filters use RE2 syntax (https://github.com/google/re2/wiki/Syntax)
-// in raw byte mode (RE2::Latin1), and are evaluated as full matches. An
-// important point to keep in mind is that RE2(.) is equivalent by default to
-// RE2([^\n]), meaning that it does not match newlines. When attempting to match
-// an arbitrary byte, you should therefore use the escape sequence '\C', which
-// may need to be further escaped as '\\C' in your client language.
-//
-// * Transformers alter the input row by changing the values of some of its
-// cells in the output, without excluding them completely. Currently, the only
-// supported transformer is the "strip_value_transformer", which replaces every
-// cell's value with the empty string.
-//
-// * Chains and interleaves are described in more detail in the
-// RowFilter.Chain and RowFilter.Interleave documentation.
-//
-// The total serialized size of a RowFilter message must not
-// exceed 4096 bytes, and RowFilters may not be nested within each other
-// (in Chains or Interleaves) to a depth of more than 20.
-message RowFilter {
-  // A RowFilter which sends rows through several RowFilters in sequence.
-  message Chain {
-    // The elements of "filters" are chained together to process the input row:
-    // in row -> f(0) -> intermediate row -> f(1) -> ... -> f(N) -> out row
-    // The full chain is executed atomically.
-    repeated RowFilter filters = 1;
-  }
-
-  // A RowFilter which sends each row to each of several component
-  // RowFilters and interleaves the results.
-  message Interleave {
-    // The elements of "filters" all process a copy of the input row, and the
-    // results are pooled, sorted, and combined into a single output row.
-    // If multiple cells are produced with the same column and timestamp,
-    // they will all appear in the output row in an unspecified mutual order.
-    // Consider the following example, with three filters:
-    //
-    //                              input row
-    //                                  |
-    //        -----------------------------------------------------
-    //        |                         |                         |
-    //       f(0)                      f(1)                      f(2)
-    //        |                         |                         |
-    // 1: foo,bar,10,x             foo,bar,10,z              far,bar,7,a
-    // 2: foo,blah,11,z            far,blah,5,x              far,blah,5,x
-    //        |                         |                         |
-    //        -----------------------------------------------------
-    //                                  |
-    // 1:                        foo,bar,10,z     // could have switched with #2
-    // 2:                        foo,bar,10,x     // could have switched with #1
-    // 3:                        foo,blah,11,z
-    // 4:                        far,bar,7,a
-    // 5:                        far,blah,5,x     // identical to #6
-    // 6:                        far,blah,5,x     // identical to #5
-    // All interleaved filters are executed atomically.
-    repeated RowFilter filters = 1;
-  }
-
-  // A RowFilter which evaluates one of two possible RowFilters, depending on
-  // whether or not a predicate RowFilter outputs any cells from the input row.
-  //
-  // IMPORTANT NOTE: The predicate filter does not execute atomically with the
-  // true and false filters, which may lead to inconsistent or unexpected
-  // results. Additionally, Condition filters have poor performance, especially
-  // when filters are set for the false condition.
-  message Condition {
-    // If "predicate_filter" outputs any cells, then "true_filter" will be
-    // evaluated on the input row. Otherwise, "false_filter" will be evaluated.
-    RowFilter predicate_filter = 1;
-
-    // The filter to apply to the input row if "predicate_filter" returns any
-    // results. If not provided, no results will be returned in the true case.
-    RowFilter true_filter = 2;
-
-    // The filter to apply to the input row if "predicate_filter" does not
-    // return any results. If not provided, no results will be returned in the
-    // false case.
-    RowFilter false_filter = 3;
-  }
-
-  // Which of the possible RowFilter types to apply. If none are set, this
-  // RowFilter returns all cells in the input row.
-  oneof filter {
-    // Applies several RowFilters to the data in sequence, progressively
-    // narrowing the results.
-    Chain chain = 1;
-
-    // Applies several RowFilters to the data in parallel and combines the
-    // results.
-    Interleave interleave = 2;
-
-    // Applies one of two possible RowFilters to the data based on the output of
-    // a predicate RowFilter.
-    Condition condition = 3;
-
-    // ADVANCED USE ONLY.
-    // Hook for introspection into the RowFilter. Outputs all cells directly to
-    // the output of the read rather than to any parent filter. Consider the
-    // following example:
-    //
-    // Chain(
-    //   FamilyRegex("A"),
-    //   Interleave(
-    //     All(),
-    //     Chain(Label("foo"), Sink())
-    //   ),
-    //   QualifierRegex("B")
-    // )
-    //
-    //                         A,A,1,w
-    //                         A,B,2,x
-    //                         B,B,4,z
-    //                            |
-    //                     FamilyRegex("A")
-    //                            |
-    //                         A,A,1,w
-    //                         A,B,2,x
-    //                            |
-    //               +------------+-------------+
-    //               |                          |
-    //             All()                    Label(foo)
-    //               |                          |
-    //            A,A,1,w              A,A,1,w,labels:[foo]
-    //            A,B,2,x              A,B,2,x,labels:[foo]
-    //               |                          |
-    //               |                        Sink() --------------+
-    //               |                          |                  |
-    //               +------------+      x------+          A,A,1,w,labels:[foo]
-    //                            |                        A,B,2,x,labels:[foo]
-    //                         A,A,1,w                             |
-    //                         A,B,2,x                             |
-    //                            |                                |
-    //                    QualifierRegex("B")                      |
-    //                            |                                |
-    //                         A,B,2,x                             |
-    //                            |                                |
-    //                            +--------------------------------+
-    //                            |
-    //                         A,A,1,w,labels:[foo]
-    //                         A,B,2,x,labels:[foo]  // could be switched
-    //                         A,B,2,x               // could be switched
-    //
-    // Despite being excluded by the qualifier filter, a copy of every cell
-    // that reaches the sink is present in the final result.
-    //
-    // As with an [Interleave][google.bigtable.v1.RowFilter.Interleave],
-    // duplicate cells are possible, and appear in an unspecified mutual order.
-    // In this case we have a duplicate with column "A:B" and timestamp 2,
-    // because one copy passed through the all filter while the other was
-    // passed through the label and sink. Note that one copy has label "foo",
-    // while the other does not.
-    //
-    // Cannot be used within the `predicate_filter`, `true_filter`, or
-    // `false_filter` of a [Condition][google.bigtable.v1.RowFilter.Condition].
-    bool sink = 16;
-
-    // Matches all cells, regardless of input. Functionally equivalent to
-    // leaving `filter` unset, but included for completeness.
-    bool pass_all_filter = 17;
-
-    // Does not match any cells, regardless of input. Useful for temporarily
-    // disabling just part of a filter.
-    bool block_all_filter = 18;
-
-    // Matches only cells from rows whose keys satisfy the given RE2 regex. In
-    // other words, passes through the entire row when the key matches, and
-    // otherwise produces an empty row.
-    // Note that, since row keys can contain arbitrary bytes, the '\C' escape
-    // sequence must be used if a true wildcard is desired. The '.' character
-    // will not match the new line character '\n', which may be present in a
-    // binary key.
-    bytes row_key_regex_filter = 4;
-
-    // Matches all cells from a row with probability p, and matches no cells
-    // from the row with probability 1-p.
-    double row_sample_filter = 14;
-
-    // Matches only cells from columns whose families satisfy the given RE2
-    // regex. For technical reasons, the regex must not contain the ':'
-    // character, even if it is not being used as a literal.
-    // Note that, since column families cannot contain the new line character
-    // '\n', it is sufficient to use '.' as a full wildcard when matching
-    // column family names.
-    string family_name_regex_filter = 5;
-
-    // Matches only cells from columns whose qualifiers satisfy the given RE2
-    // regex.
-    // Note that, since column qualifiers can contain arbitrary bytes, the '\C'
-    // escape sequence must be used if a true wildcard is desired. The '.'
-    // character will not match the new line character '\n', which may be
-    // present in a binary qualifier.
-    bytes column_qualifier_regex_filter = 6;
-
-    // Matches only cells from columns within the given range.
-    ColumnRange column_range_filter = 7;
-
-    // Matches only cells with timestamps within the given range.
-    TimestampRange timestamp_range_filter = 8;
-
-    // Matches only cells with values that satisfy the given regular expression.
-    // Note that, since cell values can contain arbitrary bytes, the '\C' escape
-    // sequence must be used if a true wildcard is desired. The '.' character
-    // will not match the new line character '\n', which may be present in a
-    // binary value.
-    bytes value_regex_filter = 9;
-
-    // Matches only cells with values that fall within the given range.
-    ValueRange value_range_filter = 15;
-
-    // Skips the first N cells of each row, matching all subsequent cells.
-    // If duplicate cells are present, as is possible when using an Interleave,
-    // each copy of the cell is counted separately.
-    int32 cells_per_row_offset_filter = 10;
-
-    // Matches only the first N cells of each row.
-    // If duplicate cells are present, as is possible when using an Interleave,
-    // each copy of the cell is counted separately.
-    int32 cells_per_row_limit_filter = 11;
-
-    // Matches only the most recent N cells within each column. For example,
-    // if N=2, this filter would match column "foo:bar" at timestamps 10 and 9,
-    // skip all earlier cells in "foo:bar", and then begin matching again in
-    // column "foo:bar2".
-    // If duplicate cells are present, as is possible when using an Interleave,
-    // each copy of the cell is counted separately.
-    int32 cells_per_column_limit_filter = 12;
-
-    // Replaces each cell's value with the empty string.
-    bool strip_value_transformer = 13;
-
-    // Applies the given label to all cells in the output row. This allows
-    // the client to determine which results were produced from which part of
-    // the filter.
-    //
-    // Values must be at most 15 characters in length, and match the RE2
-    // pattern [a-z0-9\\-]+
-    //
-    // Due to a technical limitation, it is not currently possible to apply
-    // multiple labels to a cell. As a result, a Chain may have no more than
-    // one sub-filter which contains a apply_label_transformer. It is okay for
-    // an Interleave to contain multiple apply_label_transformers, as they will
-    // be applied to separate copies of the input. This may be relaxed in the
-    // future.
-    string apply_label_transformer = 19;
-  }
-}
-
-// Specifies a particular change to be made to the contents of a row.
-message Mutation {
-  // A Mutation which sets the value of the specified cell.
-  message SetCell {
-    // The name of the family into which new data should be written.
-    // Must match [-_.a-zA-Z0-9]+
-    string family_name = 1;
-
-    // The qualifier of the column into which new data should be written.
-    // Can be any byte string, including the empty string.
-    bytes column_qualifier = 2;
-
-    // The timestamp of the cell into which new data should be written.
-    // Use -1 for current Bigtable server time.
-    // Otherwise, the client should set this value itself, noting that the
-    // default value is a timestamp of zero if the field is left unspecified.
-    // Values must match the "granularity" of the table (e.g. micros, millis).
-    int64 timestamp_micros = 3;
-
-    // The value to be written into the specified cell.
-    bytes value = 4;
-  }
-
-  // A Mutation which deletes cells from the specified column, optionally
-  // restricting the deletions to a given timestamp range.
-  message DeleteFromColumn {
-    // The name of the family from which cells should be deleted.
-    // Must match [-_.a-zA-Z0-9]+
-    string family_name = 1;
-
-    // The qualifier of the column from which cells should be deleted.
-    // Can be any byte string, including the empty string.
-    bytes column_qualifier = 2;
-
-    // The range of timestamps within which cells should be deleted.
-    TimestampRange time_range = 3;
-  }
-
-  // A Mutation which deletes all cells from the specified column family.
-  message DeleteFromFamily {
-    // The name of the family from which cells should be deleted.
-    // Must match [-_.a-zA-Z0-9]+
-    string family_name = 1;
-  }
-
-  // A Mutation which deletes all cells from the containing row.
-  message DeleteFromRow {
-
-  }
-
-  // Which of the possible Mutation types to apply.
-  oneof mutation {
-    // Set a cell's value.
-    SetCell set_cell = 1;
-
-    // Deletes cells from a column.
-    DeleteFromColumn delete_from_column = 2;
-
-    // Deletes cells from a column family.
-    DeleteFromFamily delete_from_family = 3;
-
-    // Deletes cells from the entire row.
-    DeleteFromRow delete_from_row = 4;
-  }
-}
-
-// Specifies an atomic read/modify/write operation on the latest value of the
-// specified column.
-message ReadModifyWriteRule {
-  // The name of the family to which the read/modify/write should be applied.
-  // Must match [-_.a-zA-Z0-9]+
-  string family_name = 1;
-
-  // The qualifier of the column to which the read/modify/write should be
-  // applied.
-  // Can be any byte string, including the empty string.
-  bytes column_qualifier = 2;
-
-  // The rule used to determine the column's new latest value from its current
-  // latest value.
-  oneof rule {
-    // Rule specifying that "append_value" be appended to the existing value.
-    // If the targeted cell is unset, it will be treated as containing the
-    // empty string.
-    bytes append_value = 3;
-
-    // Rule specifying that "increment_amount" be added to the existing value.
-    // If the targeted cell is unset, it will be treated as containing a zero.
-    // Otherwise, the targeted cell must contain an 8-byte value (interpreted
-    // as a 64-bit big-endian signed integer), or the entire request will fail.
-    int64 increment_amount = 4;
-  }
-}
diff --git a/googleapis/bigtable/v1/bigtable_service.pb.go b/googleapis/bigtable/v1/bigtable_service.pb.go
index 7f21ab96cce14793df288e347053de48c79f4d2f..dac6f4ab15040bc2d82321a56e42895df2a3af3e 100644
--- a/googleapis/bigtable/v1/bigtable_service.pb.go
+++ b/googleapis/bigtable/v1/bigtable_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service.proto
+// source: google/bigtable/v1/bigtable_service.proto
 // DO NOT EDIT!
 
-package google_bigtable_v1 // import "google.golang.org/genproto/googleapis/bigtable/v1"
+package bigtable
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
 
 import (
@@ -345,47 +345,44 @@ var _BigtableService_serviceDesc = grpc.ServiceDesc{
 			ServerStreams: true,
 		},
 	},
-	Metadata: "google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service.proto", fileDescriptor2)
-}
-
-var fileDescriptor2 = []byte{
-	// 536 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x94, 0x4f, 0x6f, 0xd3, 0x30,
-	0x18, 0xc6, 0x65, 0x0e, 0x68, 0x58, 0x42, 0x08, 0x4b, 0x0c, 0xa9, 0xc7, 0xf0, 0x47, 0x50, 0xb1,
-	0x78, 0x63, 0x9c, 0x2a, 0x71, 0x58, 0xd1, 0x18, 0x13, 0x54, 0x8c, 0x4e, 0xfc, 0x11, 0x1c, 0x8a,
-	0x9b, 0xbe, 0xf5, 0xc2, 0x1a, 0xbf, 0xc1, 0x76, 0x1b, 0x85, 0x69, 0x17, 0x4e, 0xdc, 0xf9, 0x08,
-	0x88, 0x0b, 0x5f, 0x80, 0x23, 0xdf, 0x01, 0xce, 0xdc, 0xf8, 0x20, 0xc8, 0x4e, 0x52, 0x54, 0x16,
-	0x46, 0xb5, 0xee, 0x92, 0x58, 0x7a, 0x9f, 0x3c, 0xef, 0xef, 0x79, 0x6d, 0x87, 0x3e, 0x90, 0x88,
-	0x72, 0x04, 0xa1, 0xc4, 0x91, 0x50, 0x32, 0x44, 0x2d, 0xb9, 0x04, 0x95, 0x6a, 0xb4, 0xc8, 0x8b,
-	0x92, 0x48, 0x63, 0xc3, 0xfb, 0xb1, 0xb4, 0xa2, 0x3f, 0x02, 0x3e, 0x59, 0x9b, 0xae, 0x7b, 0x06,
-	0xf4, 0x24, 0x8e, 0x20, 0xf4, 0x6a, 0xc6, 0x4a, 0xa7, 0xaa, 0x1c, 0x4e, 0xd6, 0x1a, 0xdb, 0xf3,
-	0xb9, 0x8b, 0x34, 0xe6, 0xa5, 0x59, 0x84, 0x6a, 0x18, 0x4b, 0x2e, 0x94, 0x42, 0x2b, 0x6c, 0x8c,
-	0xca, 0x14, 0xf6, 0x8d, 0xcd, 0x05, 0x40, 0x07, 0xc2, 0x8a, 0xd2, 0xe6, 0xc9, 0xe2, 0x79, 0x7b,
-	0x09, 0x18, 0x23, 0x24, 0x54, 0x64, 0xeb, 0x32, 0xb6, 0x7b, 0xe3, 0x7e, 0x18, 0x61, 0xc2, 0x0b,
-	0x5b, 0xee, 0x0b, 0xfd, 0xf1, 0x90, 0xa7, 0x36, 0x4f, 0xc1, 0x70, 0x48, 0x52, 0x9b, 0x17, 0xcf,
-	0xe2, 0xa3, 0xdb, 0x3f, 0x97, 0xe8, 0x85, 0x76, 0x69, 0xbc, 0x5b, 0xf8, 0xb2, 0xcf, 0x84, 0x2e,
-	0x75, 0x41, 0x0c, 0xba, 0x98, 0x19, 0x76, 0x25, 0x3c, 0x3a, 0xcf, 0xb0, 0xaa, 0x76, 0xe1, 0xed,
-	0x18, 0x8c, 0x6d, 0x5c, 0x3d, 0x5e, 0x64, 0x52, 0x54, 0x06, 0x82, 0x47, 0xef, 0x7f, 0xfc, 0xfa,
-	0x78, 0xe6, 0x7e, 0xb0, 0xe1, 0xd2, 0x1c, 0x14, 0x59, 0x94, 0x48, 0xe0, 0x6e, 0xaa, 0xf1, 0x0d,
-	0x44, 0xd6, 0xf0, 0x26, 0x7f, 0x87, 0x0a, 0xdc, 0x3b, 0x1a, 0x8d, 0x8d, 0x05, 0xed, 0x96, 0x5e,
-	0x68, 0x78, 0xf3, 0x90, 0x6b, 0xcc, 0x4c, 0x4b, 0x83, 0x18, 0xb4, 0x48, 0x73, 0x95, 0xb0, 0xaf,
-	0x84, 0x9e, 0xdf, 0x15, 0x49, 0x3a, 0x82, 0x2e, 0x66, 0x0f, 0x21, 0x37, 0xec, 0x46, 0x1d, 0xc7,
-	0x8c, 0xa4, 0x22, 0xbe, 0x39, 0x87, 0xb2, 0xc4, 0x7e, 0xec, 0xb1, 0xb7, 0xd9, 0xd6, 0x42, 0xd8,
-	0xc6, 0x7b, 0x3b, 0xe3, 0x55, 0xc2, 0x3e, 0x11, 0x7a, 0xae, 0x33, 0xb6, 0xc2, 0xba, 0x66, 0xac,
-	0x76, 0x7a, 0xd3, 0x72, 0x45, 0xbc, 0x5c, 0xa9, 0xaa, 0x4d, 0x0d, 0x37, 0xdd, 0x3e, 0x06, 0x2f,
-	0x3c, 0x5e, 0x37, 0xe8, 0x2c, 0x82, 0xc7, 0x0f, 0x34, 0x66, 0xbd, 0x7d, 0xc8, 0x0f, 0x5b, 0x89,
-	0x6f, 0xdc, 0x22, 0x4d, 0xf6, 0x85, 0x50, 0x3a, 0xc5, 0x30, 0xec, 0xda, 0xb1, 0x98, 0xd3, 0xc9,
-	0x5e, 0xff, 0x9f, 0xac, 0x1c, 0x6b, 0xc7, 0x73, 0x6f, 0x05, 0xed, 0x13, 0x72, 0x97, 0xa0, 0xce,
-	0xd3, 0xc1, 0x7e, 0x27, 0xf4, 0xe2, 0xbd, 0x3d, 0x88, 0xf6, 0x37, 0xd4, 0xe0, 0xcf, 0x68, 0x6f,
-	0xd5, 0xc1, 0x1c, 0x91, 0x55, 0xe8, 0x2b, 0x73, 0xaa, 0xcb, 0x04, 0xaf, 0x7d, 0x82, 0x97, 0xc1,
-	0xd3, 0x53, 0x9a, 0x7c, 0x34, 0xd3, 0xc9, 0x85, 0xfa, 0x46, 0x28, 0x73, 0xd7, 0xa8, 0x83, 0x83,
-	0x78, 0x98, 0x3f, 0xd7, 0x71, 0x91, 0x6a, 0xe5, 0x5f, 0xd7, 0x6d, 0x56, 0x57, 0xc5, 0xba, 0x5c,
-	0x2b, 0xc7, 0x2c, 0x10, 0x3e, 0xc0, 0xab, 0xe0, 0xd9, 0x29, 0x05, 0xd0, 0xb3, 0x08, 0x2d, 0xd2,
-	0x6c, 0xdf, 0xa1, 0xcb, 0x11, 0x26, 0x35, 0x00, 0xed, 0x4b, 0x7f, 0xfd, 0x76, 0xcc, 0x8e, 0x3b,
-	0xd7, 0x3b, 0xe4, 0x03, 0x21, 0xfd, 0xb3, 0xfe, 0x8c, 0xaf, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff,
-	0x7a, 0xad, 0xef, 0xcd, 0x16, 0x06, 0x00, 0x00,
+	Metadata: "google/bigtable/v1/bigtable_service.proto",
+}
+
+func init() { proto.RegisterFile("google/bigtable/v1/bigtable_service.proto", fileDescriptor1) }
+
+var fileDescriptor1 = []byte{
+	// 521 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x94, 0xcd, 0x6e, 0xd4, 0x30,
+	0x10, 0xc7, 0x65, 0x0e, 0xa8, 0x58, 0x42, 0x08, 0x4b, 0x14, 0x69, 0xe1, 0x14, 0xa0, 0xa2, 0x11,
+	0x8d, 0xdb, 0x72, 0x0b, 0xe2, 0xd0, 0x45, 0x50, 0x21, 0x58, 0x51, 0xa5, 0xe2, 0x43, 0xe5, 0xb0,
+	0x78, 0x93, 0x69, 0x08, 0x4d, 0xe2, 0x60, 0x7b, 0x37, 0x5a, 0xaa, 0x5e, 0x38, 0x71, 0xe7, 0x11,
+	0x10, 0x17, 0x5e, 0x80, 0x23, 0xef, 0x00, 0x67, 0x6e, 0x3c, 0x08, 0xb2, 0x63, 0x2f, 0x2c, 0x0d,
+	0xcb, 0x8a, 0xee, 0x29, 0x8e, 0xe6, 0x3f, 0x33, 0xbf, 0xff, 0xf8, 0x03, 0xaf, 0xa6, 0x9c, 0xa7,
+	0x39, 0xd0, 0x41, 0x96, 0x2a, 0x36, 0xc8, 0x81, 0x8e, 0x36, 0x26, 0xeb, 0xbe, 0x04, 0x31, 0xca,
+	0x62, 0x08, 0x2a, 0xc1, 0x15, 0x27, 0xa4, 0x91, 0x06, 0x2e, 0x1c, 0x8c, 0x36, 0x3a, 0x97, 0x6d,
+	0x3a, 0xab, 0x32, 0xca, 0xca, 0x92, 0x2b, 0xa6, 0x32, 0x5e, 0xca, 0x26, 0xa3, 0xb3, 0x32, 0xab,
+	0x78, 0xc2, 0x14, 0xb3, 0xba, 0xcd, 0x39, 0x20, 0xfa, 0x05, 0x48, 0xc9, 0x52, 0x70, 0xb5, 0x2f,
+	0xd9, 0x1c, 0xf3, 0x37, 0x18, 0xee, 0x53, 0x28, 0x2a, 0x35, 0x6e, 0x82, 0x9b, 0xdf, 0x97, 0xf0,
+	0xb9, 0xae, 0x2d, 0xb0, 0xdb, 0xe4, 0x93, 0x8f, 0x08, 0x2f, 0x45, 0xc0, 0x92, 0x88, 0xd7, 0x92,
+	0x5c, 0x09, 0x8e, 0x9b, 0x09, 0x5c, 0x34, 0x82, 0xd7, 0x43, 0x90, 0xaa, 0x73, 0x75, 0xb6, 0x48,
+	0x56, 0xbc, 0x94, 0xe0, 0x3d, 0x7c, 0xfb, 0xed, 0xc7, 0xfb, 0x53, 0xf7, 0xbc, 0x2d, 0x4d, 0x7d,
+	0xd8, 0x30, 0x97, 0xac, 0x80, 0xdb, 0x95, 0xe0, 0xaf, 0x20, 0x56, 0x92, 0xfa, 0xf4, 0x0d, 0x2f,
+	0x41, 0x7f, 0xe3, 0x7c, 0x28, 0x15, 0x08, 0xbd, 0x34, 0x42, 0x49, 0xfd, 0x23, 0x2a, 0x78, 0x2d,
+	0x43, 0x01, 0x2c, 0x09, 0x91, 0xbf, 0x8e, 0xc8, 0x67, 0x84, 0xcf, 0xee, 0xb2, 0xa2, 0xca, 0x21,
+	0xe2, 0xf5, 0x03, 0x18, 0x4b, 0x72, 0xbd, 0x8d, 0x63, 0x4a, 0xe2, 0x88, 0x57, 0xe7, 0x50, 0x5a,
+	0xec, 0x47, 0x06, 0xfb, 0x3e, 0xd9, 0x3e, 0x11, 0xb6, 0x34, 0xb5, 0x75, 0xe1, 0x75, 0x44, 0x3e,
+	0x20, 0x7c, 0xa6, 0x37, 0x54, 0x4c, 0xe9, 0x66, 0xa4, 0x75, 0x7a, 0x93, 0xb0, 0x23, 0x5e, 0x76,
+	0x2a, 0xb7, 0x8f, 0xc1, 0x5d, 0xbd, 0x8f, 0xde, 0x33, 0x83, 0x17, 0x79, 0xbd, 0x93, 0xe0, 0xd1,
+	0x43, 0xc1, 0xeb, 0xfe, 0x01, 0x8c, 0x8f, 0xc2, 0xc2, 0x34, 0x0e, 0x91, 0x4f, 0x3e, 0x21, 0x8c,
+	0x27, 0x18, 0x92, 0x5c, 0x9b, 0x89, 0x39, 0x99, 0xec, 0xca, 0xbf, 0x64, 0x76, 0xac, 0x3d, 0xc3,
+	0xbd, 0xed, 0x75, 0xff, 0x93, 0xdb, 0x82, 0xea, 0x9a, 0x1a, 0xf6, 0x2b, 0xc2, 0xe7, 0xef, 0xbc,
+	0x84, 0xf8, 0x60, 0xab, 0x4c, 0x7e, 0x8d, 0xf6, 0x46, 0x1b, 0xcc, 0x31, 0x99, 0x43, 0x5f, 0x9b,
+	0x53, 0x6d, 0x1d, 0xbc, 0x30, 0x0e, 0xf6, 0xbc, 0xc7, 0x0b, 0x9a, 0x7c, 0x3c, 0xd5, 0x49, 0x9b,
+	0xfa, 0x82, 0x30, 0xd1, 0xd7, 0xa8, 0xc7, 0x93, 0x6c, 0x7f, 0xfc, 0x54, 0x64, 0x8d, 0xab, 0xb5,
+	0xbf, 0x5d, 0xb7, 0x69, 0x9d, 0xb3, 0x75, 0xb1, 0x55, 0xce, 0x6b, 0x8f, 0x19, 0x03, 0xcf, 0xbd,
+	0x27, 0x0b, 0x32, 0x20, 0xa6, 0x11, 0x42, 0xe4, 0x77, 0x2b, 0xbc, 0x1c, 0xf3, 0xa2, 0x05, 0xa0,
+	0x7b, 0xe1, 0x8f, 0x67, 0x47, 0xee, 0xe8, 0x73, 0xbd, 0x83, 0xf6, 0x42, 0x2b, 0x4e, 0x79, 0xce,
+	0xca, 0x34, 0xe0, 0x22, 0xa5, 0x29, 0x94, 0xe6, 0xd4, 0xd3, 0x26, 0xc4, 0xaa, 0x4c, 0xfe, 0xfe,
+	0x04, 0xde, 0x72, 0xeb, 0x77, 0x08, 0x0d, 0x4e, 0x1b, 0xe5, 0xcd, 0x9f, 0x01, 0x00, 0x00, 0xff,
+	0xff, 0x4c, 0x27, 0x6e, 0x9a, 0xb0, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v1/bigtable_service.proto b/googleapis/bigtable/v1/bigtable_service.proto
deleted file mode 100644
index e7bf44eecc271e1ed295f2d33f549513eb1f34c3..0000000000000000000000000000000000000000
--- a/googleapis/bigtable/v1/bigtable_service.proto
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.bigtable.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/bigtable/v1/bigtable_data.proto"; // from google/bigtable/v1/bigtable_data.proto
-import "google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service_messages.proto"; // from google/bigtable/v1/bigtable_service_messages.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_generic_services = true;
-option java_multiple_files = true;
-option java_outer_classname = "BigtableServicesProto";
-option java_package = "com.google.bigtable.v1";
-
-
-// Service for reading from and writing to existing Bigtables.
-service BigtableService {
-  // Streams back the contents of all requested rows, optionally applying
-  // the same Reader filter to each. Depending on their size, rows may be
-  // broken up across multiple responses, but atomicity of each row will still
-  // be preserved.
-  rpc ReadRows(ReadRowsRequest) returns (stream ReadRowsResponse) {
-    option (google.api.http) = { post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows:read" body: "*" };
-  }
-
-  // Returns a sample of row keys in the table. The returned row keys will
-  // delimit contiguous sections of the table of approximately equal size,
-  // which can be used to break up the data for distributed tasks like
-  // mapreduces.
-  rpc SampleRowKeys(SampleRowKeysRequest) returns (stream SampleRowKeysResponse) {
-    option (google.api.http) = { get: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows:sampleKeys" };
-  }
-
-  // Mutates a row atomically. Cells already present in the row are left
-  // unchanged unless explicitly changed by 'mutation'.
-  rpc MutateRow(MutateRowRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows/{row_key}:mutate" body: "*" };
-  }
-
-  // Mutates multiple rows in a batch. Each individual row is mutated
-  // atomically as in MutateRow, but the entire batch is not executed
-  // atomically.
-  rpc MutateRows(MutateRowsRequest) returns (MutateRowsResponse) {
-    option (google.api.http) = { post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}:mutateRows" body: "*" };
-  }
-
-  // Mutates a row atomically based on the output of a predicate Reader filter.
-  rpc CheckAndMutateRow(CheckAndMutateRowRequest) returns (CheckAndMutateRowResponse) {
-    option (google.api.http) = { post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows/{row_key}:checkAndMutate" body: "*" };
-  }
-
-  // Modifies a row atomically, reading the latest existing timestamp/value from
-  // the specified columns and writing a new value at
-  // max(existing timestamp, current server time) based on pre-defined
-  // read/modify/write rules. Returns the new contents of all modified cells.
-  rpc ReadModifyWriteRow(ReadModifyWriteRowRequest) returns (Row) {
-    option (google.api.http) = { post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows/{row_key}:readModifyWrite" body: "*" };
-  }
-}
diff --git a/googleapis/bigtable/v1/bigtable_service_messages.pb.go b/googleapis/bigtable/v1/bigtable_service_messages.pb.go
index 8166407ef6aa3d5ab0ae576e97a7c30048ea342a..1e7fad40241e400801310cc87bd5adf51030f18a 100644
--- a/googleapis/bigtable/v1/bigtable_service_messages.pb.go
+++ b/googleapis/bigtable/v1/bigtable_service_messages.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service_messages.proto
+// source: google/bigtable/v1/bigtable_service_messages.proto
 // DO NOT EDIT!
 
-package google_bigtable_v1 // import "google.golang.org/genproto/googleapis/bigtable/v1"
+package bigtable
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -44,7 +44,7 @@ type ReadRowsRequest struct {
 func (m *ReadRowsRequest) Reset()                    { *m = ReadRowsRequest{} }
 func (m *ReadRowsRequest) String() string            { return proto.CompactTextString(m) }
 func (*ReadRowsRequest) ProtoMessage()               {}
-func (*ReadRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+func (*ReadRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
 type isReadRowsRequest_Target interface {
 	isReadRowsRequest_Target()
@@ -71,6 +71,13 @@ func (m *ReadRowsRequest) GetTarget() isReadRowsRequest_Target {
 	return nil
 }
 
+func (m *ReadRowsRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
 func (m *ReadRowsRequest) GetRowKey() []byte {
 	if x, ok := m.GetTarget().(*ReadRowsRequest_RowKey); ok {
 		return x.RowKey
@@ -99,6 +106,20 @@ func (m *ReadRowsRequest) GetFilter() *RowFilter {
 	return nil
 }
 
+func (m *ReadRowsRequest) GetAllowRowInterleaving() bool {
+	if m != nil {
+		return m.AllowRowInterleaving
+	}
+	return false
+}
+
+func (m *ReadRowsRequest) GetNumRowsLimit() int64 {
+	if m != nil {
+		return m.NumRowsLimit
+	}
+	return 0
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*ReadRowsRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _ReadRowsRequest_OneofMarshaler, _ReadRowsRequest_OneofUnmarshaler, _ReadRowsRequest_OneofSizer, []interface{}{
@@ -201,7 +222,14 @@ type ReadRowsResponse struct {
 func (m *ReadRowsResponse) Reset()                    { *m = ReadRowsResponse{} }
 func (m *ReadRowsResponse) String() string            { return proto.CompactTextString(m) }
 func (*ReadRowsResponse) ProtoMessage()               {}
-func (*ReadRowsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+func (*ReadRowsResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+
+func (m *ReadRowsResponse) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
 
 func (m *ReadRowsResponse) GetChunks() []*ReadRowsResponse_Chunk {
 	if m != nil {
@@ -223,7 +251,7 @@ type ReadRowsResponse_Chunk struct {
 func (m *ReadRowsResponse_Chunk) Reset()                    { *m = ReadRowsResponse_Chunk{} }
 func (m *ReadRowsResponse_Chunk) String() string            { return proto.CompactTextString(m) }
 func (*ReadRowsResponse_Chunk) ProtoMessage()               {}
-func (*ReadRowsResponse_Chunk) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1, 0} }
+func (*ReadRowsResponse_Chunk) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1, 0} }
 
 type isReadRowsResponse_Chunk_Chunk interface {
 	isReadRowsResponse_Chunk_Chunk()
@@ -371,7 +399,14 @@ type SampleRowKeysRequest struct {
 func (m *SampleRowKeysRequest) Reset()                    { *m = SampleRowKeysRequest{} }
 func (m *SampleRowKeysRequest) String() string            { return proto.CompactTextString(m) }
 func (*SampleRowKeysRequest) ProtoMessage()               {}
-func (*SampleRowKeysRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
+func (*SampleRowKeysRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
+
+func (m *SampleRowKeysRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
 
 // Response message for BigtableService.SampleRowKeys.
 type SampleRowKeysResponse struct {
@@ -393,7 +428,21 @@ type SampleRowKeysResponse struct {
 func (m *SampleRowKeysResponse) Reset()                    { *m = SampleRowKeysResponse{} }
 func (m *SampleRowKeysResponse) String() string            { return proto.CompactTextString(m) }
 func (*SampleRowKeysResponse) ProtoMessage()               {}
-func (*SampleRowKeysResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
+func (*SampleRowKeysResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
+
+func (m *SampleRowKeysResponse) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
+
+func (m *SampleRowKeysResponse) GetOffsetBytes() int64 {
+	if m != nil {
+		return m.OffsetBytes
+	}
+	return 0
+}
 
 // Request message for BigtableService.MutateRow.
 type MutateRowRequest struct {
@@ -410,7 +459,21 @@ type MutateRowRequest struct {
 func (m *MutateRowRequest) Reset()                    { *m = MutateRowRequest{} }
 func (m *MutateRowRequest) String() string            { return proto.CompactTextString(m) }
 func (*MutateRowRequest) ProtoMessage()               {}
-func (*MutateRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
+func (*MutateRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
+
+func (m *MutateRowRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
+func (m *MutateRowRequest) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
 
 func (m *MutateRowRequest) GetMutations() []*Mutation {
 	if m != nil {
@@ -434,7 +497,14 @@ type MutateRowsRequest struct {
 func (m *MutateRowsRequest) Reset()                    { *m = MutateRowsRequest{} }
 func (m *MutateRowsRequest) String() string            { return proto.CompactTextString(m) }
 func (*MutateRowsRequest) ProtoMessage()               {}
-func (*MutateRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
+func (*MutateRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
+
+func (m *MutateRowsRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
 
 func (m *MutateRowsRequest) GetEntries() []*MutateRowsRequest_Entry {
 	if m != nil {
@@ -456,7 +526,14 @@ type MutateRowsRequest_Entry struct {
 func (m *MutateRowsRequest_Entry) Reset()                    { *m = MutateRowsRequest_Entry{} }
 func (m *MutateRowsRequest_Entry) String() string            { return proto.CompactTextString(m) }
 func (*MutateRowsRequest_Entry) ProtoMessage()               {}
-func (*MutateRowsRequest_Entry) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5, 0} }
+func (*MutateRowsRequest_Entry) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5, 0} }
+
+func (m *MutateRowsRequest_Entry) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
 
 func (m *MutateRowsRequest_Entry) GetMutations() []*Mutation {
 	if m != nil {
@@ -478,7 +555,7 @@ type MutateRowsResponse struct {
 func (m *MutateRowsResponse) Reset()                    { *m = MutateRowsResponse{} }
 func (m *MutateRowsResponse) String() string            { return proto.CompactTextString(m) }
 func (*MutateRowsResponse) ProtoMessage()               {}
-func (*MutateRowsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
+func (*MutateRowsResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
 
 func (m *MutateRowsResponse) GetStatuses() []*google_rpc.Status {
 	if m != nil {
@@ -516,7 +593,21 @@ type CheckAndMutateRowRequest struct {
 func (m *CheckAndMutateRowRequest) Reset()                    { *m = CheckAndMutateRowRequest{} }
 func (m *CheckAndMutateRowRequest) String() string            { return proto.CompactTextString(m) }
 func (*CheckAndMutateRowRequest) ProtoMessage()               {}
-func (*CheckAndMutateRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
+func (*CheckAndMutateRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
+
+func (m *CheckAndMutateRowRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
+func (m *CheckAndMutateRowRequest) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
 
 func (m *CheckAndMutateRowRequest) GetPredicateFilter() *RowFilter {
 	if m != nil {
@@ -549,7 +640,14 @@ type CheckAndMutateRowResponse struct {
 func (m *CheckAndMutateRowResponse) Reset()                    { *m = CheckAndMutateRowResponse{} }
 func (m *CheckAndMutateRowResponse) String() string            { return proto.CompactTextString(m) }
 func (*CheckAndMutateRowResponse) ProtoMessage()               {}
-func (*CheckAndMutateRowResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
+func (*CheckAndMutateRowResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{8} }
+
+func (m *CheckAndMutateRowResponse) GetPredicateMatched() bool {
+	if m != nil {
+		return m.PredicateMatched
+	}
+	return false
+}
 
 // Request message for BigtableService.ReadModifyWriteRowRequest.
 type ReadModifyWriteRowRequest struct {
@@ -567,7 +665,21 @@ type ReadModifyWriteRowRequest struct {
 func (m *ReadModifyWriteRowRequest) Reset()                    { *m = ReadModifyWriteRowRequest{} }
 func (m *ReadModifyWriteRowRequest) String() string            { return proto.CompactTextString(m) }
 func (*ReadModifyWriteRowRequest) ProtoMessage()               {}
-func (*ReadModifyWriteRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
+func (*ReadModifyWriteRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{9} }
+
+func (m *ReadModifyWriteRowRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
+func (m *ReadModifyWriteRowRequest) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
 
 func (m *ReadModifyWriteRowRequest) GetRules() []*ReadModifyWriteRule {
 	if m != nil {
@@ -591,59 +703,58 @@ func init() {
 	proto.RegisterType((*ReadModifyWriteRowRequest)(nil), "google.bigtable.v1.ReadModifyWriteRowRequest")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service_messages.proto", fileDescriptor1)
-}
-
-var fileDescriptor1 = []byte{
-	// 783 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x55, 0xcd, 0x8e, 0xe3, 0x44,
-	0x10, 0x1e, 0x27, 0xe4, 0xaf, 0x12, 0x66, 0x66, 0x5b, 0xcb, 0xae, 0x27, 0xda, 0x11, 0xc1, 0x42,
-	0x22, 0x62, 0x25, 0x47, 0xbb, 0x30, 0x12, 0x02, 0xad, 0x10, 0x09, 0x59, 0x05, 0x41, 0xd0, 0xd2,
-	0x39, 0x70, 0x41, 0x8a, 0x3a, 0x4e, 0xc5, 0x63, 0x8d, 0xdd, 0x1d, 0xba, 0xdb, 0xb1, 0x72, 0x46,
-	0xe2, 0x0e, 0x4f, 0xc1, 0x1b, 0x71, 0xe1, 0x61, 0x50, 0xb7, 0x9d, 0x1f, 0x86, 0x44, 0x04, 0xed,
-	0x9c, 0x6c, 0x57, 0xd5, 0xf7, 0x55, 0xd5, 0xd7, 0xe5, 0x6a, 0xf8, 0x21, 0x14, 0x22, 0x8c, 0xd1,
-	0x0f, 0x45, 0xcc, 0x78, 0xe8, 0x0b, 0x19, 0xf6, 0x42, 0xe4, 0x4b, 0x29, 0xb4, 0xe8, 0xe5, 0x2e,
-	0xb6, 0x8c, 0x54, 0x6f, 0x16, 0x85, 0x9a, 0xcd, 0x62, 0xec, 0xad, 0x5e, 0x6c, 0xdf, 0xa7, 0x0a,
-	0xe5, 0x2a, 0x0a, 0x70, 0x9a, 0xa0, 0x52, 0x2c, 0x44, 0xe5, 0x5b, 0x18, 0x21, 0x05, 0xe5, 0x26,
-	0xce, 0x5f, 0xbd, 0x68, 0x0f, 0xdf, 0x22, 0xcd, 0x9c, 0x69, 0x96, 0x53, 0xb7, 0x5f, 0x9d, 0x46,
-	0x23, 0x97, 0x41, 0x4f, 0x69, 0xa6, 0x53, 0x55, 0x3c, 0x72, 0xb8, 0xf7, 0x57, 0x09, 0x2e, 0x28,
-	0xb2, 0x39, 0x15, 0x99, 0xa2, 0xf8, 0x73, 0x8a, 0x4a, 0x93, 0x6b, 0x80, 0x3c, 0x0d, 0x67, 0x09,
-	0xba, 0x4e, 0xc7, 0xe9, 0x36, 0x68, 0xc3, 0x5a, 0xbe, 0x67, 0x09, 0x92, 0x2b, 0xa8, 0x49, 0x91,
-	0x4d, 0xef, 0x70, 0xed, 0x96, 0x3a, 0x4e, 0xb7, 0x35, 0x3a, 0xa3, 0x55, 0x29, 0xb2, 0x6f, 0x71,
-	0x4d, 0xbe, 0x80, 0x86, 0x71, 0x49, 0xc6, 0x43, 0x74, 0xcb, 0x1d, 0xa7, 0xdb, 0x7c, 0xf9, 0xcc,
-	0xff, 0x77, 0xef, 0x3e, 0x15, 0x19, 0x35, 0x31, 0xa3, 0x33, 0x5a, 0x97, 0xc5, 0x3b, 0xb9, 0xc9,
-	0x79, 0x15, 0x6a, 0xb7, 0x6e, 0xa1, 0xed, 0x23, 0xd0, 0x09, 0xea, 0x22, 0xe7, 0x04, 0x35, 0xb9,
-	0x81, 0xea, 0x22, 0x8a, 0x35, 0x4a, 0xb7, 0x62, 0x51, 0xd7, 0x47, 0x50, 0xaf, 0x6d, 0x10, 0x2d,
-	0x82, 0xc9, 0xa7, 0xf0, 0x84, 0xc5, 0xb1, 0x29, 0x56, 0x64, 0xd3, 0x88, 0x6b, 0x94, 0x31, 0xb2,
-	0x55, 0xc4, 0x43, 0xb7, 0xda, 0x71, 0xba, 0x75, 0xfa, 0xd8, 0x7a, 0xa9, 0xc8, 0xbe, 0xd9, 0xf3,
-	0x91, 0x0f, 0xe1, 0x9c, 0xa7, 0x89, 0xc1, 0xa8, 0x69, 0x1c, 0x25, 0x91, 0x76, 0x6b, 0x1d, 0xa7,
-	0x5b, 0xa6, 0x2d, 0x9e, 0x26, 0x46, 0xc2, 0xef, 0x8c, 0xad, 0x5f, 0x87, 0xaa, 0x66, 0x32, 0x44,
-	0xed, 0xfd, 0x52, 0x82, 0xcb, 0x9d, 0xbc, 0x6a, 0x29, 0xb8, 0x42, 0xf2, 0x74, 0x27, 0xa0, 0x11,
-	0xb7, 0xb5, 0x95, 0xaf, 0x0f, 0xd5, 0xe0, 0x36, 0xe5, 0x77, 0xca, 0x2d, 0x75, 0xca, 0xdd, 0xe6,
-	0xcb, 0x8f, 0x0f, 0xb6, 0x72, 0x8f, 0xce, 0x1f, 0x18, 0x08, 0x2d, 0x90, 0xed, 0xdf, 0x1c, 0xa8,
-	0x58, 0x0b, 0xf9, 0x12, 0x5a, 0x26, 0x4d, 0x20, 0xb8, 0x46, 0xae, 0x95, 0xcd, 0x75, 0x44, 0xd4,
-	0xd7, 0x2c, 0x89, 0xe2, 0xf5, 0xe8, 0x8c, 0x36, 0xa5, 0xc8, 0x06, 0x05, 0x80, 0x5c, 0x43, 0x43,
-	0xa2, 0x42, 0x6d, 0xda, 0xb5, 0x47, 0x5d, 0xb7, 0xe7, 0x65, 0x4c, 0x54, 0x64, 0xe4, 0x7d, 0x80,
-	0x40, 0x24, 0x49, 0x94, 0xfb, 0xcb, 0x85, 0xbf, 0x91, 0xdb, 0xa8, 0xc8, 0xfa, 0x35, 0xa8, 0xd8,
-	0xa2, 0xbc, 0x1b, 0x78, 0x3c, 0x61, 0xc9, 0x32, 0x46, 0x6a, 0xfb, 0x3c, 0x71, 0xd0, 0xbc, 0x09,
-	0xbc, 0x77, 0x0f, 0xf6, 0x5f, 0x02, 0x7e, 0x00, 0x2d, 0xb1, 0x58, 0x98, 0x92, 0x67, 0x6b, 0x8d,
-	0xca, 0x16, 0x5d, 0xa6, 0xcd, 0xdc, 0xd6, 0x37, 0x26, 0xef, 0x57, 0x07, 0x2e, 0xc7, 0xa9, 0x66,
-	0xda, 0xb0, 0x9e, 0x38, 0xf1, 0x4f, 0xef, 0x4d, 0xfc, 0x36, 0xdf, 0xe7, 0xd0, 0x48, 0x0c, 0x57,
-	0x24, 0xb8, 0x72, 0xcb, 0xf6, 0xcc, 0x0e, 0xce, 0xfb, 0xb8, 0x08, 0xa2, 0xbb, 0x70, 0xef, 0x4f,
-	0x07, 0x1e, 0x6d, 0x0b, 0x39, 0xf5, 0xdf, 0x1b, 0x42, 0x0d, 0xb9, 0x96, 0x11, 0x6e, 0x46, 0xe4,
-	0xf9, 0xd1, 0x74, 0xfb, 0xb4, 0xfe, 0x90, 0x6b, 0xb9, 0xa6, 0x1b, 0x6c, 0xfb, 0x27, 0xa8, 0x58,
-	0xcb, 0x71, 0x25, 0xff, 0xd1, 0x59, 0xe9, 0xff, 0x75, 0xf6, 0x35, 0x90, 0xfd, 0x0a, 0x8a, 0x43,
-	0xf3, 0xa1, 0x9e, 0x6f, 0x1e, 0x34, 0xa3, 0x68, 0x08, 0xc9, 0x86, 0x50, 0x2e, 0x03, 0x7f, 0x62,
-	0x7d, 0x74, 0x1b, 0xe3, 0xfd, 0x51, 0x02, 0x77, 0x70, 0x8b, 0xc1, 0xdd, 0x57, 0x7c, 0xfe, 0x60,
-	0x07, 0x36, 0x82, 0xcb, 0xa5, 0xc4, 0x79, 0x14, 0x30, 0x8d, 0xd3, 0x62, 0x6d, 0x54, 0x4f, 0x59,
-	0x1b, 0x17, 0x5b, 0x58, 0x6e, 0x20, 0x03, 0x38, 0xd7, 0x32, 0xc5, 0xe9, 0x4e, 0xa5, 0x77, 0x4e,
-	0x50, 0xe9, 0x5d, 0x83, 0xd9, 0x7c, 0x29, 0x32, 0x84, 0x8b, 0x05, 0x8b, 0xd5, 0x3e, 0x4b, 0xe5,
-	0x04, 0x96, 0x73, 0x0b, 0xda, 0xd2, 0x78, 0x23, 0xb8, 0x3a, 0xa0, 0x54, 0xa1, 0xfb, 0x73, 0x78,
-	0xb4, 0x6b, 0x39, 0x61, 0x3a, 0xb8, 0xc5, 0xb9, 0x55, 0xac, 0x4e, 0x77, 0x5a, 0x8c, 0x73, 0xbb,
-	0xf7, 0xbb, 0x03, 0x57, 0x66, 0xc1, 0x8c, 0xc5, 0x3c, 0x5a, 0xac, 0x7f, 0x94, 0xd1, 0x83, 0xa8,
-	0xfe, 0x0a, 0x2a, 0x32, 0x8d, 0x71, 0xf3, 0x8b, 0x7c, 0x74, 0x6c, 0xad, 0xed, 0x67, 0x4d, 0x63,
-	0xa4, 0x39, 0xaa, 0xff, 0x19, 0x3c, 0x09, 0x44, 0x72, 0x00, 0xd4, 0x7f, 0xd6, 0x2f, 0x3e, 0x26,
-	0xf9, 0xbd, 0x3b, 0x2e, 0xae, 0xdd, 0x37, 0xe6, 0x6e, 0x7b, 0xe3, 0xcc, 0xaa, 0xf6, 0x92, 0xfb,
-	0xe4, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x88, 0x02, 0xc9, 0xd3, 0x07, 0x00, 0x00,
+func init() { proto.RegisterFile("google/bigtable/v1/bigtable_service_messages.proto", fileDescriptor2) }
+
+var fileDescriptor2 = []byte{
+	// 788 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0x5f, 0x8b, 0x23, 0x45,
+	0x10, 0xdf, 0x49, 0xcc, 0xbf, 0x4a, 0xdc, 0xdd, 0x6b, 0xce, 0xdb, 0xd9, 0x70, 0x8b, 0x71, 0x10,
+	0x0d, 0x1e, 0x4c, 0xb8, 0xd5, 0x7d, 0xb9, 0x43, 0xc4, 0xc4, 0x3d, 0x22, 0x1a, 0x39, 0x3a, 0x0f,
+	0x82, 0x08, 0xa1, 0x33, 0xa9, 0xcc, 0x0e, 0x3b, 0xd3, 0x1d, 0xbb, 0x7b, 0x32, 0xe4, 0x59, 0xf0,
+	0x5d, 0x3f, 0x85, 0xdf, 0xc8, 0x17, 0x3f, 0x8c, 0x74, 0xcf, 0xe4, 0x8f, 0x6b, 0xa2, 0x11, 0xf6,
+	0xad, 0xa7, 0xaa, 0x7e, 0xbf, 0xaa, 0xfa, 0x75, 0x4d, 0x17, 0x5c, 0x87, 0x42, 0x84, 0x31, 0xf6,
+	0xa6, 0x51, 0xa8, 0xd9, 0x34, 0xc6, 0xde, 0xf2, 0xe5, 0xe6, 0x3c, 0x51, 0x28, 0x97, 0x51, 0x80,
+	0x93, 0x04, 0x95, 0x62, 0x21, 0x2a, 0x7f, 0x21, 0x85, 0x16, 0x84, 0xe4, 0x18, 0x7f, 0x1d, 0xe7,
+	0x2f, 0x5f, 0xb6, 0x3f, 0xfa, 0x37, 0x9e, 0x19, 0xd3, 0x2c, 0xc7, 0xb6, 0x2f, 0x8a, 0x38, 0xb9,
+	0x08, 0x7a, 0x4a, 0x33, 0x9d, 0x16, 0xa4, 0xde, 0x9f, 0x25, 0x38, 0xa3, 0xc8, 0x66, 0x54, 0x64,
+	0x8a, 0xe2, 0x4f, 0x29, 0x2a, 0x4d, 0xae, 0x00, 0x72, 0x02, 0xce, 0x12, 0x74, 0x9d, 0x8e, 0xd3,
+	0x6d, 0xd0, 0x86, 0xb5, 0x7c, 0xc7, 0x12, 0x24, 0x97, 0x50, 0x93, 0x22, 0x9b, 0xdc, 0xe3, 0xca,
+	0x2d, 0x75, 0x9c, 0x6e, 0x6b, 0x78, 0x42, 0xab, 0x52, 0x64, 0xdf, 0xe0, 0x8a, 0xbc, 0x86, 0x86,
+	0x71, 0x49, 0xc6, 0x43, 0x74, 0xcb, 0x1d, 0xa7, 0xdb, 0xbc, 0x7e, 0xee, 0xff, 0xb3, 0x6c, 0x9f,
+	0x8a, 0x8c, 0x9a, 0x98, 0xe1, 0x09, 0xad, 0xcb, 0xe2, 0x4c, 0x6e, 0x72, 0x5e, 0x85, 0xda, 0xad,
+	0x5b, 0x68, 0xfb, 0x00, 0x74, 0x8c, 0xba, 0xc8, 0x39, 0x46, 0x4d, 0x6e, 0xa0, 0x3a, 0x8f, 0x62,
+	0x8d, 0xd2, 0xad, 0x58, 0xd4, 0xd5, 0x01, 0xd4, 0x1b, 0x1b, 0x44, 0x8b, 0x60, 0xf2, 0x19, 0x3c,
+	0x63, 0x71, 0x6c, 0x8a, 0x15, 0xd9, 0x24, 0xe2, 0x1a, 0x65, 0x8c, 0x6c, 0x19, 0xf1, 0xd0, 0xad,
+	0x76, 0x9c, 0x6e, 0x9d, 0x3e, 0xb5, 0x5e, 0x2a, 0xb2, 0xaf, 0x77, 0x7c, 0xe4, 0x43, 0x38, 0xe5,
+	0x69, 0x62, 0x30, 0x6a, 0x12, 0x47, 0x49, 0xa4, 0xdd, 0x5a, 0xc7, 0xe9, 0x96, 0x69, 0x8b, 0xa7,
+	0x89, 0x91, 0xf0, 0x5b, 0x63, 0xeb, 0xd7, 0xa1, 0xaa, 0x99, 0x0c, 0x51, 0x7b, 0x3f, 0x97, 0xe0,
+	0x7c, 0x2b, 0xaf, 0x5a, 0x08, 0xae, 0x90, 0x5c, 0x6c, 0x05, 0x34, 0xe2, 0xb6, 0x36, 0xf2, 0xf5,
+	0xa1, 0x1a, 0xdc, 0xa5, 0xfc, 0x5e, 0xb9, 0xa5, 0x4e, 0xb9, 0xdb, 0xbc, 0xfe, 0x64, 0x6f, 0x2b,
+	0x0f, 0xe8, 0xfc, 0x81, 0x81, 0xd0, 0x02, 0xd9, 0xfe, 0xd5, 0x81, 0x8a, 0xb5, 0x90, 0x2f, 0xa0,
+	0x65, 0xd2, 0x04, 0x82, 0x6b, 0xe4, 0x5a, 0xd9, 0x5c, 0x07, 0x44, 0x7d, 0xc3, 0x92, 0x28, 0x5e,
+	0x0d, 0x4f, 0x68, 0x53, 0x8a, 0x6c, 0x50, 0x00, 0xc8, 0x15, 0x34, 0x24, 0x2a, 0xd4, 0xa6, 0x5d,
+	0x7b, 0xd5, 0x75, 0x7b, 0x5f, 0xc6, 0x44, 0x45, 0x46, 0xde, 0x07, 0x08, 0x44, 0x92, 0x44, 0xb9,
+	0xbf, 0x5c, 0xf8, 0x1b, 0xb9, 0x8d, 0x8a, 0xac, 0x5f, 0x83, 0x8a, 0x2d, 0xca, 0xbb, 0x81, 0xa7,
+	0x63, 0x96, 0x2c, 0x62, 0xa4, 0xb6, 0xcf, 0x23, 0x07, 0xcd, 0x1b, 0xc3, 0x7b, 0x0f, 0x60, 0xff,
+	0x25, 0xe0, 0x07, 0xd0, 0x12, 0xf3, 0xb9, 0x29, 0x79, 0xba, 0xd2, 0xa8, 0x6c, 0xd1, 0x65, 0xda,
+	0xcc, 0x6d, 0x7d, 0x63, 0xf2, 0x7e, 0x71, 0xe0, 0x7c, 0x94, 0x6a, 0xa6, 0x0d, 0xeb, 0x91, 0x13,
+	0x7f, 0xf1, 0x60, 0xe2, 0x37, 0xf9, 0x5e, 0x41, 0x23, 0x31, 0x5c, 0x91, 0xe0, 0xca, 0x2d, 0xdb,
+	0x3b, 0xdb, 0x3b, 0xef, 0xa3, 0x22, 0x88, 0x6e, 0xc3, 0xbd, 0x3f, 0x1c, 0x78, 0xb2, 0x29, 0xe4,
+	0xd8, 0x7f, 0xef, 0x16, 0x6a, 0xc8, 0xb5, 0x8c, 0x70, 0x3d, 0x22, 0x2f, 0x0e, 0xa6, 0xdb, 0xa5,
+	0xf5, 0x6f, 0xb9, 0x96, 0x2b, 0xba, 0xc6, 0xb6, 0x7f, 0x84, 0x8a, 0xb5, 0x1c, 0x56, 0xf2, 0x6f,
+	0x9d, 0x95, 0xfe, 0x5f, 0x67, 0x5f, 0x01, 0xd9, 0xad, 0xa0, 0xb8, 0x34, 0x1f, 0xea, 0xf9, 0xcb,
+	0x83, 0x66, 0x14, 0x0d, 0x21, 0x59, 0x13, 0xca, 0x45, 0xe0, 0x8f, 0xad, 0x8f, 0x6e, 0x62, 0xbc,
+	0xdf, 0x4b, 0xe0, 0x0e, 0xee, 0x30, 0xb8, 0xff, 0x92, 0xcf, 0x1e, 0xed, 0xc2, 0x86, 0x70, 0xbe,
+	0x90, 0x38, 0x8b, 0x02, 0xa6, 0x71, 0x52, 0x3c, 0x1b, 0xd5, 0x63, 0x9e, 0x8d, 0xb3, 0x0d, 0x2c,
+	0x37, 0x90, 0x01, 0x9c, 0x6a, 0x99, 0xe2, 0x64, 0xab, 0xd2, 0x3b, 0x47, 0xa8, 0xf4, 0xae, 0xc1,
+	0xac, 0xbf, 0x14, 0xb9, 0x85, 0xb3, 0x39, 0x8b, 0xd5, 0x2e, 0x4b, 0xe5, 0x08, 0x96, 0x53, 0x0b,
+	0xda, 0xd0, 0x78, 0x43, 0xb8, 0xdc, 0xa3, 0x54, 0xa1, 0xfb, 0x0b, 0x78, 0xb2, 0x6d, 0x39, 0x61,
+	0x3a, 0xb8, 0xc3, 0x99, 0x55, 0xac, 0x4e, 0xb7, 0x5a, 0x8c, 0x72, 0xbb, 0xf7, 0x9b, 0x03, 0x97,
+	0xe6, 0x81, 0x19, 0x89, 0x59, 0x34, 0x5f, 0x7d, 0x2f, 0xa3, 0x47, 0x51, 0xfd, 0x73, 0xa8, 0xc8,
+	0x34, 0xc6, 0xf5, 0x2f, 0xf2, 0xf1, 0xa1, 0x67, 0x6d, 0x37, 0x6b, 0x1a, 0x23, 0xcd, 0x51, 0x7d,
+	0x0d, 0xcf, 0x02, 0x91, 0xec, 0x01, 0xf5, 0x9f, 0xf7, 0x8b, 0x8f, 0x71, 0xbe, 0x32, 0x47, 0xc5,
+	0xc6, 0x7c, 0x6b, 0x76, 0xdb, 0x5b, 0xe7, 0x87, 0x57, 0x05, 0x26, 0x14, 0x31, 0xe3, 0xa1, 0x2f,
+	0x64, 0xd8, 0x0b, 0x91, 0xdb, 0xcd, 0xd7, 0xcb, 0x5d, 0x6c, 0x11, 0xa9, 0xdd, 0xed, 0xf9, 0x7a,
+	0x7d, 0x9e, 0x56, 0x6d, 0xd8, 0xa7, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x16, 0x55, 0x90, 0x95,
+	0xab, 0x07, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v1/bigtable_service_messages.proto b/googleapis/bigtable/v1/bigtable_service_messages.proto
deleted file mode 100644
index 7fa84aedd0952b30ddf07ead0d0c86591ad901ea..0000000000000000000000000000000000000000
--- a/googleapis/bigtable/v1/bigtable_service_messages.proto
+++ /dev/null
@@ -1,217 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.bigtable.v1;
-
-import "google.golang.org/genproto/googleapis/bigtable/v1/bigtable_data.proto"; // from google/bigtable/v1/bigtable_data.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "BigtableServiceMessagesProto";
-option java_package = "com.google.bigtable.v1";
-
-
-// Request message for BigtableServer.ReadRows.
-message ReadRowsRequest {
-  // The unique name of the table from which to read.
-  string table_name = 1;
-
-  // If neither row_key nor row_range is set, reads from all rows.
-  oneof target {
-    // The key of a single row from which to read.
-    bytes row_key = 2;
-
-    // A range of rows from which to read.
-    RowRange row_range = 3;
-
-    // A set of rows from which to read. Entries need not be in order, and will
-    // be deduplicated before reading.
-    // The total serialized size of the set must not exceed 1MB.
-    RowSet row_set = 8;
-  }
-
-  // The filter to apply to the contents of the specified row(s). If unset,
-  // reads the entire table.
-  RowFilter filter = 5;
-
-  // By default, rows are read sequentially, producing results which are
-  // guaranteed to arrive in increasing row order. Setting
-  // "allow_row_interleaving" to true allows multiple rows to be interleaved in
-  // the response stream, which increases throughput but breaks this guarantee,
-  // and may force the client to use more memory to buffer partially-received
-  // rows. Cannot be set to true when specifying "num_rows_limit".
-  bool allow_row_interleaving = 6;
-
-  // The read will terminate after committing to N rows' worth of results. The
-  // default (zero) is to return all results.
-  // Note that "allow_row_interleaving" cannot be set to true when this is set.
-  int64 num_rows_limit = 7;
-}
-
-// Response message for BigtableService.ReadRows.
-message ReadRowsResponse {
-  // Specifies a piece of a row's contents returned as part of the read
-  // response stream.
-  message Chunk {
-    oneof chunk {
-      // A subset of the data from a particular row. As long as no "reset_row"
-      // is received in between, multiple "row_contents" from the same row are
-      // from the same atomic view of that row, and will be received in the
-      // expected family/column/timestamp order.
-      Family row_contents = 1;
-
-      // Indicates that the client should drop all previous chunks for
-      // "row_key", as it will be re-read from the beginning.
-      bool reset_row = 2;
-
-      // Indicates that the client can safely process all previous chunks for
-      // "row_key", as its data has been fully read.
-      bool commit_row = 3;
-    }
-  }
-
-  // The key of the row for which we're receiving data.
-  // Results will be received in increasing row key order, unless
-  // "allow_row_interleaving" was specified in the request.
-  bytes row_key = 1;
-
-  // One or more chunks of the row specified by "row_key".
-  repeated Chunk chunks = 2;
-}
-
-// Request message for BigtableService.SampleRowKeys.
-message SampleRowKeysRequest {
-  // The unique name of the table from which to sample row keys.
-  string table_name = 1;
-}
-
-// Response message for BigtableService.SampleRowKeys.
-message SampleRowKeysResponse {
-  // Sorted streamed sequence of sample row keys in the table. The table might
-  // have contents before the first row key in the list and after the last one,
-  // but a key containing the empty string indicates "end of table" and will be
-  // the last response given, if present.
-  // Note that row keys in this list may not have ever been written to or read
-  // from, and users should therefore not make any assumptions about the row key
-  // structure that are specific to their use case.
-  bytes row_key = 1;
-
-  // Approximate total storage space used by all rows in the table which precede
-  // "row_key". Buffering the contents of all rows between two subsequent
-  // samples would require space roughly equal to the difference in their
-  // "offset_bytes" fields.
-  int64 offset_bytes = 2;
-}
-
-// Request message for BigtableService.MutateRow.
-message MutateRowRequest {
-  // The unique name of the table to which the mutation should be applied.
-  string table_name = 1;
-
-  // The key of the row to which the mutation should be applied.
-  bytes row_key = 2;
-
-  // Changes to be atomically applied to the specified row. Entries are applied
-  // in order, meaning that earlier mutations can be masked by later ones.
-  // Must contain at least one entry and at most 100000.
-  repeated Mutation mutations = 3;
-}
-
-// Request message for BigtableService.MutateRows.
-message MutateRowsRequest {
-  message Entry {
-    // The key of the row to which the `mutations` should be applied.
-    bytes row_key = 1;
-
-    // Changes to be atomically applied to the specified row. Mutations are
-    // applied in order, meaning that earlier mutations can be masked by
-    // later ones.
-    // At least one mutation must be specified.
-    repeated Mutation mutations = 2;
-  }
-
-  // The unique name of the table to which the mutations should be applied.
-  string table_name = 1;
-
-  // The row keys/mutations to be applied in bulk.
-  // Each entry is applied as an atomic mutation, but the entries may be
-  // applied in arbitrary order (even between entries for the same row).
-  // At least one entry must be specified, and in total the entries may
-  // contain at most 100000 mutations.
-  repeated Entry entries = 2;
-}
-
-// Response message for BigtableService.MutateRows.
-message MutateRowsResponse {
-  // The results for each Entry from the request, presented in the order
-  // in which the entries were originally given.
-  // Depending on how requests are batched during execution, it is possible
-  // for one Entry to fail due to an error with another Entry. In the event
-  // that this occurs, the same error will be reported for both entries.
-  repeated google.rpc.Status statuses = 1;
-}
-
-// Request message for BigtableService.CheckAndMutateRowRequest
-message CheckAndMutateRowRequest {
-  // The unique name of the table to which the conditional mutation should be
-  // applied.
-  string table_name = 1;
-
-  // The key of the row to which the conditional mutation should be applied.
-  bytes row_key = 2;
-
-  // The filter to be applied to the contents of the specified row. Depending
-  // on whether or not any results are yielded, either "true_mutations" or
-  // "false_mutations" will be executed. If unset, checks that the row contains
-  // any values at all.
-  RowFilter predicate_filter = 6;
-
-  // Changes to be atomically applied to the specified row if "predicate_filter"
-  // yields at least one cell when applied to "row_key". Entries are applied in
-  // order, meaning that earlier mutations can be masked by later ones.
-  // Must contain at least one entry if "false_mutations" is empty, and at most
-  // 100000.
-  repeated Mutation true_mutations = 4;
-
-  // Changes to be atomically applied to the specified row if "predicate_filter"
-  // does not yield any cells when applied to "row_key". Entries are applied in
-  // order, meaning that earlier mutations can be masked by later ones.
-  // Must contain at least one entry if "true_mutations" is empty, and at most
-  // 100000.
-  repeated Mutation false_mutations = 5;
-}
-
-// Response message for BigtableService.CheckAndMutateRowRequest.
-message CheckAndMutateRowResponse {
-  // Whether or not the request's "predicate_filter" yielded any results for
-  // the specified row.
-  bool predicate_matched = 1;
-}
-
-// Request message for BigtableService.ReadModifyWriteRowRequest.
-message ReadModifyWriteRowRequest {
-  // The unique name of the table to which the read/modify/write rules should be
-  // applied.
-  string table_name = 1;
-
-  // The key of the row to which the read/modify/write rules should be applied.
-  bytes row_key = 2;
-
-  // Rules specifying how the specified row's contents are to be transformed
-  // into writes. Entries are applied in order, meaning that earlier rules will
-  // affect the results of later ones.
-  repeated ReadModifyWriteRule rules = 3;
-}
diff --git a/googleapis/bigtable/v2/bigtable.pb.go b/googleapis/bigtable/v2/bigtable.pb.go
index 035d7fe6d0a03ee7e4433d370e2f43fb18623f18..b41f14f270265e11171d4835a300c78f70930146 100644
--- a/googleapis/bigtable/v2/bigtable.pb.go
+++ b/googleapis/bigtable/v2/bigtable.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/v2/bigtable.proto
+// source: google/bigtable/v2/bigtable.proto
 // DO NOT EDIT!
 
 /*
-Package google_bigtable_v2 is a generated protocol buffer package.
+Package bigtable is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/bigtable/v2/bigtable.proto
-	google.golang.org/genproto/googleapis/bigtable/v2/data.proto
+	google/bigtable/v2/bigtable.proto
+	google/bigtable/v2/data.proto
 
 It has these top-level messages:
 	ReadRowsRequest
@@ -35,12 +35,12 @@ It has these top-level messages:
 	Mutation
 	ReadModifyWriteRule
 */
-package google_bigtable_v2 // import "google.golang.org/genproto/googleapis/bigtable/v2"
+package bigtable
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/wrappers"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
 
@@ -81,6 +81,13 @@ func (m *ReadRowsRequest) String() string            { return proto.CompactTextS
 func (*ReadRowsRequest) ProtoMessage()               {}
 func (*ReadRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *ReadRowsRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
 func (m *ReadRowsRequest) GetRows() *RowSet {
 	if m != nil {
 		return m.Rows
@@ -95,6 +102,13 @@ func (m *ReadRowsRequest) GetFilter() *RowFilter {
 	return nil
 }
 
+func (m *ReadRowsRequest) GetRowsLimit() int64 {
+	if m != nil {
+		return m.RowsLimit
+	}
+	return 0
+}
+
 // Response message for Bigtable.ReadRows.
 type ReadRowsResponse struct {
 	Chunks []*ReadRowsResponse_CellChunk `protobuf:"bytes,1,rep,name=chunks" json:"chunks,omitempty"`
@@ -120,6 +134,13 @@ func (m *ReadRowsResponse) GetChunks() []*ReadRowsResponse_CellChunk {
 	return nil
 }
 
+func (m *ReadRowsResponse) GetLastScannedRowKey() []byte {
+	if m != nil {
+		return m.LastScannedRowKey
+	}
+	return nil
+}
+
 // Specifies a piece of a row's contents returned as part of the read
 // response stream.
 type ReadRowsResponse_CellChunk struct {
@@ -197,6 +218,13 @@ func (m *ReadRowsResponse_CellChunk) GetRowStatus() isReadRowsResponse_CellChunk
 	return nil
 }
 
+func (m *ReadRowsResponse_CellChunk) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
+
 func (m *ReadRowsResponse_CellChunk) GetFamilyName() *google_protobuf1.StringValue {
 	if m != nil {
 		return m.FamilyName
@@ -211,6 +239,34 @@ func (m *ReadRowsResponse_CellChunk) GetQualifier() *google_protobuf1.BytesValue
 	return nil
 }
 
+func (m *ReadRowsResponse_CellChunk) GetTimestampMicros() int64 {
+	if m != nil {
+		return m.TimestampMicros
+	}
+	return 0
+}
+
+func (m *ReadRowsResponse_CellChunk) GetLabels() []string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
+func (m *ReadRowsResponse_CellChunk) GetValue() []byte {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
+func (m *ReadRowsResponse_CellChunk) GetValueSize() int32 {
+	if m != nil {
+		return m.ValueSize
+	}
+	return 0
+}
+
 func (m *ReadRowsResponse_CellChunk) GetResetRow() bool {
 	if x, ok := m.GetRowStatus().(*ReadRowsResponse_CellChunk_ResetRow); ok {
 		return x.ResetRow
@@ -310,6 +366,13 @@ func (m *SampleRowKeysRequest) String() string            { return proto.Compact
 func (*SampleRowKeysRequest) ProtoMessage()               {}
 func (*SampleRowKeysRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *SampleRowKeysRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
 // Response message for Bigtable.SampleRowKeys.
 type SampleRowKeysResponse struct {
 	// Sorted streamed sequence of sample row keys in the table. The table might
@@ -332,6 +395,20 @@ func (m *SampleRowKeysResponse) String() string            { return proto.Compac
 func (*SampleRowKeysResponse) ProtoMessage()               {}
 func (*SampleRowKeysResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *SampleRowKeysResponse) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
+
+func (m *SampleRowKeysResponse) GetOffsetBytes() int64 {
+	if m != nil {
+		return m.OffsetBytes
+	}
+	return 0
+}
+
 // Request message for Bigtable.MutateRow.
 type MutateRowRequest struct {
 	// The unique name of the table to which the mutation should be applied.
@@ -351,6 +428,20 @@ func (m *MutateRowRequest) String() string            { return proto.CompactText
 func (*MutateRowRequest) ProtoMessage()               {}
 func (*MutateRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *MutateRowRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
+func (m *MutateRowRequest) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
+
 func (m *MutateRowRequest) GetMutations() []*Mutation {
 	if m != nil {
 		return m.Mutations
@@ -384,6 +475,13 @@ func (m *MutateRowsRequest) String() string            { return proto.CompactTex
 func (*MutateRowsRequest) ProtoMessage()               {}
 func (*MutateRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *MutateRowsRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
 func (m *MutateRowsRequest) GetEntries() []*MutateRowsRequest_Entry {
 	if m != nil {
 		return m.Entries
@@ -406,6 +504,13 @@ func (m *MutateRowsRequest_Entry) String() string            { return proto.Comp
 func (*MutateRowsRequest_Entry) ProtoMessage()               {}
 func (*MutateRowsRequest_Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6, 0} }
 
+func (m *MutateRowsRequest_Entry) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
+
 func (m *MutateRowsRequest_Entry) GetMutations() []*Mutation {
 	if m != nil {
 		return m.Mutations
@@ -447,6 +552,13 @@ func (m *MutateRowsResponse_Entry) String() string            { return proto.Com
 func (*MutateRowsResponse_Entry) ProtoMessage()               {}
 func (*MutateRowsResponse_Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7, 0} }
 
+func (m *MutateRowsResponse_Entry) GetIndex() int64 {
+	if m != nil {
+		return m.Index
+	}
+	return 0
+}
+
 func (m *MutateRowsResponse_Entry) GetStatus() *google_rpc.Status {
 	if m != nil {
 		return m.Status
@@ -487,6 +599,20 @@ func (m *CheckAndMutateRowRequest) String() string            { return proto.Com
 func (*CheckAndMutateRowRequest) ProtoMessage()               {}
 func (*CheckAndMutateRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *CheckAndMutateRowRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
+func (m *CheckAndMutateRowRequest) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
+
 func (m *CheckAndMutateRowRequest) GetPredicateFilter() *RowFilter {
 	if m != nil {
 		return m.PredicateFilter
@@ -520,6 +646,13 @@ func (m *CheckAndMutateRowResponse) String() string            { return proto.Co
 func (*CheckAndMutateRowResponse) ProtoMessage()               {}
 func (*CheckAndMutateRowResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *CheckAndMutateRowResponse) GetPredicateMatched() bool {
+	if m != nil {
+		return m.PredicateMatched
+	}
+	return false
+}
+
 // Request message for Bigtable.ReadModifyWriteRow.
 type ReadModifyWriteRowRequest struct {
 	// The unique name of the table to which the read/modify/write rules should be
@@ -540,6 +673,20 @@ func (m *ReadModifyWriteRowRequest) String() string            { return proto.Co
 func (*ReadModifyWriteRowRequest) ProtoMessage()               {}
 func (*ReadModifyWriteRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *ReadModifyWriteRowRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
+func (m *ReadModifyWriteRowRequest) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
+
 func (m *ReadModifyWriteRowRequest) GetRules() []*ReadModifyWriteRule {
 	if m != nil {
 		return m.Rules
@@ -939,86 +1086,82 @@ var _Bigtable_serviceDesc = grpc.ServiceDesc{
 			ServerStreams: true,
 		},
 	},
-	Metadata: "google.golang.org/genproto/googleapis/bigtable/v2/bigtable.proto",
+	Metadata: "google/bigtable/v2/bigtable.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/v2/bigtable.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/bigtable/v2/bigtable.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1161 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0x4f, 0x73, 0xdb, 0xc4,
-	0x1b, 0xfe, 0x6d, 0x5c, 0xbb, 0xd6, 0x9b, 0xb6, 0x49, 0xf6, 0x17, 0x5a, 0xd7, 0xb4, 0x83, 0x11,
-	0x2d, 0x38, 0x29, 0x95, 0x3a, 0x61, 0x7a, 0x68, 0x20, 0xa5, 0x24, 0xa4, 0x4d, 0x07, 0xdc, 0xe9,
-	0xac, 0x67, 0xe0, 0xc2, 0x8c, 0x67, 0x2d, 0xaf, 0x9d, 0x25, 0x92, 0x56, 0xd5, 0xae, 0x62, 0x5c,
-	0x86, 0x0b, 0x07, 0x3e, 0x00, 0x9c, 0x19, 0x4e, 0x0c, 0x5c, 0xe0, 0xc8, 0x95, 0x03, 0x1f, 0x81,
-	0x03, 0x5f, 0xa0, 0x9f, 0x80, 0x4f, 0xc0, 0x68, 0xb5, 0xb2, 0x9d, 0xc4, 0x6e, 0x95, 0x4e, 0x4f,
-	0x96, 0xde, 0x7d, 0x9f, 0x77, 0x9f, 0xf7, 0x79, 0xff, 0xc8, 0x70, 0x6f, 0x20, 0xc4, 0xc0, 0x67,
-	0xce, 0x40, 0xf8, 0x34, 0x1c, 0x38, 0x22, 0x1e, 0xb8, 0x03, 0x16, 0x46, 0xb1, 0x50, 0xc2, 0xcd,
-	0x8e, 0x68, 0xc4, 0xa5, 0xdb, 0xe5, 0x03, 0x45, 0xbb, 0x3e, 0x73, 0x0f, 0x37, 0xc6, 0xcf, 0x8e,
-	0xf6, 0xc2, 0xd8, 0x44, 0x18, 0x9b, 0x0f, 0x37, 0xea, 0x0f, 0x8b, 0x45, 0xa5, 0x11, 0x77, 0x25,
-	0x8b, 0x0f, 0xb9, 0xc7, 0x3c, 0x11, 0xf6, 0xf9, 0xc0, 0xa5, 0x61, 0x28, 0x14, 0x55, 0x5c, 0x84,
-	0x32, 0x0b, 0x5f, 0xff, 0xe0, 0xf4, 0x04, 0x7b, 0x54, 0x51, 0x83, 0xbe, 0x33, 0xe0, 0x6a, 0x3f,
-	0xe9, 0x3a, 0x9e, 0x08, 0xdc, 0x2c, 0x82, 0xab, 0x0f, 0xba, 0x49, 0xdf, 0x8d, 0xd4, 0x28, 0x62,
-	0xd2, 0x1d, 0xc6, 0x34, 0x8a, 0x58, 0x3c, 0x79, 0x30, 0xd0, 0xad, 0x62, 0x17, 0xc7, 0x91, 0xe7,
-	0x4a, 0x45, 0x55, 0x22, 0xcd, 0x4f, 0x06, 0xb7, 0xff, 0x40, 0xb0, 0x44, 0x18, 0xed, 0x11, 0x31,
-	0x94, 0x84, 0x3d, 0x49, 0x98, 0x54, 0xf8, 0x2a, 0x80, 0x26, 0xd9, 0x09, 0x69, 0xc0, 0x6a, 0xa8,
-	0x81, 0x9a, 0x16, 0xb1, 0xb4, 0xe5, 0x11, 0x0d, 0x18, 0x76, 0xe0, 0x4c, 0x2c, 0x86, 0xb2, 0xb6,
-	0xd0, 0x40, 0xcd, 0xc5, 0x8d, 0xba, 0x73, 0x52, 0x58, 0x87, 0x88, 0x61, 0x9b, 0x29, 0xa2, 0xfd,
-	0xf0, 0x6d, 0xa8, 0xf4, 0xb9, 0xaf, 0x58, 0x5c, 0x2b, 0x69, 0xc4, 0xd5, 0x39, 0x88, 0xfb, 0xda,
-	0x89, 0x18, 0xe7, 0x94, 0x45, 0x0a, 0xef, 0xf8, 0x3c, 0xe0, 0xaa, 0x76, 0xa6, 0x81, 0x9a, 0x25,
-	0x62, 0xa5, 0x96, 0x4f, 0x53, 0x83, 0xfd, 0x6f, 0x09, 0x96, 0x27, 0xc4, 0x65, 0x24, 0x42, 0xc9,
-	0xf0, 0x7d, 0xa8, 0x78, 0xfb, 0x49, 0x78, 0x20, 0x6b, 0xa8, 0x51, 0x6a, 0x2e, 0x6e, 0x38, 0x33,
-	0xaf, 0x3a, 0x86, 0x72, 0x76, 0x98, 0xef, 0xef, 0xa4, 0x30, 0x62, 0xd0, 0xd8, 0x85, 0x55, 0x9f,
-	0x4a, 0xd5, 0x91, 0x1e, 0x0d, 0x43, 0xd6, 0xeb, 0xc4, 0x62, 0xd8, 0x39, 0x60, 0x23, 0x9d, 0xf2,
-	0x39, 0xb2, 0x92, 0x9e, 0xb5, 0xb3, 0x23, 0x22, 0x86, 0x9f, 0xb0, 0x51, 0xfd, 0xd9, 0x02, 0x58,
-	0xe3, 0x30, 0xf8, 0x12, 0x9c, 0xcd, 0x11, 0x48, 0x23, 0x2a, 0xb1, 0x76, 0xc3, 0x5b, 0xb0, 0xd8,
-	0xa7, 0x01, 0xf7, 0x47, 0x99, 0xb4, 0x99, 0x82, 0x57, 0x72, 0x92, 0x79, 0xc9, 0x9d, 0xb6, 0x8a,
-	0x79, 0x38, 0xf8, 0x8c, 0xfa, 0x09, 0x23, 0x90, 0x01, 0xb4, 0xf2, 0x77, 0xc0, 0x7a, 0x92, 0x50,
-	0x9f, 0xf7, 0xf9, 0x58, 0xcc, 0xd7, 0x4f, 0x80, 0xb7, 0x47, 0x8a, 0xc9, 0x0c, 0x3b, 0xf1, 0xc6,
-	0x6b, 0xb0, 0xac, 0x78, 0xc0, 0xa4, 0xa2, 0x41, 0xd4, 0x09, 0xb8, 0x17, 0x0b, 0x69, 0x34, 0x5d,
-	0x1a, 0xdb, 0x5b, 0xda, 0x8c, 0x2f, 0x42, 0xc5, 0xa7, 0x5d, 0xe6, 0xcb, 0x5a, 0xb9, 0x51, 0x6a,
-	0x5a, 0xc4, 0xbc, 0xe1, 0x55, 0x28, 0x1f, 0xa6, 0x61, 0x6b, 0x15, 0x9d, 0x53, 0xf6, 0x92, 0x96,
-	0x49, 0x3f, 0x74, 0x24, 0x7f, 0xca, 0x6a, 0x67, 0x1b, 0xa8, 0x59, 0x26, 0x96, 0xb6, 0xb4, 0xf9,
-	0xd3, 0xf4, 0xd8, 0x8a, 0x99, 0x64, 0x2a, 0x95, 0xb0, 0x56, 0x6d, 0xa0, 0x66, 0x75, 0xef, 0x7f,
-	0xa4, 0xaa, 0x4d, 0x44, 0x0c, 0xf1, 0x1b, 0x00, 0x9e, 0x08, 0x02, 0x9e, 0x9d, 0x5b, 0xe6, 0xdc,
-	0xca, 0x6c, 0x44, 0x0c, 0xb7, 0xcf, 0xe9, 0x2e, 0xe8, 0x64, 0x3d, 0x6b, 0xdf, 0x86, 0xd5, 0x36,
-	0x0d, 0x22, 0x9f, 0x65, 0xb2, 0x17, 0xec, 0x58, 0xbb, 0x0d, 0xaf, 0x1d, 0x83, 0x99, 0x7e, 0x99,
-	0x5b, 0xa8, 0x37, 0xe1, 0x9c, 0xe8, 0xf7, 0x53, 0xde, 0xdd, 0x54, 0x4e, 0x5d, 0xa9, 0x12, 0x59,
-	0xcc, 0x6c, 0x5a, 0x61, 0xfb, 0x3b, 0x04, 0xcb, 0xad, 0x44, 0x51, 0x95, 0x46, 0x2d, 0x38, 0x3a,
-	0x53, 0xf7, 0x2d, 0x1c, 0xb9, 0x6f, 0x13, 0xac, 0x20, 0x31, 0x1b, 0xa5, 0x56, 0xd2, 0xbd, 0x7b,
-	0x65, 0x56, 0xef, 0xb6, 0x8c, 0x13, 0x99, 0xb8, 0xdb, 0xff, 0x87, 0x95, 0x29, 0x1e, 0x59, 0x66,
-	0xf6, 0x3f, 0x68, 0xca, 0x5a, 0x74, 0xb2, 0x77, 0xe1, 0x2c, 0x0b, 0x55, 0xcc, 0x75, 0xc2, 0x29,
-	0x87, 0x1b, 0x73, 0x39, 0x4c, 0x87, 0x75, 0x76, 0x43, 0x15, 0x8f, 0x48, 0x8e, 0xad, 0x7f, 0x01,
-	0x65, 0x6d, 0x99, 0x2f, 0xef, 0x91, 0x74, 0x17, 0x4e, 0x97, 0xee, 0x2f, 0x08, 0xf0, 0x34, 0x85,
-	0xf1, 0xe8, 0x8f, 0xb9, 0x67, 0xb3, 0xff, 0xee, 0x8b, 0xb8, 0x9b, 0xe9, 0x3f, 0x46, 0xfe, 0x61,
-	0x4e, 0x7e, 0x15, 0xca, 0x3c, 0xec, 0xb1, 0xaf, 0x34, 0xf5, 0x12, 0xc9, 0x5e, 0xf0, 0x3a, 0x54,
-	0xb2, 0x5e, 0x34, 0xc3, 0x8b, 0xf3, 0x5b, 0xe2, 0xc8, 0x73, 0xda, 0xfa, 0x84, 0x18, 0x0f, 0xfb,
-	0xd7, 0x05, 0xa8, 0xed, 0xec, 0x33, 0xef, 0xe0, 0xa3, 0xb0, 0xf7, 0xca, 0x3a, 0x65, 0x0f, 0x96,
-	0xa3, 0x98, 0xf5, 0xb8, 0x47, 0x15, 0xeb, 0x98, 0xbd, 0x5a, 0x29, 0xb2, 0x57, 0x97, 0xc6, 0xb0,
-	0xcc, 0x80, 0x77, 0xe0, 0x82, 0x8a, 0x13, 0xd6, 0x99, 0x54, 0xe2, 0x4c, 0x81, 0x4a, 0x9c, 0x4f,
-	0x31, 0xf9, 0x9b, 0xc4, 0xbb, 0xb0, 0xd4, 0xa7, 0xbe, 0x9c, 0x8e, 0x52, 0x2e, 0x10, 0xe5, 0x82,
-	0x06, 0x8d, 0xc3, 0xd8, 0x7b, 0x70, 0x79, 0x86, 0x52, 0xa6, 0xb4, 0x37, 0x60, 0x65, 0x92, 0x72,
-	0x40, 0x95, 0xb7, 0xcf, 0x7a, 0x5a, 0xb1, 0x2a, 0x99, 0x68, 0xd1, 0xca, 0xec, 0xf6, 0xf7, 0x08,
-	0x2e, 0xa7, 0x1b, 0xbe, 0x25, 0x7a, 0xbc, 0x3f, 0xfa, 0x3c, 0xe6, 0xaf, 0x44, 0xf5, 0x2d, 0x28,
-	0xc7, 0x89, 0xcf, 0xf2, 0xd9, 0x7c, 0x67, 0xde, 0x77, 0x65, 0xfa, 0xd6, 0xc4, 0x67, 0x24, 0x43,
-	0xd9, 0x0f, 0xa0, 0x3e, 0x8b, 0x93, 0xc9, 0x6f, 0x0d, 0x4a, 0xe9, 0xf6, 0x43, 0xba, 0x8a, 0x97,
-	0xe6, 0x54, 0x91, 0xa4, 0x3e, 0x1b, 0xbf, 0x55, 0xa1, 0xba, 0x6d, 0x0e, 0xf0, 0x8f, 0x08, 0xaa,
-	0xf9, 0xc7, 0x0c, 0xbf, 0xf5, 0xfc, 0x4f, 0x9d, 0x4e, 0xbf, 0x7e, 0xad, 0xc8, 0xf7, 0xd0, 0xfe,
-	0xf8, 0xdb, 0xbf, 0x9f, 0xfd, 0xb0, 0x70, 0xd7, 0xbe, 0x93, 0xfe, 0x4b, 0xf9, 0x7a, 0xa2, 0xd7,
-	0x56, 0x14, 0x8b, 0x2f, 0x99, 0xa7, 0xa4, 0xbb, 0xee, 0xf2, 0x50, 0x2a, 0x1a, 0x7a, 0x2c, 0x7d,
-	0xd6, 0x1e, 0xd2, 0x5d, 0xff, 0x66, 0x33, 0x36, 0xa1, 0x36, 0xd1, 0xfa, 0x2d, 0x84, 0x7f, 0x47,
-	0x70, 0xfe, 0xc8, 0xde, 0xc5, 0xcd, 0x59, 0xf7, 0xcf, 0xda, 0xe8, 0xf5, 0xb5, 0x02, 0x9e, 0x86,
-	0xee, 0x7d, 0x4d, 0xf7, 0x1e, 0xbe, 0x7b, 0x6a, 0xba, 0x72, 0x3a, 0xde, 0x2d, 0x84, 0x7f, 0x42,
-	0x60, 0x8d, 0xdb, 0x0f, 0x5f, 0x7b, 0xee, 0x02, 0xc9, 0x89, 0x5e, 0x7f, 0x81, 0x97, 0x21, 0xb9,
-	0xab, 0x49, 0x7e, 0x68, 0x6f, 0x9e, 0x9a, 0x64, 0x90, 0xc7, 0xda, 0x44, 0xeb, 0xf8, 0x67, 0x04,
-	0x30, 0xd9, 0x61, 0xf8, 0x7a, 0xa1, 0xfd, 0x5c, 0x7f, 0xbb, 0xd8, 0x2a, 0xcc, 0x95, 0xb4, 0xdf,
-	0x7f, 0x79, 0x92, 0xa6, 0xf4, 0x7f, 0x22, 0x58, 0x39, 0x31, 0xd0, 0x78, 0xe6, 0x4a, 0x9e, 0xb7,
-	0x21, 0xeb, 0x37, 0x0b, 0x7a, 0x1b, 0xf2, 0x2d, 0x4d, 0xfe, 0x81, 0xbd, 0x7d, 0x6a, 0xf2, 0xde,
-	0xf1, 0x98, 0xa9, 0xd2, 0x7f, 0x21, 0xc0, 0x27, 0x67, 0x16, 0xdf, 0x2c, 0x32, 0xf9, 0x93, 0x1c,
-	0x9c, 0xa2, 0xee, 0x26, 0x89, 0x47, 0x3a, 0x89, 0x3d, 0x7b, 0xe7, 0xa5, 0x46, 0xef, 0x68, 0xd0,
-	0x4d, 0xb4, 0xbe, 0xbd, 0x06, 0x17, 0x3d, 0x11, 0xcc, 0x20, 0xb1, 0x7d, 0x3e, 0x5f, 0x23, 0x8f,
-	0xd3, 0x3f, 0x8e, 0x8f, 0x51, 0xb7, 0xa2, 0xff, 0x41, 0xbe, 0xf7, 0x5f, 0x00, 0x00, 0x00, 0xff,
-	0xff, 0x2c, 0xaa, 0xd8, 0x79, 0x6b, 0x0d, 0x00, 0x00,
+	// 1135 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x4f, 0x6f, 0x1b, 0x45,
+	0x14, 0x67, 0xec, 0xda, 0xf1, 0xbe, 0x24, 0x4d, 0x32, 0x84, 0xc6, 0x35, 0x09, 0xb8, 0x4b, 0x0b,
+	0x8e, 0x4b, 0xd7, 0x55, 0x50, 0x0f, 0x75, 0x95, 0x02, 0x0e, 0x49, 0x83, 0xc0, 0x55, 0x35, 0x96,
+	0x40, 0x42, 0x48, 0xd6, 0x78, 0x3d, 0x76, 0x96, 0xec, 0xbf, 0xee, 0x8c, 0x63, 0x5c, 0xc4, 0x85,
+	0x03, 0x1f, 0x00, 0xce, 0x88, 0x13, 0x82, 0x0b, 0x1c, 0xb9, 0x72, 0xe0, 0x23, 0x70, 0xe0, 0x0b,
+	0xf4, 0x13, 0xf0, 0x09, 0xd0, 0xcc, 0xce, 0xda, 0x4e, 0x62, 0xb7, 0x9b, 0xaa, 0xb7, 0x9d, 0xf7,
+	0xde, 0xef, 0xcd, 0xef, 0xfd, 0x1d, 0x1b, 0xae, 0xf5, 0x83, 0xa0, 0xef, 0xb2, 0x5a, 0xc7, 0xe9,
+	0x0b, 0xda, 0x71, 0x59, 0xed, 0x64, 0x67, 0xfc, 0x6d, 0x85, 0x51, 0x20, 0x02, 0x8c, 0x63, 0x13,
+	0x6b, 0x2c, 0x3e, 0xd9, 0x29, 0x6d, 0x6a, 0x18, 0x0d, 0x9d, 0x1a, 0xf5, 0xfd, 0x40, 0x50, 0xe1,
+	0x04, 0x3e, 0x8f, 0x11, 0xa5, 0xad, 0x19, 0x4e, 0xbb, 0x54, 0x50, 0xad, 0x7e, 0x43, 0xab, 0xd5,
+	0xa9, 0x33, 0xe8, 0xd5, 0x86, 0x11, 0x0d, 0x43, 0x16, 0x25, 0xf0, 0x0d, 0xad, 0x8f, 0x42, 0xbb,
+	0xc6, 0x05, 0x15, 0x03, 0xad, 0x30, 0xff, 0x44, 0xb0, 0x42, 0x18, 0xed, 0x92, 0x60, 0xc8, 0x09,
+	0x7b, 0x3c, 0x60, 0x5c, 0xe0, 0x2d, 0x00, 0x75, 0x47, 0xdb, 0xa7, 0x1e, 0x2b, 0xa2, 0x32, 0xaa,
+	0x18, 0xc4, 0x50, 0x92, 0x87, 0xd4, 0x63, 0xd8, 0x82, 0x4b, 0x51, 0x30, 0xe4, 0xc5, 0x4c, 0x19,
+	0x55, 0x16, 0x77, 0x4a, 0xd6, 0xf9, 0x58, 0x2c, 0x12, 0x0c, 0x5b, 0x4c, 0x10, 0x65, 0x87, 0xef,
+	0x40, 0xbe, 0xe7, 0xb8, 0x82, 0x45, 0xc5, 0xac, 0x42, 0x6c, 0xcd, 0x41, 0x1c, 0x28, 0x23, 0xa2,
+	0x8d, 0x25, 0x0b, 0x09, 0x6f, 0xbb, 0x8e, 0xe7, 0x88, 0xe2, 0xa5, 0x32, 0xaa, 0x64, 0x89, 0x21,
+	0x25, 0x9f, 0x4a, 0x81, 0xf9, 0x5f, 0x16, 0x56, 0x27, 0xc4, 0x79, 0x18, 0xf8, 0x9c, 0xe1, 0x03,
+	0xc8, 0xdb, 0x47, 0x03, 0xff, 0x98, 0x17, 0x51, 0x39, 0x5b, 0x59, 0xdc, 0xb1, 0x66, 0x5e, 0x75,
+	0x06, 0x65, 0xed, 0x31, 0xd7, 0xdd, 0x93, 0x30, 0xa2, 0xd1, 0xb8, 0x06, 0xeb, 0x2e, 0xe5, 0xa2,
+	0xcd, 0x6d, 0xea, 0xfb, 0xac, 0xdb, 0x8e, 0x82, 0x61, 0xfb, 0x98, 0x8d, 0x54, 0xc8, 0x4b, 0x64,
+	0x4d, 0xea, 0x5a, 0xb1, 0x8a, 0x04, 0xc3, 0x4f, 0xd8, 0xa8, 0xf4, 0x34, 0x03, 0xc6, 0xd8, 0x0d,
+	0xde, 0x80, 0x85, 0x04, 0x81, 0x14, 0x22, 0x1f, 0x29, 0x33, 0xbc, 0x0b, 0x8b, 0x3d, 0xea, 0x39,
+	0xee, 0x28, 0x4e, 0x6d, 0x9c, 0xc1, 0xcd, 0x84, 0x64, 0x52, 0x3c, 0xab, 0x25, 0x22, 0xc7, 0xef,
+	0x7f, 0x46, 0xdd, 0x01, 0x23, 0x10, 0x03, 0x54, 0xe6, 0xef, 0x82, 0xf1, 0x78, 0x40, 0x5d, 0xa7,
+	0xe7, 0x8c, 0x93, 0xf9, 0xfa, 0x39, 0x70, 0x63, 0x24, 0x18, 0x8f, 0xb1, 0x13, 0x6b, 0xbc, 0x0d,
+	0xab, 0xc2, 0xf1, 0x18, 0x17, 0xd4, 0x0b, 0xdb, 0x9e, 0x63, 0x47, 0x01, 0xd7, 0x39, 0x5d, 0x19,
+	0xcb, 0x9b, 0x4a, 0x8c, 0xaf, 0x40, 0xde, 0xa5, 0x1d, 0xe6, 0xf2, 0x62, 0xae, 0x9c, 0xad, 0x18,
+	0x44, 0x9f, 0xf0, 0x3a, 0xe4, 0x4e, 0xa4, 0xdb, 0x62, 0x5e, 0xc5, 0x14, 0x1f, 0x64, 0x99, 0xd4,
+	0x47, 0x9b, 0x3b, 0x4f, 0x58, 0x71, 0xa1, 0x8c, 0x2a, 0x39, 0x62, 0x28, 0x49, 0xcb, 0x79, 0x22,
+	0xd5, 0x46, 0xc4, 0x38, 0x13, 0x32, 0x85, 0xc5, 0x42, 0x19, 0x55, 0x0a, 0x87, 0xaf, 0x90, 0x82,
+	0x12, 0x91, 0x60, 0x88, 0xdf, 0x04, 0xb0, 0x03, 0xcf, 0x73, 0x62, 0xbd, 0xa1, 0xf5, 0x46, 0x2c,
+	0x23, 0xc1, 0xb0, 0xb1, 0xa4, 0xba, 0xa0, 0x1d, 0xf7, 0xac, 0x79, 0x07, 0xd6, 0x5b, 0xd4, 0x0b,
+	0x5d, 0x16, 0xa7, 0x3d, 0x65, 0xc7, 0x9a, 0x2d, 0x78, 0xed, 0x0c, 0x4c, 0xf7, 0xcb, 0xdc, 0x42,
+	0x5d, 0x83, 0xa5, 0xa0, 0xd7, 0x93, 0xbc, 0x3b, 0x32, 0x9d, 0xaa, 0x52, 0x59, 0xb2, 0x18, 0xcb,
+	0x54, 0x86, 0xcd, 0xef, 0x11, 0xac, 0x36, 0x07, 0x82, 0x0a, 0xe9, 0x35, 0xe5, 0xe8, 0x4c, 0xdd,
+	0x97, 0x39, 0x75, 0x5f, 0x1d, 0x0c, 0x6f, 0xa0, 0x27, 0xbe, 0x98, 0x55, 0xbd, 0xbb, 0x39, 0xab,
+	0x77, 0x9b, 0xda, 0x88, 0x4c, 0xcc, 0xcd, 0x57, 0x61, 0x6d, 0x8a, 0x47, 0x1c, 0x99, 0xf9, 0x2f,
+	0x9a, 0x92, 0xa6, 0x9d, 0xec, 0x7d, 0x58, 0x60, 0xbe, 0x88, 0x1c, 0x15, 0xb0, 0xe4, 0x70, 0x73,
+	0x2e, 0x87, 0x69, 0xb7, 0xd6, 0xbe, 0x2f, 0xa2, 0x11, 0x49, 0xb0, 0xa5, 0x2f, 0x21, 0xa7, 0x24,
+	0xf3, 0xd3, 0x7b, 0x2a, 0xdc, 0xcc, 0xc5, 0xc2, 0xfd, 0x15, 0x01, 0x9e, 0xa6, 0x30, 0x1e, 0xfd,
+	0x31, 0xf7, 0x78, 0xf6, 0xdf, 0x7d, 0x1e, 0x77, 0x3d, 0xfd, 0x67, 0xc8, 0x7f, 0x9c, 0x90, 0x5f,
+	0x87, 0x9c, 0xe3, 0x77, 0xd9, 0xd7, 0x8a, 0x7a, 0x96, 0xc4, 0x07, 0x5c, 0x85, 0x7c, 0xdc, 0x8b,
+	0x7a, 0x78, 0x71, 0x72, 0x4b, 0x14, 0xda, 0x56, 0x4b, 0x69, 0x88, 0xb6, 0x30, 0x7f, 0xcb, 0x40,
+	0x71, 0xef, 0x88, 0xd9, 0xc7, 0x1f, 0xfa, 0xdd, 0x97, 0xd6, 0x29, 0x87, 0xb0, 0x1a, 0x46, 0xac,
+	0xeb, 0xd8, 0x54, 0xb0, 0xb6, 0xde, 0xab, 0xf9, 0x34, 0x7b, 0x75, 0x65, 0x0c, 0x8b, 0x05, 0x78,
+	0x0f, 0x2e, 0x8b, 0x68, 0xc0, 0xda, 0x93, 0x4a, 0x5c, 0x4a, 0x51, 0x89, 0x65, 0x89, 0x49, 0x4e,
+	0x1c, 0xef, 0xc3, 0x4a, 0x8f, 0xba, 0x7c, 0xda, 0x4b, 0x2e, 0x85, 0x97, 0xcb, 0x0a, 0x34, 0x76,
+	0x63, 0x1e, 0xc2, 0xd5, 0x19, 0x99, 0xd2, 0xa5, 0xbd, 0x09, 0x6b, 0x93, 0x90, 0x3d, 0x2a, 0xec,
+	0x23, 0xd6, 0x55, 0x19, 0x2b, 0x90, 0x49, 0x2e, 0x9a, 0xb1, 0xdc, 0xfc, 0x01, 0xc1, 0x55, 0xb9,
+	0xe1, 0x9b, 0x41, 0xd7, 0xe9, 0x8d, 0x3e, 0x8f, 0x9c, 0x97, 0x92, 0xf5, 0x5d, 0xc8, 0x45, 0x03,
+	0x97, 0x25, 0xb3, 0xf9, 0xce, 0xbc, 0x77, 0x65, 0xfa, 0xd6, 0x81, 0xcb, 0x48, 0x8c, 0x32, 0x1f,
+	0x40, 0x69, 0x16, 0x27, 0x1d, 0xdf, 0x36, 0x64, 0xe5, 0xf6, 0x43, 0xaa, 0x8a, 0x1b, 0x73, 0xaa,
+	0x48, 0xa4, 0xcd, 0xce, 0xef, 0x05, 0x28, 0x34, 0xb4, 0x02, 0xff, 0x84, 0xa0, 0x90, 0x3c, 0x66,
+	0xf8, 0xad, 0x67, 0x3f, 0x75, 0x2a, 0xfc, 0xd2, 0xf5, 0x34, 0xef, 0xa1, 0xf9, 0xd1, 0x77, 0xff,
+	0x3c, 0xfd, 0x31, 0x73, 0xdf, 0xbc, 0x2b, 0x7f, 0x64, 0x7c, 0x33, 0xc9, 0xd7, 0x6e, 0x18, 0x05,
+	0x5f, 0x31, 0x5b, 0xf0, 0x5a, 0xb5, 0xe6, 0xf8, 0x5c, 0x50, 0xdf, 0x66, 0xf2, 0x5b, 0x59, 0xf0,
+	0x5a, 0xf5, 0xdb, 0x7a, 0xa4, 0x5d, 0xd5, 0x51, 0xf5, 0x36, 0xc2, 0x7f, 0x20, 0x58, 0x3e, 0xb5,
+	0x77, 0x71, 0x65, 0xd6, 0xfd, 0xb3, 0x36, 0x7a, 0x69, 0x3b, 0x85, 0xa5, 0xa6, 0x7b, 0xa0, 0xe8,
+	0x7e, 0x80, 0xef, 0x5f, 0x98, 0x2e, 0x9f, 0xf6, 0x77, 0x1b, 0xe1, 0x9f, 0x11, 0x18, 0xe3, 0xf6,
+	0xc3, 0xd7, 0x9f, 0xb9, 0x40, 0x12, 0xa2, 0x37, 0x9e, 0x63, 0xa5, 0x49, 0xee, 0x2b, 0x92, 0xef,
+	0x9b, 0xf5, 0x0b, 0x93, 0xf4, 0x12, 0x5f, 0x75, 0x54, 0xc5, 0xbf, 0x20, 0x80, 0xc9, 0x0e, 0xc3,
+	0x37, 0x52, 0xed, 0xe7, 0xd2, 0xdb, 0xe9, 0x56, 0x61, 0x92, 0x49, 0xf3, 0xde, 0x8b, 0x93, 0xd4,
+	0xa5, 0xff, 0x0b, 0xc1, 0xda, 0xb9, 0x81, 0xc6, 0x33, 0x57, 0xf2, 0xbc, 0x0d, 0x59, 0xba, 0x95,
+	0xd2, 0x5a, 0x93, 0x6f, 0x2a, 0xf2, 0x0f, 0xcc, 0xc6, 0x85, 0xc9, 0xdb, 0x67, 0x7d, 0xca, 0x4c,
+	0xff, 0x8d, 0x00, 0x9f, 0x9f, 0x59, 0x7c, 0x2b, 0xcd, 0xe4, 0x4f, 0x62, 0xb0, 0xd2, 0x9a, 0xeb,
+	0x20, 0x1e, 0xaa, 0x20, 0x0e, 0xcd, 0xbd, 0x17, 0x1a, 0xbd, 0xd3, 0x4e, 0xeb, 0xa8, 0xda, 0x60,
+	0x70, 0xc5, 0x0e, 0xbc, 0x19, 0x24, 0x1a, 0xcb, 0xc9, 0x1a, 0x79, 0x24, 0x7f, 0x38, 0x3e, 0x42,
+	0x5f, 0xd4, 0xb5, 0x51, 0x3f, 0x70, 0xa9, 0xdf, 0xb7, 0x82, 0xa8, 0x5f, 0xeb, 0x33, 0x5f, 0xfd,
+	0xac, 0xac, 0xc5, 0x2a, 0x1a, 0x3a, 0x7c, 0xfa, 0x0f, 0xc8, 0xbd, 0xe4, 0xbb, 0x93, 0x57, 0x66,
+	0xef, 0xfd, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x38, 0x8d, 0xf4, 0x91, 0xfb, 0x0c, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v2/bigtable.proto b/googleapis/bigtable/v2/bigtable.proto
deleted file mode 100644
index 866ca5633996d5286f293eade3969b00102a25c7..0000000000000000000000000000000000000000
--- a/googleapis/bigtable/v2/bigtable.proto
+++ /dev/null
@@ -1,321 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.bigtable.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/bigtable/v2/data.proto"; // from google/bigtable/v2/data.proto
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "BigtableProto";
-option java_package = "com.google.bigtable.v2";
-
-
-// Service for reading from and writing to existing Bigtable tables.
-service Bigtable {
-  // Streams back the contents of all requested rows, optionally
-  // applying the same Reader filter to each. Depending on their size,
-  // rows and cells may be broken up across multiple responses, but
-  // atomicity of each row will still be preserved. See the
-  // ReadRowsResponse documentation for details.
-  rpc ReadRows(ReadRowsRequest) returns (stream ReadRowsResponse) {
-    option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:readRows" body: "*" };
-  }
-
-  // Returns a sample of row keys in the table. The returned row keys will
-  // delimit contiguous sections of the table of approximately equal size,
-  // which can be used to break up the data for distributed tasks like
-  // mapreduces.
-  rpc SampleRowKeys(SampleRowKeysRequest) returns (stream SampleRowKeysResponse) {
-    option (google.api.http) = { get: "/v2/{table_name=projects/*/instances/*/tables/*}:sampleRowKeys" };
-  }
-
-  // Mutates a row atomically. Cells already present in the row are left
-  // unchanged unless explicitly changed by `mutation`.
-  rpc MutateRow(MutateRowRequest) returns (MutateRowResponse) {
-    option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:mutateRow" body: "*" };
-  }
-
-  // Mutates multiple rows in a batch. Each individual row is mutated
-  // atomically as in MutateRow, but the entire batch is not executed
-  // atomically.
-  rpc MutateRows(MutateRowsRequest) returns (stream MutateRowsResponse) {
-    option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:mutateRows" body: "*" };
-  }
-
-  // Mutates a row atomically based on the output of a predicate Reader filter.
-  rpc CheckAndMutateRow(CheckAndMutateRowRequest) returns (CheckAndMutateRowResponse) {
-    option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:checkAndMutateRow" body: "*" };
-  }
-
-  // Modifies a row atomically. The method reads the latest existing timestamp
-  // and value from the specified columns and writes a new entry based on
-  // pre-defined read/modify/write rules. The new value for the timestamp is the
-  // greater of the existing timestamp or the current server time. The method
-  // returns the new contents of all modified cells.
-  rpc ReadModifyWriteRow(ReadModifyWriteRowRequest) returns (ReadModifyWriteRowResponse) {
-    option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:readModifyWriteRow" body: "*" };
-  }
-}
-
-// Request message for Bigtable.ReadRows.
-message ReadRowsRequest {
-  // The unique name of the table from which to read.
-  // Values are of the form
-  // `projects/<project>/instances/<instance>/tables/<table>`.
-  string table_name = 1;
-
-  // The row keys and/or ranges to read. If not specified, reads from all rows.
-  RowSet rows = 2;
-
-  // The filter to apply to the contents of the specified row(s). If unset,
-  // reads the entirety of each row.
-  RowFilter filter = 3;
-
-  // The read will terminate after committing to N rows' worth of results. The
-  // default (zero) is to return all results.
-  int64 rows_limit = 4;
-}
-
-// Response message for Bigtable.ReadRows.
-message ReadRowsResponse {
-  // Specifies a piece of a row's contents returned as part of the read
-  // response stream.
-  message CellChunk {
-    // The row key for this chunk of data.  If the row key is empty,
-    // this CellChunk is a continuation of the same row as the previous
-    // CellChunk in the response stream, even if that CellChunk was in a
-    // previous ReadRowsResponse message.
-    bytes row_key = 1;
-
-    // The column family name for this chunk of data.  If this message
-    // is not present this CellChunk is a continuation of the same column
-    // family as the previous CellChunk.  The empty string can occur as a
-    // column family name in a response so clients must check
-    // explicitly for the presence of this message, not just for
-    // `family_name.value` being non-empty.
-    google.protobuf.StringValue family_name = 2;
-
-    // The column qualifier for this chunk of data.  If this message
-    // is not present, this CellChunk is a continuation of the same column
-    // as the previous CellChunk.  Column qualifiers may be empty so
-    // clients must check for the presence of this message, not just
-    // for `qualifier.value` being non-empty.
-    google.protobuf.BytesValue qualifier = 3;
-
-    // The cell's stored timestamp, which also uniquely identifies it
-    // within its column.  Values are always expressed in
-    // microseconds, but individual tables may set a coarser
-    // granularity to further restrict the allowed values. For
-    // example, a table which specifies millisecond granularity will
-    // only allow values of `timestamp_micros` which are multiples of
-    // 1000.  Timestamps are only set in the first CellChunk per cell
-    // (for cells split into multiple chunks).
-    int64 timestamp_micros = 4;
-
-    // Labels applied to the cell by a
-    // [RowFilter][google.bigtable.v2.RowFilter].  Labels are only set
-    // on the first CellChunk per cell.
-    repeated string labels = 5;
-
-    // The value stored in the cell.  Cell values can be split across
-    // multiple CellChunks.  In that case only the value field will be
-    // set in CellChunks after the first: the timestamp and labels
-    // will only be present in the first CellChunk, even if the first
-    // CellChunk came in a previous ReadRowsResponse.
-    bytes value = 6;
-
-    // If this CellChunk is part of a chunked cell value and this is
-    // not the final chunk of that cell, value_size will be set to the
-    // total length of the cell value.  The client can use this size
-    // to pre-allocate memory to hold the full cell value.
-    int32 value_size = 7;
-
-    oneof row_status {
-      // Indicates that the client should drop all previous chunks for
-      // `row_key`, as it will be re-read from the beginning.
-      bool reset_row = 8;
-
-      // Indicates that the client can safely process all previous chunks for
-      // `row_key`, as its data has been fully read.
-      bool commit_row = 9;
-    }
-  }
-
-  repeated CellChunk chunks = 1;
-
-  // Optionally the server might return the row key of the last row it
-  // has scanned.  The client can use this to construct a more
-  // efficient retry request if needed: any row keys or portions of
-  // ranges less than this row key can be dropped from the request.
-  // This is primarily useful for cases where the server has read a
-  // lot of data that was filtered out since the last committed row
-  // key, allowing the client to skip that work on a retry.
-  bytes last_scanned_row_key = 2;
-}
-
-// Request message for Bigtable.SampleRowKeys.
-message SampleRowKeysRequest {
-  // The unique name of the table from which to sample row keys.
-  // Values are of the form
-  // `projects/<project>/instances/<instance>/tables/<table>`.
-  string table_name = 1;
-}
-
-// Response message for Bigtable.SampleRowKeys.
-message SampleRowKeysResponse {
-  // Sorted streamed sequence of sample row keys in the table. The table might
-  // have contents before the first row key in the list and after the last one,
-  // but a key containing the empty string indicates "end of table" and will be
-  // the last response given, if present.
-  // Note that row keys in this list may not have ever been written to or read
-  // from, and users should therefore not make any assumptions about the row key
-  // structure that are specific to their use case.
-  bytes row_key = 1;
-
-  // Approximate total storage space used by all rows in the table which precede
-  // `row_key`. Buffering the contents of all rows between two subsequent
-  // samples would require space roughly equal to the difference in their
-  // `offset_bytes` fields.
-  int64 offset_bytes = 2;
-}
-
-// Request message for Bigtable.MutateRow.
-message MutateRowRequest {
-  // The unique name of the table to which the mutation should be applied.
-  // Values are of the form
-  // `projects/<project>/instances/<instance>/tables/<table>`.
-  string table_name = 1;
-
-  // The key of the row to which the mutation should be applied.
-  bytes row_key = 2;
-
-  // Changes to be atomically applied to the specified row. Entries are applied
-  // in order, meaning that earlier mutations can be masked by later ones.
-  // Must contain at least one entry and at most 100000.
-  repeated Mutation mutations = 3;
-}
-
-// Response message for Bigtable.MutateRow.
-message MutateRowResponse {
-
-}
-
-// Request message for BigtableService.MutateRows.
-message MutateRowsRequest {
-  message Entry {
-    // The key of the row to which the `mutations` should be applied.
-    bytes row_key = 1;
-
-    // Changes to be atomically applied to the specified row. Mutations are
-    // applied in order, meaning that earlier mutations can be masked by
-    // later ones.
-    // You must specify at least one mutation.
-    repeated Mutation mutations = 2;
-  }
-
-  // The unique name of the table to which the mutations should be applied.
-  string table_name = 1;
-
-  // The row keys and corresponding mutations to be applied in bulk.
-  // Each entry is applied as an atomic mutation, but the entries may be
-  // applied in arbitrary order (even between entries for the same row).
-  // At least one entry must be specified, and in total the entries can
-  // contain at most 100000 mutations.
-  repeated Entry entries = 2;
-}
-
-// Response message for BigtableService.MutateRows.
-message MutateRowsResponse {
-  message Entry {
-    // The index into the original request's `entries` list of the Entry
-    // for which a result is being reported.
-    int64 index = 1;
-
-    // The result of the request Entry identified by `index`.
-    // Depending on how requests are batched during execution, it is possible
-    // for one Entry to fail due to an error with another Entry. In the event
-    // that this occurs, the same error will be reported for both entries.
-    google.rpc.Status status = 2;
-  }
-
-  // One or more results for Entries from the batch request.
-  repeated Entry entries = 1;
-}
-
-// Request message for Bigtable.CheckAndMutateRow.
-message CheckAndMutateRowRequest {
-  // The unique name of the table to which the conditional mutation should be
-  // applied.
-  // Values are of the form
-  // `projects/<project>/instances/<instance>/tables/<table>`.
-  string table_name = 1;
-
-  // The key of the row to which the conditional mutation should be applied.
-  bytes row_key = 2;
-
-  // The filter to be applied to the contents of the specified row. Depending
-  // on whether or not any results are yielded, either `true_mutations` or
-  // `false_mutations` will be executed. If unset, checks that the row contains
-  // any values at all.
-  RowFilter predicate_filter = 6;
-
-  // Changes to be atomically applied to the specified row if `predicate_filter`
-  // yields at least one cell when applied to `row_key`. Entries are applied in
-  // order, meaning that earlier mutations can be masked by later ones.
-  // Must contain at least one entry if `false_mutations` is empty, and at most
-  // 100000.
-  repeated Mutation true_mutations = 4;
-
-  // Changes to be atomically applied to the specified row if `predicate_filter`
-  // does not yield any cells when applied to `row_key`. Entries are applied in
-  // order, meaning that earlier mutations can be masked by later ones.
-  // Must contain at least one entry if `true_mutations` is empty, and at most
-  // 100000.
-  repeated Mutation false_mutations = 5;
-}
-
-// Response message for Bigtable.CheckAndMutateRow.
-message CheckAndMutateRowResponse {
-  // Whether or not the request's `predicate_filter` yielded any results for
-  // the specified row.
-  bool predicate_matched = 1;
-}
-
-// Request message for Bigtable.ReadModifyWriteRow.
-message ReadModifyWriteRowRequest {
-  // The unique name of the table to which the read/modify/write rules should be
-  // applied.
-  // Values are of the form
-  // `projects/<project>/instances/<instance>/tables/<table>`.
-  string table_name = 1;
-
-  // The key of the row to which the read/modify/write rules should be applied.
-  bytes row_key = 2;
-
-  // Rules specifying how the specified row's contents are to be transformed
-  // into writes. Entries are applied in order, meaning that earlier rules will
-  // affect the results of later ones.
-  repeated ReadModifyWriteRule rules = 3;
-}
-
-// Response message for Bigtable.ReadModifyWriteRow.
-message ReadModifyWriteRowResponse {
-  // A Row containing the new contents of all cells modified by the request.
-  Row row = 1;
-}
diff --git a/googleapis/bigtable/v2/data.pb.go b/googleapis/bigtable/v2/data.pb.go
index 42871d5124d3e3db00171b1ae312944f5a9cb6c1..2a57566b0c49578b03f58a9196d2c0f95ef02f03 100644
--- a/googleapis/bigtable/v2/data.pb.go
+++ b/googleapis/bigtable/v2/data.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/v2/data.proto
+// source: google/bigtable/v2/data.proto
 // DO NOT EDIT!
 
-package google_bigtable_v2 // import "google.golang.org/genproto/googleapis/bigtable/v2"
+package bigtable
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -30,6 +30,13 @@ func (m *Row) String() string            { return proto.CompactTextString(m) }
 func (*Row) ProtoMessage()               {}
 func (*Row) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *Row) GetKey() []byte {
+	if m != nil {
+		return m.Key
+	}
+	return nil
+}
+
 func (m *Row) GetFamilies() []*Family {
 	if m != nil {
 		return m.Families
@@ -56,6 +63,13 @@ func (m *Family) String() string            { return proto.CompactTextString(m)
 func (*Family) ProtoMessage()               {}
 func (*Family) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
+func (m *Family) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Family) GetColumns() []*Column {
 	if m != nil {
 		return m.Columns
@@ -81,6 +95,13 @@ func (m *Column) String() string            { return proto.CompactTextString(m)
 func (*Column) ProtoMessage()               {}
 func (*Column) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
+func (m *Column) GetQualifier() []byte {
+	if m != nil {
+		return m.Qualifier
+	}
+	return nil
+}
+
 func (m *Column) GetCells() []*Cell {
 	if m != nil {
 		return m.Cells
@@ -110,6 +131,27 @@ func (m *Cell) String() string            { return proto.CompactTextString(m) }
 func (*Cell) ProtoMessage()               {}
 func (*Cell) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
+func (m *Cell) GetTimestampMicros() int64 {
+	if m != nil {
+		return m.TimestampMicros
+	}
+	return 0
+}
+
+func (m *Cell) GetValue() []byte {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
+func (m *Cell) GetLabels() []string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
 // Specifies a contiguous range of rows.
 type RowRange struct {
 	// The row key at which to start the range.
@@ -320,6 +362,13 @@ func (m *RowSet) String() string            { return proto.CompactTextString(m)
 func (*RowSet) ProtoMessage()               {}
 func (*RowSet) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *RowSet) GetRowKeys() [][]byte {
+	if m != nil {
+		return m.RowKeys
+	}
+	return nil
+}
+
 func (m *RowSet) GetRowRanges() []*RowRange {
 	if m != nil {
 		return m.RowRanges
@@ -393,6 +442,13 @@ func (m *ColumnRange) GetEndQualifier() isColumnRange_EndQualifier {
 	return nil
 }
 
+func (m *ColumnRange) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
 func (m *ColumnRange) GetStartQualifierClosed() []byte {
 	if x, ok := m.GetStartQualifier().(*ColumnRange_StartQualifierClosed); ok {
 		return x.StartQualifierClosed
@@ -542,6 +598,20 @@ func (m *TimestampRange) String() string            { return proto.CompactTextSt
 func (*TimestampRange) ProtoMessage()               {}
 func (*TimestampRange) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
 
+func (m *TimestampRange) GetStartTimestampMicros() int64 {
+	if m != nil {
+		return m.StartTimestampMicros
+	}
+	return 0
+}
+
+func (m *TimestampRange) GetEndTimestampMicros() int64 {
+	if m != nil {
+		return m.EndTimestampMicros
+	}
+	return 0
+}
+
 // Specifies a contiguous range of raw byte values.
 type ValueRange struct {
 	// The value at which to start the range.
@@ -1697,6 +1767,34 @@ func (m *Mutation_SetCell) String() string            { return proto.CompactText
 func (*Mutation_SetCell) ProtoMessage()               {}
 func (*Mutation_SetCell) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10, 0} }
 
+func (m *Mutation_SetCell) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
+func (m *Mutation_SetCell) GetColumnQualifier() []byte {
+	if m != nil {
+		return m.ColumnQualifier
+	}
+	return nil
+}
+
+func (m *Mutation_SetCell) GetTimestampMicros() int64 {
+	if m != nil {
+		return m.TimestampMicros
+	}
+	return 0
+}
+
+func (m *Mutation_SetCell) GetValue() []byte {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
 // A Mutation which deletes cells from the specified column, optionally
 // restricting the deletions to a given timestamp range.
 type Mutation_DeleteFromColumn struct {
@@ -1715,6 +1813,20 @@ func (m *Mutation_DeleteFromColumn) String() string            { return proto.Co
 func (*Mutation_DeleteFromColumn) ProtoMessage()               {}
 func (*Mutation_DeleteFromColumn) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10, 1} }
 
+func (m *Mutation_DeleteFromColumn) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
+func (m *Mutation_DeleteFromColumn) GetColumnQualifier() []byte {
+	if m != nil {
+		return m.ColumnQualifier
+	}
+	return nil
+}
+
 func (m *Mutation_DeleteFromColumn) GetTimeRange() *TimestampRange {
 	if m != nil {
 		return m.TimeRange
@@ -1734,6 +1846,13 @@ func (m *Mutation_DeleteFromFamily) String() string            { return proto.Co
 func (*Mutation_DeleteFromFamily) ProtoMessage()               {}
 func (*Mutation_DeleteFromFamily) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10, 2} }
 
+func (m *Mutation_DeleteFromFamily) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
 // A Mutation which deletes all cells from the containing row.
 type Mutation_DeleteFromRow struct {
 }
@@ -1788,6 +1907,20 @@ func (m *ReadModifyWriteRule) GetRule() isReadModifyWriteRule_Rule {
 	return nil
 }
 
+func (m *ReadModifyWriteRule) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
+func (m *ReadModifyWriteRule) GetColumnQualifier() []byte {
+	if m != nil {
+		return m.ColumnQualifier
+	}
+	return nil
+}
+
 func (m *ReadModifyWriteRule) GetAppendValue() []byte {
 	if x, ok := m.GetRule().(*ReadModifyWriteRule_AppendValue); ok {
 		return x.AppendValue
@@ -1889,98 +2022,97 @@ func init() {
 	proto.RegisterType((*ReadModifyWriteRule)(nil), "google.bigtable.v2.ReadModifyWriteRule")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/v2/data.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/bigtable/v2/data.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 1404 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x57, 0xdd, 0x6e, 0xdb, 0xc6,
-	0x12, 0x16, 0xad, 0xff, 0xa1, 0x2c, 0x29, 0x1b, 0xc7, 0x51, 0x74, 0x92, 0x13, 0x83, 0x39, 0x27,
-	0x47, 0xf1, 0x69, 0xe5, 0x56, 0x09, 0xd2, 0x16, 0x09, 0x8a, 0x58, 0x4e, 0x53, 0xb5, 0xf9, 0xdf,
-	0x18, 0x29, 0x50, 0xa0, 0x60, 0xd7, 0xd2, 0x4a, 0x25, 0xbc, 0xe4, 0xb2, 0x24, 0x65, 0x45, 0x2f,
-	0xd2, 0xfb, 0xf6, 0x35, 0x7a, 0xd7, 0x97, 0x68, 0x1f, 0xa3, 0x0f, 0xd0, 0x8b, 0x62, 0x7f, 0xf8,
-	0xa7, 0x28, 0xb6, 0x51, 0xe4, 0x8e, 0x9c, 0xf9, 0xbe, 0x6f, 0x66, 0x67, 0x67, 0x87, 0x4b, 0xb8,
-	0x3f, 0xe3, 0x7c, 0xc6, 0x68, 0x7f, 0xc6, 0x19, 0xf1, 0x66, 0x7d, 0x1e, 0xcc, 0xf6, 0x66, 0xd4,
-	0xf3, 0x03, 0x1e, 0xf1, 0x3d, 0xe5, 0x22, 0xbe, 0x13, 0xee, 0x1d, 0x39, 0xb3, 0x88, 0x1c, 0x31,
-	0xba, 0x77, 0x32, 0xd8, 0x9b, 0x90, 0x88, 0xf4, 0x25, 0x02, 0x21, 0xcd, 0x8e, 0xdd, 0xfd, 0x93,
-	0x81, 0xf5, 0x1c, 0x8a, 0x98, 0x2f, 0x50, 0x1b, 0x8a, 0xc7, 0x74, 0xd9, 0x31, 0x76, 0x8c, 0x5e,
-	0x03, 0x8b, 0x47, 0x74, 0x17, 0x6a, 0x53, 0xe2, 0x3a, 0xcc, 0xa1, 0x61, 0x67, 0x63, 0xa7, 0xd8,
-	0x33, 0x07, 0xdd, 0xfe, 0xdb, 0xfc, 0xfe, 0x23, 0x81, 0x59, 0xe2, 0x04, 0x6b, 0x61, 0xa8, 0x28,
-	0x1b, 0x42, 0x50, 0xf2, 0x88, 0x4b, 0xa5, 0x68, 0x1d, 0xcb, 0x67, 0x74, 0x07, 0xaa, 0x63, 0xce,
-	0xe6, 0xae, 0x77, 0xaa, 0xe8, 0x81, 0x84, 0xe0, 0x18, 0x6a, 0xbd, 0x86, 0x8a, 0x32, 0xa1, 0xab,
-	0x50, 0xff, 0x71, 0x4e, 0x98, 0x33, 0x75, 0x68, 0xa0, 0xb3, 0x4d, 0x0d, 0xa8, 0x0f, 0xe5, 0x31,
-	0x65, 0x2c, 0xd6, 0xee, 0xac, 0xd5, 0xa6, 0x8c, 0x61, 0x05, 0xb3, 0x6c, 0x28, 0x89, 0x57, 0x74,
-	0x0b, 0xda, 0x91, 0xe3, 0xd2, 0x30, 0x22, 0xae, 0x6f, 0xbb, 0xce, 0x38, 0xe0, 0xa1, 0x14, 0x2f,
-	0xe2, 0x56, 0x62, 0x7f, 0x2a, 0xcd, 0x68, 0x0b, 0xca, 0x27, 0x84, 0xcd, 0x69, 0x67, 0x43, 0x06,
-	0x57, 0x2f, 0x68, 0x1b, 0x2a, 0x8c, 0x1c, 0x51, 0x16, 0x76, 0x8a, 0x3b, 0xc5, 0x5e, 0x1d, 0xeb,
-	0x37, 0xeb, 0x37, 0x03, 0x6a, 0x98, 0x2f, 0x30, 0xf1, 0x66, 0x14, 0xed, 0x42, 0x3b, 0x8c, 0x48,
-	0x10, 0xd9, 0xc7, 0x74, 0x69, 0x8f, 0x19, 0x0f, 0xe9, 0x44, 0x2d, 0x61, 0x54, 0xc0, 0x4d, 0xe9,
-	0x79, 0x4c, 0x97, 0x07, 0xd2, 0x8e, 0x6e, 0x42, 0x33, 0xc5, 0x72, 0x9f, 0x7a, 0x2a, 0xde, 0xa8,
-	0x80, 0x1b, 0x31, 0xf2, 0xb9, 0x4f, 0x3d, 0x64, 0x41, 0x83, 0x7a, 0x93, 0x14, 0x55, 0x94, 0x28,
-	0x03, 0x03, 0xf5, 0x26, 0x31, 0xe6, 0x26, 0x34, 0x63, 0x8c, 0x8e, 0x5a, 0xd2, 0xa8, 0x86, 0x42,
-	0xa9, 0x98, 0x43, 0x13, 0xea, 0x49, 0xcc, 0x61, 0x1d, 0xaa, 0x9a, 0x64, 0x7d, 0x0f, 0x15, 0xcc,
-	0x17, 0xaf, 0x68, 0x84, 0xae, 0x40, 0x2d, 0xe0, 0x0b, 0x61, 0x14, 0xf5, 0x29, 0xf6, 0x1a, 0xb8,
-	0x1a, 0xf0, 0xc5, 0x63, 0xba, 0x0c, 0xd1, 0x3d, 0x00, 0xe1, 0x0a, 0xc4, 0x4a, 0xe3, 0xfa, 0x5f,
-	0x5d, 0x57, 0xff, 0xb8, 0x1c, 0xb8, 0x1e, 0xe8, 0xa7, 0xd0, 0xfa, 0x65, 0x03, 0x4c, 0xbd, 0xe7,
-	0xb2, 0x52, 0xd7, 0xc1, 0x94, 0xfd, 0xb4, 0xb4, 0x33, 0x0d, 0x04, 0xca, 0xf4, 0x4c, 0xb4, 0xd1,
-	0x5d, 0xd8, 0x56, 0xa9, 0x26, 0x7b, 0x1f, 0x2f, 0x2d, 0x2e, 0xd3, 0x96, 0xf4, 0xbf, 0x8c, 0xdd,
-	0xba, 0xac, 0x03, 0xd8, 0x5a, 0xe5, 0x65, 0xca, 0x56, 0xc0, 0x28, 0xcf, 0x92, 0xe5, 0x1b, 0xc0,
-	0x96, 0xa8, 0xc4, 0x5b, 0x91, 0xe2, 0x22, 0x22, 0xea, 0x4d, 0x56, 0xe3, 0xf4, 0x01, 0xe5, 0x39,
-	0x32, 0x4a, 0x59, 0x33, 0xda, 0x59, 0x86, 0x88, 0x31, 0xbc, 0x00, 0xad, 0x95, 0xbc, 0x86, 0x2d,
-	0xd8, 0xcc, 0x49, 0x58, 0x6f, 0xa0, 0x79, 0x18, 0x37, 0xa3, 0x2a, 0xd3, 0x9d, 0xb8, 0x0a, 0xef,
-	0x68, 0x5e, 0xb5, 0xd6, 0xc3, 0x95, 0x0e, 0xfe, 0x48, 0xad, 0xe7, 0x2d, 0xce, 0x86, 0xe4, 0x88,
-	0xbc, 0x57, 0x18, 0xd6, 0x1f, 0x06, 0xc0, 0x6b, 0xd1, 0xe7, 0x2a, 0x6c, 0x1f, 0x54, 0x99, 0x6c,
-	0xd9, 0xfb, 0xab, 0x9d, 0xac, 0x7a, 0x5c, 0xc2, 0x75, 0x31, 0x92, 0xbe, 0x57, 0xf8, 0x5c, 0x37,
-	0x37, 0x53, 0xb4, 0x2c, 0xf6, 0x2e, 0x88, 0xe2, 0xe4, 0x95, 0xe3, 0x9e, 0x16, 0x5d, 0x9c, 0xd5,
-	0xd5, 0x7d, 0x9d, 0x51, 0xcd, 0xf6, 0x75, 0xa2, 0x39, 0xdc, 0x04, 0x33, 0x13, 0x5f, 0xb4, 0x79,
-	0x42, 0xb3, 0xfe, 0x32, 0xa1, 0x8e, 0xf9, 0xe2, 0x91, 0xc3, 0x22, 0x1a, 0xa0, 0x7b, 0x50, 0x1e,
-	0xff, 0x40, 0x1c, 0x4f, 0x2e, 0xc6, 0x1c, 0xdc, 0x78, 0x47, 0xff, 0x2a, 0x74, 0xff, 0x40, 0x40,
-	0x47, 0x05, 0xac, 0x38, 0xe8, 0x6b, 0x00, 0xc7, 0x8b, 0x68, 0xc0, 0x28, 0x39, 0x51, 0xe3, 0xc1,
-	0x1c, 0xf4, 0x4e, 0x57, 0xf8, 0x2a, 0xc1, 0x8f, 0x0a, 0x38, 0xc3, 0x46, 0x5f, 0x42, 0x7d, 0xcc,
-	0xbd, 0x89, 0x13, 0x39, 0x5c, 0x35, 0xa7, 0x39, 0xf8, 0xdf, 0x19, 0xc9, 0xc4, 0xf0, 0x51, 0x01,
-	0xa7, 0x5c, 0xb4, 0x05, 0xa5, 0xd0, 0xf1, 0x8e, 0x3b, 0xed, 0x1d, 0xa3, 0x57, 0x1b, 0x15, 0xb0,
-	0x7c, 0x43, 0x3d, 0x68, 0xf9, 0x24, 0x0c, 0x6d, 0xc2, 0x98, 0x3d, 0x95, 0xfc, 0xce, 0x05, 0x0d,
-	0xd8, 0x14, 0x8e, 0x7d, 0xc6, 0x74, 0x45, 0x76, 0xa1, 0x7d, 0xc4, 0xf8, 0xf8, 0x38, 0x0b, 0x45,
-	0x1a, 0xda, 0x94, 0x9e, 0x14, 0xfb, 0x31, 0x6c, 0xe9, 0xe9, 0x60, 0x07, 0x74, 0x46, 0xdf, 0xc4,
-	0xf8, 0x92, 0xde, 0xeb, 0x0b, 0x6a, 0x56, 0x60, 0xe1, 0xd3, 0x94, 0x0f, 0x40, 0x18, 0xed, 0x90,
-	0xb8, 0x3e, 0xa3, 0x31, 0xbe, 0xb9, 0x63, 0xf4, 0x8c, 0x51, 0x01, 0xb7, 0x02, 0xbe, 0x78, 0x25,
-	0x3d, 0x1a, 0xfd, 0x19, 0x74, 0x32, 0x63, 0x21, 0x1f, 0x44, 0x9c, 0xad, 0xfa, 0xa8, 0x80, 0x2f,
-	0xa5, 0x53, 0x22, 0x1b, 0xe8, 0x00, 0xae, 0xa9, 0x8f, 0x49, 0xe6, 0x4c, 0xe6, 0xf8, 0x15, 0x9d,
-	0x64, 0x57, 0xc1, 0x92, 0xe3, 0x99, 0x15, 0x79, 0x09, 0x17, 0xb5, 0x88, 0x1c, 0x73, 0x31, 0xb5,
-	0x2a, 0xf7, 0xe7, 0xfa, 0x29, 0x1f, 0x32, 0x81, 0x16, 0x05, 0x18, 0xa7, 0xaf, 0x5a, 0xf2, 0x5b,
-	0xd8, 0x4e, 0x0f, 0x62, 0x4e, 0xb5, 0x26, 0x55, 0xad, 0x75, 0xaa, 0xf9, 0x31, 0x20, 0x86, 0x5d,
-	0x94, 0xb3, 0x68, 0xed, 0x3e, 0x20, 0x75, 0x36, 0x72, 0x0b, 0xad, 0xc7, 0xe7, 0x54, 0xfa, 0xb2,
-	0xcb, 0x7b, 0x96, 0xe0, 0xb3, 0x79, 0xb4, 0x64, 0x1e, 0xff, 0x5e, 0x97, 0x47, 0x3a, 0x13, 0x52,
-	0xbd, 0x4c, 0xfc, 0xcf, 0xe1, 0x5f, 0xf2, 0x33, 0x6b, 0xfb, 0xa2, 0xd8, 0x7c, 0x61, 0xf3, 0xe9,
-	0x34, 0xa4, 0x51, 0x2c, 0x0c, 0x3b, 0x46, 0xaf, 0x3c, 0x2a, 0xe0, 0xcb, 0x12, 0xf4, 0x82, 0x06,
-	0x98, 0x2f, 0x9e, 0x4b, 0x84, 0xe6, 0xdf, 0x87, 0x6e, 0x9e, 0xcf, 0x1c, 0xd7, 0x49, 0xe8, 0xa6,
-	0xa6, 0x6f, 0x67, 0xe8, 0x4f, 0x04, 0x40, 0xb3, 0x87, 0x70, 0x2d, 0x65, 0xeb, 0x6d, 0xcb, 0x09,
-	0x34, 0xb4, 0xc0, 0x95, 0x58, 0x40, 0x6d, 0x56, 0x56, 0xe3, 0x53, 0xb8, 0x1c, 0x46, 0x81, 0xe3,
-	0xeb, 0x19, 0x13, 0x05, 0xc4, 0x0b, 0xa7, 0x3c, 0x70, 0x69, 0xd0, 0xd9, 0xd4, 0x87, 0xe0, 0x92,
-	0x04, 0xc8, 0x4a, 0x1c, 0xa6, 0x6e, 0xc1, 0x24, 0xbe, 0xcf, 0x96, 0xb6, 0xbc, 0x08, 0xe4, 0x98,
-	0x17, 0xe3, 0x4e, 0x95, 0x80, 0x27, 0xc2, 0x9f, 0x61, 0x76, 0x1f, 0x40, 0x59, 0x0e, 0x16, 0xf4,
-	0x09, 0x54, 0x55, 0xa6, 0xea, 0x5b, 0x6b, 0x0e, 0xae, 0x9d, 0x3a, 0x01, 0x70, 0x8c, 0xee, 0x7e,
-	0x01, 0x90, 0x0e, 0x96, 0x7f, 0x2e, 0xf3, 0xbb, 0x01, 0xf5, 0x64, 0xaa, 0xa0, 0x11, 0xb4, 0xfd,
-	0x80, 0x4e, 0x9c, 0x31, 0x89, 0x92, 0xd6, 0x50, 0x53, 0xf2, 0x0c, 0xbd, 0x56, 0x42, 0x4b, 0xda,
-	0xc2, 0x8c, 0x82, 0x79, 0x22, 0xb2, 0x71, 0x1e, 0x11, 0x10, 0x0c, 0xcd, 0x7f, 0x00, 0x8d, 0x29,
-	0x61, 0x61, 0x22, 0x50, 0x3c, 0x8f, 0x80, 0x29, 0x29, 0xea, 0x65, 0x58, 0x83, 0x8a, 0xe2, 0x5a,
-	0x7f, 0x96, 0xa1, 0xf6, 0x74, 0x1e, 0x11, 0xb9, 0xc4, 0x7d, 0xa8, 0x89, 0xf6, 0x14, 0xed, 0xa0,
-	0x97, 0xf6, 0x9f, 0x75, 0xa2, 0x31, 0xbe, 0xff, 0x8a, 0x46, 0xe2, 0xf6, 0x38, 0x2a, 0xe0, 0x6a,
-	0xa8, 0x1e, 0xd1, 0x77, 0x80, 0x26, 0x94, 0x51, 0x51, 0xa2, 0x80, 0xbb, 0xba, 0xed, 0xf4, 0x12,
-	0x3f, 0x3c, 0x55, 0xec, 0xa1, 0xa4, 0x3d, 0x0a, 0xb8, 0xab, 0xda, 0x50, 0x9c, 0xa8, 0xc9, 0x8a,
-	0x6d, 0x55, 0x5e, 0x8d, 0x3a, 0x5d, 0x80, 0xf3, 0xca, 0xab, 0xcb, 0x79, 0x5e, 0x5e, 0x5f, 0xd8,
-	0x0f, 0xa1, 0x95, 0x95, 0x0f, 0xf8, 0x42, 0xce, 0x6e, 0x73, 0xb0, 0x7b, 0x4e, 0x6d, 0xcc, 0x17,
-	0xe2, 0x13, 0x32, 0xc9, 0x1a, 0xba, 0x3f, 0x19, 0x50, 0xd5, 0xa5, 0x3a, 0xfb, 0x62, 0x77, 0x0b,
-	0xda, 0xab, 0x73, 0x5a, 0xdf, 0xb4, 0x5b, 0x2b, 0x83, 0x79, 0xed, 0xa5, 0xbd, 0x78, 0xc6, 0xa5,
-	0xbd, 0x94, 0xb9, 0xb4, 0x77, 0x7f, 0x36, 0xa0, 0xbd, 0x5a, 0xf6, 0xf7, 0x9a, 0xe1, 0x3e, 0x80,
-	0xc8, 0x44, 0xcd, 0x53, 0xbd, 0x4d, 0xe7, 0x18, 0xe8, 0xb8, 0x2e, 0x58, 0xf2, 0xb1, 0x7b, 0x3b,
-	0x9b, 0xa2, 0xde, 0xa6, 0xb3, 0x52, 0xec, 0xb6, 0x60, 0x33, 0xb7, 0x27, 0x43, 0x80, 0x9a, 0xab,
-	0x77, 0xcb, 0xfa, 0xd5, 0x80, 0x8b, 0x98, 0x92, 0xc9, 0x53, 0x3e, 0x71, 0xa6, 0xcb, 0x6f, 0x02,
-	0x27, 0xa2, 0x78, 0xce, 0xe8, 0x7b, 0x5d, 0xf8, 0x0d, 0x68, 0x10, 0xdf, 0x4f, 0x6e, 0x59, 0xc9,
-	0xf5, 0xda, 0x54, 0x56, 0x39, 0x2d, 0xd1, 0xff, 0xa1, 0xed, 0x78, 0xe3, 0x80, 0xba, 0xd4, 0x8b,
-	0x6c, 0xe2, 0xf2, 0xb9, 0x17, 0xc9, 0xfd, 0x29, 0x8a, 0x4f, 0x7f, 0xe2, 0xd9, 0x97, 0x8e, 0x61,
-	0x05, 0x4a, 0xc1, 0x9c, 0xd1, 0xe1, 0x7f, 0x61, 0x7b, 0xcc, 0xdd, 0x35, 0x35, 0x1c, 0xd6, 0x1f,
-	0x92, 0x88, 0xbc, 0x10, 0xff, 0xb9, 0x2f, 0x8c, 0xa3, 0x8a, 0xfc, 0xe1, 0xbd, 0xfd, 0x77, 0x00,
-	0x00, 0x00, 0xff, 0xff, 0x13, 0xb7, 0x89, 0x55, 0x30, 0x0f, 0x00, 0x00,
+	// 1412 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xdb, 0x6e, 0xdb, 0x46,
+	0x13, 0x16, 0x2d, 0xeb, 0x34, 0x94, 0x25, 0x65, 0xe3, 0x38, 0x8a, 0xfe, 0xf8, 0x8f, 0xc1, 0x14,
+	0xa9, 0xe2, 0xb6, 0x72, 0xab, 0x04, 0xe9, 0x21, 0x45, 0x11, 0xcb, 0x69, 0xaa, 0x36, 0xe7, 0x8d,
+	0x91, 0x02, 0x01, 0x0a, 0x76, 0x2d, 0xad, 0x54, 0xc2, 0x4b, 0x2e, 0x4b, 0x52, 0x56, 0xf4, 0x22,
+	0xbd, 0x6f, 0x5f, 0xa3, 0x77, 0x7d, 0x89, 0xf6, 0x31, 0xfa, 0x00, 0xbd, 0x28, 0xf6, 0xc0, 0x93,
+	0xa2, 0xd8, 0x46, 0x91, 0x3b, 0x72, 0xe6, 0xfb, 0xbe, 0x99, 0x9d, 0x9d, 0x1d, 0x2e, 0x61, 0x7b,
+	0xca, 0xf9, 0x94, 0xd1, 0xbd, 0x23, 0x67, 0x1a, 0x91, 0x23, 0x46, 0xf7, 0x4e, 0xfa, 0x7b, 0x63,
+	0x12, 0x91, 0x9e, 0x1f, 0xf0, 0x88, 0x23, 0xa4, 0xdc, 0xbd, 0xd8, 0xdd, 0x3b, 0xe9, 0x5b, 0x4f,
+	0xa1, 0x88, 0xf9, 0x1c, 0xb5, 0xa0, 0x78, 0x4c, 0x17, 0x6d, 0x63, 0xc7, 0xe8, 0xd6, 0xb1, 0x78,
+	0x44, 0x77, 0xa0, 0x3a, 0x21, 0xae, 0xc3, 0x1c, 0x1a, 0xb6, 0xd7, 0x76, 0x8a, 0x5d, 0xb3, 0xdf,
+	0xe9, 0xbd, 0xc9, 0xef, 0x3d, 0x10, 0x98, 0x05, 0x4e, 0xb0, 0x16, 0x86, 0xb2, 0xb2, 0x21, 0x04,
+	0xeb, 0x1e, 0x71, 0xa9, 0x14, 0xad, 0x61, 0xf9, 0x8c, 0x6e, 0x43, 0x65, 0xc4, 0xd9, 0xcc, 0xf5,
+	0x4e, 0x15, 0x3d, 0x90, 0x10, 0x1c, 0x43, 0xad, 0x97, 0x50, 0x56, 0x26, 0x74, 0x15, 0x6a, 0x3f,
+	0xcf, 0x08, 0x73, 0x26, 0x0e, 0x0d, 0x74, 0xb6, 0xa9, 0x01, 0xf5, 0xa0, 0x34, 0xa2, 0x8c, 0xc5,
+	0xda, 0xed, 0x95, 0xda, 0x94, 0x31, 0xac, 0x60, 0x96, 0x0d, 0xeb, 0xe2, 0x15, 0xdd, 0x84, 0x56,
+	0xe4, 0xb8, 0x34, 0x8c, 0x88, 0xeb, 0xdb, 0xae, 0x33, 0x0a, 0x78, 0x28, 0xc5, 0x8b, 0xb8, 0x99,
+	0xd8, 0x1f, 0x4b, 0x33, 0xda, 0x84, 0xd2, 0x09, 0x61, 0x33, 0xda, 0x5e, 0x93, 0xc1, 0xd5, 0x0b,
+	0xda, 0x82, 0x32, 0x23, 0x47, 0x94, 0x85, 0xed, 0xe2, 0x4e, 0xb1, 0x5b, 0xc3, 0xfa, 0xcd, 0xfa,
+	0xc3, 0x80, 0x2a, 0xe6, 0x73, 0x4c, 0xbc, 0x29, 0x45, 0xbb, 0xd0, 0x0a, 0x23, 0x12, 0x44, 0xf6,
+	0x31, 0x5d, 0xd8, 0x23, 0xc6, 0x43, 0x3a, 0x56, 0x4b, 0x18, 0x16, 0x70, 0x43, 0x7a, 0x1e, 0xd2,
+	0xc5, 0x81, 0xb4, 0xa3, 0x1b, 0xd0, 0x48, 0xb1, 0xdc, 0xa7, 0x9e, 0x8a, 0x37, 0x2c, 0xe0, 0x7a,
+	0x8c, 0x7c, 0xea, 0x53, 0x0f, 0x59, 0x50, 0xa7, 0xde, 0x38, 0x45, 0x15, 0x25, 0xca, 0xc0, 0x40,
+	0xbd, 0x71, 0x8c, 0xb9, 0x01, 0x8d, 0x18, 0xa3, 0xa3, 0xae, 0x6b, 0x54, 0x5d, 0xa1, 0x54, 0xcc,
+	0x81, 0x09, 0xb5, 0x24, 0xe6, 0xa0, 0x06, 0x15, 0x4d, 0xb2, 0x7e, 0x84, 0x32, 0xe6, 0xf3, 0x17,
+	0x34, 0x42, 0x57, 0xa0, 0x1a, 0xf0, 0xb9, 0x30, 0x8a, 0xfa, 0x14, 0xbb, 0x75, 0x5c, 0x09, 0xf8,
+	0xfc, 0x21, 0x5d, 0x84, 0xe8, 0x2e, 0x80, 0x70, 0x05, 0x62, 0xa5, 0x71, 0xfd, 0xaf, 0xae, 0xaa,
+	0x7f, 0x5c, 0x0e, 0x5c, 0x0b, 0xf4, 0x53, 0x68, 0xfd, 0xb6, 0x06, 0xa6, 0xde, 0x73, 0x59, 0xa9,
+	0x6b, 0x60, 0xca, 0x7e, 0x5a, 0xd8, 0x99, 0x06, 0x02, 0x65, 0x7a, 0x22, 0xda, 0xe8, 0x0e, 0x6c,
+	0xa9, 0x54, 0x93, 0xbd, 0x8f, 0x97, 0x16, 0x97, 0x69, 0x53, 0xfa, 0x9f, 0xc7, 0x6e, 0x5d, 0xd6,
+	0x3e, 0x6c, 0x2e, 0xf3, 0x32, 0x65, 0x2b, 0x60, 0x94, 0x67, 0xc9, 0xf2, 0xf5, 0x61, 0x53, 0x54,
+	0xe2, 0x8d, 0x48, 0x71, 0x11, 0x11, 0xf5, 0xc6, 0xcb, 0x71, 0x7a, 0x80, 0xf2, 0x1c, 0x19, 0xa5,
+	0xa4, 0x19, 0xad, 0x2c, 0x43, 0xc4, 0x18, 0x5c, 0x80, 0xe6, 0x52, 0x5e, 0x83, 0x26, 0x6c, 0xe4,
+	0x24, 0xac, 0xd7, 0xd0, 0x38, 0x8c, 0x9b, 0x51, 0x95, 0xe9, 0x76, 0x5c, 0x85, 0xb7, 0x34, 0xaf,
+	0x5a, 0xeb, 0xe1, 0x52, 0x07, 0x7f, 0xac, 0xd6, 0xf3, 0x06, 0x67, 0x4d, 0x72, 0x44, 0xde, 0x4b,
+	0x0c, 0xeb, 0x2f, 0x03, 0xe0, 0xa5, 0xe8, 0x73, 0x15, 0xb6, 0x07, 0xaa, 0x4c, 0xb6, 0xec, 0xfd,
+	0xe5, 0x4e, 0x56, 0x3d, 0x2e, 0xe1, 0xba, 0x18, 0x49, 0xdf, 0x2b, 0x7c, 0xae, 0x9b, 0x1b, 0x29,
+	0x5a, 0x16, 0x7b, 0x17, 0x44, 0x71, 0xf2, 0xca, 0x71, 0x4f, 0x8b, 0x2e, 0xce, 0xea, 0xea, 0xbe,
+	0xce, 0xa8, 0x66, 0xfb, 0x3a, 0xd1, 0x1c, 0x6c, 0x80, 0x99, 0x89, 0x2f, 0xda, 0x3c, 0xa1, 0x59,
+	0xff, 0x98, 0x50, 0xc3, 0x7c, 0xfe, 0xc0, 0x61, 0x11, 0x0d, 0xd0, 0x5d, 0x28, 0x8d, 0x7e, 0x22,
+	0x8e, 0x27, 0x17, 0x63, 0xf6, 0xaf, 0xbf, 0xa5, 0x7f, 0x15, 0xba, 0x77, 0x20, 0xa0, 0xc3, 0x02,
+	0x56, 0x1c, 0xf4, 0x1d, 0x80, 0xe3, 0x45, 0x34, 0x60, 0x94, 0x9c, 0xa8, 0xf1, 0x60, 0xf6, 0xbb,
+	0xa7, 0x2b, 0x7c, 0x9b, 0xe0, 0x87, 0x05, 0x9c, 0x61, 0xa3, 0x6f, 0xa0, 0x36, 0xe2, 0xde, 0xd8,
+	0x89, 0x1c, 0xae, 0x9a, 0xd3, 0xec, 0xbf, 0x7f, 0x46, 0x32, 0x31, 0x7c, 0x58, 0xc0, 0x29, 0x17,
+	0x6d, 0xc2, 0x7a, 0xe8, 0x78, 0xc7, 0xed, 0xd6, 0x8e, 0xd1, 0xad, 0x0e, 0x0b, 0x58, 0xbe, 0xa1,
+	0x2e, 0x34, 0x7d, 0x12, 0x86, 0x36, 0x61, 0xcc, 0x9e, 0x48, 0x7e, 0xfb, 0x82, 0x06, 0x6c, 0x08,
+	0xc7, 0x3e, 0x63, 0xba, 0x22, 0xbb, 0xd0, 0x3a, 0x62, 0x7c, 0x74, 0x9c, 0x85, 0x22, 0x0d, 0x6d,
+	0x48, 0x4f, 0x8a, 0xfd, 0x04, 0x36, 0xf5, 0x74, 0xb0, 0x03, 0x3a, 0xa5, 0xaf, 0x63, 0xfc, 0xba,
+	0xde, 0xeb, 0x0b, 0x6a, 0x56, 0x60, 0xe1, 0xd3, 0x94, 0x0f, 0x41, 0x18, 0xed, 0x90, 0xb8, 0x3e,
+	0xa3, 0x31, 0xbe, 0xb1, 0x63, 0x74, 0x8d, 0x61, 0x01, 0x37, 0x03, 0x3e, 0x7f, 0x21, 0x3d, 0x1a,
+	0xfd, 0x39, 0xb4, 0x33, 0x63, 0x21, 0x1f, 0x44, 0x9c, 0xad, 0xda, 0xb0, 0x80, 0x2f, 0xa5, 0x53,
+	0x22, 0x1b, 0xe8, 0x00, 0xb6, 0xd5, 0xc7, 0x24, 0x73, 0x26, 0x73, 0xfc, 0xb2, 0x4e, 0xb2, 0xa3,
+	0x60, 0xc9, 0xf1, 0xcc, 0x8a, 0x3c, 0x87, 0x8b, 0x5a, 0x44, 0x8e, 0xb9, 0x98, 0x5a, 0x91, 0xfb,
+	0x73, 0xed, 0x94, 0x0f, 0x99, 0x40, 0x8b, 0x02, 0x8c, 0xd2, 0x57, 0x2d, 0xf9, 0x0a, 0xb6, 0xd2,
+	0x83, 0x98, 0x53, 0xad, 0x4a, 0x55, 0x6b, 0x95, 0x6a, 0x7e, 0x0c, 0x88, 0x61, 0x17, 0xe5, 0x2c,
+	0x5a, 0xbb, 0x07, 0x48, 0x9d, 0x8d, 0xdc, 0x42, 0x6b, 0xf1, 0x39, 0x95, 0xbe, 0xec, 0xf2, 0x9e,
+	0x24, 0xf8, 0x6c, 0x1e, 0x4d, 0x99, 0xc7, 0xff, 0x57, 0xe5, 0x91, 0xce, 0x84, 0x54, 0x2f, 0x13,
+	0xff, 0x2b, 0xf8, 0x9f, 0xfc, 0xcc, 0xda, 0xbe, 0x28, 0x36, 0x9f, 0xdb, 0x7c, 0x32, 0x09, 0x69,
+	0x14, 0x0b, 0xc3, 0x8e, 0xd1, 0x2d, 0x0d, 0x0b, 0xf8, 0xb2, 0x04, 0x3d, 0xa3, 0x01, 0xe6, 0xf3,
+	0xa7, 0x12, 0xa1, 0xf9, 0x5f, 0x42, 0x27, 0xcf, 0x67, 0x8e, 0xeb, 0x24, 0x74, 0x53, 0xd3, 0xb7,
+	0x32, 0xf4, 0x47, 0x02, 0xa0, 0xd9, 0x03, 0xd8, 0x4e, 0xd9, 0x7a, 0xdb, 0x72, 0x02, 0x75, 0x2d,
+	0x70, 0x25, 0x16, 0x50, 0x9b, 0x95, 0xd5, 0xf8, 0x0c, 0x2e, 0x87, 0x51, 0xe0, 0xf8, 0x7a, 0xc6,
+	0x44, 0x01, 0xf1, 0xc2, 0x09, 0x0f, 0x5c, 0x1a, 0xb4, 0x37, 0xf4, 0x21, 0xb8, 0x24, 0x01, 0xb2,
+	0x12, 0x87, 0xa9, 0x5b, 0x30, 0x89, 0xef, 0xb3, 0x85, 0x2d, 0x2f, 0x02, 0x39, 0xe6, 0xc5, 0xb8,
+	0x53, 0x25, 0xe0, 0x91, 0xf0, 0x67, 0x98, 0x9d, 0x7b, 0x50, 0x92, 0x83, 0x05, 0x7d, 0x0a, 0x15,
+	0x95, 0xa9, 0xfa, 0xd6, 0x9a, 0xfd, 0xed, 0x53, 0x27, 0x00, 0x8e, 0xd1, 0x9d, 0xaf, 0x01, 0xd2,
+	0xc1, 0xf2, 0xdf, 0x65, 0xfe, 0x34, 0xa0, 0x96, 0x4c, 0x15, 0x34, 0x84, 0x96, 0x1f, 0xd0, 0xb1,
+	0x33, 0x22, 0x51, 0xd2, 0x1a, 0x6a, 0x4a, 0x9e, 0xa1, 0xd7, 0x4c, 0x68, 0x49, 0x5b, 0x98, 0x51,
+	0x30, 0x4b, 0x44, 0xd6, 0xce, 0x23, 0x02, 0x82, 0xa1, 0xf9, 0xf7, 0xa0, 0x3e, 0x21, 0x2c, 0x4c,
+	0x04, 0x8a, 0xe7, 0x11, 0x30, 0x25, 0x45, 0xbd, 0x0c, 0xaa, 0x50, 0x56, 0x5c, 0xeb, 0xef, 0x12,
+	0x54, 0x1f, 0xcf, 0x22, 0x22, 0x97, 0xb8, 0x0f, 0x55, 0xd1, 0x9e, 0xa2, 0x1d, 0xf4, 0xd2, 0xde,
+	0x5b, 0x25, 0x1a, 0xe3, 0x7b, 0x2f, 0x68, 0x24, 0x6e, 0x8f, 0xc3, 0x02, 0xae, 0x84, 0xea, 0x11,
+	0xfd, 0x00, 0x68, 0x4c, 0x19, 0x15, 0x25, 0x0a, 0xb8, 0xab, 0xdb, 0x4e, 0x2f, 0xf1, 0xa3, 0x53,
+	0xc5, 0xee, 0x4b, 0xda, 0x83, 0x80, 0xbb, 0xaa, 0x0d, 0xc5, 0x89, 0x1a, 0x2f, 0xd9, 0x96, 0xe5,
+	0xd5, 0xa8, 0xd3, 0x05, 0x38, 0xaf, 0xbc, 0xba, 0x9c, 0xe7, 0xe5, 0xf5, 0x85, 0xfd, 0x10, 0x9a,
+	0x59, 0xf9, 0x80, 0xcf, 0xe5, 0xec, 0x36, 0xfb, 0xbb, 0xe7, 0xd4, 0xc6, 0x7c, 0x2e, 0x3e, 0x21,
+	0xe3, 0xac, 0xa1, 0xf3, 0x8b, 0x01, 0x15, 0x5d, 0xaa, 0xb3, 0x2f, 0x76, 0x37, 0xa1, 0xb5, 0x3c,
+	0xa7, 0xf5, 0x4d, 0xbb, 0xb9, 0x34, 0x98, 0x57, 0x5e, 0xda, 0x8b, 0x67, 0x5c, 0xda, 0xd7, 0x33,
+	0x97, 0xf6, 0xce, 0xaf, 0x06, 0xb4, 0x96, 0xcb, 0xfe, 0x4e, 0x33, 0xdc, 0x07, 0x10, 0x99, 0xa8,
+	0x79, 0xaa, 0xb7, 0xe9, 0x1c, 0x03, 0x1d, 0xd7, 0x04, 0x4b, 0x3e, 0x76, 0x6e, 0x65, 0x53, 0xd4,
+	0xdb, 0x74, 0x56, 0x8a, 0x9d, 0x26, 0x6c, 0xe4, 0xf6, 0x64, 0x00, 0x50, 0x75, 0xf5, 0x6e, 0x59,
+	0xbf, 0x1b, 0x70, 0x11, 0x53, 0x32, 0x7e, 0xcc, 0xc7, 0xce, 0x64, 0xf1, 0x7d, 0xe0, 0x44, 0x14,
+	0xcf, 0x18, 0x7d, 0xa7, 0x0b, 0xbf, 0x0e, 0x75, 0xe2, 0xfb, 0xc9, 0x2d, 0x2b, 0xb9, 0x5e, 0x9b,
+	0xca, 0x2a, 0xa7, 0x25, 0xfa, 0x00, 0x5a, 0x8e, 0x37, 0x0a, 0xa8, 0x4b, 0xbd, 0xc8, 0x26, 0x2e,
+	0x9f, 0x79, 0x91, 0xdc, 0x9f, 0xa2, 0xf8, 0xf4, 0x27, 0x9e, 0x7d, 0xe9, 0x18, 0x94, 0x61, 0x3d,
+	0x98, 0x31, 0x3a, 0x20, 0xb0, 0x35, 0xe2, 0xee, 0x8a, 0x1a, 0x0e, 0x6a, 0xf7, 0x49, 0x44, 0x9e,
+	0x89, 0xff, 0xdc, 0x67, 0xc6, 0xab, 0x2f, 0x34, 0x60, 0xca, 0x19, 0xf1, 0xa6, 0x3d, 0x1e, 0x4c,
+	0xf7, 0xa6, 0xd4, 0x93, 0x7f, 0xc1, 0x7b, 0xca, 0x45, 0x7c, 0x27, 0xcc, 0xfe, 0x27, 0xdf, 0x8d,
+	0x9f, 0x8f, 0xca, 0x12, 0x76, 0xeb, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd8, 0xbb, 0x74, 0x4d,
+	0x4d, 0x0f, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v2/data.proto b/googleapis/bigtable/v2/data.proto
deleted file mode 100644
index f98f436de98bb1ab3d7d03ef2855008def07883c..0000000000000000000000000000000000000000
--- a/googleapis/bigtable/v2/data.proto
+++ /dev/null
@@ -1,532 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.bigtable.v2;
-
-option java_multiple_files = true;
-option java_outer_classname = "DataProto";
-option java_package = "com.google.bigtable.v2";
-
-
-// Specifies the complete (requested) contents of a single row of a table.
-// Rows which exceed 256MiB in size cannot be read in full.
-message Row {
-  // The unique key which identifies this row within its table. This is the same
-  // key that's used to identify the row in, for example, a MutateRowRequest.
-  // May contain any non-empty byte string up to 4KiB in length.
-  bytes key = 1;
-
-  // May be empty, but only if the entire row is empty.
-  // The mutual ordering of column families is not specified.
-  repeated Family families = 2;
-}
-
-// Specifies (some of) the contents of a single row/column family intersection
-// of a table.
-message Family {
-  // The unique key which identifies this family within its row. This is the
-  // same key that's used to identify the family in, for example, a RowFilter
-  // which sets its "family_name_regex_filter" field.
-  // Must match `[-_.a-zA-Z0-9]+`, except that AggregatingRowProcessors may
-  // produce cells in a sentinel family with an empty name.
-  // Must be no greater than 64 characters in length.
-  string name = 1;
-
-  // Must not be empty. Sorted in order of increasing "qualifier".
-  repeated Column columns = 2;
-}
-
-// Specifies (some of) the contents of a single row/column intersection of a
-// table.
-message Column {
-  // The unique key which identifies this column within its family. This is the
-  // same key that's used to identify the column in, for example, a RowFilter
-  // which sets its `column_qualifier_regex_filter` field.
-  // May contain any byte string, including the empty string, up to 16kiB in
-  // length.
-  bytes qualifier = 1;
-
-  // Must not be empty. Sorted in order of decreasing "timestamp_micros".
-  repeated Cell cells = 2;
-}
-
-// Specifies (some of) the contents of a single row/column/timestamp of a table.
-message Cell {
-  // The cell's stored timestamp, which also uniquely identifies it within
-  // its column.
-  // Values are always expressed in microseconds, but individual tables may set
-  // a coarser granularity to further restrict the allowed values. For
-  // example, a table which specifies millisecond granularity will only allow
-  // values of `timestamp_micros` which are multiples of 1000.
-  int64 timestamp_micros = 1;
-
-  // The value stored in the cell.
-  // May contain any byte string, including the empty string, up to 100MiB in
-  // length.
-  bytes value = 2;
-
-  // Labels applied to the cell by a [RowFilter][google.bigtable.v2.RowFilter].
-  repeated string labels = 3;
-}
-
-// Specifies a contiguous range of rows.
-message RowRange {
-  // The row key at which to start the range.
-  // If neither field is set, interpreted as the empty string, inclusive.
-  oneof start_key {
-    // Used when giving an inclusive lower bound for the range.
-    bytes start_key_closed = 1;
-
-    // Used when giving an exclusive lower bound for the range.
-    bytes start_key_open = 2;
-  }
-
-  // The row key at which to end the range.
-  // If neither field is set, interpreted as the infinite row key, exclusive.
-  oneof end_key {
-    // Used when giving an exclusive upper bound for the range.
-    bytes end_key_open = 3;
-
-    // Used when giving an inclusive upper bound for the range.
-    bytes end_key_closed = 4;
-  }
-}
-
-// Specifies a non-contiguous set of rows.
-message RowSet {
-  // Single rows included in the set.
-  repeated bytes row_keys = 1;
-
-  // Contiguous row ranges included in the set.
-  repeated RowRange row_ranges = 2;
-}
-
-// Specifies a contiguous range of columns within a single column family.
-// The range spans from &lt;column_family&gt;:&lt;start_qualifier&gt; to
-// &lt;column_family&gt;:&lt;end_qualifier&gt;, where both bounds can be either
-// inclusive or exclusive.
-message ColumnRange {
-  // The name of the column family within which this range falls.
-  string family_name = 1;
-
-  // The column qualifier at which to start the range (within `column_family`).
-  // If neither field is set, interpreted as the empty string, inclusive.
-  oneof start_qualifier {
-    // Used when giving an inclusive lower bound for the range.
-    bytes start_qualifier_closed = 2;
-
-    // Used when giving an exclusive lower bound for the range.
-    bytes start_qualifier_open = 3;
-  }
-
-  // The column qualifier at which to end the range (within `column_family`).
-  // If neither field is set, interpreted as the infinite string, exclusive.
-  oneof end_qualifier {
-    // Used when giving an inclusive upper bound for the range.
-    bytes end_qualifier_closed = 4;
-
-    // Used when giving an exclusive upper bound for the range.
-    bytes end_qualifier_open = 5;
-  }
-}
-
-// Specified a contiguous range of microsecond timestamps.
-message TimestampRange {
-  // Inclusive lower bound. If left empty, interpreted as 0.
-  int64 start_timestamp_micros = 1;
-
-  // Exclusive upper bound. If left empty, interpreted as infinity.
-  int64 end_timestamp_micros = 2;
-}
-
-// Specifies a contiguous range of raw byte values.
-message ValueRange {
-  // The value at which to start the range.
-  // If neither field is set, interpreted as the empty string, inclusive.
-  oneof start_value {
-    // Used when giving an inclusive lower bound for the range.
-    bytes start_value_closed = 1;
-
-    // Used when giving an exclusive lower bound for the range.
-    bytes start_value_open = 2;
-  }
-
-  // The value at which to end the range.
-  // If neither field is set, interpreted as the infinite string, exclusive.
-  oneof end_value {
-    // Used when giving an inclusive upper bound for the range.
-    bytes end_value_closed = 3;
-
-    // Used when giving an exclusive upper bound for the range.
-    bytes end_value_open = 4;
-  }
-}
-
-// Takes a row as input and produces an alternate view of the row based on
-// specified rules. For example, a RowFilter might trim down a row to include
-// just the cells from columns matching a given regular expression, or might
-// return all the cells of a row but not their values. More complicated filters
-// can be composed out of these components to express requests such as, "within
-// every column of a particular family, give just the two most recent cells
-// which are older than timestamp X."
-//
-// There are two broad categories of RowFilters (true filters and transformers),
-// as well as two ways to compose simple filters into more complex ones
-// (chains and interleaves). They work as follows:
-//
-// * True filters alter the input row by excluding some of its cells wholesale
-// from the output row. An example of a true filter is the `value_regex_filter`,
-// which excludes cells whose values don't match the specified pattern. All
-// regex true filters use RE2 syntax (https://github.com/google/re2/wiki/Syntax)
-// in raw byte mode (RE2::Latin1), and are evaluated as full matches. An
-// important point to keep in mind is that `RE2(.)` is equivalent by default to
-// `RE2([^\n])`, meaning that it does not match newlines. When attempting to
-// match an arbitrary byte, you should therefore use the escape sequence `\C`,
-// which may need to be further escaped as `\\C` in your client language.
-//
-// * Transformers alter the input row by changing the values of some of its
-// cells in the output, without excluding them completely. Currently, the only
-// supported transformer is the `strip_value_transformer`, which replaces every
-// cell's value with the empty string.
-//
-// * Chains and interleaves are described in more detail in the
-// RowFilter.Chain and RowFilter.Interleave documentation.
-//
-// The total serialized size of a RowFilter message must not
-// exceed 4096 bytes, and RowFilters may not be nested within each other
-// (in Chains or Interleaves) to a depth of more than 20.
-message RowFilter {
-  // A RowFilter which sends rows through several RowFilters in sequence.
-  message Chain {
-    // The elements of "filters" are chained together to process the input row:
-    // in row -> f(0) -> intermediate row -> f(1) -> ... -> f(N) -> out row
-    // The full chain is executed atomically.
-    repeated RowFilter filters = 1;
-  }
-
-  // A RowFilter which sends each row to each of several component
-  // RowFilters and interleaves the results.
-  message Interleave {
-    // The elements of "filters" all process a copy of the input row, and the
-    // results are pooled, sorted, and combined into a single output row.
-    // If multiple cells are produced with the same column and timestamp,
-    // they will all appear in the output row in an unspecified mutual order.
-    // Consider the following example, with three filters:
-    //
-    //                                  input row
-    //                                      |
-    //            -----------------------------------------------------
-    //            |                         |                         |
-    //           f(0)                      f(1)                      f(2)
-    //            |                         |                         |
-    //     1: foo,bar,10,x             foo,bar,10,z              far,bar,7,a
-    //     2: foo,blah,11,z            far,blah,5,x              far,blah,5,x
-    //            |                         |                         |
-    //            -----------------------------------------------------
-    //                                      |
-    //     1:                      foo,bar,10,z   // could have switched with #2
-    //     2:                      foo,bar,10,x   // could have switched with #1
-    //     3:                      foo,blah,11,z
-    //     4:                      far,bar,7,a
-    //     5:                      far,blah,5,x   // identical to #6
-    //     6:                      far,blah,5,x   // identical to #5
-    //
-    // All interleaved filters are executed atomically.
-    repeated RowFilter filters = 1;
-  }
-
-  // A RowFilter which evaluates one of two possible RowFilters, depending on
-  // whether or not a predicate RowFilter outputs any cells from the input row.
-  //
-  // IMPORTANT NOTE: The predicate filter does not execute atomically with the
-  // true and false filters, which may lead to inconsistent or unexpected
-  // results. Additionally, Condition filters have poor performance, especially
-  // when filters are set for the false condition.
-  message Condition {
-    // If `predicate_filter` outputs any cells, then `true_filter` will be
-    // evaluated on the input row. Otherwise, `false_filter` will be evaluated.
-    RowFilter predicate_filter = 1;
-
-    // The filter to apply to the input row if `predicate_filter` returns any
-    // results. If not provided, no results will be returned in the true case.
-    RowFilter true_filter = 2;
-
-    // The filter to apply to the input row if `predicate_filter` does not
-    // return any results. If not provided, no results will be returned in the
-    // false case.
-    RowFilter false_filter = 3;
-  }
-
-  // Which of the possible RowFilter types to apply. If none are set, this
-  // RowFilter returns all cells in the input row.
-  oneof filter {
-    // Applies several RowFilters to the data in sequence, progressively
-    // narrowing the results.
-    Chain chain = 1;
-
-    // Applies several RowFilters to the data in parallel and combines the
-    // results.
-    Interleave interleave = 2;
-
-    // Applies one of two possible RowFilters to the data based on the output of
-    // a predicate RowFilter.
-    Condition condition = 3;
-
-    // ADVANCED USE ONLY.
-    // Hook for introspection into the RowFilter. Outputs all cells directly to
-    // the output of the read rather than to any parent filter. Consider the
-    // following example:
-    //
-    //     Chain(
-    //       FamilyRegex("A"),
-    //       Interleave(
-    //         All(),
-    //         Chain(Label("foo"), Sink())
-    //       ),
-    //       QualifierRegex("B")
-    //     )
-    //
-    //                         A,A,1,w
-    //                         A,B,2,x
-    //                         B,B,4,z
-    //                            |
-    //                     FamilyRegex("A")
-    //                            |
-    //                         A,A,1,w
-    //                         A,B,2,x
-    //                            |
-    //               +------------+-------------+
-    //               |                          |
-    //             All()                    Label(foo)
-    //               |                          |
-    //            A,A,1,w              A,A,1,w,labels:[foo]
-    //            A,B,2,x              A,B,2,x,labels:[foo]
-    //               |                          |
-    //               |                        Sink() --------------+
-    //               |                          |                  |
-    //               +------------+      x------+          A,A,1,w,labels:[foo]
-    //                            |                        A,B,2,x,labels:[foo]
-    //                         A,A,1,w                             |
-    //                         A,B,2,x                             |
-    //                            |                                |
-    //                    QualifierRegex("B")                      |
-    //                            |                                |
-    //                         A,B,2,x                             |
-    //                            |                                |
-    //                            +--------------------------------+
-    //                            |
-    //                         A,A,1,w,labels:[foo]
-    //                         A,B,2,x,labels:[foo]  // could be switched
-    //                         A,B,2,x               // could be switched
-    //
-    // Despite being excluded by the qualifier filter, a copy of every cell
-    // that reaches the sink is present in the final result.
-    //
-    // As with an [Interleave][google.bigtable.v2.RowFilter.Interleave],
-    // duplicate cells are possible, and appear in an unspecified mutual order.
-    // In this case we have a duplicate with column "A:B" and timestamp 2,
-    // because one copy passed through the all filter while the other was
-    // passed through the label and sink. Note that one copy has label "foo",
-    // while the other does not.
-    //
-    // Cannot be used within the `predicate_filter`, `true_filter`, or
-    // `false_filter` of a [Condition][google.bigtable.v2.RowFilter.Condition].
-    bool sink = 16;
-
-    // Matches all cells, regardless of input. Functionally equivalent to
-    // leaving `filter` unset, but included for completeness.
-    bool pass_all_filter = 17;
-
-    // Does not match any cells, regardless of input. Useful for temporarily
-    // disabling just part of a filter.
-    bool block_all_filter = 18;
-
-    // Matches only cells from rows whose keys satisfy the given RE2 regex. In
-    // other words, passes through the entire row when the key matches, and
-    // otherwise produces an empty row.
-    // Note that, since row keys can contain arbitrary bytes, the `\C` escape
-    // sequence must be used if a true wildcard is desired. The `.` character
-    // will not match the new line character `\n`, which may be present in a
-    // binary key.
-    bytes row_key_regex_filter = 4;
-
-    // Matches all cells from a row with probability p, and matches no cells
-    // from the row with probability 1-p.
-    double row_sample_filter = 14;
-
-    // Matches only cells from columns whose families satisfy the given RE2
-    // regex. For technical reasons, the regex must not contain the `:`
-    // character, even if it is not being used as a literal.
-    // Note that, since column families cannot contain the new line character
-    // `\n`, it is sufficient to use `.` as a full wildcard when matching
-    // column family names.
-    string family_name_regex_filter = 5;
-
-    // Matches only cells from columns whose qualifiers satisfy the given RE2
-    // regex.
-    // Note that, since column qualifiers can contain arbitrary bytes, the `\C`
-    // escape sequence must be used if a true wildcard is desired. The `.`
-    // character will not match the new line character `\n`, which may be
-    // present in a binary qualifier.
-    bytes column_qualifier_regex_filter = 6;
-
-    // Matches only cells from columns within the given range.
-    ColumnRange column_range_filter = 7;
-
-    // Matches only cells with timestamps within the given range.
-    TimestampRange timestamp_range_filter = 8;
-
-    // Matches only cells with values that satisfy the given regular expression.
-    // Note that, since cell values can contain arbitrary bytes, the `\C` escape
-    // sequence must be used if a true wildcard is desired. The `.` character
-    // will not match the new line character `\n`, which may be present in a
-    // binary value.
-    bytes value_regex_filter = 9;
-
-    // Matches only cells with values that fall within the given range.
-    ValueRange value_range_filter = 15;
-
-    // Skips the first N cells of each row, matching all subsequent cells.
-    // If duplicate cells are present, as is possible when using an Interleave,
-    // each copy of the cell is counted separately.
-    int32 cells_per_row_offset_filter = 10;
-
-    // Matches only the first N cells of each row.
-    // If duplicate cells are present, as is possible when using an Interleave,
-    // each copy of the cell is counted separately.
-    int32 cells_per_row_limit_filter = 11;
-
-    // Matches only the most recent N cells within each column. For example,
-    // if N=2, this filter would match column `foo:bar` at timestamps 10 and 9,
-    // skip all earlier cells in `foo:bar`, and then begin matching again in
-    // column `foo:bar2`.
-    // If duplicate cells are present, as is possible when using an Interleave,
-    // each copy of the cell is counted separately.
-    int32 cells_per_column_limit_filter = 12;
-
-    // Replaces each cell's value with the empty string.
-    bool strip_value_transformer = 13;
-
-    // Applies the given label to all cells in the output row. This allows
-    // the client to determine which results were produced from which part of
-    // the filter.
-    //
-    // Values must be at most 15 characters in length, and match the RE2
-    // pattern `[a-z0-9\\-]+`
-    //
-    // Due to a technical limitation, it is not currently possible to apply
-    // multiple labels to a cell. As a result, a Chain may have no more than
-    // one sub-filter which contains a `apply_label_transformer`. It is okay for
-    // an Interleave to contain multiple `apply_label_transformers`, as they
-    // will be applied to separate copies of the input. This may be relaxed in
-    // the future.
-    string apply_label_transformer = 19;
-  }
-}
-
-// Specifies a particular change to be made to the contents of a row.
-message Mutation {
-  // A Mutation which sets the value of the specified cell.
-  message SetCell {
-    // The name of the family into which new data should be written.
-    // Must match `[-_.a-zA-Z0-9]+`
-    string family_name = 1;
-
-    // The qualifier of the column into which new data should be written.
-    // Can be any byte string, including the empty string.
-    bytes column_qualifier = 2;
-
-    // The timestamp of the cell into which new data should be written.
-    // Use -1 for current Bigtable server time.
-    // Otherwise, the client should set this value itself, noting that the
-    // default value is a timestamp of zero if the field is left unspecified.
-    // Values must match the granularity of the table (e.g. micros, millis).
-    int64 timestamp_micros = 3;
-
-    // The value to be written into the specified cell.
-    bytes value = 4;
-  }
-
-  // A Mutation which deletes cells from the specified column, optionally
-  // restricting the deletions to a given timestamp range.
-  message DeleteFromColumn {
-    // The name of the family from which cells should be deleted.
-    // Must match `[-_.a-zA-Z0-9]+`
-    string family_name = 1;
-
-    // The qualifier of the column from which cells should be deleted.
-    // Can be any byte string, including the empty string.
-    bytes column_qualifier = 2;
-
-    // The range of timestamps within which cells should be deleted.
-    TimestampRange time_range = 3;
-  }
-
-  // A Mutation which deletes all cells from the specified column family.
-  message DeleteFromFamily {
-    // The name of the family from which cells should be deleted.
-    // Must match `[-_.a-zA-Z0-9]+`
-    string family_name = 1;
-  }
-
-  // A Mutation which deletes all cells from the containing row.
-  message DeleteFromRow {
-
-  }
-
-  // Which of the possible Mutation types to apply.
-  oneof mutation {
-    // Set a cell's value.
-    SetCell set_cell = 1;
-
-    // Deletes cells from a column.
-    DeleteFromColumn delete_from_column = 2;
-
-    // Deletes cells from a column family.
-    DeleteFromFamily delete_from_family = 3;
-
-    // Deletes cells from the entire row.
-    DeleteFromRow delete_from_row = 4;
-  }
-}
-
-// Specifies an atomic read/modify/write operation on the latest value of the
-// specified column.
-message ReadModifyWriteRule {
-  // The name of the family to which the read/modify/write should be applied.
-  // Must match `[-_.a-zA-Z0-9]+`
-  string family_name = 1;
-
-  // The qualifier of the column to which the read/modify/write should be
-  // applied.
-  // Can be any byte string, including the empty string.
-  bytes column_qualifier = 2;
-
-  // The rule used to determine the column's new latest value from its current
-  // latest value.
-  oneof rule {
-    // Rule specifying that `append_value` be appended to the existing value.
-    // If the targeted cell is unset, it will be treated as containing the
-    // empty string.
-    bytes append_value = 3;
-
-    // Rule specifying that `increment_amount` be added to the existing value.
-    // If the targeted cell is unset, it will be treated as containing a zero.
-    // Otherwise, the targeted cell must contain an 8-byte value (interpreted
-    // as a 64-bit big-endian signed integer), or the entire request will fail.
-    int64 increment_amount = 4;
-  }
-}
diff --git a/googleapis/bytestream/bytestream.pb.go b/googleapis/bytestream/bytestream.pb.go
index ca479595a7e8c71c2355c8c24a416771d6ab79d5..f52ab2681fc0e6a4691a8b3564f0f4de4d64b2a2 100644
--- a/googleapis/bytestream/bytestream.pb.go
+++ b/googleapis/bytestream/bytestream.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bytestream/bytestream.proto
+// source: google/bytestream/bytestream.proto
 // DO NOT EDIT!
 
 /*
-Package google_bytestream is a generated protocol buffer package.
+Package bytestream is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/bytestream/bytestream.proto
+	google/bytestream/bytestream.proto
 
 It has these top-level messages:
 	ReadRequest
@@ -16,12 +16,12 @@ It has these top-level messages:
 	QueryWriteStatusRequest
 	QueryWriteStatusResponse
 */
-package google_bytestream // import "google.golang.org/genproto/googleapis/bytestream"
+package bytestream
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import _ "github.com/golang/protobuf/ptypes/wrappers"
 
 import (
@@ -65,6 +65,27 @@ func (m *ReadRequest) String() string            { return proto.CompactTextStrin
 func (*ReadRequest) ProtoMessage()               {}
 func (*ReadRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *ReadRequest) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+func (m *ReadRequest) GetReadOffset() int64 {
+	if m != nil {
+		return m.ReadOffset
+	}
+	return 0
+}
+
+func (m *ReadRequest) GetReadLimit() int64 {
+	if m != nil {
+		return m.ReadLimit
+	}
+	return 0
+}
+
 // Response object for ByteStream.Read.
 type ReadResponse struct {
 	// A portion of the data for the resource. The service **may** leave `data`
@@ -79,6 +100,13 @@ func (m *ReadResponse) String() string            { return proto.CompactTextStri
 func (*ReadResponse) ProtoMessage()               {}
 func (*ReadResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *ReadResponse) GetData() []byte {
+	if m != nil {
+		return m.Data
+	}
+	return nil
+}
+
 // Request object for ByteStream.Write.
 type WriteRequest struct {
 	// The name of the resource to write. This **must** be set on the first
@@ -114,6 +142,34 @@ func (m *WriteRequest) String() string            { return proto.CompactTextStri
 func (*WriteRequest) ProtoMessage()               {}
 func (*WriteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *WriteRequest) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+func (m *WriteRequest) GetWriteOffset() int64 {
+	if m != nil {
+		return m.WriteOffset
+	}
+	return 0
+}
+
+func (m *WriteRequest) GetFinishWrite() bool {
+	if m != nil {
+		return m.FinishWrite
+	}
+	return false
+}
+
+func (m *WriteRequest) GetData() []byte {
+	if m != nil {
+		return m.Data
+	}
+	return nil
+}
+
 // Response object for ByteStream.Write.
 type WriteResponse struct {
 	// The number of bytes that have been processed for the given resource.
@@ -125,6 +181,13 @@ func (m *WriteResponse) String() string            { return proto.CompactTextStr
 func (*WriteResponse) ProtoMessage()               {}
 func (*WriteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *WriteResponse) GetCommittedSize() int64 {
+	if m != nil {
+		return m.CommittedSize
+	}
+	return 0
+}
+
 // Request object for ByteStream.QueryWriteStatus.
 type QueryWriteStatusRequest struct {
 	// The name of the resource whose write status is being requested.
@@ -136,6 +199,13 @@ func (m *QueryWriteStatusRequest) String() string            { return proto.Comp
 func (*QueryWriteStatusRequest) ProtoMessage()               {}
 func (*QueryWriteStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *QueryWriteStatusRequest) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
 // Response object for ByteStream.QueryWriteStatus.
 type QueryWriteStatusResponse struct {
 	// The number of bytes that have been processed for the given resource.
@@ -150,6 +220,20 @@ func (m *QueryWriteStatusResponse) String() string            { return proto.Com
 func (*QueryWriteStatusResponse) ProtoMessage()               {}
 func (*QueryWriteStatusResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *QueryWriteStatusResponse) GetCommittedSize() int64 {
+	if m != nil {
+		return m.CommittedSize
+	}
+	return 0
+}
+
+func (m *QueryWriteStatusResponse) GetComplete() bool {
+	if m != nil {
+		return m.Complete
+	}
+	return false
+}
+
 func init() {
 	proto.RegisterType((*ReadRequest)(nil), "google.bytestream.ReadRequest")
 	proto.RegisterType((*ReadResponse)(nil), "google.bytestream.ReadResponse")
@@ -434,42 +518,39 @@ var _ByteStream_serviceDesc = grpc.ServiceDesc{
 			ClientStreams: true,
 		},
 	},
-	Metadata: "google.golang.org/genproto/googleapis/bytestream/bytestream.proto",
+	Metadata: "google/bytestream/bytestream.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bytestream/bytestream.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/bytestream/bytestream.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 464 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x53, 0x5d, 0x6b, 0x13, 0x41,
-	0x14, 0x65, 0xdb, 0x2a, 0xe9, 0xcd, 0xc6, 0x8f, 0x01, 0x71, 0x59, 0xd0, 0xa6, 0x2b, 0xc2, 0xa2,
-	0xb0, 0x23, 0x0a, 0x82, 0x2f, 0x82, 0x79, 0x2b, 0x14, 0x3f, 0xb6, 0x0f, 0x3e, 0xc9, 0x32, 0xd9,
-	0xdc, 0xdd, 0x0e, 0x66, 0x3e, 0x9c, 0x99, 0xb5, 0xa4, 0xff, 0xc1, 0x17, 0x7f, 0xb1, 0xec, 0x4c,
-	0x6c, 0xa2, 0x49, 0xa0, 0x79, 0xbb, 0x73, 0xee, 0x3d, 0xe7, 0x9e, 0xb9, 0x73, 0x07, 0x3e, 0xb4,
-	0x4a, 0xb5, 0x73, 0x2c, 0x5a, 0x35, 0x67, 0xb2, 0x2d, 0x94, 0x69, 0x69, 0x8b, 0x52, 0x1b, 0xe5,
-	0x14, 0x0d, 0x29, 0xa6, 0xb9, 0xa5, 0xd3, 0x85, 0x43, 0xeb, 0x0c, 0x32, 0xb1, 0x16, 0x16, 0xbe,
-	0x8c, 0x3c, 0x5c, 0x4a, 0xac, 0x12, 0xe9, 0xd9, 0xed, 0x54, 0x99, 0xe6, 0xd4, 0xa2, 0xf9, 0xc9,
-	0x6b, 0xac, 0x95, 0x6c, 0x78, 0x4b, 0x99, 0x94, 0xca, 0x31, 0xc7, 0x95, 0xb4, 0x41, 0x3d, 0x7d,
-	0xd7, 0x72, 0x77, 0xd9, 0x4d, 0x8b, 0x5a, 0x09, 0x1a, 0xe4, 0xa8, 0x4f, 0x4c, 0xbb, 0x86, 0x6a,
-	0xb7, 0xd0, 0x68, 0xe9, 0x95, 0x61, 0x5a, 0xa3, 0x59, 0x05, 0x81, 0x9a, 0x19, 0x18, 0x96, 0xc8,
-	0x66, 0x25, 0xfe, 0xe8, 0xd0, 0x3a, 0xf2, 0x0c, 0x46, 0x06, 0xad, 0xea, 0x4c, 0x8d, 0x95, 0x64,
-	0x02, 0x93, 0x68, 0x1c, 0xe5, 0xc7, 0x65, 0xfc, 0x17, 0xfc, 0xc8, 0x04, 0x92, 0x13, 0x18, 0x1a,
-	0x64, 0xb3, 0x4a, 0x35, 0x8d, 0x45, 0x97, 0x1c, 0x8c, 0xa3, 0xfc, 0xb0, 0x84, 0x1e, 0xfa, 0xe4,
-	0x11, 0xf2, 0x04, 0xfc, 0xa9, 0x9a, 0x73, 0xc1, 0x5d, 0x72, 0xe8, 0xf3, 0xc7, 0x3d, 0x72, 0xde,
-	0x03, 0x59, 0x06, 0x71, 0xe8, 0x69, 0xb5, 0x92, 0x16, 0x09, 0x81, 0xa3, 0x19, 0x73, 0x2c, 0x81,
-	0x71, 0x94, 0xc7, 0xa5, 0x8f, 0xb3, 0x5f, 0x11, 0xc4, 0x5f, 0x0d, 0x77, 0xb8, 0x97, 0xb3, 0x53,
-	0x88, 0xaf, 0x7a, 0xd2, 0xbf, 0xd6, 0x86, 0x1e, 0x5b, 0x7a, 0x3b, 0x85, 0xb8, 0xe1, 0x92, 0xdb,
-	0xcb, 0xca, 0xa3, 0xde, 0xdd, 0xa0, 0x1c, 0x06, 0xcc, 0x77, 0xdc, 0xea, 0xe7, 0x2d, 0x8c, 0x96,
-	0x76, 0x96, 0xa6, 0x9f, 0xc3, 0xbd, 0x5a, 0x09, 0xc1, 0x9d, 0xc3, 0x59, 0x65, 0xf9, 0x75, 0x30,
-	0x74, 0x58, 0x8e, 0x6e, 0xd0, 0x0b, 0x7e, 0x8d, 0xd9, 0x7b, 0x78, 0xfc, 0xa5, 0x43, 0xb3, 0xf0,
-	0xe4, 0x0b, 0xc7, 0x5c, 0x67, 0xf7, 0xb9, 0x51, 0xf6, 0x0d, 0x92, 0x4d, 0xfe, 0x5e, 0x16, 0x48,
-	0x0a, 0x83, 0x5a, 0x09, 0x3d, 0x47, 0x87, 0x7e, 0x20, 0x83, 0xf2, 0xe6, 0xfc, 0xfa, 0xf7, 0x01,
-	0xc0, 0x64, 0xd1, 0x2b, 0xf7, 0x3b, 0x49, 0xce, 0xe0, 0xa8, 0x7f, 0x19, 0xf2, 0xb4, 0xd8, 0xd8,
-	0xd7, 0x62, 0x6d, 0x4d, 0xd2, 0x93, 0x9d, 0xf9, 0x60, 0xed, 0x55, 0x44, 0xce, 0xe1, 0x4e, 0x98,
-	0xe6, 0xb6, 0xda, 0xf5, 0x97, 0x4d, 0xc7, 0xbb, 0x0b, 0x82, 0x5a, 0x1e, 0x91, 0xef, 0xf0, 0xe0,
-	0xff, 0x31, 0x90, 0x17, 0x5b, 0x78, 0x3b, 0x66, 0x9d, 0xbe, 0xbc, 0x55, 0x6d, 0x68, 0x37, 0xc9,
-	0xe1, 0x51, 0xad, 0xc4, 0x26, 0x63, 0x72, 0x7f, 0x35, 0xaa, 0xcf, 0xfe, 0x7f, 0xdd, 0xf5, 0x9f,
-	0xe8, 0xcd, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x2d, 0x1b, 0x69, 0x22, 0x04, 0x00, 0x00,
+	// 446 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0x5b, 0x8b, 0x13, 0x31,
+	0x14, 0x66, 0xb6, 0xab, 0x74, 0x4f, 0xa7, 0x5e, 0x02, 0xe2, 0x30, 0xe8, 0x6e, 0x77, 0x44, 0x28,
+	0x0a, 0x33, 0xa2, 0xe0, 0xcb, 0x82, 0x0f, 0x7d, 0x13, 0x16, 0x2f, 0xd9, 0x07, 0x41, 0x90, 0x21,
+	0x6d, 0x4f, 0xc7, 0x60, 0x93, 0x8c, 0x49, 0x86, 0xa5, 0xfb, 0x1f, 0x7c, 0xf1, 0x17, 0x4b, 0x92,
+	0xb1, 0x1d, 0x6d, 0x0b, 0xdb, 0xb7, 0xe4, 0xbb, 0xcc, 0xf9, 0xe6, 0xe4, 0x1c, 0xc8, 0x2a, 0xa5,
+	0xaa, 0x25, 0x16, 0xd3, 0x95, 0x45, 0x63, 0x35, 0x32, 0xd1, 0x39, 0xe6, 0xb5, 0x56, 0x56, 0x91,
+	0x87, 0x41, 0x93, 0x6f, 0x88, 0xf4, 0x49, 0x6b, 0x63, 0x35, 0x2f, 0x98, 0x94, 0xca, 0x32, 0xcb,
+	0x95, 0x34, 0xc1, 0x90, 0x9e, 0xb6, 0xac, 0xbf, 0x4d, 0x9b, 0x45, 0x71, 0xad, 0x59, 0x5d, 0xa3,
+	0x6e, 0xf9, 0x4c, 0xc3, 0x80, 0x22, 0x9b, 0x53, 0xfc, 0xd9, 0xa0, 0xb1, 0xe4, 0x19, 0x0c, 0x35,
+	0x1a, 0xd5, 0xe8, 0x19, 0x96, 0x92, 0x09, 0x4c, 0xa2, 0x51, 0x34, 0x3e, 0xa1, 0xf1, 0x5f, 0xf0,
+	0x03, 0x13, 0x48, 0xce, 0x60, 0xa0, 0x91, 0xcd, 0x4b, 0xb5, 0x58, 0x18, 0xb4, 0xc9, 0xd1, 0x28,
+	0x1a, 0xf7, 0x28, 0x38, 0xe8, 0xa3, 0x47, 0xc8, 0x53, 0xf0, 0xb7, 0x72, 0xc9, 0x05, 0xb7, 0x49,
+	0xcf, 0xf3, 0x27, 0x0e, 0xb9, 0x74, 0x40, 0x96, 0x41, 0x1c, 0x6a, 0x9a, 0x5a, 0x49, 0x83, 0x84,
+	0xc0, 0xf1, 0x9c, 0x59, 0x96, 0xc0, 0x28, 0x1a, 0xc7, 0xd4, 0x9f, 0xb3, 0x5f, 0x11, 0xc4, 0x5f,
+	0x34, 0xb7, 0x78, 0x50, 0xb2, 0x73, 0x88, 0xaf, 0x9d, 0xe9, 0xdf, 0x68, 0x03, 0x8f, 0xb5, 0xd9,
+	0xce, 0x21, 0x5e, 0x70, 0xc9, 0xcd, 0xf7, 0xd2, 0xa3, 0x3e, 0x5d, 0x9f, 0x0e, 0x02, 0xe6, 0x2b,
+	0xee, 0xcc, 0xf3, 0x16, 0x86, 0x6d, 0x9c, 0x36, 0xf4, 0x73, 0xb8, 0x37, 0x53, 0x42, 0x70, 0x6b,
+	0x71, 0x5e, 0x1a, 0x7e, 0x13, 0x02, 0xf5, 0xe8, 0x70, 0x8d, 0x5e, 0xf1, 0x1b, 0xcc, 0xde, 0xc1,
+	0xe3, 0xcf, 0x0d, 0xea, 0x95, 0x37, 0x5f, 0x59, 0x66, 0x1b, 0x73, 0xc8, 0x1f, 0x65, 0xdf, 0x20,
+	0xd9, 0xf6, 0x1f, 0x14, 0x81, 0xa4, 0xd0, 0x9f, 0x29, 0x51, 0x2f, 0xd1, 0xa2, 0x6f, 0x48, 0x9f,
+	0xae, 0xef, 0xaf, 0x7f, 0x1f, 0x01, 0x4c, 0x56, 0xee, 0xcb, 0x6e, 0x96, 0xc8, 0x7b, 0x38, 0x76,
+	0x2f, 0x43, 0x4e, 0xf3, 0xad, 0x39, 0xcb, 0x3b, 0x63, 0x92, 0x9e, 0xed, 0xe5, 0x43, 0xb4, 0x57,
+	0x11, 0xb9, 0x84, 0x3b, 0xa1, 0x9b, 0xbb, 0xb4, 0xdd, 0x97, 0x4d, 0x47, 0xfb, 0x05, 0xe1, 0x6b,
+	0xe3, 0x88, 0xfc, 0x80, 0x07, 0xff, 0xb7, 0x81, 0xbc, 0xd8, 0xe1, 0xdb, 0xd3, 0xeb, 0xf4, 0xe5,
+	0xad, 0xb4, 0xa1, 0xdc, 0x04, 0xe1, 0xd1, 0x4c, 0x89, 0x6d, 0xc7, 0xe4, 0xfe, 0xa6, 0x55, 0x9f,
+	0xdc, 0xf6, 0x7c, 0xbd, 0x68, 0x35, 0x95, 0x5a, 0x32, 0x59, 0xe5, 0x4a, 0x57, 0x45, 0x85, 0xd2,
+	0x6f, 0x56, 0x11, 0x28, 0x56, 0x73, 0xd3, 0x59, 0xe3, 0x8b, 0xcd, 0x71, 0x7a, 0xd7, 0xeb, 0xde,
+	0xfc, 0x09, 0x00, 0x00, 0xff, 0xff, 0x8f, 0x91, 0x09, 0xd4, 0xf8, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/bytestream/bytestream.proto b/googleapis/bytestream/bytestream.proto
deleted file mode 100644
index 7fc5a302f5bbe0dd47f64a951e47c817d9718d1e..0000000000000000000000000000000000000000
--- a/googleapis/bytestream/bytestream.proto
+++ /dev/null
@@ -1,180 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.bytestream;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto
-
-option java_outer_classname = "ByteStreamProto";
-option java_package = "com.google.bytestream";
-
-
-// #### Introduction
-//
-// The Byte Stream API enables a client to read and write a stream of bytes to
-// and from a resource. Resources have names, and these names are supplied in
-// the API calls below to identify the resource that is being read from or
-// written to.
-//
-// All implementations of the Byte Stream API export the interface defined here:
-//
-// * `Read()`: Reads the contents of a resource.
-//
-// * `Write()`: Writes the contents of a resource. The client can call `Write()`
-//   multiple times with the same resource and can check the status of the write
-//   by calling `QueryWriteStatus()`.
-//
-// #### Service parameters and metadata
-//
-// The ByteStream API provides no direct way to access/modify any metadata
-// associated with the resource.
-//
-// #### Errors
-//
-// The errors returned by the service are in the Google canonical error space.
-service ByteStream {
-  // `Read()` is used to retrieve the contents of a resource as a sequence
-  // of bytes. The bytes are returned in a sequence of responses, and the
-  // responses are delivered as the results of a server-side streaming RPC.
-  rpc Read(ReadRequest) returns (stream ReadResponse);
-
-  // `Write()` is used to send the contents of a resource as a sequence of
-  // bytes. The bytes are sent in a sequence of request protos of a client-side
-  // streaming RPC.
-  //
-  // A `Write()` action is resumable. If there is an error or the connection is
-  // broken during the `Write()`, the client should check the status of the
-  // `Write()` by calling `QueryWriteStatus()` and continue writing from the
-  // returned `committed_size`. This may be less than the amount of data the
-  // client previously sent.
-  //
-  // Calling `Write()` on a resource name that was previously written and
-  // finalized could cause an error, depending on whether the underlying service
-  // allows over-writing of previously written resources.
-  //
-  // When the client closes the request channel, the service will respond with
-  // a `WriteResponse`. The service will not view the resource as `complete`
-  // until the client has sent a `WriteRequest` with `finish_write` set to
-  // `true`. Sending any requests on a stream after sending a request with
-  // `finish_write` set to `true` will cause an error. The client **should**
-  // check the `WriteResponse` it receives to determine how much data the
-  // service was able to commit and whether the service views the resource as
-  // `complete` or not.
-  rpc Write(stream WriteRequest) returns (WriteResponse);
-
-  // `QueryWriteStatus()` is used to find the `committed_size` for a resource
-  // that is being written, which can then be used as the `write_offset` for
-  // the next `Write()` call.
-  //
-  // If the resource does not exist (i.e., the resource has been deleted, or the
-  // first `Write()` has not yet reached the service), this method returns the
-  // error `NOT_FOUND`.
-  //
-  // The client **may** call `QueryWriteStatus()` at any time to determine how
-  // much data has been processed for this resource. This is useful if the
-  // client is buffering data and needs to know which data can be safely
-  // evicted. For any sequence of `QueryWriteStatus()` calls for a given
-  // resource name, the sequence of returned `committed_size` values will be
-  // non-decreasing.
-  rpc QueryWriteStatus(QueryWriteStatusRequest) returns (QueryWriteStatusResponse);
-}
-
-// Request object for ByteStream.Read.
-message ReadRequest {
-  // The name of the resource to read.
-  string resource_name = 1;
-
-  // The offset for the first byte to return in the read, relative to the start
-  // of the resource.
-  //
-  // A `read_offset` that is negative or greater than the size of the resource
-  // will cause an `OUT_OF_RANGE` error.
-  int64 read_offset = 2;
-
-  // The maximum number of `data` bytes the server is allowed to return in the
-  // sum of all `ReadResponse` messages. A `read_limit` of zero indicates that
-  // there is no limit, and a negative `read_limit` will cause an error.
-  //
-  // If the stream returns fewer bytes than allowed by the `read_limit` and no
-  // error occurred, the stream includes all data from the `read_offset` to the
-  // end of the resource.
-  int64 read_limit = 3;
-}
-
-// Response object for ByteStream.Read.
-message ReadResponse {
-  // A portion of the data for the resource. The service **may** leave `data`
-  // empty for any given `ReadResponse`. This enables the service to inform the
-  // client that the request is still live while it is running an operation to
-  // generate more data.
-  bytes data = 10;
-}
-
-// Request object for ByteStream.Write.
-message WriteRequest {
-  // The name of the resource to write. This **must** be set on the first
-  // `WriteRequest` of each `Write()` action. If it is set on subsequent calls,
-  // it **must** match the value of the first request.
-  string resource_name = 1;
-
-  // The offset from the beginning of the resource at which the data should be
-  // written. It is required on all `WriteRequest`s.
-  //
-  // In the first `WriteRequest` of a `Write()` action, it indicates
-  // the initial offset for the `Write()` call. The value **must** be equal to
-  // the `committed_size` that a call to `QueryWriteStatus()` would return.
-  //
-  // On subsequent calls, this value **must** be set and **must** be equal to
-  // the sum of the first `write_offset` and the sizes of all `data` bundles
-  // sent previously on this stream.
-  //
-  // An incorrect value will cause an error.
-  int64 write_offset = 2;
-
-  // If `true`, this indicates that the write is complete. Sending any
-  // `WriteRequest`s subsequent to one in which `finish_write` is `true` will
-  // cause an error.
-  bool finish_write = 3;
-
-  // A portion of the data for the resource. The client **may** leave `data`
-  // empty for any given `WriteRequest`. This enables the client to inform the
-  // service that the request is still live while it is running an operation to
-  // generate more data.
-  bytes data = 10;
-}
-
-// Response object for ByteStream.Write.
-message WriteResponse {
-  // The number of bytes that have been processed for the given resource.
-  int64 committed_size = 1;
-}
-
-// Request object for ByteStream.QueryWriteStatus.
-message QueryWriteStatusRequest {
-  // The name of the resource whose write status is being requested.
-  string resource_name = 1;
-}
-
-// Response object for ByteStream.QueryWriteStatus.
-message QueryWriteStatusResponse {
-  // The number of bytes that have been processed for the given resource.
-  int64 committed_size = 1;
-
-  // `complete` is `true` only if the client has sent a `WriteRequest` with
-  // `finish_write` set to true, and the server has processed that request.
-  bool complete = 2;
-}
diff --git a/googleapis/cloud/audit/audit_log.pb.go b/googleapis/cloud/audit/audit_log.pb.go
index bd0976a488912509e38a867a3c955af888e1ff9f..30b080dbbae43920993ca2d2577890d46755dc03 100644
--- a/googleapis/cloud/audit/audit_log.pb.go
+++ b/googleapis/cloud/audit/audit_log.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/audit/audit_log.proto
+// source: google/cloud/audit/audit_log.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_audit is a generated protocol buffer package.
+Package audit is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/audit/audit_log.proto
+	google/cloud/audit/audit_log.proto
 
 It has these top-level messages:
 	AuditLog
@@ -14,12 +14,12 @@ It has these top-level messages:
 	AuthorizationInfo
 	RequestMetadata
 */
-package google_cloud_audit // import "google.golang.org/genproto/googleapis/cloud/audit"
+package audit
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/any"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/struct"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
@@ -91,6 +91,34 @@ func (m *AuditLog) String() string            { return proto.CompactTextString(m
 func (*AuditLog) ProtoMessage()               {}
 func (*AuditLog) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *AuditLog) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *AuditLog) GetMethodName() string {
+	if m != nil {
+		return m.MethodName
+	}
+	return ""
+}
+
+func (m *AuditLog) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+func (m *AuditLog) GetNumResponseItems() int64 {
+	if m != nil {
+		return m.NumResponseItems
+	}
+	return 0
+}
+
 func (m *AuditLog) GetStatus() *google_rpc.Status {
 	if m != nil {
 		return m.Status
@@ -151,6 +179,13 @@ func (m *AuthenticationInfo) String() string            { return proto.CompactTe
 func (*AuthenticationInfo) ProtoMessage()               {}
 func (*AuthenticationInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *AuthenticationInfo) GetPrincipalEmail() string {
+	if m != nil {
+		return m.PrincipalEmail
+	}
+	return ""
+}
+
 // Authorization information for the operation.
 type AuthorizationInfo struct {
 	// The resource being accessed, as a REST-style string. For example:
@@ -169,6 +204,27 @@ func (m *AuthorizationInfo) String() string            { return proto.CompactTex
 func (*AuthorizationInfo) ProtoMessage()               {}
 func (*AuthorizationInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *AuthorizationInfo) GetResource() string {
+	if m != nil {
+		return m.Resource
+	}
+	return ""
+}
+
+func (m *AuthorizationInfo) GetPermission() string {
+	if m != nil {
+		return m.Permission
+	}
+	return ""
+}
+
+func (m *AuthorizationInfo) GetGranted() bool {
+	if m != nil {
+		return m.Granted
+	}
+	return false
+}
+
 // Metadata about the request.
 type RequestMetadata struct {
 	// The IP address of the caller.
@@ -191,6 +247,20 @@ func (m *RequestMetadata) String() string            { return proto.CompactTextS
 func (*RequestMetadata) ProtoMessage()               {}
 func (*RequestMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *RequestMetadata) GetCallerIp() string {
+	if m != nil {
+		return m.CallerIp
+	}
+	return ""
+}
+
+func (m *RequestMetadata) GetCallerSuppliedUserAgent() string {
+	if m != nil {
+		return m.CallerSuppliedUserAgent
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*AuditLog)(nil), "google.cloud.audit.AuditLog")
 	proto.RegisterType((*AuthenticationInfo)(nil), "google.cloud.audit.AuthenticationInfo")
@@ -198,48 +268,44 @@ func init() {
 	proto.RegisterType((*RequestMetadata)(nil), "google.cloud.audit.RequestMetadata")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/audit/audit_log.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/audit/audit_log.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 597 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x93, 0x5f, 0x6f, 0xd3, 0x30,
-	0x14, 0xc5, 0x55, 0x36, 0x6d, 0xad, 0xbb, 0xd1, 0xcd, 0x20, 0x16, 0x15, 0x09, 0x4a, 0x27, 0xa0,
-	0x20, 0x14, 0x8b, 0x4d, 0x88, 0x07, 0xb4, 0x87, 0x4e, 0xf0, 0x50, 0x09, 0xa6, 0x29, 0x03, 0xf1,
-	0x18, 0x79, 0xe9, 0xad, 0x67, 0x91, 0xd8, 0xc6, 0x7f, 0x90, 0xca, 0x77, 0xe6, 0x3b, 0xa0, 0xde,
-	0x38, 0x65, 0x5b, 0x07, 0xec, 0xa1, 0x8d, 0x72, 0xee, 0xef, 0x1c, 0xdb, 0xd7, 0x37, 0x64, 0x2c,
-	0xb4, 0x16, 0x25, 0xa4, 0x42, 0x97, 0x5c, 0x89, 0x54, 0x5b, 0xc1, 0x04, 0x28, 0x63, 0xb5, 0xd7,
-	0xac, 0x2e, 0x71, 0x23, 0x1d, 0x2b, 0x4a, 0x1d, 0xa6, 0x8c, 0x87, 0xa9, 0xf4, 0xf5, 0x7f, 0x5e,
-	0x6a, 0x91, 0x22, 0x46, 0x69, 0x8c, 0x40, 0x26, 0xc5, 0x6a, 0x7f, 0x72, 0xbb, 0x58, 0x6e, 0x24,
-	0x73, 0x60, 0x7f, 0xc8, 0x02, 0x0a, 0xad, 0x66, 0x52, 0x30, 0xae, 0x94, 0xf6, 0xdc, 0x4b, 0xad,
-	0x5c, 0x1d, 0xdf, 0x67, 0x42, 0xfa, 0x8b, 0x70, 0x9e, 0x16, 0xba, 0x62, 0x75, 0x1c, 0xc3, 0xc2,
-	0x79, 0x98, 0x31, 0xe3, 0xe7, 0x06, 0x1c, 0xe3, 0x6a, 0xbe, 0xf8, 0x45, 0xc3, 0x9b, 0xff, 0x1b,
-	0x9c, 0xb7, 0xa1, 0xf0, 0xf1, 0x11, 0x6d, 0x47, 0xb7, 0xdb, 0xb2, 0x35, 0x05, 0x73, 0x9e, 0xfb,
-	0xe0, 0xe2, 0xa3, 0xb6, 0x0f, 0x7f, 0xad, 0x93, 0xf6, 0x78, 0x71, 0xf6, 0x8f, 0x5a, 0xd0, 0x27,
-	0x64, 0x2b, 0x1e, 0x2b, 0x57, 0xbc, 0x82, 0x64, 0x73, 0xd0, 0x1a, 0x75, 0xb2, 0x6e, 0xd4, 0x4e,
-	0x78, 0x05, 0xf4, 0x31, 0xe9, 0x56, 0xe0, 0x2f, 0xf4, 0xb4, 0x26, 0xda, 0x48, 0x90, 0x5a, 0x42,
-	0x60, 0x9f, 0x6c, 0x5b, 0x70, 0x3a, 0xd8, 0x26, 0xa4, 0x8b, 0xc8, 0x56, 0x23, 0x22, 0xf4, 0x8a,
-	0x50, 0x15, 0xaa, 0xdc, 0x82, 0x33, 0x5a, 0x39, 0xc8, 0xa5, 0x87, 0xca, 0x25, 0x5b, 0x83, 0xd6,
-	0x68, 0x2d, 0xdb, 0x51, 0xa1, 0xca, 0x62, 0x61, 0xb2, 0xd0, 0xe9, 0x4b, 0xb2, 0x51, 0xef, 0x39,
-	0xb9, 0x33, 0x68, 0x8d, 0xba, 0x07, 0x34, 0x8d, 0x67, 0xb6, 0xa6, 0x48, 0xcf, 0xb0, 0x92, 0x45,
-	0x82, 0x7e, 0x25, 0xf7, 0x78, 0xf0, 0x17, 0xa0, 0xbc, 0x2c, 0xf0, 0x3e, 0x72, 0xa9, 0x66, 0x3a,
-	0x59, 0x43, 0xe3, 0xb3, 0x74, 0xf5, 0xce, 0xd3, 0xf1, 0x15, 0x7c, 0xa2, 0x66, 0x3a, 0xa3, 0x7c,
-	0x45, 0xa3, 0x9f, 0x09, 0xaa, 0xda, 0xca, 0x9f, 0x97, 0x72, 0x3b, 0x83, 0xb5, 0x51, 0xf7, 0xe0,
-	0xe9, 0xdf, 0x72, 0x97, 0x34, 0xc6, 0xee, 0xf2, 0xeb, 0x12, 0x3d, 0x21, 0x3b, 0x16, 0xbe, 0x07,
-	0x70, 0x3e, 0xaf, 0xc0, 0xf3, 0x29, 0xf7, 0x3c, 0x59, 0xc7, 0xbd, 0xee, 0xdf, 0x94, 0x99, 0xd5,
-	0xec, 0xa7, 0x88, 0x66, 0x3d, 0x7b, 0x55, 0xa0, 0xaf, 0xc9, 0x66, 0x94, 0x92, 0x1d, 0x8c, 0xd9,
-	0x6b, 0x62, 0x9a, 0x59, 0x4a, 0xcf, 0x70, 0x7a, 0xb2, 0x86, 0xa3, 0x87, 0xa4, 0xdd, 0xdc, 0x43,
-	0xb2, 0xfb, 0x6f, 0xcf, 0x12, 0xa4, 0x6f, 0xff, 0x4c, 0x0a, 0xee, 0xb9, 0x87, 0xc6, 0xfb, 0x2b,
-	0xc6, 0xb1, 0x9a, 0x2f, 0xe7, 0xe7, 0x3d, 0xf7, 0x7c, 0x78, 0x44, 0xe8, 0x6a, 0xc3, 0xe9, 0x73,
-	0xd2, 0x33, 0x56, 0xaa, 0x42, 0x1a, 0x5e, 0xe6, 0x50, 0x71, 0x59, 0x26, 0x2d, 0x1c, 0x9b, 0xbb,
-	0x4b, 0xf9, 0xc3, 0x42, 0x1d, 0x4a, 0xb2, 0xbb, 0xd2, 0x57, 0xda, 0xc7, 0x13, 0xe0, 0x74, 0x45,
-	0xdb, 0xf2, 0x9d, 0x3e, 0x22, 0xc4, 0x80, 0xad, 0xa4, 0x73, 0x52, 0x2b, 0x9c, 0x9f, 0x4e, 0x76,
-	0x49, 0xa1, 0x09, 0xd9, 0x14, 0x96, 0x2b, 0x0f, 0x53, 0x9c, 0x91, 0x76, 0xd6, 0xbc, 0x0e, 0xbf,
-	0x91, 0xde, 0xb5, 0x76, 0xd3, 0x87, 0xa4, 0x53, 0xf0, 0xb2, 0x04, 0x9b, 0x4b, 0xd3, 0xac, 0x54,
-	0x0b, 0x13, 0x43, 0xdf, 0x91, 0x7e, 0x2c, 0xba, 0x60, 0x4c, 0x29, 0x61, 0x9a, 0x07, 0x07, 0x36,
-	0xe7, 0x02, 0x94, 0x8f, 0x2b, 0xef, 0xd5, 0xc4, 0x59, 0x04, 0xbe, 0x38, 0xb0, 0xe3, 0x45, 0xf9,
-	0xf8, 0x05, 0x79, 0x50, 0xe8, 0xea, 0x86, 0x2b, 0x3f, 0xde, 0x6e, 0xbe, 0xce, 0xd3, 0x45, 0x4f,
-	0x4f, 0x5b, 0xe7, 0x1b, 0xd8, 0xdc, 0xc3, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x93, 0xa1, 0x4a,
-	0x9b, 0x03, 0x05, 0x00, 0x00,
+	// 576 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0x5f, 0x6f, 0xd3, 0x30,
+	0x14, 0xc5, 0x55, 0x36, 0x6d, 0xad, 0xbb, 0xd1, 0xd6, 0x20, 0x1a, 0xca, 0x04, 0xa5, 0x13, 0x50,
+	0x21, 0x94, 0x88, 0xed, 0x61, 0x0f, 0x13, 0x0f, 0x9d, 0xe0, 0xa1, 0x12, 0x4c, 0x53, 0x0a, 0x42,
+	0xe2, 0x25, 0x72, 0x93, 0xdb, 0xcc, 0x22, 0xb1, 0x8d, 0xff, 0x20, 0x8d, 0xef, 0xcc, 0x77, 0x40,
+	0xbd, 0x71, 0x4a, 0xd7, 0x0e, 0x5e, 0x2c, 0xf9, 0x9c, 0xdf, 0xbd, 0x76, 0xaf, 0x4f, 0x43, 0x46,
+	0xb9, 0x94, 0x79, 0x01, 0x51, 0x5a, 0x48, 0x97, 0x45, 0xcc, 0x65, 0xdc, 0x56, 0x6b, 0x52, 0xc8,
+	0x3c, 0x54, 0x5a, 0x5a, 0x49, 0x69, 0xc5, 0x84, 0xc8, 0x84, 0xe8, 0x0e, 0x8e, 0x7c, 0x1d, 0x53,
+	0x3c, 0x62, 0x42, 0x48, 0xcb, 0x2c, 0x97, 0xc2, 0x54, 0x15, 0x83, 0xc7, 0xde, 0xc5, 0xdd, 0xdc,
+	0x2d, 0x22, 0x26, 0x6e, 0xbc, 0x75, 0xb4, 0x69, 0x19, 0xab, 0x5d, 0x6a, 0xbd, 0xdb, 0xf7, 0xae,
+	0x56, 0x69, 0x64, 0x2c, 0xb3, 0xce, 0x77, 0x1c, 0xfd, 0xde, 0x25, 0xcd, 0xc9, 0xf2, 0xe4, 0x8f,
+	0x32, 0xa7, 0xcf, 0xc9, 0x81, 0x01, 0xfd, 0x93, 0xa7, 0x90, 0x08, 0x56, 0x42, 0xb0, 0x3f, 0x6c,
+	0x8c, 0x5b, 0x71, 0xdb, 0x6b, 0x97, 0xac, 0x04, 0xfa, 0x8c, 0xb4, 0x4b, 0xb0, 0xd7, 0x32, 0xab,
+	0x88, 0x26, 0x12, 0xa4, 0x92, 0x10, 0x38, 0x26, 0x87, 0x1a, 0x8c, 0x74, 0xba, 0x6e, 0xd2, 0x46,
+	0xe4, 0xa0, 0x16, 0x11, 0x7a, 0x43, 0xa8, 0x70, 0x65, 0xa2, 0xc1, 0x28, 0x29, 0x0c, 0x24, 0xdc,
+	0x42, 0x69, 0x82, 0x83, 0x61, 0x63, 0xbc, 0x13, 0x77, 0x85, 0x2b, 0x63, 0x6f, 0x4c, 0x97, 0x3a,
+	0x7d, 0x4d, 0xf6, 0xaa, 0x3b, 0x07, 0xf7, 0x86, 0x8d, 0x71, 0xfb, 0x84, 0x86, 0x7e, 0x70, 0x5a,
+	0xa5, 0xe1, 0x0c, 0x9d, 0xd8, 0x13, 0xf4, 0x2b, 0x79, 0xc0, 0x9c, 0xbd, 0x06, 0x61, 0x79, 0x8a,
+	0xa3, 0x4b, 0xb8, 0x58, 0xc8, 0x60, 0x07, 0x0b, 0x5f, 0x86, 0xdb, 0x13, 0x0f, 0x27, 0xb7, 0xf0,
+	0xa9, 0x58, 0xc8, 0x98, 0xb2, 0x2d, 0x8d, 0x7e, 0x26, 0xa8, 0x4a, 0xcd, 0x7f, 0xad, 0xf5, 0x6d,
+	0x0d, 0x77, 0xc6, 0xed, 0x93, 0x17, 0xff, 0xea, 0xbb, 0xa2, 0xb1, 0x6d, 0x8f, 0x6d, 0x4a, 0xf4,
+	0x92, 0x74, 0x35, 0xfc, 0x70, 0x60, 0x6c, 0x52, 0x82, 0x65, 0x19, 0xb3, 0x2c, 0xd8, 0xc5, 0xbb,
+	0x1e, 0xdf, 0xd5, 0x33, 0xae, 0xd8, 0x4f, 0x1e, 0x8d, 0x3b, 0xfa, 0xb6, 0x40, 0xdf, 0x92, 0x7d,
+	0x2f, 0x05, 0x5d, 0x6c, 0xd3, 0xaf, 0xdb, 0xd4, 0xb9, 0x08, 0x67, 0x98, 0x8b, 0xb8, 0xe6, 0xe8,
+	0x29, 0x69, 0xd6, 0xef, 0x10, 0xf4, 0xfe, 0x5f, 0xb3, 0x02, 0xe9, 0xd9, 0xdf, 0xa4, 0xe0, 0x9d,
+	0x3b, 0x58, 0xf8, 0x70, 0xab, 0x70, 0x22, 0x6e, 0x56, 0xf9, 0x79, 0xcf, 0x2c, 0x1b, 0xbd, 0x23,
+	0x74, 0x7b, 0xe0, 0xf4, 0x15, 0xe9, 0x28, 0xcd, 0x45, 0xca, 0x15, 0x2b, 0x12, 0x28, 0x19, 0x2f,
+	0x82, 0x06, 0xc6, 0xe6, 0xfe, 0x4a, 0xfe, 0xb0, 0x54, 0x47, 0x9c, 0xf4, 0xb6, 0xe6, 0x4a, 0x07,
+	0xf8, 0x0b, 0x30, 0x5d, 0xbe, 0x6c, 0xb5, 0xa7, 0x4f, 0x09, 0x51, 0xa0, 0x4b, 0x6e, 0x0c, 0x97,
+	0x02, 0xf3, 0xd3, 0x8a, 0xd7, 0x14, 0x1a, 0x90, 0xfd, 0x5c, 0x33, 0x61, 0x21, 0xc3, 0x8c, 0x34,
+	0xe3, 0x7a, 0x3b, 0xfa, 0x4e, 0x3a, 0x1b, 0xe3, 0xa6, 0x4f, 0x48, 0x2b, 0x65, 0x45, 0x01, 0x3a,
+	0xe1, 0xaa, 0x3e, 0xa9, 0x12, 0xa6, 0x8a, 0x9e, 0x93, 0x81, 0x37, 0x8d, 0x53, 0xaa, 0xe0, 0x90,
+	0x25, 0xce, 0x80, 0x4e, 0x58, 0x0e, 0xc2, 0xfa, 0x93, 0xfb, 0x15, 0x31, 0xf3, 0xc0, 0x17, 0x03,
+	0x7a, 0xb2, 0xb4, 0x2f, 0xe6, 0xe4, 0x51, 0x2a, 0xcb, 0x3b, 0x9e, 0xfc, 0xe2, 0xb0, 0xfe, 0x77,
+	0x5e, 0x2d, 0x67, 0x7a, 0xd5, 0xf8, 0x76, 0xe6, 0xa1, 0x5c, 0x16, 0x4c, 0xe4, 0xa1, 0xd4, 0x79,
+	0x94, 0x83, 0xc0, 0x89, 0x47, 0x95, 0xc5, 0x14, 0x37, 0xeb, 0x1f, 0x9e, 0x73, 0x5c, 0xe7, 0x7b,
+	0xc8, 0x9c, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0x90, 0xe4, 0x37, 0xbf, 0x9b, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/audit/audit_log.proto b/googleapis/cloud/audit/audit_log.proto
deleted file mode 100644
index e801a75cf617207d2105122c88cc66d6fe4267d9..0000000000000000000000000000000000000000
--- a/googleapis/cloud/audit/audit_log.proto
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.audit;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "AuditLogProto";
-option java_package = "com.google.cloud.audit";
-
-
-// Common audit log format for Google Cloud Platform API operations.
-message AuditLog {
-  // The name of the API service performing the operation. For example,
-  // `"datastore.googleapis.com"`.
-  string service_name = 7;
-
-  // The name of the service method or operation.
-  // For API calls, this should be the name of the API method.
-  // For example,
-  //
-  //     "google.datastore.v1.Datastore.RunQuery"
-  //     "google.logging.v1.LoggingService.DeleteLog"
-  string method_name = 8;
-
-  // The resource or collection that is the target of the operation.
-  // The name is a scheme-less URI, not including the API service name.
-  // For example:
-  //
-  //     "shelves/SHELF_ID/books"
-  //     "shelves/SHELF_ID/books/BOOK_ID"
-  string resource_name = 11;
-
-  // The number of items returned from a List or Query API method,
-  // if applicable.
-  int64 num_response_items = 12;
-
-  // The status of the overall operation.
-  google.rpc.Status status = 2;
-
-  // Authentication information.
-  AuthenticationInfo authentication_info = 3;
-
-  // Authorization information. If there are multiple
-  // resources or permissions involved, then there is
-  // one AuthorizationInfo element for each {resource, permission} tuple.
-  repeated AuthorizationInfo authorization_info = 9;
-
-  // Metadata about the operation.
-  RequestMetadata request_metadata = 4;
-
-  // The operation request. This may not include all request parameters,
-  // such as those that are too large, privacy-sensitive, or duplicated
-  // elsewhere in the log record.
-  // It should never include user-generated data, such as file contents.
-  // When the JSON object represented here has a proto equivalent, the proto
-  // name will be indicated in the `@type` property.
-  google.protobuf.Struct request = 16;
-
-  // The operation response. This may not include all response elements,
-  // such as those that are too large, privacy-sensitive, or duplicated
-  // elsewhere in the log record.
-  // It should never include user-generated data, such as file contents.
-  // When the JSON object represented here has a proto equivalent, the proto
-  // name will be indicated in the `@type` property.
-  google.protobuf.Struct response = 17;
-
-  // Other service-specific data about the request, response, and other
-  // activities.
-  google.protobuf.Any service_data = 15;
-}
-
-// Authentication information for the operation.
-message AuthenticationInfo {
-  // The email address of the authenticated user making the request.
-  string principal_email = 1;
-}
-
-// Authorization information for the operation.
-message AuthorizationInfo {
-  // The resource being accessed, as a REST-style string. For example:
-  //
-  //     bigquery.googlapis.com/projects/PROJECTID/datasets/DATASETID
-  string resource = 1;
-
-  // The required IAM permission.
-  string permission = 2;
-
-  // Whether or not authorization for `resource` and `permission`
-  // was granted.
-  bool granted = 3;
-}
-
-// Metadata about the request.
-message RequestMetadata {
-  // The IP address of the caller.
-  string caller_ip = 1;
-
-  // The user agent of the caller.
-  // This information is not authenticated and should be treated accordingly.
-  // For example:
-  //
-  // +   `google-api-python-client/1.4.0`:
-  //     The request was made by the Google API client for Python.
-  // +   `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`:
-  //     The request was made by the Google Cloud SDK CLI (gcloud).
-  // +   `AppEngine-Google; (+http://code.google.com/appengine; appid: s~my-project`:
-  //     The request was made from the `my-project` App Engine app.
-  string caller_supplied_user_agent = 2;
-}
diff --git a/googleapis/cloud/billing/v1/cloud_billing.pb.go b/googleapis/cloud/billing/v1/cloud_billing.pb.go
index a2c1bfc602438c505de08b5644c688978f3b3f2c..67d476b30888cd65186ab6a50ca68a225efb79cf 100644
--- a/googleapis/cloud/billing/v1/cloud_billing.pb.go
+++ b/googleapis/cloud/billing/v1/cloud_billing.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/billing/v1/cloud_billing.proto
+// source: google/cloud/billing/v1/cloud_billing.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_billing_v1 is a generated protocol buffer package.
+Package billing is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/billing/v1/cloud_billing.proto
+	google/cloud/billing/v1/cloud_billing.proto
 
 It has these top-level messages:
 	BillingAccount
@@ -19,12 +19,12 @@ It has these top-level messages:
 	GetProjectBillingInfoRequest
 	UpdateProjectBillingInfoRequest
 */
-package google_cloud_billing_v1 // import "google.golang.org/genproto/googleapis/cloud/billing/v1"
+package billing
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -65,6 +65,27 @@ func (m *BillingAccount) String() string            { return proto.CompactTextSt
 func (*BillingAccount) ProtoMessage()               {}
 func (*BillingAccount) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *BillingAccount) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *BillingAccount) GetOpen() bool {
+	if m != nil {
+		return m.Open
+	}
+	return false
+}
+
+func (m *BillingAccount) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
+}
+
 // Encapsulation of billing information for a Cloud Console project. A project
 // has at most one associated billing account at a time (but a billing account
 // can be assigned to multiple projects).
@@ -93,6 +114,34 @@ func (m *ProjectBillingInfo) String() string            { return proto.CompactTe
 func (*ProjectBillingInfo) ProtoMessage()               {}
 func (*ProjectBillingInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *ProjectBillingInfo) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ProjectBillingInfo) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ProjectBillingInfo) GetBillingAccountName() string {
+	if m != nil {
+		return m.BillingAccountName
+	}
+	return ""
+}
+
+func (m *ProjectBillingInfo) GetBillingEnabled() bool {
+	if m != nil {
+		return m.BillingEnabled
+	}
+	return false
+}
+
 // Request message for `GetBillingAccount`.
 type GetBillingAccountRequest struct {
 	// The resource name of the billing account to retrieve. For example,
@@ -105,6 +154,13 @@ func (m *GetBillingAccountRequest) String() string            { return proto.Com
 func (*GetBillingAccountRequest) ProtoMessage()               {}
 func (*GetBillingAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *GetBillingAccountRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for `ListBillingAccounts`.
 type ListBillingAccountsRequest struct {
 	// Requested page size. The maximum page size is 100; this is also the
@@ -121,6 +177,20 @@ func (m *ListBillingAccountsRequest) String() string            { return proto.C
 func (*ListBillingAccountsRequest) ProtoMessage()               {}
 func (*ListBillingAccountsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *ListBillingAccountsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListBillingAccountsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response message for `ListBillingAccounts`.
 type ListBillingAccountsResponse struct {
 	// A list of billing accounts.
@@ -143,6 +213,13 @@ func (m *ListBillingAccountsResponse) GetBillingAccounts() []*BillingAccount {
 	return nil
 }
 
+func (m *ListBillingAccountsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for `ListProjectBillingInfo`.
 type ListProjectBillingInfoRequest struct {
 	// The resource name of the billing account associated with the projects that
@@ -162,6 +239,27 @@ func (m *ListProjectBillingInfoRequest) String() string            { return prot
 func (*ListProjectBillingInfoRequest) ProtoMessage()               {}
 func (*ListProjectBillingInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *ListProjectBillingInfoRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListProjectBillingInfoRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListProjectBillingInfoRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Request message for `ListProjectBillingInfoResponse`.
 type ListProjectBillingInfoResponse struct {
 	// A list of `ProjectBillingInfo` resources representing the projects
@@ -185,6 +283,13 @@ func (m *ListProjectBillingInfoResponse) GetProjectBillingInfo() []*ProjectBilli
 	return nil
 }
 
+func (m *ListProjectBillingInfoResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for `GetProjectBillingInfo`.
 type GetProjectBillingInfoRequest struct {
 	// The resource name of the project for which billing information is
@@ -197,6 +302,13 @@ func (m *GetProjectBillingInfoRequest) String() string            { return proto
 func (*GetProjectBillingInfoRequest) ProtoMessage()               {}
 func (*GetProjectBillingInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *GetProjectBillingInfoRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for `UpdateProjectBillingInfo`.
 type UpdateProjectBillingInfoRequest struct {
 	// The resource name of the project associated with the billing information
@@ -212,6 +324,13 @@ func (m *UpdateProjectBillingInfoRequest) String() string            { return pr
 func (*UpdateProjectBillingInfoRequest) ProtoMessage()               {}
 func (*UpdateProjectBillingInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *UpdateProjectBillingInfoRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *UpdateProjectBillingInfoRequest) GetProjectBillingInfo() *ProjectBillingInfo {
 	if m != nil {
 		return m.ProjectBillingInfo
@@ -518,55 +637,53 @@ var _CloudBilling_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/billing/v1/cloud_billing.proto",
+	Metadata: "google/cloud/billing/v1/cloud_billing.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/billing/v1/cloud_billing.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/billing/v1/cloud_billing.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 670 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x55, 0xdf, 0x4e, 0xd4, 0x4e,
-	0x14, 0xce, 0x00, 0x3f, 0xc2, 0x1e, 0xf8, 0x81, 0x0c, 0xa0, 0x9b, 0x5d, 0x40, 0xa8, 0x7f, 0x40,
-	0x8d, 0xad, 0x2c, 0xfe, 0x4f, 0x8c, 0x11, 0x63, 0x08, 0xc6, 0x98, 0xcd, 0xaa, 0x89, 0x89, 0x31,
-	0x9b, 0xd9, 0xee, 0xd0, 0x8c, 0x96, 0x99, 0xba, 0x53, 0x88, 0x62, 0xbc, 0xf1, 0x15, 0xd4, 0x0b,
-	0x2f, 0xbc, 0xf1, 0x42, 0x5f, 0xc1, 0x6b, 0x5f, 0xc1, 0x57, 0xf0, 0xde, 0x57, 0x30, 0x33, 0x9d,
-	0x2a, 0xdb, 0xed, 0x2c, 0xdb, 0x78, 0xd7, 0x7c, 0x33, 0xe7, 0x7c, 0xdf, 0xf9, 0xfa, 0x9d, 0x16,
-	0xee, 0x06, 0x42, 0x04, 0x21, 0x75, 0x03, 0x11, 0x12, 0x1e, 0xb8, 0xa2, 0x13, 0x78, 0x01, 0xe5,
-	0x51, 0x47, 0xc4, 0xc2, 0x4b, 0x8e, 0x48, 0xc4, 0xa4, 0xe7, 0x87, 0x62, 0xb7, 0xed, 0xb5, 0x58,
-	0x18, 0x32, 0x1e, 0x78, 0x7b, 0x6b, 0x09, 0xd0, 0x34, 0x80, 0xab, 0xef, 0xe3, 0x63, 0xa6, 0x97,
-	0x3e, 0x73, 0xd3, 0xb3, 0xbd, 0xb5, 0xca, 0xd6, 0x60, 0x24, 0x24, 0x62, 0x9e, 0xa4, 0x9d, 0x3d,
-	0xe6, 0x53, 0x5f, 0xf0, 0x6d, 0x16, 0x78, 0x84, 0x73, 0x11, 0x93, 0x98, 0x09, 0x2e, 0x13, 0x0e,
-	0xe7, 0x09, 0x4c, 0x6e, 0x24, 0x8d, 0x6f, 0xf9, 0xbe, 0xd8, 0xe5, 0x31, 0xc6, 0x30, 0xc2, 0xc9,
-	0x0e, 0x2d, 0xa3, 0x25, 0xb4, 0x5a, 0x6a, 0xe8, 0x67, 0x85, 0x89, 0x88, 0xf2, 0xf2, 0xd0, 0x12,
-	0x5a, 0x1d, 0x6b, 0xe8, 0x67, 0xbc, 0x0c, 0x13, 0x6d, 0x26, 0xa3, 0x90, 0xbc, 0x6a, 0xea, 0xfb,
-	0xc3, 0xfa, 0xfe, 0xb8, 0xc1, 0xee, 0x93, 0x1d, 0xea, 0x7c, 0x46, 0x80, 0xeb, 0x1d, 0xf1, 0x8c,
-	0xfa, 0xb1, 0x21, 0xd9, 0xe2, 0xdb, 0x22, 0x97, 0x61, 0x01, 0x20, 0x4a, 0x6e, 0x36, 0x59, 0x5b,
-	0xf3, 0x94, 0x1a, 0x25, 0x83, 0x6c, 0xb5, 0xf1, 0x05, 0x98, 0x35, 0xf3, 0x37, 0x49, 0xa2, 0xf3,
-	0x20, 0x29, 0x6e, 0x75, 0x8d, 0xa0, 0xb8, 0xf1, 0x0a, 0x4c, 0xa5, 0x15, 0x94, 0x93, 0x56, 0x48,
-	0xdb, 0xe5, 0x11, 0xad, 0x7e, 0xd2, 0xc0, 0x77, 0x12, 0xd4, 0x71, 0xa1, 0xbc, 0x49, 0xe3, 0x6e,
-	0x13, 0x1a, 0xf4, 0xc5, 0x2e, 0x95, 0xb9, 0x5e, 0x38, 0x8f, 0xa1, 0x72, 0x8f, 0xc9, 0x4c, 0x81,
-	0x4c, 0x2b, 0xaa, 0x50, 0x8a, 0x48, 0x40, 0x9b, 0x92, 0xed, 0x27, 0x65, 0xff, 0x35, 0xc6, 0x14,
-	0xf0, 0x80, 0xed, 0x27, 0x43, 0xaa, 0xc3, 0x58, 0x3c, 0x37, 0x66, 0xaa, 0x21, 0x49, 0x40, 0x1f,
-	0x2a, 0xc0, 0xf9, 0x88, 0xa0, 0x9a, 0xdb, 0x5a, 0x46, 0x82, 0x4b, 0x8a, 0x1b, 0x70, 0x24, 0x63,
-	0x82, 0x2c, 0xa3, 0xa5, 0xe1, 0xd5, 0xf1, 0xda, 0x8a, 0x6b, 0x89, 0x8a, 0x9b, 0x99, 0x6b, 0xaa,
-	0xdb, 0x29, 0x89, 0x4f, 0xc3, 0x14, 0xa7, 0x2f, 0xe3, 0x66, 0x8f, 0xae, 0xff, 0x15, 0x5c, 0xff,
-	0xa3, 0x4d, 0xc0, 0x82, 0x92, 0xd6, 0xfb, 0x36, 0xfb, 0x58, 0xd5, 0x6d, 0xc6, 0x50, 0x5f, 0x33,
-	0x86, 0xb3, 0x66, 0x7c, 0x45, 0xb0, 0x68, 0x63, 0x34, 0x7e, 0x3c, 0x85, 0xd9, 0x34, 0x33, 0xa9,
-	0x2f, 0x8c, 0x6f, 0x0b, 0xe3, 0xc9, 0x39, 0xab, 0x27, 0x39, 0x2d, 0x71, 0xd4, 0x1b, 0xd3, 0x41,
-	0xad, 0xa9, 0xc1, 0xfc, 0x26, 0x2d, 0xe6, 0x8c, 0xf3, 0x1e, 0xc1, 0xf1, 0x47, 0x51, 0x9b, 0xc4,
-	0xb4, 0x98, 0xa3, 0xb6, 0x91, 0x95, 0xb0, 0x7f, 0x1f, 0xb9, 0xf6, 0x6b, 0x14, 0x26, 0x6e, 0xab,
-	0x5a, 0x03, 0xe2, 0x0f, 0x08, 0xa6, 0x7b, 0xb6, 0x03, 0xaf, 0x59, 0x79, 0x6c, 0x9b, 0x54, 0x19,
-	0x34, 0xa1, 0xce, 0xc9, 0xb7, 0x3f, 0x7e, 0xbe, 0x1b, 0x5a, 0xc4, 0xf3, 0xea, 0xab, 0xf8, 0x5a,
-	0x0d, 0x7d, 0x23, 0x93, 0x59, 0xef, 0xec, 0x1b, 0xfc, 0x09, 0xc1, 0x4c, 0xce, 0xaa, 0xe0, 0x75,
-	0x2b, 0x8d, 0x7d, 0x67, 0x2b, 0x17, 0x8b, 0x15, 0x25, 0xe9, 0x73, 0xaa, 0x5a, 0xe8, 0x1c, 0x9e,
-	0x51, 0x42, 0xb3, 0x6b, 0xf5, 0x0d, 0xc1, 0xd1, 0xfc, 0xf4, 0xe2, 0xcb, 0x7d, 0xd9, 0xac, 0x71,
-	0xa8, 0x5c, 0x29, 0x5c, 0x67, 0x84, 0x9e, 0xd7, 0x42, 0x57, 0xf0, 0xa9, 0x7e, 0x8e, 0x7a, 0x26,
-	0x0d, 0x12, 0x7f, 0x41, 0x30, 0x97, 0x9b, 0x67, 0x7c, 0xa9, 0xdf, 0x6b, 0xb7, 0x0b, 0x2f, 0x92,
-	0x4a, 0xe7, 0x8c, 0x16, 0x7b, 0x02, 0x2f, 0xff, 0x15, 0x9b, 0x2a, 0x53, 0x2a, 0x5b, 0x07, 0xe4,
-	0x7c, 0x47, 0x50, 0xb6, 0xed, 0x10, 0xbe, 0x6a, 0x25, 0x3d, 0x64, 0xed, 0x8a, 0xc9, 0xbd, 0xa9,
-	0xe5, 0x5e, 0xab, 0x1c, 0x2e, 0xf7, 0x7a, 0xee, 0xe2, 0x6e, 0xd4, 0xa0, 0xea, 0x8b, 0x1d, 0x1b,
-	0xe5, 0xc6, 0xf4, 0xc1, 0x6d, 0xac, 0xab, 0x3f, 0x76, 0x1d, 0xb5, 0x46, 0xf5, 0xaf, 0x7b, 0xfd,
-	0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa6, 0xd6, 0xd7, 0x61, 0x6c, 0x08, 0x00, 0x00,
+	// 667 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x4e, 0xd4, 0x40,
+	0x14, 0xce, 0x00, 0x12, 0xf6, 0x80, 0x20, 0x03, 0xe8, 0x66, 0x17, 0x10, 0xea, 0x0f, 0x28, 0xb1,
+	0x15, 0xf0, 0xdf, 0xa8, 0x11, 0x63, 0x08, 0x89, 0x31, 0x9b, 0xaa, 0x89, 0xd1, 0x98, 0x66, 0x76,
+	0x3b, 0x34, 0xd5, 0x32, 0x53, 0x77, 0x0a, 0x51, 0x8c, 0x37, 0xbe, 0x82, 0x7a, 0xe1, 0x85, 0x37,
+	0x5e, 0xe8, 0x2b, 0x78, 0xed, 0x2b, 0xf8, 0x0a, 0xde, 0xfb, 0x0a, 0x66, 0xa6, 0x53, 0x65, 0xbb,
+	0x9d, 0x85, 0xc6, 0xbb, 0xe6, 0x9b, 0x73, 0xfa, 0x7d, 0xe7, 0x9b, 0xef, 0x6c, 0x17, 0x96, 0x02,
+	0xce, 0x83, 0x88, 0x3a, 0xad, 0x88, 0x6f, 0xfb, 0x4e, 0x33, 0x8c, 0xa2, 0x90, 0x05, 0xce, 0xce,
+	0x72, 0x0a, 0x78, 0x1a, 0xb0, 0xe3, 0x36, 0x4f, 0x38, 0x3e, 0x96, 0x16, 0xdb, 0xea, 0xcc, 0xce,
+	0xce, 0x76, 0x96, 0x6b, 0xd3, 0xfa, 0x2d, 0x24, 0x0e, 0x1d, 0xc2, 0x18, 0x4f, 0x48, 0x12, 0x72,
+	0x26, 0xd2, 0x36, 0xeb, 0x29, 0x8c, 0xae, 0xa5, 0xb5, 0xb7, 0x5b, 0x2d, 0xbe, 0xcd, 0x12, 0x8c,
+	0x61, 0x80, 0x91, 0x2d, 0x5a, 0x45, 0x73, 0x68, 0xb1, 0xe2, 0xaa, 0x67, 0x89, 0xf1, 0x98, 0xb2,
+	0x6a, 0xdf, 0x1c, 0x5a, 0x1c, 0x72, 0xd5, 0x33, 0x9e, 0x87, 0x11, 0x3f, 0x14, 0x71, 0x44, 0x5e,
+	0x7b, 0xaa, 0xbe, 0x5f, 0xd5, 0x0f, 0x6b, 0xec, 0x3e, 0xd9, 0xa2, 0xd6, 0x17, 0x04, 0xb8, 0xd1,
+	0xe6, 0xcf, 0x69, 0x2b, 0xd1, 0x24, 0x1b, 0x6c, 0x93, 0x17, 0x32, 0xcc, 0x00, 0xc4, 0x69, 0xa5,
+	0x17, 0xfa, 0x8a, 0xa7, 0xe2, 0x56, 0x34, 0xb2, 0xe1, 0xe3, 0xf3, 0x30, 0xa9, 0x47, 0xf2, 0x48,
+	0xaa, 0x73, 0x2f, 0x29, 0x6e, 0x76, 0x8c, 0x20, 0xb9, 0xf1, 0x02, 0x8c, 0x65, 0x1d, 0x94, 0x91,
+	0x66, 0x44, 0xfd, 0xea, 0x80, 0x52, 0x3f, 0xaa, 0xe1, 0xbb, 0x29, 0x6a, 0xd9, 0x50, 0x5d, 0xa7,
+	0x49, 0xa7, 0x09, 0x2e, 0x7d, 0xb9, 0x4d, 0x45, 0xa1, 0x17, 0xd6, 0x63, 0xa8, 0xdd, 0x0b, 0x45,
+	0xae, 0x41, 0x64, 0x1d, 0x75, 0xa8, 0xc4, 0x24, 0xa0, 0x9e, 0x08, 0x77, 0xd3, 0xb6, 0x43, 0xee,
+	0x90, 0x04, 0x1e, 0x84, 0xbb, 0xe9, 0x90, 0xf2, 0x30, 0xe1, 0x2f, 0xb4, 0x99, 0x72, 0x48, 0x12,
+	0xd0, 0x87, 0x12, 0xb0, 0x3e, 0x21, 0xa8, 0x17, 0xbe, 0x5a, 0xc4, 0x9c, 0x09, 0x8a, 0x5d, 0x38,
+	0x92, 0x33, 0x41, 0x54, 0xd1, 0x5c, 0xff, 0xe2, 0xf0, 0xca, 0x82, 0x6d, 0xb8, 0x7d, 0x3b, 0x37,
+	0xd7, 0x58, 0xa7, 0x53, 0x02, 0x9f, 0x86, 0x31, 0x46, 0x5f, 0x25, 0x5e, 0x97, 0xae, 0xc3, 0x12,
+	0x6e, 0xfc, 0xd5, 0xc6, 0x61, 0x46, 0x4a, 0xeb, 0xbe, 0xcd, 0x1e, 0x56, 0x75, 0x9a, 0xd1, 0xd7,
+	0xd3, 0x8c, 0xfe, 0xbc, 0x19, 0xdf, 0x10, 0xcc, 0x9a, 0x18, 0xb5, 0x1f, 0xcf, 0x60, 0x32, 0xcb,
+	0x4c, 0xe6, 0x4b, 0xc8, 0x36, 0xb9, 0xf6, 0x64, 0xc9, 0xe8, 0x49, 0xc1, 0x2b, 0x71, 0xdc, 0x1d,
+	0xd3, 0x83, 0x5a, 0xb3, 0x02, 0xd3, 0xeb, 0xb4, 0x9c, 0x33, 0xd6, 0x07, 0x04, 0xc7, 0x1f, 0xc5,
+	0x3e, 0x49, 0x68, 0x39, 0x47, 0x4d, 0x23, 0x4b, 0x61, 0xff, 0x3f, 0xf2, 0xca, 0xef, 0x41, 0x18,
+	0xb9, 0x23, 0x7b, 0x35, 0x88, 0x3f, 0x22, 0x18, 0xef, 0xda, 0x0e, 0xbc, 0x6c, 0xe4, 0x31, 0x6d,
+	0x52, 0xed, 0xa0, 0x09, 0xb5, 0x4e, 0xbe, 0xfb, 0xf9, 0xeb, 0x7d, 0xdf, 0x2c, 0x9e, 0x96, 0x3f,
+	0x74, 0x6f, 0xe4, 0xd0, 0x37, 0x72, 0x99, 0x75, 0xce, 0xbe, 0xc5, 0x9f, 0x11, 0x4c, 0x14, 0xac,
+	0x0a, 0x5e, 0x35, 0xd2, 0x98, 0x77, 0xb6, 0x76, 0xa1, 0x5c, 0x53, 0x9a, 0x3e, 0xab, 0xae, 0x84,
+	0x4e, 0xe1, 0x09, 0x29, 0x34, 0xbf, 0x56, 0xdf, 0x11, 0x1c, 0x2d, 0x4e, 0x2f, 0xbe, 0xd4, 0x93,
+	0xcd, 0x18, 0x87, 0xda, 0xe5, 0xd2, 0x7d, 0x5a, 0xe8, 0x39, 0x25, 0x74, 0x01, 0x9f, 0xea, 0xe5,
+	0xa8, 0xa3, 0xd3, 0x20, 0xf0, 0x57, 0x04, 0x53, 0x85, 0x79, 0xc6, 0x17, 0x7b, 0x5d, 0xbb, 0x59,
+	0x78, 0x99, 0x54, 0x5a, 0x67, 0x94, 0xd8, 0x13, 0x78, 0xfe, 0x9f, 0xd8, 0x4c, 0x99, 0x54, 0xd9,
+	0xdc, 0x23, 0xe7, 0x07, 0x82, 0xaa, 0x69, 0x87, 0xf0, 0x15, 0x23, 0xe9, 0x3e, 0x6b, 0x57, 0x4e,
+	0xee, 0x2d, 0x25, 0xf7, 0x6a, 0x6d, 0x7f, 0xb9, 0xd7, 0x0a, 0x17, 0x77, 0xad, 0x0d, 0xf5, 0x16,
+	0xdf, 0x32, 0x51, 0xae, 0x8d, 0xef, 0xdd, 0xc6, 0x86, 0xfc, 0x62, 0x37, 0xd0, 0x93, 0x9b, 0xba,
+	0x3a, 0xe0, 0x11, 0x61, 0x81, 0xcd, 0xdb, 0x81, 0x13, 0x50, 0xa6, 0xbe, 0xe7, 0x4e, 0x7a, 0x44,
+	0xe2, 0x50, 0x74, 0xfd, 0x6d, 0xb8, 0xae, 0x1f, 0x9b, 0x83, 0xaa, 0x74, 0xf5, 0x4f, 0x00, 0x00,
+	0x00, 0xff, 0xff, 0xc0, 0x01, 0x24, 0x32, 0x60, 0x08, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/billing/v1/cloud_billing.proto b/googleapis/cloud/billing/v1/cloud_billing.proto
deleted file mode 100644
index 696fb7a6acf6a65642744a79cb62a6944c0392f1..0000000000000000000000000000000000000000
--- a/googleapis/cloud/billing/v1/cloud_billing.proto
+++ /dev/null
@@ -1,213 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.billing.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "CloudBillingProto";
-option java_package = "com.google.cloud.billing.v1";
-
-
-// Retrieves Google Cloud Console billing accounts and associates them with
-// projects.
-service CloudBilling {
-  // Gets information about a billing account. The current authenticated user
-  // must be an [owner of the billing
-  // account](https://support.google.com/cloud/answer/4430947).
-  rpc GetBillingAccount(GetBillingAccountRequest) returns (BillingAccount) {
-    option (google.api.http) = { get: "/v1/{name=billingAccounts/*}" };
-  }
-
-  // Lists the billing accounts that the current authenticated user
-  // [owns](https://support.google.com/cloud/answer/4430947).
-  rpc ListBillingAccounts(ListBillingAccountsRequest) returns (ListBillingAccountsResponse) {
-    option (google.api.http) = { get: "/v1/billingAccounts" };
-  }
-
-  // Lists the projects associated with a billing account. The current
-  // authenticated user must be an [owner of the billing
-  // account](https://support.google.com/cloud/answer/4430947).
-  rpc ListProjectBillingInfo(ListProjectBillingInfoRequest) returns (ListProjectBillingInfoResponse) {
-    option (google.api.http) = { get: "/v1/{name=billingAccounts/*}/projects" };
-  }
-
-  // Gets the billing information for a project. The current authenticated user
-  // must have [permission to view the
-  // project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
-  // ).
-  rpc GetProjectBillingInfo(GetProjectBillingInfoRequest) returns (ProjectBillingInfo) {
-    option (google.api.http) = { get: "/v1/{name=projects/*}/billingInfo" };
-  }
-
-  // Sets or updates the billing account associated with a project. You specify
-  // the new billing account by setting the `billing_account_name` in the
-  // `ProjectBillingInfo` resource to the resource name of a billing account.
-  // Associating a project with an open billing account enables billing on the
-  // project and allows charges for resource usage. If the project already had a
-  // billing account, this method changes the billing account used for resource
-  // usage charges.
-  //
-  // *Note:* Incurred charges that have not yet been reported in the transaction
-  // history of the Google Cloud Console may be billed to the new billing
-  // account, even if the charge occurred before the new billing account was
-  // assigned to the project.
-  //
-  // The current authenticated user must have ownership privileges for both the
-  // [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
-  // ) and the [billing
-  // account](https://support.google.com/cloud/answer/4430947).
-  //
-  // You can disable billing on the project by setting the
-  // `billing_account_name` field to empty. This action disassociates the
-  // current billing account from the project. Any billable activity of your
-  // in-use services will stop, and your application could stop functioning as
-  // expected. Any unbilled charges to date will be billed to the previously
-  // associated account. The current authenticated user must be either an owner
-  // of the project or an owner of the billing account for the project.
-  //
-  // Note that associating a project with a *closed* billing account will have
-  // much the same effect as disabling billing on the project: any paid
-  // resources used by the project will be shut down. Thus, unless you wish to
-  // disable billing, you should always call this method with the name of an
-  // *open* billing account.
-  rpc UpdateProjectBillingInfo(UpdateProjectBillingInfoRequest) returns (ProjectBillingInfo) {
-    option (google.api.http) = { put: "/v1/{name=projects/*}/billingInfo" body: "project_billing_info" };
-  }
-}
-
-// A billing account in [Google Cloud
-// Console](https://console.cloud.google.com/). You can assign a billing account
-// to one or more projects.
-message BillingAccount {
-  // The resource name of the billing account. The resource name has the form
-  // `billingAccounts/{billing_account_id}`. For example,
-  // `billingAccounts/012345-567890-ABCDEF` would be the resource name for
-  // billing account `012345-567890-ABCDEF`.
-  string name = 1;
-
-  // True if the billing account is open, and will therefore be charged for any
-  // usage on associated projects. False if the billing account is closed, and
-  // therefore projects associated with it will be unable to use paid services.
-  bool open = 2;
-
-  // The display name given to the billing account, such as `My Billing
-  // Account`. This name is displayed in the Google Cloud Console.
-  string display_name = 3;
-}
-
-// Encapsulation of billing information for a Cloud Console project. A project
-// has at most one associated billing account at a time (but a billing account
-// can be assigned to multiple projects).
-message ProjectBillingInfo {
-  // The resource name for the `ProjectBillingInfo`; has the form
-  // `projects/{project_id}/billingInfo`. For example, the resource name for the
-  // billing information for project `tokyo-rain-123` would be
-  // `projects/tokyo-rain-123/billingInfo`. This field is read-only.
-  string name = 1;
-
-  // The ID of the project that this `ProjectBillingInfo` represents, such as
-  // `tokyo-rain-123`. This is a convenience field so that you don't need to
-  // parse the `name` field to obtain a project ID. This field is read-only.
-  string project_id = 2;
-
-  // The resource name of the billing account associated with the project, if
-  // any. For example, `billingAccounts/012345-567890-ABCDEF`.
-  string billing_account_name = 3;
-
-  // True if the project is associated with an open billing account, to which
-  // usage on the project is charged. False if the project is associated with a
-  // closed billing account, or no billing account at all, and therefore cannot
-  // use paid services. This field is read-only.
-  bool billing_enabled = 4;
-}
-
-// Request message for `GetBillingAccount`.
-message GetBillingAccountRequest {
-  // The resource name of the billing account to retrieve. For example,
-  // `billingAccounts/012345-567890-ABCDEF`.
-  string name = 1;
-}
-
-// Request message for `ListBillingAccounts`.
-message ListBillingAccountsRequest {
-  // Requested page size. The maximum page size is 100; this is also the
-  // default.
-  int32 page_size = 1;
-
-  // A token identifying a page of results to return. This should be a
-  // `next_page_token` value returned from a previous `ListBillingAccounts`
-  // call. If unspecified, the first page of results is returned.
-  string page_token = 2;
-}
-
-// Response message for `ListBillingAccounts`.
-message ListBillingAccountsResponse {
-  // A list of billing accounts.
-  repeated BillingAccount billing_accounts = 1;
-
-  // A token to retrieve the next page of results. To retrieve the next page,
-  // call `ListBillingAccounts` again with the `page_token` field set to this
-  // value. This field is empty if there are no more results to retrieve.
-  string next_page_token = 2;
-}
-
-// Request message for `ListProjectBillingInfo`.
-message ListProjectBillingInfoRequest {
-  // The resource name of the billing account associated with the projects that
-  // you want to list. For example, `billingAccounts/012345-567890-ABCDEF`.
-  string name = 1;
-
-  // Requested page size. The maximum page size is 100; this is also the
-  // default.
-  int32 page_size = 2;
-
-  // A token identifying a page of results to be returned. This should be a
-  // `next_page_token` value returned from a previous `ListProjectBillingInfo`
-  // call. If unspecified, the first page of results is returned.
-  string page_token = 3;
-}
-
-// Request message for `ListProjectBillingInfoResponse`.
-message ListProjectBillingInfoResponse {
-  // A list of `ProjectBillingInfo` resources representing the projects
-  // associated with the billing account.
-  repeated ProjectBillingInfo project_billing_info = 1;
-
-  // A token to retrieve the next page of results. To retrieve the next page,
-  // call `ListProjectBillingInfo` again with the `page_token` field set to this
-  // value. This field is empty if there are no more results to retrieve.
-  string next_page_token = 2;
-}
-
-// Request message for `GetProjectBillingInfo`.
-message GetProjectBillingInfoRequest {
-  // The resource name of the project for which billing information is
-  // retrieved. For example, `projects/tokyo-rain-123`.
-  string name = 1;
-}
-
-// Request message for `UpdateProjectBillingInfo`.
-message UpdateProjectBillingInfoRequest {
-  // The resource name of the project associated with the billing information
-  // that you want to update. For example, `projects/tokyo-rain-123`.
-  string name = 1;
-
-  // The new billing information for the project. Read-only fields are ignored;
-  // thus, you may leave empty all fields except `billing_account_name`.
-  ProjectBillingInfo project_billing_info = 2;
-}
diff --git a/googleapis/cloud/dataproc/v1/clusters.pb.go b/googleapis/cloud/dataproc/v1/clusters.pb.go
index 22ecb01f448a9e9e6de6f4c5041d6bbd264ba046..ff691c2c7839a1021a1286acbd55873acbe3f765 100644
--- a/googleapis/cloud/dataproc/v1/clusters.pb.go
+++ b/googleapis/cloud/dataproc/v1/clusters.pb.go
@@ -1,14 +1,14 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/dataproc/v1/clusters.proto
+// source: google/cloud/dataproc/v1/clusters.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_dataproc_v1 is a generated protocol buffer package.
+Package dataproc is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/dataproc/v1/clusters.proto
-	google.golang.org/genproto/googleapis/cloud/dataproc/v1/jobs.proto
-	google.golang.org/genproto/googleapis/cloud/dataproc/v1/operations.proto
+	google/cloud/dataproc/v1/clusters.proto
+	google/cloud/dataproc/v1/jobs.proto
+	google/cloud/dataproc/v1/operations.proto
 
 It has these top-level messages:
 	Cluster
@@ -49,15 +49,15 @@ It has these top-level messages:
 	ClusterOperationStatus
 	ClusterOperationMetadata
 */
-package google_cloud_dataproc_v1 // import "google.golang.org/genproto/googleapis/cloud/dataproc/v1"
+package dataproc
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf4 "github.com/golang/protobuf/ptypes/duration"
-import google_protobuf5 "google.golang.org/genproto/protobuf"
+import google_protobuf5 "google.golang.org/genproto/protobuf/field_mask"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
 
 import (
@@ -141,6 +141,20 @@ func (m *Cluster) String() string            { return proto.CompactTextString(m)
 func (*Cluster) ProtoMessage()               {}
 func (*Cluster) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Cluster) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *Cluster) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
 func (m *Cluster) GetConfig() *ClusterConfig {
 	if m != nil {
 		return m.Config
@@ -162,6 +176,13 @@ func (m *Cluster) GetStatusHistory() []*ClusterStatus {
 	return nil
 }
 
+func (m *Cluster) GetClusterUuid() string {
+	if m != nil {
+		return m.ClusterUuid
+	}
+	return ""
+}
+
 // The cluster config.
 type ClusterConfig struct {
 	// [Optional] A Google Cloud Storage staging bucket used for sharing generated
@@ -204,6 +225,13 @@ func (m *ClusterConfig) String() string            { return proto.CompactTextStr
 func (*ClusterConfig) ProtoMessage()               {}
 func (*ClusterConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *ClusterConfig) GetConfigBucket() string {
+	if m != nil {
+		return m.ConfigBucket
+	}
+	return ""
+}
+
 func (m *ClusterConfig) GetGceClusterConfig() *GceClusterConfig {
 	if m != nil {
 		return m.GceClusterConfig
@@ -298,6 +326,48 @@ func (m *GceClusterConfig) String() string            { return proto.CompactText
 func (*GceClusterConfig) ProtoMessage()               {}
 func (*GceClusterConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *GceClusterConfig) GetZoneUri() string {
+	if m != nil {
+		return m.ZoneUri
+	}
+	return ""
+}
+
+func (m *GceClusterConfig) GetNetworkUri() string {
+	if m != nil {
+		return m.NetworkUri
+	}
+	return ""
+}
+
+func (m *GceClusterConfig) GetSubnetworkUri() string {
+	if m != nil {
+		return m.SubnetworkUri
+	}
+	return ""
+}
+
+func (m *GceClusterConfig) GetInternalIpOnly() bool {
+	if m != nil {
+		return m.InternalIpOnly
+	}
+	return false
+}
+
+func (m *GceClusterConfig) GetServiceAccountScopes() []string {
+	if m != nil {
+		return m.ServiceAccountScopes
+	}
+	return nil
+}
+
+func (m *GceClusterConfig) GetTags() []string {
+	if m != nil {
+		return m.Tags
+	}
+	return nil
+}
+
 func (m *GceClusterConfig) GetMetadata() map[string]string {
 	if m != nil {
 		return m.Metadata
@@ -336,6 +406,34 @@ func (m *InstanceGroupConfig) String() string            { return proto.CompactT
 func (*InstanceGroupConfig) ProtoMessage()               {}
 func (*InstanceGroupConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *InstanceGroupConfig) GetNumInstances() int32 {
+	if m != nil {
+		return m.NumInstances
+	}
+	return 0
+}
+
+func (m *InstanceGroupConfig) GetInstanceNames() []string {
+	if m != nil {
+		return m.InstanceNames
+	}
+	return nil
+}
+
+func (m *InstanceGroupConfig) GetImageUri() string {
+	if m != nil {
+		return m.ImageUri
+	}
+	return ""
+}
+
+func (m *InstanceGroupConfig) GetMachineTypeUri() string {
+	if m != nil {
+		return m.MachineTypeUri
+	}
+	return ""
+}
+
 func (m *InstanceGroupConfig) GetDiskConfig() *DiskConfig {
 	if m != nil {
 		return m.DiskConfig
@@ -343,6 +441,13 @@ func (m *InstanceGroupConfig) GetDiskConfig() *DiskConfig {
 	return nil
 }
 
+func (m *InstanceGroupConfig) GetIsPreemptible() bool {
+	if m != nil {
+		return m.IsPreemptible
+	}
+	return false
+}
+
 func (m *InstanceGroupConfig) GetManagedGroupConfig() *ManagedGroupConfig {
 	if m != nil {
 		return m.ManagedGroupConfig
@@ -364,6 +469,20 @@ func (m *ManagedGroupConfig) String() string            { return proto.CompactTe
 func (*ManagedGroupConfig) ProtoMessage()               {}
 func (*ManagedGroupConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *ManagedGroupConfig) GetInstanceTemplateName() string {
+	if m != nil {
+		return m.InstanceTemplateName
+	}
+	return ""
+}
+
+func (m *ManagedGroupConfig) GetInstanceGroupManagerName() string {
+	if m != nil {
+		return m.InstanceGroupManagerName
+	}
+	return ""
+}
+
 // Specifies the config of disk options for a group of VM instances.
 type DiskConfig struct {
 	// [Optional] Size in GB of the boot disk (default is 500GB).
@@ -382,6 +501,20 @@ func (m *DiskConfig) String() string            { return proto.CompactTextString
 func (*DiskConfig) ProtoMessage()               {}
 func (*DiskConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *DiskConfig) GetBootDiskSizeGb() int32 {
+	if m != nil {
+		return m.BootDiskSizeGb
+	}
+	return 0
+}
+
+func (m *DiskConfig) GetNumLocalSsds() int32 {
+	if m != nil {
+		return m.NumLocalSsds
+	}
+	return 0
+}
+
 // Specifies an executable to run on a fully configured node and a
 // timeout period for executable completion.
 type NodeInitializationAction struct {
@@ -399,6 +532,13 @@ func (m *NodeInitializationAction) String() string            { return proto.Com
 func (*NodeInitializationAction) ProtoMessage()               {}
 func (*NodeInitializationAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *NodeInitializationAction) GetExecutableFile() string {
+	if m != nil {
+		return m.ExecutableFile
+	}
+	return ""
+}
+
 func (m *NodeInitializationAction) GetExecutionTimeout() *google_protobuf4.Duration {
 	if m != nil {
 		return m.ExecutionTimeout
@@ -421,6 +561,20 @@ func (m *ClusterStatus) String() string            { return proto.CompactTextStr
 func (*ClusterStatus) ProtoMessage()               {}
 func (*ClusterStatus) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *ClusterStatus) GetState() ClusterStatus_State {
+	if m != nil {
+		return m.State
+	}
+	return ClusterStatus_UNKNOWN
+}
+
+func (m *ClusterStatus) GetDetail() string {
+	if m != nil {
+		return m.Detail
+	}
+	return ""
+}
+
 func (m *ClusterStatus) GetStateStartTime() *google_protobuf3.Timestamp {
 	if m != nil {
 		return m.StateStartTime
@@ -455,6 +609,13 @@ func (m *SoftwareConfig) String() string            { return proto.CompactTextSt
 func (*SoftwareConfig) ProtoMessage()               {}
 func (*SoftwareConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *SoftwareConfig) GetImageVersion() string {
+	if m != nil {
+		return m.ImageVersion
+	}
+	return ""
+}
+
 func (m *SoftwareConfig) GetProperties() map[string]string {
 	if m != nil {
 		return m.Properties
@@ -478,6 +639,20 @@ func (m *CreateClusterRequest) String() string            { return proto.Compact
 func (*CreateClusterRequest) ProtoMessage()               {}
 func (*CreateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *CreateClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *CreateClusterRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
 func (m *CreateClusterRequest) GetCluster() *Cluster {
 	if m != nil {
 		return m.Cluster
@@ -531,6 +706,27 @@ func (m *UpdateClusterRequest) String() string            { return proto.Compact
 func (*UpdateClusterRequest) ProtoMessage()               {}
 func (*UpdateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *UpdateClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *UpdateClusterRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *UpdateClusterRequest) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
 func (m *UpdateClusterRequest) GetCluster() *Cluster {
 	if m != nil {
 		return m.Cluster
@@ -561,6 +757,27 @@ func (m *DeleteClusterRequest) String() string            { return proto.Compact
 func (*DeleteClusterRequest) ProtoMessage()               {}
 func (*DeleteClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *DeleteClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *DeleteClusterRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *DeleteClusterRequest) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
 // Request to get the resource representation for a cluster in a project.
 type GetClusterRequest struct {
 	// [Required] The ID of the Google Cloud Platform project that the cluster
@@ -577,6 +794,27 @@ func (m *GetClusterRequest) String() string            { return proto.CompactTex
 func (*GetClusterRequest) ProtoMessage()               {}
 func (*GetClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *GetClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetClusterRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *GetClusterRequest) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
 // A request to list the clusters in a project.
 type ListClustersRequest struct {
 	// [Required] The ID of the Google Cloud Platform project that the cluster
@@ -595,6 +833,34 @@ func (m *ListClustersRequest) String() string            { return proto.CompactT
 func (*ListClustersRequest) ProtoMessage()               {}
 func (*ListClustersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *ListClustersRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListClustersRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *ListClustersRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListClustersRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // The list of all clusters in a project.
 type ListClustersResponse struct {
 	// [Output-only] The clusters in the project.
@@ -617,6 +883,13 @@ func (m *ListClustersResponse) GetClusters() []*Cluster {
 	return nil
 }
 
+func (m *ListClustersResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // A request to collect cluster diagnostic information.
 type DiagnoseClusterRequest struct {
 	// [Required] The ID of the Google Cloud Platform project that the cluster
@@ -633,6 +906,27 @@ func (m *DiagnoseClusterRequest) String() string            { return proto.Compa
 func (*DiagnoseClusterRequest) ProtoMessage()               {}
 func (*DiagnoseClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
 
+func (m *DiagnoseClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *DiagnoseClusterRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *DiagnoseClusterRequest) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
 // The location of diagnostic output.
 type DiagnoseClusterResults struct {
 	// [Output-only] The Google Cloud Storage URI of the diagnostic output.
@@ -646,6 +940,13 @@ func (m *DiagnoseClusterResults) String() string            { return proto.Compa
 func (*DiagnoseClusterResults) ProtoMessage()               {}
 func (*DiagnoseClusterResults) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
 
+func (m *DiagnoseClusterResults) GetOutputUri() string {
+	if m != nil {
+		return m.OutputUri
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Cluster)(nil), "google.cloud.dataproc.v1.Cluster")
 	proto.RegisterType((*ClusterConfig)(nil), "google.cloud.dataproc.v1.ClusterConfig")
@@ -917,119 +1218,116 @@ var _ClusterController_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/dataproc/v1/clusters.proto",
+	Metadata: "google/cloud/dataproc/v1/clusters.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/dataproc/v1/clusters.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/dataproc/v1/clusters.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1684 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x77, 0x1c, 0x47,
-	0x11, 0x67, 0x56, 0x5a, 0x69, 0x55, 0xd2, 0xae, 0xd6, 0x1d, 0x45, 0x6c, 0x64, 0xf2, 0x70, 0x86,
-	0x40, 0x84, 0x81, 0x1d, 0xa2, 0x84, 0x47, 0xb0, 0x5e, 0xe0, 0x59, 0x5a, 0x59, 0x11, 0xb1, 0xd7,
-	0x62, 0x24, 0x39, 0xb9, 0xc0, 0xbc, 0xde, 0x99, 0xd6, 0xb8, 0xd9, 0x99, 0xe9, 0x61, 0xba, 0x47,
-	0x89, 0xec, 0xe7, 0x0b, 0x27, 0x08, 0x47, 0xbe, 0x02, 0x07, 0x5e, 0x8e, 0x70, 0xe3, 0xc4, 0x27,
-	0xe0, 0xc2, 0x91, 0x2b, 0x27, 0x3e, 0x00, 0x27, 0x0e, 0xbc, 0xfe, 0x33, 0xbb, 0x3b, 0xd2, 0xfe,
-	0x91, 0x15, 0x3d, 0x9f, 0xd4, 0x53, 0x5d, 0xf5, 0xab, 0x5f, 0x57, 0x57, 0x55, 0xd7, 0x0a, 0x1e,
-	0x84, 0x8c, 0x85, 0x11, 0x69, 0x87, 0x2c, 0xc2, 0x49, 0xd8, 0x66, 0x59, 0xe8, 0x84, 0x24, 0x49,
-	0x33, 0x26, 0x98, 0xa3, 0xb7, 0x70, 0x4a, 0xb9, 0xe3, 0x47, 0x2c, 0x0f, 0x9c, 0x00, 0x0b, 0x9c,
-	0x66, 0xcc, 0x77, 0xce, 0xde, 0x75, 0xfc, 0x28, 0xe7, 0x82, 0x64, 0xbc, 0xad, 0x74, 0x51, 0xcb,
-	0xe0, 0x28, 0xc5, 0x76, 0xa1, 0xd8, 0x3e, 0x7b, 0x77, 0xe3, 0xe0, 0x6a, 0x1e, 0x70, 0x4a, 0x1d,
-	0x4e, 0xb2, 0x33, 0xea, 0x13, 0x9f, 0x25, 0xa7, 0x34, 0x74, 0x70, 0x92, 0x30, 0x81, 0x05, 0x65,
-	0x89, 0x71, 0xb2, 0xf1, 0xd1, 0x75, 0xc9, 0xb2, 0x94, 0x64, 0x25, 0xa4, 0x9d, 0xab, 0x21, 0x45,
-	0x2c, 0x09, 0xb3, 0x3c, 0x49, 0x68, 0x12, 0x5e, 0xc6, 0xf8, 0x49, 0x48, 0xc5, 0xd3, 0xbc, 0xd7,
-	0xf6, 0x59, 0xec, 0x68, 0x1c, 0x47, 0x6d, 0xf4, 0xf2, 0x53, 0x27, 0x15, 0xe7, 0x29, 0xe1, 0x4e,
-	0x90, 0x6b, 0x93, 0xc1, 0xc2, 0x98, 0xbe, 0x3f, 0xc5, 0xfd, 0x00, 0xe3, 0x94, 0x92, 0x28, 0xf0,
-	0x62, 0xcc, 0xfb, 0xc6, 0x6a, 0x7b, 0xb6, 0x43, 0x41, 0x63, 0xc2, 0x05, 0x8e, 0xd3, 0xe1, 0x4a,
-	0x1b, 0xdb, 0x7f, 0xaf, 0xc0, 0xe2, 0xae, 0xbe, 0x33, 0xf4, 0x26, 0x40, 0x9a, 0xb1, 0x5f, 0x13,
-	0x5f, 0x78, 0x34, 0x68, 0x59, 0x77, 0xac, 0xcd, 0x25, 0x77, 0xc9, 0x48, 0x0e, 0x02, 0xf4, 0x16,
-	0xac, 0x98, 0xdb, 0xf5, 0x12, 0x1c, 0x93, 0x56, 0x45, 0x29, 0x2c, 0x1b, 0x59, 0x17, 0xc7, 0x04,
-	0xfd, 0x0c, 0x16, 0xf4, 0x2d, 0xb5, 0xe6, 0xee, 0x58, 0x9b, 0xcb, 0x5b, 0xef, 0xb4, 0x27, 0xdd,
-	0x7f, 0xdb, 0x38, 0xdd, 0x55, 0xea, 0xae, 0x31, 0x93, 0x00, 0x5c, 0x60, 0x91, 0xf3, 0xd6, 0xfc,
-	0x15, 0x01, 0x8e, 0x94, 0xba, 0x6b, 0xcc, 0x50, 0x17, 0x1a, 0x7a, 0xe5, 0x3d, 0xa5, 0x5c, 0xb0,
-	0xec, 0xbc, 0xb5, 0x78, 0x67, 0xee, 0x65, 0x80, 0xea, 0xda, 0xfc, 0x23, 0x6d, 0x3d, 0x7a, 0xe8,
-	0x3c, 0xa7, 0x41, 0x6b, 0xa1, 0x74, 0xe8, 0x93, 0x9c, 0x06, 0xf6, 0xbf, 0xe6, 0xa1, 0x5e, 0x3a,
-	0x0d, 0xfa, 0x16, 0xd4, 0xf5, 0x79, 0xbc, 0x5e, 0xee, 0xf7, 0x89, 0x30, 0xb1, 0x5c, 0xd1, 0xc2,
-	0x1d, 0x25, 0x43, 0x9f, 0x02, 0x0a, 0x7d, 0xe2, 0x15, 0xe8, 0x26, 0x6e, 0x35, 0x75, 0xec, 0xbb,
-	0x93, 0xd9, 0xee, 0xfb, 0xa4, 0x1c, 0xba, 0x66, 0x78, 0x41, 0x82, 0x5c, 0xa8, 0xc7, 0x78, 0x14,
-	0x74, 0x49, 0x81, 0xfe, 0x60, 0x32, 0xe8, 0x41, 0xc2, 0x05, 0x4e, 0x7c, 0xb2, 0x9f, 0xb1, 0x3c,
-	0x35, 0xb8, 0x2b, 0x1a, 0x63, 0x88, 0xf9, 0x19, 0xcb, 0xfa, 0x43, 0x4c, 0xb8, 0x16, 0xa6, 0xc6,
-	0x30, 0x98, 0x04, 0xbe, 0xce, 0x65, 0x55, 0x07, 0x38, 0x3b, 0xf7, 0xca, 0xe8, 0x2b, 0xd7, 0x41,
-	0x7f, 0x7d, 0x80, 0xf6, 0xc9, 0xa8, 0x9b, 0x5f, 0xc0, 0x2a, 0x67, 0xa7, 0xe2, 0x33, 0x9c, 0x91,
-	0x02, 0xbe, 0xae, 0xe0, 0x37, 0x27, 0xc3, 0x1f, 0x19, 0x03, 0x83, 0xdc, 0xe0, 0xa5, 0x6f, 0x44,
-	0x61, 0x9d, 0x26, 0x54, 0x50, 0x1c, 0xd1, 0x67, 0xaa, 0x80, 0x3d, 0xec, 0xab, 0x1e, 0xd0, 0x5a,
-	0x56, 0xd9, 0xb6, 0x35, 0x19, 0xb9, 0xcb, 0x02, 0x72, 0x50, 0xb2, 0xbd, 0xaf, 0x4c, 0xdd, 0xd7,
-	0xe9, 0x18, 0x29, 0xb7, 0xff, 0x57, 0x81, 0xe6, 0xc5, 0x3b, 0x47, 0x6f, 0x40, 0xed, 0x19, 0x4b,
-	0x88, 0x97, 0x67, 0xd4, 0xe4, 0xd6, 0xa2, 0xfc, 0x3e, 0xc9, 0x28, 0xfa, 0x26, 0x2c, 0x27, 0x44,
-	0xc8, 0x68, 0xaa, 0x5d, 0x5d, 0xa4, 0x60, 0x44, 0x52, 0xe1, 0xdb, 0xd0, 0xe0, 0x79, 0x6f, 0x54,
-	0x47, 0xe7, 0x74, 0x7d, 0x28, 0x95, 0x6a, 0x9b, 0xd0, 0xa4, 0x89, 0x20, 0x59, 0x82, 0x23, 0x8f,
-	0xa6, 0x1e, 0x4b, 0x22, 0x59, 0x4a, 0xd6, 0x66, 0xcd, 0x6d, 0x14, 0xf2, 0x83, 0xf4, 0x71, 0x12,
-	0x9d, 0xa3, 0xf7, 0x61, 0xdd, 0x74, 0x68, 0x0f, 0xfb, 0x3e, 0xcb, 0x13, 0xe1, 0x71, 0x9f, 0xa5,
-	0x84, 0xb7, 0xe6, 0xee, 0xcc, 0x6d, 0x2e, 0xb9, 0x6b, 0x66, 0xf7, 0xbe, 0xde, 0x3c, 0x52, 0x7b,
-	0x08, 0xc1, 0xbc, 0xc0, 0xa1, 0xac, 0x73, 0xa9, 0xa3, 0xd6, 0xe8, 0x18, 0x6a, 0x31, 0x11, 0x58,
-	0x86, 0xab, 0x55, 0x55, 0x81, 0xfc, 0xe0, 0xea, 0x85, 0xd0, 0x7e, 0x64, 0x4c, 0xf7, 0x12, 0x91,
-	0x9d, 0xbb, 0x03, 0xa4, 0x8d, 0x6d, 0xa8, 0x97, 0xb6, 0x50, 0x13, 0xe6, 0xfa, 0xe4, 0xdc, 0x04,
-	0x4e, 0x2e, 0xd1, 0x1a, 0x54, 0xcf, 0x70, 0x94, 0x17, 0x3d, 0x4d, 0x7f, 0xdc, 0xab, 0x7c, 0x60,
-	0xd9, 0xff, 0xad, 0xc0, 0x6b, 0x63, 0x72, 0x4d, 0x96, 0x78, 0x92, 0xc7, 0x1e, 0x35, 0x5b, 0x5c,
-	0xa1, 0x55, 0xdd, 0x95, 0x24, 0x8f, 0x0b, 0x75, 0x2e, 0x43, 0x5d, 0x28, 0xa8, 0x96, 0xc9, 0x5b,
-	0x15, 0x75, 0xda, 0x7a, 0x21, 0x95, 0x4d, 0x93, 0xa3, 0xdb, 0xb0, 0x44, 0x63, 0x1c, 0xea, 0xeb,
-	0x9c, 0x53, 0x0c, 0x6a, 0x4a, 0x60, 0xee, 0x21, 0xc6, 0xfe, 0x53, 0x9a, 0x10, 0x4f, 0xf6, 0x72,
-	0xa5, 0x33, 0xaf, 0x74, 0x1a, 0x46, 0x7e, 0x7c, 0x9e, 0x2a, 0xcd, 0x3d, 0x58, 0x0e, 0x28, 0xef,
-	0x17, 0x39, 0x5e, 0x55, 0x39, 0xfe, 0xf6, 0xe4, 0x00, 0x76, 0x28, 0xef, 0x9b, 0xfc, 0x86, 0x60,
-	0xb0, 0x56, 0xa4, 0xb9, 0x97, 0x66, 0x84, 0xc4, 0xa9, 0xa0, 0xbd, 0x88, 0xa8, 0xfc, 0xa8, 0xb9,
-	0x75, 0xca, 0x0f, 0x87, 0x42, 0xf4, 0x2b, 0x58, 0x8b, 0x71, 0x82, 0x43, 0x12, 0x78, 0xa1, 0x8c,
-	0x4b, 0xe1, 0x76, 0x51, 0xb9, 0xfd, 0xfe, 0x64, 0xb7, 0x8f, 0xb4, 0xd5, 0x68, 0xe1, 0xa2, 0xf8,
-	0x92, 0xcc, 0xfe, 0xbd, 0x05, 0xe8, 0xb2, 0xaa, 0x4c, 0xb6, 0x41, 0x48, 0x05, 0x89, 0xd3, 0x08,
-	0x0b, 0x1d, 0x5b, 0x73, 0x9d, 0x6b, 0xc5, 0xee, 0xb1, 0xd9, 0x54, 0xef, 0xd2, 0x87, 0x70, 0x7b,
-	0x60, 0xa5, 0xd9, 0x6a, 0x8f, 0xa5, 0x97, 0xac, 0x45, 0x47, 0xef, 0x59, 0xfb, 0x56, 0xcf, 0x9a,
-	0xfd, 0x4b, 0x80, 0x61, 0xb0, 0xd0, 0x77, 0xe1, 0x56, 0x8f, 0x31, 0xe1, 0xa9, 0x60, 0x73, 0xfa,
-	0x8c, 0x78, 0x61, 0xcf, 0x5c, 0x7f, 0x43, 0x6e, 0x48, 0xd5, 0x23, 0xfa, 0x8c, 0xec, 0xf7, 0xd0,
-	0xdb, 0xd0, 0x90, 0x59, 0x12, 0x31, 0x1f, 0x47, 0x1e, 0xe7, 0x01, 0x57, 0xae, 0x74, 0x9a, 0x3c,
-	0x94, 0xc2, 0x23, 0x1e, 0x70, 0xfb, 0x0f, 0x16, 0xb4, 0x26, 0xb5, 0x05, 0xf4, 0x0e, 0xac, 0x92,
-	0xcf, 0x89, 0x9f, 0x0b, 0xdc, 0x8b, 0x88, 0x77, 0x4a, 0xa3, 0xe2, 0xa4, 0x8d, 0xa1, 0xf8, 0x01,
-	0x8d, 0x08, 0x7a, 0x00, 0xb7, 0xb4, 0x44, 0xb6, 0x23, 0xf9, 0xcc, 0xb3, 0x5c, 0x28, 0x77, 0xcb,
-	0x5b, 0x6f, 0x14, 0xb7, 0x51, 0xcc, 0x05, 0xed, 0x8e, 0x19, 0x3c, 0xdc, 0xe6, 0xc0, 0xe6, 0x58,
-	0x9b, 0xd8, 0x5f, 0x54, 0x06, 0xcf, 0x99, 0x7e, 0x12, 0xd1, 0x2e, 0x54, 0xe5, 0xa3, 0xa8, 0x1d,
-	0x37, 0xa6, 0x75, 0xe5, 0x92, 0x5d, 0x5b, 0xfe, 0x21, 0xae, 0xb6, 0x45, 0xeb, 0xb0, 0x10, 0x10,
-	0x81, 0x69, 0x64, 0xa2, 0x6d, 0xbe, 0x50, 0x07, 0x9a, 0x4a, 0xc1, 0xe3, 0x02, 0x67, 0x42, 0x11,
-	0x37, 0xc3, 0xc3, 0xc6, 0x25, 0xd6, 0xc7, 0xc5, 0xf0, 0xe2, 0xaa, 0x47, 0x9e, 0x1c, 0x49, 0x13,
-	0x29, 0xb4, 0x9f, 0x40, 0x55, 0x79, 0x43, 0xcb, 0xb0, 0x78, 0xd2, 0xfd, 0xb8, 0xfb, 0xf8, 0x93,
-	0x6e, 0xf3, 0x6b, 0x68, 0x05, 0x6a, 0xbb, 0xee, 0xde, 0xfd, 0xe3, 0x83, 0xee, 0x7e, 0xd3, 0x92,
-	0x5b, 0xee, 0x49, 0xb7, 0x2b, 0x3f, 0x2a, 0x68, 0x09, 0xaa, 0x7b, 0xae, 0xfb, 0xd8, 0x6d, 0xce,
-	0x49, 0xad, 0xce, 0xde, 0xc3, 0x3d, 0xa5, 0x35, 0x2f, 0xbf, 0x4e, 0x0e, 0x3b, 0xda, 0xa6, 0x6a,
-	0xff, 0xc3, 0x82, 0x46, 0xf9, 0x2d, 0x90, 0x95, 0xaf, 0xab, 0xf5, 0x8c, 0x64, 0x9c, 0xb2, 0xa4,
-	0x78, 0xdc, 0x95, 0xf0, 0x89, 0x96, 0xa1, 0x4f, 0xd5, 0x28, 0x95, 0x92, 0x4c, 0x50, 0x53, 0xf5,
-	0x53, 0x7b, 0x59, 0xd9, 0x45, 0xfb, 0x70, 0x60, 0xaa, 0x7b, 0xd9, 0x08, 0xd6, 0xc6, 0x87, 0xb0,
-	0x7a, 0x61, 0xfb, 0xa5, 0xfa, 0xd9, 0x17, 0x16, 0xac, 0xed, 0x66, 0x04, 0x8b, 0xa2, 0x79, 0xba,
-	0xe4, 0x37, 0x39, 0xe1, 0x62, 0xd6, 0xf0, 0xb7, 0x0e, 0x0b, 0x19, 0x09, 0xe5, 0x71, 0x75, 0x83,
-	0x32, 0x5f, 0x68, 0x1b, 0x16, 0xcd, 0x04, 0x63, 0x72, 0xed, 0xad, 0x99, 0xd9, 0xe1, 0x16, 0x16,
-	0xf6, 0x7f, 0x2c, 0x58, 0x3b, 0x49, 0x83, 0xaf, 0x40, 0xa6, 0x5a, 0x22, 0x73, 0x85, 0x09, 0x75,
-	0x84, 0xef, 0xdc, 0xcb, 0xf2, 0x45, 0xdb, 0xb0, 0x9c, 0x2b, 0xba, 0x6a, 0xfc, 0x36, 0x23, 0xea,
-	0xe5, 0x34, 0x7d, 0x20, 0x27, 0xf4, 0x47, 0x98, 0xf7, 0x5d, 0xd0, 0xea, 0x72, 0x6d, 0xa7, 0xb0,
-	0xd6, 0x21, 0x11, 0xb9, 0xa9, 0xc0, 0xcf, 0x3e, 0xab, 0x1d, 0xc3, 0xad, 0x7d, 0x22, 0x5e, 0x99,
-	0xbb, 0xdf, 0x59, 0xf0, 0xda, 0x43, 0xca, 0x0b, 0x87, 0xfc, 0xa5, 0x3d, 0xce, 0x97, 0x3c, 0xde,
-	0x86, 0xa5, 0x54, 0x96, 0x99, 0xec, 0xb0, 0xa6, 0x6d, 0xd6, 0xa4, 0x40, 0xb6, 0x56, 0x85, 0x29,
-	0x37, 0x05, 0xeb, 0x93, 0x82, 0xaa, 0x52, 0x3f, 0x96, 0x02, 0xfb, 0x05, 0xac, 0x95, 0x99, 0xf0,
-	0x94, 0x25, 0x5c, 0xbe, 0x03, 0xb5, 0xe2, 0x07, 0x6a, 0xcb, 0x52, 0x45, 0x79, 0x85, 0xeb, 0x1f,
-	0x98, 0xa0, 0xef, 0xc0, 0x6a, 0x42, 0x3e, 0x17, 0xde, 0x88, 0x6b, 0x1d, 0x87, 0xba, 0x14, 0x1f,
-	0x0e, 0xdc, 0x67, 0xb0, 0xde, 0xa1, 0x38, 0x4c, 0x18, 0x7f, 0x75, 0x97, 0xfd, 0xe3, 0x31, 0x3e,
-	0x79, 0x1e, 0x09, 0x2e, 0x7d, 0xb2, 0x5c, 0xa4, 0xb9, 0x18, 0x19, 0x17, 0x97, 0xb4, 0xe4, 0x24,
-	0xa3, 0x5b, 0x7f, 0xa9, 0xc1, 0xad, 0xe1, 0x20, 0x25, 0x32, 0x16, 0x45, 0x24, 0x43, 0x7f, 0xb2,
-	0xa0, 0x5e, 0xea, 0x13, 0xa8, 0x3d, 0x25, 0x52, 0x63, 0x1a, 0xca, 0xc6, 0x9b, 0x85, 0xfe, 0xc8,
-	0xaf, 0xe5, 0xf6, 0xe3, 0xe2, 0xd7, 0xb2, 0xdd, 0xf9, 0xed, 0x3f, 0xff, 0xfd, 0xc7, 0xca, 0x4f,
-	0xed, 0xf7, 0xe4, 0x0f, 0x71, 0x13, 0x01, 0xee, 0x3c, 0x1f, 0x46, 0xe7, 0x85, 0xa3, 0x0f, 0xcf,
-	0x9d, 0xe7, 0x7a, 0xf1, 0x62, 0xf0, 0xcf, 0x85, 0x7b, 0x83, 0x8a, 0xfc, 0xab, 0x05, 0xf5, 0x52,
-	0x07, 0x99, 0x46, 0x73, 0x5c, 0xab, 0x99, 0x45, 0xf3, 0x48, 0xd1, 0x7c, 0xb4, 0xb5, 0x73, 0x0d,
-	0x9a, 0xce, 0xf3, 0xd1, 0x4b, 0x7b, 0x31, 0x64, 0xfd, 0xa5, 0x05, 0xf5, 0x52, 0x2f, 0x98, 0xc6,
-	0x7a, 0x5c, 0xd3, 0x98, 0xc5, 0xfa, 0xe7, 0x8a, 0x75, 0xe7, 0xee, 0x0d, 0xb0, 0x46, 0x7f, 0xb6,
-	0x00, 0x86, 0x6d, 0x04, 0x7d, 0x6f, 0xca, 0x44, 0x7e, 0xb1, 0xd9, 0x6c, 0xcc, 0xae, 0xae, 0x82,
-	0x2a, 0xba, 0x09, 0xaa, 0x5f, 0x5a, 0xb0, 0x32, 0x5a, 0xf7, 0x68, 0xca, 0xa8, 0x32, 0xa6, 0x53,
-	0x6d, 0xb4, 0xaf, 0xaa, 0xae, 0xdb, 0x89, 0xbd, 0xad, 0xb8, 0xff, 0x08, 0x5d, 0x27, 0x87, 0xd1,
-	0xdf, 0x2c, 0x58, 0xbd, 0x50, 0xb1, 0xe8, 0x87, 0xd3, 0xa6, 0xf5, 0x71, 0x0d, 0x65, 0x56, 0x22,
-	0x3c, 0x51, 0x0c, 0x0f, 0xed, 0x8f, 0x6f, 0x20, 0x7d, 0x03, 0xc3, 0xe0, 0x9e, 0x75, 0x77, 0xc7,
-	0x81, 0x6f, 0xf8, 0x2c, 0x9e, 0xc8, 0x76, 0xa7, 0x98, 0x20, 0xf9, 0xa1, 0x7c, 0x14, 0x0f, 0xad,
-	0xde, 0x82, 0x7a, 0x1d, 0xdf, 0xfb, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa6, 0x0b, 0x0f, 0xab,
-	0x59, 0x14, 0x00, 0x00,
+	// 1667 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x73, 0x23, 0x47,
+	0x15, 0x67, 0x64, 0xcb, 0x96, 0x9f, 0x2c, 0x59, 0xdb, 0x51, 0x8c, 0xa2, 0x4d, 0x88, 0x33, 0x09,
+	0xac, 0xb3, 0x80, 0x44, 0x1c, 0x28, 0x52, 0xeb, 0x0a, 0xb0, 0x6b, 0x79, 0x8d, 0xc9, 0xae, 0xd6,
+	0x8c, 0xed, 0x4d, 0x8a, 0x2a, 0x98, 0x6a, 0xcd, 0xb4, 0x27, 0x8d, 0x66, 0xa6, 0x27, 0xd3, 0x3d,
+	0x4e, 0xbc, 0x5b, 0x7b, 0xe1, 0x04, 0xe1, 0xc8, 0x57, 0xe0, 0x40, 0xe5, 0x08, 0x37, 0x4e, 0x7c,
+	0x02, 0x2e, 0x1c, 0xb9, 0x72, 0xe2, 0x03, 0x70, 0xe2, 0x40, 0xf5, 0x9f, 0x91, 0x34, 0xb6, 0x24,
+	0x7b, 0x17, 0xd7, 0x9e, 0xd4, 0xfd, 0xde, 0xef, 0xfd, 0xe9, 0xd7, 0xef, 0xbd, 0x7e, 0x23, 0xb8,
+	0x15, 0x30, 0x16, 0x84, 0xa4, 0xeb, 0x85, 0x2c, 0xf3, 0xbb, 0x3e, 0x16, 0x38, 0x49, 0x99, 0xd7,
+	0x3d, 0x7d, 0xaf, 0xeb, 0x85, 0x19, 0x17, 0x24, 0xe5, 0x9d, 0x24, 0x65, 0x82, 0xa1, 0x96, 0x06,
+	0x76, 0x14, 0xb0, 0x93, 0x03, 0x3b, 0xa7, 0xef, 0xb5, 0x5f, 0x37, 0x2a, 0x70, 0x42, 0xbb, 0x38,
+	0x8e, 0x99, 0xc0, 0x82, 0xb2, 0xd8, 0xc8, 0xb5, 0xdf, 0x9d, 0x69, 0x80, 0x25, 0x24, 0x2d, 0x40,
+	0xdf, 0x36, 0xd0, 0x90, 0xc5, 0x41, 0x9a, 0xc5, 0x31, 0x8d, 0x83, 0x8b, 0xa0, 0x6f, 0x18, 0x90,
+	0xda, 0x0d, 0xb2, 0x93, 0xae, 0x9f, 0x69, 0x80, 0xe1, 0x6f, 0x9c, 0xe7, 0x9f, 0x50, 0x12, 0xfa,
+	0x6e, 0x84, 0xf9, 0xd0, 0x20, 0xde, 0x3c, 0x8f, 0x10, 0x34, 0x22, 0x5c, 0xe0, 0x28, 0xd1, 0x00,
+	0xfb, 0x6f, 0x25, 0x58, 0xde, 0xd1, 0xa7, 0x47, 0x6f, 0x00, 0x24, 0x29, 0xfb, 0x35, 0xf1, 0x84,
+	0x4b, 0xfd, 0x96, 0xb5, 0x61, 0x6d, 0xae, 0x38, 0x2b, 0x86, 0xb2, 0xef, 0xa3, 0xb7, 0x60, 0xd5,
+	0xc4, 0xc9, 0x8d, 0x71, 0x44, 0x5a, 0x25, 0x05, 0xa8, 0x1a, 0x5a, 0x1f, 0x47, 0x04, 0xfd, 0x18,
+	0x96, 0x3c, 0x16, 0x9f, 0xd0, 0xa0, 0xb5, 0xb0, 0x61, 0x6d, 0x56, 0xb7, 0x6e, 0x75, 0x66, 0x45,
+	0xb2, 0x63, 0x8c, 0xee, 0x28, 0xb8, 0x63, 0xc4, 0xa4, 0x02, 0x2e, 0xb0, 0xc8, 0x78, 0x6b, 0xf1,
+	0x8a, 0x0a, 0x0e, 0x15, 0xdc, 0x31, 0x62, 0xa8, 0x0f, 0x75, 0xbd, 0x72, 0x3f, 0xa5, 0x5c, 0xb0,
+	0xf4, 0xac, 0xb5, 0xbc, 0xb1, 0xf0, 0x3c, 0x8a, 0x6a, 0x5a, 0xfc, 0xa7, 0x5a, 0x7a, 0xf2, 0xd0,
+	0x59, 0x46, 0xfd, 0xd6, 0x52, 0xe1, 0xd0, 0xc7, 0x19, 0xf5, 0xed, 0x7f, 0x2e, 0x42, 0xad, 0x70,
+	0x1a, 0xf4, 0x36, 0xd4, 0xf4, 0x79, 0xdc, 0x41, 0xe6, 0x0d, 0x89, 0x30, 0xb1, 0x5c, 0xd5, 0xc4,
+	0x7b, 0x8a, 0x86, 0x3e, 0x01, 0x14, 0x78, 0xc4, 0xcd, 0xb5, 0x9b, 0xb8, 0x55, 0xd4, 0xb1, 0x6f,
+	0xcf, 0xf6, 0x76, 0xcf, 0x23, 0xc5, 0xd0, 0x35, 0x82, 0x73, 0x14, 0xe4, 0x40, 0x2d, 0xc2, 0x93,
+	0x4a, 0x57, 0x94, 0xd2, 0xef, 0xce, 0x56, 0xba, 0x1f, 0x73, 0x81, 0x63, 0x8f, 0xec, 0xa5, 0x2c,
+	0x4b, 0x8c, 0xde, 0x55, 0xad, 0x63, 0xac, 0xf3, 0x73, 0x96, 0x0e, 0xc7, 0x3a, 0xe1, 0x85, 0x74,
+	0x6a, 0x1d, 0x46, 0x27, 0x81, 0xaf, 0x73, 0xe2, 0xb1, 0xd8, 0xc7, 0xe9, 0x99, 0x5b, 0xd4, 0xbe,
+	0xfa, 0x22, 0xda, 0x5f, 0x1d, 0x69, 0xfb, 0x78, 0xd2, 0xcc, 0xcf, 0x61, 0x8d, 0xb3, 0x13, 0xf1,
+	0x39, 0x4e, 0x49, 0xae, 0xbe, 0xa6, 0xd4, 0x6f, 0xce, 0x56, 0x7f, 0x68, 0x04, 0x8c, 0xe6, 0x3a,
+	0x2f, 0xec, 0x11, 0x85, 0x75, 0x1a, 0x53, 0x41, 0x71, 0x48, 0x9f, 0xa8, 0x82, 0x74, 0xb1, 0xa7,
+	0x0a, 0xb7, 0x55, 0x55, 0xd9, 0xb6, 0x35, 0x5b, 0x73, 0x9f, 0xf9, 0x64, 0xbf, 0x20, 0x7b, 0x57,
+	0x89, 0x3a, 0xaf, 0xd2, 0x29, 0x54, 0x6e, 0xff, 0xb7, 0x04, 0x8d, 0xf3, 0x77, 0x8e, 0x5e, 0x83,
+	0xca, 0x13, 0x16, 0x13, 0x37, 0x4b, 0xa9, 0xc9, 0xad, 0x65, 0xb9, 0x3f, 0x4e, 0x29, 0x7a, 0x13,
+	0xaa, 0x31, 0x11, 0x32, 0x9a, 0x8a, 0xab, 0x8b, 0x14, 0x0c, 0x49, 0x02, 0xbe, 0x09, 0x75, 0x9e,
+	0x0d, 0x26, 0x31, 0x3a, 0xa7, 0x6b, 0x63, 0xaa, 0x84, 0x6d, 0x42, 0x83, 0xc6, 0x82, 0xa4, 0x31,
+	0x0e, 0x5d, 0x9a, 0xb8, 0x2c, 0x0e, 0x65, 0x29, 0x59, 0x9b, 0x15, 0xa7, 0x9e, 0xd3, 0xf7, 0x93,
+	0x47, 0x71, 0x78, 0x86, 0xbe, 0x0f, 0xeb, 0x9c, 0xa4, 0xa7, 0xd4, 0x23, 0x2e, 0xf6, 0x3c, 0x96,
+	0xc5, 0xc2, 0xe5, 0x1e, 0x4b, 0x08, 0x6f, 0x2d, 0x6c, 0x2c, 0x6c, 0xae, 0x38, 0x4d, 0xc3, 0xbd,
+	0xab, 0x99, 0x87, 0x8a, 0x87, 0x10, 0x2c, 0x0a, 0x1c, 0xc8, 0x3a, 0x97, 0x18, 0xb5, 0x46, 0x47,
+	0x50, 0x89, 0x88, 0xc0, 0x32, 0x5c, 0xad, 0xb2, 0x0a, 0xe4, 0x07, 0x57, 0x2f, 0x84, 0xce, 0x43,
+	0x23, 0xba, 0x1b, 0x8b, 0xf4, 0xcc, 0x19, 0x69, 0x6a, 0x6f, 0x43, 0xad, 0xc0, 0x42, 0x0d, 0x58,
+	0x18, 0x92, 0x33, 0x13, 0x38, 0xb9, 0x44, 0x4d, 0x28, 0x9f, 0xe2, 0x30, 0xcb, 0x7b, 0x9a, 0xde,
+	0xdc, 0x29, 0x7d, 0x60, 0xd9, 0xff, 0x29, 0xc1, 0x2b, 0x53, 0x72, 0x4d, 0x96, 0x78, 0x9c, 0x45,
+	0x2e, 0x35, 0x2c, 0xae, 0xb4, 0x95, 0x9d, 0xd5, 0x38, 0x8b, 0x72, 0x38, 0x97, 0xa1, 0xce, 0x01,
+	0xaa, 0x65, 0xf2, 0x56, 0x49, 0x9d, 0xb6, 0x96, 0x53, 0x65, 0xd3, 0xe4, 0xe8, 0x26, 0xac, 0xd0,
+	0x08, 0x07, 0xfa, 0x3a, 0x17, 0x94, 0x07, 0x15, 0x45, 0x30, 0xf7, 0x10, 0x61, 0xef, 0x53, 0x1a,
+	0x13, 0x57, 0x9c, 0x25, 0x1a, 0xb3, 0xa8, 0x30, 0x75, 0x43, 0x3f, 0x3a, 0x4b, 0x14, 0x72, 0x17,
+	0xaa, 0x3e, 0xe5, 0xc3, 0x3c, 0xc7, 0xcb, 0x2a, 0xc7, 0xdf, 0x99, 0x1d, 0xc0, 0x1e, 0xe5, 0x43,
+	0x93, 0xdf, 0xe0, 0x8f, 0xd6, 0xca, 0x69, 0xee, 0x26, 0x29, 0x21, 0x51, 0x22, 0xe8, 0x20, 0x24,
+	0x2a, 0x3f, 0x2a, 0x4e, 0x8d, 0xf2, 0x83, 0x31, 0x11, 0xfd, 0x0a, 0x9a, 0x11, 0x8e, 0x71, 0x40,
+	0x7c, 0x37, 0x90, 0x71, 0xc9, 0xcd, 0x2e, 0x2b, 0xb3, 0xdf, 0x99, 0x6d, 0xf6, 0xa1, 0x96, 0x9a,
+	0x2c, 0x5c, 0x14, 0x5d, 0xa0, 0xd9, 0xbf, 0xb3, 0x00, 0x5d, 0x84, 0xca, 0x64, 0x1b, 0x85, 0x54,
+	0x90, 0x28, 0x09, 0xb1, 0xd0, 0xb1, 0x35, 0xd7, 0xd9, 0xcc, 0xb9, 0x47, 0x86, 0xa9, 0xde, 0xa5,
+	0x0f, 0xe1, 0xe6, 0x48, 0x4a, 0x7b, 0xab, 0x2d, 0x16, 0x5e, 0xb2, 0x16, 0x9d, 0xbc, 0x67, 0x6d,
+	0x5b, 0x3d, 0x6b, 0xf6, 0x2f, 0x01, 0xc6, 0xc1, 0x42, 0xef, 0xc2, 0x8d, 0x01, 0x63, 0xc2, 0x55,
+	0xc1, 0xe6, 0xf4, 0x09, 0x71, 0x83, 0x81, 0xb9, 0xfe, 0xba, 0x64, 0x48, 0xe8, 0x21, 0x7d, 0x42,
+	0xf6, 0x06, 0xe8, 0x1d, 0xa8, 0xcb, 0x2c, 0x09, 0x99, 0x87, 0x43, 0x97, 0x73, 0x9f, 0x2b, 0x53,
+	0x3a, 0x4d, 0x1e, 0x48, 0xe2, 0x21, 0xf7, 0xb9, 0xfd, 0x7b, 0x0b, 0x5a, 0xb3, 0xda, 0x02, 0xba,
+	0x05, 0x6b, 0xe4, 0x0b, 0xe2, 0x65, 0x02, 0x0f, 0x42, 0xe2, 0x9e, 0xd0, 0x30, 0x3f, 0x69, 0x7d,
+	0x4c, 0xbe, 0x4f, 0x43, 0x82, 0xee, 0xc3, 0x0d, 0x4d, 0x91, 0xed, 0x48, 0x3e, 0xf3, 0x2c, 0x13,
+	0xca, 0x5c, 0x75, 0xeb, 0xb5, 0xfc, 0x36, 0xf2, 0x31, 0xa0, 0xd3, 0x33, 0x83, 0x84, 0xd3, 0x18,
+	0xc9, 0x1c, 0x69, 0x11, 0xfb, 0xcb, 0xd2, 0xe8, 0x39, 0xd3, 0x4f, 0x22, 0xda, 0x81, 0xb2, 0x7c,
+	0x14, 0xb5, 0xe1, 0xfa, 0xbc, 0xae, 0x5c, 0x90, 0xeb, 0xc8, 0x1f, 0xe2, 0x68, 0x59, 0xb4, 0x0e,
+	0x4b, 0x3e, 0x11, 0x98, 0x86, 0x26, 0xda, 0x66, 0x87, 0x7a, 0xd0, 0x50, 0x00, 0x97, 0x0b, 0x9c,
+	0x0a, 0xe5, 0xb8, 0x19, 0x1e, 0xda, 0x17, 0xbc, 0x3e, 0xca, 0x87, 0x17, 0x47, 0x3d, 0xf2, 0xe4,
+	0x50, 0x8a, 0x48, 0xa2, 0xfd, 0x18, 0xca, 0xca, 0x1a, 0xaa, 0xc2, 0xf2, 0x71, 0xff, 0xa3, 0xfe,
+	0xa3, 0x8f, 0xfb, 0x8d, 0xaf, 0xa1, 0x55, 0xa8, 0xec, 0x38, 0xbb, 0x77, 0x8f, 0xf6, 0xfb, 0x7b,
+	0x0d, 0x4b, 0xb2, 0x9c, 0xe3, 0x7e, 0x5f, 0x6e, 0x4a, 0x68, 0x05, 0xca, 0xbb, 0x8e, 0xf3, 0xc8,
+	0x69, 0x2c, 0x48, 0x54, 0x6f, 0xf7, 0xc1, 0xae, 0x42, 0x2d, 0xca, 0xdd, 0xf1, 0x41, 0x4f, 0xcb,
+	0x94, 0xed, 0xbf, 0x5b, 0x50, 0x2f, 0xbe, 0x05, 0xb2, 0xf2, 0x75, 0xb5, 0x9e, 0x92, 0x94, 0x53,
+	0x16, 0xe7, 0x8f, 0xbb, 0x22, 0x3e, 0xd6, 0x34, 0xf4, 0x89, 0x1a, 0xa5, 0x12, 0x92, 0x0a, 0x6a,
+	0xaa, 0x7e, 0x6e, 0x2f, 0x2b, 0x9a, 0xe8, 0x1c, 0x8c, 0x44, 0x75, 0x2f, 0x9b, 0xd0, 0xd5, 0xfe,
+	0x10, 0xd6, 0xce, 0xb1, 0x9f, 0xab, 0x9f, 0x7d, 0x69, 0x41, 0x73, 0x27, 0x25, 0x58, 0xe4, 0xcd,
+	0xd3, 0x21, 0x9f, 0x65, 0x84, 0x8b, 0xcb, 0x86, 0xbf, 0x75, 0x58, 0x4a, 0x49, 0x20, 0x8f, 0xab,
+	0x1b, 0x94, 0xd9, 0xa1, 0x6d, 0x58, 0x36, 0x13, 0x8c, 0xc9, 0xb5, 0xb7, 0x2e, 0xcd, 0x0e, 0x27,
+	0x97, 0xb0, 0xff, 0x6d, 0x41, 0xf3, 0x38, 0xf1, 0xff, 0x0f, 0x67, 0xca, 0x05, 0x67, 0xae, 0x30,
+	0xa1, 0x4e, 0xf8, 0xbb, 0xf0, 0xbc, 0xfe, 0xa2, 0x6d, 0xa8, 0x66, 0xca, 0x5d, 0x35, 0x62, 0x9b,
+	0x11, 0xf5, 0x62, 0x9a, 0xde, 0x97, 0x53, 0xf8, 0x43, 0xcc, 0x87, 0x0e, 0x68, 0xb8, 0x5c, 0xdb,
+	0x09, 0x34, 0x7b, 0x24, 0x24, 0xd7, 0x15, 0xf8, 0xcb, 0xcf, 0x6a, 0x47, 0x70, 0x63, 0x8f, 0x88,
+	0x97, 0x66, 0xee, 0xb7, 0x16, 0xbc, 0xf2, 0x80, 0xf2, 0xdc, 0x20, 0x7f, 0x6e, 0x8b, 0x8b, 0x05,
+	0x8b, 0x37, 0x61, 0x25, 0x91, 0x65, 0x26, 0x3b, 0xac, 0x69, 0x9b, 0x15, 0x49, 0x90, 0xad, 0x55,
+	0xe9, 0x94, 0x4c, 0xc1, 0x86, 0x24, 0x77, 0x55, 0xc1, 0x8f, 0x24, 0xc1, 0x7e, 0x06, 0xcd, 0xa2,
+	0x27, 0x3c, 0x61, 0x31, 0x97, 0xef, 0x40, 0x25, 0xff, 0xd4, 0x6b, 0x59, 0xaa, 0x28, 0xaf, 0x70,
+	0xfd, 0x23, 0x11, 0xf4, 0x2d, 0x58, 0x8b, 0xc9, 0x17, 0xc2, 0x9d, 0x30, 0xad, 0xe3, 0x50, 0x93,
+	0xe4, 0x83, 0x91, 0xf9, 0x14, 0xd6, 0x7b, 0x14, 0x07, 0x31, 0xe3, 0x2f, 0xef, 0xb2, 0x7f, 0x38,
+	0xc5, 0x26, 0xcf, 0x42, 0xc1, 0xa5, 0x4d, 0x96, 0x89, 0x24, 0x13, 0x13, 0xe3, 0xe2, 0x8a, 0xa6,
+	0x1c, 0xa7, 0x74, 0xeb, 0xcf, 0x15, 0xb8, 0x31, 0x1e, 0xa4, 0x44, 0xca, 0xc2, 0x90, 0xa4, 0xe8,
+	0x8f, 0x16, 0xd4, 0x0a, 0x7d, 0x02, 0x75, 0xe6, 0x44, 0x6a, 0x4a, 0x43, 0x69, 0xbf, 0x91, 0xe3,
+	0x27, 0x3e, 0x71, 0x3b, 0x8f, 0xf2, 0x4f, 0x5c, 0xbb, 0xf7, 0x9b, 0x7f, 0xfc, 0xeb, 0x0f, 0xa5,
+	0x1f, 0xd9, 0xef, 0xcb, 0xcf, 0x63, 0x13, 0x01, 0xde, 0x7d, 0x3a, 0x8e, 0xce, 0xb3, 0xae, 0x3e,
+	0x3c, 0xef, 0x3e, 0xd5, 0x8b, 0x67, 0xa3, 0xcf, 0xf4, 0x3b, 0xa3, 0x8a, 0xfc, 0x8b, 0x05, 0xb5,
+	0x42, 0x07, 0x99, 0xe7, 0xe6, 0xb4, 0x56, 0x73, 0x99, 0x9b, 0x87, 0xca, 0xcd, 0x87, 0x5b, 0xf7,
+	0x5e, 0xc0, 0xcd, 0xee, 0xd3, 0xc9, 0x4b, 0x7b, 0x36, 0xf6, 0xfa, 0x2b, 0x0b, 0x6a, 0x85, 0x5e,
+	0x30, 0xcf, 0xeb, 0x69, 0x4d, 0xe3, 0x32, 0xaf, 0x7f, 0xa6, 0xbc, 0xee, 0xdd, 0xbe, 0x06, 0xaf,
+	0xd1, 0x9f, 0x2c, 0x80, 0x71, 0x1b, 0x41, 0xdf, 0x9e, 0x33, 0x91, 0x9f, 0x6f, 0x36, 0xed, 0xcb,
+	0xab, 0x2b, 0x77, 0x15, 0x5d, 0x87, 0xab, 0x5f, 0x59, 0xb0, 0x3a, 0x59, 0xf7, 0x68, 0xce, 0xa8,
+	0x32, 0xa5, 0x53, 0xb5, 0x3b, 0x57, 0x85, 0xeb, 0x76, 0x62, 0x6f, 0x2b, 0xdf, 0x7f, 0x80, 0x5e,
+	0x24, 0x87, 0xd1, 0x5f, 0x2d, 0x58, 0x3b, 0x57, 0xb1, 0xe8, 0x7b, 0xf3, 0xa6, 0xf5, 0x69, 0x0d,
+	0xe5, 0xb2, 0x44, 0x78, 0xac, 0x3c, 0x3c, 0xb0, 0x3f, 0xba, 0x86, 0xf4, 0xf5, 0x8d, 0x07, 0x77,
+	0xac, 0xdb, 0xf7, 0x3e, 0x83, 0xd7, 0x3d, 0x16, 0xcd, 0xf4, 0xf6, 0x5e, 0x3e, 0x41, 0xf2, 0x03,
+	0xf9, 0x28, 0x1e, 0x58, 0xbf, 0xf8, 0x89, 0x81, 0x06, 0x2c, 0xc4, 0x71, 0xd0, 0x61, 0x69, 0xd0,
+	0x0d, 0x48, 0xac, 0x9e, 0xcc, 0xae, 0x66, 0xe1, 0x84, 0xf2, 0x8b, 0xff, 0x9c, 0x6d, 0xe7, 0xeb,
+	0xc1, 0x92, 0x02, 0xbf, 0xff, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x58, 0xab, 0x60, 0x26, 0xc6,
+	0x13, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/dataproc/v1/clusters.proto b/googleapis/cloud/dataproc/v1/clusters.proto
deleted file mode 100644
index a17ca466797a2dcc175bd870e7d5bf74c806b6fe..0000000000000000000000000000000000000000
--- a/googleapis/cloud/dataproc/v1/clusters.proto
+++ /dev/null
@@ -1,443 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.dataproc.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/cloud/dataproc/v1/operations.proto"; // from google/cloud/dataproc/v1/operations.proto
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-import "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ClustersProto";
-option java_package = "com.google.cloud.dataproc.v1";
-
-
-// The ClusterControllerService provides methods to manage clusters
-// of Google Compute Engine instances.
-service ClusterController {
-  // Creates a cluster in a project.
-  rpc CreateCluster(CreateClusterRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}/regions/{region}/clusters" body: "cluster" };
-  }
-
-  // Updates a cluster in a project.
-  rpc UpdateCluster(UpdateClusterRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { patch: "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}" body: "cluster" };
-  }
-
-  // Deletes a cluster in a project.
-  rpc DeleteCluster(DeleteClusterRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { delete: "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}" };
-  }
-
-  // Gets the resource representation for a cluster in a project.
-  rpc GetCluster(GetClusterRequest) returns (Cluster) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}" };
-  }
-
-  // Lists all regions/{region}/clusters in a project.
-  rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/regions/{region}/clusters" };
-  }
-
-  // Gets cluster diagnostic information.
-  // After the operation completes, the Operation.response field
-  // contains `DiagnoseClusterOutputLocation`.
-  rpc DiagnoseCluster(DiagnoseClusterRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}:diagnose" body: "*" };
-  }
-}
-
-// Describes the identifying information, config, and status of
-// a cluster of Google Compute Engine instances.
-message Cluster {
-  // [Required] The Google Cloud Platform project ID that the cluster belongs to.
-  string project_id = 1;
-
-  // [Required] The cluster name. Cluster names within a project must be
-  // unique. Names of deleted clusters can be reused.
-  string cluster_name = 2;
-
-  // [Required] The cluster config. Note that Cloud Dataproc may set
-  // default values, and values may change when clusters are updated.
-  ClusterConfig config = 3;
-
-  // [Output-only] Cluster status.
-  ClusterStatus status = 4;
-
-  // [Output-only] The previous cluster status.
-  repeated ClusterStatus status_history = 7;
-
-  // [Output-only] A cluster UUID (Unique Universal Identifier). Cloud Dataproc
-  // generates this value when it creates the cluster.
-  string cluster_uuid = 6;
-}
-
-// The cluster config.
-message ClusterConfig {
-  // [Optional] A Google Cloud Storage staging bucket used for sharing generated
-  // SSH keys and config. If you do not specify a staging bucket, Cloud
-  // Dataproc will determine an appropriate Cloud Storage location (US,
-  // ASIA, or EU) for your cluster's staging bucket according to the Google
-  // Compute Engine zone where your cluster is deployed, and then it will create
-  // and manage this project-level, per-location bucket for you.
-  string config_bucket = 1;
-
-  // [Required] The shared Google Compute Engine config settings for
-  // all instances in a cluster.
-  GceClusterConfig gce_cluster_config = 8;
-
-  // [Optional] The Google Compute Engine config settings for
-  // the master instance in a cluster.
-  InstanceGroupConfig master_config = 9;
-
-  // [Optional] The Google Compute Engine config settings for
-  // worker instances in a cluster.
-  InstanceGroupConfig worker_config = 10;
-
-  // [Optional] The Google Compute Engine config settings for
-  // additional worker instances in a cluster.
-  InstanceGroupConfig secondary_worker_config = 12;
-
-  // [Optional] The config settings for software inside the cluster.
-  SoftwareConfig software_config = 13;
-
-  // [Optional] Commands to execute on each node after config is
-  // completed. By default, executables are run on master and all worker nodes.
-  // You can test a node's <code>role</code> metadata to run an executable on
-  // a master or worker node, as shown below using `curl` (you can also use `wget`):
-  //
-  //     ROLE=$(curl -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)
-  //     if [[ "${ROLE}" == 'Master' ]]; then
-  //       ... master specific actions ...
-  //     else
-  //       ... worker specific actions ...
-  //     fi
-  repeated NodeInitializationAction initialization_actions = 11;
-}
-
-// Common config settings for resources of Google Compute Engine cluster
-// instances, applicable to all instances in the cluster.
-message GceClusterConfig {
-  // [Required] The zone where the Google Compute Engine cluster will be located.
-  // Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`.
-  string zone_uri = 1;
-
-  // [Optional] The Google Compute Engine network to be used for machine
-  // communications. Cannot be specified with subnetwork_uri. If neither
-  // `network_uri` nor `subnetwork_uri` is specified, the "default" network of
-  // the project is used, if it exists. Cannot be a "Custom Subnet Network" (see
-  // [Using Subnetworks](/compute/docs/subnetworks) for more information).
-  // Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`.
-  string network_uri = 2;
-
-  // [Optional] The Google Compute Engine subnetwork to be used for machine
-  // communications. Cannot be specified with network_uri.
-  // Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0`.
-  string subnetwork_uri = 6;
-
-  // [Optional] If true, all instances in the cluster will only have internal IP
-  // addresses. By default, clusters are not restricted to internal IP addresses,
-  // and will have ephemeral external IP addresses assigned to each instance.
-  // This `internal_ip_only` restriction can only be enabled for subnetwork
-  // enabled networks, and all off-cluster dependencies must be configured to be
-  // accessible without external IP addresses.
-  bool internal_ip_only = 7;
-
-  // [Optional] The URIs of service account scopes to be included in Google
-  // Compute Engine instances. The following base set of scopes is always
-  // included:
-  //
-  // * https://www.googleapis.com/auth/cloud.useraccounts.readonly
-  // * https://www.googleapis.com/auth/devstorage.read_write
-  // * https://www.googleapis.com/auth/logging.write
-  //
-  // If no scopes are specified, the following defaults are also provided:
-  //
-  // * https://www.googleapis.com/auth/bigquery
-  // * https://www.googleapis.com/auth/bigtable.admin.table
-  // * https://www.googleapis.com/auth/bigtable.data
-  // * https://www.googleapis.com/auth/devstorage.full_control
-  repeated string service_account_scopes = 3;
-
-  // The Google Compute Engine tags to add to all instances (see
-  // [Labeling instances](/compute/docs/label-or-tag-resources#labeling_instances)).
-  repeated string tags = 4;
-
-  // The Google Compute Engine metadata entries to add to all instances (see
-  // [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).
-  map<string, string> metadata = 5;
-}
-
-// [Optional] The config settings for Google Compute Engine resources in
-// an instance group, such as a master or worker group.
-message InstanceGroupConfig {
-  // [Required] The number of VM instances in the instance group.
-  // For master instance groups, must be set to 1.
-  int32 num_instances = 1;
-
-  // [Optional] The list of instance names. Cloud Dataproc derives the names from
-  // `cluster_name`, `num_instances`, and the instance group if not set by user
-  // (recommended practice is to let Cloud Dataproc derive the name).
-  repeated string instance_names = 2;
-
-  // [Output-only] The Google Compute Engine image resource used for cluster
-  // instances. Inferred from `SoftwareConfig.image_version`.
-  string image_uri = 3;
-
-  // [Required] The Google Compute Engine machine type used for cluster instances.
-  // Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`.
-  string machine_type_uri = 4;
-
-  // [Optional] Disk option config settings.
-  DiskConfig disk_config = 5;
-
-  // [Optional] Specifies that this instance group contains preemptible instances.
-  bool is_preemptible = 6;
-
-  // [Output-only] The config for Google Compute Engine Instance Group
-  // Manager that manages this group.
-  // This is only used for preemptible instance groups.
-  ManagedGroupConfig managed_group_config = 7;
-}
-
-// Specifies the resources used to actively manage an instance group.
-message ManagedGroupConfig {
-  // [Output-only] The name of the Instance Template used for the Managed
-  // Instance Group.
-  string instance_template_name = 1;
-
-  // [Output-only] The name of the Instance Group Manager for this group.
-  string instance_group_manager_name = 2;
-}
-
-// Specifies the config of disk options for a group of VM instances.
-message DiskConfig {
-  // [Optional] Size in GB of the boot disk (default is 500GB).
-  int32 boot_disk_size_gb = 1;
-
-  // [Optional] Number of attached SSDs, from 0 to 4 (default is 0).
-  // If SSDs are not attached, the boot disk is used to store runtime logs and
-  // [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data.
-  // If one or more SSDs are attached, this runtime bulk
-  // data is spread across them, and the boot disk contains only basic
-  // config and installed binaries.
-  int32 num_local_ssds = 2;
-}
-
-// Specifies an executable to run on a fully configured node and a
-// timeout period for executable completion.
-message NodeInitializationAction {
-  // [Required] Google Cloud Storage URI of executable file.
-  string executable_file = 1;
-
-  // [Optional] Amount of time executable has to complete. Default is
-  // 10 minutes. Cluster creation fails with an explanatory error message (the
-  // name of the executable that caused the error and the exceeded timeout
-  // period) if the executable is not completed at end of the timeout period.
-  google.protobuf.Duration execution_timeout = 2;
-}
-
-// The status of a cluster and its instances.
-message ClusterStatus {
-  // The cluster state.
-  enum State {
-    // The cluster state is unknown.
-    UNKNOWN = 0;
-
-    // The cluster is being created and set up. It is not ready for use.
-    CREATING = 1;
-
-    // The cluster is currently running and healthy. It is ready for use.
-    RUNNING = 2;
-
-    // The cluster encountered an error. It is not ready for use.
-    ERROR = 3;
-
-    // The cluster is being deleted. It cannot be used.
-    DELETING = 4;
-
-    // The cluster is being updated. It continues to accept and process jobs.
-    UPDATING = 5;
-  }
-
-  // [Output-only] The cluster's state.
-  State state = 1;
-
-  // [Output-only] Optional details of cluster's state.
-  string detail = 2;
-
-  // [Output-only] Time when this state was entered.
-  google.protobuf.Timestamp state_start_time = 3;
-}
-
-// Specifies the selection and config of software inside the cluster.
-message SoftwareConfig {
-  // [Optional] The version of software inside the cluster. It must match the
-  // regular expression `[0-9]+\.[0-9]+`. If unspecified, it defaults to the
-  // latest version (see [Cloud Dataproc Versioning](/dataproc/versioning)).
-  string image_version = 1;
-
-  // [Optional] The properties to set on daemon config files.
-  //
-  // Property keys are specified in `prefix:property` format, such as
-  // `core:fs.defaultFS`. The following are supported prefixes
-  // and their mappings:
-  //
-  // * core:   `core-site.xml`
-  // * hdfs:   `hdfs-site.xml`
-  // * mapred: `mapred-site.xml`
-  // * yarn:   `yarn-site.xml`
-  // * hive:   `hive-site.xml`
-  // * pig:    `pig.properties`
-  // * spark:  `spark-defaults.conf`
-  map<string, string> properties = 2;
-}
-
-// A request to create a cluster.
-message CreateClusterRequest {
-  // [Required] The ID of the Google Cloud Platform project that the cluster
-  // belongs to.
-  string project_id = 1;
-
-  // [Required] The Cloud Dataproc region in which to handle the request.
-  string region = 3;
-
-  // [Required] The cluster to create.
-  Cluster cluster = 2;
-}
-
-// A request to update a cluster.
-message UpdateClusterRequest {
-  // [Required] The ID of the Google Cloud Platform project the
-  // cluster belongs to.
-  string project_id = 1;
-
-  // [Required] The Cloud Dataproc region in which to handle the request.
-  string region = 5;
-
-  // [Required] The cluster name.
-  string cluster_name = 2;
-
-  // [Required] The changes to the cluster.
-  Cluster cluster = 3;
-
-  // [Required] Specifies the path, relative to <code>Cluster</code>, of
-  // the field to update. For example, to change the number of workers
-  // in a cluster to 5, the <code>update_mask</code> parameter would be
-  // specified as <code>config.worker_config.num_instances</code>,
-  // and the `PATCH` request body would specify the new value, as follows:
-  //
-  //     {
-  //       "config":{
-  //         "workerConfig":{
-  //           "numInstances":"5"
-  //         }
-  //       }
-  //     }
-  // Similarly, to change the number of preemptible workers in a cluster to 5, the
-  // <code>update_mask</code> parameter would be <code>config.secondary_worker_config.num_instances</code>,
-  // and the `PATCH` request body would be set as follows:
-  //
-  //     {
-  //       "config":{
-  //         "secondaryWorkerConfig":{
-  //           "numInstances":"5"
-  //         }
-  //       }
-  //     }
-  // <strong>Note:</strong> Currently, <code>config.worker_config.num_instances</code>
-  // and <code>config.secondary_worker_config.num_instances</code> are the only
-  // fields that can be updated.
-  google.protobuf.FieldMask update_mask = 4;
-}
-
-// A request to delete a cluster.
-message DeleteClusterRequest {
-  // [Required] The ID of the Google Cloud Platform project that the cluster
-  // belongs to.
-  string project_id = 1;
-
-  // [Required] The Cloud Dataproc region in which to handle the request.
-  string region = 3;
-
-  // [Required] The cluster name.
-  string cluster_name = 2;
-}
-
-// Request to get the resource representation for a cluster in a project.
-message GetClusterRequest {
-  // [Required] The ID of the Google Cloud Platform project that the cluster
-  // belongs to.
-  string project_id = 1;
-
-  // [Required] The Cloud Dataproc region in which to handle the request.
-  string region = 3;
-
-  // [Required] The cluster name.
-  string cluster_name = 2;
-}
-
-// A request to list the clusters in a project.
-message ListClustersRequest {
-  // [Required] The ID of the Google Cloud Platform project that the cluster
-  // belongs to.
-  string project_id = 1;
-
-  // [Required] The Cloud Dataproc region in which to handle the request.
-  string region = 4;
-
-  // [Optional] The standard List page size.
-  int32 page_size = 2;
-
-  // [Optional] The standard List page token.
-  string page_token = 3;
-}
-
-// The list of all clusters in a project.
-message ListClustersResponse {
-  // [Output-only] The clusters in the project.
-  repeated Cluster clusters = 1;
-
-  // [Output-only] This token is included in the response if there are more
-  // results to fetch. To fetch additional results, provide this value as the
-  // `page_token` in a subsequent <code>ListClustersRequest</code>.
-  string next_page_token = 2;
-}
-
-// A request to collect cluster diagnostic information.
-message DiagnoseClusterRequest {
-  // [Required] The ID of the Google Cloud Platform project that the cluster
-  // belongs to.
-  string project_id = 1;
-
-  // [Required] The Cloud Dataproc region in which to handle the request.
-  string region = 3;
-
-  // [Required] The cluster name.
-  string cluster_name = 2;
-}
-
-// The location of diagnostic output.
-message DiagnoseClusterResults {
-  // [Output-only] The Google Cloud Storage URI of the diagnostic output.
-  // The output report is a plain text file with a summary of collected
-  // diagnostics.
-  string output_uri = 1;
-}
diff --git a/googleapis/cloud/dataproc/v1/jobs.pb.go b/googleapis/cloud/dataproc/v1/jobs.pb.go
index cc6bbe7d71a8e932586a7875e455c453124f614e..5717e9865e05569bbea27b9a5a660265db1838cb 100644
--- a/googleapis/cloud/dataproc/v1/jobs.pb.go
+++ b/googleapis/cloud/dataproc/v1/jobs.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/dataproc/v1/jobs.proto
+// source: google/cloud/dataproc/v1/jobs.proto
 // DO NOT EDIT!
 
-package google_cloud_dataproc_v1 // import "google.golang.org/genproto/googleapis/cloud/dataproc/v1"
+package dataproc
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -259,6 +259,34 @@ func (m *HadoopJob) GetMainClass() string {
 	return ""
 }
 
+func (m *HadoopJob) GetArgs() []string {
+	if m != nil {
+		return m.Args
+	}
+	return nil
+}
+
+func (m *HadoopJob) GetJarFileUris() []string {
+	if m != nil {
+		return m.JarFileUris
+	}
+	return nil
+}
+
+func (m *HadoopJob) GetFileUris() []string {
+	if m != nil {
+		return m.FileUris
+	}
+	return nil
+}
+
+func (m *HadoopJob) GetArchiveUris() []string {
+	if m != nil {
+		return m.ArchiveUris
+	}
+	return nil
+}
+
 func (m *HadoopJob) GetProperties() map[string]string {
 	if m != nil {
 		return m.Properties
@@ -414,6 +442,34 @@ func (m *SparkJob) GetMainClass() string {
 	return ""
 }
 
+func (m *SparkJob) GetArgs() []string {
+	if m != nil {
+		return m.Args
+	}
+	return nil
+}
+
+func (m *SparkJob) GetJarFileUris() []string {
+	if m != nil {
+		return m.JarFileUris
+	}
+	return nil
+}
+
+func (m *SparkJob) GetFileUris() []string {
+	if m != nil {
+		return m.FileUris
+	}
+	return nil
+}
+
+func (m *SparkJob) GetArchiveUris() []string {
+	if m != nil {
+		return m.ArchiveUris
+	}
+	return nil
+}
+
 func (m *SparkJob) GetProperties() map[string]string {
 	if m != nil {
 		return m.Properties
@@ -531,6 +587,48 @@ func (m *PySparkJob) String() string            { return proto.CompactTextString
 func (*PySparkJob) ProtoMessage()               {}
 func (*PySparkJob) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
+func (m *PySparkJob) GetMainPythonFileUri() string {
+	if m != nil {
+		return m.MainPythonFileUri
+	}
+	return ""
+}
+
+func (m *PySparkJob) GetArgs() []string {
+	if m != nil {
+		return m.Args
+	}
+	return nil
+}
+
+func (m *PySparkJob) GetPythonFileUris() []string {
+	if m != nil {
+		return m.PythonFileUris
+	}
+	return nil
+}
+
+func (m *PySparkJob) GetJarFileUris() []string {
+	if m != nil {
+		return m.JarFileUris
+	}
+	return nil
+}
+
+func (m *PySparkJob) GetFileUris() []string {
+	if m != nil {
+		return m.FileUris
+	}
+	return nil
+}
+
+func (m *PySparkJob) GetArchiveUris() []string {
+	if m != nil {
+		return m.ArchiveUris
+	}
+	return nil
+}
+
 func (m *PySparkJob) GetProperties() map[string]string {
 	if m != nil {
 		return m.Properties
@@ -569,6 +667,13 @@ func (m *QueryList) String() string            { return proto.CompactTextString(
 func (*QueryList) ProtoMessage()               {}
 func (*QueryList) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
+func (m *QueryList) GetQueries() []string {
+	if m != nil {
+		return m.Queries
+	}
+	return nil
+}
+
 // A Cloud Dataproc job for running [Apache Hive](https://hive.apache.org/)
 // queries on YARN.
 type HiveJob struct {
@@ -637,6 +742,13 @@ func (m *HiveJob) GetQueryList() *QueryList {
 	return nil
 }
 
+func (m *HiveJob) GetContinueOnFailure() bool {
+	if m != nil {
+		return m.ContinueOnFailure
+	}
+	return false
+}
+
 func (m *HiveJob) GetScriptVariables() map[string]string {
 	if m != nil {
 		return m.ScriptVariables
@@ -651,6 +763,13 @@ func (m *HiveJob) GetProperties() map[string]string {
 	return nil
 }
 
+func (m *HiveJob) GetJarFileUris() []string {
+	if m != nil {
+		return m.JarFileUris
+	}
+	return nil
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*HiveJob) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _HiveJob_OneofMarshaler, _HiveJob_OneofUnmarshaler, _HiveJob_OneofSizer, []interface{}{
@@ -798,6 +917,13 @@ func (m *SparkSqlJob) GetProperties() map[string]string {
 	return nil
 }
 
+func (m *SparkSqlJob) GetJarFileUris() []string {
+	if m != nil {
+		return m.JarFileUris
+	}
+	return nil
+}
+
 func (m *SparkSqlJob) GetLoggingConfig() *LoggingConfig {
 	if m != nil {
 		return m.LoggingConfig
@@ -944,6 +1070,13 @@ func (m *PigJob) GetQueryList() *QueryList {
 	return nil
 }
 
+func (m *PigJob) GetContinueOnFailure() bool {
+	if m != nil {
+		return m.ContinueOnFailure
+	}
+	return false
+}
+
 func (m *PigJob) GetScriptVariables() map[string]string {
 	if m != nil {
 		return m.ScriptVariables
@@ -958,6 +1091,13 @@ func (m *PigJob) GetProperties() map[string]string {
 	return nil
 }
 
+func (m *PigJob) GetJarFileUris() []string {
+	if m != nil {
+		return m.JarFileUris
+	}
+	return nil
+}
+
 func (m *PigJob) GetLoggingConfig() *LoggingConfig {
 	if m != nil {
 		return m.LoggingConfig
@@ -1049,6 +1189,20 @@ func (m *JobPlacement) String() string            { return proto.CompactTextStri
 func (*JobPlacement) ProtoMessage()               {}
 func (*JobPlacement) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
 
+func (m *JobPlacement) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
+func (m *JobPlacement) GetClusterUuid() string {
+	if m != nil {
+		return m.ClusterUuid
+	}
+	return ""
+}
+
 // Cloud Dataproc job status.
 type JobStatus struct {
 	// [Output-only] A state message specifying the overall job state.
@@ -1065,6 +1219,20 @@ func (m *JobStatus) String() string            { return proto.CompactTextString(
 func (*JobStatus) ProtoMessage()               {}
 func (*JobStatus) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
 
+func (m *JobStatus) GetState() JobStatus_State {
+	if m != nil {
+		return m.State
+	}
+	return JobStatus_STATE_UNSPECIFIED
+}
+
+func (m *JobStatus) GetDetails() string {
+	if m != nil {
+		return m.Details
+	}
+	return ""
+}
+
 func (m *JobStatus) GetStateStartTime() *google_protobuf3.Timestamp {
 	if m != nil {
 		return m.StateStartTime
@@ -1090,6 +1258,20 @@ func (m *JobReference) String() string            { return proto.CompactTextStri
 func (*JobReference) ProtoMessage()               {}
 func (*JobReference) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
 
+func (m *JobReference) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *JobReference) GetJobId() string {
+	if m != nil {
+		return m.JobId
+	}
+	return ""
+}
+
 // A Cloud Dataproc job resource.
 type Job struct {
 	// [Optional] The fully qualified reference to the job, which can be used to
@@ -1237,6 +1419,20 @@ func (m *Job) GetStatusHistory() []*JobStatus {
 	return nil
 }
 
+func (m *Job) GetDriverOutputResourceUri() string {
+	if m != nil {
+		return m.DriverOutputResourceUri
+	}
+	return ""
+}
+
+func (m *Job) GetDriverControlFilesUri() string {
+	if m != nil {
+		return m.DriverControlFilesUri
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Job) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _Job_OneofMarshaler, _Job_OneofUnmarshaler, _Job_OneofSizer, []interface{}{
@@ -1403,6 +1599,20 @@ func (m *SubmitJobRequest) String() string            { return proto.CompactText
 func (*SubmitJobRequest) ProtoMessage()               {}
 func (*SubmitJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
 
+func (m *SubmitJobRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *SubmitJobRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
 func (m *SubmitJobRequest) GetJob() *Job {
 	if m != nil {
 		return m.Job
@@ -1426,6 +1636,27 @@ func (m *GetJobRequest) String() string            { return proto.CompactTextStr
 func (*GetJobRequest) ProtoMessage()               {}
 func (*GetJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
 
+func (m *GetJobRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetJobRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *GetJobRequest) GetJobId() string {
+	if m != nil {
+		return m.JobId
+	}
+	return ""
+}
+
 // A request to list jobs in a project.
 type ListJobsRequest struct {
 	// [Required] The ID of the Google Cloud Platform project that the job
@@ -1451,6 +1682,48 @@ func (m *ListJobsRequest) String() string            { return proto.CompactTextS
 func (*ListJobsRequest) ProtoMessage()               {}
 func (*ListJobsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} }
 
+func (m *ListJobsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListJobsRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *ListJobsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListJobsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListJobsRequest) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
+func (m *ListJobsRequest) GetJobStateMatcher() ListJobsRequest_JobStateMatcher {
+	if m != nil {
+		return m.JobStateMatcher
+	}
+	return ListJobsRequest_ALL
+}
+
 // A list of jobs in a project.
 type ListJobsResponse struct {
 	// [Output-only] Jobs list.
@@ -1473,6 +1746,13 @@ func (m *ListJobsResponse) GetJobs() []*Job {
 	return nil
 }
 
+func (m *ListJobsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // A request to cancel a job.
 type CancelJobRequest struct {
 	// [Required] The ID of the Google Cloud Platform project that the job
@@ -1489,6 +1769,27 @@ func (m *CancelJobRequest) String() string            { return proto.CompactText
 func (*CancelJobRequest) ProtoMessage()               {}
 func (*CancelJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
 
+func (m *CancelJobRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *CancelJobRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *CancelJobRequest) GetJobId() string {
+	if m != nil {
+		return m.JobId
+	}
+	return ""
+}
+
 // A request to delete a job.
 type DeleteJobRequest struct {
 	// [Required] The ID of the Google Cloud Platform project that the job
@@ -1505,6 +1806,27 @@ func (m *DeleteJobRequest) String() string            { return proto.CompactText
 func (*DeleteJobRequest) ProtoMessage()               {}
 func (*DeleteJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
 
+func (m *DeleteJobRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *DeleteJobRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *DeleteJobRequest) GetJobId() string {
+	if m != nil {
+		return m.JobId
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*LoggingConfig)(nil), "google.cloud.dataproc.v1.LoggingConfig")
 	proto.RegisterType((*HadoopJob)(nil), "google.cloud.dataproc.v1.HadoopJob")
@@ -1748,131 +2070,128 @@ var _JobController_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/dataproc/v1/jobs.proto",
+	Metadata: "google/cloud/dataproc/v1/jobs.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/dataproc/v1/jobs.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/cloud/dataproc/v1/jobs.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 1878 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xdc, 0x58, 0xdd, 0x6e, 0x23, 0x49,
-	0x15, 0x8e, 0xff, 0xdd, 0xc7, 0x63, 0xa7, 0x53, 0xcc, 0x2c, 0x96, 0x97, 0x15, 0xd9, 0x5e, 0x76,
-	0xc8, 0xce, 0x0a, 0x37, 0xf1, 0xc0, 0xec, 0x90, 0x00, 0x8b, 0x63, 0x3b, 0x93, 0x04, 0xe3, 0x78,
-	0xdb, 0xce, 0x70, 0x85, 0x7a, 0xda, 0x76, 0xc5, 0xe9, 0x4c, 0xbb, 0xab, 0xd3, 0x55, 0x6d, 0xe1,
-	0x19, 0xcd, 0x0d, 0x2f, 0x80, 0xf8, 0x11, 0x12, 0x5c, 0xf2, 0x14, 0x48, 0x08, 0x71, 0x01, 0xe2,
-	0x05, 0xb8, 0x45, 0x5c, 0xf1, 0x20, 0xa8, 0xaa, 0xba, 0x1d, 0xe7, 0xcf, 0x76, 0x76, 0x76, 0x57,
-	0xbb, 0x73, 0x93, 0x54, 0x9f, 0xbf, 0x3a, 0x55, 0xdf, 0x77, 0x4e, 0x55, 0x19, 0x76, 0x86, 0x84,
-	0x0c, 0x1d, 0x5c, 0x1e, 0x12, 0xc7, 0x72, 0x87, 0x65, 0xe2, 0x0f, 0xf5, 0x21, 0x76, 0x3d, 0x9f,
-	0x30, 0xa2, 0x4b, 0x95, 0xe5, 0xd9, 0x54, 0xef, 0x3b, 0x24, 0x18, 0xe8, 0x03, 0x8b, 0x59, 0x9e,
-	0x4f, 0xfa, 0xfa, 0x78, 0x53, 0x3f, 0x25, 0x3d, 0x5a, 0x16, 0x76, 0xa8, 0x18, 0xc6, 0x10, 0x46,
-	0xe5, 0xc8, 0xa8, 0x3c, 0xde, 0x2c, 0xed, 0x2f, 0x17, 0xdd, 0xf2, 0x6c, 0x9d, 0x62, 0x7f, 0x6c,
-	0xf7, 0x71, 0x9f, 0xb8, 0xc7, 0xf6, 0x50, 0xb7, 0x5c, 0x97, 0x30, 0x8b, 0xd9, 0xc4, 0x0d, 0x27,
-	0x29, 0x3d, 0x1c, 0xda, 0xec, 0x24, 0xe8, 0x95, 0xfb, 0x64, 0xa4, 0xcb, 0x70, 0xba, 0x50, 0xf4,
-	0x82, 0x63, 0xdd, 0x63, 0x13, 0x0f, 0x53, 0x1d, 0x8f, 0x3c, 0x36, 0x91, 0x7f, 0x43, 0xa7, 0xed,
-	0xc5, 0x4e, 0xcc, 0x1e, 0x61, 0xca, 0xac, 0x91, 0x77, 0x3e, 0x92, 0xce, 0xda, 0x7f, 0xe3, 0x90,
-	0x6f, 0x92, 0xe1, 0xd0, 0x76, 0x87, 0x35, 0x91, 0x15, 0x3a, 0x81, 0xb5, 0x81, 0x6f, 0x8f, 0xb1,
-	0x6f, 0x3a, 0x64, 0x68, 0x3a, 0x78, 0x8c, 0x1d, 0x5a, 0x8c, 0xaf, 0x27, 0x36, 0x72, 0x95, 0x1f,
-	0x96, 0x6f, 0xda, 0x84, 0xf2, 0x85, 0x18, 0xe5, 0xba, 0x08, 0xd0, 0x24, 0xc3, 0xa6, 0x70, 0x6f,
-	0xb8, 0xcc, 0x9f, 0x18, 0xab, 0x83, 0x8b, 0xd2, 0xd2, 0x19, 0xdc, 0xbd, 0xce, 0x10, 0xa9, 0x90,
-	0x78, 0x8e, 0x27, 0xc5, 0xd8, 0x7a, 0x6c, 0x43, 0x31, 0xf8, 0x10, 0xd5, 0x20, 0x35, 0xb6, 0x9c,
-	0x00, 0x17, 0xe3, 0xeb, 0xb1, 0x8d, 0x42, 0xe5, 0x3b, 0xcb, 0xe6, 0x21, 0xa2, 0x1a, 0xd2, 0x77,
-	0x2b, 0xfe, 0x38, 0xa6, 0x79, 0x90, 0x12, 0x32, 0x74, 0x0f, 0xd6, 0x9a, 0x8d, 0xa7, 0x8d, 0xa6,
-	0x79, 0xd4, 0xea, 0xb4, 0x1b, 0xb5, 0xfd, 0xdd, 0xfd, 0x46, 0x5d, 0x5d, 0x41, 0x19, 0x48, 0x54,
-	0x9b, 0x4d, 0x35, 0x86, 0x14, 0x48, 0x75, 0x8d, 0x6a, 0xad, 0xa1, 0xc6, 0xf9, 0xb0, 0xde, 0xd8,
-	0x39, 0x7a, 0xa2, 0x26, 0x50, 0x16, 0x92, 0xfb, 0xad, 0xdd, 0x43, 0x35, 0xc9, 0x47, 0x3f, 0xaf,
-	0x1a, 0x2d, 0x35, 0xc5, 0xd5, 0x0d, 0xc3, 0x38, 0x34, 0xd4, 0x34, 0x1f, 0xee, 0x56, 0xbb, 0xd5,
-	0xa6, 0x9a, 0xe1, 0x81, 0x0e, 0x77, 0x77, 0xd5, 0xac, 0xf6, 0xf7, 0x04, 0x28, 0x7b, 0xd6, 0x80,
-	0x10, 0xef, 0x80, 0xf4, 0xd0, 0x87, 0xb0, 0x36, 0xb2, 0x6c, 0xd7, 0x3c, 0xb5, 0x7c, 0xf3, 0xd8,
-	0x76, 0xb0, 0x19, 0xf8, 0xb6, 0x5c, 0xe8, 0xde, 0x8a, 0x51, 0xe0, 0xaa, 0x03, 0xcb, 0xdf, 0xb5,
-	0x1d, 0x7c, 0xe4, 0xdb, 0xe8, 0x9b, 0x00, 0xc2, 0xb8, 0xef, 0x58, 0x94, 0x8a, 0xa5, 0x73, 0x2b,
-	0x85, 0xcb, 0x6a, 0x5c, 0x84, 0x10, 0x24, 0x2d, 0x7f, 0x48, 0x8b, 0x89, 0xf5, 0xc4, 0x86, 0x62,
-	0x88, 0x31, 0xd2, 0x20, 0x3f, 0x1b, 0x9c, 0x16, 0x93, 0x42, 0x99, 0x3b, 0x9d, 0xc6, 0xa5, 0xe8,
-	0x6d, 0x50, 0xce, 0xf5, 0x29, 0xa1, 0xcf, 0x1e, 0x47, 0xca, 0x77, 0xe1, 0x8e, 0xe5, 0xf7, 0x4f,
-	0xec, 0x71, 0xa8, 0x4f, 0x4b, 0xff, 0x50, 0x26, 0x4c, 0x3a, 0x00, 0x9e, 0x4f, 0x3c, 0xec, 0x33,
-	0x1b, 0xd3, 0x62, 0x46, 0x70, 0xe3, 0xe1, 0xcd, 0x98, 0x4c, 0x97, 0x5f, 0x6e, 0x4f, 0xbd, 0x24,
-	0x25, 0x66, 0xc2, 0xa0, 0x16, 0x14, 0x1c, 0x09, 0x9e, 0x29, 0xeb, 0xa3, 0x98, 0x5d, 0x8f, 0x6d,
-	0xe4, 0x2a, 0xdf, 0x5e, 0x12, 0x6c, 0x23, 0xef, 0xcc, 0x7e, 0x96, 0x7e, 0x04, 0xab, 0x97, 0xa6,
-	0xbb, 0x86, 0x58, 0x77, 0x67, 0x89, 0xa5, 0xcc, 0x30, 0x65, 0x27, 0x0b, 0x69, 0xc9, 0x57, 0xed,
-	0x6f, 0x09, 0xc8, 0x76, 0x3c, 0xcb, 0x7f, 0xfe, 0xe6, 0x00, 0x68, 0x5c, 0x03, 0x60, 0xe5, 0xe6,
-	0x7d, 0x8e, 0x56, 0xff, 0xd5, 0xc4, 0xef, 0x9f, 0x09, 0x80, 0xf6, 0x64, 0x8a, 0xa0, 0x0e, 0x77,
-	0x05, 0x28, 0xde, 0x84, 0x9d, 0x10, 0xf7, 0x12, 0x88, 0x86, 0x40, 0xb7, 0x2d, 0x54, 0x11, 0x8a,
-	0x11, 0x48, 0xf1, 0x19, 0x90, 0x36, 0x40, 0xbd, 0xe4, 0x1f, 0x81, 0x58, 0xf0, 0x66, 0x9d, 0xbf,
-	0x18, 0x38, 0xbb, 0xd7, 0xc0, 0xf9, 0xbd, 0x9b, 0xb7, 0xfd, 0x7c, 0x33, 0xbe, 0x42, 0x80, 0x6a,
-	0xef, 0x83, 0xf2, 0x49, 0x80, 0xfd, 0x49, 0xd3, 0xa6, 0x0c, 0x15, 0x21, 0x73, 0x16, 0x60, 0x9f,
-	0x2f, 0x37, 0x26, 0xf6, 0x23, 0xfa, 0xd4, 0x7e, 0x9d, 0x84, 0xcc, 0x9e, 0x3d, 0xc6, 0x1c, 0xea,
-	0xfb, 0x50, 0xe0, 0xe2, 0xc9, 0xd5, 0x4a, 0xbd, 0x23, 0xe4, 0x11, 0xc2, 0x75, 0x00, 0x69, 0xe7,
-	0xd8, 0x94, 0x89, 0x99, 0x73, 0x95, 0xf7, 0x6e, 0x5e, 0xe5, 0x34, 0x0d, 0x5e, 0xcc, 0x67, 0xd3,
-	0x9c, 0xca, 0xf0, 0xb5, 0x3e, 0x71, 0x99, 0xed, 0x06, 0xd8, 0xe4, 0xc4, 0xb0, 0x6c, 0x27, 0xf0,
-	0x71, 0x31, 0xb1, 0x1e, 0xdb, 0xc8, 0x1a, 0x6b, 0x91, 0xea, 0xd0, 0xdd, 0x95, 0x0a, 0x64, 0x81,
-	0x4a, 0xfb, 0xbe, 0xed, 0x31, 0x73, 0x6c, 0xf9, 0xb6, 0xd5, 0x73, 0xb0, 0x24, 0x47, 0xae, 0xf2,
-	0x68, 0x4e, 0x2f, 0x95, 0x4b, 0x2b, 0x77, 0x84, 0xe7, 0xd3, 0xc8, 0x31, 0x3c, 0x61, 0xe9, 0x45,
-	0x29, 0xfa, 0xe4, 0x02, 0x31, 0x52, 0x22, 0xf8, 0xe6, 0xe2, 0xe0, 0xf3, 0x58, 0x71, 0x85, 0xcf,
-	0xe9, 0x2b, 0x7c, 0x2e, 0xed, 0xc0, 0xdd, 0xeb, 0xf2, 0xbb, 0x0d, 0xdc, 0xaf, 0x5b, 0xfe, 0xca,
-	0x94, 0x20, 0xda, 0x5f, 0x93, 0x90, 0x13, 0x84, 0xef, 0x9c, 0x39, 0x5f, 0x3c, 0x2b, 0xf0, 0x35,
-	0x28, 0x27, 0x04, 0x10, 0x5b, 0x0b, 0x1a, 0xae, 0x4c, 0x77, 0x49, 0xa4, 0x8f, 0x2e, 0x20, 0x2d,
-	0x69, 0xf4, 0xfd, 0xe5, 0x26, 0xb8, 0x15, 0xda, 0x8f, 0xaf, 0x76, 0xaf, 0xab, 0x7d, 0x22, 0xfd,
-	0x5a, 0x7d, 0xe2, 0xcb, 0xc5, 0x9e, 0xff, 0x24, 0x21, 0xdd, 0xb6, 0x87, 0x5f, 0xfe, 0x76, 0xf2,
-	0xec, 0xc6, 0x76, 0x32, 0x87, 0x07, 0x72, 0x65, 0x4b, 0x72, 0xac, 0x7d, 0x4d, 0x37, 0xf9, 0xee,
-	0xc2, 0xd8, 0xaf, 0xd9, 0x4c, 0xae, 0xa1, 0x57, 0xe6, 0x0d, 0xa2, 0x57, 0x17, 0xee, 0x1c, 0x90,
-	0x5e, 0xdb, 0xb1, 0xfa, 0x78, 0x84, 0x5d, 0xc6, 0x4f, 0xfb, 0xbe, 0x13, 0x50, 0x86, 0x7d, 0xd3,
-	0xb5, 0x46, 0x38, 0x8c, 0x97, 0x0b, 0x65, 0x2d, 0x6b, 0x84, 0x67, 0x4d, 0x82, 0xc0, 0x1e, 0x84,
-	0xe1, 0x23, 0x93, 0xa3, 0xc0, 0x1e, 0x68, 0xff, 0x88, 0x83, 0x72, 0x40, 0x7a, 0x1d, 0x66, 0xb1,
-	0x80, 0xa2, 0x8f, 0x21, 0x45, 0x99, 0xc5, 0x64, 0xb0, 0x42, 0xe5, 0x83, 0x9b, 0x37, 0x6e, 0xea,
-	0x53, 0xe6, 0xff, 0xb0, 0x21, 0xfd, 0xf8, 0x69, 0x3b, 0xc0, 0xcc, 0xb2, 0x9d, 0xf0, 0x12, 0x6b,
-	0x44, 0x9f, 0xa8, 0x0e, 0xaa, 0x30, 0x31, 0x29, 0xb3, 0x7c, 0x66, 0xf2, 0xd7, 0x65, 0x58, 0xfd,
-	0xa5, 0x68, 0x96, 0xe8, 0x2d, 0x5a, 0xee, 0x46, 0x4f, 0x4f, 0xa3, 0x20, 0x7c, 0x3a, 0xdc, 0x85,
-	0x0b, 0xb5, 0xdf, 0xc7, 0x20, 0x25, 0x26, 0xe4, 0xcf, 0xb2, 0x4e, 0xb7, 0xda, 0x6d, 0x5c, 0x7a,
-	0x96, 0xe5, 0x20, 0xd3, 0x6e, 0xb4, 0xea, 0xfb, 0xad, 0x27, 0x6a, 0x0c, 0x15, 0x00, 0x3a, 0x8d,
-	0xee, 0x51, 0xdb, 0xac, 0x1f, 0xb6, 0x1a, 0x6a, 0x96, 0x2b, 0x8d, 0xa3, 0x56, 0x8b, 0x2b, 0xe3,
-	0x08, 0x41, 0xa1, 0x56, 0x6d, 0xd5, 0x1a, 0x4d, 0x33, 0x72, 0x48, 0xcc, 0xc8, 0x3a, 0xdd, 0xaa,
-	0xd1, 0x6d, 0xd4, 0xd5, 0x0c, 0xca, 0x83, 0x22, 0x65, 0xcd, 0x46, 0x5d, 0x3e, 0xe7, 0x44, 0xb4,
-	0xd9, 0xe7, 0x9c, 0x56, 0x17, 0xd8, 0x18, 0xf8, 0x18, 0xfb, 0xd8, 0xed, 0x63, 0xf4, 0x8e, 0xe0,
-	0xff, 0x29, 0xee, 0x33, 0xd3, 0x1e, 0x84, 0xc8, 0x28, 0xa1, 0x64, 0x7f, 0x80, 0xee, 0x41, 0xfa,
-	0x94, 0xf4, 0xcc, 0x29, 0x22, 0xa9, 0x53, 0xd2, 0xdb, 0x1f, 0x68, 0x7f, 0x49, 0x43, 0x82, 0x77,
-	0x8f, 0x3a, 0x28, 0x7e, 0x14, 0x4a, 0x38, 0xe7, 0x2a, 0xf7, 0xe7, 0x22, 0x31, 0x9d, 0xd8, 0x38,
-	0x77, 0xe4, 0x51, 0xbc, 0x88, 0x2c, 0x61, 0x6b, 0x99, 0x1f, 0x65, 0x4a, 0x2d, 0xe3, 0xdc, 0x91,
-	0x77, 0xa8, 0x13, 0xf1, 0x28, 0x33, 0x4f, 0x49, 0x4f, 0xb4, 0x94, 0xb9, 0x1d, 0x6a, 0xfa, 0x80,
-	0xe3, 0x1d, 0xea, 0x64, 0xfa, 0x98, 0xad, 0x82, 0x42, 0xf9, 0x39, 0x22, 0x82, 0x24, 0x45, 0x10,
-	0x6d, 0xf1, 0x23, 0x62, 0x6f, 0xc5, 0xc8, 0xd2, 0xe8, 0x32, 0xfe, 0x04, 0x72, 0xde, 0xe4, 0x3c,
-	0x48, 0x4a, 0x04, 0xf9, 0xd6, 0x32, 0x57, 0xd7, 0xbd, 0x15, 0x03, 0x42, 0x57, 0x1e, 0xe8, 0xc7,
-	0x90, 0x15, 0x57, 0x64, 0x1e, 0x45, 0x12, 0xf0, 0xdd, 0x85, 0xf7, 0x9c, 0xbd, 0x15, 0x23, 0x73,
-	0x12, 0x5e, 0x15, 0xb7, 0x21, 0xe3, 0xd9, 0x43, 0xe1, 0x2e, 0xdb, 0xcb, 0xfa, 0xa2, 0xc6, 0xb6,
-	0xb7, 0x62, 0xa4, 0x3d, 0x79, 0x30, 0xfc, 0x14, 0xf2, 0x72, 0x0d, 0xf4, 0xcc, 0x11, 0x21, 0xee,
-	0x88, 0x10, 0xef, 0x2f, 0x75, 0xfe, 0xee, 0xad, 0x18, 0x39, 0x3a, 0x73, 0x3d, 0xd9, 0x86, 0x34,
-	0x15, 0x35, 0x18, 0x5e, 0xb7, 0xdf, 0x5b, 0xa2, 0x5c, 0x8d, 0xd0, 0x05, 0x1d, 0x40, 0x41, 0x8e,
-	0xcc, 0x13, 0x9b, 0x32, 0xe2, 0x4f, 0x8a, 0x79, 0xd1, 0xa6, 0x97, 0x0a, 0x92, 0x97, 0xae, 0x7b,
-	0xd2, 0x13, 0x6d, 0x43, 0x29, 0xfc, 0x21, 0x88, 0x04, 0xcc, 0x0b, 0x98, 0xe9, 0x63, 0x4a, 0x02,
-	0xbf, 0x2f, 0x8f, 0xbe, 0x35, 0xc1, 0xf1, 0xaf, 0x4b, 0x8b, 0x43, 0x61, 0x60, 0x84, 0x7a, 0x7e,
-	0x06, 0x7e, 0x04, 0xc5, 0xd0, 0x99, 0x9f, 0x54, 0x3e, 0x71, 0x44, 0x93, 0xa7, 0xc2, 0x75, 0x55,
-	0xb8, 0xde, 0x93, 0xfa, 0x9a, 0x54, 0xf3, 0x76, 0x4f, 0x8f, 0x7c, 0x7b, 0x07, 0x20, 0xcb, 0x26,
-	0x9e, 0x00, 0x52, 0x7b, 0x01, 0x6a, 0x27, 0xe8, 0x8d, 0x6c, 0x26, 0xaa, 0xe1, 0x2c, 0xc0, 0x94,
-	0x2d, 0x2a, 0xc2, 0xb7, 0x20, 0xed, 0xe3, 0xa1, 0x4d, 0x5c, 0xc1, 0x6a, 0xc5, 0x08, 0xbf, 0x90,
-	0x0e, 0x09, 0x0e, 0x8c, 0xac, 0x98, 0x77, 0xe6, 0xd7, 0x1d, 0xb7, 0xd4, 0x7e, 0x01, 0xf9, 0x27,
-	0xf8, 0x33, 0x98, 0xf8, 0x86, 0xae, 0xf0, 0xaf, 0x38, 0xac, 0xf2, 0x63, 0xfe, 0x80, 0xf4, 0xe8,
-	0xad, 0x67, 0x48, 0x5f, 0x98, 0xe1, 0x6d, 0x50, 0x3c, 0x6b, 0x88, 0x4d, 0x6a, 0xbf, 0x90, 0x67,
-	0x4d, 0xca, 0xc8, 0x72, 0x41, 0xc7, 0x7e, 0x21, 0x7b, 0x16, 0x57, 0x32, 0xf2, 0x1c, 0x47, 0xa9,
-	0x09, 0xf3, 0x2e, 0x17, 0x5c, 0x39, 0x6e, 0x92, 0x57, 0x8f, 0x1b, 0x0c, 0x6b, 0x7c, 0x01, 0xb2,
-	0xcd, 0x8f, 0x2c, 0xd6, 0x3f, 0xc1, 0xbe, 0x28, 0xd4, 0x42, 0xe5, 0x07, 0x73, 0x8e, 0xe0, 0x8b,
-	0x6b, 0x8b, 0x58, 0x86, 0x7f, 0x26, 0x03, 0x18, 0xab, 0xa7, 0x17, 0x05, 0xda, 0x23, 0x58, 0xbd,
-	0x64, 0x13, 0xfd, 0x18, 0xb7, 0x82, 0x00, 0xd2, 0xd5, 0x5a, 0x77, 0xff, 0x69, 0x43, 0x76, 0xff,
-	0xd6, 0x61, 0xcb, 0x0c, 0xbf, 0xe3, 0xda, 0x08, 0xd4, 0xf3, 0xb9, 0xa8, 0x47, 0x5c, 0x8a, 0xd1,
-	0x26, 0x24, 0x4f, 0x49, 0x4f, 0x3e, 0x0d, 0x17, 0xa2, 0x2d, 0x4c, 0xd1, 0x7d, 0x58, 0x75, 0xf1,
-	0x2f, 0x99, 0x39, 0xb3, 0x59, 0x12, 0xaf, 0x3c, 0x17, 0xb7, 0xa3, 0x0d, 0xd3, 0x9e, 0x81, 0x5a,
-	0xb3, 0xdc, 0x3e, 0x76, 0x3e, 0x37, 0x66, 0x3c, 0x03, 0xb5, 0x8e, 0x1d, 0xcc, 0xf0, 0xe7, 0x35,
-	0x43, 0xe5, 0x0f, 0x69, 0xc8, 0x1f, 0x90, 0x5e, 0x58, 0x79, 0x0e, 0xf6, 0xd1, 0x1f, 0x63, 0xa0,
-	0x4c, 0x2b, 0x0d, 0x3d, 0x98, 0xd3, 0xb7, 0x2e, 0x95, 0x63, 0x69, 0xfe, 0xe6, 0x6a, 0xd5, 0x5f,
-	0xfd, 0xfb, 0x7f, 0xbf, 0x8b, 0x6f, 0x6b, 0x8f, 0xf4, 0xf1, 0xa6, 0x1e, 0x26, 0x4c, 0xf5, 0x97,
-	0xe7, 0x8b, 0x79, 0xa5, 0xcb, 0x5c, 0xa9, 0xfe, 0x52, 0x0e, 0x5e, 0x89, 0x1f, 0xdd, 0xb7, 0xa8,
-	0x98, 0x68, 0x2b, 0xf6, 0x00, 0xfd, 0x36, 0x06, 0x69, 0x59, 0x89, 0x68, 0xce, 0x95, 0xef, 0x42,
-	0xad, 0x2e, 0xca, 0xea, 0x27, 0x22, 0xab, 0x2d, 0xf4, 0xf8, 0x96, 0x59, 0xe9, 0x2f, 0xe5, 0x76,
-	0xbe, 0x42, 0x7f, 0x8a, 0x41, 0x36, 0xa2, 0x1d, 0xfa, 0x60, 0xe9, 0x32, 0x28, 0x3d, 0x58, 0xc6,
-	0x54, 0xb2, 0x58, 0xfb, 0x48, 0x64, 0xb9, 0x89, 0xf4, 0x5b, 0x66, 0x89, 0xfe, 0x1c, 0x03, 0x65,
-	0x4a, 0xd2, 0x79, 0x68, 0x5e, 0x66, 0xf2, 0xa2, 0x7d, 0x3b, 0x10, 0x19, 0xd5, 0xb5, 0x8f, 0x3f,
-	0xed, 0xbe, 0x6d, 0xf5, 0xc5, 0x8c, 0x1c, 0xd6, 0xdf, 0xc4, 0x40, 0x99, 0xf2, 0x7c, 0x5e, 0x92,
-	0x97, 0x8b, 0xa1, 0xf4, 0xd6, 0x95, 0x9b, 0x65, 0x63, 0xe4, 0xb1, 0x49, 0x84, 0xea, 0x83, 0x4f,
-	0x8d, 0xea, 0xce, 0x87, 0xf0, 0x8d, 0x3e, 0x19, 0xdd, 0x98, 0xca, 0x0e, 0xbf, 0x53, 0xd3, 0x36,
-	0x9f, 0xb5, 0x1d, 0xeb, 0xa5, 0xc5, 0xf4, 0x0f, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x8c, 0x97,
-	0xbe, 0x46, 0x5d, 0x1a, 0x00, 0x00,
+	// 1862 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0x5b, 0x6f, 0x23, 0x49,
+	0x15, 0x8e, 0xef, 0xee, 0xe3, 0xb1, 0xd3, 0x29, 0x66, 0x17, 0xcb, 0xb3, 0xab, 0xcd, 0xf6, 0xb0,
+	0x43, 0x76, 0x10, 0x36, 0xf1, 0xc2, 0xec, 0x90, 0x00, 0xbb, 0x8e, 0xed, 0x8c, 0x13, 0x8c, 0xe3,
+	0x6d, 0x3b, 0x83, 0x84, 0x84, 0x7a, 0xda, 0x76, 0xc5, 0x69, 0x4f, 0xbb, 0xab, 0xd3, 0xd5, 0x6d,
+	0xe1, 0x19, 0xcd, 0x0b, 0x7f, 0x00, 0x71, 0x11, 0x12, 0x3c, 0xf2, 0x2b, 0x90, 0x10, 0xe2, 0x01,
+	0xc4, 0x1f, 0xe0, 0x15, 0xf1, 0xc4, 0x0f, 0x41, 0x55, 0xd5, 0xed, 0xf8, 0x12, 0x5f, 0xb2, 0xc3,
+	0xae, 0x76, 0xf7, 0x29, 0xd5, 0xe7, 0x56, 0xa7, 0xea, 0xfb, 0xce, 0xa9, 0x2a, 0x07, 0xee, 0xf7,
+	0x09, 0xe9, 0x9b, 0xb8, 0xd0, 0x35, 0x89, 0xd7, 0x2b, 0xf4, 0x74, 0x57, 0xb7, 0x1d, 0xd2, 0x2d,
+	0x8c, 0xf6, 0x0b, 0x03, 0xd2, 0xa1, 0x79, 0xdb, 0x21, 0x2e, 0x41, 0x59, 0x61, 0x94, 0xe7, 0x46,
+	0xf9, 0xc0, 0x28, 0x3f, 0xda, 0xcf, 0xbd, 0xe5, 0xbb, 0xeb, 0xb6, 0x51, 0xd0, 0x2d, 0x8b, 0xb8,
+	0xba, 0x6b, 0x10, 0xcb, 0xf7, 0xcb, 0xdd, 0xf3, 0xb5, 0xfc, 0xab, 0xe3, 0x5d, 0x14, 0xf0, 0xd0,
+	0x76, 0xc7, 0xbe, 0xf2, 0x9d, 0x79, 0xa5, 0x6b, 0x0c, 0x31, 0x75, 0xf5, 0xa1, 0x2d, 0x0c, 0x94,
+	0xff, 0x84, 0x21, 0x5d, 0x27, 0xfd, 0xbe, 0x61, 0xf5, 0xcb, 0xc4, 0xba, 0x30, 0xfa, 0xe8, 0x12,
+	0x76, 0x7a, 0x8e, 0x31, 0xc2, 0x8e, 0x66, 0x92, 0xbe, 0x66, 0xe2, 0x11, 0x36, 0x69, 0x36, 0xbc,
+	0x1b, 0xd9, 0x4b, 0x15, 0x7f, 0x90, 0x5f, 0x96, 0x63, 0x7e, 0x26, 0x46, 0xbe, 0xc2, 0x03, 0xd4,
+	0x49, 0xbf, 0xce, 0xdd, 0xab, 0x96, 0xeb, 0x8c, 0xd5, 0xed, 0xde, 0xac, 0x34, 0x77, 0x05, 0x77,
+	0x6f, 0x32, 0x44, 0x32, 0x44, 0x9e, 0xe3, 0x71, 0x36, 0xb4, 0x1b, 0xda, 0x93, 0x54, 0x36, 0x44,
+	0x65, 0x88, 0x8d, 0x74, 0xd3, 0xc3, 0xd9, 0xf0, 0x6e, 0x68, 0x2f, 0x53, 0xfc, 0xf6, 0xa6, 0x79,
+	0xf0, 0xa8, 0xaa, 0xf0, 0x3d, 0x08, 0x3f, 0x0e, 0x29, 0x36, 0xc4, 0xb8, 0x0c, 0xbd, 0x01, 0x3b,
+	0xf5, 0xea, 0xd3, 0x6a, 0x5d, 0x3b, 0x6f, 0xb4, 0x9a, 0xd5, 0xf2, 0xc9, 0xf1, 0x49, 0xb5, 0x22,
+	0x6f, 0xa1, 0x04, 0x44, 0x4a, 0xf5, 0xba, 0x1c, 0x42, 0x12, 0xc4, 0xda, 0x6a, 0xa9, 0x5c, 0x95,
+	0xc3, 0x6c, 0x58, 0xa9, 0x1e, 0x9d, 0x3f, 0x91, 0x23, 0x28, 0x09, 0xd1, 0x93, 0xc6, 0xf1, 0x99,
+	0x1c, 0x65, 0xa3, 0x9f, 0x96, 0xd4, 0x86, 0x1c, 0x63, 0xea, 0xaa, 0xaa, 0x9e, 0xa9, 0x72, 0x9c,
+	0x0d, 0x8f, 0x4b, 0xed, 0x52, 0x5d, 0x4e, 0xb0, 0x40, 0x67, 0xc7, 0xc7, 0x72, 0x52, 0xf9, 0x5b,
+	0x04, 0xa4, 0x9a, 0xde, 0x23, 0xc4, 0x3e, 0x25, 0x1d, 0xf4, 0x2d, 0xd8, 0x19, 0xea, 0x86, 0xa5,
+	0x0d, 0x74, 0x47, 0xbb, 0x30, 0x4c, 0xac, 0x79, 0x8e, 0x21, 0x16, 0x5a, 0xdb, 0x52, 0x33, 0x4c,
+	0x75, 0xaa, 0x3b, 0xc7, 0x86, 0x89, 0xcf, 0x1d, 0x03, 0xbd, 0x03, 0xc0, 0x8d, 0xbb, 0xa6, 0x4e,
+	0x29, 0x5f, 0x3a, 0xb3, 0x92, 0x98, 0xac, 0xcc, 0x44, 0x08, 0x41, 0x54, 0x77, 0xfa, 0x34, 0x1b,
+	0xd9, 0x8d, 0xec, 0x49, 0x2a, 0x1f, 0x23, 0x05, 0xd2, 0xd3, 0xc1, 0x69, 0x36, 0xca, 0x95, 0xa9,
+	0xc1, 0x24, 0x2e, 0x45, 0xf7, 0x40, 0xba, 0xd6, 0xc7, 0xb8, 0x3e, 0x79, 0x11, 0x28, 0xdf, 0x85,
+	0x3b, 0xba, 0xd3, 0xbd, 0x34, 0x46, 0xbe, 0x3e, 0x2e, 0xfc, 0x7d, 0x19, 0x37, 0x69, 0x01, 0xd8,
+	0x0e, 0xb1, 0xb1, 0xe3, 0x1a, 0x98, 0x66, 0x13, 0x9c, 0x1b, 0x1f, 0x2c, 0xc7, 0x64, 0xb2, 0xfc,
+	0x7c, 0x73, 0xe2, 0x25, 0x28, 0x31, 0x15, 0x06, 0x35, 0x20, 0x63, 0x0a, 0xf0, 0xb4, 0x2e, 0x47,
+	0x2f, 0x9b, 0xdc, 0x0d, 0xed, 0xa5, 0x8a, 0xdf, 0xdc, 0x10, 0x6c, 0x35, 0x6d, 0x4e, 0x7f, 0xe6,
+	0x7e, 0x08, 0xdb, 0x73, 0xd3, 0xdd, 0x40, 0xac, 0xbb, 0xd3, 0xc4, 0x92, 0xa6, 0x98, 0x72, 0x94,
+	0x84, 0xb8, 0xe0, 0xab, 0xf2, 0xd7, 0x08, 0x24, 0x5b, 0xb6, 0xee, 0x3c, 0xff, 0xea, 0x00, 0xa8,
+	0xde, 0x00, 0x60, 0x71, 0xf9, 0x3e, 0x07, 0xab, 0xff, 0x72, 0xe2, 0xf7, 0x8f, 0x08, 0x40, 0x73,
+	0x3c, 0x41, 0xb0, 0x00, 0x77, 0x39, 0x28, 0xf6, 0xd8, 0xbd, 0x24, 0xd6, 0x1c, 0x88, 0x2a, 0x47,
+	0xb7, 0xc9, 0x55, 0x01, 0x8a, 0x01, 0x48, 0xe1, 0x29, 0x90, 0xf6, 0x40, 0x9e, 0xf3, 0x0f, 0x40,
+	0xcc, 0xd8, 0xd3, 0xce, 0x9f, 0x0f, 0x9c, 0xed, 0x1b, 0xe0, 0xfc, 0xee, 0xf2, 0x6d, 0xbf, 0xde,
+	0x8c, 0x2f, 0x11, 0xa0, 0xca, 0x7b, 0x20, 0x7d, 0xe2, 0x61, 0x67, 0x5c, 0x37, 0xa8, 0x8b, 0xb2,
+	0x90, 0xb8, 0xf2, 0xb0, 0xc3, 0x96, 0x1b, 0xe2, 0xfb, 0x11, 0x7c, 0x2a, 0xbf, 0x8a, 0x42, 0xa2,
+	0x66, 0x8c, 0x30, 0x83, 0xfa, 0x01, 0x64, 0x98, 0x78, 0xbc, 0x58, 0xa9, 0x77, 0xb8, 0x3c, 0x40,
+	0xb8, 0x02, 0x20, 0xec, 0x4c, 0x83, 0xba, 0x7c, 0xe6, 0x54, 0xf1, 0xfe, 0xf2, 0x55, 0x4e, 0xd2,
+	0x60, 0xc5, 0x7c, 0x35, 0xc9, 0x29, 0x0f, 0x5f, 0xeb, 0x12, 0xcb, 0x35, 0x2c, 0x0f, 0x6b, 0x8c,
+	0x18, 0xba, 0x61, 0x7a, 0x0e, 0xce, 0x46, 0x76, 0x43, 0x7b, 0x49, 0x75, 0x27, 0x50, 0x9d, 0x59,
+	0xc7, 0x42, 0x81, 0x74, 0x90, 0x69, 0xd7, 0x31, 0x6c, 0x57, 0x1b, 0xe9, 0x8e, 0xa1, 0x77, 0x4c,
+	0x2c, 0xc8, 0x91, 0x2a, 0x3e, 0x5a, 0xd1, 0x4b, 0xc5, 0xd2, 0xf2, 0x2d, 0xee, 0xf9, 0x34, 0x70,
+	0xf4, 0x4f, 0x58, 0x3a, 0x2b, 0x45, 0x9f, 0xcc, 0x10, 0x23, 0xc6, 0x83, 0xef, 0xaf, 0x0f, 0xbe,
+	0x8a, 0x15, 0x0b, 0x7c, 0x8e, 0x2f, 0xf0, 0x39, 0x77, 0x04, 0x77, 0x6f, 0xca, 0xef, 0x36, 0x70,
+	0xbf, 0x6e, 0xf9, 0x4b, 0x13, 0x82, 0x28, 0x7f, 0x89, 0x42, 0x8a, 0x13, 0xbe, 0x75, 0x65, 0x7e,
+	0xfe, 0xac, 0xc0, 0x37, 0xa0, 0x1c, 0xe1, 0x40, 0x1c, 0xac, 0x69, 0xb8, 0x22, 0xdd, 0x0d, 0x91,
+	0x3e, 0x9f, 0x41, 0x5a, 0xd0, 0xe8, 0x7b, 0x9b, 0x4d, 0x70, 0x2b, 0xb4, 0x1f, 0x2f, 0x76, 0xaf,
+	0xc5, 0x3e, 0x11, 0x7f, 0xad, 0x3e, 0xf1, 0xc5, 0x62, 0xcf, 0xbf, 0xa3, 0x10, 0x6f, 0x1a, 0xfd,
+	0x2f, 0x7e, 0x3b, 0x79, 0xb6, 0xb4, 0x9d, 0xac, 0xe0, 0x81, 0x58, 0xd9, 0x86, 0x1c, 0x6b, 0xde,
+	0xd0, 0x4d, 0xbe, 0xb3, 0x36, 0xf6, 0x6b, 0x36, 0x93, 0x1b, 0xe8, 0x95, 0xf8, 0x0a, 0xd1, 0xab,
+	0x0d, 0x77, 0x4e, 0x49, 0xa7, 0x69, 0xea, 0x5d, 0x3c, 0xc4, 0x96, 0xcb, 0x4e, 0xfb, 0xae, 0xe9,
+	0x51, 0x17, 0x3b, 0x9a, 0xa5, 0x0f, 0xb1, 0x1f, 0x2f, 0xe5, 0xcb, 0x1a, 0xfa, 0x10, 0x4f, 0x9b,
+	0x78, 0x9e, 0xd1, 0xf3, 0xc3, 0x07, 0x26, 0xe7, 0x9e, 0xd1, 0x53, 0xfe, 0x1e, 0x06, 0xe9, 0x94,
+	0x74, 0x5a, 0xae, 0xee, 0x7a, 0x14, 0x7d, 0x04, 0x31, 0xea, 0xea, 0xae, 0x08, 0x96, 0x29, 0xbe,
+	0xbf, 0x7c, 0xe3, 0x26, 0x3e, 0x79, 0xf6, 0x07, 0xab, 0xc2, 0x8f, 0x9d, 0xb6, 0x3d, 0xec, 0xea,
+	0x86, 0xe9, 0x5f, 0x62, 0xd5, 0xe0, 0x13, 0x55, 0x40, 0xe6, 0x26, 0x1a, 0x75, 0x75, 0xc7, 0xd5,
+	0xd8, 0xeb, 0xd2, 0xaf, 0xfe, 0x5c, 0x30, 0x4b, 0xf0, 0xf4, 0xcc, 0xb7, 0x83, 0xa7, 0xa7, 0x9a,
+	0xe1, 0x3e, 0x2d, 0xe6, 0xc2, 0x84, 0xca, 0xef, 0x42, 0x10, 0xe3, 0x13, 0xb2, 0x67, 0x59, 0xab,
+	0x5d, 0x6a, 0x57, 0xe7, 0x9e, 0x65, 0x29, 0x48, 0x34, 0xab, 0x8d, 0xca, 0x49, 0xe3, 0x89, 0x1c,
+	0x42, 0x19, 0x80, 0x56, 0xb5, 0x7d, 0xde, 0xd4, 0x2a, 0x67, 0x8d, 0xaa, 0x9c, 0x64, 0x4a, 0xf5,
+	0xbc, 0xd1, 0x60, 0xca, 0x30, 0x42, 0x90, 0x29, 0x97, 0x1a, 0xe5, 0x6a, 0x5d, 0x0b, 0x1c, 0x22,
+	0x53, 0xb2, 0x56, 0xbb, 0xa4, 0xb6, 0xab, 0x15, 0x39, 0x81, 0xd2, 0x20, 0x09, 0x59, 0xbd, 0x5a,
+	0x11, 0xcf, 0x39, 0x1e, 0x6d, 0xfa, 0x39, 0xa7, 0x54, 0x38, 0x36, 0x2a, 0xbe, 0xc0, 0x0e, 0xb6,
+	0xba, 0x18, 0xbd, 0xcd, 0xf9, 0x3f, 0xc0, 0x5d, 0x57, 0x33, 0x7a, 0x3e, 0x32, 0x92, 0x2f, 0x39,
+	0xe9, 0xa1, 0x37, 0x20, 0x3e, 0x20, 0x1d, 0x6d, 0x82, 0x48, 0x6c, 0x40, 0x3a, 0x27, 0x3d, 0xe5,
+	0xcf, 0x71, 0x88, 0xb0, 0xee, 0x51, 0x01, 0xc9, 0x09, 0x42, 0x71, 0xe7, 0x54, 0xf1, 0xc1, 0x4a,
+	0x24, 0x26, 0x13, 0xab, 0xd7, 0x8e, 0x2c, 0x8a, 0x1d, 0x90, 0xc5, 0x6f, 0x2d, 0xab, 0xa3, 0x4c,
+	0xa8, 0xa5, 0x5e, 0x3b, 0xb2, 0x0e, 0x75, 0xc9, 0x1f, 0x65, 0xda, 0x80, 0x74, 0x78, 0x4b, 0x59,
+	0xd9, 0xa1, 0x26, 0x0f, 0x38, 0xd6, 0xa1, 0x2e, 0x27, 0x8f, 0xd9, 0x12, 0x48, 0x94, 0x9d, 0x23,
+	0x3c, 0x48, 0x94, 0x07, 0x51, 0xd6, 0x3f, 0x22, 0x6a, 0x5b, 0x6a, 0x92, 0x06, 0x97, 0xf1, 0x27,
+	0x90, 0xb2, 0xc7, 0xd7, 0x41, 0x62, 0x3c, 0xc8, 0x37, 0x36, 0xb9, 0xba, 0xd6, 0xb6, 0x54, 0xf0,
+	0x5d, 0x59, 0xa0, 0x1f, 0x41, 0x92, 0x5f, 0x91, 0x59, 0x14, 0x41, 0xc0, 0x77, 0xd7, 0xde, 0x73,
+	0x6a, 0x5b, 0x6a, 0xe2, 0xd2, 0xbf, 0x2a, 0x1e, 0x42, 0xc2, 0x36, 0xfa, 0xdc, 0x5d, 0xb4, 0x97,
+	0xdd, 0x75, 0x8d, 0xad, 0xb6, 0xa5, 0xc6, 0x6d, 0x71, 0x30, 0xfc, 0x18, 0xd2, 0x62, 0x0d, 0xf4,
+	0xca, 0xe4, 0x21, 0xee, 0xf0, 0x10, 0xef, 0x6d, 0x74, 0xfe, 0xd6, 0xb6, 0xd4, 0x14, 0x9d, 0xba,
+	0x9e, 0x1c, 0x42, 0x9c, 0xf2, 0x1a, 0xf4, 0xaf, 0xdb, 0xf7, 0x37, 0x28, 0x57, 0xd5, 0x77, 0x41,
+	0xa7, 0x90, 0x11, 0x23, 0xed, 0xd2, 0xa0, 0x2e, 0x71, 0xc6, 0xd9, 0x34, 0x6f, 0xd3, 0x1b, 0x05,
+	0x49, 0x0b, 0xd7, 0x9a, 0xf0, 0x44, 0x87, 0x90, 0xf3, 0x7f, 0x08, 0x22, 0x9e, 0x6b, 0x7b, 0xae,
+	0xe6, 0x60, 0x4a, 0x3c, 0xa7, 0x2b, 0x8e, 0xbe, 0x1d, 0xce, 0xf1, 0xaf, 0x0b, 0x8b, 0x33, 0x6e,
+	0xa0, 0xfa, 0x7a, 0x76, 0x06, 0x7e, 0x08, 0x59, 0xdf, 0x99, 0x9d, 0x54, 0x0e, 0x31, 0x79, 0x93,
+	0xa7, 0xdc, 0x75, 0x9b, 0xbb, 0xbe, 0x21, 0xf4, 0x65, 0xa1, 0x66, 0xed, 0x9e, 0x9e, 0x3b, 0xc6,
+	0x11, 0x40, 0xd2, 0x1d, 0xdb, 0x1c, 0x48, 0xe5, 0x05, 0xc8, 0x2d, 0xaf, 0x33, 0x34, 0x5c, 0x5e,
+	0x0d, 0x57, 0x1e, 0xa6, 0xee, 0xba, 0x22, 0x7c, 0x13, 0xe2, 0x0e, 0xee, 0x1b, 0xc4, 0xe2, 0xac,
+	0x96, 0x54, 0xff, 0x0b, 0x15, 0x20, 0xc2, 0x80, 0x11, 0x15, 0xf3, 0xf6, 0xea, 0xba, 0x63, 0x96,
+	0xca, 0xcf, 0x21, 0xfd, 0x04, 0xff, 0x1f, 0x26, 0x5e, 0xd2, 0x15, 0xfe, 0x19, 0x86, 0x6d, 0x76,
+	0xcc, 0x9f, 0x92, 0x0e, 0xbd, 0xf5, 0x0c, 0xf1, 0x99, 0x19, 0xee, 0x81, 0x64, 0xeb, 0x7d, 0xac,
+	0x51, 0xe3, 0x85, 0x38, 0x6b, 0x62, 0x6a, 0x92, 0x09, 0x5a, 0xc6, 0x0b, 0xd1, 0xb3, 0x98, 0xd2,
+	0x25, 0xcf, 0x71, 0x90, 0x1a, 0x37, 0x6f, 0x33, 0xc1, 0xc2, 0x71, 0x13, 0x5d, 0x3c, 0x6e, 0x30,
+	0xec, 0xb0, 0x05, 0x88, 0x36, 0x3f, 0xd4, 0xdd, 0xee, 0x25, 0x76, 0x78, 0xa1, 0x66, 0x8a, 0xdf,
+	0x5f, 0x71, 0x04, 0xcf, 0xae, 0x2d, 0x60, 0x19, 0xfe, 0x89, 0x08, 0xa0, 0x6e, 0x0f, 0x66, 0x05,
+	0xca, 0x23, 0xd8, 0x9e, 0xb3, 0x09, 0x7e, 0x8c, 0xdb, 0x42, 0x00, 0xf1, 0x52, 0xb9, 0x7d, 0xf2,
+	0xb4, 0x2a, 0xba, 0x7f, 0xe3, 0xac, 0xa1, 0xf9, 0xdf, 0x61, 0x65, 0x08, 0xf2, 0xf5, 0x5c, 0xd4,
+	0x26, 0x16, 0xc5, 0x68, 0x1f, 0xa2, 0x03, 0xd2, 0x11, 0x4f, 0xc3, 0xb5, 0x68, 0x73, 0x53, 0xf4,
+	0x00, 0xb6, 0x2d, 0xfc, 0x0b, 0x57, 0x9b, 0xda, 0x2c, 0x81, 0x57, 0x9a, 0x89, 0x9b, 0xc1, 0x86,
+	0x29, 0xcf, 0x40, 0x2e, 0xeb, 0x56, 0x17, 0x9b, 0x9f, 0x19, 0x33, 0x9e, 0x81, 0x5c, 0xc1, 0x26,
+	0x76, 0xf1, 0x67, 0x35, 0x43, 0xf1, 0xf7, 0x71, 0x48, 0x9f, 0x92, 0x8e, 0x5f, 0x79, 0x26, 0x76,
+	0xd0, 0x1f, 0x42, 0x20, 0x4d, 0x2a, 0x0d, 0x3d, 0x5c, 0xd1, 0xb7, 0xe6, 0xca, 0x31, 0xb7, 0x7a,
+	0x73, 0x95, 0xd2, 0x2f, 0xff, 0xf5, 0xdf, 0xdf, 0x86, 0x0f, 0x95, 0x47, 0x85, 0xd1, 0x7e, 0xc1,
+	0x4f, 0x98, 0x16, 0x5e, 0x5e, 0x2f, 0xe6, 0x55, 0x41, 0xe4, 0x4a, 0x0b, 0x2f, 0xc5, 0xe0, 0x15,
+	0xff, 0x4d, 0xfc, 0x80, 0xf2, 0x89, 0x0e, 0x42, 0x0f, 0xd1, 0x6f, 0x42, 0x10, 0x17, 0x95, 0x88,
+	0x56, 0x5c, 0xf9, 0x66, 0x6a, 0x75, 0x5d, 0x56, 0x1f, 0xf3, 0xac, 0x0e, 0xd0, 0xe3, 0x5b, 0x66,
+	0x55, 0x78, 0x29, 0xb6, 0xf3, 0x15, 0xfa, 0x63, 0x08, 0x92, 0x01, 0xed, 0xd0, 0xfb, 0x1b, 0x97,
+	0x41, 0xee, 0xe1, 0x26, 0xa6, 0x82, 0xc5, 0xca, 0x87, 0x3c, 0xcb, 0x7d, 0x54, 0xb8, 0x65, 0x96,
+	0xe8, 0x4f, 0x21, 0x90, 0x26, 0x24, 0x5d, 0x85, 0xe6, 0x3c, 0x93, 0xd7, 0xed, 0xdb, 0x29, 0xcf,
+	0xa8, 0xa2, 0x7c, 0xf4, 0x69, 0xf7, 0xed, 0xa0, 0xcb, 0x67, 0x64, 0xb0, 0xfe, 0x3a, 0x04, 0xd2,
+	0x84, 0xe7, 0xab, 0x92, 0x9c, 0x2f, 0x86, 0xdc, 0x9b, 0x0b, 0x37, 0xcb, 0xea, 0xd0, 0x76, 0xc7,
+	0x01, 0xaa, 0x0f, 0x3f, 0x35, 0xaa, 0x47, 0x43, 0x78, 0xab, 0x4b, 0x86, 0x4b, 0x53, 0x39, 0x62,
+	0x77, 0x6a, 0xda, 0x64, 0xb3, 0x36, 0x43, 0x3f, 0xfb, 0xd8, 0x37, 0xeb, 0x13, 0x53, 0xb7, 0xfa,
+	0x79, 0xe2, 0xf4, 0x0b, 0x7d, 0x6c, 0xf1, 0x9c, 0x0a, 0x42, 0xa5, 0xdb, 0x06, 0x5d, 0xfc, 0x9f,
+	0xcf, 0x61, 0x30, 0xee, 0xc4, 0xb9, 0xf1, 0x07, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xaf, 0x59,
+	0x9b, 0xa1, 0x1f, 0x1a, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/dataproc/v1/jobs.proto b/googleapis/cloud/dataproc/v1/jobs.proto
deleted file mode 100644
index 303804ed1a849396ec0f1fdc7e7bbf80c8b61487..0000000000000000000000000000000000000000
--- a/googleapis/cloud/dataproc/v1/jobs.proto
+++ /dev/null
@@ -1,572 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.dataproc.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "JobsProto";
-option java_package = "com.google.cloud.dataproc.v1";
-
-
-// The JobController provides methods to manage jobs.
-service JobController {
-  // Submits a job to a cluster.
-  rpc SubmitJob(SubmitJobRequest) returns (Job) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}/regions/{region}/jobs:submit" body: "*" };
-  }
-
-  // Gets the resource representation for a job in a project.
-  rpc GetJob(GetJobRequest) returns (Job) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/regions/{region}/jobs/{job_id}" };
-  }
-
-  // Lists regions/{region}/jobs in a project.
-  rpc ListJobs(ListJobsRequest) returns (ListJobsResponse) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/regions/{region}/jobs" };
-  }
-
-  // Starts a job cancellation request. To access the job resource
-  // after cancellation, call
-  // [regions/{region}/jobs.list](/dataproc/reference/rest/v1/projects.regions.jobs/list) or
-  // [regions/{region}/jobs.get](/dataproc/reference/rest/v1/projects.regions.jobs/get).
-  rpc CancelJob(CancelJobRequest) returns (Job) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}/regions/{region}/jobs/{job_id}:cancel" body: "*" };
-  }
-
-  // Deletes the job from the project. If the job is active, the delete fails,
-  // and the response returns `FAILED_PRECONDITION`.
-  rpc DeleteJob(DeleteJobRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/projects/{project_id}/regions/{region}/jobs/{job_id}" };
-  }
-}
-
-// The runtime logging config of the job.
-message LoggingConfig {
-  // The Log4j level for job execution. When running an
-  // [Apache Hive](http://hive.apache.org/) job, Cloud
-  // Dataproc configures the Hive client to an equivalent verbosity level.
-  enum Level {
-    // Level is unspecified. Use default level for log4j.
-    LEVEL_UNSPECIFIED = 0;
-
-    // Use ALL level for log4j.
-    ALL = 1;
-
-    // Use TRACE level for log4j.
-    TRACE = 2;
-
-    // Use DEBUG level for log4j.
-    DEBUG = 3;
-
-    // Use INFO level for log4j.
-    INFO = 4;
-
-    // Use WARN level for log4j.
-    WARN = 5;
-
-    // Use ERROR level for log4j.
-    ERROR = 6;
-
-    // Use FATAL level for log4j.
-    FATAL = 7;
-
-    // Turn off log4j.
-    OFF = 8;
-  }
-
-  // The per-package log levels for the driver. This may include
-  // "root" package name to configure rootLogger.
-  // Examples:
-  //   'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'
-  map<string, Level> driver_log_levels = 2;
-}
-
-// A Cloud Dataproc job for running
-// [Apache Hadoop MapReduce](https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html)
-// jobs on [Apache Hadoop YARN](https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html).
-message HadoopJob {
-  // [Required] Indicates the location of the driver's main class. Specify
-  // either the jar file that contains the main class or the main class name.
-  // To specify both, add the jar file to `jar_file_uris`, and then specify
-  // the main class name in this property.
-  oneof driver {
-    // The HCFS URI of the jar file containing the main class.
-    // Examples:
-    //     'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar'
-    //     'hdfs:/tmp/test-samples/custom-wordcount.jar'
-    //     'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'
-    string main_jar_file_uri = 1;
-
-    // The name of the driver's main class. The jar file containing the class
-    // must be in the default CLASSPATH or specified in `jar_file_uris`.
-    string main_class = 2;
-  }
-
-  // [Optional] The arguments to pass to the driver. Do not
-  // include arguments, such as `-libjars` or `-Dfoo=bar`, that can be set as job
-  // properties, since a collision may occur that causes an incorrect job
-  // submission.
-  repeated string args = 3;
-
-  // [Optional] Jar file URIs to add to the CLASSPATHs of the
-  // Hadoop driver and tasks.
-  repeated string jar_file_uris = 4;
-
-  // [Optional] HCFS (Hadoop Compatible Filesystem) URIs of files to be copied
-  // to the working directory of Hadoop drivers and distributed tasks. Useful
-  // for naively parallel tasks.
-  repeated string file_uris = 5;
-
-  // [Optional] HCFS URIs of archives to be extracted in the working directory of
-  // Hadoop drivers and tasks. Supported file types:
-  // .jar, .tar, .tar.gz, .tgz, or .zip.
-  repeated string archive_uris = 6;
-
-  // [Optional] A mapping of property names to values, used to configure Hadoop.
-  // Properties that conflict with values set by the Cloud Dataproc API may be
-  // overwritten. Can include properties set in /etc/hadoop/conf/*-site and
-  // classes in user code.
-  map<string, string> properties = 7;
-
-  // [Optional] The runtime log config for job execution.
-  LoggingConfig logging_config = 8;
-}
-
-// A Cloud Dataproc job for running [Apache Spark](http://spark.apache.org/)
-// applications on YARN.
-message SparkJob {
-  // [Required] The specification of the main method to call to drive the job.
-  // Specify either the jar file that contains the main class or the main class
-  // name. To pass both a main jar and a main class in that jar, add the jar to
-  // `CommonJob.jar_file_uris`, and then specify the main class name in `main_class`.
-  oneof driver {
-    // The HCFS URI of the jar file that contains the main class.
-    string main_jar_file_uri = 1;
-
-    // The name of the driver's main class. The jar file that contains the class
-    // must be in the default CLASSPATH or specified in `jar_file_uris`.
-    string main_class = 2;
-  }
-
-  // [Optional] The arguments to pass to the driver. Do not include arguments,
-  // such as `--conf`, that can be set as job properties, since a collision may
-  // occur that causes an incorrect job submission.
-  repeated string args = 3;
-
-  // [Optional] HCFS URIs of jar files to add to the CLASSPATHs of the
-  // Spark driver and tasks.
-  repeated string jar_file_uris = 4;
-
-  // [Optional] HCFS URIs of files to be copied to the working directory of
-  // Spark drivers and distributed tasks. Useful for naively parallel tasks.
-  repeated string file_uris = 5;
-
-  // [Optional] HCFS URIs of archives to be extracted in the working directory
-  // of Spark drivers and tasks. Supported file types:
-  // .jar, .tar, .tar.gz, .tgz, and .zip.
-  repeated string archive_uris = 6;
-
-  // [Optional] A mapping of property names to values, used to configure Spark.
-  // Properties that conflict with values set by the Cloud Dataproc API may be
-  // overwritten. Can include properties set in
-  // /etc/spark/conf/spark-defaults.conf and classes in user code.
-  map<string, string> properties = 7;
-
-  // [Optional] The runtime log config for job execution.
-  LoggingConfig logging_config = 8;
-}
-
-// A Cloud Dataproc job for running
-// [Apache PySpark](https://spark.apache.org/docs/0.9.0/python-programming-guide.html)
-// applications on YARN.
-message PySparkJob {
-  // [Required] The HCFS URI of the main Python file to use as the driver. Must
-  // be a .py file.
-  string main_python_file_uri = 1;
-
-  // [Optional] The arguments to pass to the driver.  Do not include arguments,
-  // such as `--conf`, that can be set as job properties, since a collision may
-  // occur that causes an incorrect job submission.
-  repeated string args = 2;
-
-  // [Optional] HCFS file URIs of Python files to pass to the PySpark
-  // framework. Supported file types: .py, .egg, and .zip.
-  repeated string python_file_uris = 3;
-
-  // [Optional] HCFS URIs of jar files to add to the CLASSPATHs of the
-  // Python driver and tasks.
-  repeated string jar_file_uris = 4;
-
-  // [Optional] HCFS URIs of files to be copied to the working directory of
-  // Python drivers and distributed tasks. Useful for naively parallel tasks.
-  repeated string file_uris = 5;
-
-  // [Optional] HCFS URIs of archives to be extracted in the working directory of
-  // .jar, .tar, .tar.gz, .tgz, and .zip.
-  repeated string archive_uris = 6;
-
-  // [Optional] A mapping of property names to values, used to configure PySpark.
-  // Properties that conflict with values set by the Cloud Dataproc API may be
-  // overwritten. Can include properties set in
-  // /etc/spark/conf/spark-defaults.conf and classes in user code.
-  map<string, string> properties = 7;
-
-  // [Optional] The runtime log config for job execution.
-  LoggingConfig logging_config = 8;
-}
-
-// A list of queries to run on a cluster.
-message QueryList {
-  // [Required] The queries to execute. You do not need to terminate a query
-  // with a semicolon. Multiple queries can be specified in one string
-  // by separating each with a semicolon. Here is an example of an Cloud
-  // Dataproc API snippet that uses a QueryList to specify a HiveJob:
-  //
-  //     "hiveJob": {
-  //       "queryList": {
-  //         "queries": [
-  //           "query1",
-  //           "query2",
-  //           "query3;query4",
-  //         ]
-  //       }
-  //     }
-  repeated string queries = 1;
-}
-
-// A Cloud Dataproc job for running [Apache Hive](https://hive.apache.org/)
-// queries on YARN.
-message HiveJob {
-  // [Required] The sequence of Hive queries to execute, specified as either
-  // an HCFS file URI or a list of queries.
-  oneof queries {
-    // The HCFS URI of the script that contains Hive queries.
-    string query_file_uri = 1;
-
-    // A list of queries.
-    QueryList query_list = 2;
-  }
-
-  // [Optional] Whether to continue executing queries if a query fails.
-  // The default value is `false`. Setting to `true` can be useful when executing
-  // independent parallel queries.
-  bool continue_on_failure = 3;
-
-  // [Optional] Mapping of query variable names to values (equivalent to the
-  // Hive command: `SET name="value";`).
-  map<string, string> script_variables = 4;
-
-  // [Optional] A mapping of property names and values, used to configure Hive.
-  // Properties that conflict with values set by the Cloud Dataproc API may be
-  // overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml,
-  // /etc/hive/conf/hive-site.xml, and classes in user code.
-  map<string, string> properties = 5;
-
-  // [Optional] HCFS URIs of jar files to add to the CLASSPATH of the
-  // Hive server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes
-  // and UDFs.
-  repeated string jar_file_uris = 6;
-}
-
-// A Cloud Dataproc job for running [Apache Spark SQL](http://spark.apache.org/sql/)
-// queries.
-message SparkSqlJob {
-  // [Required] The sequence of Spark SQL queries to execute, specified as
-  // either an HCFS file URI or as a list of queries.
-  oneof queries {
-    // The HCFS URI of the script that contains SQL queries.
-    string query_file_uri = 1;
-
-    // A list of queries.
-    QueryList query_list = 2;
-  }
-
-  // [Optional] Mapping of query variable names to values (equivalent to the
-  // Spark SQL command: SET `name="value";`).
-  map<string, string> script_variables = 3;
-
-  // [Optional] A mapping of property names to values, used to configure
-  // Spark SQL's SparkConf. Properties that conflict with values set by the
-  // Cloud Dataproc API may be overwritten.
-  map<string, string> properties = 4;
-
-  // [Optional] HCFS URIs of jar files to be added to the Spark CLASSPATH.
-  repeated string jar_file_uris = 56;
-
-  // [Optional] The runtime log config for job execution.
-  LoggingConfig logging_config = 6;
-}
-
-// A Cloud Dataproc job for running [Apache Pig](https://pig.apache.org/)
-// queries on YARN.
-message PigJob {
-  // [Required] The sequence of Pig queries to execute, specified as an HCFS
-  // file URI or a list of queries.
-  oneof queries {
-    // The HCFS URI of the script that contains the Pig queries.
-    string query_file_uri = 1;
-
-    // A list of queries.
-    QueryList query_list = 2;
-  }
-
-  // [Optional] Whether to continue executing queries if a query fails.
-  // The default value is `false`. Setting to `true` can be useful when executing
-  // independent parallel queries.
-  bool continue_on_failure = 3;
-
-  // [Optional] Mapping of query variable names to values (equivalent to the Pig
-  // command: `name=[value]`).
-  map<string, string> script_variables = 4;
-
-  // [Optional] A mapping of property names to values, used to configure Pig.
-  // Properties that conflict with values set by the Cloud Dataproc API may be
-  // overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml,
-  // /etc/pig/conf/pig.properties, and classes in user code.
-  map<string, string> properties = 5;
-
-  // [Optional] HCFS URIs of jar files to add to the CLASSPATH of
-  // the Pig Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs.
-  repeated string jar_file_uris = 6;
-
-  // [Optional] The runtime log config for job execution.
-  LoggingConfig logging_config = 7;
-}
-
-// Cloud Dataproc job config.
-message JobPlacement {
-  // [Required] The name of the cluster where the job will be submitted.
-  string cluster_name = 1;
-
-  // [Output-only] A cluster UUID generated by the Cloud Dataproc service when
-  // the job is submitted.
-  string cluster_uuid = 2;
-}
-
-// Cloud Dataproc job status.
-message JobStatus {
-  // The job state.
-  enum State {
-    // The job state is unknown.
-    STATE_UNSPECIFIED = 0;
-
-    // The job is pending; it has been submitted, but is not yet running.
-    PENDING = 1;
-
-    // Job has been received by the service and completed initial setup;
-    // it will soon be submitted to the cluster.
-    SETUP_DONE = 8;
-
-    // The job is running on the cluster.
-    RUNNING = 2;
-
-    // A CancelJob request has been received, but is pending.
-    CANCEL_PENDING = 3;
-
-    // Transient in-flight resources have been canceled, and the request to
-    // cancel the running job has been issued to the cluster.
-    CANCEL_STARTED = 7;
-
-    // The job cancellation was successful.
-    CANCELLED = 4;
-
-    // The job has completed successfully.
-    DONE = 5;
-
-    // The job has completed, but encountered an error.
-    ERROR = 6;
-  }
-
-  // [Output-only] A state message specifying the overall job state.
-  State state = 1;
-
-  // [Output-only] Optional job state details, such as an error
-  // description if the state is <code>ERROR</code>.
-  string details = 2;
-
-  // [Output-only] The time when this state was entered.
-  google.protobuf.Timestamp state_start_time = 6;
-}
-
-// Encapsulates the full scoping used to reference a job.
-message JobReference {
-  // [Required] The ID of the Google Cloud Platform project that the job
-  // belongs to.
-  string project_id = 1;
-
-  // [Optional] The job ID, which must be unique within the project. The job ID
-  // is generated by the server upon job submission or provided by the user as a
-  // means to perform retries without creating duplicate jobs. The ID must
-  // contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or
-  // hyphens (-). The maximum length is 512 characters.
-  string job_id = 2;
-}
-
-// A Cloud Dataproc job resource.
-message Job {
-  // [Optional] The fully qualified reference to the job, which can be used to
-  // obtain the equivalent REST path of the job resource. If this property
-  // is not specified when a job is created, the server generates a
-  // <code>job_id</code>.
-  JobReference reference = 1;
-
-  // [Required] Job information, including how, when, and where to
-  // run the job.
-  JobPlacement placement = 2;
-
-  // [Required] The application/framework-specific portion of the job.
-  oneof type_job {
-    // Job is a Hadoop job.
-    HadoopJob hadoop_job = 3;
-
-    // Job is a Spark job.
-    SparkJob spark_job = 4;
-
-    // Job is a Pyspark job.
-    PySparkJob pyspark_job = 5;
-
-    // Job is a Hive job.
-    HiveJob hive_job = 6;
-
-    // Job is a Pig job.
-    PigJob pig_job = 7;
-
-    // Job is a SparkSql job.
-    SparkSqlJob spark_sql_job = 12;
-  }
-
-  // [Output-only] The job status. Additional application-specific
-  // status information may be contained in the <code>type_job</code>
-  // and <code>yarn_applications</code> fields.
-  JobStatus status = 8;
-
-  // [Output-only] The previous job status.
-  repeated JobStatus status_history = 13;
-
-  // [Output-only] A URI pointing to the location of the stdout of the job's
-  // driver program.
-  string driver_output_resource_uri = 17;
-
-  // [Output-only] If present, the location of miscellaneous control files
-  // which may be used as part of job setup and handling. If not present,
-  // control files may be placed in the same location as `driver_output_uri`.
-  string driver_control_files_uri = 15;
-}
-
-// A request to submit a job.
-message SubmitJobRequest {
-  // [Required] The ID of the Google Cloud Platform project that the job
-  // belongs to.
-  string project_id = 1;
-
-  // [Required] The Cloud Dataproc region in which to handle the request.
-  string region = 3;
-
-  // [Required] The job resource.
-  Job job = 2;
-}
-
-// A request to get the resource representation for a job in a project.
-message GetJobRequest {
-  // [Required] The ID of the Google Cloud Platform project that the job
-  // belongs to.
-  string project_id = 1;
-
-  // [Required] The Cloud Dataproc region in which to handle the request.
-  string region = 3;
-
-  // [Required] The job ID.
-  string job_id = 2;
-}
-
-// A request to list jobs in a project.
-message ListJobsRequest {
-  // A matcher that specifies categories of job states.
-  enum JobStateMatcher {
-    // Match all jobs, regardless of state.
-    ALL = 0;
-
-    // Only match jobs in non-terminal states: PENDING, RUNNING, or
-    // CANCEL_PENDING.
-    ACTIVE = 1;
-
-    // Only match jobs in terminal states: CANCELLED, DONE, or ERROR.
-    NON_ACTIVE = 2;
-  }
-
-  // [Required] The ID of the Google Cloud Platform project that the job
-  // belongs to.
-  string project_id = 1;
-
-  // [Required] The Cloud Dataproc region in which to handle the request.
-  string region = 6;
-
-  // [Optional] The number of results to return in each response.
-  int32 page_size = 2;
-
-  // [Optional] The page token, returned by a previous call, to request the
-  // next page of results.
-  string page_token = 3;
-
-  // [Optional] If set, the returned jobs list includes only jobs that were
-  // submitted to the named cluster.
-  string cluster_name = 4;
-
-  // [Optional] Specifies enumerated categories of jobs to list
-  // (default = match ALL jobs).
-  JobStateMatcher job_state_matcher = 5;
-}
-
-// A list of jobs in a project.
-message ListJobsResponse {
-  // [Output-only] Jobs list.
-  repeated Job jobs = 1;
-
-  // [Optional] This token is included in the response if there are more results
-  // to fetch. To fetch additional results, provide this value as the
-  // `page_token` in a subsequent <code>ListJobsRequest</code>.
-  string next_page_token = 2;
-}
-
-// A request to cancel a job.
-message CancelJobRequest {
-  // [Required] The ID of the Google Cloud Platform project that the job
-  // belongs to.
-  string project_id = 1;
-
-  // [Required] The Cloud Dataproc region in which to handle the request.
-  string region = 3;
-
-  // [Required] The job ID.
-  string job_id = 2;
-}
-
-// A request to delete a job.
-message DeleteJobRequest {
-  // [Required] The ID of the Google Cloud Platform project that the job
-  // belongs to.
-  string project_id = 1;
-
-  // [Required] The Cloud Dataproc region in which to handle the request.
-  string region = 3;
-
-  // [Required] The job ID.
-  string job_id = 2;
-}
diff --git a/googleapis/cloud/dataproc/v1/operations.pb.go b/googleapis/cloud/dataproc/v1/operations.pb.go
index 803d92afeedc0573f910a9f8ee8fb6da7a17f49e..f29c49a47472fa4c2f6166042710ce0ab7fa9856 100644
--- a/googleapis/cloud/dataproc/v1/operations.pb.go
+++ b/googleapis/cloud/dataproc/v1/operations.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/dataproc/v1/operations.proto
+// source: google/cloud/dataproc/v1/operations.proto
 // DO NOT EDIT!
 
-package google_cloud_dataproc_v1 // import "google.golang.org/genproto/googleapis/cloud/dataproc/v1"
+package dataproc
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import _ "google.golang.org/genproto/googleapis/longrunning"
 import _ "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
@@ -68,6 +68,27 @@ func (m *ClusterOperationStatus) String() string            { return proto.Compa
 func (*ClusterOperationStatus) ProtoMessage()               {}
 func (*ClusterOperationStatus) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
+func (m *ClusterOperationStatus) GetState() ClusterOperationStatus_State {
+	if m != nil {
+		return m.State
+	}
+	return ClusterOperationStatus_UNKNOWN
+}
+
+func (m *ClusterOperationStatus) GetInnerState() string {
+	if m != nil {
+		return m.InnerState
+	}
+	return ""
+}
+
+func (m *ClusterOperationStatus) GetDetails() string {
+	if m != nil {
+		return m.Details
+	}
+	return ""
+}
+
 func (m *ClusterOperationStatus) GetStateStartTime() *google_protobuf3.Timestamp {
 	if m != nil {
 		return m.StateStartTime
@@ -96,6 +117,20 @@ func (m *ClusterOperationMetadata) String() string            { return proto.Com
 func (*ClusterOperationMetadata) ProtoMessage()               {}
 func (*ClusterOperationMetadata) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
 
+func (m *ClusterOperationMetadata) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
+func (m *ClusterOperationMetadata) GetClusterUuid() string {
+	if m != nil {
+		return m.ClusterUuid
+	}
+	return ""
+}
+
 func (m *ClusterOperationMetadata) GetStatus() *ClusterOperationStatus {
 	if m != nil {
 		return m.Status
@@ -110,48 +145,58 @@ func (m *ClusterOperationMetadata) GetStatusHistory() []*ClusterOperationStatus
 	return nil
 }
 
+func (m *ClusterOperationMetadata) GetOperationType() string {
+	if m != nil {
+		return m.OperationType
+	}
+	return ""
+}
+
+func (m *ClusterOperationMetadata) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*ClusterOperationStatus)(nil), "google.cloud.dataproc.v1.ClusterOperationStatus")
 	proto.RegisterType((*ClusterOperationMetadata)(nil), "google.cloud.dataproc.v1.ClusterOperationMetadata")
 	proto.RegisterEnum("google.cloud.dataproc.v1.ClusterOperationStatus_State", ClusterOperationStatus_State_name, ClusterOperationStatus_State_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/dataproc/v1/operations.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/cloud/dataproc/v1/operations.proto", fileDescriptor2) }
 
 var fileDescriptor2 = []byte{
-	// 497 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x52, 0xdd, 0x6a, 0xdb, 0x30,
-	0x18, 0x9d, 0x93, 0xb6, 0x69, 0xe5, 0x36, 0x0b, 0xba, 0x18, 0x22, 0x0c, 0x96, 0x05, 0x06, 0xb9,
-	0xb2, 0x96, 0x16, 0xc6, 0x60, 0x77, 0x59, 0xca, 0x52, 0xb6, 0x39, 0x21, 0x6d, 0xe8, 0x65, 0x50,
-	0x6c, 0x55, 0x15, 0xd8, 0x92, 0x90, 0xe4, 0x40, 0x1e, 0x67, 0xef, 0xb3, 0x87, 0x1a, 0x92, 0xe2,
-	0x2c, 0xfb, 0x29, 0xeb, 0x7a, 0x63, 0xeb, 0xfb, 0x39, 0xe7, 0x3b, 0xe7, 0x93, 0xc0, 0x84, 0x49,
-	0xc9, 0x0a, 0x9a, 0x30, 0x59, 0x10, 0xc1, 0x12, 0xa9, 0x19, 0x66, 0x54, 0x28, 0x2d, 0xad, 0xc4,
-	0xa1, 0x44, 0x14, 0x37, 0x38, 0x2b, 0x64, 0x95, 0xe3, 0x9c, 0x58, 0xa2, 0xb4, 0xcc, 0xf0, 0x7a,
-	0x88, 0xa5, 0xa2, 0x9a, 0x58, 0x2e, 0x85, 0x49, 0x7c, 0x37, 0x44, 0x5b, 0x26, 0xdf, 0x9a, 0xd4,
-	0xad, 0xc9, 0x7a, 0xd8, 0xbd, 0x7a, 0xdc, 0x0c, 0xa2, 0x38, 0x36, 0x54, 0xaf, 0x79, 0x46, 0x33,
-	0x29, 0xee, 0x38, 0xc3, 0x44, 0x08, 0x69, 0xf7, 0x87, 0x74, 0x47, 0x8f, 0xa3, 0x2a, 0xa4, 0x60,
-	0xba, 0x12, 0x82, 0x0b, 0xf6, 0x87, 0xd0, 0xee, 0x05, 0xe3, 0xf6, 0xbe, 0x5a, 0x25, 0x99, 0x2c,
-	0x71, 0xe0, 0xc1, 0xbe, 0xb0, 0xaa, 0xee, 0xb0, 0xb2, 0x1b, 0x45, 0x0d, 0xa6, 0xa5, 0xb2, 0x9b,
-	0xf0, 0xdd, 0x82, 0x3e, 0xfc, 0x1b, 0x64, 0x79, 0x49, 0x8d, 0x25, 0xa5, 0xfa, 0x79, 0x0a, 0xe0,
-	0xfe, 0xb7, 0x06, 0x78, 0xf1, 0xb1, 0xa8, 0x8c, 0xa5, 0x7a, 0x5a, 0xab, 0xb9, 0xb6, 0xc4, 0x56,
-	0x06, 0x7e, 0x01, 0x87, 0xc6, 0x12, 0x4b, 0x51, 0xd4, 0x8b, 0x06, 0xed, 0xf3, 0x77, 0xc9, 0x43,
-	0x5b, 0x4c, 0xfe, 0x4e, 0x90, 0xb8, 0x1f, 0x9d, 0x07, 0x12, 0xf8, 0x0a, 0xc4, 0x5c, 0x08, 0xaa,
-	0x97, 0x81, 0xb3, 0xd1, 0x8b, 0x06, 0x27, 0x73, 0xe0, 0x53, 0xbe, 0x0f, 0x22, 0xd0, 0xca, 0xa9,
-	0x25, 0xbc, 0x30, 0xa8, 0xe9, 0x8b, 0x75, 0x08, 0xc7, 0xa0, 0xe3, 0x41, 0x0e, 0xaa, 0xed, 0xd2,
-	0x59, 0x40, 0x07, 0xbd, 0x68, 0x10, 0x9f, 0x77, 0x6b, 0x4d, 0xb5, 0xe1, 0xe4, 0xa6, 0xf6, 0x37,
-	0x6f, 0x7b, 0xcc, 0xb5, 0x83, 0xb8, 0x64, 0xff, 0x3d, 0x38, 0x0c, 0x83, 0x62, 0xd0, 0x5a, 0xa4,
-	0x9f, 0xd3, 0xe9, 0x6d, 0xda, 0x79, 0xe6, 0x82, 0xd9, 0x65, 0x3a, 0xbe, 0x4a, 0x3f, 0x75, 0x22,
-	0x17, 0xcc, 0x17, 0x69, 0xea, 0x82, 0x06, 0x3c, 0x06, 0x07, 0xe3, 0x69, 0x7a, 0xd9, 0x69, 0xf6,
-	0xbf, 0x37, 0x00, 0xfa, 0xdd, 0xe2, 0x57, 0x6a, 0x89, 0x5b, 0x01, 0x7c, 0x0d, 0x4e, 0xb3, 0x50,
-	0x5b, 0x0a, 0x52, 0x52, 0xd4, 0xf2, 0xda, 0xe3, 0x6d, 0x2e, 0x25, 0x25, 0xdd, 0x6f, 0xa9, 0x2a,
-	0x9e, 0xa3, 0xe3, 0x5f, 0x5a, 0x16, 0x15, 0xcf, 0xe1, 0x04, 0x1c, 0x19, 0xbf, 0x34, 0x74, 0xe2,
-	0x8d, 0xbd, 0xfd, 0xdf, 0x65, 0xcf, 0xb7, 0x78, 0x78, 0x0b, 0xda, 0xe1, 0xb4, 0xbc, 0xe7, 0xc6,
-	0x4a, 0xbd, 0x41, 0xa0, 0xd7, 0x7c, 0x12, 0xe3, 0x59, 0xe0, 0x99, 0x04, 0x1a, 0xf8, 0x06, 0xb4,
-	0x77, 0xef, 0x75, 0xe9, 0x9e, 0x15, 0x8a, 0xbd, 0x8f, 0xb3, 0x5d, 0xf6, 0x66, 0xa3, 0x28, 0xec,
-	0x81, 0x38, 0xa7, 0x26, 0xd3, 0x5c, 0xb9, 0x14, 0x3a, 0x0d, 0x5e, 0xf7, 0x52, 0xa3, 0x21, 0x78,
-	0x99, 0xc9, 0xf2, 0x41, 0x39, 0xa3, 0xe7, 0x3b, 0x21, 0x66, 0xe6, 0xae, 0x75, 0x16, 0xad, 0x8e,
-	0xfc, 0xfd, 0x5e, 0xfc, 0x08, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x53, 0x8b, 0x67, 0x13, 0x04, 0x00,
-	0x00,
+	// 479 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0x4f, 0x6f, 0xd3, 0x30,
+	0x14, 0x27, 0xed, 0xb6, 0x6e, 0xce, 0x56, 0x2a, 0x1f, 0x90, 0x55, 0x26, 0x2d, 0x14, 0x21, 0x95,
+	0x4b, 0xc2, 0x86, 0x84, 0x90, 0xb8, 0xa0, 0xd1, 0x89, 0x21, 0xc0, 0xad, 0xb2, 0x55, 0x93, 0xb8,
+	0x44, 0x5e, 0x62, 0x82, 0xa5, 0xc4, 0xb6, 0x6c, 0x67, 0x52, 0x3f, 0x0e, 0xdf, 0x87, 0x0f, 0x85,
+	0x6c, 0x27, 0x55, 0xd9, 0xe8, 0x01, 0x4e, 0xf1, 0x7b, 0xbf, 0x3f, 0x79, 0xbf, 0xe7, 0x04, 0xbc,
+	0x2c, 0x85, 0x28, 0x2b, 0x9a, 0xe4, 0x95, 0x68, 0x8a, 0xa4, 0x20, 0x86, 0x48, 0x25, 0xf2, 0xe4,
+	0xee, 0x34, 0x11, 0x92, 0x2a, 0x62, 0x98, 0xe0, 0x3a, 0x96, 0x4a, 0x18, 0x01, 0x91, 0xa7, 0xc6,
+	0x8e, 0x1a, 0x77, 0xd4, 0xf8, 0xee, 0x74, 0x7c, 0xdc, 0x9a, 0x10, 0xc9, 0x12, 0xc2, 0xb9, 0x30,
+	0x9b, 0xba, 0xf1, 0xf3, 0x16, 0xad, 0x04, 0x2f, 0x55, 0xc3, 0x39, 0xe3, 0xe5, 0x03, 0xf3, 0xf1,
+	0xd3, 0x96, 0xe4, 0xaa, 0xdb, 0xe6, 0x7b, 0x42, 0x6b, 0x69, 0x56, 0x2d, 0x78, 0x72, 0x1f, 0x34,
+	0xac, 0xa6, 0xda, 0x90, 0x5a, 0x7a, 0xc2, 0xe4, 0x67, 0x0f, 0x3c, 0xf9, 0x50, 0x35, 0xda, 0x50,
+	0x35, 0xef, 0x9c, 0xaf, 0x0c, 0x31, 0x8d, 0x86, 0x5f, 0xc0, 0xae, 0x36, 0xc4, 0x50, 0x14, 0x44,
+	0xc1, 0x74, 0x78, 0xf6, 0x26, 0xde, 0x96, 0x22, 0xfe, 0xbb, 0x41, 0x6c, 0x1f, 0x34, 0xf5, 0x26,
+	0xf0, 0x04, 0x84, 0x8c, 0x73, 0xaa, 0x32, 0xef, 0xd9, 0x8b, 0x82, 0xe9, 0x41, 0x0a, 0x5c, 0xcb,
+	0xf1, 0x20, 0x02, 0x83, 0x82, 0x1a, 0xc2, 0x2a, 0x8d, 0xfa, 0x0e, 0xec, 0x4a, 0x38, 0x03, 0x23,
+	0x27, 0xb2, 0x52, 0x65, 0x32, 0x1b, 0x01, 0xed, 0x44, 0xc1, 0x34, 0x3c, 0x1b, 0x77, 0x33, 0x75,
+	0xf9, 0xe2, 0xeb, 0x2e, 0x5f, 0x3a, 0x74, 0x9a, 0x2b, 0x2b, 0xb1, 0xcd, 0xc9, 0x5b, 0xb0, 0xeb,
+	0x5f, 0x14, 0x82, 0xc1, 0x12, 0x7f, 0xc6, 0xf3, 0x1b, 0x3c, 0x7a, 0x64, 0x8b, 0xc5, 0x05, 0x9e,
+	0x7d, 0xc2, 0x1f, 0x47, 0x81, 0x2d, 0xd2, 0x25, 0xc6, 0xb6, 0xe8, 0xc1, 0x7d, 0xb0, 0x33, 0x9b,
+	0xe3, 0x8b, 0x51, 0x7f, 0xf2, 0xab, 0x07, 0xd0, 0xfd, 0x88, 0x5f, 0xa9, 0x21, 0x76, 0x05, 0xf0,
+	0x19, 0x38, 0xcc, 0x3d, 0x96, 0x71, 0x52, 0x53, 0x34, 0x70, 0xb3, 0x87, 0x6d, 0x0f, 0x93, 0x9a,
+	0x6e, 0x52, 0x9a, 0x86, 0x15, 0x68, 0xff, 0x0f, 0xca, 0xb2, 0x61, 0x05, 0xbc, 0x04, 0x7b, 0xda,
+	0x2d, 0x0d, 0x1d, 0xb8, 0x60, 0xaf, 0xfe, 0x75, 0xd9, 0x69, 0xab, 0x87, 0x37, 0x60, 0xe8, 0x4f,
+	0xd9, 0x0f, 0xa6, 0x8d, 0x50, 0x2b, 0x04, 0xa2, 0xfe, 0x7f, 0x39, 0x1e, 0x79, 0x9f, 0x4b, 0x6f,
+	0x03, 0x5f, 0x80, 0xe1, 0xfa, 0xdb, 0xcb, 0xcc, 0x4a, 0x52, 0x14, 0xba, 0x1c, 0x47, 0xeb, 0xee,
+	0xf5, 0x4a, 0x52, 0x18, 0x81, 0xb0, 0xa0, 0x3a, 0x57, 0x4c, 0xda, 0x16, 0x3a, 0xf4, 0x59, 0x37,
+	0x5a, 0xe7, 0x1a, 0x1c, 0xe7, 0xa2, 0xde, 0x3a, 0xce, 0xf9, 0xe3, 0xf5, 0x20, 0x7a, 0x61, 0xaf,
+	0x75, 0x11, 0x7c, 0x7b, 0xdf, 0x92, 0x4b, 0x51, 0x11, 0x5e, 0xc6, 0x42, 0x95, 0x49, 0x49, 0xb9,
+	0xbb, 0xf4, 0xc4, 0x43, 0x44, 0x32, 0xfd, 0xf0, 0x57, 0x7c, 0xd7, 0x9d, 0x6f, 0xf7, 0x1c, 0xf9,
+	0xf5, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2c, 0x8c, 0x74, 0x3e, 0xb6, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/dataproc/v1/operations.proto b/googleapis/cloud/dataproc/v1/operations.proto
deleted file mode 100644
index 5c36ce131fbe55e51fc6e7a32cb0fb4dabe7de62..0000000000000000000000000000000000000000
--- a/googleapis/cloud/dataproc/v1/operations.proto
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.dataproc.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "OperationsProto";
-option java_package = "com.google.cloud.dataproc.v1";
-
-
-// The status of the operation.
-message ClusterOperationStatus {
-  // The operation state.
-  enum State {
-    // Unused.
-    UNKNOWN = 0;
-
-    // The operation has been created.
-    PENDING = 1;
-
-    // The operation is running.
-    RUNNING = 2;
-
-    // The operation is done; either cancelled or completed.
-    DONE = 3;
-  }
-
-  // [Output-only] A message containing the operation state.
-  State state = 1;
-
-  // [Output-only] A message containing the detailed operation state.
-  string inner_state = 2;
-
-  // [Output-only]A message containing any operation metadata details.
-  string details = 3;
-
-  // [Output-only] The time this state was entered.
-  google.protobuf.Timestamp state_start_time = 4;
-}
-
-// Metadata describing the operation.
-message ClusterOperationMetadata {
-  // [Output-only] Name of the cluster for the operation.
-  string cluster_name = 7;
-
-  // [Output-only] Cluster UUID for the operation.
-  string cluster_uuid = 8;
-
-  // [Output-only] Current operation status.
-  ClusterOperationStatus status = 9;
-
-  // [Output-only] The previous operation status.
-  repeated ClusterOperationStatus status_history = 10;
-
-  // [Output-only] The operation type.
-  string operation_type = 11;
-
-  // [Output-only] Short description of operation.
-  string description = 12;
-}
diff --git a/googleapis/cloud/functions/v1beta2/functions.pb.go b/googleapis/cloud/functions/v1beta2/functions.pb.go
index e3dbf16b5d1c0f6be29f048ecf534a334f26bc2e..401ca64dc5f1fb731d3a176360b6f52e68da2edf 100644
--- a/googleapis/cloud/functions/v1beta2/functions.pb.go
+++ b/googleapis/cloud/functions/v1beta2/functions.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/functions/v1beta2/functions.proto
+// source: google/cloud/functions/v1beta2/functions.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_functions_v1beta2 is a generated protocol buffer package.
+Package functions is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/functions/v1beta2/functions.proto
-	google.golang.org/genproto/googleapis/cloud/functions/v1beta2/operations.proto
+	google/cloud/functions/v1beta2/functions.proto
+	google/cloud/functions/v1beta2/operations.proto
 
 It has these top-level messages:
 	CloudFunction
@@ -24,12 +24,12 @@ It has these top-level messages:
 	CallFunctionResponse
 	OperationMetadataV1Beta2
 */
-package google_cloud_functions_v1beta2 // import "google.golang.org/genproto/googleapis/cloud/functions/v1beta2"
+package functions
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/duration"
 
@@ -179,6 +179,13 @@ func (m *CloudFunction) GetTrigger() isCloudFunction_Trigger {
 	return nil
 }
 
+func (m *CloudFunction) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *CloudFunction) GetGcsUrl() string {
 	if x, ok := m.GetSourceCode().(*CloudFunction_GcsUrl); ok {
 		return x.GcsUrl
@@ -221,6 +228,27 @@ func (m *CloudFunction) GetEventTrigger() *EventTrigger {
 	return nil
 }
 
+func (m *CloudFunction) GetStatus() CloudFunctionStatus {
+	if m != nil {
+		return m.Status
+	}
+	return CloudFunctionStatus_STATUS_UNSPECIFIED
+}
+
+func (m *CloudFunction) GetLatestOperation() string {
+	if m != nil {
+		return m.LatestOperation
+	}
+	return ""
+}
+
+func (m *CloudFunction) GetEntryPoint() string {
+	if m != nil {
+		return m.EntryPoint
+	}
+	return ""
+}
+
 func (m *CloudFunction) GetTimeout() *google_protobuf3.Duration {
 	if m != nil {
 		return m.Timeout
@@ -228,6 +256,20 @@ func (m *CloudFunction) GetTimeout() *google_protobuf3.Duration {
 	return nil
 }
 
+func (m *CloudFunction) GetAvailableMemoryMb() int32 {
+	if m != nil {
+		return m.AvailableMemoryMb
+	}
+	return 0
+}
+
+func (m *CloudFunction) GetServiceAccount() string {
+	if m != nil {
+		return m.ServiceAccount
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*CloudFunction) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _CloudFunction_OneofMarshaler, _CloudFunction_OneofUnmarshaler, _CloudFunction_OneofSizer, []interface{}{
@@ -389,6 +431,13 @@ func (m *HTTPSTrigger) String() string            { return proto.CompactTextStri
 func (*HTTPSTrigger) ProtoMessage()               {}
 func (*HTTPSTrigger) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *HTTPSTrigger) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
+
 // Describes EventTrigger, used to request events be sent from another
 // service.
 type EventTrigger struct {
@@ -422,6 +471,27 @@ func (m *EventTrigger) String() string            { return proto.CompactTextStri
 func (*EventTrigger) ProtoMessage()               {}
 func (*EventTrigger) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *EventTrigger) GetEventType() string {
+	if m != nil {
+		return m.EventType
+	}
+	return ""
+}
+
+func (m *EventTrigger) GetResource() string {
+	if m != nil {
+		return m.Resource
+	}
+	return ""
+}
+
+func (m *EventTrigger) GetPath() string {
+	if m != nil {
+		return m.Path
+	}
+	return ""
+}
+
 // Describes the location of the function source in a remote repository.
 type SourceRepository struct {
 	// URL to the hosted repository where the function is defined. Only paths in
@@ -479,6 +549,20 @@ func (m *SourceRepository) GetVersion() isSourceRepository_Version {
 	return nil
 }
 
+func (m *SourceRepository) GetRepositoryUrl() string {
+	if m != nil {
+		return m.RepositoryUrl
+	}
+	return ""
+}
+
+func (m *SourceRepository) GetSourcePath() string {
+	if m != nil {
+		return m.SourcePath
+	}
+	return ""
+}
+
 func (m *SourceRepository) GetBranch() string {
 	if x, ok := m.GetVersion().(*SourceRepository_Branch); ok {
 		return x.Branch
@@ -500,6 +584,13 @@ func (m *SourceRepository) GetRevision() string {
 	return ""
 }
 
+func (m *SourceRepository) GetDeployedRevision() string {
+	if m != nil {
+		return m.DeployedRevision
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*SourceRepository) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _SourceRepository_OneofMarshaler, _SourceRepository_OneofUnmarshaler, _SourceRepository_OneofSizer, []interface{}{
@@ -595,6 +686,13 @@ func (m *CreateFunctionRequest) String() string            { return proto.Compac
 func (*CreateFunctionRequest) ProtoMessage()               {}
 func (*CreateFunctionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *CreateFunctionRequest) GetLocation() string {
+	if m != nil {
+		return m.Location
+	}
+	return ""
+}
+
 func (m *CreateFunctionRequest) GetFunction() *CloudFunction {
 	if m != nil {
 		return m.Function
@@ -615,6 +713,13 @@ func (m *UpdateFunctionRequest) String() string            { return proto.Compac
 func (*UpdateFunctionRequest) ProtoMessage()               {}
 func (*UpdateFunctionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *UpdateFunctionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *UpdateFunctionRequest) GetFunction() *CloudFunction {
 	if m != nil {
 		return m.Function
@@ -633,6 +738,13 @@ func (m *GetFunctionRequest) String() string            { return proto.CompactTe
 func (*GetFunctionRequest) ProtoMessage()               {}
 func (*GetFunctionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *GetFunctionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request for the ListFunctions method.
 type ListFunctionsRequest struct {
 	// The project and location from which the function should be listed,
@@ -653,6 +765,27 @@ func (m *ListFunctionsRequest) String() string            { return proto.Compact
 func (*ListFunctionsRequest) ProtoMessage()               {}
 func (*ListFunctionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *ListFunctionsRequest) GetLocation() string {
+	if m != nil {
+		return m.Location
+	}
+	return ""
+}
+
+func (m *ListFunctionsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListFunctionsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the ListFunctions method.
 type ListFunctionsResponse struct {
 	// The functions that match the request.
@@ -675,6 +808,13 @@ func (m *ListFunctionsResponse) GetFunctions() []*CloudFunction {
 	return nil
 }
 
+func (m *ListFunctionsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the DeleteFunction method.
 type DeleteFunctionRequest struct {
 	// The name of the function which should be deleted.
@@ -686,6 +826,13 @@ func (m *DeleteFunctionRequest) String() string            { return proto.Compac
 func (*DeleteFunctionRequest) ProtoMessage()               {}
 func (*DeleteFunctionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *DeleteFunctionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request for the CallFunction method.
 type CallFunctionRequest struct {
 	// The name of the function to be called.
@@ -699,6 +846,20 @@ func (m *CallFunctionRequest) String() string            { return proto.CompactT
 func (*CallFunctionRequest) ProtoMessage()               {}
 func (*CallFunctionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *CallFunctionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *CallFunctionRequest) GetData() string {
+	if m != nil {
+		return m.Data
+	}
+	return ""
+}
+
 // Response of CallFunction method.
 type CallFunctionResponse struct {
 	// Execution id of function invocation.
@@ -716,6 +877,27 @@ func (m *CallFunctionResponse) String() string            { return proto.Compact
 func (*CallFunctionResponse) ProtoMessage()               {}
 func (*CallFunctionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *CallFunctionResponse) GetExecutionId() string {
+	if m != nil {
+		return m.ExecutionId
+	}
+	return ""
+}
+
+func (m *CallFunctionResponse) GetResult() string {
+	if m != nil {
+		return m.Result
+	}
+	return ""
+}
+
+func (m *CallFunctionResponse) GetError() string {
+	if m != nil {
+		return m.Error
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*CloudFunction)(nil), "google.cloud.functions.v1beta2.CloudFunction")
 	proto.RegisterType((*HTTPSTrigger)(nil), "google.cloud.functions.v1beta2.HTTPSTrigger")
@@ -986,90 +1168,87 @@ var _CloudFunctionsService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/functions/v1beta2/functions.proto",
+	Metadata: "google/cloud/functions/v1beta2/functions.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/functions/v1beta2/functions.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/functions/v1beta2/functions.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1220 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0x4f, 0x6f, 0x1b, 0x45,
-	0x14, 0xcf, 0x26, 0xb1, 0x13, 0x3f, 0xff, 0xa9, 0x3b, 0x6d, 0x2a, 0xd7, 0x50, 0x9a, 0xae, 0x04,
-	0x0d, 0x29, 0x78, 0xc1, 0x0d, 0x20, 0xaa, 0x16, 0x11, 0xc7, 0x4e, 0x63, 0x35, 0x6d, 0xad, 0xb5,
-	0x73, 0xe8, 0x01, 0xad, 0xc6, 0xeb, 0xe9, 0x66, 0x61, 0xbd, 0xb3, 0xec, 0xcc, 0x5a, 0x75, 0x51,
-	0x39, 0x70, 0xe6, 0xc6, 0x37, 0xe8, 0x19, 0xf1, 0x01, 0x90, 0xb8, 0x73, 0x47, 0xe2, 0xc8, 0x89,
-	0x0f, 0x82, 0x66, 0x76, 0x76, 0x6d, 0xa7, 0x06, 0x3b, 0x11, 0xb7, 0x9d, 0xdf, 0xcc, 0x7b, 0xef,
-	0x37, 0xef, 0xfd, 0xde, 0xdb, 0x81, 0xc7, 0x0e, 0xa5, 0x8e, 0x47, 0x6a, 0x0e, 0xf5, 0xb0, 0xef,
-	0xd4, 0x68, 0xe8, 0x18, 0x0e, 0xf1, 0x83, 0x90, 0x72, 0x6a, 0xc4, 0x5b, 0x38, 0x70, 0x99, 0x61,
-	0x7b, 0x34, 0x1a, 0x18, 0xcf, 0x23, 0xdf, 0xe6, 0x2e, 0xf5, 0x99, 0x31, 0xfa, 0xb8, 0x4f, 0x38,
-	0xae, 0x4f, 0x90, 0x9a, 0x34, 0x41, 0xef, 0x28, 0x77, 0xf2, 0x7c, 0x6d, 0xb2, 0xab, 0xce, 0x57,
-	0xdb, 0xcb, 0x85, 0xc3, 0x81, 0x6b, 0x30, 0x12, 0x8e, 0x5c, 0x9b, 0xd8, 0xd4, 0x7f, 0xee, 0x3a,
-	0x06, 0xf6, 0x7d, 0xca, 0xf1, 0x54, 0xa8, 0x6a, 0x63, 0x39, 0x57, 0x1e, 0xf5, 0x9d, 0x30, 0xf2,
-	0x7d, 0xd7, 0x77, 0x0c, 0x1a, 0x90, 0x70, 0xc6, 0xc7, 0xe7, 0x8e, 0xcb, 0x4f, 0xa3, 0x7e, 0xcd,
-	0xa6, 0x43, 0x23, 0xf6, 0x63, 0xc8, 0x8d, 0x7e, 0xf4, 0xdc, 0x08, 0xf8, 0x38, 0x20, 0xcc, 0x18,
-	0x44, 0xb1, 0x49, 0xfa, 0x11, 0x9b, 0xea, 0x7f, 0x66, 0xa0, 0x78, 0x20, 0x6e, 0x79, 0xa8, 0x2e,
-	0x89, 0x10, 0xac, 0xfb, 0x78, 0x48, 0x2a, 0xda, 0xb6, 0xb6, 0x93, 0x33, 0xe5, 0x37, 0xba, 0x0e,
-	0x1b, 0x8e, 0xcd, 0xac, 0x28, 0xf4, 0x2a, 0xab, 0x02, 0x3e, 0x5a, 0x31, 0xb3, 0x8e, 0xcd, 0x4e,
-	0x42, 0x0f, 0x59, 0x70, 0x99, 0xd1, 0x28, 0xb4, 0x89, 0x15, 0x92, 0x80, 0x32, 0x97, 0xd3, 0x70,
-	0x5c, 0x59, 0xdb, 0xd6, 0x76, 0xf2, 0xf5, 0x8f, 0x6a, 0xff, 0x9d, 0xc6, 0x5a, 0x57, 0x1a, 0x9a,
-	0xa9, 0xdd, 0xd1, 0x8a, 0x59, 0x66, 0x67, 0x30, 0x74, 0x1b, 0x4a, 0x41, 0xd4, 0x67, 0x51, 0xdf,
-	0xe2, 0xa1, 0xeb, 0x38, 0x24, 0xac, 0xac, 0x4b, 0x0a, 0x9a, 0x59, 0x8c, 0xf1, 0x5e, 0x0c, 0xa3,
-	0x5b, 0x90, 0x17, 0x24, 0x93, 0x53, 0x19, 0x75, 0x0a, 0x1c, 0x9b, 0x25, 0x47, 0xba, 0x50, 0x3c,
-	0xe5, 0x3c, 0x98, 0x1c, 0xca, 0x4a, 0xa2, 0x1f, 0x2c, 0x22, 0x7a, 0xd4, 0xeb, 0x75, 0xba, 0xca,
-	0xc9, 0x91, 0x66, 0x16, 0xa4, 0x93, 0x29, 0xa7, 0x64, 0x44, 0x7c, 0x9e, 0x3a, 0x2d, 0x2c, 0xe7,
-	0xb4, 0x25, 0x8c, 0xa6, 0x9c, 0x92, 0xa9, 0x35, 0x7a, 0x04, 0x59, 0xc6, 0x31, 0x8f, 0x58, 0x65,
-	0x63, 0x5b, 0xdb, 0x29, 0xd5, 0xef, 0x2e, 0xf2, 0x36, 0x53, 0xc4, 0xae, 0x34, 0x35, 0x95, 0x0b,
-	0xf4, 0x3e, 0x94, 0x3d, 0xcc, 0x09, 0xe3, 0x56, 0x2a, 0x9d, 0xca, 0xa6, 0x2c, 0xef, 0xa5, 0x18,
-	0x7f, 0x9a, 0xc0, 0xe8, 0x26, 0xe4, 0x89, 0xcf, 0xc3, 0xb1, 0x15, 0x50, 0xd7, 0xe7, 0x95, 0x9c,
-	0x3c, 0x05, 0x12, 0xea, 0x08, 0x04, 0xdd, 0x85, 0x0d, 0xee, 0x0e, 0x09, 0x8d, 0x78, 0x05, 0xe4,
-	0x3d, 0xaf, 0x27, 0xcc, 0x12, 0xc9, 0xd5, 0x9a, 0x4a, 0x62, 0x66, 0x72, 0x12, 0xd5, 0xe0, 0x0a,
-	0x1e, 0x61, 0xd7, 0xc3, 0x7d, 0x8f, 0x58, 0x43, 0x32, 0xa4, 0xe1, 0xd8, 0x1a, 0xf6, 0x2b, 0xf9,
-	0x6d, 0x6d, 0x27, 0x63, 0x5e, 0x4e, 0xb7, 0x1e, 0xcb, 0x9d, 0xc7, 0x7d, 0x74, 0x1b, 0x2e, 0xa9,
-	0xbe, 0xb1, 0xb0, 0x6d, 0xd3, 0xc8, 0xe7, 0x95, 0xa2, 0x64, 0x52, 0x52, 0xf0, 0x7e, 0x8c, 0x36,
-	0x8a, 0x90, 0x57, 0xea, 0xb3, 0xe9, 0x80, 0x34, 0x72, 0xb0, 0xa1, 0x8a, 0xa0, 0x6f, 0x43, 0x61,
-	0xba, 0x6a, 0xa8, 0x0c, 0x6b, 0x42, 0xbe, 0xb1, 0xaa, 0xc5, 0xa7, 0xfe, 0x15, 0x14, 0xa6, 0x4b,
-	0x80, 0x6e, 0x00, 0xa8, 0x3a, 0x8e, 0x83, 0x44, 0xfe, 0xb9, 0xb8, 0x28, 0xe3, 0x80, 0xa0, 0x2a,
-	0x6c, 0x86, 0x24, 0x0e, 0x16, 0x37, 0x81, 0x99, 0xae, 0x45, 0xcf, 0x04, 0x98, 0x9f, 0x4a, 0xdd,
-	0xe7, 0x4c, 0xf9, 0xad, 0xff, 0xa5, 0x41, 0xf9, 0xac, 0xc0, 0xd1, 0xbb, 0x50, 0x9a, 0xb4, 0x89,
-	0x35, 0x21, 0x54, 0x9c, 0xa0, 0xa2, 0xa9, 0x6e, 0xa6, 0xd7, 0x92, 0x6e, 0xe3, 0x70, 0x10, 0x43,
-	0x1d, 0xcc, 0x4f, 0x51, 0x05, 0xb2, 0xfd, 0x10, 0xfb, 0xb6, 0x0a, 0x29, 0xfa, 0x31, 0x5e, 0x23,
-	0x04, 0x6b, 0x1c, 0x3b, 0xaa, 0x47, 0x56, 0x4c, 0xb1, 0x40, 0x6f, 0x0b, 0xea, 0x23, 0x97, 0x89,
-	0xba, 0x67, 0xd4, 0x46, 0x8a, 0xa0, 0x3b, 0x70, 0x79, 0x40, 0x02, 0x8f, 0x8e, 0xc9, 0xc0, 0x4a,
-	0x8f, 0x65, 0x65, 0xc8, 0x72, 0xb2, 0x61, 0x2a, 0x5c, 0x64, 0x78, 0x44, 0x42, 0xf1, 0xa9, 0x7f,
-	0x0f, 0x5b, 0x07, 0x21, 0xc1, 0x9c, 0x24, 0xaa, 0x33, 0xc9, 0xb7, 0x11, 0x61, 0x5c, 0x64, 0xca,
-	0xa3, 0x76, 0x2c, 0xb3, 0xf8, 0x7a, 0xe9, 0x1a, 0xb5, 0x61, 0x33, 0xd1, 0xae, 0xbc, 0x56, 0xbe,
-	0xfe, 0xe1, 0xb9, 0x94, 0x6d, 0xa6, 0xe6, 0xfa, 0x08, 0xb6, 0x4e, 0x82, 0xc1, 0x9c, 0xf8, 0xf3,
-	0x26, 0xd8, 0xff, 0x18, 0x77, 0x07, 0xd0, 0x43, 0xc2, 0x97, 0x08, 0xaa, 0xfb, 0x70, 0xf5, 0xd8,
-	0x65, 0xe9, 0x51, 0xb6, 0x4c, 0x82, 0xde, 0x82, 0x5c, 0x80, 0x1d, 0x62, 0x31, 0xf7, 0x65, 0xac,
-	0xb3, 0x8c, 0xb9, 0x29, 0x80, 0xae, 0xfb, 0x92, 0x08, 0x89, 0xca, 0x4d, 0x4e, 0xbf, 0x21, 0xbe,
-	0x52, 0x9b, 0x3c, 0xde, 0x13, 0x80, 0xfe, 0xa3, 0x06, 0x5b, 0x67, 0x02, 0xb2, 0x80, 0xfa, 0x8c,
-	0xa0, 0x47, 0x90, 0x4b, 0x2f, 0x58, 0xd1, 0xb6, 0xd7, 0xce, 0x7f, 0xff, 0x89, 0x3d, 0x7a, 0x0f,
-	0x2e, 0xf9, 0xe4, 0x05, 0xb7, 0xa6, 0xa8, 0xc4, 0x0a, 0x2d, 0x0a, 0xb8, 0x93, 0xd2, 0xb9, 0x03,
-	0x5b, 0x4d, 0xe2, 0x91, 0xa5, 0x0a, 0xa4, 0x3f, 0x80, 0x2b, 0x07, 0xd8, 0xf3, 0x96, 0xa9, 0x25,
-	0x82, 0xf5, 0x01, 0xe6, 0x58, 0x05, 0x95, 0xdf, 0xba, 0x03, 0x57, 0x67, 0xcd, 0xd5, 0xc5, 0x6f,
-	0x41, 0x81, 0xbc, 0x20, 0x76, 0x24, 0x40, 0xcb, 0x1d, 0x28, 0x3f, 0xf9, 0x14, 0x6b, 0x0f, 0xd0,
-	0x35, 0xc8, 0x86, 0x84, 0x45, 0x1e, 0x57, 0x0e, 0xd5, 0x0a, 0x5d, 0x85, 0x0c, 0x09, 0x43, 0x1a,
-	0xaa, 0x3c, 0xc7, 0x8b, 0x5d, 0x0c, 0x57, 0xe6, 0x8c, 0x5a, 0x74, 0x0d, 0x50, 0xb7, 0xb7, 0xdf,
-	0x3b, 0xe9, 0x5a, 0x27, 0x4f, 0xba, 0x9d, 0xd6, 0x41, 0xfb, 0xb0, 0xdd, 0x6a, 0x96, 0x57, 0x50,
-	0x0e, 0x32, 0x66, 0x6b, 0xbf, 0xf9, 0xac, 0xac, 0x21, 0x80, 0xec, 0xe1, 0x7e, 0xfb, 0xb8, 0xd5,
-	0x2c, 0xaf, 0xa2, 0x22, 0xe4, 0x9a, 0xad, 0xce, 0xf1, 0xd3, 0x67, 0xed, 0x27, 0x0f, 0xcb, 0x6b,
-	0xa8, 0x00, 0x9b, 0xcd, 0xd6, 0x71, 0xab, 0x27, 0x56, 0xeb, 0xf5, 0xdf, 0x37, 0x61, 0x6b, 0x26,
-	0x06, 0xeb, 0xc6, 0x53, 0x0f, 0xfd, 0xaa, 0x41, 0x71, 0xa6, 0xc0, 0x68, 0x6f, 0x51, 0x15, 0xe7,
-	0x09, 0xb0, 0xfa, 0xc9, 0x39, 0xad, 0xe2, 0x64, 0xea, 0xf7, 0x7f, 0xf8, 0xe3, 0xef, 0x9f, 0x56,
-	0x3f, 0x45, 0x7b, 0xe9, 0xc3, 0xe9, 0xbb, 0x44, 0xb7, 0x0f, 0x82, 0x90, 0x7e, 0x4d, 0x6c, 0xce,
-	0x8c, 0x5d, 0x23, 0xc1, 0x98, 0xb1, 0xfb, 0x6a, 0xf2, 0xb4, 0x42, 0x3f, 0x6b, 0x90, 0x9f, 0x6a,
-	0x1c, 0x54, 0x5f, 0x44, 0xe2, 0xcd, 0x2e, 0xab, 0x9e, 0x4f, 0xb4, 0xfa, 0x3d, 0x49, 0x78, 0x0f,
-	0xd5, 0x27, 0x84, 0x85, 0x82, 0xfe, 0x85, 0xec, 0xd4, 0xc3, 0x70, 0xf7, 0x15, 0xfa, 0x45, 0x83,
-	0xd2, 0xec, 0x7c, 0x43, 0x0b, 0xd3, 0x36, 0x77, 0x1e, 0x56, 0x6f, 0x24, 0x66, 0x53, 0x8f, 0xb8,
-	0x5a, 0xfa, 0xcb, 0xd5, 0x0f, 0x25, 0xc9, 0x2f, 0xf5, 0x0b, 0x65, 0xf5, 0x5e, 0x3a, 0x97, 0x44,
-	0x7e, 0x4b, 0xb3, 0x03, 0x71, 0x31, 0xe1, 0xb9, 0x03, 0x74, 0x11, 0xe1, 0xa6, 0x24, 0xfc, 0x45,
-	0xf5, 0x02, 0x59, 0x9d, 0xa2, 0xfb, 0x5a, 0x83, 0xd2, 0xec, 0x78, 0x58, 0x4c, 0x77, 0xee, 0x38,
-	0x59, 0x44, 0x57, 0x89, 0x60, 0xf7, 0x22, 0x22, 0xf8, 0x4d, 0x83, 0xc2, 0xf4, 0x5c, 0x41, 0x8b,
-	0xdf, 0x61, 0x6f, 0x0e, 0xb1, 0xea, 0xde, 0xf9, 0x8c, 0x54, 0xb7, 0x35, 0x24, 0xef, 0xfb, 0xfa,
-	0x67, 0x17, 0x48, 0xb3, 0x8d, 0x3d, 0xef, 0x9e, 0xb6, 0xdb, 0xb8, 0x0f, 0xba, 0x4d, 0x87, 0x0b,
-	0xc2, 0x37, 0x4a, 0x69, 0xab, 0x77, 0xc4, 0x1b, 0xae, 0xa3, 0xbd, 0x5e, 0x5d, 0x7b, 0x78, 0x70,
-	0xd8, 0xcf, 0xca, 0x27, 0xdd, 0xdd, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xd7, 0xae, 0x3b, 0xec,
-	0x5e, 0x0d, 0x00, 0x00,
+	// 1208 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x4d, 0x6f, 0x1b, 0xc5,
+	0x1b, 0xcf, 0x26, 0xb1, 0x13, 0x3f, 0x7e, 0xa9, 0x3b, 0x6d, 0xaa, 0xad, 0xff, 0xed, 0xbf, 0xe9,
+	0x22, 0x68, 0x48, 0xc1, 0x0b, 0x6e, 0x00, 0xa9, 0xb4, 0x88, 0x24, 0x76, 0x5e, 0xd4, 0xb4, 0xb5,
+	0xd6, 0xce, 0xa1, 0x48, 0x68, 0x35, 0x5e, 0x4f, 0xb7, 0x0b, 0x9b, 0x9d, 0x65, 0x67, 0xd6, 0x6a,
+	0x8a, 0xca, 0x01, 0x89, 0x1b, 0x37, 0xbe, 0x41, 0xcf, 0x88, 0x0f, 0x80, 0xc4, 0x9d, 0x3b, 0x12,
+	0x47, 0x4e, 0x7c, 0x10, 0x34, 0xb3, 0xb3, 0xeb, 0x75, 0xea, 0xe2, 0x24, 0xe2, 0xb6, 0xf3, 0x9b,
+	0xe7, 0xe5, 0x37, 0xf3, 0xfc, 0x9e, 0xc7, 0x63, 0x68, 0xba, 0x94, 0xba, 0x3e, 0x31, 0x1d, 0x9f,
+	0xc6, 0x43, 0xf3, 0x69, 0x1c, 0x38, 0xdc, 0xa3, 0x01, 0x33, 0x47, 0x1f, 0x0e, 0x08, 0xc7, 0xad,
+	0x31, 0xd2, 0x0c, 0x23, 0xca, 0x29, 0xfa, 0x7f, 0x62, 0xdf, 0x94, 0xf6, 0xcd, 0xf1, 0xae, 0xb2,
+	0x6f, 0x5c, 0x53, 0xf1, 0x70, 0xe8, 0x99, 0x38, 0x08, 0x28, 0xc7, 0x39, 0xef, 0xc6, 0x5b, 0x6a,
+	0xd7, 0xa7, 0x81, 0x1b, 0xc5, 0x41, 0xe0, 0x05, 0xae, 0x49, 0x43, 0x12, 0x4d, 0x18, 0xa9, 0x14,
+	0xa6, 0x5c, 0x0d, 0xe2, 0xa7, 0xe6, 0x30, 0x4e, 0x0c, 0x92, 0x7d, 0xe3, 0xcf, 0x02, 0x54, 0xb7,
+	0x45, 0xfa, 0x1d, 0x95, 0x1d, 0x21, 0x58, 0x0c, 0xf0, 0x11, 0xd1, 0xb5, 0x55, 0x6d, 0xad, 0x64,
+	0xc9, 0x6f, 0x74, 0x15, 0x96, 0x5c, 0x87, 0xd9, 0x71, 0xe4, 0xeb, 0xf3, 0x02, 0xde, 0x9b, 0xb3,
+	0x8a, 0xae, 0xc3, 0x0e, 0x23, 0x1f, 0xd9, 0x70, 0x91, 0xd1, 0x38, 0x72, 0x88, 0x1d, 0x91, 0x90,
+	0x32, 0x8f, 0xd3, 0xe8, 0x58, 0x5f, 0x58, 0xd5, 0xd6, 0xca, 0xad, 0x0f, 0x9a, 0xff, 0x7e, 0xbe,
+	0x66, 0x4f, 0x3a, 0x5a, 0x99, 0xdf, 0xde, 0x9c, 0x55, 0x67, 0x27, 0x30, 0x74, 0x0b, 0x6a, 0x61,
+	0x3c, 0x60, 0xf1, 0xc0, 0xe6, 0x91, 0xe7, 0xba, 0x24, 0xd2, 0x17, 0x25, 0x05, 0xcd, 0xaa, 0x26,
+	0x78, 0x3f, 0x81, 0xd1, 0x4d, 0x28, 0x0b, 0x92, 0xa9, 0x55, 0x41, 0x59, 0x81, 0xeb, 0xb0, 0xd4,
+	0xa4, 0x07, 0xd5, 0x67, 0x9c, 0x87, 0x63, 0xa3, 0xa2, 0x24, 0xfa, 0xde, 0x2c, 0xa2, 0x7b, 0xfd,
+	0x7e, 0xb7, 0xa7, 0x82, 0xec, 0x69, 0x56, 0x45, 0x06, 0xc9, 0x05, 0x25, 0x23, 0x12, 0xf0, 0x2c,
+	0x68, 0xe5, 0x74, 0x41, 0x3b, 0xc2, 0x29, 0x17, 0x94, 0xe4, 0xd6, 0xe8, 0x01, 0x14, 0x19, 0xc7,
+	0x3c, 0x66, 0xfa, 0xd2, 0xaa, 0xb6, 0x56, 0x6b, 0xdd, 0x99, 0x15, 0x6d, 0xa2, 0x88, 0x3d, 0xe9,
+	0x6a, 0xa9, 0x10, 0xe8, 0x5d, 0xa8, 0xfb, 0x98, 0x13, 0xc6, 0xed, 0x4c, 0x1f, 0xfa, 0xb2, 0x2c,
+	0xef, 0x85, 0x04, 0x7f, 0x9c, 0xc2, 0xe8, 0x06, 0x94, 0x49, 0xc0, 0xa3, 0x63, 0x3b, 0xa4, 0x5e,
+	0xc0, 0xf5, 0x92, 0xb4, 0x02, 0x09, 0x75, 0x05, 0x82, 0xee, 0xc0, 0x12, 0xf7, 0x8e, 0x08, 0x8d,
+	0xb9, 0x0e, 0xf2, 0x9c, 0x57, 0x53, 0x66, 0xa9, 0xc4, 0x9a, 0x6d, 0x25, 0x31, 0x2b, 0xb5, 0x44,
+	0x4d, 0xb8, 0x84, 0x47, 0xd8, 0xf3, 0xf1, 0xc0, 0x27, 0xf6, 0x11, 0x39, 0xa2, 0xd1, 0xb1, 0x7d,
+	0x34, 0xd0, 0xcb, 0xab, 0xda, 0x5a, 0xc1, 0xba, 0x98, 0x6d, 0x3d, 0x94, 0x3b, 0x0f, 0x07, 0xe8,
+	0x16, 0x5c, 0x60, 0x24, 0x1a, 0x79, 0x0e, 0xb1, 0xb1, 0xe3, 0xd0, 0x38, 0xe0, 0x7a, 0x55, 0x32,
+	0xa9, 0x29, 0x78, 0x33, 0x41, 0xb7, 0xaa, 0x50, 0x56, 0xea, 0x73, 0xe8, 0x90, 0x6c, 0x95, 0x60,
+	0x49, 0x15, 0xc1, 0x58, 0x85, 0x4a, 0xbe, 0x6a, 0xa8, 0x0e, 0x0b, 0x42, 0xbe, 0x89, 0xaa, 0xc5,
+	0xa7, 0xf1, 0x25, 0x54, 0xf2, 0x25, 0x40, 0xd7, 0x01, 0x54, 0x1d, 0x8f, 0xc3, 0x54, 0xfe, 0xa5,
+	0xa4, 0x28, 0xc7, 0x21, 0x41, 0x0d, 0x58, 0x8e, 0x48, 0x92, 0x2c, 0x69, 0x02, 0x2b, 0x5b, 0x8b,
+	0x9e, 0x09, 0x31, 0x7f, 0x26, 0x75, 0x5f, 0xb2, 0xe4, 0xb7, 0xf1, 0x97, 0x06, 0xf5, 0x93, 0x02,
+	0x47, 0x6f, 0x43, 0x6d, 0xdc, 0x26, 0xf6, 0x98, 0x50, 0x75, 0x8c, 0x8a, 0xa6, 0xba, 0x91, 0x1d,
+	0x4b, 0x86, 0x4d, 0xd2, 0x41, 0x02, 0x75, 0x31, 0x7f, 0x86, 0x74, 0x28, 0x0e, 0x22, 0x1c, 0x38,
+	0x2a, 0xa5, 0xe8, 0xc7, 0x64, 0x8d, 0x10, 0x2c, 0x70, 0xec, 0xaa, 0x1e, 0x99, 0xb3, 0xc4, 0x02,
+	0x5d, 0x13, 0xd4, 0x47, 0x1e, 0x13, 0x75, 0x2f, 0xa8, 0x8d, 0x0c, 0x41, 0xb7, 0xe1, 0xe2, 0x90,
+	0x84, 0x3e, 0x3d, 0x26, 0x43, 0x3b, 0x33, 0x2b, 0xca, 0x94, 0xf5, 0x74, 0xc3, 0x52, 0xb8, 0xb8,
+	0xe1, 0x11, 0x89, 0xc4, 0xa7, 0xf1, 0x1d, 0xac, 0x6c, 0x47, 0x04, 0x73, 0x92, 0xaa, 0xce, 0x22,
+	0xdf, 0xc4, 0x84, 0x71, 0x71, 0x53, 0x3e, 0x75, 0x12, 0x99, 0x25, 0xc7, 0xcb, 0xd6, 0x68, 0x1f,
+	0x96, 0x53, 0xed, 0xca, 0x63, 0x95, 0x5b, 0xef, 0x9f, 0x49, 0xd9, 0x56, 0xe6, 0x6e, 0x8c, 0x60,
+	0xe5, 0x30, 0x1c, 0x4e, 0xc9, 0x3f, 0x6d, 0x82, 0xfd, 0x87, 0x79, 0xd7, 0x00, 0xed, 0x12, 0x7e,
+	0x8a, 0xa4, 0x46, 0x00, 0x97, 0x0f, 0x3c, 0x96, 0x99, 0xb2, 0xd3, 0x5c, 0xd0, 0xff, 0xa0, 0x14,
+	0x62, 0x97, 0xd8, 0xcc, 0x7b, 0x91, 0xe8, 0xac, 0x60, 0x2d, 0x0b, 0xa0, 0xe7, 0xbd, 0x20, 0x42,
+	0xa2, 0x72, 0x93, 0xd3, 0xaf, 0x49, 0xa0, 0xd4, 0x26, 0xcd, 0xfb, 0x02, 0x30, 0x7e, 0xd4, 0x60,
+	0xe5, 0x44, 0x42, 0x16, 0xd2, 0x80, 0x11, 0xf4, 0x00, 0x4a, 0xd9, 0x01, 0x75, 0x6d, 0x75, 0xe1,
+	0xec, 0xe7, 0x1f, 0xfb, 0xa3, 0x77, 0xe0, 0x42, 0x40, 0x9e, 0x73, 0x3b, 0x47, 0x25, 0x51, 0x68,
+	0x55, 0xc0, 0xdd, 0x8c, 0xce, 0x6d, 0x58, 0x69, 0x13, 0x9f, 0x9c, 0xaa, 0x40, 0xc6, 0x7d, 0xb8,
+	0xb4, 0x8d, 0x7d, 0xff, 0x34, 0xb5, 0x44, 0xb0, 0x38, 0xc4, 0x1c, 0xab, 0xa4, 0xf2, 0xdb, 0x70,
+	0xe1, 0xf2, 0xa4, 0xbb, 0x3a, 0xf8, 0x4d, 0xa8, 0x90, 0xe7, 0xc4, 0x89, 0x05, 0x68, 0x7b, 0x43,
+	0x15, 0xa7, 0x9c, 0x61, 0xfb, 0x43, 0x74, 0x05, 0x8a, 0x11, 0x61, 0xb1, 0xcf, 0x55, 0x40, 0xb5,
+	0x42, 0x97, 0xa1, 0x40, 0xa2, 0x88, 0x46, 0xea, 0x9e, 0x93, 0xc5, 0x3a, 0x86, 0x4b, 0x53, 0x46,
+	0x2d, 0xba, 0x02, 0xa8, 0xd7, 0xdf, 0xec, 0x1f, 0xf6, 0xec, 0xc3, 0x47, 0xbd, 0x6e, 0x67, 0x7b,
+	0x7f, 0x67, 0xbf, 0xd3, 0xae, 0xcf, 0xa1, 0x12, 0x14, 0xac, 0xce, 0x66, 0xfb, 0x49, 0x5d, 0x43,
+	0x00, 0xc5, 0x9d, 0xcd, 0xfd, 0x83, 0x4e, 0xbb, 0x3e, 0x8f, 0xaa, 0x50, 0x6a, 0x77, 0xba, 0x07,
+	0x8f, 0x9f, 0xec, 0x3f, 0xda, 0xad, 0x2f, 0xa0, 0x0a, 0x2c, 0xb7, 0x3b, 0x07, 0x9d, 0xbe, 0x58,
+	0x2d, 0xb6, 0x7e, 0x5f, 0x86, 0x95, 0x89, 0x1c, 0xac, 0x97, 0x4c, 0x3d, 0xf4, 0xab, 0x06, 0xd5,
+	0x89, 0x02, 0xa3, 0x8d, 0x59, 0x55, 0x9c, 0x26, 0xc0, 0xc6, 0x47, 0x67, 0xf4, 0x4a, 0x2e, 0xd3,
+	0xb8, 0xf7, 0xfd, 0x1f, 0x7f, 0xff, 0x34, 0xff, 0x31, 0xda, 0xc8, 0x5e, 0x34, 0xdf, 0xa6, 0xba,
+	0xbd, 0x1f, 0x46, 0xf4, 0x2b, 0xe2, 0x70, 0x66, 0xae, 0x9b, 0x29, 0xc6, 0xcc, 0xf5, 0x97, 0xe3,
+	0x37, 0x0f, 0xfa, 0x59, 0x83, 0x72, 0xae, 0x71, 0x50, 0x6b, 0x16, 0x89, 0xd7, 0xbb, 0xac, 0x71,
+	0x36, 0xd1, 0x1a, 0x77, 0x25, 0xe1, 0x0d, 0xd4, 0x1a, 0x13, 0x16, 0x0a, 0x7a, 0x03, 0xd9, 0xdc,
+	0x8b, 0x6d, 0xfd, 0x25, 0xfa, 0x45, 0x83, 0xda, 0xe4, 0x7c, 0x43, 0x33, 0xaf, 0x6d, 0xea, 0x3c,
+	0x6c, 0x5c, 0x4f, 0xdd, 0x72, 0x2f, 0xb5, 0x66, 0xf6, 0x93, 0x6b, 0xec, 0x48, 0x92, 0x9f, 0x1b,
+	0xe7, 0xba, 0xd5, 0xbb, 0xd9, 0x5c, 0x12, 0xf7, 0x5b, 0x9b, 0x1c, 0x88, 0xb3, 0x09, 0x4f, 0x1d,
+	0xa0, 0xb3, 0x08, 0xb7, 0x25, 0xe1, 0xcf, 0x1a, 0xe7, 0xb8, 0xd5, 0x1c, 0xdd, 0x57, 0x1a, 0xd4,
+	0x26, 0xc7, 0xc3, 0x6c, 0xba, 0x53, 0xc7, 0xc9, 0x2c, 0xba, 0x4a, 0x04, 0xeb, 0xe7, 0x11, 0xc1,
+	0x6f, 0x1a, 0x54, 0xf2, 0x73, 0x05, 0xcd, 0x7e, 0x87, 0xbd, 0x3e, 0xc4, 0x1a, 0x1b, 0x67, 0x73,
+	0x52, 0xdd, 0xb6, 0x25, 0x79, 0xdf, 0x33, 0x3e, 0x39, 0xc7, 0x35, 0x3b, 0xd8, 0xf7, 0xef, 0x6a,
+	0xeb, 0x5b, 0x3f, 0x68, 0x60, 0x38, 0xf4, 0x68, 0x46, 0xfe, 0xad, 0x5a, 0xd6, 0xeb, 0x5d, 0xf1,
+	0x88, 0xeb, 0x6a, 0x5f, 0xec, 0x2a, 0x0f, 0x97, 0xfa, 0x38, 0x70, 0x9b, 0x34, 0x72, 0x4d, 0x97,
+	0x04, 0xf2, 0x89, 0x67, 0x26, 0x5b, 0x38, 0xf4, 0xd8, 0x9b, 0xfe, 0xe9, 0x7c, 0x9a, 0x21, 0xaf,
+	0xe6, 0x17, 0x76, 0xb7, 0x77, 0x06, 0x45, 0xe9, 0x79, 0xe7, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff,
+	0xfe, 0x72, 0xda, 0x26, 0x22, 0x0d, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/functions/v1beta2/functions.proto b/googleapis/cloud/functions/v1beta2/functions.proto
deleted file mode 100644
index 33cfcd44a10b6e99f2a24a490e10f1a9b96e2c12..0000000000000000000000000000000000000000
--- a/googleapis/cloud/functions/v1beta2/functions.proto
+++ /dev/null
@@ -1,298 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.functions.v1beta2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "FunctionsProto";
-option java_package = "com.google.cloud.functions.v1beta2";
-option objc_class_prefix = "GCF";
-
-
-// A service that application uses to manipulate triggers and functions.
-service CloudFunctionsService {
-  // Returns a list of functions that belong to the requested project.
-  rpc ListFunctions(ListFunctionsRequest) returns (ListFunctionsResponse) {
-    option (google.api.http) = { get: "/v1beta2/{location=projects/*/locations/*}/functions" };
-  }
-
-  // Returns a function with the given name from the requested project.
-  rpc GetFunction(GetFunctionRequest) returns (CloudFunction) {
-    option (google.api.http) = { get: "/v1beta2/{name=projects/*/locations/*/functions/*}" };
-  }
-
-  // Creates a new function. If a function with the given name already exists in
-  // the specified project, it will return ALREADY_EXISTS error.
-  rpc CreateFunction(CreateFunctionRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1beta2/{location=projects/*/locations/*}/functions" body: "function" };
-  }
-
-  // Updates existing function.
-  rpc UpdateFunction(UpdateFunctionRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { put: "/v1beta2/{name=projects/*/locations/*/functions/*}" body: "function" };
-  }
-
-  // Deletes a function with the given name from the specified project. If the
-  // given function is used by some trigger, the trigger will be updated to
-  // remove this function.
-  rpc DeleteFunction(DeleteFunctionRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { delete: "/v1beta2/{name=projects/*/locations/*/functions/*}" };
-  }
-
-  // Invokes synchronously deployed function. To be used for testing, very
-  // limited traffic allowed.
-  rpc CallFunction(CallFunctionRequest) returns (CallFunctionResponse) {
-    option (google.api.http) = { post: "/v1beta2/{name=projects/*/locations/*/functions/*}:call" body: "*" };
-  }
-}
-
-// Describes a cloud function that contains user computation executed in
-// response to an event. It encapsulate function and triggers configurations.
-message CloudFunction {
-  // A user-defined name of the function. Function names must be unique
-  // globally and match pattern: projects/*/locations/*/functions/*
-  string name = 1;
-
-  // The location of the function source code.
-  oneof source_code {
-    // GCS URL pointing to the zip archive which contains the function.
-    string gcs_url = 2;
-
-    // The hosted repository where the function is defined.
-    SourceRepository source_repository = 3;
-  }
-
-  oneof trigger {
-    // A pub/sub type of source.
-    string pubsub_trigger = 4;
-
-    // Google Cloud Storage resource whose changes trigger the events.
-    // Currently, it must have the form gs://<bucket>/ (that is, it must refer
-    // to a bucket, rather than an object).
-    string gcs_trigger = 5;
-
-    // A https endpoint type of source that can be trigger via URL.
-    HTTPSTrigger https_trigger = 6;
-
-    // A source that fires events in response to a condition in another service.
-    EventTrigger event_trigger = 12;
-  }
-
-  // [Output only] Status of the function deployment.
-  CloudFunctionStatus status = 7;
-
-  // [Output only] Name of the most recent operation modifying the function. If
-  // the function status is DEPLOYING or DELETING, then it points to the active
-  // operation.
-  string latest_operation = 8;
-
-  // The name of the function (as defined in source code) that will be
-  // executed. Defaults to the resource name suffix, if not specified. For
-  // backward compatibility, if function with given name is not found, then the
-  // system will try to use function named 'function'.
-  // For Node.js this is name of a function exported by the module specified
-  // in source_location.
-  string entry_point = 9;
-
-  // The cloud function execution timeout. Execution is considered failed and
-  // can be terminated if the function is not completed at the end of the
-  // timeout period. Defaults to 60 seconds.
-  google.protobuf.Duration timeout = 10;
-
-  // The amount of memory in MB available for a function.
-  // Defaults to 128MB.
-  int32 available_memory_mb = 11;
-
-  // [Output only] The service account of the function.
-  string service_account = 13;
-}
-
-// Describes HTTPSTrigger, could be used to connect web hooks to function.
-message HTTPSTrigger {
-  // [Output only] The deployed url for the function.
-  string url = 1;
-}
-
-// Describes EventTrigger, used to request events be sent from another
-// service.
-message EventTrigger {
-  // event_type names contain the service that is sending an event and the kind
-  // of event that was fired. Must be of the form providers/*/eventTypes/*
-  // e.g. Directly handle a Message published to Google Cloud PubSub
-  //      providers/cloud.pubsub/eventTypes/topic.publish
-  //
-  //      Handle an object changing in Google Cloud Storage
-  //      providers/cloud.storage/eventTypes/object.change
-  //
-  //      Handle a write to the Firebase Realtime Database
-  //      providers/firebase.database/eventTypes/data.write
-  string event_type = 1;
-
-  // Which instance of the source's service should send events. E.g. for PubSub
-  // this would be a PubSub topic at projects/*/topics/*. For Google Cloud
-  // Storage this would be a bucket at projects/*/buckets/*. For any source
-  // that only supports one instance per-project, this should be the name of the
-  // project (projects/*)
-  string resource = 2;
-
-  // Optional path within the resource that should be used to filter events.
-  // Named wildcards may be written in curly brackets (e.g. {variable}). The
-  // value that matched this parameter will be included  in the event
-  // parameters. e.g. users/{userId}/profilePic
-  // Path is not supported for all actions.
-  string path = 3;
-}
-
-// Describes the location of the function source in a remote repository.
-message SourceRepository {
-  // URL to the hosted repository where the function is defined. Only paths in
-  // https://source.developers.google.com domain are supported. The path should
-  // contain the name of the repository.
-  string repository_url = 1;
-
-  // The path within the repository where the function is defined. The path
-  // should point to the directory where cloud functions files are located. Use
-  // '/' if the function is defined directly in the root directory of a
-  // repository.
-  string source_path = 2;
-
-  // The version of a function. Defaults to the latest version of the master
-  // branch.
-  oneof version {
-    // The name of the branch from which the function should be fetched.
-    string branch = 3;
-
-    // The name of the tag that captures the state of the repository from
-    // which the function should be fetched.
-    string tag = 4;
-
-    // The id of the revision that captures the state of the repository from
-    // which the function should be fetched.
-    string revision = 5;
-  }
-
-  // [Output only] The id of the revision that was resolved at the moment of
-  // function creation or update. For example when a user deployed from a
-  // branch, it will be the revision id of the latest change on this branch at
-  // that time. If user deployed from revision then this value will be always
-  // equal to the revision specified by the user.
-  string deployed_revision = 6;
-}
-
-// Request for the CreateFunction method.
-message CreateFunctionRequest {
-  // The project and location in which the function should be created, specified
-  // in the format: projects/*/locations/*
-  string location = 1;
-
-  // Function to be created.
-  CloudFunction function = 2;
-}
-
-// Request for the UpdateFunction method.
-message UpdateFunctionRequest {
-  // The name of the function to be updated.
-  string name = 1;
-
-  // New version of the function.
-  CloudFunction function = 2;
-}
-
-// Request for the GetFunction method.
-message GetFunctionRequest {
-  // The name of the function which details should be obtained.
-  string name = 1;
-}
-
-// Request for the ListFunctions method.
-message ListFunctionsRequest {
-  // The project and location from which the function should be listed,
-  // specified in the format: projects/*/locations/*
-  // If you want to list functions in all locations, use '-' in place of a
-  // location.
-  string location = 1;
-
-  // Maximum number of functions to return.
-  int32 page_size = 2;
-
-  // The value returned by the last ListFunctionsResponse; indicates that
-  // this is a continuation of a prior ListFunctions call, and that the
-  // system should return the next page of data.
-  string page_token = 3;
-}
-
-// Response for the ListFunctions method.
-message ListFunctionsResponse {
-  // The functions that match the request.
-  repeated CloudFunction functions = 1;
-
-  // If not empty, indicates that there may be more functions that match
-  // the request; this value should be passed in a new ListFunctionsRequest
-  // to get more functions.
-  string next_page_token = 2;
-}
-
-// Request for the DeleteFunction method.
-message DeleteFunctionRequest {
-  // The name of the function which should be deleted.
-  string name = 1;
-}
-
-// Request for the CallFunction method.
-message CallFunctionRequest {
-  // The name of the function to be called.
-  string name = 1;
-
-  // Input to be passed to the function.
-  string data = 2;
-}
-
-// Response of CallFunction method.
-message CallFunctionResponse {
-  // Execution id of function invocation.
-  string execution_id = 1;
-
-  // Result populated for successful execution of synchronous function. Will
-  // not be populated if function does not return a result through context.
-  string result = 2;
-
-  // Either system or user-function generated error. Set if execution
-  // was not successful.
-  string error = 3;
-}
-
-// Describes the current stage of a deployment.
-enum CloudFunctionStatus {
-  // Status not specified.
-  STATUS_UNSPECIFIED = 0;
-
-  // Successfully deployed.
-  READY = 1;
-
-  // Not deployed correctly - behavior is undefined. The item should be updated
-  // or deleted to move it out of this state.
-  FAILED = 2;
-
-  // Creation or update in progress.
-  DEPLOYING = 3;
-
-  // Deletion in progress.
-  DELETING = 4;
-}
diff --git a/googleapis/cloud/functions/v1beta2/operations.pb.go b/googleapis/cloud/functions/v1beta2/operations.pb.go
index 5d1fd613c7cee48021a53803332dfb681910c9fa..33658f6ed78f82a9bb0e074e3b977efb7c4bdab2 100644
--- a/googleapis/cloud/functions/v1beta2/operations.pb.go
+++ b/googleapis/cloud/functions/v1beta2/operations.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/functions/v1beta2/operations.proto
+// source: google/cloud/functions/v1beta2/operations.proto
 // DO NOT EDIT!
 
-package google_cloud_functions_v1beta2 // import "google.golang.org/genproto/googleapis/cloud/functions/v1beta2"
+package functions
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/any"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -63,6 +63,20 @@ func (m *OperationMetadataV1Beta2) String() string            { return proto.Com
 func (*OperationMetadataV1Beta2) ProtoMessage()               {}
 func (*OperationMetadataV1Beta2) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *OperationMetadataV1Beta2) GetTarget() string {
+	if m != nil {
+		return m.Target
+	}
+	return ""
+}
+
+func (m *OperationMetadataV1Beta2) GetType() OperationType {
+	if m != nil {
+		return m.Type
+	}
+	return OperationType_OPERATION_UNSPECIFIED
+}
+
 func (m *OperationMetadataV1Beta2) GetRequest() *google_protobuf1.Any {
 	if m != nil {
 		return m.Request
@@ -75,32 +89,29 @@ func init() {
 	proto.RegisterEnum("google.cloud.functions.v1beta2.OperationType", OperationType_name, OperationType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/functions/v1beta2/operations.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/cloud/functions/v1beta2/operations.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 346 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x8f, 0x5f, 0x4f, 0xf2, 0x30,
-	0x18, 0xc5, 0xdf, 0xc2, 0x1b, 0x8c, 0x35, 0x2a, 0x99, 0x7f, 0x32, 0xb9, 0x30, 0x84, 0x2b, 0x62,
-	0x62, 0x1b, 0xf0, 0x0b, 0x38, 0xa0, 0x24, 0x4b, 0x74, 0x2c, 0x13, 0xbc, 0x25, 0xdd, 0x28, 0xb5,
-	0x09, 0xb4, 0x75, 0xeb, 0x48, 0xf6, 0x81, 0xfc, 0x9e, 0xa6, 0x83, 0x11, 0xb8, 0x51, 0x2f, 0x7a,
-	0xd1, 0xf3, 0x3c, 0xe7, 0xf7, 0x9c, 0x03, 0x03, 0xae, 0x14, 0x5f, 0x31, 0xc4, 0xd5, 0x8a, 0x4a,
-	0x8e, 0x54, 0xca, 0x31, 0x67, 0x52, 0xa7, 0xca, 0x28, 0xbc, 0x1d, 0x51, 0x2d, 0x32, 0x9c, 0xac,
-	0x54, 0xbe, 0xc0, 0xcb, 0x5c, 0x26, 0x46, 0x28, 0x99, 0xe1, 0x4d, 0x2f, 0x66, 0x86, 0xf6, 0xb1,
-	0xd2, 0x2c, 0xa5, 0xa5, 0x84, 0x4a, 0x8f, 0x73, 0xbf, 0xe3, 0x95, 0x06, 0xb4, 0x37, 0xa0, 0x9d,
-	0xa1, 0xe5, 0xff, 0xed, 0x1e, 0xd5, 0x02, 0x67, 0x2c, 0xdd, 0x88, 0x84, 0x25, 0x4a, 0x2e, 0x05,
-	0xc7, 0x54, 0x4a, 0x65, 0x0e, 0x4f, 0xb5, 0x30, 0x17, 0xe6, 0x23, 0x8f, 0x51, 0xa2, 0xd6, 0x78,
-	0x8b, 0xc3, 0xe5, 0x20, 0xce, 0x97, 0x58, 0x9b, 0x42, 0xb3, 0x0c, 0x53, 0x59, 0xd8, 0xb7, 0x35,
-	0x74, 0xbe, 0x00, 0x74, 0x27, 0x55, 0xe0, 0x57, 0x66, 0xe8, 0x82, 0x1a, 0xfa, 0xde, 0x1b, 0xd8,
-	0x60, 0xce, 0x2d, 0x6c, 0x18, 0x9a, 0x72, 0x66, 0x5c, 0xd0, 0x06, 0xdd, 0xd3, 0x68, 0xf7, 0x73,
-	0x3c, 0xf8, 0xdf, 0xb2, 0xdc, 0x5a, 0x1b, 0x74, 0x2f, 0xfa, 0x8f, 0xe8, 0xe7, 0x7e, 0x68, 0xcf,
-	0x9f, 0x16, 0x9a, 0x45, 0xa5, 0xd5, 0x41, 0xf0, 0x24, 0x65, 0x9f, 0x39, 0xcb, 0x8c, 0x5b, 0x6f,
-	0x83, 0xee, 0x59, 0xff, 0xba, 0xa2, 0x54, 0x79, 0x91, 0x27, 0x8b, 0xa8, 0x5a, 0x7a, 0x10, 0xf0,
-	0xfc, 0x08, 0xe3, 0xdc, 0xc1, 0x9b, 0x49, 0x48, 0x22, 0x6f, 0xea, 0x4f, 0x82, 0xf9, 0x2c, 0x78,
-	0x0b, 0xc9, 0xd0, 0x1f, 0xfb, 0x64, 0xd4, 0xfc, 0xe7, 0x5c, 0xc1, 0xcb, 0x61, 0x44, 0xbc, 0x29,
-	0x99, 0x8f, 0x67, 0xc1, 0xd0, 0x2e, 0x34, 0x81, 0x15, 0x67, 0xe1, 0xe8, 0x48, 0xac, 0x59, 0x71,
-	0x44, 0x5e, 0xc8, 0xa1, 0x58, 0x1f, 0x3c, 0xc3, 0x4e, 0xa2, 0xd6, 0xbf, 0x94, 0x1a, 0xb8, 0xe3,
-	0x4a, 0xda, 0xe7, 0xca, 0x42, 0x1b, 0x3d, 0x04, 0x71, 0xa3, 0xec, 0xf0, 0xf4, 0x1d, 0x00, 0x00,
-	0xff, 0xff, 0xd6, 0x4b, 0x8f, 0xf4, 0x49, 0x02, 0x00, 0x00,
+	// 333 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0x4f, 0x4f, 0xf2, 0x30,
+	0x1c, 0xc7, 0x9f, 0xc2, 0x13, 0x8c, 0x35, 0x2a, 0x99, 0x7f, 0x32, 0x88, 0x31, 0x84, 0x13, 0x31,
+	0xb1, 0x0d, 0x78, 0xf4, 0x34, 0xa0, 0x18, 0x12, 0x85, 0x65, 0x82, 0x07, 0x2f, 0xa4, 0x40, 0x69,
+	0x96, 0xcc, 0xb6, 0x6e, 0x9d, 0xc9, 0x5e, 0x82, 0x2f, 0xc4, 0xf7, 0x69, 0x56, 0xba, 0x05, 0x0e,
+	0xea, 0xb1, 0x9f, 0xf6, 0xf3, 0xed, 0xf7, 0x97, 0x1f, 0xc4, 0x5c, 0x4a, 0x1e, 0x31, 0xbc, 0x8a,
+	0x64, 0xba, 0xc6, 0x9b, 0x54, 0xac, 0x74, 0x28, 0x45, 0x82, 0x3f, 0xba, 0x4b, 0xa6, 0x69, 0x0f,
+	0x4b, 0xc5, 0x62, 0x6a, 0x10, 0x52, 0xb1, 0xd4, 0xd2, 0xb9, 0xde, 0x0a, 0xc8, 0x08, 0xa8, 0x14,
+	0x90, 0x15, 0x9a, 0x57, 0x36, 0x90, 0xaa, 0x10, 0x53, 0x21, 0xa4, 0xde, 0xb5, 0x9b, 0x0d, 0x7b,
+	0x6b, 0x4e, 0xcb, 0x74, 0x83, 0xa9, 0xc8, 0xb6, 0x57, 0xed, 0x2f, 0x00, 0xdd, 0x69, 0xf1, 0xdb,
+	0x13, 0xd3, 0x74, 0x4d, 0x35, 0x7d, 0xe9, 0xf6, 0xf3, 0x54, 0xe7, 0x12, 0xd6, 0x34, 0x8d, 0x39,
+	0xd3, 0x2e, 0x68, 0x81, 0xce, 0x61, 0x60, 0x4f, 0x8e, 0x07, 0xff, 0xeb, 0x4c, 0x31, 0xb7, 0xd2,
+	0x02, 0x9d, 0x93, 0xde, 0x2d, 0xfa, 0xbd, 0x1c, 0x2a, 0xf3, 0x67, 0x99, 0x62, 0x81, 0x51, 0x1d,
+	0x04, 0x0f, 0x62, 0xf6, 0x9e, 0xb2, 0x44, 0xbb, 0xd5, 0x16, 0xe8, 0x1c, 0xf5, 0xce, 0x8b, 0x94,
+	0xa2, 0x24, 0xf2, 0x44, 0x16, 0x14, 0x8f, 0x6e, 0x42, 0x78, 0xbc, 0x17, 0xe3, 0x34, 0xe0, 0xc5,
+	0xd4, 0x27, 0x81, 0x37, 0x1b, 0x4f, 0x27, 0x8b, 0xf9, 0xe4, 0xd9, 0x27, 0x83, 0xf1, 0x68, 0x4c,
+	0x86, 0xf5, 0x7f, 0xce, 0x19, 0x3c, 0x1d, 0x04, 0xc4, 0x9b, 0x91, 0xc5, 0x68, 0x3e, 0x19, 0xe4,
+	0x0f, 0xea, 0x20, 0x87, 0x73, 0x7f, 0xb8, 0x07, 0x2b, 0x39, 0x1c, 0x92, 0x47, 0xb2, 0x0b, 0xab,
+	0xfd, 0x4f, 0x00, 0xdb, 0x2b, 0xf9, 0xf6, 0xc7, 0x54, 0x7d, 0x77, 0x54, 0xa0, 0xb2, 0x58, 0xe2,
+	0xe7, 0xdd, 0x7d, 0xf0, 0xfa, 0x60, 0x5d, 0x2e, 0x23, 0x2a, 0x38, 0x92, 0x31, 0xc7, 0x9c, 0x09,
+	0x33, 0x99, 0x5d, 0x3d, 0x55, 0x61, 0xf2, 0xd3, 0xfa, 0xef, 0x4b, 0xb2, 0xac, 0x19, 0xe7, 0xee,
+	0x3b, 0x00, 0x00, 0xff, 0xff, 0x3c, 0x8a, 0xb1, 0x83, 0x31, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/functions/v1beta2/operations.proto b/googleapis/cloud/functions/v1beta2/operations.proto
deleted file mode 100644
index 2a2590f1a970f2c493b3831f2f3ce3e55f4b68b7..0000000000000000000000000000000000000000
--- a/googleapis/cloud/functions/v1beta2/operations.proto
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.functions.v1beta2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "FunctionsOperationsProto";
-option java_package = "com.google.cloud.functions.v1beta2";
-
-
-// Metadata describing an [Operation][google.longrunning.Operation]
-message OperationMetadataV1Beta2 {
-  // Target of the operation - for example
-  // projects/project-1/locations/region-1/functions/function-1
-  string target = 1;
-
-  // Type of operation.
-  OperationType type = 2;
-
-  // The original request that started the operation.
-  google.protobuf.Any request = 3;
-}
-
-// A type of an operation.
-enum OperationType {
-  // Unknown operation type.
-  OPERATION_UNSPECIFIED = 0;
-
-  // Triggered by CreateFunction call
-  CREATE_FUNCTION = 1;
-
-  // Triggered by UpdateFunction call
-  UPDATE_FUNCTION = 2;
-
-  // Triggered by DeleteFunction call.
-  DELETE_FUNCTION = 3;
-}
diff --git a/googleapis/cloud/language/v1/language_service.pb.go b/googleapis/cloud/language/v1/language_service.pb.go
index dceb9f47176034879b7c6fa4537c9af5ae8e8bd1..59b83931e58c847a0339f151407c5d162be2cb63 100644
--- a/googleapis/cloud/language/v1/language_service.pb.go
+++ b/googleapis/cloud/language/v1/language_service.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/language/v1/language_service.proto
+// source: google/cloud/language/v1/language_service.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_language_v1 is a generated protocol buffer package.
+Package language is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/language/v1/language_service.proto
+	google/cloud/language/v1/language_service.proto
 
 It has these top-level messages:
 	Document
@@ -27,12 +27,12 @@ It has these top-level messages:
 	AnnotateTextRequest
 	AnnotateTextResponse
 */
-package google_cloud_language_v1 // import "google.golang.org/genproto/googleapis/cloud/language/v1"
+package language
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -1102,6 +1102,13 @@ func (m *Document) GetSource() isDocument_Source {
 	return nil
 }
 
+func (m *Document) GetType() Document_Type {
+	if m != nil {
+		return m.Type
+	}
+	return Document_TYPE_UNSPECIFIED
+}
+
 func (m *Document) GetContent() string {
 	if x, ok := m.GetSource().(*Document_Content); ok {
 		return x.Content
@@ -1116,6 +1123,13 @@ func (m *Document) GetGcsContentUri() string {
 	return ""
 }
 
+func (m *Document) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Document) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _Document_OneofMarshaler, _Document_OneofUnmarshaler, _Document_OneofSizer, []interface{}{
@@ -1241,6 +1255,20 @@ func (m *Entity) String() string            { return proto.CompactTextString(m)
 func (*Entity) ProtoMessage()               {}
 func (*Entity) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *Entity) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Entity) GetType() Entity_Type {
+	if m != nil {
+		return m.Type
+	}
+	return Entity_UNKNOWN
+}
+
 func (m *Entity) GetMetadata() map[string]string {
 	if m != nil {
 		return m.Metadata
@@ -1248,6 +1276,13 @@ func (m *Entity) GetMetadata() map[string]string {
 	return nil
 }
 
+func (m *Entity) GetSalience() float32 {
+	if m != nil {
+		return m.Salience
+	}
+	return 0
+}
+
 func (m *Entity) GetMentions() []*EntityMention {
 	if m != nil {
 		return m.Mentions
@@ -1293,6 +1328,13 @@ func (m *Token) GetDependencyEdge() *DependencyEdge {
 	return nil
 }
 
+func (m *Token) GetLemma() string {
+	if m != nil {
+		return m.Lemma
+	}
+	return ""
+}
+
 // Represents the feeling associated with the entire text or entities in
 // the text.
 type Sentiment struct {
@@ -1310,6 +1352,20 @@ func (m *Sentiment) String() string            { return proto.CompactTextString(
 func (*Sentiment) ProtoMessage()               {}
 func (*Sentiment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *Sentiment) GetMagnitude() float32 {
+	if m != nil {
+		return m.Magnitude
+	}
+	return 0
+}
+
+func (m *Sentiment) GetScore() float32 {
+	if m != nil {
+		return m.Score
+	}
+	return 0
+}
+
 // Represents part of speech information for a token. Parts of speech
 // are as defined in
 // http://www.lrec-conf.org/proceedings/lrec2012/pdf/274_Paper.pdf
@@ -1345,6 +1401,90 @@ func (m *PartOfSpeech) String() string            { return proto.CompactTextStri
 func (*PartOfSpeech) ProtoMessage()               {}
 func (*PartOfSpeech) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *PartOfSpeech) GetTag() PartOfSpeech_Tag {
+	if m != nil {
+		return m.Tag
+	}
+	return PartOfSpeech_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetAspect() PartOfSpeech_Aspect {
+	if m != nil {
+		return m.Aspect
+	}
+	return PartOfSpeech_ASPECT_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetCase() PartOfSpeech_Case {
+	if m != nil {
+		return m.Case
+	}
+	return PartOfSpeech_CASE_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetForm() PartOfSpeech_Form {
+	if m != nil {
+		return m.Form
+	}
+	return PartOfSpeech_FORM_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetGender() PartOfSpeech_Gender {
+	if m != nil {
+		return m.Gender
+	}
+	return PartOfSpeech_GENDER_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetMood() PartOfSpeech_Mood {
+	if m != nil {
+		return m.Mood
+	}
+	return PartOfSpeech_MOOD_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetNumber() PartOfSpeech_Number {
+	if m != nil {
+		return m.Number
+	}
+	return PartOfSpeech_NUMBER_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetPerson() PartOfSpeech_Person {
+	if m != nil {
+		return m.Person
+	}
+	return PartOfSpeech_PERSON_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetProper() PartOfSpeech_Proper {
+	if m != nil {
+		return m.Proper
+	}
+	return PartOfSpeech_PROPER_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetReciprocity() PartOfSpeech_Reciprocity {
+	if m != nil {
+		return m.Reciprocity
+	}
+	return PartOfSpeech_RECIPROCITY_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetTense() PartOfSpeech_Tense {
+	if m != nil {
+		return m.Tense
+	}
+	return PartOfSpeech_TENSE_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetVoice() PartOfSpeech_Voice {
+	if m != nil {
+		return m.Voice
+	}
+	return PartOfSpeech_VOICE_UNKNOWN
+}
+
 // Represents dependency parse tree information for a token. (For more
 // information on dependency labels, see
 // http://www.aclweb.org/anthology/P13-2017
@@ -1364,6 +1504,20 @@ func (m *DependencyEdge) String() string            { return proto.CompactTextSt
 func (*DependencyEdge) ProtoMessage()               {}
 func (*DependencyEdge) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *DependencyEdge) GetHeadTokenIndex() int32 {
+	if m != nil {
+		return m.HeadTokenIndex
+	}
+	return 0
+}
+
+func (m *DependencyEdge) GetLabel() DependencyEdge_Label {
+	if m != nil {
+		return m.Label
+	}
+	return DependencyEdge_UNKNOWN
+}
+
 // Represents a mention for an entity in the text. Currently, proper noun
 // mentions are supported.
 type EntityMention struct {
@@ -1385,6 +1539,13 @@ func (m *EntityMention) GetText() *TextSpan {
 	return nil
 }
 
+func (m *EntityMention) GetType() EntityMention_Type {
+	if m != nil {
+		return m.Type
+	}
+	return EntityMention_TYPE_UNKNOWN
+}
+
 // Represents an output piece of text.
 type TextSpan struct {
 	// The content of the output text.
@@ -1399,6 +1560,20 @@ func (m *TextSpan) String() string            { return proto.CompactTextString(m
 func (*TextSpan) ProtoMessage()               {}
 func (*TextSpan) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *TextSpan) GetContent() string {
+	if m != nil {
+		return m.Content
+	}
+	return ""
+}
+
+func (m *TextSpan) GetBeginOffset() int32 {
+	if m != nil {
+		return m.BeginOffset
+	}
+	return 0
+}
+
 // The sentiment analysis request message.
 type AnalyzeSentimentRequest struct {
 	// Input document. Currently, `analyzeSentiment` only supports English text
@@ -1420,6 +1595,13 @@ func (m *AnalyzeSentimentRequest) GetDocument() *Document {
 	return nil
 }
 
+func (m *AnalyzeSentimentRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // The sentiment analysis response message.
 type AnalyzeSentimentResponse struct {
 	// The overall sentiment of the input document.
@@ -1444,6 +1626,13 @@ func (m *AnalyzeSentimentResponse) GetDocumentSentiment() *Sentiment {
 	return nil
 }
 
+func (m *AnalyzeSentimentResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 func (m *AnalyzeSentimentResponse) GetSentences() []*Sentence {
 	if m != nil {
 		return m.Sentences
@@ -1471,6 +1660,13 @@ func (m *AnalyzeEntitiesRequest) GetDocument() *Document {
 	return nil
 }
 
+func (m *AnalyzeEntitiesRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // The entity analysis response message.
 type AnalyzeEntitiesResponse struct {
 	// The recognized entities in the input document.
@@ -1493,6 +1689,13 @@ func (m *AnalyzeEntitiesResponse) GetEntities() []*Entity {
 	return nil
 }
 
+func (m *AnalyzeEntitiesResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 // The syntax analysis request message.
 type AnalyzeSyntaxRequest struct {
 	// Input document.
@@ -1513,6 +1716,13 @@ func (m *AnalyzeSyntaxRequest) GetDocument() *Document {
 	return nil
 }
 
+func (m *AnalyzeSyntaxRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // The syntax analysis response message.
 type AnalyzeSyntaxResponse struct {
 	// Sentences in the input document.
@@ -1544,6 +1754,13 @@ func (m *AnalyzeSyntaxResponse) GetTokens() []*Token {
 	return nil
 }
 
+func (m *AnalyzeSyntaxResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 // The request message for the text annotation API, which can perform multiple
 // analysis types (sentiment, entities, and syntax) in one call.
 type AnnotateTextRequest struct {
@@ -1574,6 +1791,13 @@ func (m *AnnotateTextRequest) GetFeatures() *AnnotateTextRequest_Features {
 	return nil
 }
 
+func (m *AnnotateTextRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // All available features for sentiment, syntax, and semantic analysis.
 // Setting each one to true will enable that specific analysis for the input.
 type AnnotateTextRequest_Features struct {
@@ -1592,6 +1816,27 @@ func (*AnnotateTextRequest_Features) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{15, 0}
 }
 
+func (m *AnnotateTextRequest_Features) GetExtractSyntax() bool {
+	if m != nil {
+		return m.ExtractSyntax
+	}
+	return false
+}
+
+func (m *AnnotateTextRequest_Features) GetExtractEntities() bool {
+	if m != nil {
+		return m.ExtractEntities
+	}
+	return false
+}
+
+func (m *AnnotateTextRequest_Features) GetExtractDocumentSentiment() bool {
+	if m != nil {
+		return m.ExtractDocumentSentiment
+	}
+	return false
+}
+
 // The text annotations response message.
 type AnnotateTextResponse struct {
 	// Sentences in the input document. Populated if the user enables
@@ -1647,6 +1892,13 @@ func (m *AnnotateTextResponse) GetDocumentSentiment() *Sentiment {
 	return nil
 }
 
+func (m *AnnotateTextResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Document)(nil), "google.cloud.language.v1.Document")
 	proto.RegisterType((*Sentence)(nil), "google.cloud.language.v1.Sentence")
@@ -1869,184 +2121,182 @@ var _LanguageService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/language/v1/language_service.proto",
+	Metadata: "google/cloud/language/v1/language_service.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/language/v1/language_service.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/language/v1/language_service.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 2730 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x6f, 0xdc, 0xc6,
-	0x15, 0x37, 0xf7, 0x4b, 0xbb, 0xb3, 0x92, 0x3c, 0x66, 0x9c, 0x64, 0xab, 0x7c, 0x39, 0x4c, 0xed,
-	0x28, 0x4e, 0xb2, 0x8a, 0x94, 0xd6, 0x71, 0x1c, 0x37, 0x31, 0x45, 0xce, 0xae, 0x28, 0x73, 0x87,
-	0xcc, 0x90, 0x5c, 0x2b, 0xb9, 0x2c, 0xe8, 0xdd, 0xd1, 0x66, 0x11, 0x89, 0xdc, 0x2e, 0x29, 0xc3,
-	0xea, 0xa5, 0x40, 0x81, 0x1e, 0x73, 0x4a, 0x0f, 0x45, 0x4f, 0x05, 0xfa, 0x71, 0x6c, 0xff, 0x80,
-	0x16, 0xe8, 0x3f, 0xd0, 0x5b, 0xff, 0x85, 0xde, 0x5a, 0xa0, 0xb7, 0xa2, 0x97, 0x02, 0xc5, 0x9b,
-	0x21, 0xf7, 0x43, 0x91, 0x6c, 0xc9, 0x08, 0xd0, 0xdc, 0x66, 0xde, 0xbe, 0xdf, 0xfb, 0x9e, 0xf7,
-	0x86, 0xb3, 0x88, 0x0e, 0xe3, 0x78, 0x78, 0xc0, 0x9b, 0xc3, 0xf8, 0x20, 0x8c, 0x86, 0xcd, 0x78,
-	0x32, 0xdc, 0x18, 0xf2, 0x68, 0x3c, 0x89, 0xd3, 0x78, 0x43, 0xfe, 0x14, 0x8e, 0x47, 0xc9, 0x46,
-	0xff, 0x20, 0x3e, 0x1a, 0x6c, 0x00, 0xcb, 0x51, 0x38, 0xe4, 0x1b, 0x8f, 0x36, 0xa7, 0xeb, 0x5e,
-	0xc2, 0x27, 0x8f, 0x46, 0x7d, 0xde, 0x14, 0x18, 0xb5, 0x91, 0xc9, 0x13, 0x80, 0x66, 0xce, 0xd4,
-	0x7c, 0xb4, 0xb9, 0x66, 0x9d, 0x4f, 0x53, 0x38, 0x1e, 0x6d, 0x64, 0x22, 0xfb, 0x71, 0xb4, 0x3f,
-	0x1a, 0x6e, 0x84, 0x51, 0x14, 0xa7, 0x61, 0x3a, 0x8a, 0xa3, 0x44, 0x2a, 0xd1, 0xfe, 0xa1, 0xa0,
-	0xaa, 0x19, 0xf7, 0x8f, 0x0e, 0x79, 0x94, 0xaa, 0x1f, 0xa1, 0x52, 0x7a, 0x3c, 0xe6, 0x0d, 0xe5,
-	0x9a, 0xb2, 0xbe, 0xba, 0xf5, 0x66, 0xf3, 0x2c, 0x03, 0x9a, 0x39, 0xa2, 0xe9, 0x1f, 0x8f, 0x39,
-	0x13, 0x20, 0x75, 0x0d, 0x2d, 0xf5, 0xe3, 0x28, 0xe5, 0x51, 0xda, 0x28, 0x5c, 0x53, 0xd6, 0x6b,
-	0x3b, 0x97, 0x58, 0x4e, 0x50, 0xd7, 0xd1, 0xe5, 0x61, 0x3f, 0xe9, 0x65, 0xdb, 0xde, 0xd1, 0x64,
-	0xd4, 0x28, 0x66, 0x3c, 0x2b, 0xc3, 0x7e, 0x62, 0x48, 0x7a, 0x30, 0x19, 0xa9, 0x6b, 0xa8, 0x9a,
-	0x2b, 0x6a, 0x94, 0x80, 0x85, 0x4d, 0xf7, 0xda, 0x2d, 0x54, 0x02, 0x7d, 0xea, 0x55, 0x84, 0xfd,
-	0xcf, 0x5c, 0xd2, 0x0b, 0xa8, 0xe7, 0x12, 0xc3, 0x6a, 0x59, 0xc4, 0xc4, 0x97, 0xd4, 0x55, 0x84,
-	0x5c, 0x5b, 0xb7, 0x68, 0xcf, 0x27, 0x7b, 0x3e, 0x56, 0xd4, 0x2a, 0x2a, 0xed, 0xf8, 0x1d, 0x1b,
-	0x17, 0xb6, 0xab, 0xa8, 0x92, 0xc4, 0x47, 0x93, 0x3e, 0xd7, 0x7e, 0xae, 0xa0, 0xaa, 0xc7, 0x41,
-	0x59, 0x9f, 0xab, 0xb7, 0x50, 0x29, 0xe5, 0x8f, 0x53, 0xe1, 0x6d, 0x7d, 0x4b, 0x3b, 0xdb, 0x5b,
-	0x9f, 0x3f, 0x4e, 0xbd, 0x71, 0x18, 0x31, 0xc1, 0xaf, 0xea, 0xa8, 0x96, 0xf0, 0x28, 0x1d, 0x1d,
-	0xe6, 0xae, 0xd6, 0xb7, 0xde, 0x38, 0x1b, 0xec, 0xe5, 0xac, 0x6c, 0x86, 0xd2, 0xfe, 0x5c, 0x44,
-	0x15, 0x12, 0xa5, 0xa3, 0xf4, 0x58, 0x55, 0x51, 0x29, 0x0a, 0x0f, 0x65, 0xcc, 0x6b, 0x4c, 0xac,
-	0xd5, 0x0f, 0xb3, 0x3c, 0x14, 0x44, 0x1e, 0xae, 0x9f, 0x2d, 0x5c, 0xca, 0x98, 0xcf, 0xc2, 0x2e,
-	0xaa, 0x1e, 0xf2, 0x34, 0x1c, 0x84, 0x69, 0xd8, 0x28, 0x5e, 0x2b, 0xae, 0xd7, 0xb7, 0x9a, 0x4f,
-	0x85, 0x77, 0x32, 0x00, 0x89, 0xd2, 0xc9, 0x31, 0x9b, 0xe2, 0x21, 0x17, 0x49, 0x78, 0x30, 0x82,
-	0x60, 0x89, 0x5c, 0x14, 0xd8, 0x74, 0xaf, 0x1a, 0xa0, 0x27, 0x12, 0x95, 0xd4, 0x28, 0x0b, 0x3d,
-	0x6f, 0x3e, 0x4d, 0x4f, 0x47, 0xf2, 0xb3, 0x29, 0x70, 0xed, 0x23, 0xb4, 0xb2, 0xa0, 0x5b, 0xc5,
-	0xa8, 0xf8, 0x25, 0x3f, 0xce, 0x62, 0x01, 0x4b, 0xf5, 0x2a, 0x2a, 0x3f, 0x0a, 0x0f, 0x8e, 0x64,
-	0x2c, 0x6a, 0x4c, 0x6e, 0xee, 0x14, 0x6e, 0x2b, 0xda, 0x71, 0x56, 0x0d, 0x75, 0xb4, 0x14, 0xd0,
-	0xfb, 0xd4, 0x79, 0x40, 0xf1, 0x25, 0x15, 0xa1, 0x8a, 0x4b, 0x98, 0xe7, 0x50, 0xac, 0xa8, 0xcb,
-	0xa8, 0x6a, 0x3b, 0x86, 0xee, 0x5b, 0x0e, 0xc5, 0x05, 0x15, 0xa3, 0x65, 0x87, 0xb5, 0x75, 0x6a,
-	0x7d, 0x2e, 0x29, 0x45, 0xb5, 0x86, 0xca, 0xa4, 0x4b, 0xa8, 0x8f, 0x4b, 0xea, 0x65, 0x54, 0x7f,
-	0xe0, 0xb0, 0xfb, 0x3d, 0xa7, 0xd5, 0xd3, 0x99, 0x8f, 0xcb, 0xea, 0x15, 0xb4, 0x62, 0x38, 0xd4,
-	0x0b, 0x3a, 0x84, 0xf5, 0xda, 0x8e, 0x63, 0xe2, 0x0a, 0xb0, 0x3b, 0xfe, 0x0e, 0x61, 0x78, 0x49,
-	0xfb, 0xb7, 0x82, 0xca, 0x7e, 0xfc, 0x25, 0x8f, 0x9e, 0xb9, 0x86, 0x6c, 0xb4, 0x3a, 0x0e, 0x27,
-	0x69, 0x2f, 0xde, 0xef, 0x25, 0x63, 0xce, 0xfb, 0x5f, 0x64, 0x85, 0x74, 0xe3, 0x6c, 0x09, 0x6e,
-	0x38, 0x49, 0x9d, 0x7d, 0x4f, 0x70, 0xb3, 0xe5, 0xf1, 0xdc, 0x4e, 0xfd, 0x14, 0x5d, 0x1e, 0xf0,
-	0x31, 0x8f, 0x06, 0x3c, 0xea, 0x1f, 0xf7, 0xf8, 0x60, 0xc8, 0xc5, 0xf1, 0xaa, 0x6f, 0xad, 0x3f,
-	0xe1, 0x08, 0x4f, 0x01, 0x64, 0x30, 0xe4, 0x6c, 0x75, 0xb0, 0xb0, 0x87, 0xb8, 0x1f, 0xf0, 0xc3,
-	0xc3, 0x30, 0x3b, 0x84, 0x72, 0xa3, 0x7d, 0x82, 0x6a, 0xd3, 0x7a, 0x56, 0x5f, 0x46, 0xb5, 0xc3,
-	0x70, 0x18, 0x8d, 0xd2, 0xa3, 0x81, 0x4c, 0x4f, 0x81, 0xcd, 0x08, 0x20, 0x20, 0xe9, 0xc7, 0x13,
-	0x69, 0x49, 0x81, 0xc9, 0x8d, 0xf6, 0x5f, 0x8c, 0x96, 0xe7, 0x1d, 0x51, 0xef, 0xa2, 0x62, 0x1a,
-	0x0e, 0xb3, 0x8e, 0x73, 0xf3, 0x7c, 0xde, 0x37, 0xfd, 0x70, 0xc8, 0x00, 0xa6, 0x12, 0x54, 0x09,
-	0x93, 0x31, 0xef, 0xa7, 0xd9, 0x51, 0x79, 0xf7, 0x9c, 0x02, 0x74, 0x01, 0x62, 0x19, 0x58, 0xfd,
-	0x04, 0x95, 0xfa, 0x61, 0x22, 0x4d, 0x5d, 0xdd, 0x7a, 0xfb, 0x9c, 0x42, 0x8c, 0x30, 0xe1, 0x4c,
-	0x00, 0x41, 0xc0, 0x7e, 0x3c, 0x39, 0x14, 0xc1, 0x3a, 0xbf, 0x80, 0x56, 0x3c, 0x39, 0x64, 0x02,
-	0x08, 0x8e, 0x0c, 0x21, 0xfc, 0x93, 0x46, 0xf9, 0x42, 0x8e, 0xb4, 0x05, 0x88, 0x65, 0x60, 0xb0,
-	0xe3, 0x30, 0x8e, 0x07, 0x8d, 0xca, 0x85, 0xec, 0xe8, 0xc4, 0xf1, 0x80, 0x09, 0x20, 0xd8, 0x11,
-	0x1d, 0x1d, 0x3e, 0xe4, 0x93, 0xc6, 0xd2, 0x85, 0xec, 0xa0, 0x02, 0xc4, 0x32, 0x30, 0x88, 0x19,
-	0xf3, 0x49, 0x12, 0x47, 0x8d, 0xea, 0x85, 0xc4, 0xb8, 0x02, 0xc4, 0x32, 0xb0, 0x10, 0x33, 0x89,
-	0xc7, 0x7c, 0xd2, 0xa8, 0x5d, 0x4c, 0x8c, 0x00, 0xb1, 0x0c, 0xac, 0xfa, 0xa8, 0x3e, 0xe1, 0xfd,
-	0xd1, 0x78, 0x12, 0xf7, 0x47, 0xe9, 0x71, 0x03, 0x09, 0x59, 0x5b, 0xe7, 0x94, 0xc5, 0x66, 0x48,
-	0x36, 0x2f, 0x46, 0xdd, 0x46, 0xe5, 0x94, 0x47, 0x09, 0x6f, 0xd4, 0x85, 0xbc, 0x77, 0xce, 0x5b,
-	0xbb, 0x80, 0x61, 0x12, 0x0a, 0x32, 0x1e, 0xc5, 0xa3, 0x3e, 0x6f, 0x2c, 0x5f, 0x48, 0x46, 0x17,
-	0x30, 0x4c, 0x42, 0xb5, 0xaf, 0x14, 0x54, 0xf4, 0xc3, 0xe1, 0x62, 0x1f, 0x5c, 0x42, 0x45, 0xdd,
-	0xdc, 0xc5, 0x8a, 0x5c, 0xb8, 0xb8, 0x20, 0x17, 0x5d, 0x5c, 0x84, 0xb9, 0x68, 0x38, 0x74, 0x17,
-	0x97, 0x80, 0x64, 0x12, 0xe8, 0x76, 0x55, 0x54, 0xa2, 0x4e, 0x40, 0x71, 0x05, 0x48, 0x34, 0xe8,
-	0xe0, 0x25, 0x20, 0xb9, 0xcc, 0xa1, 0xb8, 0x0a, 0x24, 0x97, 0xf9, 0xb8, 0x06, 0x0d, 0xd0, 0x0d,
-	0xa8, 0xe1, 0x63, 0x04, 0xbf, 0x76, 0x09, 0xdb, 0xc6, 0x75, 0xb5, 0x8c, 0x94, 0x3d, 0xbc, 0x0c,
-	0xbf, 0xe9, 0xad, 0x96, 0xb5, 0x87, 0x57, 0x34, 0x07, 0x55, 0xe4, 0xf1, 0x52, 0x55, 0xb4, 0xaa,
-	0xc3, 0x84, 0xf6, 0x7b, 0x33, 0xc3, 0x60, 0x4a, 0x13, 0xd6, 0x22, 0x86, 0x6f, 0x75, 0x09, 0x56,
-	0xa0, 0x2d, 0x5b, 0x9d, 0x39, 0x4a, 0x01, 0x7a, 0xb1, 0xcb, 0x9c, 0x36, 0x23, 0x9e, 0x07, 0x84,
-	0xa2, 0xf6, 0x1f, 0x05, 0x95, 0xe0, 0xac, 0x01, 0xaf, 0xa1, 0x7b, 0x64, 0x51, 0x9a, 0x6e, 0x18,
-	0x81, 0xa7, 0x67, 0xd2, 0x56, 0x50, 0x4d, 0x37, 0xc1, 0x32, 0x4b, 0xb7, 0x71, 0x41, 0x76, 0xf1,
-	0x8e, 0x6b, 0x93, 0x0e, 0xa1, 0x82, 0xa3, 0x08, 0x03, 0xc2, 0x94, 0xdc, 0x25, 0x18, 0x10, 0x6d,
-	0x42, 0x2d, 0xb1, 0x2b, 0x0b, 0x4b, 0xa8, 0xe7, 0xb3, 0x00, 0x98, 0x75, 0x1b, 0x57, 0x66, 0x03,
-	0xa4, 0x4b, 0xf0, 0x12, 0xe8, 0xa2, 0x4e, 0xc7, 0xa2, 0x72, 0x5f, 0x85, 0x78, 0x3b, 0xdb, 0xb6,
-	0xf5, 0x69, 0x40, 0x70, 0x0d, 0x14, 0xbb, 0x3a, 0xf3, 0xa5, 0x2c, 0x04, 0x8a, 0x5d, 0x46, 0x5c,
-	0xc7, 0xb3, 0x60, 0xd6, 0xe8, 0x36, 0xae, 0x43, 0x30, 0x18, 0x69, 0xd9, 0x64, 0xcf, 0xea, 0x92,
-	0x1e, 0xb8, 0x81, 0x97, 0x81, 0x8d, 0x11, 0x5b, 0x08, 0x94, 0xa4, 0x15, 0xd0, 0xd9, 0xcd, 0x75,
-	0xae, 0x6a, 0x7f, 0x54, 0x50, 0x09, 0xba, 0x04, 0x18, 0xd7, 0x72, 0x58, 0x67, 0xce, 0xf5, 0x65,
-	0x54, 0xd5, 0x4d, 0x30, 0x48, 0xb7, 0x33, 0xc7, 0x83, 0x3d, 0xcb, 0xb6, 0x74, 0xf6, 0x19, 0x2e,
-	0x80, 0xb2, 0x39, 0xc7, 0x3f, 0x27, 0x0c, 0x17, 0x85, 0x08, 0x8b, 0xea, 0x76, 0x8f, 0x50, 0xd3,
-	0xa2, 0x6d, 0x5c, 0x82, 0x58, 0xb4, 0x09, 0x0b, 0xa8, 0x89, 0xcb, 0xb0, 0x66, 0x44, 0xb7, 0x2d,
-	0x4f, 0xfa, 0x6d, 0xb1, 0x6c, 0xb7, 0x04, 0xa9, 0xf5, 0x76, 0x1c, 0xe6, 0xe3, 0x2a, 0xa4, 0xdd,
-	0x76, 0x68, 0x5b, 0xd6, 0x82, 0xc3, 0x4c, 0xc2, 0x30, 0x02, 0xee, 0xec, 0x1a, 0x66, 0xe0, 0xba,
-	0x46, 0x50, 0x45, 0xf6, 0x24, 0xb0, 0xa1, 0x4d, 0xa8, 0x49, 0xd8, 0xa2, 0xd1, 0x2d, 0xd2, 0xb1,
-	0xa8, 0x45, 0xb3, 0x6c, 0x75, 0x74, 0xcf, 0x08, 0x6c, 0xd8, 0x16, 0xc0, 0x04, 0x4a, 0x02, 0x1f,
-	0x8c, 0xd5, 0x7e, 0x8a, 0x4a, 0xd0, 0x95, 0xc0, 0xe8, 0x8e, 0xe3, 0x98, 0x73, 0x22, 0xae, 0x22,
-	0x6c, 0x38, 0xd4, 0xcc, 0x02, 0xdb, 0x83, 0x5f, 0xb1, 0x02, 0xc9, 0x11, 0x65, 0xa4, 0x67, 0x45,
-	0x04, 0x7b, 0x6a, 0x5a, 0x59, 0x20, 0x8b, 0x10, 0x69, 0x8b, 0xfa, 0x84, 0x31, 0xa7, 0x9d, 0x67,
-	0xbf, 0x8e, 0x96, 0x76, 0x03, 0x59, 0x63, 0x65, 0x28, 0x3a, 0x2f, 0xd8, 0xde, 0x85, 0xf2, 0x06,
-	0x42, 0x45, 0xbb, 0x87, 0x2a, 0xb2, 0xa7, 0x81, 0x1f, 0x34, 0xe8, 0x6c, 0x9f, 0xf4, 0xc3, 0xb3,
-	0x68, 0x3b, 0xb0, 0x75, 0x86, 0x15, 0x71, 0xe9, 0xb0, 0x03, 0x26, 0x4a, 0xae, 0x8a, 0x4a, 0x66,
-	0xa0, 0xdb, 0xb8, 0xa8, 0xf9, 0xa8, 0x22, 0xdb, 0x19, 0x48, 0x90, 0x97, 0x92, 0x39, 0x09, 0x35,
-	0x54, 0x6e, 0x59, 0xcc, 0xf3, 0x25, 0xdc, 0x23, 0xe0, 0x13, 0x2e, 0x00, 0xd9, 0xdf, 0xb1, 0x98,
-	0x89, 0x8b, 0xe0, 0xe8, 0xac, 0x60, 0xb2, 0x4b, 0x4d, 0x49, 0xbb, 0x8d, 0x2a, 0xb2, 0xbb, 0x09,
-	0xa9, 0xcc, 0x71, 0x17, 0xec, 0x02, 0x4b, 0x04, 0x4d, 0x86, 0x84, 0x3a, 0x7e, 0x2f, 0xdb, 0x17,
-	0xb4, 0x5d, 0x54, 0x9f, 0xeb, 0x65, 0xea, 0x8b, 0xe8, 0x39, 0x46, 0x0c, 0xcb, 0x65, 0x8e, 0x61,
-	0xf9, 0x9f, 0x2d, 0x9e, 0xa9, 0xfc, 0x07, 0x51, 0x5a, 0xe0, 0xbf, 0x43, 0x7b, 0x73, 0xb4, 0x82,
-	0x96, 0xa0, 0xb2, 0xe8, 0x63, 0x10, 0x57, 0x9f, 0xd0, 0x85, 0x33, 0xf9, 0x3c, 0xba, 0x32, 0x9f,
-	0x20, 0xf1, 0xb3, 0xf4, 0xb2, 0x15, 0xf8, 0x01, 0x23, 0x32, 0x48, 0xae, 0xee, 0xf9, 0xb8, 0x08,
-	0x49, 0x70, 0x19, 0xf1, 0xe4, 0x2d, 0x6c, 0x05, 0xd5, 0xa6, 0xbd, 0x00, 0x97, 0xe5, 0x85, 0x3e,
-	0xc8, 0xf7, 0x15, 0x6d, 0x1b, 0x95, 0x45, 0xe3, 0x03, 0xa5, 0x5d, 0xc7, 0x32, 0xc8, 0xa2, 0xe3,
-	0xba, 0x31, 0x6b, 0x02, 0x86, 0x9e, 0xf7, 0x84, 0x82, 0x50, 0xa1, 0xe7, 0xbd, 0xe4, 0x5f, 0x4b,
-	0x68, 0x75, 0xf1, 0xe6, 0xa3, 0xae, 0x23, 0xfc, 0x05, 0x0f, 0x07, 0xbd, 0x14, 0x2e, 0x74, 0xbd,
-	0x51, 0x34, 0xe0, 0x8f, 0xc5, 0x75, 0xa4, 0xcc, 0x56, 0x81, 0x2e, 0xee, 0x79, 0x16, 0x50, 0x55,
-	0x13, 0x95, 0x0f, 0xc2, 0x87, 0xfc, 0x20, 0xbb, 0x6c, 0x34, 0xcf, 0x7b, 0xb9, 0x6a, 0xda, 0x80,
-	0x62, 0x12, 0xac, 0xfd, 0xb3, 0x82, 0xca, 0x82, 0xf0, 0x8d, 0x9b, 0xab, 0xbe, 0xbd, 0xcd, 0x48,
-	0x17, 0x2b, 0xa2, 0x9b, 0xc2, 0xf9, 0x95, 0x05, 0xa1, 0x9b, 0x5d, 0xc3, 0x96, 0xad, 0x4b, 0x37,
-	0xbb, 0x1d, 0xc7, 0xc4, 0x25, 0x88, 0xa0, 0x0e, 0xab, 0xb2, 0x60, 0x70, 0x5d, 0x07, 0xce, 0x2d,
-	0x10, 0x7d, 0x9f, 0xe1, 0x25, 0xd1, 0xec, 0x83, 0x3d, 0xd9, 0xa4, 0xf4, 0x60, 0x0f, 0xfc, 0xc7,
-	0x35, 0xb5, 0x82, 0x0a, 0x86, 0x81, 0x11, 0x40, 0x0c, 0x21, 0xbe, 0x3e, 0x1d, 0x06, 0xa2, 0x83,
-	0x1b, 0x70, 0x04, 0xf0, 0x8a, 0x08, 0x20, 0x2c, 0x05, 0x6c, 0x55, 0x8e, 0x09, 0x17, 0x5f, 0xce,
-	0xe7, 0x05, 0x06, 0x06, 0xd3, 0xf2, 0x0c, 0x27, 0x60, 0x1e, 0xc1, 0x57, 0x44, 0xcd, 0x3b, 0xdb,
-	0xbb, 0x58, 0x85, 0x15, 0xd9, 0x73, 0x6d, 0xfc, 0x9c, 0xe8, 0xad, 0x0e, 0xf1, 0x1e, 0x58, 0xfe,
-	0x0e, 0xbe, 0x0a, 0x74, 0x0b, 0x38, 0x9e, 0x87, 0x55, 0x47, 0x67, 0xf7, 0xf1, 0x0b, 0x20, 0xad,
-	0xf3, 0x80, 0xe0, 0x17, 0xe5, 0xa2, 0x8b, 0x1b, 0x62, 0xf8, 0x90, 0x36, 0xfe, 0x1e, 0x18, 0x4a,
-	0x29, 0x5e, 0x03, 0x21, 0xd4, 0xcd, 0x7c, 0x7e, 0x09, 0x2c, 0xa4, 0xc2, 0xc2, 0x97, 0xc1, 0x00,
-	0x3a, 0xb5, 0xf0, 0x95, 0x7c, 0x6a, 0xbd, 0x2a, 0x5a, 0x88, 0x38, 0xab, 0xf8, 0x35, 0x98, 0x4c,
-	0x2e, 0xbe, 0x96, 0x75, 0x66, 0xdd, 0xd7, 0xf7, 0x2c, 0x0f, 0xbf, 0x2e, 0xab, 0x81, 0xf9, 0x20,
-	0x51, 0x13, 0x13, 0x4d, 0x04, 0xe2, 0x0d, 0x51, 0x92, 0x60, 0xe1, 0xf7, 0xe5, 0xca, 0xf3, 0xf0,
-	0x75, 0xc1, 0xeb, 0x78, 0x3e, 0xd8, 0x74, 0x23, 0xab, 0x54, 0xc1, 0xfd, 0xe6, 0x74, 0x43, 0x77,
-	0xf1, 0xba, 0x3c, 0x74, 0x04, 0x22, 0xf3, 0x96, 0x1c, 0x9b, 0xa4, 0x85, 0x6f, 0x66, 0x2b, 0x17,
-	0xbf, 0x2d, 0xb4, 0x30, 0x87, 0xda, 0xf8, 0x9d, 0x7c, 0x96, 0xbe, 0x0b, 0x1e, 0xba, 0x1e, 0x6e,
-	0x82, 0x87, 0x9f, 0x06, 0x3a, 0x15, 0xf6, 0x6c, 0x00, 0x27, 0x33, 0x60, 0xf9, 0x1e, 0xfc, 0x20,
-	0x96, 0x8c, 0xd8, 0x78, 0x53, 0xfc, 0x60, 0x32, 0xc7, 0xc5, 0x5b, 0x20, 0x02, 0x14, 0xbc, 0x0f,
-	0x36, 0x30, 0xd2, 0xa1, 0x3a, 0xf5, 0xf1, 0x0f, 0xe4, 0xa1, 0x05, 0x3f, 0xa9, 0x19, 0x74, 0xf0,
-	0x0f, 0x41, 0x3b, 0x73, 0x1c, 0x1f, 0xdf, 0x82, 0x95, 0x07, 0xc1, 0xf9, 0x40, 0xac, 0x82, 0x56,
-	0x0b, 0xdf, 0x86, 0x95, 0xd0, 0xf8, 0xa1, 0xe8, 0x37, 0x8e, 0x6b, 0x19, 0xf8, 0x8e, 0x98, 0xe9,
-	0x40, 0xfc, 0x68, 0x61, 0x06, 0xdd, 0x05, 0x96, 0x3d, 0xe1, 0xf6, 0x8f, 0x44, 0xa7, 0x0a, 0xc4,
-	0x98, 0xff, 0x58, 0x20, 0x2d, 0xdf, 0x26, 0xf8, 0x13, 0x39, 0x8a, 0xba, 0xee, 0x0e, 0xa0, 0xef,
-	0x65, 0x25, 0x07, 0x27, 0x10, 0xeb, 0xa2, 0x3a, 0x83, 0xbd, 0x6e, 0x17, 0x6f, 0xc3, 0xd2, 0x14,
-	0x5a, 0x0d, 0x60, 0x69, 0x39, 0x8c, 0x58, 0x6d, 0x8a, 0x4d, 0x08, 0xc5, 0xfd, 0x07, 0x98, 0x88,
-	0xe1, 0x62, 0x79, 0x3e, 0x6e, 0xc9, 0xeb, 0x48, 0xc7, 0xc0, 0x6d, 0x51, 0x00, 0x4e, 0x47, 0xd6,
-	0xe5, 0x0e, 0x0c, 0x83, 0x7c, 0x27, 0x12, 0x6f, 0x09, 0xce, 0xa0, 0x63, 0xe0, 0x5d, 0x08, 0x8b,
-	0xe1, 0xb8, 0xf8, 0x3e, 0x44, 0xc2, 0xb4, 0x3c, 0x31, 0xb7, 0x89, 0x89, 0x6d, 0xed, 0x4f, 0x0a,
-	0x5a, 0x59, 0xf8, 0xfe, 0x7c, 0xe6, 0x6f, 0xb6, 0x7b, 0x0b, 0x5f, 0xe5, 0xef, 0x9c, 0xf3, 0x73,
-	0x77, 0xee, 0xe3, 0x5c, 0x7b, 0x2f, 0xfb, 0x64, 0xc5, 0x68, 0x39, 0x7b, 0xc0, 0x38, 0xad, 0x71,
-	0x23, 0x54, 0x31, 0x9c, 0x4e, 0x07, 0xbe, 0x5a, 0xb5, 0x36, 0xaa, 0xe6, 0x56, 0xa8, 0x8d, 0xd9,
-	0x03, 0x8b, 0xfc, 0x40, 0x9e, 0x3e, 0xaf, 0xbc, 0x8e, 0x96, 0x1f, 0xf2, 0xe1, 0x28, 0xea, 0xc5,
-	0xfb, 0xfb, 0x09, 0x97, 0x1f, 0x43, 0x65, 0x56, 0x17, 0x34, 0x47, 0x90, 0xb4, 0xdf, 0x2b, 0xe8,
-	0x45, 0x3d, 0x0a, 0x0f, 0x8e, 0x7f, 0xc2, 0x67, 0x2f, 0x12, 0xfc, 0xc7, 0x47, 0x3c, 0x49, 0xd5,
-	0x8f, 0x51, 0x75, 0x90, 0x3d, 0xe8, 0x3c, 0x3d, 0x28, 0xf9, 0xd3, 0x0f, 0x9b, 0x62, 0xd4, 0xfb,
-	0x68, 0x85, 0x47, 0xfd, 0x78, 0x30, 0x8a, 0x86, 0xbd, 0xb9, 0x08, 0xdd, 0x78, 0x52, 0x84, 0x24,
-	0xbb, 0x88, 0xcd, 0x32, 0x9f, 0xdb, 0x69, 0x7f, 0x55, 0x50, 0xe3, 0x9b, 0x86, 0x26, 0xe3, 0x18,
-	0xc6, 0x0d, 0x43, 0x6a, 0xae, 0xb5, 0x37, 0x7b, 0x83, 0x51, 0xce, 0xff, 0x06, 0x73, 0x25, 0x87,
-	0xcf, 0x3e, 0x63, 0xe7, 0x5f, 0x9c, 0x0a, 0x8b, 0x2f, 0x4e, 0xea, 0x3d, 0xf9, 0xd4, 0xc3, 0xa3,
-	0x3e, 0x4f, 0xb2, 0xe7, 0x14, 0xed, 0xc9, 0x6a, 0x80, 0x95, 0xcd, 0x40, 0xda, 0xef, 0x14, 0xf4,
-	0x42, 0xe6, 0x8e, 0x28, 0x8b, 0x11, 0x4f, 0xbe, 0x93, 0x61, 0x4f, 0xa6, 0xe5, 0x31, 0x33, 0x33,
-	0x0b, 0xfa, 0x5d, 0x54, 0xe5, 0x19, 0xad, 0xa1, 0x88, 0x18, 0x5c, 0x7b, 0x5a, 0xed, 0xb3, 0x29,
-	0xe2, 0x49, 0xe1, 0xd5, 0x7e, 0xa3, 0xa0, 0xab, 0x79, 0xae, 0x8f, 0xa3, 0x34, 0x7c, 0xfc, 0x9d,
-	0x0c, 0xcd, 0x1f, 0x14, 0xf4, 0xfc, 0x09, 0x2b, 0xb3, 0xc8, 0x2c, 0x94, 0x87, 0xf2, 0x0c, 0xe5,
-	0xa1, 0x7e, 0x80, 0x2a, 0xe2, 0xde, 0x91, 0x34, 0x0a, 0x02, 0xfe, 0xda, 0x13, 0xba, 0x11, 0xf0,
-	0xb1, 0x8c, 0x7d, 0x21, 0xac, 0xc5, 0x13, 0x61, 0xfd, 0xba, 0x88, 0x9e, 0xd3, 0xe5, 0x4b, 0x2f,
-	0x87, 0xee, 0xf1, 0x6d, 0x45, 0x95, 0xa1, 0xea, 0x3e, 0x0f, 0xd3, 0xa3, 0x09, 0x4f, 0xb2, 0xe7,
-	0xaa, 0x5b, 0x67, 0xe3, 0x4f, 0x31, 0xa0, 0xd9, 0xca, 0xd0, 0x6c, 0x2a, 0xe7, 0x9b, 0x99, 0x2a,
-	0x3e, 0x7b, 0xa6, 0xd6, 0x7e, 0xa5, 0xa0, 0x6a, 0xae, 0x43, 0xbd, 0x8e, 0x56, 0xf9, 0xe3, 0x74,
-	0x12, 0xf6, 0xd3, 0x5e, 0x22, 0xd2, 0x26, 0x7c, 0xae, 0xb2, 0x95, 0x8c, 0x2a, 0x73, 0xa9, 0xbe,
-	0x85, 0x70, 0xce, 0x36, 0xad, 0xf2, 0x82, 0x60, 0xbc, 0x9c, 0xd1, 0xf3, 0x03, 0xa1, 0xde, 0x45,
-	0x6b, 0x39, 0xeb, 0x29, 0x5d, 0xa8, 0x28, 0x40, 0x8d, 0x8c, 0xc3, 0x3c, 0xd9, 0x67, 0xb4, 0xbf,
-	0x14, 0xa0, 0xd8, 0xe7, 0x83, 0xf2, 0xff, 0xaf, 0xa2, 0xf9, 0xa3, 0x5d, 0xbc, 0xf0, 0xd1, 0x3e,
-	0xbd, 0x1b, 0x97, 0xbe, 0xb5, 0x6e, 0x5c, 0x5e, 0xac, 0xeb, 0x9b, 0xb7, 0xd1, 0xf2, 0x7c, 0xf2,
-	0xe5, 0x3d, 0x81, 0x12, 0x7c, 0x09, 0x56, 0x81, 0xdf, 0xba, 0x2d, 0xaf, 0xce, 0x81, 0xdf, 0xda,
-	0xbc, 0x25, 0xaf, 0xce, 0x81, 0xdf, 0x7a, 0x7f, 0x0b, 0x17, 0xb7, 0xbe, 0x2a, 0xa3, 0xcb, 0x76,
-	0x26, 0xc6, 0x93, 0xff, 0x88, 0xa8, 0xbf, 0x55, 0x10, 0x3e, 0x39, 0x68, 0xd4, 0xcd, 0x27, 0x15,
-	0xf4, 0xa9, 0xd3, 0x73, 0x6d, 0xeb, 0x22, 0x10, 0x99, 0x72, 0xed, 0xad, 0x9f, 0xfd, 0xed, 0xef,
-	0x5f, 0x17, 0xde, 0xd0, 0x5e, 0xdd, 0x78, 0xb4, 0xb9, 0x91, 0x07, 0x21, 0xb9, 0x13, 0x9e, 0xe0,
-	0xbf, 0xa3, 0xdc, 0x54, 0x7f, 0xad, 0xa0, 0xcb, 0x27, 0x3a, 0xb3, 0xfa, 0xde, 0x53, 0x55, 0x9e,
-	0x98, 0x35, 0x6b, 0x9b, 0x17, 0x40, 0x64, 0x36, 0xae, 0x0b, 0x1b, 0x35, 0xed, 0x95, 0x53, 0x6d,
-	0xcc, 0xd9, 0xc1, 0xc4, 0x5f, 0x2a, 0x68, 0x65, 0xa1, 0x41, 0xaa, 0xcd, 0xa7, 0xc7, 0x64, 0xbe,
-	0xdf, 0xaf, 0x6d, 0x9c, 0x9b, 0x3f, 0x33, 0xee, 0x86, 0x30, 0xee, 0x9a, 0xf6, 0xd2, 0xe9, 0x01,
-	0x14, 0xcc, 0x60, 0xda, 0x2f, 0x14, 0xb4, 0x3c, 0x7f, 0xe8, 0xd4, 0x77, 0x2f, 0xd4, 0xb1, 0xd6,
-	0x9a, 0xe7, 0x65, 0xcf, 0xec, 0xba, 0x2e, 0xec, 0x7a, 0x4d, 0x5b, 0x3b, 0x69, 0xd7, 0x8c, 0xf7,
-	0x8e, 0x72, 0x73, 0xfb, 0x16, 0x7a, 0xb9, 0x1f, 0x1f, 0x9e, 0x29, 0x7b, 0xfb, 0xea, 0x89, 0x62,
-	0x75, 0x27, 0x71, 0x1a, 0xbb, 0xca, 0xc3, 0x8a, 0xf8, 0xd3, 0xee, 0xfd, 0xff, 0x05, 0x00, 0x00,
-	0xff, 0xff, 0xde, 0x74, 0x83, 0x80, 0x6b, 0x1c, 0x00, 0x00,
+	// 2732 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x8f, 0xdb, 0xc6,
+	0x15, 0x37, 0xf5, 0xb5, 0xd2, 0x68, 0x3f, 0xc6, 0x8c, 0x93, 0xa8, 0x1b, 0x27, 0x71, 0x98, 0xda,
+	0xd9, 0x38, 0x89, 0x36, 0xbb, 0x69, 0x1d, 0xc7, 0x76, 0x13, 0x53, 0xe4, 0x48, 0xcb, 0x35, 0x45,
+	0x32, 0x43, 0x52, 0xde, 0xf8, 0x22, 0xd0, 0xd2, 0x58, 0x11, 0xb2, 0x4b, 0xaa, 0x12, 0xd7, 0xf0,
+	0xf6, 0x52, 0xa0, 0x40, 0x8f, 0x39, 0xa5, 0x87, 0xa2, 0xa7, 0x02, 0xfd, 0x38, 0xb6, 0x7f, 0x40,
+	0x0b, 0xf4, 0x1f, 0xe8, 0xad, 0xff, 0x42, 0x6f, 0x2d, 0xd0, 0x5b, 0xd1, 0x4b, 0x81, 0xe2, 0xcd,
+	0x0c, 0xf5, 0xb1, 0xde, 0xb5, 0x77, 0x8d, 0x00, 0xcd, 0x6d, 0xe6, 0xe9, 0xfd, 0xde, 0xf7, 0xbc,
+	0x37, 0x1c, 0xa1, 0xcd, 0x41, 0x92, 0x0c, 0xf6, 0xd9, 0x66, 0x6f, 0x3f, 0x39, 0xec, 0x6f, 0xee,
+	0x47, 0xf1, 0xe0, 0x30, 0x1a, 0xb0, 0xcd, 0xc7, 0x5b, 0xd3, 0x75, 0x77, 0xc2, 0xc6, 0x8f, 0x87,
+	0x3d, 0x56, 0x1f, 0x8d, 0x93, 0x34, 0x51, 0x6b, 0x02, 0x50, 0xe7, 0x80, 0x7a, 0xc6, 0x54, 0x7f,
+	0xbc, 0xb5, 0x7e, 0x59, 0x8a, 0x8a, 0x46, 0xc3, 0xcd, 0x28, 0x8e, 0x93, 0x34, 0x4a, 0x87, 0x49,
+	0x3c, 0x11, 0x38, 0xed, 0x1f, 0x0a, 0x2a, 0x9b, 0x49, 0xef, 0xf0, 0x80, 0xc5, 0xa9, 0x7a, 0x1b,
+	0x15, 0xd2, 0xa3, 0x11, 0xab, 0x29, 0x57, 0x94, 0x8d, 0xd5, 0xed, 0x77, 0xea, 0xa7, 0xc9, 0xac,
+	0x67, 0x88, 0x7a, 0x70, 0x34, 0x62, 0x94, 0x83, 0xd4, 0x75, 0xb4, 0xd4, 0x4b, 0xe2, 0x94, 0xc5,
+	0x69, 0x2d, 0x77, 0x45, 0xd9, 0xa8, 0xec, 0x5c, 0xa0, 0x19, 0x41, 0xdd, 0x40, 0x6b, 0x83, 0xde,
+	0xa4, 0x2b, 0xb7, 0xdd, 0xc3, 0xf1, 0xb0, 0x96, 0x97, 0x3c, 0x2b, 0x83, 0xde, 0xc4, 0x10, 0xf4,
+	0x70, 0x3c, 0x54, 0xd7, 0x51, 0x39, 0x53, 0x54, 0x2b, 0x00, 0x0b, 0x9d, 0xee, 0xb5, 0x1b, 0xa8,
+	0x00, 0xfa, 0xd4, 0x4b, 0x08, 0x07, 0x5f, 0x78, 0xa4, 0x1b, 0x3a, 0xbe, 0x47, 0x0c, 0xab, 0x69,
+	0x11, 0x13, 0x5f, 0x50, 0x57, 0x11, 0xf2, 0x6c, 0xdd, 0x72, 0xba, 0x01, 0xd9, 0x0b, 0xb0, 0xa2,
+	0x96, 0x51, 0x61, 0x27, 0x68, 0xdb, 0x38, 0xd7, 0x28, 0xa3, 0xd2, 0x24, 0x39, 0x1c, 0xf7, 0x98,
+	0xf6, 0x73, 0x05, 0x95, 0x7d, 0x06, 0xca, 0x7a, 0x4c, 0xbd, 0x81, 0x0a, 0x29, 0x7b, 0x92, 0x72,
+	0x6f, 0xab, 0xdb, 0xda, 0xe9, 0xde, 0x06, 0xec, 0x49, 0xea, 0x8f, 0xa2, 0x98, 0x72, 0x7e, 0x55,
+	0x47, 0x95, 0x09, 0x8b, 0xd3, 0xe1, 0x41, 0xe6, 0x6a, 0x75, 0xfb, 0xed, 0xd3, 0xc1, 0x7e, 0xc6,
+	0x4a, 0x67, 0x28, 0xed, 0xcf, 0x79, 0x54, 0x22, 0x71, 0x3a, 0x4c, 0x8f, 0x54, 0x15, 0x15, 0xe2,
+	0xe8, 0x40, 0xc4, 0xbc, 0x42, 0xf9, 0x5a, 0xfd, 0x44, 0xe6, 0x21, 0xc7, 0xf3, 0x70, 0xf5, 0x74,
+	0xe1, 0x42, 0xc6, 0x7c, 0x16, 0x76, 0x51, 0xf9, 0x80, 0xa5, 0x51, 0x3f, 0x4a, 0xa3, 0x5a, 0xfe,
+	0x4a, 0x7e, 0xa3, 0xba, 0x5d, 0x7f, 0x2e, 0xbc, 0x2d, 0x01, 0x24, 0x4e, 0xc7, 0x47, 0x74, 0x8a,
+	0x87, 0x5c, 0x4c, 0xa2, 0xfd, 0x21, 0x04, 0x8b, 0xe7, 0x22, 0x47, 0xa7, 0x7b, 0xd5, 0x00, 0x3d,
+	0x31, 0xaf, 0xa4, 0x5a, 0x91, 0xeb, 0x79, 0xe7, 0x79, 0x7a, 0xda, 0x82, 0x9f, 0x4e, 0x81, 0xeb,
+	0xb7, 0xd1, 0xca, 0x82, 0x6e, 0x15, 0xa3, 0xfc, 0x57, 0xec, 0x48, 0xc6, 0x02, 0x96, 0xea, 0x25,
+	0x54, 0x7c, 0x1c, 0xed, 0x1f, 0x8a, 0x58, 0x54, 0xa8, 0xd8, 0xdc, 0xca, 0xdd, 0x54, 0xb4, 0x23,
+	0x59, 0x0d, 0x55, 0xb4, 0x14, 0x3a, 0xf7, 0x1c, 0xf7, 0xbe, 0x83, 0x2f, 0xa8, 0x08, 0x95, 0x3c,
+	0x42, 0x7d, 0xd7, 0xc1, 0x8a, 0xba, 0x8c, 0xca, 0xb6, 0x6b, 0xe8, 0x81, 0xe5, 0x3a, 0x38, 0xa7,
+	0x62, 0xb4, 0xec, 0xd2, 0x96, 0xee, 0x58, 0x0f, 0x04, 0x25, 0xaf, 0x56, 0x50, 0x91, 0x74, 0x88,
+	0x13, 0xe0, 0x82, 0xba, 0x86, 0xaa, 0xf7, 0x5d, 0x7a, 0xaf, 0xeb, 0x36, 0xbb, 0x3a, 0x0d, 0x70,
+	0x51, 0xbd, 0x88, 0x56, 0x0c, 0xd7, 0xf1, 0xc3, 0x36, 0xa1, 0xdd, 0x96, 0xeb, 0x9a, 0xb8, 0x04,
+	0xec, 0x6e, 0xb0, 0x43, 0x28, 0x5e, 0xd2, 0xfe, 0xad, 0xa0, 0x62, 0x90, 0x7c, 0xc5, 0xe2, 0x17,
+	0xae, 0x21, 0x1b, 0xad, 0x8e, 0xa2, 0x71, 0xda, 0x4d, 0x1e, 0x75, 0x27, 0x23, 0xc6, 0x7a, 0x5f,
+	0xca, 0x42, 0xba, 0x76, 0xba, 0x04, 0x2f, 0x1a, 0xa7, 0xee, 0x23, 0x9f, 0x73, 0xd3, 0xe5, 0xd1,
+	0xdc, 0x4e, 0xfd, 0x1c, 0xad, 0xf5, 0xd9, 0x88, 0xc5, 0x7d, 0x16, 0xf7, 0x8e, 0xba, 0xac, 0x3f,
+	0x60, 0xfc, 0x78, 0x55, 0xb7, 0x37, 0x9e, 0x71, 0x84, 0xa7, 0x00, 0xd2, 0x1f, 0x30, 0xba, 0xda,
+	0x5f, 0xd8, 0x43, 0xdc, 0xf7, 0xd9, 0xc1, 0x41, 0x24, 0x0f, 0xa1, 0xd8, 0x68, 0x9f, 0xa1, 0xca,
+	0xb4, 0x9e, 0xd5, 0xcb, 0xa8, 0x72, 0x10, 0x0d, 0xe2, 0x61, 0x7a, 0xd8, 0x17, 0xe9, 0xc9, 0xd1,
+	0x19, 0x01, 0x04, 0x4c, 0x7a, 0xc9, 0x58, 0x58, 0x92, 0xa3, 0x62, 0xa3, 0xfd, 0x17, 0xa3, 0xe5,
+	0x79, 0x47, 0xd4, 0x3b, 0x28, 0x9f, 0x46, 0x03, 0xd9, 0x71, 0xae, 0x9f, 0xcd, 0xfb, 0x7a, 0x10,
+	0x0d, 0x28, 0xc0, 0x54, 0x82, 0x4a, 0xd1, 0x64, 0xc4, 0x7a, 0xa9, 0x3c, 0x2a, 0x1f, 0x9c, 0x51,
+	0x80, 0xce, 0x41, 0x54, 0x82, 0xd5, 0xcf, 0x50, 0xa1, 0x17, 0x4d, 0x84, 0xa9, 0xab, 0xdb, 0xef,
+	0x9d, 0x51, 0x88, 0x11, 0x4d, 0x18, 0xe5, 0x40, 0x10, 0xf0, 0x28, 0x19, 0x1f, 0xf0, 0x60, 0x9d,
+	0x5d, 0x40, 0x33, 0x19, 0x1f, 0x50, 0x0e, 0x04, 0x47, 0x06, 0x10, 0xfe, 0x71, 0xad, 0x78, 0x2e,
+	0x47, 0x5a, 0x1c, 0x44, 0x25, 0x18, 0xec, 0x38, 0x48, 0x92, 0x7e, 0xad, 0x74, 0x2e, 0x3b, 0xda,
+	0x49, 0xd2, 0xa7, 0x1c, 0x08, 0x76, 0xc4, 0x87, 0x07, 0x0f, 0xd9, 0xb8, 0xb6, 0x74, 0x2e, 0x3b,
+	0x1c, 0x0e, 0xa2, 0x12, 0x0c, 0x62, 0x46, 0x6c, 0x3c, 0x49, 0xe2, 0x5a, 0xf9, 0x5c, 0x62, 0x3c,
+	0x0e, 0xa2, 0x12, 0xcc, 0xc5, 0x8c, 0x93, 0x11, 0x1b, 0xd7, 0x2a, 0xe7, 0x13, 0xc3, 0x41, 0x54,
+	0x82, 0xd5, 0x00, 0x55, 0xc7, 0xac, 0x37, 0x1c, 0x8d, 0x93, 0xde, 0x30, 0x3d, 0xaa, 0x21, 0x2e,
+	0x6b, 0xfb, 0x8c, 0xb2, 0xe8, 0x0c, 0x49, 0xe7, 0xc5, 0xa8, 0x0d, 0x54, 0x4c, 0x59, 0x3c, 0x61,
+	0xb5, 0x2a, 0x97, 0xf7, 0xfe, 0x59, 0x6b, 0x17, 0x30, 0x54, 0x40, 0x41, 0xc6, 0xe3, 0x64, 0xd8,
+	0x63, 0xb5, 0xe5, 0x73, 0xc9, 0xe8, 0x00, 0x86, 0x0a, 0xa8, 0xf6, 0xb5, 0x82, 0xf2, 0x41, 0x34,
+	0x58, 0xec, 0x83, 0x4b, 0x28, 0xaf, 0x9b, 0xbb, 0x58, 0x11, 0x0b, 0x0f, 0xe7, 0xc4, 0xa2, 0x83,
+	0xf3, 0x30, 0x17, 0x0d, 0xd7, 0xd9, 0xc5, 0x05, 0x20, 0x99, 0x04, 0xba, 0x5d, 0x19, 0x15, 0x1c,
+	0x37, 0x74, 0x70, 0x09, 0x48, 0x4e, 0xd8, 0xc6, 0x4b, 0x40, 0xf2, 0xa8, 0xeb, 0xe0, 0x32, 0x90,
+	0x3c, 0x1a, 0xe0, 0x0a, 0x34, 0x40, 0x2f, 0x74, 0x8c, 0x00, 0x23, 0xf8, 0xb5, 0x43, 0x68, 0x03,
+	0x57, 0xd5, 0x22, 0x52, 0xf6, 0xf0, 0x32, 0xfc, 0xa6, 0x37, 0x9b, 0xd6, 0x1e, 0x5e, 0xd1, 0x5c,
+	0x54, 0x12, 0xc7, 0x4b, 0x55, 0xd1, 0xaa, 0x0e, 0x13, 0x3a, 0xe8, 0xce, 0x0c, 0x83, 0x29, 0x4d,
+	0x68, 0x93, 0x18, 0x81, 0xd5, 0x21, 0x58, 0x81, 0xb6, 0x6c, 0xb5, 0xe7, 0x28, 0x39, 0xe8, 0xc5,
+	0x1e, 0x75, 0x5b, 0x94, 0xf8, 0x3e, 0x10, 0xf2, 0xda, 0x7f, 0x14, 0x54, 0x80, 0xb3, 0x06, 0xbc,
+	0x86, 0xee, 0x93, 0x45, 0x69, 0xba, 0x61, 0x84, 0xbe, 0x2e, 0xa5, 0xad, 0xa0, 0x8a, 0x6e, 0x82,
+	0x65, 0x96, 0x6e, 0xe3, 0x9c, 0xe8, 0xe2, 0x6d, 0xcf, 0x26, 0x6d, 0xe2, 0x70, 0x8e, 0x3c, 0x0c,
+	0x08, 0x53, 0x70, 0x17, 0x60, 0x40, 0xb4, 0x88, 0x63, 0xf1, 0x5d, 0x91, 0x5b, 0xe2, 0xf8, 0x01,
+	0x0d, 0x81, 0x59, 0xb7, 0x71, 0x69, 0x36, 0x40, 0x3a, 0x04, 0x2f, 0x81, 0x2e, 0xc7, 0x6d, 0x5b,
+	0x8e, 0xd8, 0x97, 0x21, 0xde, 0x6e, 0xc3, 0xb6, 0x3e, 0x0f, 0x09, 0xae, 0x80, 0x62, 0x4f, 0xa7,
+	0x81, 0x90, 0x85, 0x40, 0xb1, 0x47, 0x89, 0xe7, 0xfa, 0x16, 0xcc, 0x1a, 0xdd, 0xc6, 0x55, 0x08,
+	0x06, 0x25, 0x4d, 0x9b, 0xec, 0x59, 0x1d, 0xd2, 0x05, 0x37, 0xf0, 0x32, 0xb0, 0x51, 0x62, 0x73,
+	0x81, 0x82, 0xb4, 0x02, 0x3a, 0x3b, 0x99, 0xce, 0x55, 0xed, 0x8f, 0x0a, 0x2a, 0x40, 0x97, 0x00,
+	0xe3, 0x9a, 0x2e, 0x6d, 0xcf, 0xb9, 0xbe, 0x8c, 0xca, 0xba, 0x09, 0x06, 0xe9, 0xb6, 0x74, 0x3c,
+	0xdc, 0xb3, 0x6c, 0x4b, 0xa7, 0x5f, 0xe0, 0x1c, 0x28, 0x9b, 0x73, 0xfc, 0x01, 0xa1, 0x38, 0xcf,
+	0x45, 0x58, 0x8e, 0x6e, 0x77, 0x89, 0x63, 0x5a, 0x4e, 0x0b, 0x17, 0x20, 0x16, 0x2d, 0x42, 0x43,
+	0xc7, 0xc4, 0x45, 0x58, 0x53, 0xa2, 0xdb, 0x96, 0x2f, 0xfc, 0xb6, 0xa8, 0xdc, 0x2d, 0x41, 0x6a,
+	0xfd, 0x1d, 0x97, 0x06, 0xb8, 0x0c, 0x69, 0xb7, 0x5d, 0xa7, 0x25, 0x6a, 0xc1, 0xa5, 0x26, 0xa1,
+	0x18, 0x01, 0xb7, 0xbc, 0x86, 0x19, 0xb8, 0xaa, 0x11, 0x54, 0x12, 0x3d, 0x09, 0x6c, 0x68, 0x11,
+	0xc7, 0x24, 0x74, 0xd1, 0xe8, 0x26, 0x69, 0x5b, 0x8e, 0xe5, 0xc8, 0x6c, 0xb5, 0x75, 0xdf, 0x08,
+	0x6d, 0xd8, 0xe6, 0xc0, 0x04, 0x87, 0x84, 0x01, 0x18, 0xab, 0xfd, 0x14, 0x15, 0xa0, 0x2b, 0x81,
+	0xd1, 0x6d, 0xd7, 0x35, 0xe7, 0x44, 0x5c, 0x42, 0xd8, 0x70, 0x1d, 0x53, 0x06, 0xb6, 0x0b, 0xbf,
+	0x62, 0x05, 0x92, 0xc3, 0xcb, 0x48, 0x97, 0x45, 0x04, 0x7b, 0xc7, 0xb4, 0x64, 0x20, 0xf3, 0x10,
+	0x69, 0xcb, 0x09, 0x08, 0xa5, 0x6e, 0x2b, 0xcb, 0x7e, 0x15, 0x2d, 0xed, 0x86, 0xa2, 0xc6, 0x8a,
+	0x50, 0x74, 0x7e, 0xd8, 0xd8, 0x85, 0xf2, 0x06, 0x42, 0x49, 0xbb, 0x8b, 0x4a, 0xa2, 0xa7, 0x81,
+	0x1f, 0x4e, 0xd8, 0x6e, 0x1c, 0xf7, 0xc3, 0xb7, 0x9c, 0x56, 0x68, 0xeb, 0x14, 0x2b, 0xfc, 0xd2,
+	0x61, 0x87, 0x94, 0x97, 0x5c, 0x19, 0x15, 0xcc, 0x50, 0xb7, 0x71, 0x5e, 0x0b, 0x50, 0x49, 0xb4,
+	0x33, 0x90, 0x20, 0x2e, 0x25, 0x73, 0x12, 0x2a, 0xa8, 0xd8, 0xb4, 0xa8, 0x1f, 0x08, 0xb8, 0x4f,
+	0xc0, 0x27, 0x9c, 0x03, 0x72, 0xb0, 0x63, 0x51, 0x13, 0xe7, 0xc1, 0xd1, 0x59, 0xc1, 0xc8, 0x4b,
+	0x4d, 0x41, 0xbb, 0x89, 0x4a, 0xa2, 0xbb, 0x71, 0xa9, 0xd4, 0xf5, 0x16, 0xec, 0x02, 0x4b, 0x38,
+	0x4d, 0x84, 0xc4, 0x71, 0x83, 0xae, 0xdc, 0xe7, 0xb4, 0x5d, 0x54, 0x9d, 0xeb, 0x65, 0xea, 0xab,
+	0xe8, 0x25, 0x4a, 0x0c, 0xcb, 0xa3, 0xae, 0x61, 0x05, 0x5f, 0x2c, 0x9e, 0xa9, 0xec, 0x07, 0x5e,
+	0x5a, 0xe0, 0xbf, 0xeb, 0x74, 0xe7, 0x68, 0x39, 0x6d, 0x82, 0x8a, 0xbc, 0x8f, 0x41, 0x5c, 0x03,
+	0xe2, 0x2c, 0x9c, 0xc9, 0x97, 0xd1, 0xc5, 0xf9, 0x04, 0xf1, 0x9f, 0x85, 0x97, 0xcd, 0x30, 0x08,
+	0x29, 0x11, 0x41, 0xf2, 0x74, 0x3f, 0xc0, 0x79, 0x48, 0x82, 0x47, 0x89, 0x2f, 0x6e, 0x61, 0x2b,
+	0xa8, 0x32, 0xed, 0x05, 0xb8, 0x28, 0x2e, 0xf4, 0x61, 0xb6, 0x2f, 0x69, 0x0d, 0x54, 0xe4, 0x8d,
+	0x0f, 0x94, 0x76, 0x5c, 0xcb, 0x20, 0x8b, 0x8e, 0xeb, 0xc6, 0xac, 0x09, 0x18, 0x7a, 0xd6, 0x13,
+	0x72, 0x5c, 0x85, 0x9e, 0xf5, 0x92, 0x7f, 0x2d, 0xa1, 0xd5, 0xc5, 0x9b, 0x8f, 0xba, 0x81, 0xf0,
+	0x97, 0x2c, 0xea, 0x77, 0x53, 0xb8, 0xd0, 0x75, 0x87, 0x71, 0x9f, 0x3d, 0xe1, 0xd7, 0x91, 0x22,
+	0x5d, 0x05, 0x3a, 0xbf, 0xe7, 0x59, 0x40, 0x55, 0x4d, 0x54, 0xdc, 0x8f, 0x1e, 0xb2, 0x7d, 0x79,
+	0xd9, 0xa8, 0x9f, 0xf5, 0x72, 0x55, 0xb7, 0x01, 0x45, 0x05, 0x58, 0xfb, 0x67, 0x09, 0x15, 0x39,
+	0xe1, 0xa9, 0x9b, 0xab, 0xde, 0x68, 0x50, 0xd2, 0xc1, 0x0a, 0xef, 0xa6, 0x70, 0x7e, 0x45, 0x41,
+	0xe8, 0x66, 0xc7, 0xb0, 0x45, 0xeb, 0xd2, 0xcd, 0x4e, 0xdb, 0x35, 0x71, 0x01, 0x22, 0xa8, 0xc3,
+	0xaa, 0xc8, 0x19, 0x3c, 0xcf, 0x85, 0x73, 0x0b, 0xc4, 0x20, 0xa0, 0x78, 0x89, 0x37, 0xfb, 0x70,
+	0x4f, 0x34, 0x29, 0x3d, 0xdc, 0x03, 0xff, 0x71, 0x45, 0x2d, 0xa1, 0x9c, 0x61, 0x60, 0x04, 0x10,
+	0x83, 0x8b, 0xaf, 0x4e, 0x87, 0x01, 0xef, 0xe0, 0x06, 0x1c, 0x01, 0xbc, 0xc2, 0x03, 0x08, 0x4b,
+	0x0e, 0x5b, 0x15, 0x63, 0xc2, 0xc3, 0x6b, 0xd9, 0xbc, 0xc0, 0xc0, 0x60, 0x5a, 0xbe, 0xe1, 0x86,
+	0xd4, 0x27, 0xf8, 0x22, 0xaf, 0x79, 0xb7, 0xb1, 0x8b, 0x55, 0x58, 0x91, 0x3d, 0xcf, 0xc6, 0x2f,
+	0xf1, 0xde, 0xea, 0x12, 0xff, 0xbe, 0x15, 0xec, 0xe0, 0x4b, 0x40, 0xb7, 0x80, 0xe3, 0x65, 0x58,
+	0xb5, 0x75, 0x7a, 0x0f, 0xbf, 0x02, 0xd2, 0xda, 0xf7, 0x09, 0x7e, 0x55, 0x2c, 0x3a, 0xb8, 0xc6,
+	0x87, 0x0f, 0x69, 0xe1, 0xef, 0x81, 0xa1, 0x8e, 0x83, 0xd7, 0x41, 0x88, 0xe3, 0x49, 0x9f, 0x5f,
+	0x03, 0x0b, 0x1d, 0x6e, 0xe1, 0x65, 0x30, 0xc0, 0x99, 0x5a, 0xf8, 0x7a, 0x36, 0xb5, 0xde, 0xe0,
+	0x2d, 0x84, 0x9f, 0x55, 0xfc, 0x26, 0x4c, 0x26, 0x0f, 0x5f, 0x91, 0x9d, 0x59, 0x0f, 0xf4, 0x3d,
+	0xcb, 0xc7, 0x6f, 0x89, 0x6a, 0xa0, 0x01, 0x48, 0xd4, 0xf8, 0x44, 0xe3, 0x81, 0x78, 0x9b, 0x97,
+	0x24, 0x58, 0xf8, 0x7d, 0xb1, 0xf2, 0x7d, 0x7c, 0x95, 0xf3, 0xba, 0x7e, 0x00, 0x36, 0x5d, 0x93,
+	0x95, 0xca, 0xb9, 0xdf, 0x99, 0x6e, 0x9c, 0x5d, 0xbc, 0x21, 0x0e, 0x1d, 0x81, 0xc8, 0xbc, 0x2b,
+	0xc6, 0x26, 0x69, 0xe2, 0xeb, 0x72, 0xe5, 0xe1, 0xf7, 0xb8, 0x16, 0xea, 0x3a, 0x36, 0x7e, 0x3f,
+	0x9b, 0xa5, 0x1f, 0x80, 0x87, 0x9e, 0x8f, 0xeb, 0xe0, 0xe1, 0xe7, 0xa1, 0xee, 0x70, 0x7b, 0x36,
+	0x81, 0x93, 0x1a, 0xb0, 0xfc, 0x10, 0x7e, 0xe0, 0x4b, 0x4a, 0x6c, 0xbc, 0xc5, 0x7f, 0x30, 0xa9,
+	0xeb, 0xe1, 0x6d, 0x10, 0x01, 0x0a, 0x3e, 0x02, 0x1b, 0x28, 0x69, 0x3b, 0xba, 0x13, 0xe0, 0x1f,
+	0x88, 0x43, 0x0b, 0x7e, 0x3a, 0x66, 0xd8, 0xc6, 0x3f, 0x04, 0xed, 0xd4, 0x75, 0x03, 0x7c, 0x03,
+	0x56, 0x3e, 0x04, 0xe7, 0x63, 0xbe, 0x0a, 0x9b, 0x4d, 0x7c, 0x13, 0x56, 0x5c, 0xe3, 0x27, 0xbc,
+	0xdf, 0xb8, 0x9e, 0x65, 0xe0, 0x5b, 0x7c, 0xa6, 0x03, 0xf1, 0xf6, 0xc2, 0x0c, 0xba, 0x03, 0x2c,
+	0x7b, 0xdc, 0xed, 0x1f, 0xf1, 0x4e, 0x15, 0xf2, 0x31, 0xff, 0x29, 0x47, 0x5a, 0x81, 0x4d, 0xf0,
+	0x67, 0x62, 0x14, 0x75, 0xbc, 0x1d, 0x40, 0xdf, 0x95, 0x25, 0x07, 0x27, 0x10, 0xeb, 0xbc, 0x3a,
+	0xc3, 0xbd, 0x4e, 0x07, 0x37, 0x60, 0x69, 0x72, 0xad, 0x06, 0xb0, 0x34, 0x5d, 0x4a, 0xac, 0x96,
+	0x83, 0x4d, 0x08, 0xc5, 0xbd, 0xfb, 0x98, 0xf0, 0xe1, 0x62, 0xf9, 0x01, 0x6e, 0x8a, 0xeb, 0x48,
+	0xdb, 0xc0, 0x2d, 0x5e, 0x00, 0x6e, 0x5b, 0xd4, 0xe5, 0x0e, 0x0c, 0x83, 0x6c, 0xc7, 0x13, 0x6f,
+	0x71, 0xce, 0xb0, 0x6d, 0xe0, 0x5d, 0x08, 0x8b, 0xe1, 0x7a, 0xf8, 0x1e, 0x44, 0xc2, 0xb4, 0x7c,
+	0x3e, 0xb7, 0x89, 0x89, 0x6d, 0xed, 0x4f, 0x0a, 0x5a, 0x59, 0xf8, 0xfe, 0x7c, 0xe1, 0x6f, 0xb6,
+	0xbb, 0x0b, 0x5f, 0xe5, 0xef, 0x9f, 0xf1, 0x73, 0x77, 0xee, 0xe3, 0x5c, 0xfb, 0x50, 0x7e, 0xb2,
+	0x62, 0xb4, 0x2c, 0x1f, 0x30, 0x4e, 0x6a, 0xdc, 0x08, 0x95, 0x0c, 0xb7, 0xdd, 0x86, 0xaf, 0x56,
+	0xad, 0x85, 0xca, 0x99, 0x15, 0x6a, 0x6d, 0xf6, 0xc0, 0x22, 0x3e, 0x90, 0xa7, 0xcf, 0x2b, 0x6f,
+	0xa1, 0xe5, 0x87, 0x6c, 0x30, 0x8c, 0xbb, 0xc9, 0xa3, 0x47, 0x13, 0x26, 0x3e, 0x86, 0x8a, 0xb4,
+	0xca, 0x69, 0x2e, 0x27, 0x69, 0xbf, 0x57, 0xd0, 0xab, 0x7a, 0x1c, 0xed, 0x1f, 0xfd, 0x84, 0xcd,
+	0x5e, 0x24, 0xd8, 0x8f, 0x0f, 0xd9, 0x24, 0x55, 0x3f, 0x45, 0xe5, 0xbe, 0x7c, 0xd0, 0x79, 0x7e,
+	0x50, 0xb2, 0xa7, 0x1f, 0x3a, 0xc5, 0xa8, 0xf7, 0xd0, 0x0a, 0x8b, 0x7b, 0x49, 0x7f, 0x18, 0x0f,
+	0xba, 0x73, 0x11, 0xba, 0xf6, 0xac, 0x08, 0x09, 0x76, 0x1e, 0x9b, 0x65, 0x36, 0xb7, 0xd3, 0xfe,
+	0xaa, 0xa0, 0xda, 0xd3, 0x86, 0x4e, 0x46, 0x09, 0x8c, 0x1b, 0x8a, 0xd4, 0x4c, 0x6b, 0x77, 0xf6,
+	0x06, 0xa3, 0x9c, 0xfd, 0x0d, 0xe6, 0x62, 0x06, 0x9f, 0x7d, 0xc6, 0xce, 0xbf, 0x38, 0xe5, 0x16,
+	0x5f, 0x9c, 0xd4, 0xbb, 0xe2, 0xa9, 0x87, 0xc5, 0x3d, 0x36, 0x91, 0xcf, 0x29, 0xda, 0xb3, 0xd5,
+	0x00, 0x2b, 0x9d, 0x81, 0xb4, 0xdf, 0x29, 0xe8, 0x15, 0xe9, 0x0e, 0x2f, 0x8b, 0x21, 0x9b, 0x7c,
+	0x27, 0xc3, 0x3e, 0x99, 0x96, 0xc7, 0xcc, 0x4c, 0x19, 0xf4, 0x3b, 0xa8, 0xcc, 0x24, 0xad, 0xa6,
+	0xf0, 0x18, 0x5c, 0x79, 0x5e, 0xed, 0xd3, 0x29, 0xe2, 0x59, 0xe1, 0xd5, 0x7e, 0xa3, 0xa0, 0x4b,
+	0x59, 0xae, 0x8f, 0xe2, 0x34, 0x7a, 0xf2, 0x9d, 0x0c, 0xcd, 0x1f, 0x14, 0xf4, 0xf2, 0x31, 0x2b,
+	0x65, 0x64, 0x16, 0xca, 0x43, 0x79, 0x81, 0xf2, 0x50, 0x3f, 0x46, 0x25, 0x7e, 0xef, 0x98, 0xd4,
+	0x72, 0x1c, 0xfe, 0xe6, 0x33, 0xba, 0x11, 0xf0, 0x51, 0xc9, 0xbe, 0x10, 0xd6, 0xfc, 0xb1, 0xb0,
+	0x7e, 0x93, 0x47, 0x2f, 0xe9, 0xe2, 0xa5, 0x97, 0x41, 0xf7, 0xf8, 0xb6, 0xa2, 0x4a, 0x51, 0xf9,
+	0x11, 0x8b, 0xd2, 0xc3, 0x31, 0x9b, 0xc8, 0xe7, 0xaa, 0x1b, 0xa7, 0xe3, 0x4f, 0x30, 0xa0, 0xde,
+	0x94, 0x68, 0x3a, 0x95, 0xf3, 0x74, 0xa6, 0xf2, 0x2f, 0x9e, 0xa9, 0xf5, 0x5f, 0x29, 0xa8, 0x9c,
+	0xe9, 0x50, 0xaf, 0xa2, 0x55, 0xf6, 0x24, 0x1d, 0x47, 0xbd, 0xb4, 0x3b, 0xe1, 0x69, 0xe3, 0x3e,
+	0x97, 0xe9, 0x8a, 0xa4, 0x8a, 0x5c, 0xaa, 0xef, 0x22, 0x9c, 0xb1, 0x4d, 0xab, 0x3c, 0xc7, 0x19,
+	0xd7, 0x24, 0x3d, 0x3b, 0x10, 0xea, 0x1d, 0xb4, 0x9e, 0xb1, 0x9e, 0xd0, 0x85, 0xf2, 0x1c, 0x54,
+	0x93, 0x1c, 0xe6, 0xf1, 0x3e, 0xa3, 0xfd, 0x25, 0x07, 0xc5, 0x3e, 0x1f, 0x94, 0xff, 0x7f, 0x15,
+	0xcd, 0x1f, 0xed, 0xfc, 0xb9, 0x8f, 0xf6, 0xc9, 0xdd, 0xb8, 0xf0, 0xad, 0x75, 0xe3, 0xe2, 0x62,
+	0x5d, 0x5f, 0xbf, 0x89, 0x96, 0xe7, 0x93, 0x2f, 0xee, 0x09, 0x0e, 0xc1, 0x17, 0x60, 0x15, 0x06,
+	0xcd, 0x9b, 0xe2, 0xea, 0x1c, 0x06, 0xcd, 0xad, 0x1b, 0xe2, 0xea, 0x1c, 0x06, 0xcd, 0x8f, 0xb6,
+	0x71, 0x7e, 0xfb, 0xeb, 0x22, 0x5a, 0xb3, 0xa5, 0x18, 0x5f, 0xfc, 0x6f, 0xa2, 0xfe, 0x56, 0x41,
+	0xf8, 0xf8, 0xa0, 0x51, 0xb7, 0x9e, 0x55, 0xd0, 0x27, 0x4e, 0xcf, 0xf5, 0xed, 0xf3, 0x40, 0x44,
+	0xca, 0xb5, 0x77, 0x7f, 0xf6, 0xb7, 0xbf, 0x7f, 0x93, 0x7b, 0x5b, 0x7b, 0x63, 0xf3, 0xf1, 0xd6,
+	0x66, 0x16, 0x84, 0xc9, 0xad, 0xe8, 0x18, 0xff, 0x2d, 0xe5, 0xba, 0xfa, 0x6b, 0x05, 0xad, 0x1d,
+	0xeb, 0xcc, 0xea, 0x87, 0xcf, 0x55, 0x79, 0x6c, 0xd6, 0xac, 0x6f, 0x9d, 0x03, 0x21, 0x6d, 0xdc,
+	0xe0, 0x36, 0x6a, 0xda, 0xeb, 0x27, 0xda, 0x98, 0xb1, 0x83, 0x89, 0xbf, 0x54, 0xd0, 0xca, 0x42,
+	0x83, 0x54, 0xeb, 0xcf, 0x8f, 0xc9, 0x7c, 0xbf, 0x5f, 0xdf, 0x3c, 0x33, 0xbf, 0x34, 0xee, 0x1a,
+	0x37, 0xee, 0x8a, 0xf6, 0xda, 0xc9, 0x01, 0xe4, 0xcc, 0x60, 0xda, 0x2f, 0x14, 0xb4, 0x3c, 0x7f,
+	0xe8, 0xd4, 0x0f, 0xce, 0xd5, 0xb1, 0xd6, 0xeb, 0x67, 0x65, 0x97, 0x76, 0x5d, 0xe5, 0x76, 0xbd,
+	0xa9, 0xad, 0x1f, 0xb7, 0x6b, 0xc6, 0x7b, 0x4b, 0xb9, 0xde, 0x78, 0x82, 0x2e, 0xf7, 0x92, 0x83,
+	0x53, 0x65, 0x37, 0x2e, 0x1d, 0x2b, 0x56, 0x6f, 0x9c, 0xa4, 0x89, 0xa7, 0x3c, 0xb8, 0x2b, 0x11,
+	0x83, 0x04, 0xb8, 0xeb, 0xc9, 0x78, 0xb0, 0x39, 0x60, 0x31, 0xff, 0x27, 0x4f, 0xfe, 0x63, 0x18,
+	0x8d, 0x86, 0x93, 0xa7, 0xff, 0x35, 0xbc, 0x9d, 0xad, 0x1f, 0x96, 0x38, 0xf3, 0x47, 0xff, 0x0b,
+	0x00, 0x00, 0xff, 0xff, 0x3c, 0x3f, 0xd7, 0x9e, 0x61, 0x1c, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/language/v1/language_service.proto b/googleapis/cloud/language/v1/language_service.proto
deleted file mode 100644
index d83aaf4b9300307c54df1891e7d2f379bb5e9f4b..0000000000000000000000000000000000000000
--- a/googleapis/cloud/language/v1/language_service.proto
+++ /dev/null
@@ -1,950 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.language.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "LanguageServiceProto";
-option java_package = "com.google.cloud.language.v1";
-
-
-// Provides text analysis operations such as sentiment analysis and entity
-// recognition.
-service LanguageService {
-  // Analyzes the sentiment of the provided text.
-  rpc AnalyzeSentiment(AnalyzeSentimentRequest) returns (AnalyzeSentimentResponse) {
-    option (google.api.http) = { post: "/v1/documents:analyzeSentiment" body: "*" };
-  }
-
-  // Finds named entities (currently finds proper names) in the text,
-  // entity types, salience, mentions for each entity, and other properties.
-  rpc AnalyzeEntities(AnalyzeEntitiesRequest) returns (AnalyzeEntitiesResponse) {
-    option (google.api.http) = { post: "/v1/documents:analyzeEntities" body: "*" };
-  }
-
-  // Analyzes the syntax of the text and provides sentence boundaries and
-  // tokenization along with part of speech tags, dependency trees, and other
-  // properties.
-  rpc AnalyzeSyntax(AnalyzeSyntaxRequest) returns (AnalyzeSyntaxResponse) {
-    option (google.api.http) = { post: "/v1/documents:analyzeSyntax" body: "*" };
-  }
-
-  // A convenience method that provides all the features that analyzeSentiment,
-  // analyzeEntities, and analyzeSyntax provide in one call.
-  rpc AnnotateText(AnnotateTextRequest) returns (AnnotateTextResponse) {
-    option (google.api.http) = { post: "/v1/documents:annotateText" body: "*" };
-  }
-}
-
-// ################################################################ #
-//
-// Represents the input to API methods.
-message Document {
-  // The document types enum.
-  enum Type {
-    // The content type is not specified.
-    TYPE_UNSPECIFIED = 0;
-
-    // Plain text
-    PLAIN_TEXT = 1;
-
-    // HTML
-    HTML = 2;
-  }
-
-  // Required. If the type is not set or is `TYPE_UNSPECIFIED`,
-  // returns an `INVALID_ARGUMENT` error.
-  Type type = 1;
-
-  // The source of the document: a string containing the content or a
-  // Google Cloud Storage URI.
-  oneof source {
-    // The content of the input in string format.
-    string content = 2;
-
-    // The Google Cloud Storage URI where the file content is located.
-    // This URI must be of the form: gs://bucket_name/object_name. For more
-    // details, see https://cloud.google.com/storage/docs/reference-uris.
-    // NOTE: Cloud Storage object versioning is not supported.
-    string gcs_content_uri = 3;
-  }
-
-  // The language of the document (if not specified, the language is
-  // automatically detected). Both ISO and BCP-47 language codes are
-  // accepted.<br>
-  // **Current Language Restrictions:**
-  //
-  //  * Only English, Spanish, and Japanese textual content
-  //    are supported, with the following additional restriction:
-  //    * `analyzeSentiment` only supports English text.
-  // If the language (either specified by the caller or automatically detected)
-  // is not supported by the called API method, an `INVALID_ARGUMENT` error
-  // is returned.
-  string language = 4;
-}
-
-// Represents a sentence in the input document.
-message Sentence {
-  // The sentence text.
-  TextSpan text = 1;
-
-  // For calls to [AnalyzeSentiment][] or if
-  // [AnnotateTextRequest.Features.extract_document_sentiment][google.cloud.language.v1.AnnotateTextRequest.Features.extract_document_sentiment] is set to
-  // true, this field will contain the sentiment for the sentence.
-  Sentiment sentiment = 2;
-}
-
-// Represents a phrase in the text that is a known entity, such as
-// a person, an organization, or location. The API associates information, such
-// as salience and mentions, with entities.
-message Entity {
-  // The type of the entity.
-  enum Type {
-    // Unknown
-    UNKNOWN = 0;
-
-    // Person
-    PERSON = 1;
-
-    // Location
-    LOCATION = 2;
-
-    // Organization
-    ORGANIZATION = 3;
-
-    // Event
-    EVENT = 4;
-
-    // Work of art
-    WORK_OF_ART = 5;
-
-    // Consumer goods
-    CONSUMER_GOOD = 6;
-
-    // Other types
-    OTHER = 7;
-  }
-
-  // The representative name for the entity.
-  string name = 1;
-
-  // The entity type.
-  Type type = 2;
-
-  // Metadata associated with the entity.
-  //
-  // Currently, Wikipedia URLs and Knowledge Graph MIDs are provided, if
-  // available. The associated keys are "wikipedia_url" and "mid", respectively.
-  map<string, string> metadata = 3;
-
-  // The salience score associated with the entity in the [0, 1.0] range.
-  //
-  // The salience score for an entity provides information about the
-  // importance or centrality of that entity to the entire document text.
-  // Scores closer to 0 are less salient, while scores closer to 1.0 are highly
-  // salient.
-  float salience = 4;
-
-  // The mentions of this entity in the input document. The API currently
-  // supports proper noun mentions.
-  repeated EntityMention mentions = 5;
-}
-
-// Represents the smallest syntactic building block of the text.
-message Token {
-  // The token text.
-  TextSpan text = 1;
-
-  // Parts of speech tag for this token.
-  PartOfSpeech part_of_speech = 2;
-
-  // Dependency tree parse for this token.
-  DependencyEdge dependency_edge = 3;
-
-  // [Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the token.
-  string lemma = 4;
-}
-
-// Represents the feeling associated with the entire text or entities in
-// the text.
-message Sentiment {
-  // A non-negative number in the [0, +inf) range, which represents
-  // the absolute magnitude of sentiment regardless of score (positive or
-  // negative).
-  float magnitude = 2;
-
-  // Sentiment score between -1.0 (negative sentiment) and 1.0
-  // (positive sentiment.)
-  float score = 3;
-}
-
-// Represents part of speech information for a token. Parts of speech
-// are as defined in
-// http://www.lrec-conf.org/proceedings/lrec2012/pdf/274_Paper.pdf
-message PartOfSpeech {
-  // The part of speech tags enum.
-  enum Tag {
-    // Unknown
-    UNKNOWN = 0;
-
-    // Adjective
-    ADJ = 1;
-
-    // Adposition (preposition and postposition)
-    ADP = 2;
-
-    // Adverb
-    ADV = 3;
-
-    // Conjunction
-    CONJ = 4;
-
-    // Determiner
-    DET = 5;
-
-    // Noun (common and proper)
-    NOUN = 6;
-
-    // Cardinal number
-    NUM = 7;
-
-    // Pronoun
-    PRON = 8;
-
-    // Particle or other function word
-    PRT = 9;
-
-    // Punctuation
-    PUNCT = 10;
-
-    // Verb (all tenses and modes)
-    VERB = 11;
-
-    // Other: foreign words, typos, abbreviations
-    X = 12;
-
-    // Affix
-    AFFIX = 13;
-  }
-
-  // The characteristic of a verb that expresses time flow during an event.
-  enum Aspect {
-    // Aspect is not applicable in the analyzed language or is not predicted.
-    ASPECT_UNKNOWN = 0;
-
-    // Perfective
-    PERFECTIVE = 1;
-
-    // Imperfective
-    IMPERFECTIVE = 2;
-
-    // Progressive
-    PROGRESSIVE = 3;
-  }
-
-  // The grammatical function performed by a noun or pronoun in a phrase,
-  // clause, or sentence. In some languages, other parts of speech, such as
-  // adjective and determiner, take case inflection in agreement with the noun.
-  enum Case {
-    // Case is not applicable in the analyzed language or is not predicted.
-    CASE_UNKNOWN = 0;
-
-    // Accusative
-    ACCUSATIVE = 1;
-
-    // Adverbial
-    ADVERBIAL = 2;
-
-    // Complementive
-    COMPLEMENTIVE = 3;
-
-    // Dative
-    DATIVE = 4;
-
-    // Genitive
-    GENITIVE = 5;
-
-    // Instrumental
-    INSTRUMENTAL = 6;
-
-    // Locative
-    LOCATIVE = 7;
-
-    // Nominative
-    NOMINATIVE = 8;
-
-    // Oblique
-    OBLIQUE = 9;
-
-    // Partitive
-    PARTITIVE = 10;
-
-    // Prepositional
-    PREPOSITIONAL = 11;
-
-    // Reflexive
-    REFLEXIVE_CASE = 12;
-
-    // Relative
-    RELATIVE_CASE = 13;
-
-    // Vocative
-    VOCATIVE = 14;
-  }
-
-  // Depending on the language, Form can be categorizing different forms of
-  // verbs, adjectives, adverbs, etc. For example, categorizing inflected
-  // endings of verbs and adjectives or distinguishing between short and long
-  // forms of adjectives and participles
-  enum Form {
-    // Form is not applicable in the analyzed language or is not predicted.
-    FORM_UNKNOWN = 0;
-
-    // Adnomial
-    ADNOMIAL = 1;
-
-    // Auxiliary
-    AUXILIARY = 2;
-
-    // Complementizer
-    COMPLEMENTIZER = 3;
-
-    // Final ending
-    FINAL_ENDING = 4;
-
-    // Gerund
-    GERUND = 5;
-
-    // Realis
-    REALIS = 6;
-
-    // Irrealis
-    IRREALIS = 7;
-
-    // Short form
-    SHORT = 8;
-
-    // Long form
-    LONG = 9;
-
-    // Order form
-    ORDER = 10;
-
-    // Specific form
-    SPECIFIC = 11;
-  }
-
-  // Gender classes of nouns reflected in the behaviour of associated words.
-  enum Gender {
-    // Gender is not applicable in the analyzed language or is not predicted.
-    GENDER_UNKNOWN = 0;
-
-    // Feminine
-    FEMININE = 1;
-
-    // Masculine
-    MASCULINE = 2;
-
-    // Neuter
-    NEUTER = 3;
-  }
-
-  // The grammatical feature of verbs, used for showing modality and attitude.
-  enum Mood {
-    // Mood is not applicable in the analyzed language or is not predicted.
-    MOOD_UNKNOWN = 0;
-
-    // Conditional
-    CONDITIONAL_MOOD = 1;
-
-    // Imperative
-    IMPERATIVE = 2;
-
-    // Indicative
-    INDICATIVE = 3;
-
-    // Interrogative
-    INTERROGATIVE = 4;
-
-    // Jussive
-    JUSSIVE = 5;
-
-    // Subjunctive
-    SUBJUNCTIVE = 6;
-  }
-
-  // Count distinctions.
-  enum Number {
-    // Number is not applicable in the analyzed language or is not predicted.
-    NUMBER_UNKNOWN = 0;
-
-    // Singular
-    SINGULAR = 1;
-
-    // Plural
-    PLURAL = 2;
-
-    // Dual
-    DUAL = 3;
-  }
-
-  // The distinction between the speaker, second person, third person, etc.
-  enum Person {
-    // Person is not applicable in the analyzed language or is not predicted.
-    PERSON_UNKNOWN = 0;
-
-    // First
-    FIRST = 1;
-
-    // Second
-    SECOND = 2;
-
-    // Third
-    THIRD = 3;
-
-    // Reflexive
-    REFLEXIVE_PERSON = 4;
-  }
-
-  // This category shows if the token is part of a proper name.
-  enum Proper {
-    // Proper is not applicable in the analyzed language or is not predicted.
-    PROPER_UNKNOWN = 0;
-
-    // Proper
-    PROPER = 1;
-
-    // Not proper
-    NOT_PROPER = 2;
-  }
-
-  // Reciprocal features of a pronoun.
-  enum Reciprocity {
-    // Reciprocity is not applicable in the analyzed language or is not
-    // predicted.
-    RECIPROCITY_UNKNOWN = 0;
-
-    // Reciprocal
-    RECIPROCAL = 1;
-
-    // Non-reciprocal
-    NON_RECIPROCAL = 2;
-  }
-
-  // Time reference.
-  enum Tense {
-    // Tense is not applicable in the analyzed language or is not predicted.
-    TENSE_UNKNOWN = 0;
-
-    // Conditional
-    CONDITIONAL_TENSE = 1;
-
-    // Future
-    FUTURE = 2;
-
-    // Past
-    PAST = 3;
-
-    // Present
-    PRESENT = 4;
-
-    // Imperfect
-    IMPERFECT = 5;
-
-    // Pluperfect
-    PLUPERFECT = 6;
-  }
-
-  // The relationship between the action that a verb expresses and the
-  // participants identified by its arguments.
-  enum Voice {
-    // Voice is not applicable in the analyzed language or is not predicted.
-    VOICE_UNKNOWN = 0;
-
-    // Active
-    ACTIVE = 1;
-
-    // Causative
-    CAUSATIVE = 2;
-
-    // Passive
-    PASSIVE = 3;
-  }
-
-  // The part of speech tag.
-  Tag tag = 1;
-
-  // The grammatical aspect.
-  Aspect aspect = 2;
-
-  // The grammatical case.
-  Case case = 3;
-
-  // The grammatical form.
-  Form form = 4;
-
-  // The grammatical gender.
-  Gender gender = 5;
-
-  // The grammatical mood.
-  Mood mood = 6;
-
-  // The grammatical number.
-  Number number = 7;
-
-  // The grammatical person.
-  Person person = 8;
-
-  // The grammatical properness.
-  Proper proper = 9;
-
-  // The grammatical reciprocity.
-  Reciprocity reciprocity = 10;
-
-  // The grammatical tense.
-  Tense tense = 11;
-
-  // The grammatical voice.
-  Voice voice = 12;
-}
-
-// Represents dependency parse tree information for a token. (For more
-// information on dependency labels, see
-// http://www.aclweb.org/anthology/P13-2017
-message DependencyEdge {
-  // The parse label enum for the token.
-  enum Label {
-    // Unknown
-    UNKNOWN = 0;
-
-    // Abbreviation modifier
-    ABBREV = 1;
-
-    // Adjectival complement
-    ACOMP = 2;
-
-    // Adverbial clause modifier
-    ADVCL = 3;
-
-    // Adverbial modifier
-    ADVMOD = 4;
-
-    // Adjectival modifier of an NP
-    AMOD = 5;
-
-    // Appositional modifier of an NP
-    APPOS = 6;
-
-    // Attribute dependent of a copular verb
-    ATTR = 7;
-
-    // Auxiliary (non-main) verb
-    AUX = 8;
-
-    // Passive auxiliary
-    AUXPASS = 9;
-
-    // Coordinating conjunction
-    CC = 10;
-
-    // Clausal complement of a verb or adjective
-    CCOMP = 11;
-
-    // Conjunct
-    CONJ = 12;
-
-    // Clausal subject
-    CSUBJ = 13;
-
-    // Clausal passive subject
-    CSUBJPASS = 14;
-
-    // Dependency (unable to determine)
-    DEP = 15;
-
-    // Determiner
-    DET = 16;
-
-    // Discourse
-    DISCOURSE = 17;
-
-    // Direct object
-    DOBJ = 18;
-
-    // Expletive
-    EXPL = 19;
-
-    // Goes with (part of a word in a text not well edited)
-    GOESWITH = 20;
-
-    // Indirect object
-    IOBJ = 21;
-
-    // Marker (word introducing a subordinate clause)
-    MARK = 22;
-
-    // Multi-word expression
-    MWE = 23;
-
-    // Multi-word verbal expression
-    MWV = 24;
-
-    // Negation modifier
-    NEG = 25;
-
-    // Noun compound modifier
-    NN = 26;
-
-    // Noun phrase used as an adverbial modifier
-    NPADVMOD = 27;
-
-    // Nominal subject
-    NSUBJ = 28;
-
-    // Passive nominal subject
-    NSUBJPASS = 29;
-
-    // Numeric modifier of a noun
-    NUM = 30;
-
-    // Element of compound number
-    NUMBER = 31;
-
-    // Punctuation mark
-    P = 32;
-
-    // Parataxis relation
-    PARATAXIS = 33;
-
-    // Participial modifier
-    PARTMOD = 34;
-
-    // The complement of a preposition is a clause
-    PCOMP = 35;
-
-    // Object of a preposition
-    POBJ = 36;
-
-    // Possession modifier
-    POSS = 37;
-
-    // Postverbal negative particle
-    POSTNEG = 38;
-
-    // Predicate complement
-    PRECOMP = 39;
-
-    // Preconjunt
-    PRECONJ = 40;
-
-    // Predeterminer
-    PREDET = 41;
-
-    // Prefix
-    PREF = 42;
-
-    // Prepositional modifier
-    PREP = 43;
-
-    // The relationship between a verb and verbal morpheme
-    PRONL = 44;
-
-    // Particle
-    PRT = 45;
-
-    // Associative or possessive marker
-    PS = 46;
-
-    // Quantifier phrase modifier
-    QUANTMOD = 47;
-
-    // Relative clause modifier
-    RCMOD = 48;
-
-    // Complementizer in relative clause
-    RCMODREL = 49;
-
-    // Ellipsis without a preceding predicate
-    RDROP = 50;
-
-    // Referent
-    REF = 51;
-
-    // Remnant
-    REMNANT = 52;
-
-    // Reparandum
-    REPARANDUM = 53;
-
-    // Root
-    ROOT = 54;
-
-    // Suffix specifying a unit of number
-    SNUM = 55;
-
-    // Suffix
-    SUFF = 56;
-
-    // Temporal modifier
-    TMOD = 57;
-
-    // Topic marker
-    TOPIC = 58;
-
-    // Clause headed by an infinite form of the verb that modifies a noun
-    VMOD = 59;
-
-    // Vocative
-    VOCATIVE = 60;
-
-    // Open clausal complement
-    XCOMP = 61;
-
-    // Name suffix
-    SUFFIX = 62;
-
-    // Name title
-    TITLE = 63;
-
-    // Adverbial phrase modifier
-    ADVPHMOD = 64;
-
-    // Causative auxiliary
-    AUXCAUS = 65;
-
-    // Helper auxiliary
-    AUXVV = 66;
-
-    // Rentaishi (Prenominal modifier)
-    DTMOD = 67;
-
-    // Foreign words
-    FOREIGN = 68;
-
-    // Keyword
-    KW = 69;
-
-    // List for chains of comparable items
-    LIST = 70;
-
-    // Nominalized clause
-    NOMC = 71;
-
-    // Nominalized clausal subject
-    NOMCSUBJ = 72;
-
-    // Nominalized clausal passive
-    NOMCSUBJPASS = 73;
-
-    // Compound of numeric modifier
-    NUMC = 74;
-
-    // Copula
-    COP = 75;
-
-    // Dislocated relation (for fronted/topicalized elements)
-    DISLOCATED = 76;
-  }
-
-  // Represents the head of this token in the dependency tree.
-  // This is the index of the token which has an arc going to this token.
-  // The index is the position of the token in the array of tokens returned
-  // by the API method. If this token is a root token, then the
-  // `head_token_index` is its own index.
-  int32 head_token_index = 1;
-
-  // The parse label for the token.
-  Label label = 2;
-}
-
-// Represents a mention for an entity in the text. Currently, proper noun
-// mentions are supported.
-message EntityMention {
-  // The supported types of mentions.
-  enum Type {
-    // Unknown
-    TYPE_UNKNOWN = 0;
-
-    // Proper name
-    PROPER = 1;
-
-    // Common noun (or noun compound)
-    COMMON = 2;
-  }
-
-  // The mention text.
-  TextSpan text = 1;
-
-  // The type of the entity mention.
-  Type type = 2;
-}
-
-// Represents an output piece of text.
-message TextSpan {
-  // The content of the output text.
-  string content = 1;
-
-  // The API calculates the beginning offset of the content in the original
-  // document according to the [EncodingType][google.cloud.language.v1.EncodingType] specified in the API request.
-  int32 begin_offset = 2;
-}
-
-// The sentiment analysis request message.
-message AnalyzeSentimentRequest {
-  // Input document. Currently, `analyzeSentiment` only supports English text
-  // ([Document.language][google.cloud.language.v1.Document.language]="EN").
-  Document document = 1;
-
-  // The encoding type used by the API to calculate sentence offsets.
-  EncodingType encoding_type = 2;
-}
-
-// The sentiment analysis response message.
-message AnalyzeSentimentResponse {
-  // The overall sentiment of the input document.
-  Sentiment document_sentiment = 1;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  // See `Document.language` field for more details.
-  string language = 2;
-
-  // The sentiment for all the sentences in the document.
-  repeated Sentence sentences = 3;
-}
-
-// The entity analysis request message.
-message AnalyzeEntitiesRequest {
-  // Input document.
-  Document document = 1;
-
-  // The encoding type used by the API to calculate offsets.
-  EncodingType encoding_type = 2;
-}
-
-// The entity analysis response message.
-message AnalyzeEntitiesResponse {
-  // The recognized entities in the input document.
-  repeated Entity entities = 1;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  // See `Document.language` field for more details.
-  string language = 2;
-}
-
-// The syntax analysis request message.
-message AnalyzeSyntaxRequest {
-  // Input document.
-  Document document = 1;
-
-  // The encoding type used by the API to calculate offsets.
-  EncodingType encoding_type = 2;
-}
-
-// The syntax analysis response message.
-message AnalyzeSyntaxResponse {
-  // Sentences in the input document.
-  repeated Sentence sentences = 1;
-
-  // Tokens, along with their syntactic information, in the input document.
-  repeated Token tokens = 2;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  // See `Document.language` field for more details.
-  string language = 3;
-}
-
-// The request message for the text annotation API, which can perform multiple
-// analysis types (sentiment, entities, and syntax) in one call.
-message AnnotateTextRequest {
-  // All available features for sentiment, syntax, and semantic analysis.
-  // Setting each one to true will enable that specific analysis for the input.
-  message Features {
-    // Extract syntax information.
-    bool extract_syntax = 1;
-
-    // Extract entities.
-    bool extract_entities = 2;
-
-    // Extract document-level sentiment.
-    bool extract_document_sentiment = 3;
-  }
-
-  // Input document.
-  Document document = 1;
-
-  // The enabled features.
-  Features features = 2;
-
-  // The encoding type used by the API to calculate offsets.
-  EncodingType encoding_type = 3;
-}
-
-// The text annotations response message.
-message AnnotateTextResponse {
-  // Sentences in the input document. Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_syntax][google.cloud.language.v1.AnnotateTextRequest.Features.extract_syntax].
-  repeated Sentence sentences = 1;
-
-  // Tokens, along with their syntactic information, in the input document.
-  // Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_syntax][google.cloud.language.v1.AnnotateTextRequest.Features.extract_syntax].
-  repeated Token tokens = 2;
-
-  // Entities, along with their semantic information, in the input document.
-  // Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_entities][google.cloud.language.v1.AnnotateTextRequest.Features.extract_entities].
-  repeated Entity entities = 3;
-
-  // The overall sentiment for the document. Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_document_sentiment][google.cloud.language.v1.AnnotateTextRequest.Features.extract_document_sentiment].
-  Sentiment document_sentiment = 4;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  // See `Document.language` field for more details.
-  string language = 5;
-}
-
-// Represents the text encoding that the caller uses to process the output.
-// Providing an `EncodingType` is recommended because the API provides the
-// beginning offsets for various outputs, such as tokens and mentions, and
-// languages that natively use different text encodings may access offsets
-// differently.
-enum EncodingType {
-  // If `EncodingType` is not specified, encoding-dependent information (such as
-  // `begin_offset`) will be set at `-1`.
-  NONE = 0;
-
-  // Encoding-dependent information (such as `begin_offset`) is calculated based
-  // on the UTF-8 encoding of the input. C++ and Go are examples of languages
-  // that use this encoding natively.
-  UTF8 = 1;
-
-  // Encoding-dependent information (such as `begin_offset`) is calculated based
-  // on the UTF-16 encoding of the input. Java and Javascript are examples of
-  // languages that use this encoding natively.
-  UTF16 = 2;
-
-  // Encoding-dependent information (such as `begin_offset`) is calculated based
-  // on the UTF-32 encoding of the input. Python is an example of a language
-  // that uses this encoding natively.
-  UTF32 = 3;
-}
diff --git a/googleapis/cloud/language/v1beta1/language_service.pb.go b/googleapis/cloud/language/v1beta1/language_service.pb.go
index 62a3c88f17d641d3053f5e18daec93e8f180e03b..7ae6078e266898b8ca5284b1598521da51276f9a 100644
--- a/googleapis/cloud/language/v1beta1/language_service.pb.go
+++ b/googleapis/cloud/language/v1beta1/language_service.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/language/v1beta1/language_service.proto
+// source: google/cloud/language/v1beta1/language_service.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_language_v1beta1 is a generated protocol buffer package.
+Package language is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/language/v1beta1/language_service.proto
+	google/cloud/language/v1beta1/language_service.proto
 
 It has these top-level messages:
 	Document
@@ -27,12 +27,12 @@ It has these top-level messages:
 	AnnotateTextRequest
 	AnnotateTextResponse
 */
-package google_cloud_language_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/language/v1beta1"
+package language
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -1102,6 +1102,13 @@ func (m *Document) GetSource() isDocument_Source {
 	return nil
 }
 
+func (m *Document) GetType() Document_Type {
+	if m != nil {
+		return m.Type
+	}
+	return Document_TYPE_UNSPECIFIED
+}
+
 func (m *Document) GetContent() string {
 	if x, ok := m.GetSource().(*Document_Content); ok {
 		return x.Content
@@ -1116,6 +1123,13 @@ func (m *Document) GetGcsContentUri() string {
 	return ""
 }
 
+func (m *Document) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Document) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _Document_OneofMarshaler, _Document_OneofUnmarshaler, _Document_OneofSizer, []interface{}{
@@ -1241,6 +1255,20 @@ func (m *Entity) String() string            { return proto.CompactTextString(m)
 func (*Entity) ProtoMessage()               {}
 func (*Entity) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *Entity) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Entity) GetType() Entity_Type {
+	if m != nil {
+		return m.Type
+	}
+	return Entity_UNKNOWN
+}
+
 func (m *Entity) GetMetadata() map[string]string {
 	if m != nil {
 		return m.Metadata
@@ -1248,6 +1276,13 @@ func (m *Entity) GetMetadata() map[string]string {
 	return nil
 }
 
+func (m *Entity) GetSalience() float32 {
+	if m != nil {
+		return m.Salience
+	}
+	return 0
+}
+
 func (m *Entity) GetMentions() []*EntityMention {
 	if m != nil {
 		return m.Mentions
@@ -1293,6 +1328,13 @@ func (m *Token) GetDependencyEdge() *DependencyEdge {
 	return nil
 }
 
+func (m *Token) GetLemma() string {
+	if m != nil {
+		return m.Lemma
+	}
+	return ""
+}
+
 // Represents the feeling associated with the entire text or entities in
 // the text.
 type Sentiment struct {
@@ -1314,6 +1356,27 @@ func (m *Sentiment) String() string            { return proto.CompactTextString(
 func (*Sentiment) ProtoMessage()               {}
 func (*Sentiment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *Sentiment) GetPolarity() float32 {
+	if m != nil {
+		return m.Polarity
+	}
+	return 0
+}
+
+func (m *Sentiment) GetMagnitude() float32 {
+	if m != nil {
+		return m.Magnitude
+	}
+	return 0
+}
+
+func (m *Sentiment) GetScore() float32 {
+	if m != nil {
+		return m.Score
+	}
+	return 0
+}
+
 // Represents part of speech information for a token.
 type PartOfSpeech struct {
 	// The part of speech tag.
@@ -1347,6 +1410,90 @@ func (m *PartOfSpeech) String() string            { return proto.CompactTextStri
 func (*PartOfSpeech) ProtoMessage()               {}
 func (*PartOfSpeech) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *PartOfSpeech) GetTag() PartOfSpeech_Tag {
+	if m != nil {
+		return m.Tag
+	}
+	return PartOfSpeech_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetAspect() PartOfSpeech_Aspect {
+	if m != nil {
+		return m.Aspect
+	}
+	return PartOfSpeech_ASPECT_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetCase() PartOfSpeech_Case {
+	if m != nil {
+		return m.Case
+	}
+	return PartOfSpeech_CASE_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetForm() PartOfSpeech_Form {
+	if m != nil {
+		return m.Form
+	}
+	return PartOfSpeech_FORM_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetGender() PartOfSpeech_Gender {
+	if m != nil {
+		return m.Gender
+	}
+	return PartOfSpeech_GENDER_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetMood() PartOfSpeech_Mood {
+	if m != nil {
+		return m.Mood
+	}
+	return PartOfSpeech_MOOD_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetNumber() PartOfSpeech_Number {
+	if m != nil {
+		return m.Number
+	}
+	return PartOfSpeech_NUMBER_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetPerson() PartOfSpeech_Person {
+	if m != nil {
+		return m.Person
+	}
+	return PartOfSpeech_PERSON_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetProper() PartOfSpeech_Proper {
+	if m != nil {
+		return m.Proper
+	}
+	return PartOfSpeech_PROPER_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetReciprocity() PartOfSpeech_Reciprocity {
+	if m != nil {
+		return m.Reciprocity
+	}
+	return PartOfSpeech_RECIPROCITY_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetTense() PartOfSpeech_Tense {
+	if m != nil {
+		return m.Tense
+	}
+	return PartOfSpeech_TENSE_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetVoice() PartOfSpeech_Voice {
+	if m != nil {
+		return m.Voice
+	}
+	return PartOfSpeech_VOICE_UNKNOWN
+}
+
 // Represents dependency parse tree information for a token.
 type DependencyEdge struct {
 	// Represents the head of this token in the dependency tree.
@@ -1364,6 +1511,20 @@ func (m *DependencyEdge) String() string            { return proto.CompactTextSt
 func (*DependencyEdge) ProtoMessage()               {}
 func (*DependencyEdge) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *DependencyEdge) GetHeadTokenIndex() int32 {
+	if m != nil {
+		return m.HeadTokenIndex
+	}
+	return 0
+}
+
+func (m *DependencyEdge) GetLabel() DependencyEdge_Label {
+	if m != nil {
+		return m.Label
+	}
+	return DependencyEdge_UNKNOWN
+}
+
 // Represents a mention for an entity in the text. Currently, proper noun
 // mentions are supported.
 type EntityMention struct {
@@ -1385,6 +1546,13 @@ func (m *EntityMention) GetText() *TextSpan {
 	return nil
 }
 
+func (m *EntityMention) GetType() EntityMention_Type {
+	if m != nil {
+		return m.Type
+	}
+	return EntityMention_TYPE_UNKNOWN
+}
+
 // Represents an output piece of text.
 type TextSpan struct {
 	// The content of the output text.
@@ -1399,6 +1567,20 @@ func (m *TextSpan) String() string            { return proto.CompactTextString(m
 func (*TextSpan) ProtoMessage()               {}
 func (*TextSpan) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *TextSpan) GetContent() string {
+	if m != nil {
+		return m.Content
+	}
+	return ""
+}
+
+func (m *TextSpan) GetBeginOffset() int32 {
+	if m != nil {
+		return m.BeginOffset
+	}
+	return 0
+}
+
 // The sentiment analysis request message.
 type AnalyzeSentimentRequest struct {
 	// Input document. Currently, `analyzeSentiment` only supports English text
@@ -1421,6 +1603,13 @@ func (m *AnalyzeSentimentRequest) GetDocument() *Document {
 	return nil
 }
 
+func (m *AnalyzeSentimentRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // The sentiment analysis response message.
 type AnalyzeSentimentResponse struct {
 	// The overall sentiment of the input document.
@@ -1444,6 +1633,13 @@ func (m *AnalyzeSentimentResponse) GetDocumentSentiment() *Sentiment {
 	return nil
 }
 
+func (m *AnalyzeSentimentResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 func (m *AnalyzeSentimentResponse) GetSentences() []*Sentence {
 	if m != nil {
 		return m.Sentences
@@ -1471,6 +1667,13 @@ func (m *AnalyzeEntitiesRequest) GetDocument() *Document {
 	return nil
 }
 
+func (m *AnalyzeEntitiesRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // The entity analysis response message.
 type AnalyzeEntitiesResponse struct {
 	// The recognized entities in the input document.
@@ -1493,6 +1696,13 @@ func (m *AnalyzeEntitiesResponse) GetEntities() []*Entity {
 	return nil
 }
 
+func (m *AnalyzeEntitiesResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 // The syntax analysis request message.
 type AnalyzeSyntaxRequest struct {
 	// Input document.
@@ -1513,6 +1723,13 @@ func (m *AnalyzeSyntaxRequest) GetDocument() *Document {
 	return nil
 }
 
+func (m *AnalyzeSyntaxRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // The syntax analysis response message.
 type AnalyzeSyntaxResponse struct {
 	// Sentences in the input document.
@@ -1544,6 +1761,13 @@ func (m *AnalyzeSyntaxResponse) GetTokens() []*Token {
 	return nil
 }
 
+func (m *AnalyzeSyntaxResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 // The request message for the text annotation API, which can perform multiple
 // analysis types (sentiment, entities, and syntax) in one call.
 type AnnotateTextRequest struct {
@@ -1574,6 +1798,13 @@ func (m *AnnotateTextRequest) GetFeatures() *AnnotateTextRequest_Features {
 	return nil
 }
 
+func (m *AnnotateTextRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // All available features for sentiment, syntax, and semantic analysis.
 // Setting each one to true will enable that specific analysis for the input.
 type AnnotateTextRequest_Features struct {
@@ -1592,6 +1823,27 @@ func (*AnnotateTextRequest_Features) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{15, 0}
 }
 
+func (m *AnnotateTextRequest_Features) GetExtractSyntax() bool {
+	if m != nil {
+		return m.ExtractSyntax
+	}
+	return false
+}
+
+func (m *AnnotateTextRequest_Features) GetExtractEntities() bool {
+	if m != nil {
+		return m.ExtractEntities
+	}
+	return false
+}
+
+func (m *AnnotateTextRequest_Features) GetExtractDocumentSentiment() bool {
+	if m != nil {
+		return m.ExtractDocumentSentiment
+	}
+	return false
+}
+
 // The text annotations response message.
 type AnnotateTextResponse struct {
 	// Sentences in the input document. Populated if the user enables
@@ -1647,6 +1899,13 @@ func (m *AnnotateTextResponse) GetDocumentSentiment() *Sentiment {
 	return nil
 }
 
+func (m *AnnotateTextResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Document)(nil), "google.cloud.language.v1beta1.Document")
 	proto.RegisterType((*Sentence)(nil), "google.cloud.language.v1beta1.Sentence")
@@ -1869,185 +2128,186 @@ var _LanguageService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/language/v1beta1/language_service.proto",
+	Metadata: "google/cloud/language/v1beta1/language_service.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/language/v1beta1/language_service.proto", fileDescriptor0)
+	proto.RegisterFile("google/cloud/language/v1beta1/language_service.proto", fileDescriptor0)
 }
 
 var fileDescriptor0 = []byte{
-	// 2752 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x59, 0xcf, 0x73, 0xdb, 0xc6,
-	0xf5, 0x37, 0xf8, 0x4b, 0xe4, 0x92, 0x92, 0xd6, 0x88, 0x93, 0xf0, 0xab, 0x6f, 0xf2, 0x8d, 0x83,
-	0xc4, 0x5f, 0x2b, 0x76, 0x42, 0xc5, 0x52, 0xe2, 0xb8, 0x76, 0x9a, 0x06, 0x02, 0x96, 0x14, 0x64,
-	0x10, 0x40, 0x16, 0x00, 0x25, 0xa7, 0x07, 0x0e, 0x4c, 0xae, 0x18, 0x4e, 0x24, 0x80, 0x25, 0x21,
-	0x8f, 0xd5, 0x4b, 0x67, 0x3a, 0xd3, 0x63, 0xa7, 0x87, 0xde, 0x7a, 0x6c, 0x0f, 0x3d, 0x75, 0xd2,
-	0x99, 0x5e, 0xda, 0x3f, 0xa0, 0x87, 0x4e, 0x8f, 0x99, 0xe9, 0x5f, 0xd0, 0x63, 0x0f, 0x3d, 0xf4,
-	0xd0, 0x63, 0xe7, 0xed, 0x2e, 0xf8, 0x43, 0x71, 0x2d, 0x31, 0xc9, 0x21, 0xb7, 0xdd, 0xc7, 0xf7,
-	0x3e, 0xef, 0xe7, 0xbe, 0xb7, 0x58, 0x22, 0x7f, 0x90, 0x24, 0x83, 0x63, 0xd6, 0x18, 0x24, 0xc7,
-	0x51, 0x3c, 0x68, 0x24, 0xe3, 0xc1, 0xd6, 0x80, 0xc5, 0xa3, 0x71, 0x92, 0x26, 0x5b, 0xe2, 0xa7,
-	0x68, 0x34, 0x9c, 0x6c, 0xf5, 0x8e, 0x93, 0xd3, 0xfe, 0x16, 0xb0, 0x9c, 0x46, 0x03, 0xb6, 0xf5,
-	0xe4, 0xce, 0x63, 0x96, 0x46, 0x77, 0xa6, 0x84, 0xee, 0x84, 0x8d, 0x9f, 0x0c, 0x7b, 0xac, 0xc1,
-	0x05, 0xd5, 0x57, 0x25, 0x28, 0x97, 0x6a, 0x64, 0x4c, 0x0d, 0x29, 0xb5, 0x61, 0x5d, 0x4e, 0x67,
-	0x34, 0x1a, 0x6e, 0x49, 0xdc, 0x5e, 0x12, 0x1f, 0x0d, 0x07, 0x5b, 0x51, 0x1c, 0x27, 0x69, 0x94,
-	0x0e, 0x93, 0x78, 0x22, 0x34, 0x69, 0xff, 0x54, 0x50, 0xd9, 0x4c, 0x7a, 0xa7, 0x27, 0x2c, 0x4e,
-	0xd5, 0x8f, 0x51, 0x21, 0x3d, 0x1b, 0xb1, 0xba, 0x72, 0x5d, 0xd9, 0x5c, 0xdb, 0x7e, 0xbb, 0xf1,
-	0x5c, 0x2b, 0x1a, 0x99, 0x58, 0x23, 0x38, 0x1b, 0x31, 0xca, 0x25, 0xd5, 0x0d, 0xb4, 0xd2, 0x4b,
-	0xe2, 0x94, 0xc5, 0x69, 0x3d, 0x77, 0x5d, 0xd9, 0xac, 0xec, 0x5d, 0xa1, 0x19, 0x41, 0xdd, 0x44,
-	0xeb, 0x83, 0xde, 0xa4, 0x2b, 0xb7, 0xdd, 0xd3, 0xf1, 0xb0, 0x9e, 0x97, 0x3c, 0xab, 0x83, 0xde,
-	0xc4, 0x10, 0xf4, 0x70, 0x3c, 0x54, 0x37, 0x50, 0x39, 0xd3, 0x56, 0x2f, 0x00, 0x0b, 0x9d, 0xee,
-	0xb5, 0xbb, 0xa8, 0x00, 0xfa, 0xd4, 0x6b, 0x08, 0x07, 0x8f, 0x3c, 0xd2, 0x0d, 0x1d, 0xdf, 0x23,
-	0x86, 0xd5, 0xb4, 0x88, 0x89, 0xaf, 0xa8, 0x6b, 0x08, 0x79, 0xb6, 0x6e, 0x39, 0xdd, 0x80, 0x1c,
-	0x06, 0x58, 0x51, 0xcb, 0xa8, 0xb0, 0x17, 0xb4, 0x6d, 0x9c, 0xdb, 0x2d, 0xa3, 0xd2, 0x24, 0x39,
-	0x1d, 0xf7, 0x98, 0xf6, 0x0b, 0x05, 0x95, 0x7d, 0x06, 0xca, 0x7a, 0x4c, 0x7d, 0x80, 0x0a, 0x29,
-	0x7b, 0x9a, 0x72, 0x97, 0xab, 0xdb, 0x37, 0x2f, 0x70, 0x39, 0x60, 0x4f, 0x53, 0x7f, 0x14, 0xc5,
-	0x94, 0x0b, 0xa9, 0x4d, 0x54, 0x99, 0xb0, 0x38, 0x1d, 0x9e, 0x64, 0xfe, 0x56, 0xb7, 0x37, 0x2f,
-	0x40, 0xf0, 0x33, 0x7e, 0x3a, 0x13, 0xd5, 0xfe, 0x9a, 0x47, 0x25, 0x12, 0xa7, 0xc3, 0xf4, 0x4c,
-	0x55, 0x51, 0x21, 0x8e, 0x4e, 0x44, 0x0a, 0x2a, 0x94, 0xaf, 0xd5, 0x8f, 0x64, 0x5a, 0x72, 0x3c,
-	0x2d, 0xb7, 0x2e, 0xd0, 0x20, 0x80, 0xe6, 0x93, 0xe2, 0xa2, 0xf2, 0x09, 0x4b, 0xa3, 0x7e, 0x94,
-	0x46, 0xf5, 0xfc, 0xf5, 0xfc, 0x66, 0x75, 0x7b, 0xe7, 0x72, 0x18, 0x6d, 0x29, 0x45, 0xe2, 0x74,
-	0x7c, 0x46, 0xa7, 0x20, 0x90, 0x9f, 0x49, 0x74, 0x3c, 0x84, 0x00, 0xf2, 0xfc, 0xe4, 0xe8, 0x74,
-	0xaf, 0xee, 0x81, 0xb2, 0x98, 0x97, 0x58, 0xbd, 0xc8, 0x95, 0xbd, 0x7d, 0x29, 0x65, 0x6d, 0x21,
-	0x44, 0xa7, 0xd2, 0x1b, 0x0f, 0xd0, 0xea, 0x82, 0x01, 0x2a, 0x46, 0xf9, 0xcf, 0xd9, 0x99, 0x0c,
-	0x0d, 0x2c, 0xd5, 0x6b, 0xa8, 0xf8, 0x24, 0x3a, 0x3e, 0x15, 0xa1, 0xa9, 0x50, 0xb1, 0xb9, 0x9f,
-	0xbb, 0xa7, 0x68, 0x67, 0xb2, 0x4c, 0xaa, 0x68, 0x25, 0x74, 0x1e, 0x3a, 0xee, 0x81, 0x83, 0xaf,
-	0xa8, 0x08, 0x95, 0x3c, 0x42, 0x7d, 0xd7, 0xc1, 0x8a, 0x5a, 0x43, 0x65, 0xdb, 0x35, 0xf4, 0xc0,
-	0x72, 0x1d, 0x9c, 0x53, 0x31, 0xaa, 0xb9, 0xb4, 0xa5, 0x3b, 0xd6, 0xa7, 0x82, 0x92, 0x57, 0x2b,
-	0xa8, 0x48, 0x3a, 0xc4, 0x09, 0x70, 0x41, 0x5d, 0x47, 0xd5, 0x03, 0x97, 0x3e, 0xec, 0xba, 0xcd,
-	0xae, 0x4e, 0x03, 0x5c, 0x54, 0xaf, 0xa2, 0x55, 0xc3, 0x75, 0xfc, 0xb0, 0x4d, 0x68, 0xb7, 0xe5,
-	0xba, 0x26, 0x2e, 0x01, 0xbb, 0x1b, 0xec, 0x11, 0x8a, 0x57, 0xb4, 0x9f, 0xe5, 0x50, 0x31, 0x48,
-	0x3e, 0x67, 0xf1, 0x37, 0x2b, 0xae, 0x4f, 0xd0, 0xda, 0x28, 0x1a, 0xa7, 0xdd, 0xe4, 0xa8, 0x3b,
-	0x19, 0x31, 0xd6, 0xfb, 0x4c, 0x56, 0xd8, 0xed, 0x0b, 0x60, 0xbc, 0x68, 0x9c, 0xba, 0x47, 0x3e,
-	0x17, 0xa1, 0xb5, 0xd1, 0xdc, 0x4e, 0xed, 0xa0, 0xf5, 0x3e, 0x1b, 0xb1, 0xb8, 0xcf, 0xe2, 0xde,
-	0x59, 0x97, 0xf5, 0x07, 0x8c, 0x9f, 0xc0, 0xea, 0xf6, 0x3b, 0x17, 0x1d, 0xf5, 0xa9, 0x14, 0xe9,
-	0x0f, 0x18, 0x5d, 0xeb, 0x2f, 0xec, 0x21, 0x0d, 0xc7, 0xec, 0xe4, 0x24, 0x92, 0x87, 0x55, 0x6c,
-	0xb4, 0x1f, 0xa2, 0xca, 0xb4, 0xda, 0xa1, 0x64, 0x46, 0xc9, 0x71, 0x34, 0x1e, 0xa6, 0x22, 0x81,
-	0x39, 0x3a, 0xdd, 0xab, 0xaf, 0xa0, 0xca, 0x49, 0x34, 0x88, 0x87, 0xe9, 0x69, 0x5f, 0x64, 0x32,
-	0x47, 0x67, 0x04, 0x00, 0x9f, 0xf4, 0x92, 0xb1, 0x30, 0x35, 0x47, 0xc5, 0x46, 0xfb, 0xd3, 0x55,
-	0x54, 0x9b, 0xf7, 0x54, 0xd5, 0x51, 0x3e, 0x8d, 0x06, 0xb2, 0x75, 0x6d, 0x2d, 0x11, 0xa3, 0x46,
-	0x10, 0x0d, 0x28, 0xc8, 0xaa, 0xfb, 0xa8, 0x14, 0x4d, 0x46, 0xac, 0x97, 0xca, 0x93, 0xb6, 0xbd,
-	0x0c, 0x8a, 0xce, 0x25, 0xa9, 0x44, 0x50, 0x4d, 0x54, 0xe8, 0x45, 0x13, 0x61, 0xf4, 0xda, 0xf6,
-	0xbb, 0xcb, 0x20, 0x19, 0xd1, 0x84, 0x51, 0x2e, 0x0d, 0x28, 0x47, 0xc9, 0xf8, 0x84, 0xc7, 0x75,
-	0x49, 0x94, 0x66, 0x32, 0x3e, 0xa1, 0x5c, 0x1a, 0xfc, 0x1a, 0x40, 0xba, 0xc6, 0xf5, 0xe2, 0xf2,
-	0x7e, 0xb5, 0xb8, 0x24, 0x95, 0x08, 0x60, 0xd1, 0x49, 0x92, 0xf4, 0xeb, 0xa5, 0xe5, 0x2d, 0x6a,
-	0x27, 0x49, 0x9f, 0x72, 0x69, 0xb0, 0x28, 0x3e, 0x3d, 0x79, 0xcc, 0xc6, 0xf5, 0x95, 0xe5, 0x2d,
-	0x72, 0xb8, 0x24, 0x95, 0x08, 0x80, 0x35, 0x62, 0xe3, 0x49, 0x12, 0xd7, 0xcb, 0xcb, 0x63, 0x79,
-	0x5c, 0x92, 0x4a, 0x04, 0x8e, 0x35, 0x4e, 0x46, 0x6c, 0x5c, 0xaf, 0x7c, 0x0d, 0x2c, 0x2e, 0x49,
-	0x25, 0x82, 0xfa, 0x08, 0x55, 0xc7, 0xac, 0x37, 0x1c, 0x8d, 0x93, 0x1e, 0x14, 0x3d, 0xe2, 0x80,
-	0x1f, 0x2c, 0x03, 0x48, 0x67, 0xe2, 0x74, 0x1e, 0x4b, 0x6d, 0xa1, 0x62, 0xca, 0xe2, 0x09, 0xab,
-	0x57, 0x39, 0xe8, 0x9d, 0xa5, 0xaa, 0x1d, 0x04, 0xa9, 0x90, 0x07, 0xa0, 0x27, 0xc9, 0xb0, 0xc7,
-	0xea, 0xb5, 0xe5, 0x81, 0x3a, 0x20, 0x48, 0x85, 0xbc, 0xf6, 0x73, 0x05, 0xe5, 0x83, 0x68, 0xb0,
-	0xd8, 0x6e, 0x57, 0x50, 0x5e, 0x37, 0xf7, 0xb1, 0x22, 0x16, 0x1e, 0xce, 0x89, 0x45, 0x07, 0xe7,
-	0x61, 0x2e, 0x1b, 0xae, 0xb3, 0x8f, 0x0b, 0x40, 0x32, 0x09, 0x34, 0xd5, 0x32, 0x2a, 0x38, 0x6e,
-	0xe8, 0xe0, 0x12, 0x90, 0x9c, 0xb0, 0x8d, 0x57, 0x80, 0xe4, 0x51, 0xd7, 0xc1, 0x65, 0x20, 0x79,
-	0x34, 0xc0, 0x15, 0xe8, 0xb3, 0x5e, 0xe8, 0x18, 0x01, 0x46, 0xf0, 0x6b, 0x87, 0xd0, 0x5d, 0x5c,
-	0x55, 0x8b, 0x48, 0x39, 0xc4, 0x35, 0xf8, 0x4d, 0x6f, 0x36, 0xad, 0x43, 0xbc, 0xaa, 0xb9, 0xa8,
-	0x24, 0x0e, 0xa4, 0xaa, 0xa2, 0x35, 0x1d, 0x6e, 0x08, 0x41, 0x77, 0x66, 0x18, 0xdc, 0x12, 0x08,
-	0x6d, 0x12, 0x23, 0xb0, 0x3a, 0x04, 0x2b, 0xd0, 0xfd, 0xad, 0xf6, 0x1c, 0x25, 0x07, 0x2d, 0xdf,
-	0xa3, 0x6e, 0x8b, 0x12, 0xdf, 0x07, 0x42, 0x5e, 0xfb, 0xb7, 0x82, 0x0a, 0x70, 0x30, 0x81, 0xd7,
-	0xd0, 0x7d, 0xb2, 0x88, 0xa6, 0x1b, 0x46, 0xe8, 0xeb, 0x12, 0x6d, 0x15, 0x55, 0x74, 0x13, 0x2c,
-	0xb3, 0x74, 0x1b, 0xe7, 0xc4, 0xb0, 0x68, 0x7b, 0x36, 0x69, 0x13, 0x87, 0x73, 0xe4, 0x61, 0x0e,
-	0x99, 0x82, 0xbb, 0x00, 0x73, 0xa8, 0x45, 0x1c, 0x8b, 0xef, 0x8a, 0xdc, 0x12, 0xc7, 0x0f, 0x68,
-	0x08, 0xcc, 0xba, 0x8d, 0x4b, 0xb3, 0x39, 0xd5, 0x21, 0x78, 0x05, 0x74, 0x39, 0x6e, 0xdb, 0x72,
-	0xc4, 0xbe, 0x0c, 0xf1, 0x76, 0x77, 0x6d, 0xeb, 0x93, 0x90, 0xe0, 0x0a, 0x28, 0xf6, 0x74, 0x1a,
-	0x08, 0x2c, 0x04, 0x8a, 0x3d, 0x4a, 0x3c, 0xd7, 0xb7, 0x60, 0xa4, 0xe9, 0x36, 0xae, 0x42, 0x30,
-	0x28, 0x69, 0xda, 0xe4, 0xd0, 0xea, 0x90, 0x2e, 0xb8, 0x81, 0x6b, 0xc0, 0x46, 0x89, 0xcd, 0x01,
-	0x05, 0x69, 0x15, 0x74, 0x76, 0x32, 0x9d, 0x6b, 0xda, 0x17, 0x0a, 0x2a, 0x40, 0x37, 0x01, 0xe3,
-	0x9a, 0x2e, 0x6d, 0xcf, 0xb9, 0x5e, 0x43, 0x65, 0xdd, 0x04, 0x83, 0x74, 0x5b, 0x3a, 0x1e, 0x1e,
-	0x5a, 0xb6, 0xa5, 0xd3, 0x47, 0x38, 0x07, 0xca, 0xe6, 0x1c, 0xff, 0x94, 0x50, 0x9c, 0xe7, 0x10,
-	0x96, 0xa3, 0xdb, 0x5d, 0xe2, 0x98, 0x96, 0xd3, 0xc2, 0x05, 0x88, 0x45, 0x8b, 0xd0, 0xd0, 0x31,
-	0x71, 0x11, 0xd6, 0x94, 0xe8, 0xb6, 0xe5, 0x0b, 0xbf, 0x2d, 0x2a, 0x77, 0x2b, 0x90, 0x5a, 0x7f,
-	0xcf, 0xa5, 0x01, 0x2e, 0x43, 0xda, 0x6d, 0xd7, 0x69, 0x89, 0x5a, 0x70, 0xa9, 0x49, 0x28, 0x46,
-	0xc0, 0x2d, 0xaf, 0x81, 0x06, 0xae, 0x6a, 0x04, 0x95, 0x44, 0xdb, 0x02, 0x1b, 0x5a, 0xc4, 0x31,
-	0x09, 0x5d, 0x34, 0xba, 0x49, 0xda, 0x96, 0x63, 0x39, 0x32, 0x5b, 0x6d, 0xdd, 0x37, 0x42, 0x1b,
-	0xb6, 0x39, 0x30, 0xc1, 0x21, 0x61, 0x00, 0xc6, 0x6a, 0x3f, 0x41, 0x05, 0xe8, 0x59, 0x60, 0x74,
-	0xdb, 0x75, 0xcd, 0x39, 0x88, 0x6b, 0x08, 0x1b, 0xae, 0x63, 0xca, 0xc0, 0x76, 0xe1, 0x57, 0xac,
-	0x40, 0x72, 0x78, 0x19, 0xe9, 0xb2, 0x88, 0x60, 0xef, 0x98, 0x96, 0x0c, 0x64, 0x1e, 0x22, 0x6d,
-	0x39, 0x01, 0xa1, 0xd4, 0x6d, 0x65, 0xd9, 0xaf, 0xa2, 0x95, 0xfd, 0x50, 0xd4, 0x58, 0x11, 0x8a,
-	0xce, 0x0f, 0x77, 0xf7, 0xa1, 0xbc, 0x81, 0x50, 0xd2, 0x3e, 0x46, 0x25, 0xd1, 0xec, 0xc0, 0x0f,
-	0x27, 0x6c, 0xef, 0x9e, 0xf7, 0xc3, 0xb7, 0x9c, 0x56, 0x68, 0xeb, 0x14, 0x2b, 0xfc, 0x6e, 0x63,
-	0x87, 0x94, 0x97, 0x5c, 0x19, 0x15, 0xcc, 0x50, 0xb7, 0x71, 0x5e, 0x0b, 0x50, 0x49, 0xb4, 0x38,
-	0x40, 0x10, 0x77, 0x9f, 0x39, 0x84, 0x0a, 0x2a, 0x36, 0x2d, 0xea, 0x07, 0x42, 0xdc, 0x27, 0xe0,
-	0x13, 0xce, 0x01, 0x39, 0xd8, 0xb3, 0xa8, 0x89, 0xf3, 0xe0, 0xe8, 0xac, 0x60, 0xe4, 0xdd, 0xa9,
-	0xa0, 0xdd, 0x43, 0x25, 0xd1, 0xec, 0x38, 0x2a, 0x75, 0xbd, 0x05, 0xbb, 0xc0, 0x12, 0x4e, 0x13,
-	0x21, 0x71, 0xdc, 0xa0, 0x2b, 0xf7, 0x39, 0x6d, 0x1f, 0x55, 0xe7, 0xba, 0x9a, 0xfa, 0x32, 0x7a,
-	0x81, 0x12, 0xc3, 0xf2, 0xa8, 0x6b, 0x58, 0xc1, 0xa3, 0xc5, 0x33, 0x95, 0xfd, 0xc0, 0x4b, 0x0b,
-	0xfc, 0x77, 0x9d, 0xee, 0x1c, 0x2d, 0xa7, 0x4d, 0x50, 0x91, 0x37, 0x33, 0x88, 0x6b, 0x40, 0x9c,
-	0x85, 0x33, 0xf9, 0x22, 0xba, 0x3a, 0x9f, 0x20, 0xfe, 0xb3, 0xf0, 0xb2, 0x19, 0x06, 0x21, 0x25,
-	0x22, 0x48, 0x9e, 0xee, 0x07, 0x38, 0x0f, 0x49, 0xf0, 0x28, 0xf1, 0xc5, 0x65, 0x6f, 0x15, 0x55,
-	0xa6, 0xbd, 0x00, 0x17, 0xc5, 0x07, 0x45, 0x98, 0xed, 0x4b, 0xda, 0x2e, 0x2a, 0xf2, 0xc6, 0x07,
-	0x4a, 0x3b, 0xae, 0x65, 0x90, 0x45, 0xc7, 0x75, 0x63, 0xd6, 0x04, 0x0c, 0x3d, 0xeb, 0x09, 0x39,
-	0xae, 0x42, 0xcf, 0x7a, 0xc9, 0xbf, 0x56, 0xd0, 0xda, 0xe2, 0x8d, 0x4a, 0xdd, 0x44, 0xf8, 0x33,
-	0x16, 0xf5, 0xbb, 0x29, 0xdc, 0x1b, 0xbb, 0xc3, 0xb8, 0xcf, 0x9e, 0xf2, 0xab, 0x4c, 0x91, 0xae,
-	0x01, 0x9d, 0x5f, 0x27, 0x2d, 0xa0, 0xaa, 0x16, 0x2a, 0x1e, 0x47, 0x8f, 0xd9, 0xb1, 0xbc, 0xa3,
-	0xec, 0x2c, 0x75, 0x73, 0x6b, 0xd8, 0x20, 0x4a, 0x05, 0x82, 0xf6, 0x8f, 0x12, 0x2a, 0x72, 0xc2,
-	0x57, 0x6e, 0xc9, 0xfa, 0xee, 0x2e, 0x25, 0x1d, 0xac, 0xf0, 0x96, 0x0a, 0x87, 0x58, 0x54, 0x85,
-	0x6e, 0x76, 0x0c, 0x5b, 0xf4, 0x2f, 0xdd, 0xec, 0xb4, 0x5d, 0x13, 0x17, 0x20, 0x8c, 0x3a, 0xac,
-	0x8a, 0x9c, 0xc1, 0xf3, 0x5c, 0x38, 0xbc, 0x40, 0x0c, 0x02, 0x8a, 0x57, 0x78, 0xc7, 0x0f, 0x0f,
-	0x45, 0xa7, 0xd2, 0xc3, 0x43, 0x08, 0x02, 0xae, 0xa8, 0x25, 0x94, 0x33, 0x0c, 0x8c, 0x40, 0xc4,
-	0xe0, 0xf0, 0xd5, 0xe9, 0x44, 0xe0, 0x6d, 0xdc, 0x80, 0x73, 0x80, 0x57, 0x79, 0x14, 0x61, 0xc9,
-	0xc5, 0xd6, 0xc4, 0xac, 0xf0, 0xf0, 0x7a, 0x36, 0x34, 0x30, 0x30, 0x98, 0x96, 0x6f, 0xb8, 0x21,
-	0xf5, 0x09, 0xbe, 0xca, 0x0b, 0xdf, 0xdd, 0xdd, 0xc7, 0x2a, 0xac, 0xc8, 0xa1, 0x67, 0xe3, 0x17,
-	0x78, 0x83, 0x75, 0x89, 0x7f, 0x60, 0x05, 0x7b, 0xf8, 0x1a, 0xd0, 0x2d, 0xe0, 0x78, 0x11, 0x56,
-	0x6d, 0x9d, 0x3e, 0xc4, 0x2f, 0x01, 0x5a, 0xfb, 0x80, 0xe0, 0x97, 0xc5, 0xa2, 0x83, 0xeb, 0x7c,
-	0x02, 0x91, 0x16, 0xfe, 0x1f, 0x30, 0xd4, 0x71, 0xf0, 0x06, 0x80, 0x38, 0x9e, 0xf4, 0xf9, 0x7f,
-	0xc1, 0x42, 0x87, 0x5b, 0xf8, 0x0a, 0x18, 0xe0, 0x4c, 0x2d, 0x7c, 0x35, 0x1b, 0x5d, 0xff, 0xc7,
-	0xfb, 0x08, 0x3f, 0xb0, 0xf8, 0x35, 0x18, 0x4f, 0x1e, 0xbe, 0x2e, 0xdb, 0xb3, 0x1e, 0xe8, 0x87,
-	0x96, 0x8f, 0x5f, 0x17, 0x25, 0x41, 0x03, 0x40, 0xd4, 0xf8, 0x58, 0xe3, 0x81, 0x78, 0x83, 0xd7,
-	0x25, 0x58, 0xf8, 0xa6, 0x58, 0xf9, 0x3e, 0xbe, 0xc1, 0x79, 0x5d, 0x3f, 0x00, 0x9b, 0xfe, 0x5f,
-	0x96, 0x2b, 0xe7, 0xbe, 0x39, 0xdd, 0x38, 0xfb, 0x78, 0x53, 0x9c, 0x3c, 0x02, 0x91, 0x79, 0x4b,
-	0xcc, 0x4e, 0xd2, 0xc4, 0xb7, 0xe4, 0xca, 0xc3, 0xb7, 0xb9, 0x16, 0xea, 0x3a, 0x36, 0x7e, 0x3b,
-	0x1b, 0xa8, 0xef, 0x80, 0x87, 0x9e, 0x8f, 0x1b, 0xe0, 0xe1, 0x27, 0xa1, 0xee, 0x70, 0x7b, 0xb6,
-	0x80, 0x93, 0x1a, 0xb0, 0x7c, 0x17, 0x7e, 0xe0, 0x4b, 0x4a, 0x6c, 0x7c, 0x87, 0xff, 0x60, 0x52,
-	0xd7, 0xc3, 0xdb, 0x00, 0x01, 0x0a, 0x76, 0xc0, 0x06, 0x4a, 0xda, 0x8e, 0xee, 0x04, 0xf8, 0x3d,
-	0x71, 0x72, 0xc1, 0x4f, 0xc7, 0x0c, 0xdb, 0xf8, 0x7d, 0xd0, 0x4e, 0x5d, 0x37, 0xc0, 0x77, 0x61,
-	0xe5, 0x43, 0x70, 0x3e, 0xe0, 0xab, 0xb0, 0xd9, 0xc4, 0xf7, 0x60, 0xc5, 0x35, 0x7e, 0x8f, 0x37,
-	0x1d, 0xd7, 0xb3, 0x0c, 0x7c, 0x9f, 0x0f, 0x76, 0x20, 0x3e, 0x58, 0x18, 0x44, 0x1f, 0x02, 0xcb,
-	0x21, 0x77, 0xfb, 0xfb, 0xbc, 0x5d, 0x85, 0x7c, 0xd6, 0x7f, 0xc4, 0x25, 0xad, 0xc0, 0x26, 0xf8,
-	0x07, 0x62, 0x1e, 0x75, 0xbc, 0x3d, 0x90, 0xfe, 0x58, 0x96, 0x1c, 0x1c, 0x43, 0xac, 0xf3, 0xea,
-	0x0c, 0x0f, 0x3b, 0x1d, 0xbc, 0x0b, 0x4b, 0x93, 0x6b, 0x35, 0x80, 0xa5, 0xe9, 0x52, 0x62, 0xb5,
-	0x1c, 0x6c, 0x42, 0x28, 0x1e, 0x1e, 0x60, 0xc2, 0x27, 0x8c, 0xe5, 0x07, 0xb8, 0x29, 0xee, 0x24,
-	0x6d, 0x03, 0xb7, 0x78, 0x01, 0xb8, 0x6d, 0x51, 0x97, 0x7b, 0x30, 0x11, 0xb2, 0x1d, 0x4f, 0xbc,
-	0xc5, 0x39, 0xc3, 0xb6, 0x81, 0xf7, 0x21, 0x2c, 0x86, 0xeb, 0xe1, 0x87, 0x10, 0x09, 0xd3, 0xf2,
-	0xf9, 0xf0, 0x26, 0x26, 0xb6, 0xb5, 0x3f, 0x2b, 0x68, 0x75, 0xe1, 0x5b, 0xf7, 0x9b, 0x7d, 0x1f,
-	0x92, 0x85, 0x57, 0x81, 0x3b, 0xcb, 0x7c, 0x64, 0xcf, 0x3d, 0x0e, 0x68, 0xef, 0xca, 0x0f, 0x65,
-	0x8c, 0x6a, 0xf2, 0x3d, 0xe5, 0x59, 0x7d, 0x1c, 0xa1, 0x92, 0xe1, 0xb6, 0xdb, 0xf0, 0xad, 0xac,
-	0xb5, 0x50, 0x39, 0x33, 0x45, 0xad, 0xcf, 0xde, 0x7b, 0xc4, 0x67, 0xf9, 0xf4, 0xb5, 0xe7, 0x75,
-	0x54, 0x7b, 0xcc, 0x06, 0xc3, 0xb8, 0x9b, 0x1c, 0x1d, 0x4d, 0x98, 0xf8, 0xa4, 0x2a, 0xd2, 0x2a,
-	0xa7, 0xb9, 0x9c, 0xa4, 0xfd, 0x5e, 0x41, 0x2f, 0xeb, 0x71, 0x74, 0x7c, 0xf6, 0x63, 0x36, 0x7b,
-	0x16, 0x61, 0x3f, 0x3a, 0x65, 0x93, 0x54, 0x35, 0x50, 0xb9, 0x2f, 0xdf, 0x97, 0x2e, 0x19, 0x9e,
-	0xec, 0x39, 0x8a, 0x4e, 0x05, 0x55, 0x0f, 0xad, 0xb2, 0xb8, 0x97, 0xf4, 0x87, 0xf1, 0xa0, 0x3b,
-	0x17, 0xab, 0xdb, 0x17, 0xc6, 0x4a, 0xc8, 0xf0, 0x28, 0xd5, 0xd8, 0xdc, 0x4e, 0xfb, 0x9b, 0x82,
-	0xea, 0x5f, 0x35, 0x79, 0x32, 0x4a, 0x60, 0x0e, 0x1d, 0x20, 0x35, 0x53, 0xdd, 0x9d, 0xbd, 0x0b,
-	0x29, 0x4b, 0xbe, 0x0b, 0x5d, 0xcd, 0x30, 0x16, 0x3e, 0x9e, 0xa7, 0xef, 0x61, 0xb9, 0xc5, 0xf7,
-	0x30, 0x95, 0x88, 0x37, 0x28, 0x16, 0xf7, 0xd8, 0x44, 0xbe, 0xee, 0xdc, 0xbc, 0x84, 0x2e, 0xe0,
-	0xa7, 0x33, 0x49, 0xb8, 0xe4, 0xbd, 0x24, 0x1d, 0xe3, 0xa5, 0x32, 0x64, 0x93, 0xef, 0x78, 0x2a,
-	0x9e, 0x4e, 0x8b, 0x67, 0x66, 0xb0, 0x4c, 0x84, 0x8e, 0xca, 0x4c, 0xd2, 0xea, 0x0a, 0x0f, 0xc9,
-	0x8d, 0x4b, 0x1d, 0x0f, 0x3a, 0x15, 0x7b, 0x5e, 0xc8, 0xb5, 0xdf, 0x29, 0xe8, 0x5a, 0x56, 0x04,
-	0x67, 0x71, 0x1a, 0x3d, 0xfd, 0x8e, 0x47, 0xea, 0x8f, 0x0a, 0x7a, 0xf1, 0x9c, 0xbd, 0x32, 0x50,
-	0x0b, 0xc5, 0xa3, 0x7c, 0xdd, 0xe2, 0x51, 0x3f, 0x44, 0x25, 0x7e, 0x71, 0x99, 0xd4, 0x73, 0x1c,
-	0xe3, 0xcd, 0x8b, 0x3a, 0x19, 0x30, 0x53, 0x29, 0xb3, 0x10, 0xea, 0xfc, 0xb9, 0x50, 0xff, 0x3a,
-	0x8f, 0x5e, 0xd0, 0xc5, 0xa3, 0x35, 0x83, 0xa6, 0xf3, 0xad, 0x46, 0xfa, 0x00, 0x95, 0x8f, 0x58,
-	0x94, 0x9e, 0x8e, 0xd9, 0x44, 0xbe, 0xad, 0x3d, 0xb8, 0x00, 0xe4, 0x19, 0xa6, 0x34, 0x9a, 0x12,
-	0x82, 0x4e, 0xc1, 0xbe, 0x9a, 0xc2, 0xfc, 0x37, 0x4c, 0xe1, 0xc6, 0xaf, 0x14, 0x54, 0xce, 0x14,
-	0xa9, 0x37, 0xd0, 0x1a, 0x7b, 0x9a, 0x8e, 0xa3, 0x5e, 0xda, 0x9d, 0xf0, 0x7c, 0xf2, 0x10, 0x94,
-	0xe9, 0xaa, 0xa4, 0x8a, 0x24, 0xab, 0x6f, 0x21, 0x9c, 0xb1, 0x4d, 0x4f, 0x43, 0x8e, 0x33, 0xae,
-	0x4b, 0x7a, 0x76, 0x70, 0xd4, 0x0f, 0xd1, 0x46, 0xc6, 0xfa, 0x8c, 0x0e, 0x96, 0xe7, 0x42, 0x75,
-	0xc9, 0x61, 0x9e, 0x6f, 0x4f, 0xda, 0x97, 0x39, 0x38, 0x0f, 0xf3, 0x91, 0xf9, 0x2e, 0x95, 0xd7,
-	0x7c, 0x33, 0xc8, 0x7f, 0xbd, 0x66, 0xf0, 0xec, 0xc6, 0x5e, 0xf8, 0x76, 0x1b, 0x7b, 0x71, 0xb1,
-	0xf4, 0x6f, 0xdd, 0x43, 0xb5, 0xf9, 0x82, 0x10, 0x77, 0x11, 0x87, 0xe0, 0x2b, 0xb0, 0x0a, 0x83,
-	0xe6, 0x3d, 0x71, 0x3d, 0x0f, 0x83, 0xe6, 0x9d, 0xbb, 0xe2, 0x7a, 0x1e, 0x06, 0xcd, 0x9d, 0x6d,
-	0x9c, 0xdf, 0xfe, 0x4b, 0x11, 0xad, 0xdb, 0x12, 0xc6, 0x17, 0xff, 0xff, 0xa8, 0x7f, 0x50, 0x10,
-	0x3e, 0x3f, 0xb8, 0xd4, 0xbb, 0x17, 0x96, 0xfb, 0x33, 0x87, 0xf3, 0xc6, 0x07, 0x4b, 0xcb, 0x89,
-	0x82, 0xd0, 0x1a, 0x3f, 0xfd, 0xf2, 0xef, 0xbf, 0xcc, 0x6d, 0x6a, 0x6f, 0x4c, 0xff, 0x00, 0xcb,
-	0x62, 0x32, 0xb9, 0x1f, 0x9d, 0x13, 0xba, 0xaf, 0xdc, 0x52, 0xbf, 0x50, 0xd0, 0xfa, 0xb9, 0x26,
-	0xaf, 0xbe, 0x7f, 0x39, 0xe5, 0xe7, 0xa6, 0xd8, 0xc6, 0xdd, 0x65, 0xc5, 0xa4, 0xc9, 0xef, 0x70,
-	0x93, 0x6f, 0x6a, 0xda, 0x7f, 0x37, 0x39, 0x93, 0x01, 0x8b, 0x7f, 0xab, 0xa0, 0xd5, 0x85, 0x5e,
-	0xab, 0xee, 0x5c, 0x32, 0x58, 0xf3, 0x93, 0x64, 0xe3, 0xbd, 0xe5, 0x84, 0xa4, 0xad, 0xb7, 0xb9,
-	0xad, 0x37, 0xb4, 0xeb, 0xcf, 0x09, 0x2f, 0x97, 0x00, 0x4b, 0x7f, 0xa3, 0xa0, 0xda, 0xfc, 0xa9,
-	0x55, 0xb7, 0x97, 0x6f, 0x7e, 0x1b, 0x3b, 0x4b, 0xc9, 0x48, 0x33, 0x6f, 0x71, 0x33, 0xdf, 0xd4,
-	0x5e, 0x7b, 0xa6, 0x99, 0x33, 0x81, 0xfb, 0xca, 0xad, 0xdd, 0x07, 0xe8, 0xf5, 0x5e, 0x72, 0xf2,
-	0x7c, 0x2d, 0xbb, 0xd7, 0xce, 0x55, 0xbb, 0x37, 0x4e, 0xd2, 0xc4, 0x53, 0x1e, 0x97, 0xf8, 0x7f,
-	0x9c, 0x3b, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x57, 0xaf, 0x92, 0x3b, 0xa4, 0x1d, 0x00, 0x00,
+	// 2755 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x73, 0xdb, 0xc6,
+	0x15, 0x37, 0xf8, 0x4f, 0xe4, 0x92, 0x92, 0xd6, 0x88, 0x93, 0xb0, 0x6a, 0xd2, 0x38, 0x48, 0x5c,
+	0x2b, 0x76, 0x42, 0xc5, 0x52, 0xe2, 0xb8, 0x76, 0x9a, 0x06, 0x02, 0x96, 0x14, 0x64, 0x10, 0x40,
+	0x16, 0x00, 0x25, 0xa7, 0x07, 0x0e, 0x4c, 0xae, 0x19, 0x4e, 0x24, 0x80, 0x25, 0x21, 0x8f, 0xd5,
+	0x4b, 0x67, 0x32, 0xd3, 0x63, 0xa7, 0x87, 0xde, 0x7a, 0x6c, 0x0f, 0x3d, 0x75, 0xd2, 0x99, 0x5e,
+	0xda, 0x0f, 0xd0, 0x43, 0xa7, 0xc7, 0xcc, 0xf4, 0x13, 0xf4, 0xd8, 0x43, 0x0f, 0x3d, 0xf4, 0xd8,
+	0x79, 0xbb, 0x0b, 0xfe, 0x51, 0x1c, 0x4b, 0x4c, 0x72, 0xc8, 0x6d, 0xf7, 0xf1, 0xfd, 0x7e, 0xef,
+	0xed, 0xdb, 0xb7, 0xef, 0x2d, 0x96, 0xe8, 0x9d, 0x41, 0x92, 0x0c, 0x8e, 0xd8, 0x56, 0xef, 0x28,
+	0x39, 0xe9, 0x6f, 0x1d, 0x45, 0xf1, 0xe0, 0x24, 0x1a, 0xb0, 0xad, 0xc7, 0xb7, 0x1e, 0xb2, 0x34,
+	0xba, 0x35, 0x15, 0x74, 0x27, 0x6c, 0xfc, 0x78, 0xd8, 0x63, 0x8d, 0xd1, 0x38, 0x49, 0x13, 0xf5,
+	0x65, 0x81, 0x6a, 0x70, 0x54, 0x23, 0x53, 0x6a, 0x48, 0xd4, 0xc6, 0x4b, 0x92, 0x34, 0x1a, 0x0d,
+	0xb7, 0xa2, 0x38, 0x4e, 0xd2, 0x28, 0x1d, 0x26, 0xf1, 0x44, 0x80, 0xb5, 0xff, 0x28, 0xa8, 0x6c,
+	0x26, 0xbd, 0x93, 0x63, 0x16, 0xa7, 0xea, 0x87, 0xa8, 0x90, 0x9e, 0x8e, 0x58, 0x5d, 0xb9, 0xaa,
+	0x6c, 0xae, 0x6d, 0xbf, 0xd9, 0x78, 0x26, 0x71, 0x23, 0x83, 0x35, 0x82, 0xd3, 0x11, 0xa3, 0x1c,
+	0xa9, 0x6e, 0xa0, 0x95, 0x5e, 0x12, 0xa7, 0x2c, 0x4e, 0xeb, 0xb9, 0xab, 0xca, 0x66, 0x65, 0xef,
+	0x12, 0xcd, 0x04, 0xea, 0x26, 0x5a, 0x1f, 0xf4, 0x26, 0x5d, 0x39, 0xed, 0x9e, 0x8c, 0x87, 0xf5,
+	0xbc, 0xd4, 0x59, 0x1d, 0xf4, 0x26, 0x86, 0x90, 0x87, 0xe3, 0xa1, 0xba, 0x81, 0xca, 0x99, 0xb5,
+	0x7a, 0x01, 0x54, 0xe8, 0x74, 0xae, 0xdd, 0x46, 0x05, 0xb0, 0xa7, 0x5e, 0x41, 0x38, 0x78, 0xe0,
+	0x91, 0x6e, 0xe8, 0xf8, 0x1e, 0x31, 0xac, 0xa6, 0x45, 0x4c, 0x7c, 0x49, 0x5d, 0x43, 0xc8, 0xb3,
+	0x75, 0xcb, 0xe9, 0x06, 0xe4, 0x30, 0xc0, 0x8a, 0x5a, 0x46, 0x85, 0xbd, 0xa0, 0x6d, 0xe3, 0xdc,
+	0x6e, 0x19, 0x95, 0x26, 0xc9, 0xc9, 0xb8, 0xc7, 0xb4, 0x5f, 0x2b, 0xa8, 0xec, 0x33, 0x30, 0xd6,
+	0x63, 0xea, 0x3d, 0x54, 0x48, 0xd9, 0x93, 0x94, 0x2f, 0xb9, 0xba, 0x7d, 0xfd, 0x9c, 0x25, 0x07,
+	0xec, 0x49, 0xea, 0x8f, 0xa2, 0x98, 0x72, 0x90, 0xda, 0x44, 0x95, 0x09, 0x8b, 0xd3, 0xe1, 0x71,
+	0xb6, 0xde, 0xea, 0xf6, 0xe6, 0x39, 0x0c, 0x7e, 0xa6, 0x4f, 0x67, 0x50, 0xed, 0x1f, 0x79, 0x54,
+	0x22, 0x71, 0x3a, 0x4c, 0x4f, 0x55, 0x15, 0x15, 0xe2, 0xe8, 0x58, 0x6c, 0x41, 0x85, 0xf2, 0xb1,
+	0xfa, 0x81, 0xdc, 0x96, 0x1c, 0xdf, 0x96, 0x1b, 0xe7, 0x58, 0x10, 0x44, 0xf3, 0x9b, 0xe2, 0xa2,
+	0xf2, 0x31, 0x4b, 0xa3, 0x7e, 0x94, 0x46, 0xf5, 0xfc, 0xd5, 0xfc, 0x66, 0x75, 0x7b, 0xe7, 0x62,
+	0x1c, 0x6d, 0x89, 0x22, 0x71, 0x3a, 0x3e, 0xa5, 0x53, 0x12, 0xd8, 0x9f, 0x49, 0x74, 0x34, 0x84,
+	0x00, 0xf2, 0xfd, 0xc9, 0xd1, 0xe9, 0x5c, 0xdd, 0x03, 0x63, 0x31, 0x4f, 0xb1, 0x7a, 0x91, 0x1b,
+	0x7b, 0xf3, 0x42, 0xc6, 0xda, 0x02, 0x44, 0xa7, 0xe8, 0x8d, 0x7b, 0x68, 0x75, 0xc1, 0x01, 0x15,
+	0xa3, 0xfc, 0xa7, 0xec, 0x54, 0x86, 0x06, 0x86, 0xea, 0x15, 0x54, 0x7c, 0x1c, 0x1d, 0x9d, 0x88,
+	0xd0, 0x54, 0xa8, 0x98, 0xdc, 0xcd, 0xdd, 0x51, 0xb4, 0x53, 0x99, 0x26, 0x55, 0xb4, 0x12, 0x3a,
+	0xf7, 0x1d, 0xf7, 0xc0, 0xc1, 0x97, 0x54, 0x84, 0x4a, 0x1e, 0xa1, 0xbe, 0xeb, 0x60, 0x45, 0xad,
+	0xa1, 0xb2, 0xed, 0x1a, 0x7a, 0x60, 0xb9, 0x0e, 0xce, 0xa9, 0x18, 0xd5, 0x5c, 0xda, 0xd2, 0x1d,
+	0xeb, 0x63, 0x21, 0xc9, 0xab, 0x15, 0x54, 0x24, 0x1d, 0xe2, 0x04, 0xb8, 0xa0, 0xae, 0xa3, 0xea,
+	0x81, 0x4b, 0xef, 0x77, 0xdd, 0x66, 0x57, 0xa7, 0x01, 0x2e, 0xaa, 0x97, 0xd1, 0xaa, 0xe1, 0x3a,
+	0x7e, 0xd8, 0x26, 0xb4, 0xdb, 0x72, 0x5d, 0x13, 0x97, 0x40, 0xdd, 0x0d, 0xf6, 0x08, 0xc5, 0x2b,
+	0xda, 0x2f, 0x73, 0xa8, 0x18, 0x24, 0x9f, 0xb2, 0xf8, 0x9b, 0x25, 0xd7, 0x47, 0x68, 0x6d, 0x14,
+	0x8d, 0xd3, 0x6e, 0xf2, 0xa8, 0x3b, 0x19, 0x31, 0xd6, 0xfb, 0x44, 0x66, 0xd8, 0xcd, 0x73, 0x68,
+	0xbc, 0x68, 0x9c, 0xba, 0x8f, 0x7c, 0x0e, 0xa1, 0xb5, 0xd1, 0xdc, 0x4c, 0xed, 0xa0, 0xf5, 0x3e,
+	0x1b, 0xb1, 0xb8, 0xcf, 0xe2, 0xde, 0x69, 0x97, 0xf5, 0x07, 0x8c, 0x9f, 0xc0, 0xea, 0xf6, 0x5b,
+	0xe7, 0x1d, 0xf5, 0x29, 0x8a, 0xf4, 0x07, 0x8c, 0xae, 0xf5, 0x17, 0xe6, 0xb0, 0x0d, 0x47, 0xec,
+	0xf8, 0x38, 0x92, 0x87, 0x55, 0x4c, 0xb4, 0x9f, 0xa2, 0xca, 0x34, 0xdb, 0x21, 0x65, 0x46, 0xc9,
+	0x51, 0x34, 0x1e, 0xa6, 0x62, 0x03, 0x73, 0x74, 0x3a, 0x57, 0x5f, 0x42, 0x95, 0xe3, 0x68, 0x10,
+	0x0f, 0xd3, 0x93, 0xbe, 0xd8, 0xc9, 0x1c, 0x9d, 0x09, 0x80, 0x7c, 0xd2, 0x4b, 0xc6, 0xc2, 0xd5,
+	0x1c, 0x15, 0x13, 0xed, 0xaf, 0x97, 0x51, 0x6d, 0x7e, 0xa5, 0xaa, 0x8e, 0xf2, 0x69, 0x34, 0x90,
+	0xa5, 0x6b, 0x6b, 0x89, 0x18, 0x35, 0x82, 0x68, 0x40, 0x01, 0xab, 0xee, 0xa3, 0x52, 0x34, 0x19,
+	0xb1, 0x5e, 0x2a, 0x4f, 0xda, 0xf6, 0x32, 0x2c, 0x3a, 0x47, 0x52, 0xc9, 0xa0, 0x9a, 0xa8, 0xd0,
+	0x8b, 0x26, 0xc2, 0xe9, 0xb5, 0xed, 0xb7, 0x97, 0x61, 0x32, 0xa2, 0x09, 0xa3, 0x1c, 0x0d, 0x2c,
+	0x8f, 0x92, 0xf1, 0x31, 0x8f, 0xeb, 0x92, 0x2c, 0xcd, 0x64, 0x7c, 0x4c, 0x39, 0x1a, 0xd6, 0x35,
+	0x80, 0xed, 0x1a, 0xd7, 0x8b, 0xcb, 0xaf, 0xab, 0xc5, 0x91, 0x54, 0x32, 0x80, 0x47, 0xc7, 0x49,
+	0xd2, 0xaf, 0x97, 0x96, 0xf7, 0xa8, 0x9d, 0x24, 0x7d, 0xca, 0xd1, 0xe0, 0x51, 0x7c, 0x72, 0xfc,
+	0x90, 0x8d, 0xeb, 0x2b, 0xcb, 0x7b, 0xe4, 0x70, 0x24, 0x95, 0x0c, 0xc0, 0x35, 0x62, 0xe3, 0x49,
+	0x12, 0xd7, 0xcb, 0xcb, 0x73, 0x79, 0x1c, 0x49, 0x25, 0x03, 0xe7, 0x1a, 0x27, 0x23, 0x36, 0xae,
+	0x57, 0xbe, 0x06, 0x17, 0x47, 0x52, 0xc9, 0xa0, 0x3e, 0x40, 0xd5, 0x31, 0xeb, 0x0d, 0x47, 0xe3,
+	0xa4, 0x07, 0x49, 0x8f, 0x38, 0xe1, 0x7b, 0xcb, 0x10, 0xd2, 0x19, 0x9c, 0xce, 0x73, 0xa9, 0x2d,
+	0x54, 0x4c, 0x59, 0x3c, 0x61, 0xf5, 0x2a, 0x27, 0xbd, 0xb5, 0x54, 0xb6, 0x03, 0x90, 0x0a, 0x3c,
+	0x10, 0x3d, 0x4e, 0x86, 0x3d, 0x56, 0xaf, 0x2d, 0x4f, 0xd4, 0x01, 0x20, 0x15, 0x78, 0xed, 0x57,
+	0x0a, 0xca, 0x07, 0xd1, 0x60, 0xb1, 0xdc, 0xae, 0xa0, 0xbc, 0x6e, 0xee, 0x63, 0x45, 0x0c, 0x3c,
+	0x9c, 0x13, 0x83, 0x0e, 0xce, 0x43, 0x5f, 0x36, 0x5c, 0x67, 0x1f, 0x17, 0x40, 0x64, 0x12, 0x28,
+	0xaa, 0x65, 0x54, 0x70, 0xdc, 0xd0, 0xc1, 0x25, 0x10, 0x39, 0x61, 0x1b, 0xaf, 0x80, 0xc8, 0xa3,
+	0xae, 0x83, 0xcb, 0x20, 0xf2, 0x68, 0x80, 0x2b, 0x50, 0x67, 0xbd, 0xd0, 0x31, 0x02, 0x8c, 0xe0,
+	0xd7, 0x0e, 0xa1, 0xbb, 0xb8, 0xaa, 0x16, 0x91, 0x72, 0x88, 0x6b, 0xf0, 0x9b, 0xde, 0x6c, 0x5a,
+	0x87, 0x78, 0x55, 0x73, 0x51, 0x49, 0x1c, 0x48, 0x55, 0x45, 0x6b, 0x3a, 0xdc, 0x10, 0x82, 0xee,
+	0xcc, 0x31, 0xb8, 0x25, 0x10, 0xda, 0x24, 0x46, 0x60, 0x75, 0x08, 0x56, 0xa0, 0xfa, 0x5b, 0xed,
+	0x39, 0x49, 0x0e, 0x4a, 0xbe, 0x47, 0xdd, 0x16, 0x25, 0xbe, 0x0f, 0x82, 0xbc, 0xf6, 0x3f, 0x05,
+	0x15, 0xe0, 0x60, 0x82, 0xae, 0xa1, 0xfb, 0x64, 0x91, 0x4d, 0x37, 0x8c, 0xd0, 0xd7, 0x25, 0xdb,
+	0x2a, 0xaa, 0xe8, 0x26, 0x78, 0x66, 0xe9, 0x36, 0xce, 0x89, 0x66, 0xd1, 0xf6, 0x6c, 0xd2, 0x26,
+	0x0e, 0xd7, 0xc8, 0x43, 0x1f, 0x32, 0x85, 0x76, 0x01, 0xfa, 0x50, 0x8b, 0x38, 0x16, 0x9f, 0x15,
+	0xb9, 0x27, 0x8e, 0x1f, 0xd0, 0x10, 0x94, 0x75, 0x1b, 0x97, 0x66, 0x7d, 0xaa, 0x43, 0xf0, 0x0a,
+	0xd8, 0x72, 0xdc, 0xb6, 0xe5, 0x88, 0x79, 0x19, 0xe2, 0xed, 0xee, 0xda, 0xd6, 0x47, 0x21, 0xc1,
+	0x15, 0x30, 0xec, 0xe9, 0x34, 0x10, 0x5c, 0x08, 0x0c, 0x7b, 0x94, 0x78, 0xae, 0x6f, 0x41, 0x4b,
+	0xd3, 0x6d, 0x5c, 0x85, 0x60, 0x50, 0xd2, 0xb4, 0xc9, 0xa1, 0xd5, 0x21, 0x5d, 0x58, 0x06, 0xae,
+	0x81, 0x1a, 0x25, 0x36, 0x27, 0x14, 0xa2, 0x55, 0xb0, 0xd9, 0xc9, 0x6c, 0xae, 0x69, 0x9f, 0x2b,
+	0xa8, 0x00, 0xd5, 0x04, 0x9c, 0x6b, 0xba, 0xb4, 0x3d, 0xb7, 0xf4, 0x1a, 0x2a, 0xeb, 0x26, 0x38,
+	0xa4, 0xdb, 0x72, 0xe1, 0xe1, 0xa1, 0x65, 0x5b, 0x3a, 0x7d, 0x80, 0x73, 0x60, 0x6c, 0x6e, 0xe1,
+	0x1f, 0x13, 0x8a, 0xf3, 0x9c, 0xc2, 0x72, 0x74, 0xbb, 0x4b, 0x1c, 0xd3, 0x72, 0x5a, 0xb8, 0x00,
+	0xb1, 0x68, 0x11, 0x1a, 0x3a, 0x26, 0x2e, 0xc2, 0x98, 0x12, 0xdd, 0xb6, 0x7c, 0xb1, 0x6e, 0x8b,
+	0xca, 0xd9, 0x0a, 0x6c, 0xad, 0xbf, 0xe7, 0xd2, 0x00, 0x97, 0x61, 0xdb, 0x6d, 0xd7, 0x69, 0x89,
+	0x5c, 0x70, 0xa9, 0x49, 0x28, 0x46, 0xa0, 0x2d, 0xaf, 0x81, 0x06, 0xae, 0x6a, 0x04, 0x95, 0x44,
+	0xd9, 0x02, 0x1f, 0x5a, 0xc4, 0x31, 0x09, 0x5d, 0x74, 0xba, 0x49, 0xda, 0x96, 0x63, 0x39, 0x72,
+	0xb7, 0xda, 0xba, 0x6f, 0x84, 0x36, 0x4c, 0x73, 0xe0, 0x82, 0x43, 0xc2, 0x00, 0x9c, 0xd5, 0x7e,
+	0x81, 0x0a, 0x50, 0xb3, 0xc0, 0xe9, 0xb6, 0xeb, 0x9a, 0x73, 0x14, 0x57, 0x10, 0x36, 0x5c, 0xc7,
+	0x94, 0x81, 0xed, 0xc2, 0xaf, 0x58, 0x81, 0xcd, 0xe1, 0x69, 0xa4, 0xcb, 0x24, 0x82, 0xb9, 0x63,
+	0x5a, 0x32, 0x90, 0x79, 0x88, 0xb4, 0xe5, 0x04, 0x84, 0x52, 0xb7, 0x95, 0xed, 0x7e, 0x15, 0xad,
+	0xec, 0x87, 0x22, 0xc7, 0x8a, 0x90, 0x74, 0x7e, 0xb8, 0xbb, 0x0f, 0xe9, 0x0d, 0x82, 0x92, 0xf6,
+	0x21, 0x2a, 0x89, 0x62, 0x07, 0xeb, 0x70, 0xc2, 0xf6, 0xee, 0xd9, 0x75, 0xf8, 0x96, 0xd3, 0x0a,
+	0x6d, 0x9d, 0x62, 0x85, 0xdf, 0x6d, 0xec, 0x90, 0xf2, 0x94, 0x2b, 0xa3, 0x82, 0x19, 0xea, 0x36,
+	0xce, 0x6b, 0x01, 0x2a, 0x89, 0x12, 0x07, 0x0c, 0xe2, 0xee, 0x33, 0xc7, 0x50, 0x41, 0xc5, 0xa6,
+	0x45, 0xfd, 0x40, 0xc0, 0x7d, 0x02, 0x6b, 0xc2, 0x39, 0x10, 0x07, 0x7b, 0x16, 0x35, 0x71, 0x1e,
+	0x16, 0x3a, 0x4b, 0x18, 0x79, 0x77, 0x2a, 0x68, 0x77, 0x50, 0x49, 0x14, 0x3b, 0xce, 0x4a, 0x5d,
+	0x6f, 0xc1, 0x2f, 0xf0, 0x84, 0xcb, 0x44, 0x48, 0x1c, 0x37, 0xe8, 0xca, 0x79, 0x4e, 0xdb, 0x47,
+	0xd5, 0xb9, 0xaa, 0xa6, 0xbe, 0x88, 0x9e, 0xa3, 0xc4, 0xb0, 0x3c, 0xea, 0x1a, 0x56, 0xf0, 0x60,
+	0xf1, 0x4c, 0x65, 0x3f, 0xf0, 0xd4, 0x82, 0xf5, 0xbb, 0x4e, 0x77, 0x4e, 0x96, 0xd3, 0x26, 0xa8,
+	0xc8, 0x8b, 0x19, 0xc4, 0x35, 0x20, 0xce, 0xc2, 0x99, 0x7c, 0x1e, 0x5d, 0x9e, 0xdf, 0x20, 0xfe,
+	0xb3, 0x58, 0x65, 0x33, 0x0c, 0x42, 0x4a, 0x44, 0x90, 0x3c, 0xdd, 0x0f, 0x70, 0x1e, 0x36, 0xc1,
+	0xa3, 0xc4, 0x17, 0x97, 0xbd, 0x55, 0x54, 0x99, 0xd6, 0x02, 0x5c, 0x14, 0x1f, 0x14, 0x61, 0x36,
+	0x2f, 0x69, 0xbb, 0xa8, 0xc8, 0x0b, 0x1f, 0x18, 0xed, 0xb8, 0x96, 0x41, 0x16, 0x17, 0xae, 0x1b,
+	0xb3, 0x22, 0x60, 0xe8, 0x59, 0x4d, 0xc8, 0x71, 0x13, 0x7a, 0x56, 0x4b, 0xfe, 0xbb, 0x82, 0xd6,
+	0x16, 0x6f, 0x54, 0xea, 0x26, 0xc2, 0x9f, 0xb0, 0xa8, 0xdf, 0x4d, 0xe1, 0xde, 0xd8, 0x1d, 0xc6,
+	0x7d, 0xf6, 0x84, 0x5f, 0x65, 0x8a, 0x74, 0x0d, 0xe4, 0xfc, 0x3a, 0x69, 0x81, 0x54, 0xb5, 0x50,
+	0xf1, 0x28, 0x7a, 0xc8, 0x8e, 0xe4, 0x1d, 0x65, 0x67, 0xa9, 0x9b, 0x5b, 0xc3, 0x06, 0x28, 0x15,
+	0x0c, 0xda, 0xbf, 0x4b, 0xa8, 0xc8, 0x05, 0x5f, 0xba, 0x25, 0xeb, 0xbb, 0xbb, 0x94, 0x74, 0xb0,
+	0xc2, 0x4b, 0x2a, 0x1c, 0x62, 0x91, 0x15, 0xba, 0xd9, 0x31, 0x6c, 0x51, 0xbf, 0x74, 0xb3, 0xd3,
+	0x76, 0x4d, 0x5c, 0x80, 0x30, 0xea, 0x30, 0x2a, 0x72, 0x05, 0xcf, 0x73, 0xe1, 0xf0, 0x82, 0x30,
+	0x08, 0x28, 0x5e, 0xe1, 0x15, 0x3f, 0x3c, 0x14, 0x95, 0x4a, 0x0f, 0x0f, 0x21, 0x08, 0xb8, 0xa2,
+	0x96, 0x50, 0xce, 0x30, 0x30, 0x02, 0x88, 0xc1, 0xe9, 0xab, 0xd3, 0x8e, 0xc0, 0xcb, 0xb8, 0x01,
+	0xe7, 0x00, 0xaf, 0xf2, 0x28, 0xc2, 0x90, 0xc3, 0xd6, 0x44, 0xaf, 0xf0, 0xf0, 0x7a, 0xd6, 0x34,
+	0x30, 0x28, 0x98, 0x96, 0x6f, 0xb8, 0x21, 0xf5, 0x09, 0xbe, 0xcc, 0x13, 0xdf, 0xdd, 0xdd, 0xc7,
+	0x2a, 0x8c, 0xc8, 0xa1, 0x67, 0xe3, 0xe7, 0x78, 0x81, 0x75, 0x89, 0x7f, 0x60, 0x05, 0x7b, 0xf8,
+	0x0a, 0xc8, 0x2d, 0xd0, 0x78, 0x1e, 0x46, 0x6d, 0x9d, 0xde, 0xc7, 0x2f, 0x00, 0x5b, 0xfb, 0x80,
+	0xe0, 0x17, 0xc5, 0xa0, 0x83, 0xeb, 0xbc, 0x03, 0x91, 0x16, 0xfe, 0x1e, 0x38, 0xea, 0x38, 0x78,
+	0x03, 0x48, 0x1c, 0x4f, 0xae, 0xf9, 0xfb, 0xe0, 0xa1, 0xc3, 0x3d, 0x7c, 0x09, 0x1c, 0x70, 0xa6,
+	0x1e, 0xbe, 0x9c, 0xb5, 0xae, 0x1f, 0xf0, 0x3a, 0xc2, 0x0f, 0x2c, 0x7e, 0x05, 0xda, 0x93, 0x87,
+	0xaf, 0xca, 0xf2, 0xac, 0x07, 0xfa, 0xa1, 0xe5, 0xe3, 0x57, 0x45, 0x4a, 0xd0, 0x00, 0x18, 0x35,
+	0xde, 0xd6, 0x78, 0x20, 0x5e, 0xe3, 0x79, 0x09, 0x1e, 0xbe, 0x2e, 0x46, 0xbe, 0x8f, 0xaf, 0x71,
+	0x5d, 0xd7, 0x0f, 0xc0, 0xa7, 0x1f, 0xca, 0x74, 0xe5, 0xda, 0xd7, 0xa7, 0x13, 0x67, 0x1f, 0x6f,
+	0x8a, 0x93, 0x47, 0x20, 0x32, 0x6f, 0x88, 0xde, 0x49, 0x9a, 0xf8, 0x86, 0x1c, 0x79, 0xf8, 0x26,
+	0xb7, 0x42, 0x5d, 0xc7, 0xc6, 0x6f, 0x66, 0x0d, 0xf5, 0x2d, 0x58, 0xa1, 0xe7, 0xe3, 0x06, 0xac,
+	0xf0, 0xa3, 0x50, 0x77, 0xb8, 0x3f, 0x5b, 0xa0, 0x49, 0x0d, 0x18, 0xbe, 0x0d, 0x3f, 0xf0, 0x21,
+	0x25, 0x36, 0xbe, 0xc5, 0x7f, 0x30, 0xa9, 0xeb, 0xe1, 0x6d, 0xa0, 0x00, 0x03, 0x3b, 0xe0, 0x03,
+	0x25, 0x6d, 0x47, 0x77, 0x02, 0xfc, 0x8e, 0x38, 0xb9, 0xb0, 0x4e, 0xc7, 0x0c, 0xdb, 0xf8, 0x5d,
+	0xb0, 0x4e, 0x5d, 0x37, 0xc0, 0xb7, 0x61, 0xe4, 0x43, 0x70, 0xde, 0xe3, 0xa3, 0xb0, 0xd9, 0xc4,
+	0x77, 0x60, 0xc4, 0x2d, 0xfe, 0x88, 0x17, 0x1d, 0xd7, 0xb3, 0x0c, 0x7c, 0x97, 0x37, 0x76, 0x10,
+	0xde, 0x5b, 0x68, 0x44, 0xef, 0x83, 0xca, 0x21, 0x5f, 0xf6, 0x8f, 0x79, 0xb9, 0x0a, 0x79, 0xaf,
+	0xff, 0x80, 0x23, 0xad, 0xc0, 0x26, 0xf8, 0x27, 0xa2, 0x1f, 0x75, 0xbc, 0x3d, 0x40, 0x7f, 0x28,
+	0x53, 0x0e, 0x8e, 0x21, 0xd6, 0x79, 0x76, 0x86, 0x87, 0x9d, 0x0e, 0xde, 0x85, 0xa1, 0xc9, 0xad,
+	0x1a, 0xa0, 0xd2, 0x74, 0x29, 0xb1, 0x5a, 0x0e, 0x36, 0x21, 0x14, 0xf7, 0x0f, 0x30, 0xe1, 0x1d,
+	0xc6, 0xf2, 0x03, 0xdc, 0x14, 0x77, 0x92, 0xb6, 0x81, 0x5b, 0x3c, 0x01, 0xdc, 0xb6, 0xc8, 0xcb,
+	0x3d, 0xe8, 0x08, 0xd9, 0x8c, 0x6f, 0xbc, 0xc5, 0x35, 0xc3, 0xb6, 0x81, 0xf7, 0x21, 0x2c, 0x86,
+	0xeb, 0xe1, 0xfb, 0x10, 0x09, 0xd3, 0xf2, 0x79, 0xf3, 0x26, 0x26, 0xb6, 0xb5, 0xbf, 0x29, 0x68,
+	0x75, 0xe1, 0x5b, 0xf7, 0x9b, 0x7d, 0x1f, 0x92, 0x85, 0x57, 0x81, 0x5b, 0xcb, 0x7c, 0x64, 0xcf,
+	0x3d, 0x0e, 0x68, 0x6f, 0xcb, 0x0f, 0x65, 0x8c, 0x6a, 0xf2, 0x3d, 0xe5, 0x69, 0x75, 0x1c, 0xa1,
+	0x92, 0xe1, 0xb6, 0xdb, 0xf0, 0xad, 0xac, 0xb5, 0x50, 0x39, 0x73, 0x45, 0xad, 0xcf, 0xde, 0x7b,
+	0xc4, 0x67, 0xf9, 0xf4, 0xb5, 0xe7, 0x55, 0x54, 0x7b, 0xc8, 0x06, 0xc3, 0xb8, 0x9b, 0x3c, 0x7a,
+	0x34, 0x61, 0xe2, 0x93, 0xaa, 0x48, 0xab, 0x5c, 0xe6, 0x72, 0x91, 0xf6, 0x27, 0x05, 0xbd, 0xa8,
+	0xc7, 0xd1, 0xd1, 0xe9, 0xcf, 0xd9, 0xec, 0x59, 0x84, 0xfd, 0xec, 0x84, 0x4d, 0x52, 0xd5, 0x40,
+	0xe5, 0xbe, 0x7c, 0x5f, 0xba, 0x60, 0x78, 0xb2, 0xe7, 0x28, 0x3a, 0x05, 0xaa, 0x1e, 0x5a, 0x65,
+	0x71, 0x2f, 0xe9, 0x0f, 0xe3, 0x41, 0x77, 0x2e, 0x56, 0x37, 0xcf, 0x8d, 0x95, 0xc0, 0xf0, 0x28,
+	0xd5, 0xd8, 0xdc, 0x4c, 0xfb, 0xa7, 0x82, 0xea, 0x5f, 0x76, 0x79, 0x32, 0x4a, 0xa0, 0x0f, 0x1d,
+	0x20, 0x35, 0x33, 0xdd, 0x9d, 0xbd, 0x0b, 0x29, 0x4b, 0xbe, 0x0b, 0x5d, 0xce, 0x38, 0x16, 0x3e,
+	0x9e, 0xa7, 0xef, 0x61, 0xb9, 0xc5, 0xf7, 0x30, 0x95, 0x88, 0x37, 0x28, 0x16, 0xf7, 0xd8, 0x44,
+	0xbe, 0xee, 0x5c, 0xbf, 0x80, 0x2d, 0xd0, 0xa7, 0x33, 0x24, 0x5c, 0xf2, 0x5e, 0x90, 0x0b, 0xe3,
+	0xa9, 0x32, 0x64, 0x93, 0xef, 0xf8, 0x56, 0x3c, 0x99, 0x26, 0xcf, 0xcc, 0x61, 0xb9, 0x11, 0x3a,
+	0x2a, 0x33, 0x29, 0xab, 0x2b, 0x3c, 0x24, 0xd7, 0x2e, 0x74, 0x3c, 0xe8, 0x14, 0xf6, 0xac, 0x90,
+	0x6b, 0x7f, 0x54, 0xd0, 0x95, 0x2c, 0x09, 0x4e, 0xe3, 0x34, 0x7a, 0xf2, 0x1d, 0x8f, 0xd4, 0x5f,
+	0x14, 0xf4, 0xfc, 0x19, 0x7f, 0x65, 0xa0, 0x16, 0x92, 0x47, 0xf9, 0xba, 0xc9, 0xa3, 0xbe, 0x8f,
+	0x4a, 0xfc, 0xe2, 0x32, 0xa9, 0xe7, 0x38, 0xc7, 0xeb, 0xe7, 0x55, 0x32, 0x50, 0xa6, 0x12, 0xb3,
+	0x10, 0xea, 0xfc, 0x99, 0x50, 0xff, 0x2e, 0x8f, 0x9e, 0xd3, 0xc5, 0xa3, 0x35, 0x83, 0xa2, 0xf3,
+	0xad, 0x46, 0xfa, 0x00, 0x95, 0x1f, 0xb1, 0x28, 0x3d, 0x19, 0xb3, 0x89, 0x7c, 0x5b, 0xbb, 0x77,
+	0x0e, 0xc9, 0x53, 0x5c, 0x69, 0x34, 0x25, 0x05, 0x9d, 0x92, 0x7d, 0x79, 0x0b, 0xf3, 0xdf, 0x70,
+	0x0b, 0x37, 0x7e, 0xab, 0xa0, 0x72, 0x66, 0x48, 0xbd, 0x86, 0xd6, 0xd8, 0x93, 0x74, 0x1c, 0xf5,
+	0xd2, 0xee, 0x84, 0xef, 0x27, 0x0f, 0x41, 0x99, 0xae, 0x4a, 0xa9, 0xd8, 0x64, 0xf5, 0x0d, 0x84,
+	0x33, 0xb5, 0xe9, 0x69, 0xc8, 0x71, 0xc5, 0x75, 0x29, 0xcf, 0x0e, 0x8e, 0xfa, 0x3e, 0xda, 0xc8,
+	0x54, 0x9f, 0x52, 0xc1, 0xf2, 0x1c, 0x54, 0x97, 0x1a, 0xe6, 0xd9, 0xf2, 0xa4, 0x7d, 0x91, 0x83,
+	0xf3, 0x30, 0x1f, 0x99, 0xef, 0x52, 0x7a, 0xcd, 0x17, 0x83, 0xfc, 0xd7, 0x2b, 0x06, 0x4f, 0x2f,
+	0xec, 0x85, 0x6f, 0xb7, 0xb0, 0x17, 0x17, 0x53, 0xff, 0xc6, 0x1d, 0x54, 0x9b, 0x4f, 0x08, 0x71,
+	0x17, 0x71, 0x08, 0xbe, 0x04, 0xa3, 0x30, 0x68, 0xde, 0x11, 0xd7, 0xf3, 0x30, 0x68, 0xde, 0xba,
+	0x2d, 0xae, 0xe7, 0x61, 0xd0, 0xdc, 0xd9, 0xc6, 0xf9, 0xed, 0xbf, 0x17, 0xd1, 0xba, 0x2d, 0x69,
+	0x7c, 0xf1, 0x57, 0x91, 0xfa, 0x67, 0x05, 0xe1, 0xb3, 0x8d, 0x4b, 0xbd, 0x7d, 0x6e, 0xba, 0x3f,
+	0xb5, 0x39, 0x6f, 0xbc, 0xb7, 0x34, 0x4e, 0x24, 0x84, 0xd6, 0xf8, 0xec, 0x8b, 0x7f, 0xfd, 0x26,
+	0xb7, 0xa9, 0xbd, 0x36, 0xfd, 0x4f, 0x2b, 0x8b, 0xc9, 0xe4, 0x6e, 0x74, 0x06, 0x74, 0x57, 0xb9,
+	0xa1, 0x7e, 0xae, 0xa0, 0xf5, 0x33, 0x45, 0x5e, 0x7d, 0xf7, 0x62, 0xc6, 0xcf, 0x74, 0xb1, 0x8d,
+	0xdb, 0xcb, 0xc2, 0xa4, 0xcb, 0x6f, 0x71, 0x97, 0xaf, 0x6b, 0xda, 0x57, 0xbb, 0x9c, 0x61, 0xc0,
+	0xe3, 0x3f, 0x28, 0x68, 0x75, 0xa1, 0xd6, 0xaa, 0x3b, 0x17, 0x0c, 0xd6, 0x7c, 0x27, 0xd9, 0x78,
+	0x67, 0x39, 0x90, 0xf4, 0xf5, 0x26, 0xf7, 0xf5, 0x9a, 0x76, 0xf5, 0x19, 0xe1, 0xe5, 0x08, 0xf0,
+	0xf4, 0xf7, 0x0a, 0xaa, 0xcd, 0x9f, 0x5a, 0x75, 0x7b, 0xf9, 0xe2, 0xb7, 0xb1, 0xb3, 0x14, 0x46,
+	0xba, 0x79, 0x83, 0xbb, 0xf9, 0xba, 0xf6, 0xca, 0x53, 0xdd, 0x9c, 0x01, 0xee, 0x2a, 0x37, 0x76,
+	0x3f, 0x53, 0xd0, 0xab, 0xbd, 0xe4, 0xf8, 0xd9, 0x66, 0x76, 0xaf, 0x9c, 0x49, 0x77, 0x6f, 0x9c,
+	0xa4, 0x89, 0xa7, 0x7c, 0x4c, 0x24, 0x6c, 0x90, 0x00, 0xa4, 0x91, 0x8c, 0x07, 0x5b, 0x03, 0x16,
+	0xf3, 0x7f, 0x3e, 0xb7, 0xc4, 0x4f, 0xd1, 0x68, 0x38, 0xf9, 0x8a, 0xff, 0x5b, 0xef, 0x65, 0x82,
+	0x87, 0x25, 0x8e, 0xd8, 0xf9, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe6, 0xf6, 0xe5, 0xb1, 0xa0,
+	0x1d, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/language/v1beta1/language_service.proto b/googleapis/cloud/language/v1beta1/language_service.proto
deleted file mode 100644
index 40b65c7f8d22582498a8d6178ae525540841d6f3..0000000000000000000000000000000000000000
--- a/googleapis/cloud/language/v1beta1/language_service.proto
+++ /dev/null
@@ -1,951 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.language.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "LanguageServiceProto";
-option java_package = "com.google.cloud.language.v1beta1";
-
-
-// Provides text analysis operations such as sentiment analysis and entity
-// recognition.
-service LanguageService {
-  // Analyzes the sentiment of the provided text.
-  rpc AnalyzeSentiment(AnalyzeSentimentRequest) returns (AnalyzeSentimentResponse) {
-    option (google.api.http) = { post: "/v1beta1/documents:analyzeSentiment" body: "*" };
-  }
-
-  // Finds named entities (currently finds proper names) in the text,
-  // entity types, salience, mentions for each entity, and other properties.
-  rpc AnalyzeEntities(AnalyzeEntitiesRequest) returns (AnalyzeEntitiesResponse) {
-    option (google.api.http) = { post: "/v1beta1/documents:analyzeEntities" body: "*" };
-  }
-
-  // Analyzes the syntax of the text and provides sentence boundaries and
-  // tokenization along with part of speech tags, dependency trees, and other
-  // properties.
-  rpc AnalyzeSyntax(AnalyzeSyntaxRequest) returns (AnalyzeSyntaxResponse) {
-    option (google.api.http) = { post: "/v1beta1/documents:analyzeSyntax" body: "*" };
-  }
-
-  // A convenience method that provides all the features that analyzeSentiment,
-  // analyzeEntities, and analyzeSyntax provide in one call.
-  rpc AnnotateText(AnnotateTextRequest) returns (AnnotateTextResponse) {
-    option (google.api.http) = { post: "/v1beta1/documents:annotateText" body: "*" };
-  }
-}
-
-// ################################################################ #
-//
-// Represents the input to API methods.
-message Document {
-  // The document types enum.
-  enum Type {
-    // The content type is not specified.
-    TYPE_UNSPECIFIED = 0;
-
-    // Plain text
-    PLAIN_TEXT = 1;
-
-    // HTML
-    HTML = 2;
-  }
-
-  // Required. If the type is not set or is `TYPE_UNSPECIFIED`,
-  // returns an `INVALID_ARGUMENT` error.
-  Type type = 1;
-
-  // The source of the document: a string containing the content or a
-  // Google Cloud Storage URI.
-  oneof source {
-    // The content of the input in string format.
-    string content = 2;
-
-    // The Google Cloud Storage URI where the file content is located.
-    // This URI must be of the form: gs://bucket_name/object_name. For more
-    // details, see https://cloud.google.com/storage/docs/reference-uris.
-    // NOTE: Cloud Storage object versioning is not supported.
-    string gcs_content_uri = 3;
-  }
-
-  // The language of the document (if not specified, the language is
-  // automatically detected). Both ISO and BCP-47 language codes are
-  // accepted.<br>
-  // **Current Language Restrictions:**
-  //
-  //  * Only English, Spanish, and Japanese textual content
-  //    are supported, with the following additional restriction:
-  //    * `analyzeSentiment` only supports English text.
-  // If the language (either specified by the caller or automatically detected)
-  // is not supported by the called API method, an `INVALID_ARGUMENT` error
-  // is returned.
-  string language = 4;
-}
-
-// Represents a sentence in the input document.
-message Sentence {
-  // The sentence text.
-  TextSpan text = 1;
-
-  // For calls to [AnalyzeSentiment][] or if
-  // [AnnotateTextRequest.Features.extract_document_sentiment][google.cloud.language.v1beta1.AnnotateTextRequest.Features.extract_document_sentiment] is set to
-  // true, this field will contain the sentiment for the sentence.
-  Sentiment sentiment = 2;
-}
-
-// Represents a phrase in the text that is a known entity, such as
-// a person, an organization, or location. The API associates information, such
-// as salience and mentions, with entities.
-message Entity {
-  // The type of the entity.
-  enum Type {
-    // Unknown
-    UNKNOWN = 0;
-
-    // Person
-    PERSON = 1;
-
-    // Location
-    LOCATION = 2;
-
-    // Organization
-    ORGANIZATION = 3;
-
-    // Event
-    EVENT = 4;
-
-    // Work of art
-    WORK_OF_ART = 5;
-
-    // Consumer goods
-    CONSUMER_GOOD = 6;
-
-    // Other types
-    OTHER = 7;
-  }
-
-  // The representative name for the entity.
-  string name = 1;
-
-  // The entity type.
-  Type type = 2;
-
-  // Metadata associated with the entity.
-  //
-  // Currently, Wikipedia URLs and Knowledge Graph MIDs are provided, if
-  // available. The associated keys are "wikipedia_url" and "mid", respectively.
-  map<string, string> metadata = 3;
-
-  // The salience score associated with the entity in the [0, 1.0] range.
-  //
-  // The salience score for an entity provides information about the
-  // importance or centrality of that entity to the entire document text.
-  // Scores closer to 0 are less salient, while scores closer to 1.0 are highly
-  // salient.
-  float salience = 4;
-
-  // The mentions of this entity in the input document. The API currently
-  // supports proper noun mentions.
-  repeated EntityMention mentions = 5;
-}
-
-// Represents the smallest syntactic building block of the text.
-message Token {
-  // The token text.
-  TextSpan text = 1;
-
-  // Parts of speech tag for this token.
-  PartOfSpeech part_of_speech = 2;
-
-  // Dependency tree parse for this token.
-  DependencyEdge dependency_edge = 3;
-
-  // [Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the token.
-  string lemma = 4;
-}
-
-// Represents the feeling associated with the entire text or entities in
-// the text.
-message Sentiment {
-  // DEPRECATED FIELD - This field is being deprecated in
-  // favor of score. Please refer to our documentation at
-  // https://cloud.google.com/natural-language/docs for more information.
-  float polarity = 1;
-
-  // A non-negative number in the [0, +inf) range, which represents
-  // the absolute magnitude of sentiment regardless of score (positive or
-  // negative).
-  float magnitude = 2;
-
-  // Sentiment score between -1.0 (negative sentiment) and 1.0
-  // (positive sentiment.)
-  float score = 3;
-}
-
-// Represents part of speech information for a token.
-message PartOfSpeech {
-  // The part of speech tags enum.
-  enum Tag {
-    // Unknown
-    UNKNOWN = 0;
-
-    // Adjective
-    ADJ = 1;
-
-    // Adposition (preposition and postposition)
-    ADP = 2;
-
-    // Adverb
-    ADV = 3;
-
-    // Conjunction
-    CONJ = 4;
-
-    // Determiner
-    DET = 5;
-
-    // Noun (common and proper)
-    NOUN = 6;
-
-    // Cardinal number
-    NUM = 7;
-
-    // Pronoun
-    PRON = 8;
-
-    // Particle or other function word
-    PRT = 9;
-
-    // Punctuation
-    PUNCT = 10;
-
-    // Verb (all tenses and modes)
-    VERB = 11;
-
-    // Other: foreign words, typos, abbreviations
-    X = 12;
-
-    // Affix
-    AFFIX = 13;
-  }
-
-  // The characteristic of a verb that expresses time flow during an event.
-  enum Aspect {
-    // Aspect is not applicable in the analyzed language or is not predicted.
-    ASPECT_UNKNOWN = 0;
-
-    // Perfective
-    PERFECTIVE = 1;
-
-    // Imperfective
-    IMPERFECTIVE = 2;
-
-    // Progressive
-    PROGRESSIVE = 3;
-  }
-
-  // The grammatical function performed by a noun or pronoun in a phrase,
-  // clause, or sentence. In some languages, other parts of speech, such as
-  // adjective and determiner, take case inflection in agreement with the noun.
-  enum Case {
-    // Case is not applicable in the analyzed language or is not predicted.
-    CASE_UNKNOWN = 0;
-
-    // Accusative
-    ACCUSATIVE = 1;
-
-    // Adverbial
-    ADVERBIAL = 2;
-
-    // Complementive
-    COMPLEMENTIVE = 3;
-
-    // Dative
-    DATIVE = 4;
-
-    // Genitive
-    GENITIVE = 5;
-
-    // Instrumental
-    INSTRUMENTAL = 6;
-
-    // Locative
-    LOCATIVE = 7;
-
-    // Nominative
-    NOMINATIVE = 8;
-
-    // Oblique
-    OBLIQUE = 9;
-
-    // Partitive
-    PARTITIVE = 10;
-
-    // Prepositional
-    PREPOSITIONAL = 11;
-
-    // Reflexive
-    REFLEXIVE_CASE = 12;
-
-    // Relative
-    RELATIVE_CASE = 13;
-
-    // Vocative
-    VOCATIVE = 14;
-  }
-
-  // Depending on the language, Form can be categorizing different forms of
-  // verbs, adjectives, adverbs, etc. For example, categorizing inflected
-  // endings of verbs and adjectives or distinguishing between short and long
-  // forms of adjectives and participles
-  enum Form {
-    // Form is not applicable in the analyzed language or is not predicted.
-    FORM_UNKNOWN = 0;
-
-    // Adnomial
-    ADNOMIAL = 1;
-
-    // Auxiliary
-    AUXILIARY = 2;
-
-    // Complementizer
-    COMPLEMENTIZER = 3;
-
-    // Final ending
-    FINAL_ENDING = 4;
-
-    // Gerund
-    GERUND = 5;
-
-    // Realis
-    REALIS = 6;
-
-    // Irrealis
-    IRREALIS = 7;
-
-    // Short form
-    SHORT = 8;
-
-    // Long form
-    LONG = 9;
-
-    // Order form
-    ORDER = 10;
-
-    // Specific form
-    SPECIFIC = 11;
-  }
-
-  // Gender classes of nouns reflected in the behaviour of associated words.
-  enum Gender {
-    // Gender is not applicable in the analyzed language or is not predicted.
-    GENDER_UNKNOWN = 0;
-
-    // Feminine
-    FEMININE = 1;
-
-    // Masculine
-    MASCULINE = 2;
-
-    // Neuter
-    NEUTER = 3;
-  }
-
-  // The grammatical feature of verbs, used for showing modality and attitude.
-  enum Mood {
-    // Mood is not applicable in the analyzed language or is not predicted.
-    MOOD_UNKNOWN = 0;
-
-    // Conditional
-    CONDITIONAL_MOOD = 1;
-
-    // Imperative
-    IMPERATIVE = 2;
-
-    // Indicative
-    INDICATIVE = 3;
-
-    // Interrogative
-    INTERROGATIVE = 4;
-
-    // Jussive
-    JUSSIVE = 5;
-
-    // Subjunctive
-    SUBJUNCTIVE = 6;
-  }
-
-  // Count distinctions.
-  enum Number {
-    // Number is not applicable in the analyzed language or is not predicted.
-    NUMBER_UNKNOWN = 0;
-
-    // Singular
-    SINGULAR = 1;
-
-    // Plural
-    PLURAL = 2;
-
-    // Dual
-    DUAL = 3;
-  }
-
-  // The distinction between the speaker, second person, third person, etc.
-  enum Person {
-    // Person is not applicable in the analyzed language or is not predicted.
-    PERSON_UNKNOWN = 0;
-
-    // First
-    FIRST = 1;
-
-    // Second
-    SECOND = 2;
-
-    // Third
-    THIRD = 3;
-
-    // Reflexive
-    REFLEXIVE_PERSON = 4;
-  }
-
-  // This category shows if the token is part of a proper name.
-  enum Proper {
-    // Proper is not applicable in the analyzed language or is not predicted.
-    PROPER_UNKNOWN = 0;
-
-    // Proper
-    PROPER = 1;
-
-    // Not proper
-    NOT_PROPER = 2;
-  }
-
-  // Reciprocal features of a pronoun.
-  enum Reciprocity {
-    // Reciprocity is not applicable in the analyzed language or is not
-    // predicted.
-    RECIPROCITY_UNKNOWN = 0;
-
-    // Reciprocal
-    RECIPROCAL = 1;
-
-    // Non-reciprocal
-    NON_RECIPROCAL = 2;
-  }
-
-  // Time reference.
-  enum Tense {
-    // Tense is not applicable in the analyzed language or is not predicted.
-    TENSE_UNKNOWN = 0;
-
-    // Conditional
-    CONDITIONAL_TENSE = 1;
-
-    // Future
-    FUTURE = 2;
-
-    // Past
-    PAST = 3;
-
-    // Present
-    PRESENT = 4;
-
-    // Imperfect
-    IMPERFECT = 5;
-
-    // Pluperfect
-    PLUPERFECT = 6;
-  }
-
-  // The relationship between the action that a verb expresses and the
-  // participants identified by its arguments.
-  enum Voice {
-    // Voice is not applicable in the analyzed language or is not predicted.
-    VOICE_UNKNOWN = 0;
-
-    // Active
-    ACTIVE = 1;
-
-    // Causative
-    CAUSATIVE = 2;
-
-    // Passive
-    PASSIVE = 3;
-  }
-
-  // The part of speech tag.
-  Tag tag = 1;
-
-  // The grammatical aspect.
-  Aspect aspect = 2;
-
-  // The grammatical case.
-  Case case = 3;
-
-  // The grammatical form.
-  Form form = 4;
-
-  // The grammatical gender.
-  Gender gender = 5;
-
-  // The grammatical mood.
-  Mood mood = 6;
-
-  // The grammatical number.
-  Number number = 7;
-
-  // The grammatical person.
-  Person person = 8;
-
-  // The grammatical properness.
-  Proper proper = 9;
-
-  // The grammatical reciprocity.
-  Reciprocity reciprocity = 10;
-
-  // The grammatical tense.
-  Tense tense = 11;
-
-  // The grammatical voice.
-  Voice voice = 12;
-}
-
-// Represents dependency parse tree information for a token.
-message DependencyEdge {
-  // The parse label enum for the token.
-  enum Label {
-    // Unknown
-    UNKNOWN = 0;
-
-    // Abbreviation modifier
-    ABBREV = 1;
-
-    // Adjectival complement
-    ACOMP = 2;
-
-    // Adverbial clause modifier
-    ADVCL = 3;
-
-    // Adverbial modifier
-    ADVMOD = 4;
-
-    // Adjectival modifier of an NP
-    AMOD = 5;
-
-    // Appositional modifier of an NP
-    APPOS = 6;
-
-    // Attribute dependent of a copular verb
-    ATTR = 7;
-
-    // Auxiliary (non-main) verb
-    AUX = 8;
-
-    // Passive auxiliary
-    AUXPASS = 9;
-
-    // Coordinating conjunction
-    CC = 10;
-
-    // Clausal complement of a verb or adjective
-    CCOMP = 11;
-
-    // Conjunct
-    CONJ = 12;
-
-    // Clausal subject
-    CSUBJ = 13;
-
-    // Clausal passive subject
-    CSUBJPASS = 14;
-
-    // Dependency (unable to determine)
-    DEP = 15;
-
-    // Determiner
-    DET = 16;
-
-    // Discourse
-    DISCOURSE = 17;
-
-    // Direct object
-    DOBJ = 18;
-
-    // Expletive
-    EXPL = 19;
-
-    // Goes with (part of a word in a text not well edited)
-    GOESWITH = 20;
-
-    // Indirect object
-    IOBJ = 21;
-
-    // Marker (word introducing a subordinate clause)
-    MARK = 22;
-
-    // Multi-word expression
-    MWE = 23;
-
-    // Multi-word verbal expression
-    MWV = 24;
-
-    // Negation modifier
-    NEG = 25;
-
-    // Noun compound modifier
-    NN = 26;
-
-    // Noun phrase used as an adverbial modifier
-    NPADVMOD = 27;
-
-    // Nominal subject
-    NSUBJ = 28;
-
-    // Passive nominal subject
-    NSUBJPASS = 29;
-
-    // Numeric modifier of a noun
-    NUM = 30;
-
-    // Element of compound number
-    NUMBER = 31;
-
-    // Punctuation mark
-    P = 32;
-
-    // Parataxis relation
-    PARATAXIS = 33;
-
-    // Participial modifier
-    PARTMOD = 34;
-
-    // The complement of a preposition is a clause
-    PCOMP = 35;
-
-    // Object of a preposition
-    POBJ = 36;
-
-    // Possession modifier
-    POSS = 37;
-
-    // Postverbal negative particle
-    POSTNEG = 38;
-
-    // Predicate complement
-    PRECOMP = 39;
-
-    // Preconjunt
-    PRECONJ = 40;
-
-    // Predeterminer
-    PREDET = 41;
-
-    // Prefix
-    PREF = 42;
-
-    // Prepositional modifier
-    PREP = 43;
-
-    // The relationship between a verb and verbal morpheme
-    PRONL = 44;
-
-    // Particle
-    PRT = 45;
-
-    // Associative or possessive marker
-    PS = 46;
-
-    // Quantifier phrase modifier
-    QUANTMOD = 47;
-
-    // Relative clause modifier
-    RCMOD = 48;
-
-    // Complementizer in relative clause
-    RCMODREL = 49;
-
-    // Ellipsis without a preceding predicate
-    RDROP = 50;
-
-    // Referent
-    REF = 51;
-
-    // Remnant
-    REMNANT = 52;
-
-    // Reparandum
-    REPARANDUM = 53;
-
-    // Root
-    ROOT = 54;
-
-    // Suffix specifying a unit of number
-    SNUM = 55;
-
-    // Suffix
-    SUFF = 56;
-
-    // Temporal modifier
-    TMOD = 57;
-
-    // Topic marker
-    TOPIC = 58;
-
-    // Clause headed by an infinite form of the verb that modifies a noun
-    VMOD = 59;
-
-    // Vocative
-    VOCATIVE = 60;
-
-    // Open clausal complement
-    XCOMP = 61;
-
-    // Name suffix
-    SUFFIX = 62;
-
-    // Name title
-    TITLE = 63;
-
-    // Adverbial phrase modifier
-    ADVPHMOD = 64;
-
-    // Causative auxiliary
-    AUXCAUS = 65;
-
-    // Helper auxiliary
-    AUXVV = 66;
-
-    // Rentaishi (Prenominal modifier)
-    DTMOD = 67;
-
-    // Foreign words
-    FOREIGN = 68;
-
-    // Keyword
-    KW = 69;
-
-    // List for chains of comparable items
-    LIST = 70;
-
-    // Nominalized clause
-    NOMC = 71;
-
-    // Nominalized clausal subject
-    NOMCSUBJ = 72;
-
-    // Nominalized clausal passive
-    NOMCSUBJPASS = 73;
-
-    // Compound of numeric modifier
-    NUMC = 74;
-
-    // Copula
-    COP = 75;
-
-    // Dislocated relation (for fronted/topicalized elements)
-    DISLOCATED = 76;
-  }
-
-  // Represents the head of this token in the dependency tree.
-  // This is the index of the token which has an arc going to this token.
-  // The index is the position of the token in the array of tokens returned
-  // by the API method. If this token is a root token, then the
-  // `head_token_index` is its own index.
-  int32 head_token_index = 1;
-
-  // The parse label for the token.
-  Label label = 2;
-}
-
-// Represents a mention for an entity in the text. Currently, proper noun
-// mentions are supported.
-message EntityMention {
-  // The supported types of mentions.
-  enum Type {
-    // Unknown
-    TYPE_UNKNOWN = 0;
-
-    // Proper name
-    PROPER = 1;
-
-    // Common noun (or noun compound)
-    COMMON = 2;
-  }
-
-  // The mention text.
-  TextSpan text = 1;
-
-  // The type of the entity mention.
-  Type type = 2;
-}
-
-// Represents an output piece of text.
-message TextSpan {
-  // The content of the output text.
-  string content = 1;
-
-  // The API calculates the beginning offset of the content in the original
-  // document according to the [EncodingType][google.cloud.language.v1beta1.EncodingType] specified in the API request.
-  int32 begin_offset = 2;
-}
-
-// The sentiment analysis request message.
-message AnalyzeSentimentRequest {
-  // Input document. Currently, `analyzeSentiment` only supports English text
-  // ([Document.language][google.cloud.language.v1beta1.Document.language]="EN").
-  Document document = 1;
-
-  // The encoding type used by the API to calculate sentence offsets for the
-  // sentence sentiment.
-  EncodingType encoding_type = 2;
-}
-
-// The sentiment analysis response message.
-message AnalyzeSentimentResponse {
-  // The overall sentiment of the input document.
-  Sentiment document_sentiment = 1;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  string language = 2;
-
-  // The sentiment for all the sentences in the document.
-  repeated Sentence sentences = 3;
-}
-
-// The entity analysis request message.
-message AnalyzeEntitiesRequest {
-  // Input document.
-  Document document = 1;
-
-  // The encoding type used by the API to calculate offsets.
-  EncodingType encoding_type = 2;
-}
-
-// The entity analysis response message.
-message AnalyzeEntitiesResponse {
-  // The recognized entities in the input document.
-  repeated Entity entities = 1;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  // See [Document.language][google.cloud.language.v1beta1.Document.language] field for more details.
-  string language = 2;
-}
-
-// The syntax analysis request message.
-message AnalyzeSyntaxRequest {
-  // Input document.
-  Document document = 1;
-
-  // The encoding type used by the API to calculate offsets.
-  EncodingType encoding_type = 2;
-}
-
-// The syntax analysis response message.
-message AnalyzeSyntaxResponse {
-  // Sentences in the input document.
-  repeated Sentence sentences = 1;
-
-  // Tokens, along with their syntactic information, in the input document.
-  repeated Token tokens = 2;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  // See [Document.language][google.cloud.language.v1beta1.Document.language] field for more details.
-  string language = 3;
-}
-
-// The request message for the text annotation API, which can perform multiple
-// analysis types (sentiment, entities, and syntax) in one call.
-message AnnotateTextRequest {
-  // All available features for sentiment, syntax, and semantic analysis.
-  // Setting each one to true will enable that specific analysis for the input.
-  message Features {
-    // Extract syntax information.
-    bool extract_syntax = 1;
-
-    // Extract entities.
-    bool extract_entities = 2;
-
-    // Extract document-level sentiment.
-    bool extract_document_sentiment = 3;
-  }
-
-  // Input document.
-  Document document = 1;
-
-  // The enabled features.
-  Features features = 2;
-
-  // The encoding type used by the API to calculate offsets.
-  EncodingType encoding_type = 3;
-}
-
-// The text annotations response message.
-message AnnotateTextResponse {
-  // Sentences in the input document. Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_syntax][google.cloud.language.v1beta1.AnnotateTextRequest.Features.extract_syntax].
-  repeated Sentence sentences = 1;
-
-  // Tokens, along with their syntactic information, in the input document.
-  // Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_syntax][google.cloud.language.v1beta1.AnnotateTextRequest.Features.extract_syntax].
-  repeated Token tokens = 2;
-
-  // Entities, along with their semantic information, in the input document.
-  // Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_entities][google.cloud.language.v1beta1.AnnotateTextRequest.Features.extract_entities].
-  repeated Entity entities = 3;
-
-  // The overall sentiment for the document. Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_document_sentiment][google.cloud.language.v1beta1.AnnotateTextRequest.Features.extract_document_sentiment].
-  Sentiment document_sentiment = 4;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  // See [Document.language][google.cloud.language.v1beta1.Document.language] field for more details.
-  string language = 5;
-}
-
-// Represents the text encoding that the caller uses to process the output.
-// Providing an `EncodingType` is recommended because the API provides the
-// beginning offsets for various outputs, such as tokens and mentions, and
-// languages that natively use different text encodings may access offsets
-// differently.
-enum EncodingType {
-  // If `EncodingType` is not specified, encoding-dependent information (such as
-  // `begin_offset`) will be set at `-1`.
-  NONE = 0;
-
-  // Encoding-dependent information (such as `begin_offset`) is calculated based
-  // on the UTF-8 encoding of the input. C++ and Go are examples of languages
-  // that use this encoding natively.
-  UTF8 = 1;
-
-  // Encoding-dependent information (such as `begin_offset`) is calculated based
-  // on the UTF-16 encoding of the input. Java and Javascript are examples of
-  // languages that use this encoding natively.
-  UTF16 = 2;
-
-  // Encoding-dependent information (such as `begin_offset`) is calculated based
-  // on the UTF-32 encoding of the input. Python is an example of a language
-  // that uses this encoding natively.
-  UTF32 = 3;
-}
diff --git a/googleapis/cloud/ml/v1beta1/job_service.pb.go b/googleapis/cloud/ml/v1beta1/job_service.pb.go
index 5133e52d2a2c782f268bcdf3f400170a28bf5846..a2b76f067cd13babe953f840bb8b17bd5717a6e7 100644
--- a/googleapis/cloud/ml/v1beta1/job_service.pb.go
+++ b/googleapis/cloud/ml/v1beta1/job_service.pb.go
@@ -1,16 +1,16 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/job_service.proto
+// source: google/cloud/ml/v1beta1/job_service.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_ml_v1beta1 is a generated protocol buffer package.
+Package ml is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/ml/v1beta1/job_service.proto
-	google.golang.org/genproto/googleapis/cloud/ml/v1beta1/model_service.proto
-	google.golang.org/genproto/googleapis/cloud/ml/v1beta1/operation_metadata.proto
-	google.golang.org/genproto/googleapis/cloud/ml/v1beta1/prediction_service.proto
-	google.golang.org/genproto/googleapis/cloud/ml/v1beta1/project_service.proto
+	google/cloud/ml/v1beta1/job_service.proto
+	google/cloud/ml/v1beta1/model_service.proto
+	google/cloud/ml/v1beta1/operation_metadata.proto
+	google/cloud/ml/v1beta1/prediction_service.proto
+	google/cloud/ml/v1beta1/project_service.proto
 
 It has these top-level messages:
 	TrainingInput
@@ -44,12 +44,12 @@ It has these top-level messages:
 	GetConfigRequest
 	GetConfigResponse
 */
-package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+package ml
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -400,6 +400,69 @@ func (m *TrainingInput) String() string            { return proto.CompactTextStr
 func (*TrainingInput) ProtoMessage()               {}
 func (*TrainingInput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *TrainingInput) GetScaleTier() TrainingInput_ScaleTier {
+	if m != nil {
+		return m.ScaleTier
+	}
+	return TrainingInput_BASIC
+}
+
+func (m *TrainingInput) GetMasterType() string {
+	if m != nil {
+		return m.MasterType
+	}
+	return ""
+}
+
+func (m *TrainingInput) GetWorkerType() string {
+	if m != nil {
+		return m.WorkerType
+	}
+	return ""
+}
+
+func (m *TrainingInput) GetParameterServerType() string {
+	if m != nil {
+		return m.ParameterServerType
+	}
+	return ""
+}
+
+func (m *TrainingInput) GetWorkerCount() int64 {
+	if m != nil {
+		return m.WorkerCount
+	}
+	return 0
+}
+
+func (m *TrainingInput) GetParameterServerCount() int64 {
+	if m != nil {
+		return m.ParameterServerCount
+	}
+	return 0
+}
+
+func (m *TrainingInput) GetPackageUris() []string {
+	if m != nil {
+		return m.PackageUris
+	}
+	return nil
+}
+
+func (m *TrainingInput) GetPythonModule() string {
+	if m != nil {
+		return m.PythonModule
+	}
+	return ""
+}
+
+func (m *TrainingInput) GetArgs() []string {
+	if m != nil {
+		return m.Args
+	}
+	return nil
+}
+
 func (m *TrainingInput) GetHyperparameters() *HyperparameterSpec {
 	if m != nil {
 		return m.Hyperparameters
@@ -407,6 +470,13 @@ func (m *TrainingInput) GetHyperparameters() *HyperparameterSpec {
 	return nil
 }
 
+func (m *TrainingInput) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
 // Represents a set of hyperparameters to optimize.
 type HyperparameterSpec struct {
 	// Required. The type of goal to use for tuning. Available types are
@@ -439,6 +509,13 @@ func (m *HyperparameterSpec) String() string            { return proto.CompactTe
 func (*HyperparameterSpec) ProtoMessage()               {}
 func (*HyperparameterSpec) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *HyperparameterSpec) GetGoal() HyperparameterSpec_GoalType {
+	if m != nil {
+		return m.Goal
+	}
+	return HyperparameterSpec_GOAL_TYPE_UNSPECIFIED
+}
+
 func (m *HyperparameterSpec) GetParams() []*ParameterSpec {
 	if m != nil {
 		return m.Params
@@ -446,6 +523,20 @@ func (m *HyperparameterSpec) GetParams() []*ParameterSpec {
 	return nil
 }
 
+func (m *HyperparameterSpec) GetMaxTrials() int32 {
+	if m != nil {
+		return m.MaxTrials
+	}
+	return 0
+}
+
+func (m *HyperparameterSpec) GetMaxParallelTrials() int32 {
+	if m != nil {
+		return m.MaxParallelTrials
+	}
+	return 0
+}
+
 // Represents a single hyperparameter to optimize.
 type ParameterSpec struct {
 	// Required. The parameter name must be unique amongst all ParameterConfigs in
@@ -481,6 +572,55 @@ func (m *ParameterSpec) String() string            { return proto.CompactTextStr
 func (*ParameterSpec) ProtoMessage()               {}
 func (*ParameterSpec) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *ParameterSpec) GetParameterName() string {
+	if m != nil {
+		return m.ParameterName
+	}
+	return ""
+}
+
+func (m *ParameterSpec) GetType() ParameterSpec_ParameterType {
+	if m != nil {
+		return m.Type
+	}
+	return ParameterSpec_PARAMETER_TYPE_UNSPECIFIED
+}
+
+func (m *ParameterSpec) GetMinValue() float64 {
+	if m != nil {
+		return m.MinValue
+	}
+	return 0
+}
+
+func (m *ParameterSpec) GetMaxValue() float64 {
+	if m != nil {
+		return m.MaxValue
+	}
+	return 0
+}
+
+func (m *ParameterSpec) GetCategoricalValues() []string {
+	if m != nil {
+		return m.CategoricalValues
+	}
+	return nil
+}
+
+func (m *ParameterSpec) GetDiscreteValues() []float64 {
+	if m != nil {
+		return m.DiscreteValues
+	}
+	return nil
+}
+
+func (m *ParameterSpec) GetScaleType() ParameterSpec_ScaleType {
+	if m != nil {
+		return m.ScaleType
+	}
+	return ParameterSpec_NONE
+}
+
 // Represents the result of a single hyperparameter tuning trial from a
 // training job. The TrainingOutput object that is returned on successful
 // completion of a training job with hyperparameter tuning includes a list
@@ -501,6 +641,13 @@ func (m *HyperparameterOutput) String() string            { return proto.Compact
 func (*HyperparameterOutput) ProtoMessage()               {}
 func (*HyperparameterOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *HyperparameterOutput) GetTrialId() string {
+	if m != nil {
+		return m.TrialId
+	}
+	return ""
+}
+
 func (m *HyperparameterOutput) GetHyperparameters() map[string]string {
 	if m != nil {
 		return m.Hyperparameters
@@ -539,6 +686,20 @@ func (*HyperparameterOutput_HyperparameterMetric) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{3, 0}
 }
 
+func (m *HyperparameterOutput_HyperparameterMetric) GetTrainingStep() int64 {
+	if m != nil {
+		return m.TrainingStep
+	}
+	return 0
+}
+
+func (m *HyperparameterOutput_HyperparameterMetric) GetObjectiveValue() float64 {
+	if m != nil {
+		return m.ObjectiveValue
+	}
+	return 0
+}
+
 // Represents results of a training job.
 type TrainingOutput struct {
 	// The number of hyperparameter tuning trials that completed successfully.
@@ -552,6 +713,13 @@ func (m *TrainingOutput) String() string            { return proto.CompactTextSt
 func (*TrainingOutput) ProtoMessage()               {}
 func (*TrainingOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *TrainingOutput) GetCompletedTrialCount() int64 {
+	if m != nil {
+		return m.CompletedTrialCount
+	}
+	return 0
+}
+
 func (m *TrainingOutput) GetTrials() []*HyperparameterOutput {
 	if m != nil {
 		return m.Trials
@@ -621,6 +789,41 @@ func (m *PredictionInput) GetVersionName() string {
 	return ""
 }
 
+func (m *PredictionInput) GetDataFormat() PredictionInput_DataFormat {
+	if m != nil {
+		return m.DataFormat
+	}
+	return PredictionInput_DATA_FORMAT_UNSPECIFIED
+}
+
+func (m *PredictionInput) GetInputPaths() []string {
+	if m != nil {
+		return m.InputPaths
+	}
+	return nil
+}
+
+func (m *PredictionInput) GetOutputPath() string {
+	if m != nil {
+		return m.OutputPath
+	}
+	return ""
+}
+
+func (m *PredictionInput) GetMaxWorkerCount() int64 {
+	if m != nil {
+		return m.MaxWorkerCount
+	}
+	return 0
+}
+
+func (m *PredictionInput) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*PredictionInput) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _PredictionInput_OneofMarshaler, _PredictionInput_OneofUnmarshaler, _PredictionInput_OneofSizer, []interface{}{
@@ -702,6 +905,27 @@ func (m *PredictionOutput) String() string            { return proto.CompactText
 func (*PredictionOutput) ProtoMessage()               {}
 func (*PredictionOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *PredictionOutput) GetOutputPath() string {
+	if m != nil {
+		return m.OutputPath
+	}
+	return ""
+}
+
+func (m *PredictionOutput) GetPredictionCount() int64 {
+	if m != nil {
+		return m.PredictionCount
+	}
+	return 0
+}
+
+func (m *PredictionOutput) GetErrorCount() int64 {
+	if m != nil {
+		return m.ErrorCount
+	}
+	return 0
+}
+
 // Represents a training or prediction job.
 type Job struct {
 	// Required. The user-specified id of the job.
@@ -773,6 +997,13 @@ func (m *Job) GetOutput() isJob_Output {
 	return nil
 }
 
+func (m *Job) GetJobId() string {
+	if m != nil {
+		return m.JobId
+	}
+	return ""
+}
+
 func (m *Job) GetTrainingInput() *TrainingInput {
 	if x, ok := m.GetInput().(*Job_TrainingInput); ok {
 		return x.TrainingInput
@@ -808,6 +1039,20 @@ func (m *Job) GetEndTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *Job) GetState() Job_State {
+	if m != nil {
+		return m.State
+	}
+	return Job_STATE_UNSPECIFIED
+}
+
+func (m *Job) GetErrorMessage() string {
+	if m != nil {
+		return m.ErrorMessage
+	}
+	return ""
+}
+
 func (m *Job) GetTrainingOutput() *TrainingOutput {
 	if x, ok := m.GetOutput().(*Job_TrainingOutput); ok {
 		return x.TrainingOutput
@@ -961,6 +1206,13 @@ func (m *CreateJobRequest) String() string            { return proto.CompactText
 func (*CreateJobRequest) ProtoMessage()               {}
 func (*CreateJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *CreateJobRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 func (m *CreateJobRequest) GetJob() *Job {
 	if m != nil {
 		return m.Job
@@ -994,6 +1246,34 @@ func (m *ListJobsRequest) String() string            { return proto.CompactTextS
 func (*ListJobsRequest) ProtoMessage()               {}
 func (*ListJobsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *ListJobsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListJobsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListJobsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListJobsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // Response message for the ListJobs method.
 type ListJobsResponse struct {
 	// The list of jobs.
@@ -1015,6 +1295,13 @@ func (m *ListJobsResponse) GetJobs() []*Job {
 	return nil
 }
 
+func (m *ListJobsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for the GetJob method.
 type GetJobRequest struct {
 	// Required. The name of the job to get the description of.
@@ -1028,6 +1315,13 @@ func (m *GetJobRequest) String() string            { return proto.CompactTextStr
 func (*GetJobRequest) ProtoMessage()               {}
 func (*GetJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *GetJobRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for the CancelJob method.
 type CancelJobRequest struct {
 	// Required. The name of the job to cancel.
@@ -1041,6 +1335,13 @@ func (m *CancelJobRequest) String() string            { return proto.CompactText
 func (*CancelJobRequest) ProtoMessage()               {}
 func (*CancelJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *CancelJobRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*TrainingInput)(nil), "google.cloud.ml.v1beta1.TrainingInput")
 	proto.RegisterType((*HyperparameterSpec)(nil), "google.cloud.ml.v1beta1.HyperparameterSpec")
@@ -1240,135 +1541,131 @@ var _JobService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/ml/v1beta1/job_service.proto",
+	Metadata: "google/cloud/ml/v1beta1/job_service.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/ml/v1beta1/job_service.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/ml/v1beta1/job_service.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1939 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x58, 0x5b, 0x73, 0x1b, 0x49,
-	0x15, 0xb6, 0xae, 0x96, 0x8e, 0x6c, 0x69, 0xd2, 0x9b, 0x78, 0xb5, 0x5a, 0x20, 0xce, 0xb8, 0xc8,
-	0x2a, 0xa1, 0x22, 0x6d, 0x9c, 0x50, 0xb5, 0x64, 0x0b, 0xaa, 0xc6, 0xd2, 0xd8, 0x96, 0xcb, 0xba,
-	0xd0, 0x1a, 0x85, 0x90, 0xa2, 0x6a, 0xaa, 0x35, 0x6a, 0x2b, 0xe3, 0xcc, 0x8d, 0x99, 0x91, 0xb1,
+	// 1919 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x5b, 0x73, 0x1b, 0x49,
+	0x15, 0xb6, 0xae, 0x96, 0x8e, 0x6c, 0x69, 0xd2, 0xb9, 0xac, 0x56, 0x59, 0x88, 0x33, 0x29, 0xb2,
+	0x72, 0xa8, 0x48, 0x1b, 0x67, 0xa9, 0xda, 0xcd, 0x16, 0x54, 0x8d, 0xa5, 0xb1, 0x2d, 0x97, 0x75,
+	0xa1, 0x35, 0x0a, 0x21, 0x45, 0xd5, 0x54, 0x4b, 0xea, 0x28, 0xe3, 0xcc, 0x8d, 0x99, 0xb1, 0xb1,
 	0x96, 0x4a, 0x41, 0x01, 0x4f, 0xf0, 0x48, 0xc1, 0x03, 0x6f, 0xbc, 0xf2, 0xc4, 0x1f, 0xe0, 0x57,
-	0xf0, 0x17, 0xf8, 0x21, 0x54, 0x77, 0xcf, 0x8c, 0x2e, 0x8e, 0x2f, 0x5b, 0xf0, 0xe2, 0x9a, 0x3e,
-	0xe7, 0x3b, 0xf7, 0xd3, 0xa7, 0x8f, 0x0c, 0xc7, 0x53, 0xd7, 0x9d, 0x5a, 0xb4, 0x31, 0x75, 0x2d,
-	0xe2, 0x4c, 0x1b, 0xae, 0x3f, 0x6d, 0x4e, 0xa9, 0xe3, 0xf9, 0x6e, 0xe8, 0x36, 0x05, 0x8b, 0x78,
-	0x66, 0xd0, 0x34, 0x2c, 0x77, 0x36, 0x69, 0xda, 0x56, 0xf3, 0xe2, 0xf9, 0x98, 0x86, 0xe4, 0x79,
-	0xf3, 0xdc, 0x1d, 0xeb, 0x01, 0xf5, 0x2f, 0x4c, 0x83, 0x36, 0x38, 0x1a, 0x7d, 0x1a, 0x69, 0xe2,
-	0xd0, 0x86, 0x6d, 0x35, 0x22, 0x68, 0xad, 0x73, 0x37, 0x13, 0xc4, 0x33, 0x9b, 0x91, 0x46, 0xc3,
-	0x75, 0xce, 0xcc, 0x69, 0x93, 0x38, 0x8e, 0x1b, 0x92, 0xd0, 0x74, 0x9d, 0x40, 0xd8, 0xa8, 0xbd,
-	0x98, 0x9a, 0xe1, 0xbb, 0xd9, 0xb8, 0x61, 0xb8, 0x76, 0x53, 0xa8, 0x6b, 0x72, 0xc6, 0x78, 0x76,
-	0xd6, 0xf4, 0xc2, 0xb9, 0x47, 0x83, 0x26, 0xb5, 0xbd, 0x70, 0x2e, 0xfe, 0x46, 0x42, 0x5f, 0xdf,
-	0x2e, 0x14, 0x9a, 0x36, 0x0d, 0x42, 0x62, 0x7b, 0x8b, 0x2f, 0x21, 0x2c, 0xff, 0x2b, 0x0b, 0xdb,
-	0x9a, 0x4f, 0x4c, 0xc7, 0x74, 0xa6, 0x1d, 0xc7, 0x9b, 0x85, 0xa8, 0x0f, 0x10, 0x18, 0xc4, 0xa2,
-	0x7a, 0x68, 0x52, 0xbf, 0x9a, 0xda, 0x4d, 0xd5, 0xcb, 0xfb, 0x5f, 0x36, 0xae, 0x09, 0xbe, 0xb1,
-	0x22, 0xdb, 0x18, 0x32, 0x41, 0xcd, 0xa4, 0x3e, 0x2e, 0x06, 0xf1, 0x27, 0x7a, 0x08, 0x25, 0x9b,
-	0x04, 0x21, 0xf5, 0x75, 0xe6, 0x4c, 0x35, 0xbd, 0x9b, 0xaa, 0x17, 0x31, 0x08, 0x92, 0x36, 0xf7,
-	0x28, 0x03, 0xfc, 0xca, 0xf5, 0xdf, 0xc7, 0x80, 0x8c, 0x00, 0x08, 0x12, 0x07, 0xec, 0xc3, 0x03,
-	0x8f, 0xf8, 0xc4, 0xa6, 0x4c, 0x09, 0xcb, 0x61, 0x0c, 0xcd, 0x72, 0xe8, 0x27, 0x09, 0x73, 0xc8,
-	0x79, 0x5c, 0xe6, 0x11, 0x6c, 0x45, 0x4a, 0x0d, 0x77, 0xe6, 0x84, 0xd5, 0xdc, 0x6e, 0xaa, 0x9e,
-	0xc1, 0x91, 0xa1, 0x16, 0x23, 0xa1, 0x97, 0xb0, 0x73, 0x45, 0xad, 0x00, 0xe7, 0x39, 0xf8, 0xfe,
-	0x9a, 0x5e, 0x21, 0xf5, 0x08, 0xb6, 0x3c, 0x62, 0xbc, 0x27, 0x53, 0xaa, 0xcf, 0x7c, 0x33, 0xa8,
-	0x6e, 0xee, 0x66, 0xea, 0x45, 0x5c, 0x8a, 0x68, 0x23, 0xdf, 0x0c, 0xd0, 0x1e, 0x6c, 0x7b, 0xf3,
-	0xf0, 0x9d, 0xeb, 0xe8, 0xb6, 0x3b, 0x99, 0x59, 0xb4, 0x5a, 0xe0, 0x7e, 0x6e, 0x09, 0x62, 0x97,
-	0xd3, 0x10, 0x82, 0x2c, 0xf1, 0xa7, 0x41, 0x15, 0xb8, 0x3c, 0xff, 0x46, 0x23, 0xa8, 0xbc, 0x9b,
-	0x7b, 0xd4, 0x4f, 0x0c, 0x07, 0xd5, 0xad, 0xdd, 0x54, 0xbd, 0xb4, 0xff, 0x83, 0x6b, 0x0b, 0x70,
-	0xbc, 0x82, 0x1f, 0x7a, 0xd4, 0xc0, 0xeb, 0x3a, 0xd0, 0x0e, 0xe4, 0x7d, 0x3a, 0x35, 0x5d, 0xa7,
-	0x5a, 0xe6, 0x8e, 0x44, 0x27, 0x59, 0x81, 0x62, 0x52, 0x31, 0x54, 0x84, 0xdc, 0x81, 0x32, 0xec,
-	0xb4, 0xa4, 0x0d, 0x54, 0x06, 0x18, 0x6a, 0x4a, 0xaf, 0xad, 0xe0, 0xb6, 0xfe, 0x5c, 0x4a, 0xa1,
-	0x6d, 0x28, 0x0e, 0xb0, 0xda, 0xed, 0x8c, 0xba, 0xfa, 0x73, 0x29, 0x83, 0x00, 0xf2, 0xad, 0xd1,
-	0x50, 0xeb, 0x77, 0xa5, 0x9c, 0xfc, 0xcf, 0x34, 0xa0, 0xab, 0x2e, 0xa0, 0x63, 0xc8, 0x4e, 0x5d,
-	0x62, 0x45, 0xed, 0xf3, 0xf2, 0x5b, 0x78, 0xdf, 0x38, 0x72, 0x89, 0xc5, 0x2a, 0x88, 0xb9, 0x06,
-	0xf4, 0x13, 0xc8, 0x73, 0x7e, 0x50, 0x4d, 0xef, 0x66, 0xea, 0xa5, 0xfd, 0xc7, 0xd7, 0xea, 0x1a,
-	0xac, 0x24, 0x21, 0x92, 0x42, 0xdf, 0x05, 0xb0, 0xc9, 0xa5, 0x1e, 0xfa, 0x26, 0xb1, 0x02, 0xde,
-	0x5b, 0x39, 0x5c, 0xb4, 0xc9, 0xa5, 0xc6, 0x09, 0xa8, 0x01, 0x9f, 0x30, 0x36, 0x03, 0x5b, 0x16,
-	0xb5, 0x62, 0x5c, 0x96, 0xe3, 0xee, 0xd9, 0xe4, 0x72, 0x10, 0x71, 0x04, 0x5e, 0x56, 0xa0, 0x10,
-	0x3b, 0x88, 0x3e, 0x83, 0x07, 0x47, 0x7d, 0xe5, 0x54, 0xd7, 0x7e, 0x3e, 0x50, 0xf5, 0x51, 0x6f,
-	0x38, 0x50, 0x5b, 0x9d, 0xc3, 0x8e, 0xda, 0x96, 0x36, 0xd0, 0x16, 0x14, 0xba, 0xca, 0x9b, 0x4e,
-	0xb7, 0xf3, 0x56, 0x95, 0x52, 0xfc, 0xd4, 0xe9, 0x89, 0x53, 0x5a, 0xfe, 0x47, 0x16, 0xb6, 0x57,
-	0x7c, 0x45, 0xdf, 0x87, 0xf2, 0xa2, 0x11, 0x1d, 0x62, 0x53, 0x9e, 0xb7, 0x22, 0xde, 0x4e, 0xa8,
-	0x3d, 0x62, 0x53, 0x96, 0xd4, 0xa4, 0xeb, 0x6f, 0x4a, 0xea, 0x8a, 0xf2, 0xc5, 0x49, 0x24, 0x95,
-	0x69, 0x40, 0x9f, 0x43, 0xd1, 0x36, 0x1d, 0xfd, 0x82, 0x58, 0x33, 0x71, 0x21, 0x53, 0xb8, 0x60,
-	0x9b, 0xce, 0x6b, 0x76, 0xe6, 0x4c, 0x72, 0x19, 0x31, 0x33, 0x11, 0x93, 0x5c, 0x0a, 0xe6, 0x33,
-	0x40, 0x06, 0x09, 0xe9, 0xd4, 0xf5, 0x4d, 0x83, 0x58, 0x02, 0x14, 0x54, 0x73, 0xbc, 0x87, 0xef,
-	0x2d, 0x71, 0x38, 0x3a, 0x40, 0x5f, 0x40, 0x65, 0x62, 0x06, 0x86, 0x4f, 0x43, 0x1a, 0x63, 0xf3,
-	0xbb, 0x99, 0x7a, 0x0a, 0x97, 0x63, 0x72, 0x04, 0x5c, 0x4c, 0x1d, 0x16, 0xe1, 0xe6, 0x2d, 0x53,
-	0x67, 0x35, 0x42, 0xd1, 0xc3, 0x2c, 0xba, 0x68, 0xea, 0xcc, 0x3d, 0x2a, 0x4f, 0x97, 0x92, 0xcc,
-	0xab, 0xf5, 0x3d, 0xa8, 0x0d, 0x14, 0xac, 0x74, 0x55, 0x4d, 0xc5, 0x1f, 0x2b, 0x19, 0x40, 0xbe,
-	0xdd, 0x1f, 0x1d, 0x9c, 0xb2, 0x82, 0x95, 0x60, 0xb3, 0xd3, 0xd3, 0xd4, 0x23, 0x15, 0x4b, 0x69,
-	0x54, 0x81, 0x52, 0x4b, 0xd1, 0xd4, 0xa3, 0x3e, 0xee, 0xb4, 0x94, 0x53, 0x29, 0xc3, 0xca, 0xd9,
-	0xee, 0x0c, 0x5b, 0x58, 0xd5, 0x54, 0x29, 0x2b, 0xff, 0x22, 0xbe, 0x44, 0xcc, 0x48, 0x01, 0xb2,
-	0xbd, 0x7e, 0x4f, 0x95, 0x36, 0xd0, 0x03, 0xb8, 0x37, 0xea, 0x75, 0x34, 0xfd, 0xb4, 0xd3, 0x53,
-	0x15, 0xac, 0x0f, 0x5b, 0x0a, 0xd7, 0x8c, 0xa0, 0x2c, 0xc8, 0xfd, 0xa3, 0x88, 0x96, 0x46, 0x35,
-	0xd8, 0xe1, 0x34, 0xac, 0xbe, 0x56, 0xf1, 0x50, 0x5d, 0xe2, 0x65, 0xe4, 0xbf, 0x64, 0xe1, 0xfe,
-	0xea, 0x25, 0xe9, 0xcf, 0x42, 0x36, 0xa6, 0x3f, 0x83, 0x02, 0xef, 0x55, 0xdd, 0x9c, 0x44, 0xdd,
-	0xb2, 0xc9, 0xcf, 0x9d, 0x09, 0xb2, 0xae, 0x4e, 0x11, 0x71, 0x77, 0x0e, 0xee, 0x78, 0x0f, 0x85,
-	0x89, 0x35, 0x62, 0xa0, 0x3a, 0xa1, 0x3f, 0xbf, 0x3a, 0x5c, 0x28, 0x6c, 0x9d, 0x99, 0x0e, 0xb1,
-	0x74, 0x9b, 0x86, 0xbe, 0x69, 0xf0, 0x8e, 0xf9, 0x1f, 0x4d, 0x75, 0xb9, 0x26, 0x5c, 0xe2, 0x7a,
-	0xc5, 0x01, 0x19, 0x50, 0x22, 0x56, 0x6c, 0x84, 0x5d, 0xd0, 0xcc, 0xff, 0xc9, 0x0a, 0x10, 0x2b,
-	0xb2, 0x11, 0xd4, 0x26, 0xeb, 0xc9, 0x8e, 0x8c, 0xef, 0xc1, 0x76, 0x18, 0x3d, 0x74, 0x7a, 0x10,
-	0x52, 0x8f, 0x67, 0x3c, 0x83, 0xb7, 0x62, 0xe2, 0x30, 0xa4, 0x1e, 0xeb, 0x75, 0x77, 0x7c, 0x4e,
-	0x8d, 0xd0, 0xbc, 0xa0, 0x2b, 0x57, 0xab, 0x9c, 0x90, 0x79, 0xb3, 0xd7, 0x0e, 0xd6, 0xad, 0x88,
-	0xd4, 0x22, 0x09, 0x32, 0xef, 0xe9, 0x3c, 0xaa, 0x26, 0xfb, 0x44, 0xf7, 0x21, 0xb7, 0x50, 0x54,
-	0xc4, 0xe2, 0xf0, 0x2a, 0xfd, 0x55, 0x4a, 0xfe, 0x53, 0x0a, 0xca, 0xf1, 0xdb, 0x1b, 0x75, 0xc4,
-	0x3e, 0x3c, 0x30, 0x5c, 0xdb, 0xb3, 0x68, 0x48, 0x27, 0x62, 0x8e, 0x45, 0xaf, 0x99, 0x70, 0xf6,
-	0x93, 0x84, 0xc9, 0x47, 0x99, 0x78, 0xcc, 0x54, 0xc8, 0x47, 0x13, 0x4f, 0x74, 0xc8, 0xb3, 0x6f,
-	0x95, 0x50, 0x1c, 0x09, 0xcb, 0x7f, 0xcb, 0x40, 0x65, 0xe0, 0xd3, 0x89, 0x69, 0xb0, 0x6d, 0x46,
-	0xec, 0x11, 0x0f, 0x01, 0x6c, 0x77, 0x42, 0xad, 0xa5, 0x81, 0x76, 0xbc, 0x81, 0x8b, 0x9c, 0xc6,
-	0xc7, 0xd9, 0x1e, 0x6c, 0x5d, 0x50, 0x3f, 0x30, 0x5d, 0x47, 0x40, 0xd2, 0x11, 0xa4, 0x14, 0x51,
-	0x39, 0x48, 0x83, 0xd2, 0x84, 0x84, 0x44, 0x3f, 0x73, 0x7d, 0x9b, 0x84, 0xbc, 0xb9, 0xca, 0xfb,
-	0x2f, 0xae, 0x1f, 0x0c, 0xab, 0x4e, 0x34, 0xda, 0x24, 0x24, 0x87, 0x5c, 0x14, 0xc3, 0x24, 0xf9,
-	0x66, 0x1b, 0x87, 0xc9, 0xf8, 0xba, 0x47, 0xc2, 0x77, 0xa2, 0x99, 0x8a, 0x18, 0x38, 0x69, 0xc0,
-	0x28, 0x0c, 0xe0, 0xf2, 0x10, 0x39, 0x82, 0x2f, 0x0f, 0x45, 0x0c, 0x82, 0xc4, 0x10, 0xa8, 0x0e,
-	0x12, 0x1b, 0x92, 0x2b, 0x2b, 0x86, 0xd8, 0x1a, 0xca, 0x36, 0xb9, 0xfc, 0xd9, 0xd2, 0x96, 0xb1,
-	0x78, 0x7c, 0x37, 0x57, 0x1e, 0xdf, 0xd7, 0x00, 0x0b, 0xef, 0xd0, 0xe7, 0xf0, 0x69, 0x5b, 0xd1,
-	0x14, 0xfd, 0xb0, 0x8f, 0xbb, 0x8a, 0xb6, 0x36, 0x9a, 0x0a, 0x90, 0xd5, 0xd4, 0x37, 0x9a, 0x78,
-	0x89, 0xb5, 0x43, 0x1d, 0xab, 0xad, 0x3e, 0x6e, 0x4b, 0x69, 0x36, 0x4d, 0x92, 0xa3, 0x7e, 0xf4,
-	0xb6, 0x33, 0x90, 0x32, 0x07, 0x15, 0xd8, 0x16, 0x79, 0x8f, 0xd2, 0x28, 0xff, 0x06, 0xa4, 0x45,
-	0x5a, 0xa2, 0x5e, 0x59, 0x8b, 0x2f, 0x75, 0x25, 0xbe, 0x27, 0x20, 0x79, 0x89, 0x50, 0x14, 0x5f,
-	0x9a, 0xc7, 0x57, 0x59, 0xd0, 0x45, 0x80, 0x0f, 0xa1, 0x44, 0x7d, 0xdf, 0x8d, 0xb3, 0x90, 0xe1,
-	0x28, 0xe0, 0x24, 0x0e, 0x90, 0xff, 0x9a, 0x87, 0xcc, 0x89, 0x3b, 0x46, 0x0f, 0x20, 0xcf, 0xd6,
-	0xea, 0x64, 0x60, 0xe5, 0xce, 0xdd, 0x71, 0x67, 0x82, 0xfa, 0x50, 0x4e, 0x2e, 0x17, 0x2f, 0x01,
-	0x37, 0x74, 0xd3, 0x4b, 0xbf, 0xb2, 0x74, 0x1e, 0x6f, 0xe0, 0xe4, 0x72, 0x8a, 0xce, 0x1b, 0xad,
-	0xf8, 0x2e, 0x54, 0x8a, 0xa9, 0x54, 0xbf, 0x6b, 0xe3, 0x1c, 0x6f, 0x2c, 0xc7, 0x29, 0xd4, 0x7e,
-	0x0d, 0x25, 0xc3, 0xa7, 0x24, 0x64, 0x9b, 0xb1, 0x2d, 0x5e, 0xe1, 0xd2, 0x7e, 0x2d, 0xd6, 0x18,
-	0xaf, 0xdc, 0x0d, 0x2d, 0xde, 0xb0, 0x31, 0x08, 0x38, 0x23, 0xa0, 0x1f, 0x01, 0x04, 0x21, 0xf1,
-	0x43, 0x21, 0x9b, 0xbb, 0x55, 0xb6, 0xc8, 0xd1, 0x5c, 0xf4, 0x87, 0x50, 0xa0, 0xce, 0x44, 0x08,
-	0xe6, 0x6f, 0x15, 0xdc, 0xa4, 0xce, 0x84, 0x8b, 0x7d, 0x05, 0xb9, 0x20, 0x24, 0x61, 0xfc, 0x98,
-	0xca, 0xd7, 0x86, 0x7e, 0xe2, 0x8e, 0x1b, 0x43, 0x86, 0xc4, 0x42, 0x80, 0x4d, 0x3b, 0x51, 0x50,
-	0x9b, 0x06, 0x01, 0x99, 0x26, 0xeb, 0x2b, 0x27, 0x76, 0x05, 0x0d, 0x61, 0xa8, 0x24, 0x55, 0x13,
-	0x7d, 0x53, 0x2d, 0x72, 0xe7, 0xbe, 0xb8, 0xb5, 0x6c, 0xa2, 0x07, 0x8f, 0x53, 0x38, 0xa9, 0x7b,
-	0xd4, 0x95, 0x6f, 0xe0, 0xde, 0x52, 0xe1, 0x22, 0xad, 0xc0, 0xb5, 0x3e, 0xb9, 0x43, 0xe5, 0x12,
-	0xbd, 0x4b, 0xe5, 0x17, 0x34, 0xf9, 0xb7, 0x29, 0xc8, 0xf1, 0x18, 0xd9, 0xbb, 0x3c, 0xd4, 0x14,
-	0xed, 0x23, 0xaf, 0xff, 0x4f, 0x47, 0xea, 0x48, 0x6d, 0x27, 0xeb, 0xee, 0x40, 0xc1, 0x9d, 0xde,
-	0x91, 0x94, 0x66, 0xcb, 0x00, 0x1e, 0xf5, 0x7a, 0xec, 0x90, 0x61, 0xbc, 0xe1, 0xa8, 0xd5, 0x52,
-	0xd5, 0xb6, 0xda, 0x96, 0xb2, 0x4c, 0xec, 0x50, 0xe9, 0x9c, 0xaa, 0x6d, 0x29, 0xc7, 0xb6, 0xe6,
-	0x96, 0xd2, 0x6b, 0xa9, 0xa7, 0xa7, 0x0c, 0x9a, 0x67, 0xd0, 0xe8, 0xac, 0xb6, 0xa5, 0xcd, 0x83,
-	0x4d, 0xc8, 0xf1, 0x56, 0x3c, 0x28, 0x40, 0x5e, 0x84, 0x26, 0xbf, 0x05, 0xa9, 0xc5, 0x5b, 0xe4,
-	0xc4, 0x1d, 0x63, 0xfa, 0xcb, 0x19, 0x0d, 0xf8, 0xb8, 0xf0, 0x88, 0x4f, 0xa3, 0xb1, 0x5d, 0xc4,
-	0xd1, 0x09, 0x35, 0x20, 0x73, 0xee, 0x8e, 0xa3, 0xab, 0xf1, 0x9d, 0x9b, 0x8a, 0x89, 0x19, 0x50,
-	0xfe, 0x00, 0x95, 0x53, 0x33, 0x08, 0x4f, 0xdc, 0x71, 0x70, 0x9b, 0xea, 0x1d, 0xc8, 0x9f, 0x99,
-	0x56, 0x48, 0xfd, 0xe8, 0x99, 0x89, 0x4e, 0x6c, 0x75, 0xf6, 0xd8, 0xcf, 0x9c, 0xd0, 0x7d, 0x4f,
-	0x9d, 0xe8, 0xb7, 0x56, 0x91, 0x51, 0x34, 0x46, 0x60, 0x7b, 0x22, 0x67, 0x07, 0xe6, 0x37, 0xa2,
-	0xa3, 0x73, 0xb8, 0xc0, 0x08, 0x43, 0xf3, 0x1b, 0x2a, 0x5b, 0x20, 0x2d, 0xcc, 0x07, 0x9e, 0xeb,
-	0x04, 0x14, 0x7d, 0x09, 0xd9, 0x73, 0x77, 0x1c, 0x54, 0x53, 0xfc, 0xa9, 0xb9, 0x39, 0x06, 0x8e,
-	0x44, 0x8f, 0xa1, 0xe2, 0xd0, 0x4b, 0x36, 0xa4, 0x12, 0x37, 0x84, 0x8b, 0xdb, 0x8c, 0x3c, 0x88,
-	0x5d, 0x91, 0xf7, 0x60, 0xfb, 0x88, 0x86, 0x4b, 0x59, 0x44, 0x90, 0x5d, 0xda, 0xa3, 0xf9, 0xb7,
-	0xfc, 0x18, 0xa4, 0x16, 0x71, 0x0c, 0x6a, 0xdd, 0x8c, 0xdb, 0xff, 0x7b, 0x16, 0xe0, 0xc4, 0x1d,
-	0x0f, 0xc5, 0x6f, 0x75, 0xf4, 0x87, 0x14, 0x14, 0x93, 0x2a, 0xa1, 0xeb, 0xfb, 0x70, 0xbd, 0x92,
-	0xb5, 0x1b, 0x03, 0x94, 0x1b, 0xbf, 0xfb, 0xf7, 0x7f, 0xfe, 0x9c, 0xae, 0xcb, 0x8f, 0x92, 0x7f,
-	0x39, 0xfc, 0x5a, 0x94, 0xe3, 0xc7, 0x9e, 0xef, 0xb2, 0x75, 0x21, 0x68, 0x3e, 0xfd, 0xd0, 0x64,
-	0x59, 0x78, 0xc5, 0xea, 0x89, 0xfe, 0x98, 0x82, 0x42, 0x9c, 0x51, 0x74, 0xfd, 0x1c, 0x5b, 0xab,
-	0x79, 0xed, 0xc9, 0x1d, 0x90, 0xa2, 0x3c, 0xf2, 0x13, 0xee, 0xd1, 0x1e, 0xba, 0xdd, 0x23, 0x34,
-	0x87, 0xbc, 0xc8, 0x37, 0xba, 0x7e, 0x48, 0xaf, 0x14, 0xe4, 0x96, 0x64, 0x7c, 0xc4, 0x34, 0x2b,
-	0xc5, 0x92, 0x61, 0x6e, 0xb7, 0xf9, 0xf4, 0x03, 0xfa, 0x3d, 0x2b, 0x47, 0x5c, 0xc6, 0x9b, 0xca,
-	0xb1, 0x56, 0xea, 0xda, 0xce, 0x95, 0xa1, 0xa9, 0xda, 0x5e, 0x38, 0x97, 0x5f, 0x70, 0xdb, 0xcf,
-	0xe4, 0xfa, 0xad, 0xb6, 0x5f, 0x19, 0x5c, 0xe7, 0xab, 0xd4, 0xd3, 0x83, 0x97, 0xf0, 0xd0, 0x70,
-	0xed, 0x2b, 0xc6, 0x89, 0x67, 0xc6, 0x0e, 0x1c, 0x54, 0x16, 0x3d, 0x34, 0x60, 0x16, 0x07, 0xa9,
-	0x71, 0x9e, 0x9b, 0x7e, 0xf1, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe8, 0x1d, 0x5c, 0x2a, 0x95,
-	0x12, 0x00, 0x00,
+	0xf0, 0x17, 0xf8, 0x21, 0x54, 0x5f, 0x66, 0x74, 0x71, 0x6c, 0x67, 0x0b, 0xde, 0xa6, 0xcf, 0xf9,
+	0xce, 0xfd, 0xf4, 0xe9, 0x23, 0xc1, 0xee, 0xcc, 0xf3, 0x66, 0x36, 0x6d, 0x4e, 0x6c, 0xef, 0x6c,
+	0xda, 0x74, 0xec, 0xe6, 0xf9, 0xb3, 0x31, 0x8d, 0xc8, 0xb3, 0xe6, 0xa9, 0x37, 0x36, 0x43, 0x1a,
+	0x9c, 0x5b, 0x13, 0xda, 0xf0, 0x03, 0x2f, 0xf2, 0xd0, 0x27, 0x02, 0xda, 0xe0, 0xd0, 0x86, 0x63,
+	0x37, 0x24, 0xb4, 0xf6, 0x99, 0xd4, 0x41, 0x7c, 0xab, 0x49, 0x5c, 0xd7, 0x8b, 0x48, 0x64, 0x79,
+	0x6e, 0x28, 0xc4, 0x6a, 0xf7, 0x25, 0x97, 0x9f, 0xc6, 0x67, 0x6f, 0x9a, 0xd4, 0xf1, 0xa3, 0xb9,
+	0x64, 0x3e, 0x58, 0x67, 0x46, 0x96, 0x43, 0xc3, 0x88, 0x38, 0xbe, 0x00, 0xa8, 0xff, 0xca, 0xc2,
+	0xb6, 0x11, 0x10, 0xcb, 0xb5, 0xdc, 0x59, 0xc7, 0xf5, 0xcf, 0x22, 0xd4, 0x07, 0x08, 0x27, 0xc4,
+	0xa6, 0x66, 0x64, 0xd1, 0xa0, 0x9a, 0xda, 0x49, 0xd5, 0xcb, 0x7b, 0x5f, 0x34, 0xae, 0xf0, 0xad,
+	0xb1, 0x22, 0xdb, 0x18, 0x32, 0x41, 0xc3, 0xa2, 0x01, 0x2e, 0x86, 0xf1, 0x27, 0x7a, 0x00, 0x25,
+	0x87, 0x84, 0x11, 0x0d, 0xcc, 0x68, 0xee, 0xd3, 0x6a, 0x7a, 0x27, 0x55, 0x2f, 0x62, 0x10, 0x24,
+	0x63, 0xee, 0x53, 0x06, 0xf8, 0x95, 0x17, 0xbc, 0x8b, 0x01, 0x19, 0x01, 0x10, 0x24, 0x0e, 0xd8,
+	0x83, 0xbb, 0x3e, 0x09, 0x88, 0x43, 0x99, 0x12, 0x96, 0xb4, 0x18, 0x9a, 0xe5, 0xd0, 0xdb, 0x09,
+	0x73, 0xc8, 0x79, 0x5c, 0xe6, 0x21, 0x6c, 0x49, 0xa5, 0x13, 0xef, 0xcc, 0x8d, 0xaa, 0xb9, 0x9d,
+	0x54, 0x3d, 0x83, 0xa5, 0xa1, 0x16, 0x23, 0xa1, 0x2f, 0xe1, 0xde, 0x25, 0xb5, 0x02, 0x9c, 0xe7,
+	0xe0, 0x3b, 0x6b, 0x7a, 0x85, 0xd4, 0x43, 0xd8, 0xf2, 0xc9, 0xe4, 0x1d, 0x99, 0x51, 0xf3, 0x2c,
+	0xb0, 0xc2, 0xea, 0xe6, 0x4e, 0xa6, 0x5e, 0xc4, 0x25, 0x49, 0x1b, 0x05, 0x56, 0x88, 0x1e, 0xc1,
+	0xb6, 0x3f, 0x8f, 0xde, 0x7a, 0xae, 0xe9, 0x78, 0xd3, 0x33, 0x9b, 0x56, 0x0b, 0xdc, 0xcf, 0x2d,
+	0x41, 0xec, 0x72, 0x1a, 0x42, 0x90, 0x25, 0xc1, 0x2c, 0xac, 0x02, 0x97, 0xe7, 0xdf, 0x68, 0x04,
+	0x95, 0xb7, 0x73, 0x9f, 0x06, 0x89, 0xe1, 0xb0, 0xba, 0xb5, 0x93, 0xaa, 0x97, 0xf6, 0x7e, 0x78,
+	0x65, 0x01, 0x8e, 0x56, 0xf0, 0x43, 0x9f, 0x4e, 0xf0, 0xba, 0x0e, 0x74, 0x0f, 0xf2, 0x01, 0x9d,
+	0x59, 0x9e, 0x5b, 0x2d, 0x73, 0x47, 0xe4, 0x49, 0xd5, 0xa0, 0x98, 0x54, 0x0c, 0x15, 0x21, 0xb7,
+	0xaf, 0x0d, 0x3b, 0x2d, 0x65, 0x03, 0x95, 0x01, 0x86, 0x86, 0xd6, 0x6b, 0x6b, 0xb8, 0x6d, 0x3e,
+	0x53, 0x52, 0x68, 0x1b, 0x8a, 0x03, 0xac, 0x77, 0x3b, 0xa3, 0xae, 0xf9, 0x4c, 0xc9, 0x20, 0x80,
+	0x7c, 0x6b, 0x34, 0x34, 0xfa, 0x5d, 0x25, 0xa7, 0xfe, 0x33, 0x0d, 0xe8, 0xb2, 0x0b, 0xe8, 0x08,
+	0xb2, 0x33, 0x8f, 0xd8, 0xb2, 0x7d, 0xbe, 0xfc, 0x0e, 0xde, 0x37, 0x0e, 0x3d, 0x62, 0xb3, 0x0a,
+	0x62, 0xae, 0x01, 0xfd, 0x04, 0xf2, 0x9c, 0x1f, 0x56, 0xd3, 0x3b, 0x99, 0x7a, 0x69, 0xef, 0xf1,
+	0x95, 0xba, 0x06, 0x2b, 0x49, 0x90, 0x52, 0xe8, 0x7b, 0x00, 0x0e, 0xb9, 0x30, 0xa3, 0xc0, 0x22,
+	0x76, 0xc8, 0x7b, 0x2b, 0x87, 0x8b, 0x0e, 0xb9, 0x30, 0x38, 0x01, 0x35, 0xe0, 0x36, 0x63, 0x33,
+	0xb0, 0x6d, 0x53, 0x3b, 0xc6, 0x65, 0x39, 0xee, 0x96, 0x43, 0x2e, 0x06, 0x92, 0x23, 0xf0, 0xaa,
+	0x06, 0x85, 0xd8, 0x41, 0xf4, 0x29, 0xdc, 0x3d, 0xec, 0x6b, 0x27, 0xa6, 0xf1, 0xf3, 0x81, 0x6e,
+	0x8e, 0x7a, 0xc3, 0x81, 0xde, 0xea, 0x1c, 0x74, 0xf4, 0xb6, 0xb2, 0x81, 0xb6, 0xa0, 0xd0, 0xd5,
+	0x5e, 0x75, 0xba, 0x9d, 0xd7, 0xba, 0x92, 0xe2, 0xa7, 0x4e, 0x4f, 0x9c, 0xd2, 0xea, 0x3f, 0xb2,
+	0xb0, 0xbd, 0xe2, 0x2b, 0xfa, 0x01, 0x94, 0x17, 0x8d, 0xe8, 0x12, 0x87, 0xf2, 0xbc, 0x15, 0xf1,
+	0x76, 0x42, 0xed, 0x11, 0x87, 0xb2, 0xa4, 0x26, 0x5d, 0x7f, 0x5d, 0x52, 0x57, 0x94, 0x2f, 0x4e,
+	0x22, 0xa9, 0x4c, 0x03, 0xba, 0x0f, 0x45, 0xc7, 0x72, 0xcd, 0x73, 0x62, 0x9f, 0x89, 0x0b, 0x99,
+	0xc2, 0x05, 0xc7, 0x72, 0x5f, 0xb2, 0x33, 0x67, 0x92, 0x0b, 0xc9, 0xcc, 0x48, 0x26, 0xb9, 0x10,
+	0xcc, 0xa7, 0x80, 0x26, 0x24, 0xa2, 0x33, 0x2f, 0xb0, 0x26, 0xc4, 0x16, 0xa0, 0xb0, 0x9a, 0xe3,
+	0x3d, 0x7c, 0x6b, 0x89, 0xc3, 0xd1, 0x21, 0xfa, 0x1c, 0x2a, 0x53, 0x2b, 0x9c, 0x04, 0x34, 0xa2,
+	0x31, 0x36, 0xbf, 0x93, 0xa9, 0xa7, 0x70, 0x39, 0x26, 0x4b, 0xe0, 0x62, 0xea, 0xb0, 0x08, 0x37,
+	0x6f, 0x98, 0x3a, 0xab, 0x11, 0x8a, 0x1e, 0x66, 0xd1, 0xc9, 0xa9, 0x33, 0xf7, 0xa9, 0x3a, 0x5b,
+	0x4a, 0x32, 0xaf, 0xd6, 0xf7, 0xa1, 0x36, 0xd0, 0xb0, 0xd6, 0xd5, 0x0d, 0x1d, 0x7f, 0xa8, 0x64,
+	0x00, 0xf9, 0x76, 0x7f, 0xb4, 0x7f, 0xc2, 0x0a, 0x56, 0x82, 0xcd, 0x4e, 0xcf, 0xd0, 0x0f, 0x75,
+	0xac, 0xa4, 0x51, 0x05, 0x4a, 0x2d, 0xcd, 0xd0, 0x0f, 0xfb, 0xb8, 0xd3, 0xd2, 0x4e, 0x94, 0x0c,
+	0x2b, 0x67, 0xbb, 0x33, 0x6c, 0x61, 0xdd, 0xd0, 0x95, 0xac, 0xfa, 0x8b, 0xf8, 0x12, 0x31, 0x23,
+	0x05, 0xc8, 0xf6, 0xfa, 0x3d, 0x5d, 0xd9, 0x40, 0x77, 0xe1, 0xd6, 0xa8, 0xd7, 0x31, 0xcc, 0x93,
+	0x4e, 0x4f, 0xd7, 0xb0, 0x39, 0x6c, 0x69, 0x5c, 0x33, 0x82, 0xb2, 0x20, 0xf7, 0x0f, 0x25, 0x2d,
+	0x8d, 0x6a, 0x70, 0x8f, 0xd3, 0xb0, 0xfe, 0x52, 0xc7, 0x43, 0x7d, 0x89, 0x97, 0x51, 0xff, 0x92,
+	0x85, 0x3b, 0xab, 0x97, 0xa4, 0x7f, 0x16, 0xb1, 0x31, 0xfd, 0x29, 0x14, 0x78, 0xaf, 0x9a, 0xd6,
+	0x54, 0x76, 0xcb, 0x26, 0x3f, 0x77, 0xa6, 0xc8, 0xbe, 0x3c, 0x45, 0xc4, 0xdd, 0xd9, 0xff, 0xc8,
+	0x7b, 0x28, 0x4c, 0xac, 0x11, 0x43, 0xdd, 0x8d, 0x82, 0xf9, 0xe5, 0xe1, 0x42, 0x61, 0xeb, 0x8d,
+	0xe5, 0x12, 0xdb, 0x74, 0x68, 0x14, 0x58, 0x13, 0xde, 0x31, 0xff, 0xa3, 0xa9, 0x2e, 0xd7, 0x84,
+	0x4b, 0x5c, 0xaf, 0x38, 0xa0, 0x09, 0x94, 0x88, 0x1d, 0x1b, 0x61, 0x17, 0x34, 0xf3, 0x7f, 0xb2,
+	0x02, 0xc4, 0x96, 0x36, 0xc2, 0xda, 0x74, 0x3d, 0xd9, 0xd2, 0xf8, 0x23, 0xd8, 0x8e, 0xe4, 0x43,
+	0x67, 0x86, 0x11, 0xf5, 0x79, 0xc6, 0x33, 0x78, 0x2b, 0x26, 0x0e, 0x23, 0xea, 0xb3, 0x5e, 0xf7,
+	0xc6, 0xa7, 0x74, 0x12, 0x59, 0xe7, 0x74, 0xe5, 0x6a, 0x95, 0x13, 0x32, 0x6f, 0xf6, 0xda, 0xfe,
+	0xba, 0x15, 0x91, 0x5a, 0xa4, 0x40, 0xe6, 0x1d, 0x9d, 0xcb, 0x6a, 0xb2, 0x4f, 0x74, 0x07, 0x72,
+	0x0b, 0x45, 0x45, 0x2c, 0x0e, 0x2f, 0xd2, 0x5f, 0xa5, 0xd4, 0x3f, 0xa5, 0xa0, 0x1c, 0xbf, 0xbd,
+	0xb2, 0x23, 0xf6, 0xe0, 0xee, 0xc4, 0x73, 0x7c, 0x9b, 0x46, 0x74, 0x2a, 0xe6, 0x98, 0x7c, 0xcd,
+	0x84, 0xb3, 0xb7, 0x13, 0x26, 0x1f, 0x65, 0xe2, 0x31, 0xd3, 0x21, 0x2f, 0x27, 0x9e, 0xe8, 0x90,
+	0xa7, 0xdf, 0x29, 0xa1, 0x58, 0x0a, 0xab, 0x7f, 0xcb, 0x40, 0x65, 0x10, 0xd0, 0xa9, 0x35, 0x61,
+	0x9b, 0x89, 0xd8, 0x23, 0x1e, 0x00, 0x38, 0xde, 0x94, 0xda, 0x4b, 0x03, 0xed, 0x68, 0x03, 0x17,
+	0x39, 0x8d, 0x8f, 0xb3, 0x47, 0xb0, 0x75, 0x4e, 0x83, 0xd0, 0xf2, 0x5c, 0x01, 0x49, 0x4b, 0x48,
+	0x49, 0x52, 0x39, 0xc8, 0x80, 0xd2, 0x94, 0x44, 0xc4, 0x7c, 0xe3, 0x05, 0x0e, 0x89, 0x78, 0x73,
+	0x95, 0xf7, 0x9e, 0x5f, 0x3d, 0x18, 0x56, 0x9d, 0x68, 0xb4, 0x49, 0x44, 0x0e, 0xb8, 0x28, 0x86,
+	0x69, 0xf2, 0xcd, 0x36, 0x0e, 0x8b, 0xf1, 0x4d, 0x9f, 0x44, 0x6f, 0x45, 0x33, 0x15, 0x31, 0x70,
+	0xd2, 0x80, 0x51, 0x18, 0xc0, 0xe3, 0x21, 0x72, 0x04, 0x5f, 0x1e, 0x8a, 0x18, 0x04, 0x89, 0x21,
+	0x50, 0x1d, 0x14, 0x36, 0x24, 0x57, 0x56, 0x0c, 0xb1, 0x35, 0x94, 0x1d, 0x72, 0xf1, 0xb3, 0xa5,
+	0x2d, 0x63, 0xf1, 0xf8, 0x6e, 0xae, 0x3c, 0xbe, 0x2f, 0x01, 0x16, 0xde, 0xa1, 0xfb, 0xf0, 0x49,
+	0x5b, 0x33, 0x34, 0xf3, 0xa0, 0x8f, 0xbb, 0x9a, 0xb1, 0x36, 0x9a, 0x0a, 0x90, 0x35, 0xf4, 0x57,
+	0x86, 0x78, 0x89, 0x8d, 0x03, 0x13, 0xeb, 0xad, 0x3e, 0x6e, 0x2b, 0x69, 0x36, 0x4d, 0x92, 0xa3,
+	0x79, 0xf8, 0xba, 0x33, 0x50, 0x32, 0xfb, 0x15, 0xd8, 0x16, 0x79, 0x97, 0x69, 0x54, 0x7f, 0x03,
+	0xca, 0x22, 0x2d, 0xb2, 0x57, 0xd6, 0xe2, 0x4b, 0x5d, 0x8a, 0x6f, 0x17, 0x14, 0x3f, 0x11, 0x92,
+	0xf1, 0xa5, 0x79, 0x7c, 0x95, 0x05, 0x5d, 0x04, 0xf8, 0x00, 0x4a, 0x34, 0x08, 0xbc, 0x38, 0x0b,
+	0x19, 0x8e, 0x02, 0x4e, 0xe2, 0x00, 0xf5, 0xaf, 0x79, 0xc8, 0x1c, 0x7b, 0x63, 0x74, 0x17, 0xf2,
+	0x6c, 0xeb, 0x4d, 0x06, 0x56, 0xee, 0xd4, 0x1b, 0x77, 0xa6, 0xa8, 0x0f, 0xe5, 0xe4, 0x72, 0xf1,
+	0x12, 0x70, 0x43, 0xd7, 0xbd, 0xf4, 0x2b, 0x4b, 0xe7, 0xd1, 0x06, 0x4e, 0x2e, 0xa7, 0xe8, 0xbc,
+	0xd1, 0x8a, 0xef, 0x42, 0xa5, 0x98, 0x4a, 0xf5, 0x8f, 0x6d, 0x9c, 0xa3, 0x8d, 0xe5, 0x38, 0x85,
+	0xda, 0x6f, 0xa0, 0x34, 0x09, 0x28, 0x89, 0xd8, 0x66, 0xec, 0x88, 0x57, 0xb8, 0xb4, 0x57, 0x8b,
+	0x35, 0xc6, 0x1b, 0x76, 0xc3, 0x88, 0x37, 0x6c, 0x0c, 0x02, 0xce, 0x08, 0xe8, 0x6b, 0x80, 0x30,
+	0x22, 0x41, 0x24, 0x64, 0x73, 0x37, 0xca, 0x16, 0x39, 0x9a, 0x8b, 0xfe, 0x08, 0x0a, 0xd4, 0x9d,
+	0x0a, 0xc1, 0xfc, 0x8d, 0x82, 0x9b, 0xd4, 0x9d, 0x72, 0xb1, 0xaf, 0x20, 0x17, 0x46, 0x24, 0x8a,
+	0x1f, 0x53, 0xf5, 0xca, 0xd0, 0x8f, 0xbd, 0x71, 0x63, 0xc8, 0x90, 0x58, 0x08, 0xb0, 0x69, 0x27,
+	0x0a, 0xea, 0xd0, 0x30, 0x24, 0xb3, 0x64, 0x7d, 0xe5, 0xc4, 0xae, 0xa0, 0x21, 0x0c, 0x95, 0xa4,
+	0x6a, 0xa2, 0x6f, 0xaa, 0x45, 0xee, 0xdc, 0xe7, 0x37, 0x96, 0x4d, 0xf4, 0xe0, 0x51, 0x0a, 0x27,
+	0x75, 0x97, 0x5d, 0xf9, 0x0a, 0x6e, 0x2d, 0x15, 0x4e, 0x6a, 0x05, 0xae, 0x75, 0xf7, 0x23, 0x2a,
+	0x97, 0xe8, 0x5d, 0x2a, 0xbf, 0xa0, 0xa9, 0xbf, 0x4d, 0x41, 0x8e, 0xc7, 0xc8, 0xde, 0xe5, 0xa1,
+	0xa1, 0x19, 0x1f, 0x78, 0xfd, 0x7f, 0x3a, 0xd2, 0x47, 0x7a, 0x3b, 0x59, 0x77, 0x07, 0x1a, 0xee,
+	0xf4, 0x0e, 0x95, 0x34, 0x5b, 0x06, 0xf0, 0xa8, 0xd7, 0x63, 0x87, 0x0c, 0xe3, 0x0d, 0x47, 0xad,
+	0x96, 0xae, 0xb7, 0xf5, 0xb6, 0x92, 0x65, 0x62, 0x07, 0x5a, 0xe7, 0x44, 0x6f, 0x2b, 0x39, 0xb6,
+	0x35, 0xb7, 0xb4, 0x5e, 0x4b, 0x3f, 0x39, 0x61, 0xd0, 0x3c, 0x83, 0xca, 0xb3, 0xde, 0x56, 0x36,
+	0xf7, 0x37, 0x21, 0xc7, 0x5b, 0x71, 0xbf, 0x00, 0x79, 0x11, 0x9a, 0xfa, 0x1a, 0x94, 0x16, 0x6f,
+	0x91, 0x63, 0x6f, 0x8c, 0xe9, 0x2f, 0xcf, 0x68, 0xc8, 0xc7, 0x85, 0x4f, 0x02, 0x2a, 0xc7, 0x76,
+	0x11, 0xcb, 0x13, 0x6a, 0x40, 0xe6, 0xd4, 0x1b, 0xcb, 0xab, 0xf1, 0xd9, 0x75, 0xc5, 0xc4, 0x0c,
+	0xa8, 0xbe, 0x87, 0xca, 0x89, 0x15, 0x46, 0xc7, 0xde, 0x38, 0xbc, 0x49, 0xf5, 0x3d, 0xc8, 0xbf,
+	0xb1, 0xec, 0x88, 0x06, 0xf2, 0x99, 0x91, 0x27, 0xb6, 0x3a, 0xfb, 0xec, 0x67, 0x4e, 0xe4, 0xbd,
+	0xa3, 0xae, 0xfc, 0xad, 0x55, 0x64, 0x14, 0x83, 0x11, 0xd8, 0x9e, 0xc8, 0xd9, 0xa1, 0xf5, 0xad,
+	0xe8, 0xe8, 0x1c, 0x2e, 0x30, 0xc2, 0xd0, 0xfa, 0x96, 0xaa, 0x36, 0x28, 0x0b, 0xf3, 0xa1, 0xef,
+	0xb9, 0x21, 0x45, 0x5f, 0x40, 0xf6, 0xd4, 0x1b, 0x87, 0xd5, 0x14, 0x7f, 0x6a, 0xae, 0x8f, 0x81,
+	0x23, 0xd1, 0x63, 0xa8, 0xb8, 0xf4, 0x82, 0x0d, 0xa9, 0xc4, 0x0d, 0xe1, 0xe2, 0x36, 0x23, 0x0f,
+	0x62, 0x57, 0xd4, 0x47, 0xb0, 0x7d, 0x48, 0xa3, 0xa5, 0x2c, 0x22, 0xc8, 0x2e, 0xed, 0xd1, 0xfc,
+	0x5b, 0x7d, 0x0c, 0x4a, 0x8b, 0xb8, 0x13, 0x6a, 0x5f, 0x8f, 0xdb, 0xfb, 0x7b, 0x16, 0xe0, 0xd8,
+	0x1b, 0x0f, 0xc5, 0x8f, 0x73, 0xf4, 0x87, 0x14, 0x14, 0x93, 0x2a, 0xa1, 0xab, 0xfb, 0x70, 0xbd,
+	0x92, 0xb5, 0x6b, 0x03, 0x54, 0x1b, 0xbf, 0xfb, 0xf7, 0x7f, 0xfe, 0x9c, 0xae, 0xab, 0x0f, 0x93,
+	0x7f, 0x04, 0x7e, 0x2d, 0xca, 0xf1, 0x63, 0x3f, 0xf0, 0xd8, 0xba, 0x10, 0x36, 0x9f, 0xbc, 0x6f,
+	0xb2, 0x2c, 0xbc, 0x60, 0xf5, 0x44, 0x7f, 0x4c, 0x41, 0x21, 0xce, 0x28, 0xba, 0x7a, 0x8e, 0xad,
+	0xd5, 0xbc, 0xb6, 0xfb, 0x11, 0x48, 0x51, 0x1e, 0x75, 0x97, 0x7b, 0xf4, 0x08, 0xdd, 0xec, 0x11,
+	0x9a, 0x43, 0x5e, 0xe4, 0x1b, 0x5d, 0x3d, 0xa4, 0x57, 0x0a, 0x72, 0x43, 0x32, 0x3e, 0x60, 0x9a,
+	0x95, 0x62, 0xc9, 0x30, 0xb7, 0xdb, 0x7c, 0xf2, 0x1e, 0xfd, 0x9e, 0x95, 0x23, 0x2e, 0xe3, 0x75,
+	0xe5, 0x58, 0x2b, 0x75, 0xed, 0xde, 0xa5, 0xa1, 0xa9, 0x3b, 0x7e, 0x34, 0x57, 0x9f, 0x73, 0xdb,
+	0x4f, 0xd5, 0xfa, 0x8d, 0xb6, 0x5f, 0x4c, 0xb8, 0xce, 0x17, 0xa9, 0x27, 0xfb, 0x1e, 0x3c, 0x98,
+	0x78, 0xce, 0x25, 0xe3, 0xc4, 0xb7, 0x62, 0x07, 0xf6, 0x2b, 0x8b, 0x1e, 0x1a, 0x30, 0x8b, 0x83,
+	0xd4, 0xeb, 0xaf, 0x25, 0x7e, 0xe6, 0xd9, 0xc4, 0x9d, 0x35, 0xbc, 0x60, 0xd6, 0x9c, 0x51, 0x97,
+	0xfb, 0xd3, 0x14, 0x2c, 0xe2, 0x5b, 0xe1, 0xa5, 0xff, 0x8a, 0xbe, 0x71, 0xec, 0x71, 0x9e, 0xa3,
+	0x9e, 0xff, 0x37, 0x00, 0x00, 0xff, 0xff, 0xbd, 0xb0, 0x8b, 0x60, 0x50, 0x12, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/ml/v1beta1/job_service.proto b/googleapis/cloud/ml/v1beta1/job_service.proto
deleted file mode 100644
index 93c5904c38dbe4259a4a66e7862e21667b0a25d6..0000000000000000000000000000000000000000
--- a/googleapis/cloud/ml/v1beta1/job_service.proto
+++ /dev/null
@@ -1,529 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.ml.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "JobServiceProto";
-option java_package = "com.google.cloud.ml.api.v1beta1";
-
-// Copyright 2016 Google Inc. All Rights Reserved.
-//
-// Proto file for the Machine Learning Service
-// Describes the 'job service' to manage training and prediction jobs.
-
-
-
-// Service to create and manage training and batch prediction jobs.
-service JobService {
-  // Creates a training or a batch prediction job.
-  rpc CreateJob(CreateJobRequest) returns (Job) {
-    option (google.api.http) = { post: "/v1beta1/{parent=projects/*}/jobs" body: "job" };
-  }
-
-  // Lists the jobs in the project.
-  rpc ListJobs(ListJobsRequest) returns (ListJobsResponse) {
-    option (google.api.http) = { get: "/v1beta1/{parent=projects/*}/jobs" };
-  }
-
-  // Describes a job.
-  rpc GetJob(GetJobRequest) returns (Job) {
-    option (google.api.http) = { get: "/v1beta1/{name=projects/*/jobs/*}" };
-  }
-
-  // Cancels a running job.
-  rpc CancelJob(CancelJobRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1beta1/{name=projects/*/jobs/*}:cancel" body: "*" };
-  }
-}
-
-// Represents input parameters for a training job.
-message TrainingInput {
-  // A scale tier is an abstract representation of the resources Cloud ML
-  // will allocate to a training job. When selecting a scale tier for your
-  // training job, you should consider the size of your training dataset and
-  // the complexity of your model. As the tiers increase, virtual machines are
-  // added to handle your job, and the individual machines in the cluster
-  // generally have more memory and greater processing power than they do at
-  // lower tiers. The number of training units charged per hour of processing
-  // increases as tiers get more advanced. Refer to the
-  // [pricing guide](/ml/pricing) for more details.
-  enum ScaleTier {
-    // A single worker instance. This tier is suitable for learning how to use
-    // Cloud ML, and for experimenting with new models using small datasets.
-    BASIC = 0;
-
-    // Many workers and a few parameter servers.
-    STANDARD_1 = 1;
-
-    // A large number of workers with many parameter servers.
-    PREMIUM_1 = 3;
-
-    // The CUSTOM tier is not a set tier, but rather enables you to use your
-    // own cluster specification. When you use this tier, you must also set
-    // valid values for `worker_count` and `parameter_server_count`, and you can
-    // specify the type of virtual machines to use for the different types of
-    // workers by setting `master_type`, `worker_type`, and
-    // `parameter_server_type`.
-    CUSTOM = 5;
-  }
-
-  // Required. Specifies the machine types, the number of replicas for workers
-  // and parameter servers.
-  ScaleTier scale_tier = 1;
-
-  // Optional. Specifies the type of virtual machine to use for your training
-  // job's master worker.
-  //
-  // The following types are supported:
-  //
-  // <dl>
-  //   <dt>standard</dt>
-  //   <dd>
-  //   A basic machine configuration suitable for training simple models with
-  //   small to moderate datasets.
-  //   </dd>
-  //   <dt>large_model</dt>
-  //   <dd>
-  //   A machine with a lot of memory, specially suited for parameter servers
-  //   when your model is large (having many hidden layers or layers with very
-  //   large numbers of nodes).
-  //   </dd>
-  //   <dt>complex_model_s</dt>
-  //   <dd>
-  //   A machine suitable for the master and workers of the cluster when your
-  //   model requires more computation than the standard machine can handle
-  //   satisfactorily.
-  //   </dd>
-  //   <dt>complex_model_m</dt>
-  //   <dd>
-  //   A machine with roughly twice the number of cores and roughly double the
-  //   memory of `complex_model_s`.
-  //   </dd>
-  //   <dt>complex_model_l</dt>
-  //   <dd>
-  //   A machine with roughly twice the number of cores and roughly double the
-  //   memory of `complex_model_m`.
-  //   </dd>
-  // </dl>
-  //
-  // This value can only be used when `ScaleTier` is set to `CUSTOM`.
-  string master_type = 2;
-
-  // Optional. Specifies the type of virtual machine to use for your training
-  // job's worker nodes.
-  //
-  // The supported values are the same as those described in the entry for
-  // `master_type`.
-  //
-  // This value must be present when `scale_tier` is set to `CUSTOM` and
-  // `worker_count` is greater than zero.
-  string worker_type = 3;
-
-  // Optional. Specifies the type of virtual machine to use for your training
-  // job's parameter server.
-  //
-  // The supported values are the same as those described in the entry for
-  // `master_type`.
-  //
-  // This value must be present when `scale_tier` is set to `CUSTOM` and
-  // `parameter_server_count` is greater than zero.
-  string parameter_server_type = 4;
-
-  // Optional. The number of worker replicas to use for the training job. Each
-  // replica in the cluster will be of the type specified in `worker_type`.
-  //
-  // This value can only be used when `scale_tier` is set to `CUSTOM`. If you
-  // set this value, you must also set `worker_type`.
-  int64 worker_count = 5;
-
-  // Optional. The number of parameter server replicas to use for the training
-  // job. Each replica in the cluster will be of the type specified in
-  // `parameter_server_type`.
-  //
-  // This value can only be used when `scale_tier` is set to `CUSTOM`.If you
-  // set this value, you must also set `parameter_server_type`.
-  int64 parameter_server_count = 6;
-
-  // Required. The Google Cloud Storage location of the packages with
-  // the training program and any additional dependencies.
-  repeated string package_uris = 7;
-
-  // Required. The Python module name to run after installing the packages.
-  string python_module = 8;
-
-  // Optional. Command line arguments to pass to the program.
-  repeated string args = 10;
-
-  // Optional. The set of Hyperparameters to tune.
-  HyperparameterSpec hyperparameters = 12;
-
-  // Required. The Google Compute Engine region to run the training job in.
-  string region = 14;
-}
-
-// Represents a set of hyperparameters to optimize.
-message HyperparameterSpec {
-  // The available types of optimization goals.
-  enum GoalType {
-    // Goal Type will default to maximize.
-    GOAL_TYPE_UNSPECIFIED = 0;
-
-    // Maximize the goal metric.
-    MAXIMIZE = 1;
-
-    // Minimize the goal metric.
-    MINIMIZE = 2;
-  }
-
-  // Required. The type of goal to use for tuning. Available types are
-  // `MAXIMIZE` and `MINIMIZE`.
-  //
-  // Defaults to `MAXIMIZE`.
-  GoalType goal = 1;
-
-  // Required. The set of parameters to tune.
-  repeated ParameterSpec params = 2;
-
-  // Optional. How many training trials should be attempted to optimize
-  // the specified hyperparameters.
-  //
-  // Defaults to one.
-  int32 max_trials = 3;
-
-  // Optional. The number of training trials to run concurrently.
-  // You can reduce the time it takes to perform hyperparameter tuning by adding
-  // trials in parallel. However, each trail only benefits from the information
-  // gained in completed trials. That means that a trial does not get access to
-  // the results of trials running at the same time, which could reduce the
-  // quality of the overall optimization.
-  //
-  // Each trial will use the same scale tier and machine types.
-  //
-  // Defaults to one.
-  int32 max_parallel_trials = 4;
-}
-
-// Represents a single hyperparameter to optimize.
-message ParameterSpec {
-  // The type of the parameter.
-  enum ParameterType {
-    // You must specify a valid type. Using this unspecified type will result in
-    // an error.
-    PARAMETER_TYPE_UNSPECIFIED = 0;
-
-    // Type for real-valued parameters.
-    DOUBLE = 1;
-
-    // Type for integral parameters.
-    INTEGER = 2;
-
-    // The parameter is categorical, with a value chosen from the categories
-    // field.
-    CATEGORICAL = 3;
-
-    // The parameter is real valued, with a fixed set of feasible points. If
-    // `type==DISCRETE`, feasible_points must be provided, and
-    // {`min_value`, `max_value`} will be ignored.
-    DISCRETE = 4;
-  }
-
-  // The type of scaling that should be applied to this parameter.
-  enum ScaleType {
-    // By default, no scaling is applied.
-    NONE = 0;
-
-    // Scales the feasible space to (0, 1) linearly.
-    UNIT_LINEAR_SCALE = 1;
-
-    // Scales the feasible space logarithmically to (0, 1). The entire feasible
-    // space must be strictly positive.
-    UNIT_LOG_SCALE = 2;
-
-    // Scales the feasible space "reverse" logarithmically to (0, 1). The result
-    // is that values close to the top of the feasible space are spread out more
-    // than points near the bottom. The entire feasible space must be strictly
-    // positive.
-    UNIT_REVERSE_LOG_SCALE = 3;
-  }
-
-  // Required. The parameter name must be unique amongst all ParameterConfigs in
-  // a HyperparameterSpec message. E.g., "learning_rate".
-  string parameter_name = 1;
-
-  // Required. The type of the parameter.
-  ParameterType type = 4;
-
-  // Required if type is `DOUBLE` or `INTEGER`. This field
-  // should be unset if type is `CATEGORICAL`. This value should be integers if
-  // type is INTEGER.
-  double min_value = 2;
-
-  // Required if typeis `DOUBLE` or `INTEGER`. This field
-  // should be unset if type is `CATEGORICAL`. This value should be integers if
-  // type is `INTEGER`.
-  double max_value = 3;
-
-  // Required if type is `CATEGORICAL`. The list of possible categories.
-  repeated string categorical_values = 5;
-
-  // Required if type is `DISCRETE`.
-  // A list of feasible points.
-  // The list should be in strictly increasing order. For instance, this
-  // parameter might have possible settings of 1.5, 2.5, and 4.0. This list
-  // should not contain more than 1,000 values.
-  repeated double discrete_values = 6;
-
-  // Optional. How the parameter should be scaled to the hypercube.
-  // Leave unset for categorical parameters.
-  // Some kind of scaling is strongly recommended for real or integral
-  // parameters (e.g., `UNIT_LINEAR_SCALE`).
-  ScaleType scale_type = 7;
-}
-
-// Represents the result of a single hyperparameter tuning trial from a
-// training job. The TrainingOutput object that is returned on successful
-// completion of a training job with hyperparameter tuning includes a list
-// of HyperparameterOutput objects, one for each successful trial.
-message HyperparameterOutput {
-  // An observed value of a metric.
-  message HyperparameterMetric {
-    // The global training step for this metric.
-    int64 training_step = 1;
-
-    // The objective value at this training step.
-    double objective_value = 2;
-  }
-
-  // The trial id for these results.
-  string trial_id = 1;
-
-  // The hyperparameters given to this trial.
-  map<string, string> hyperparameters = 2;
-
-  // The final objective metric seen for this trial.
-  HyperparameterMetric final_metric = 3;
-
-  // All recorded object metrics for this trial.
-  repeated HyperparameterMetric all_metrics = 4;
-}
-
-// Represents results of a training job.
-message TrainingOutput {
-  // The number of hyperparameter tuning trials that completed successfully.
-  int64 completed_trial_count = 1;
-
-  // Results for individual Hyperparameter trials.
-  repeated HyperparameterOutput trials = 2;
-}
-
-// Represents input parameters for a prediction job.
-message PredictionInput {
-  // The format used to separate data instances in the source files.
-  enum DataFormat {
-    // Unspecified format.
-    DATA_FORMAT_UNSPECIFIED = 0;
-
-    // The source file is a text file with instances separated by the
-    // new-line character.
-    TEXT = 1;
-
-    // The source file is a TFRecord file.
-    TF_RECORD = 2;
-
-    // The source file is a GZIP-compressed TFRecord file.
-    TF_RECORD_GZIP = 3;
-  }
-
-  // Required. The model or the version to use for prediction.
-  oneof model_version {
-    // Use this field if you want to use the default version for the specified
-    // model. The string must use the following format:
-    //
-    // `"project/<var>[YOUR_PROJECT]</var>/models/<var>[YOUR_MODEL]</var>"`
-    string model_name = 1;
-
-    // Use this field if you want to specify a version of the model to use. The
-    // string is formatted the same way as `model_version`, with the addition
-    // of the version information:
-    //
-    // `"project/<var>[YOUR_PROJECT]</var>/models/<var>YOUR_MODEL/versions/<var>[YOUR_VERSION]</var>"`
-    string version_name = 2;
-  }
-
-  // Required. The format of the input data files.
-  DataFormat data_format = 3;
-
-  // Required. The Google Cloud Storage location of the input data files.
-  // May contain wildcards.
-  repeated string input_paths = 4;
-
-  // Required. The output Google Cloud Storage location.
-  string output_path = 5;
-
-  // Optional. The maximum amount of workers to be used for parallel processing.
-  // Defaults to 10.
-  int64 max_worker_count = 6;
-
-  // Required. The Google Compute Engine region to run the prediction job in.
-  string region = 7;
-}
-
-// Represents results of a prediction job.
-message PredictionOutput {
-  // The output Google Cloud Storage location provided at the job creation time.
-  string output_path = 1;
-
-  // The number of generated predictions.
-  int64 prediction_count = 2;
-
-  // The number of data instances which resulted in errors.
-  int64 error_count = 3;
-}
-
-// Represents a training or prediction job.
-message Job {
-  // Describes the job state.
-  enum State {
-    // The job state is unspecified.
-    STATE_UNSPECIFIED = 0;
-
-    // The job has been just created and processing has not yet begun.
-    QUEUED = 1;
-
-    // The service is preparing to run the job.
-    PREPARING = 2;
-
-    // The job is in progress.
-    RUNNING = 3;
-
-    // The job completed successfully.
-    SUCCEEDED = 4;
-
-    // The job failed.
-    // `error_message` should contain the details of the failure.
-    FAILED = 5;
-
-    // The job is being cancelled.
-    // `error_message` should describe the reason for the cancellation.
-    CANCELLING = 6;
-
-    // The job has been cancelled.
-    // `error_message` should describe the reason for the cancellation.
-    CANCELLED = 7;
-  }
-
-  // Required. The user-specified id of the job.
-  string job_id = 1;
-
-  // Required. Parameters to create a job.
-  oneof input {
-    // Input parameters to create a training job.
-    TrainingInput training_input = 2;
-
-    // Input parameters to create a prediction job.
-    PredictionInput prediction_input = 3;
-  }
-
-  // Output only. When the job was created.
-  google.protobuf.Timestamp create_time = 4;
-
-  // Output only. When the job processing was started.
-  google.protobuf.Timestamp start_time = 5;
-
-  // Output only. When the job processing was completed.
-  google.protobuf.Timestamp end_time = 6;
-
-  // Output only. The detailed state of a job.
-  State state = 7;
-
-  // Output only. The details of a failure or a cancellation.
-  string error_message = 8;
-
-  // Output only. The current result of the job.
-  oneof output {
-    // The current training job result.
-    TrainingOutput training_output = 9;
-
-    // The current prediction job result.
-    PredictionOutput prediction_output = 10;
-  }
-}
-
-// Request message for the CreateJob method.
-message CreateJobRequest {
-  // Required. The project name.
-  //
-  // Authorization: requires `Editor` role on the specified project.
-  string parent = 1;
-
-  // Required. The job to create.
-  Job job = 2;
-}
-
-// Request message for the ListJobs method.
-message ListJobsRequest {
-  // Required. The name of the project for which to list jobs.
-  //
-  // Authorization: requires `Viewer` role on the specified project.
-  string parent = 1;
-
-  // Optional. Specifies the subset of jobs to retrieve.
-  string filter = 2;
-
-  // Optional. A page token to request the next page of results.
-  //
-  // You get the token from the `next_page_token` field of the response from
-  // the previous call.
-  string page_token = 4;
-
-  // Optional. The number of jobs to retrieve per "page" of results. If there
-  // are more remaining results than this number, the response message will
-  // contain a valid value in the `next_page_token` field.
-  //
-  // The default value is 20, and the maximum page size is 100.
-  int32 page_size = 5;
-}
-
-// Response message for the ListJobs method.
-message ListJobsResponse {
-  // The list of jobs.
-  repeated Job jobs = 1;
-
-  // Optional. Pass this token as the `page_token` field of the request for a
-  // subsequent call.
-  string next_page_token = 2;
-}
-
-// Request message for the GetJob method.
-message GetJobRequest {
-  // Required. The name of the job to get the description of.
-  //
-  // Authorization: requires `Viewer` role on the parent project.
-  string name = 1;
-}
-
-// Request message for the CancelJob method.
-message CancelJobRequest {
-  // Required. The name of the job to cancel.
-  //
-  // Authorization: requires `Editor` role on the parent project.
-  string name = 1;
-}
diff --git a/googleapis/cloud/ml/v1beta1/model_service.pb.go b/googleapis/cloud/ml/v1beta1/model_service.pb.go
index 368245609d9d7101fa742d5250c2369031f81c45..583a76bcf1d9b8fdf97bcae47340ee95b3c6da99 100644
--- a/googleapis/cloud/ml/v1beta1/model_service.pb.go
+++ b/googleapis/cloud/ml/v1beta1/model_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/model_service.proto
+// source: google/cloud/ml/v1beta1/model_service.proto
 // DO NOT EDIT!
 
-package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+package ml
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import _ "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
@@ -47,6 +47,20 @@ func (m *Model) String() string            { return proto.CompactTextString(m) }
 func (*Model) ProtoMessage()               {}
 func (*Model) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *Model) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Model) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func (m *Model) GetDefaultVersion() *Version {
 	if m != nil {
 		return m.DefaultVersion
@@ -95,6 +109,34 @@ func (m *Version) String() string            { return proto.CompactTextString(m)
 func (*Version) ProtoMessage()               {}
 func (*Version) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
+func (m *Version) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Version) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *Version) GetIsDefault() bool {
+	if m != nil {
+		return m.IsDefault
+	}
+	return false
+}
+
+func (m *Version) GetDeploymentUri() string {
+	if m != nil {
+		return m.DeploymentUri
+	}
+	return ""
+}
+
 func (m *Version) GetCreateTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.CreateTime
@@ -124,6 +166,13 @@ func (m *CreateModelRequest) String() string            { return proto.CompactTe
 func (*CreateModelRequest) ProtoMessage()               {}
 func (*CreateModelRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
+func (m *CreateModelRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 func (m *CreateModelRequest) GetModel() *Model {
 	if m != nil {
 		return m.Model
@@ -155,6 +204,27 @@ func (m *ListModelsRequest) String() string            { return proto.CompactTex
 func (*ListModelsRequest) ProtoMessage()               {}
 func (*ListModelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
+func (m *ListModelsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListModelsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListModelsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // Response message for the ListModels method.
 type ListModelsResponse struct {
 	// The list of models.
@@ -176,6 +246,13 @@ func (m *ListModelsResponse) GetModels() []*Model {
 	return nil
 }
 
+func (m *ListModelsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for the GetModel method.
 type GetModelRequest struct {
 	// Required. The name of the model.
@@ -189,6 +266,13 @@ func (m *GetModelRequest) String() string            { return proto.CompactTextS
 func (*GetModelRequest) ProtoMessage()               {}
 func (*GetModelRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *GetModelRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for the DeleteModel method.
 type DeleteModelRequest struct {
 	// Required. The name of the model.
@@ -202,6 +286,13 @@ func (m *DeleteModelRequest) String() string            { return proto.CompactTe
 func (*DeleteModelRequest) ProtoMessage()               {}
 func (*DeleteModelRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
 
+func (m *DeleteModelRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Uploads the provided trained model version to Cloud Machine Learning.
 type CreateVersionRequest struct {
 	// Required. The name of the model.
@@ -217,6 +308,13 @@ func (m *CreateVersionRequest) String() string            { return proto.Compact
 func (*CreateVersionRequest) ProtoMessage()               {}
 func (*CreateVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
 
+func (m *CreateVersionRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 func (m *CreateVersionRequest) GetVersion() *Version {
 	if m != nil {
 		return m.Version
@@ -248,6 +346,27 @@ func (m *ListVersionsRequest) String() string            { return proto.CompactT
 func (*ListVersionsRequest) ProtoMessage()               {}
 func (*ListVersionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
 
+func (m *ListVersionsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListVersionsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListVersionsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // Response message for the ListVersions method.
 type ListVersionsResponse struct {
 	// The list of versions.
@@ -269,6 +388,13 @@ func (m *ListVersionsResponse) GetVersions() []*Version {
 	return nil
 }
 
+func (m *ListVersionsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for the GetVersion method.
 type GetVersionRequest struct {
 	// Required. The name of the version.
@@ -282,6 +408,13 @@ func (m *GetVersionRequest) String() string            { return proto.CompactTex
 func (*GetVersionRequest) ProtoMessage()               {}
 func (*GetVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
 
+func (m *GetVersionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for the DeleteVerionRequest method.
 type DeleteVersionRequest struct {
 	// Required. The name of the version. You can get the names of all the
@@ -297,6 +430,13 @@ func (m *DeleteVersionRequest) String() string            { return proto.Compact
 func (*DeleteVersionRequest) ProtoMessage()               {}
 func (*DeleteVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
 
+func (m *DeleteVersionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for the SetDefaultVersion request.
 type SetDefaultVersionRequest struct {
 	// Required. The name of the version to make the default for the model. You
@@ -312,6 +452,13 @@ func (m *SetDefaultVersionRequest) String() string            { return proto.Com
 func (*SetDefaultVersionRequest) ProtoMessage()               {}
 func (*SetDefaultVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
 
+func (m *SetDefaultVersionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Model)(nil), "google.cloud.ml.v1beta1.Model")
 	proto.RegisterType((*Version)(nil), "google.cloud.ml.v1beta1.Version")
@@ -763,71 +910,68 @@ var _ModelService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/ml/v1beta1/model_service.proto",
+	Metadata: "google/cloud/ml/v1beta1/model_service.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/ml/v1beta1/model_service.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/cloud/ml/v1beta1/model_service.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 921 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x56, 0x4f, 0x6f, 0xdc, 0x44,
-	0x14, 0x97, 0xd3, 0x26, 0x4d, 0xde, 0x76, 0x1b, 0x65, 0x88, 0x60, 0xb5, 0x28, 0xb0, 0x32, 0x0a,
-	0x44, 0x9b, 0xd6, 0x43, 0x52, 0x14, 0xa9, 0x5b, 0x28, 0x52, 0x88, 0x54, 0x15, 0x81, 0x88, 0x36,
-	0x2d, 0x57, 0xcb, 0xbb, 0xfb, 0x62, 0xa6, 0xd8, 0x33, 0xc6, 0x33, 0x1b, 0x91, 0x42, 0x0f, 0xf4,
-	0x80, 0x38, 0x71, 0x00, 0x71, 0xe5, 0xc2, 0x9d, 0x2f, 0xc3, 0x57, 0x40, 0x7c, 0x0e, 0xe4, 0x99,
-	0x71, 0xd6, 0xfb, 0xc7, 0x6b, 0x07, 0x89, 0xcb, 0xca, 0x7e, 0x7e, 0x7f, 0x7e, 0xf3, 0xfb, 0xbd,
-	0xf7, 0x66, 0xe1, 0xd3, 0x50, 0x88, 0x30, 0x42, 0x2f, 0x14, 0x51, 0xc0, 0x43, 0x4f, 0xa4, 0x21,
-	0x0d, 0x91, 0x27, 0xa9, 0x50, 0x82, 0x9a, 0x4f, 0x41, 0xc2, 0x24, 0x1d, 0x46, 0x62, 0x3c, 0xa2,
-	0x71, 0x44, 0x2f, 0x0e, 0x06, 0xa8, 0x82, 0x03, 0x1a, 0x8b, 0x11, 0x46, 0xbe, 0xc4, 0xf4, 0x82,
-	0x0d, 0xd1, 0xd3, 0xfe, 0xe4, 0x0d, 0x9b, 0x4b, 0x3b, 0x7b, 0x71, 0xe4, 0x59, 0xe7, 0xf6, 0x93,
-	0x7a, 0x45, 0x82, 0x84, 0x51, 0x9b, 0x71, 0x28, 0xf8, 0x39, 0x0b, 0x69, 0xc0, 0xb9, 0x50, 0x81,
-	0x62, 0x82, 0x4b, 0x53, 0xa3, 0x7d, 0x5c, 0x2f, 0x55, 0x24, 0x78, 0x98, 0x8e, 0x39, 0x67, 0x3c,
-	0xa4, 0x22, 0xc1, 0x74, 0x2a, 0xc7, 0xfd, 0x90, 0xa9, 0xaf, 0xc6, 0x03, 0x6f, 0x28, 0x62, 0x6a,
-	0xf2, 0x50, 0xfd, 0x61, 0x30, 0x3e, 0xa7, 0x89, 0xba, 0x4c, 0x50, 0x52, 0x8c, 0x13, 0x75, 0x69,
-	0x7e, 0x6d, 0xd0, 0xc3, 0xea, 0x20, 0xc5, 0x62, 0x94, 0x2a, 0x88, 0x93, 0xc9, 0x93, 0x09, 0x76,
-	0x7f, 0x72, 0x60, 0xf5, 0xf3, 0x8c, 0x31, 0x42, 0xe0, 0x26, 0x0f, 0x62, 0x6c, 0x39, 0x1d, 0x67,
-	0x6f, 0xa3, 0xaf, 0x9f, 0x49, 0x07, 0x1a, 0x23, 0x94, 0xc3, 0x94, 0x25, 0x19, 0xca, 0xd6, 0x8a,
-	0xfe, 0x54, 0x34, 0x91, 0x27, 0xb0, 0x39, 0xc2, 0xf3, 0x60, 0x1c, 0x29, 0xff, 0x02, 0x53, 0x99,
-	0x79, 0xdd, 0xe8, 0x38, 0x7b, 0x8d, 0xc3, 0x8e, 0x57, 0xc2, 0xb9, 0xf7, 0xa5, 0xf1, 0xeb, 0xdf,
-	0xb1, 0x81, 0xf6, 0xdd, 0x7d, 0xb5, 0x02, 0xb7, 0xec, 0xf3, 0x7f, 0x04, 0xb3, 0x03, 0xc0, 0xa4,
-	0x6f, 0xd3, 0x6a, 0x1c, 0xeb, 0xfd, 0x0d, 0x26, 0x4f, 0x8c, 0x81, 0xec, 0xc2, 0x9d, 0x11, 0x26,
-	0x91, 0xb8, 0x8c, 0x91, 0x2b, 0x7f, 0x9c, 0xb2, 0xd6, 0x4d, 0x9d, 0xa3, 0x39, 0xb1, 0x3e, 0x4b,
-	0x19, 0x79, 0x08, 0x8d, 0x61, 0x8a, 0x81, 0x42, 0x3f, 0x23, 0xab, 0xb5, 0xaa, 0x8f, 0xd3, 0xce,
-	0x8f, 0x93, 0x53, 0xeb, 0x3d, 0xcd, 0x99, 0xec, 0x83, 0x71, 0xcf, 0x0c, 0xe4, 0x11, 0x34, 0xa3,
-	0x40, 0x2a, 0x7f, 0x2c, 0x6d, 0xf8, 0x5a, 0x65, 0x78, 0x23, 0x0b, 0x78, 0x26, 0x75, 0xbc, 0x3b,
-	0x00, 0xf2, 0x89, 0xce, 0xa6, 0x45, 0xe9, 0xe3, 0x37, 0x63, 0x94, 0x8a, 0xbc, 0x0e, 0x6b, 0x49,
-	0x90, 0x22, 0x57, 0x96, 0x10, 0xfb, 0x46, 0x3e, 0x80, 0x55, 0xdd, 0xee, 0x9a, 0x8c, 0xc6, 0xe1,
-	0x5b, 0xa5, 0x9c, 0x9b, 0x6c, 0xc6, 0xd9, 0x0d, 0x61, 0xeb, 0x33, 0x26, 0x95, 0xb6, 0xc9, 0xaa,
-	0x12, 0x3b, 0x00, 0x49, 0x10, 0xa2, 0xaf, 0xc4, 0xd7, 0xc8, 0x2d, 0x61, 0x1b, 0x99, 0xe5, 0x69,
-	0x66, 0x20, 0x6f, 0x82, 0x7e, 0xf1, 0x25, 0x7b, 0x61, 0xa8, 0x5a, 0xed, 0xaf, 0x67, 0x86, 0x33,
-	0xf6, 0x02, 0x5d, 0x05, 0xa4, 0x58, 0x48, 0x26, 0x82, 0x4b, 0x24, 0x47, 0xb0, 0xa6, 0x71, 0xc8,
-	0x96, 0xd3, 0xb9, 0x51, 0x03, 0xb5, 0xf5, 0x26, 0xef, 0xc2, 0x26, 0xc7, 0x6f, 0x95, 0x5f, 0x80,
-	0x63, 0x7a, 0xa0, 0x99, 0x99, 0x4f, 0x73, 0x48, 0xee, 0x2e, 0x6c, 0x3e, 0x46, 0x35, 0xc5, 0xdf,
-	0x82, 0x76, 0x72, 0xf7, 0x80, 0x9c, 0x60, 0x84, 0x33, 0x4c, 0x2f, 0xf2, 0x7c, 0x0e, 0xdb, 0x46,
-	0x93, 0xbc, 0x73, 0x2b, 0x28, 0xeb, 0xc1, 0xad, 0x7c, 0x16, 0x56, 0x6a, 0xce, 0x42, 0x1e, 0xe0,
-	0x32, 0x78, 0x2d, 0xa3, 0xcc, 0xda, 0xff, 0x57, 0x75, 0xbe, 0x87, 0xed, 0xe9, 0x52, 0x56, 0x9f,
-	0x0f, 0x61, 0xdd, 0xa2, 0xc9, 0x15, 0xaa, 0xc6, 0x7f, 0x15, 0x51, 0x5b, 0xa5, 0xf7, 0x60, 0xeb,
-	0x31, 0xaa, 0x19, 0x46, 0x17, 0xb1, 0xdf, 0x85, 0x6d, 0xa3, 0x53, 0x0d, 0x5f, 0x0f, 0x5a, 0x67,
-	0xa8, 0x4e, 0xa6, 0xf6, 0xca, 0x12, 0xff, 0xc3, 0x7f, 0x00, 0x6e, 0x6b, 0xf9, 0xcf, 0xcc, 0x72,
-	0x27, 0x3f, 0x3b, 0xd0, 0x28, 0xcc, 0x1f, 0xd9, 0x2f, 0x3d, 0xf9, 0xfc, 0x94, 0xb6, 0x2b, 0x1a,
-	0xd9, 0x3d, 0x7c, 0xf5, 0xd7, 0xdf, 0xbf, 0xae, 0xdc, 0x75, 0xdf, 0xb9, 0xba, 0xab, 0xbe, 0x33,
-	0x32, 0x7e, 0x94, 0xa4, 0xe2, 0x39, 0x0e, 0x95, 0xa4, 0xdd, 0x97, 0xe6, 0xfe, 0x92, 0x3d, 0x33,
-	0xab, 0xe4, 0x17, 0x07, 0x60, 0x32, 0x43, 0xa4, 0x5b, 0x5a, 0x62, 0x6e, 0xa2, 0xdb, 0xfb, 0xb5,
-	0x7c, 0x8d, 0xe8, 0xee, 0xbe, 0xc6, 0xb6, 0x4b, 0xea, 0x60, 0x23, 0x3f, 0x38, 0xb0, 0x9e, 0x8f,
-	0x18, 0xd9, 0x2b, 0x2d, 0x33, 0x33, 0x85, 0x95, 0xfc, 0x2c, 0xc0, 0x90, 0xa9, 0x54, 0x40, 0x60,
-	0x01, 0xd0, 0xee, 0x4b, 0xf2, 0xa3, 0x03, 0x8d, 0xc2, 0xfc, 0x2e, 0x51, 0x6a, 0x7e, 0xca, 0xdb,
-	0x3b, 0xb9, 0x73, 0xe1, 0x36, 0xf6, 0xbe, 0xc8, 0x6f, 0xe3, 0x1c, 0x48, 0xb7, 0x16, 0x90, 0xdf,
-	0x1d, 0x68, 0x4e, 0xad, 0x07, 0x72, 0xaf, 0xa2, 0x69, 0xa6, 0x1b, 0xb3, 0x0a, 0xcc, 0xc7, 0x1a,
-	0xcc, 0x03, 0xd7, 0x5b, 0xa2, 0xcc, 0x04, 0x0e, 0xcd, 0x07, 0xb1, 0x97, 0xaf, 0x14, 0xf2, 0x87,
-	0x03, 0xb7, 0x8b, 0x83, 0x4e, 0xee, 0x2e, 0x6d, 0x8c, 0x99, 0xd5, 0xd3, 0xbe, 0x57, 0xd3, 0xdb,
-	0x36, 0xd2, 0x91, 0x86, 0xfb, 0x3e, 0xb9, 0x26, 0x5c, 0xdd, 0xe8, 0x93, 0x85, 0xb0, 0xa4, 0xd1,
-	0xe7, 0xb6, 0x46, 0xbb, 0x72, 0x3d, 0x2d, 0x02, 0x55, 0x26, 0xe8, 0x15, 0xa2, 0x4c, 0xdb, 0xdf,
-	0x1c, 0x68, 0x4e, 0x2d, 0x9f, 0x25, 0xda, 0x2e, 0x5a, 0x52, 0x55, 0xda, 0x5a, 0x5c, 0xdd, 0xeb,
-	0xe2, 0xfa, 0xd3, 0x81, 0xad, 0xb9, 0x45, 0x47, 0x0e, 0x4a, 0xb1, 0x95, 0x2d, 0xc5, 0x1a, 0xd4,
-	0x9d, 0x68, 0x88, 0x8f, 0xdc, 0x07, 0xd7, 0x83, 0xd8, 0x93, 0x57, 0x25, 0x7b, 0x4e, 0xf7, 0xf8,
-	0x08, 0xde, 0x1e, 0x8a, 0x78, 0xae, 0x58, 0x90, 0xb0, 0xbc, 0xe0, 0xf1, 0x56, 0x71, 0x11, 0x9f,
-	0x66, 0x7f, 0x93, 0x4e, 0x9d, 0xc1, 0x9a, 0xfe, 0xbf, 0x74, 0xff, 0xdf, 0x00, 0x00, 0x00, 0xff,
-	0xff, 0xb6, 0xdd, 0x81, 0x3c, 0x0d, 0x0c, 0x00, 0x00,
+	// 904 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4f, 0x6f, 0xe3, 0x44,
+	0x14, 0x97, 0xb3, 0x9b, 0x6c, 0xfa, 0xb2, 0xd9, 0x2a, 0x43, 0x05, 0x91, 0x97, 0xb2, 0x91, 0x57,
+	0x85, 0x28, 0xd9, 0xb5, 0x69, 0x40, 0x2b, 0x35, 0x0b, 0x8b, 0xb4, 0x44, 0xaa, 0x90, 0x40, 0x54,
+	0x69, 0xcb, 0x81, 0x8b, 0xe5, 0x24, 0x53, 0x6b, 0x8a, 0xed, 0x71, 0x3d, 0x93, 0x8a, 0x16, 0x7a,
+	0xa0, 0x07, 0xc4, 0x89, 0x03, 0x88, 0x2b, 0x17, 0xee, 0x7c, 0x19, 0xbe, 0x02, 0xe2, 0x73, 0x20,
+	0xcf, 0x8c, 0x13, 0xe7, 0x8f, 0x63, 0x17, 0x89, 0x9b, 0xe7, 0xcd, 0xef, 0xcd, 0xfb, 0xcd, 0xfb,
+	0xbd, 0xf7, 0xc6, 0xd0, 0x75, 0x29, 0x75, 0x3d, 0x6c, 0x8d, 0x3d, 0x3a, 0x9d, 0x58, 0xbe, 0x67,
+	0x5d, 0xee, 0x8f, 0x30, 0x77, 0xf6, 0x2d, 0x9f, 0x4e, 0xb0, 0x67, 0x33, 0x1c, 0x5d, 0x92, 0x31,
+	0x36, 0xc3, 0x88, 0x72, 0x8a, 0xde, 0x92, 0x60, 0x53, 0x80, 0x4d, 0xdf, 0x33, 0x15, 0x58, 0x7f,
+	0x5b, 0x9d, 0xe2, 0x84, 0xc4, 0x72, 0x82, 0x80, 0x72, 0x87, 0x13, 0x1a, 0x30, 0xe9, 0xa6, 0x3f,
+	0x55, 0xbb, 0x1e, 0x0d, 0xdc, 0x68, 0x1a, 0x04, 0x24, 0x70, 0x2d, 0x1a, 0xe2, 0x68, 0x01, 0xf4,
+	0x58, 0x81, 0xc4, 0x6a, 0x34, 0x3d, 0xb3, 0xb0, 0x1f, 0xf2, 0x2b, 0xb5, 0xf9, 0x64, 0x79, 0x93,
+	0x13, 0x1f, 0x33, 0xee, 0xf8, 0xa1, 0x04, 0x18, 0x3f, 0x69, 0x50, 0xfe, 0x22, 0x66, 0x8c, 0x10,
+	0xdc, 0x0f, 0x1c, 0x1f, 0x37, 0xb5, 0x96, 0xd6, 0xde, 0x1a, 0x8a, 0x6f, 0xd4, 0x82, 0xda, 0x04,
+	0xb3, 0x71, 0x44, 0xc2, 0x38, 0x62, 0xb3, 0x24, 0xb6, 0xd2, 0x26, 0xf4, 0x19, 0x6c, 0x4f, 0xf0,
+	0x99, 0x33, 0xf5, 0xb8, 0x7d, 0x89, 0x23, 0x16, 0xa3, 0xee, 0xb5, 0xb4, 0x76, 0xad, 0xd7, 0x32,
+	0x33, 0xee, 0x6c, 0x7e, 0x25, 0x71, 0xc3, 0x47, 0xca, 0x51, 0xad, 0x8d, 0xdb, 0x12, 0x3c, 0x50,
+	0xdf, 0xff, 0x91, 0xcc, 0x2e, 0x00, 0x61, 0xb6, 0x3a, 0x56, 0xf0, 0xa8, 0x0e, 0xb7, 0x08, 0x1b,
+	0x48, 0x03, 0xda, 0x83, 0x47, 0x13, 0x1c, 0x7a, 0xf4, 0xca, 0xc7, 0x01, 0xb7, 0xa7, 0x11, 0x69,
+	0xde, 0x17, 0x67, 0xd4, 0xe7, 0xd6, 0xd3, 0x88, 0xa0, 0x97, 0x50, 0x1b, 0x47, 0xd8, 0xe1, 0xd8,
+	0x8e, 0x93, 0xd5, 0x2c, 0x8b, 0xeb, 0xe8, 0xc9, 0x75, 0x92, 0x4c, 0x9a, 0x27, 0x49, 0x26, 0x87,
+	0x20, 0xe1, 0xb1, 0x01, 0xbd, 0x82, 0xba, 0xe7, 0x30, 0x6e, 0x4f, 0x99, 0x72, 0xaf, 0xe4, 0xba,
+	0xd7, 0x62, 0x87, 0x53, 0x26, 0xfc, 0x8d, 0x11, 0xa0, 0x4f, 0xc5, 0x69, 0x42, 0x94, 0x21, 0xbe,
+	0x98, 0x62, 0xc6, 0xd1, 0x9b, 0x50, 0x09, 0x9d, 0x08, 0x07, 0x5c, 0x25, 0x44, 0xad, 0xd0, 0x87,
+	0x50, 0x16, 0xe5, 0x26, 0x92, 0x51, 0xeb, 0xbd, 0x93, 0x99, 0x73, 0x79, 0x9a, 0x04, 0x1b, 0x2e,
+	0x34, 0x3e, 0x27, 0x8c, 0x0b, 0x1b, 0xcb, 0x0b, 0xb1, 0x0b, 0x10, 0x3a, 0x2e, 0xb6, 0x39, 0xfd,
+	0x06, 0x07, 0x2a, 0x61, 0x5b, 0xb1, 0xe5, 0x24, 0x36, 0xa0, 0xc7, 0x20, 0x16, 0x36, 0x23, 0xd7,
+	0x32, 0x55, 0xe5, 0x61, 0x35, 0x36, 0x1c, 0x93, 0x6b, 0x6c, 0x70, 0x40, 0xe9, 0x40, 0x2c, 0xa4,
+	0x01, 0xc3, 0xe8, 0x05, 0x54, 0x04, 0x0f, 0xd6, 0xd4, 0x5a, 0xf7, 0x0a, 0xb0, 0x56, 0x68, 0xf4,
+	0x2e, 0x6c, 0x07, 0xf8, 0x5b, 0x6e, 0xa7, 0xe8, 0xc8, 0x1a, 0xa8, 0xc7, 0xe6, 0xa3, 0x84, 0x92,
+	0xb1, 0x07, 0xdb, 0x87, 0x98, 0x2f, 0xe4, 0x6f, 0x4d, 0x39, 0x19, 0x6d, 0x40, 0x03, 0xec, 0xe1,
+	0xa5, 0x4c, 0xaf, 0x43, 0x9e, 0xc3, 0x8e, 0xd4, 0x24, 0xa9, 0xdc, 0x9c, 0x94, 0xf5, 0xe1, 0x41,
+	0xd2, 0x0b, 0xa5, 0x82, 0xbd, 0x90, 0x38, 0x18, 0x04, 0xde, 0x88, 0x53, 0xa6, 0xec, 0xff, 0xab,
+	0x3a, 0xdf, 0xc3, 0xce, 0x62, 0x28, 0xa5, 0xcf, 0x47, 0x50, 0x55, 0x6c, 0x12, 0x85, 0xf2, 0xf9,
+	0xcf, 0x3c, 0x0a, 0xab, 0xf4, 0x1e, 0x34, 0x0e, 0x31, 0x5f, 0xca, 0xe8, 0xba, 0xec, 0x77, 0x60,
+	0x47, 0xea, 0x54, 0x00, 0x6b, 0x42, 0xf3, 0x18, 0xf3, 0xc1, 0xc2, 0x5c, 0xd9, 0x80, 0xef, 0xfd,
+	0x03, 0xf0, 0x50, 0xc8, 0x7f, 0x2c, 0xc7, 0x35, 0xfa, 0x59, 0x83, 0x5a, 0xaa, 0xff, 0x50, 0x37,
+	0xf3, 0xe6, 0xab, 0x5d, 0xaa, 0xe7, 0x14, 0xb2, 0xd1, 0xbb, 0xfd, 0xeb, 0xef, 0x5f, 0x4b, 0xcf,
+	0x8c, 0xa7, 0xb3, 0xb7, 0xe2, 0x3b, 0x29, 0xe3, 0xc7, 0x61, 0x44, 0xcf, 0xf1, 0x98, 0x33, 0xab,
+	0x73, 0x23, 0xdf, 0x0f, 0xd6, 0x97, 0xbd, 0x8a, 0x7e, 0xd1, 0x00, 0xe6, 0x3d, 0x84, 0x3a, 0x99,
+	0x21, 0x56, 0x3a, 0x5a, 0xef, 0x16, 0xc2, 0x4a, 0xd1, 0x8d, 0xae, 0xe0, 0xb6, 0x87, 0x8a, 0x70,
+	0x43, 0x3f, 0x68, 0x50, 0x4d, 0x5a, 0x0c, 0xb5, 0x33, 0xc3, 0x2c, 0x75, 0x61, 0x6e, 0x7e, 0xd6,
+	0x70, 0x88, 0x55, 0x4a, 0x31, 0x50, 0x04, 0xac, 0xce, 0x0d, 0xfa, 0x51, 0x83, 0x5a, 0xaa, 0x7f,
+	0x37, 0x28, 0xb5, 0xda, 0xe5, 0xfa, 0x6e, 0x02, 0x4e, 0xbd, 0xac, 0xe6, 0x97, 0xc9, 0xcb, 0x9a,
+	0x10, 0xe9, 0x14, 0x22, 0xf2, 0xbb, 0x06, 0xf5, 0x85, 0xf1, 0x80, 0x9e, 0xe7, 0x14, 0xcd, 0x62,
+	0x61, 0xe6, 0x91, 0xf9, 0x44, 0x90, 0x39, 0x30, 0xcc, 0x0d, 0xca, 0xcc, 0xe9, 0x58, 0x49, 0x23,
+	0xf6, 0x93, 0x91, 0x82, 0xfe, 0xd0, 0xe0, 0x61, 0xba, 0xd1, 0xd1, 0xb3, 0x8d, 0x85, 0xb1, 0x34,
+	0x7a, 0xf4, 0xe7, 0x05, 0xd1, 0xaa, 0x90, 0x5e, 0x08, 0xba, 0xef, 0xa3, 0x3b, 0xd2, 0x15, 0x85,
+	0x3e, 0x1f, 0x08, 0x1b, 0x0a, 0x7d, 0x65, 0x6a, 0xe8, 0xb9, 0xe3, 0x69, 0x1d, 0xa9, 0x2c, 0x41,
+	0x67, 0x8c, 0x62, 0x6d, 0x7f, 0xd3, 0xa0, 0xbe, 0x30, 0x7c, 0x36, 0x68, 0xbb, 0x6e, 0x48, 0xe5,
+	0x69, 0xab, 0x78, 0x75, 0xee, 0xca, 0xeb, 0x4f, 0x0d, 0x1a, 0x2b, 0x83, 0x0e, 0xed, 0x67, 0x72,
+	0xcb, 0x1a, 0x8a, 0x05, 0x52, 0x37, 0x10, 0x14, 0x5f, 0x19, 0x07, 0x77, 0xa3, 0xd8, 0x67, 0xb3,
+	0x90, 0x7d, 0xad, 0xf3, 0xfa, 0x02, 0x9e, 0x8c, 0xa9, 0xbf, 0x12, 0xcc, 0x09, 0x49, 0x12, 0xf0,
+	0x75, 0x23, 0x3d, 0x88, 0x8f, 0xe2, 0xdf, 0xa4, 0x23, 0xed, 0xeb, 0x03, 0xe5, 0xe1, 0x52, 0xcf,
+	0x09, 0x5c, 0x93, 0x46, 0xae, 0xe5, 0xe2, 0x40, 0xfc, 0x44, 0x59, 0x72, 0xcb, 0x09, 0x09, 0x5b,
+	0xf9, 0x09, 0x7f, 0xe9, 0x7b, 0xa3, 0x8a, 0x40, 0x7d, 0xf0, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff,
+	0xbf, 0x41, 0x51, 0x68, 0xa9, 0x0b, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/ml/v1beta1/model_service.proto b/googleapis/cloud/ml/v1beta1/model_service.proto
deleted file mode 100644
index f892a583da590092c656cdcb1ac5b27397cbb1d7..0000000000000000000000000000000000000000
--- a/googleapis/cloud/ml/v1beta1/model_service.proto
+++ /dev/null
@@ -1,340 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.ml.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ModelServiceProto";
-option java_package = "com.google.cloud.ml.api.v1beta1";
-
-// Copyright 2016 Google Inc. All Rights Reserved.
-//
-// Proto file for the Machine Learning Service
-// Describes the 'models service' to work with the 'model' and 'version'
-// resources.
-
-
-
-// Provides methods that create and manage machine learning models and their
-// versions.
-//
-// A model in this context is a container for versions. The model can't provide
-// predictions without first having a version created for it.
-//
-// Each version is a trained machine learning model, and each is assumed to be
-// an iteration of the same machine learning problem as the other versions of
-// the same model.
-//
-// Your project can define multiple models, each with multiple versions.
-//
-// The basic life cycle of a model is:
-//
-// *   Create and train the machine learning model and save it to a
-//     Google Cloud Storage location.
-// *   Use
-//     [projects.models.create](/ml/reference/rest/v1beta1/projects.models/create)
-//     to make a new model in your project.
-// *   Use
-//     [projects.models.versions.create](/ml/reference/rest/v1beta1/projects.models.versions/create)
-//     to deploy your saved model.
-// *   Use [projects.predict](/ml/reference/rest/v1beta1/projects/predict to
-//     request predictions of a version of your model, or use
-//     [projects.jobs.create](/ml/reference/rest/v1beta1/projects.jobs/create)
-//     to start a batch prediction job.
-service ModelService {
-  // Creates a model which will later contain one or more versions.
-  //
-  // You must add at least one version before you can request predictions from
-  // the model. Add versions by calling
-  // [projects.models.versions.create](/ml/reference/rest/v1beta1/projects.models.versions/create).
-  rpc CreateModel(CreateModelRequest) returns (Model) {
-    option (google.api.http) = { post: "/v1beta1/{parent=projects/*}/models" body: "model" };
-  }
-
-  // Lists the models in a project.
-  //
-  // Each project can contain multiple models, and each model can have multiple
-  // versions.
-  rpc ListModels(ListModelsRequest) returns (ListModelsResponse) {
-    option (google.api.http) = { get: "/v1beta1/{parent=projects/*}/models" };
-  }
-
-  // Gets information about a model, including its name, the description (if
-  // set), and the default version (if at least one version of the model has
-  // been deployed).
-  rpc GetModel(GetModelRequest) returns (Model) {
-    option (google.api.http) = { get: "/v1beta1/{name=projects/*/models/*}" };
-  }
-
-  // Deletes a model.
-  //
-  // You can only delete a model if there are no versions in it. You can delete
-  // versions by calling
-  // [projects.models.versions.delete](/ml/reference/rest/v1beta1/projects.models.versions/delete).
-  rpc DeleteModel(DeleteModelRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { delete: "/v1beta1/{name=projects/*/models/*}" };
-  }
-
-  // Creates a new version of a model from a trained TensorFlow model.
-  //
-  // If the version created in the cloud by this call is the first deployed
-  // version of the specified model, it will be made the default version of the
-  // model. When you add a version to a model that already has one or more
-  // versions, the default version does not automatically change. If you want a
-  // new version to be the default, you must call
-  // [projects.models.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).
-  rpc CreateVersion(CreateVersionRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1beta1/{parent=projects/*/models/*}/versions" body: "version" };
-  }
-
-  // Gets basic information about all the versions of a model.
-  //
-  // If you expect that a model has a lot of versions, or if you need to handle
-  // only a limited number of results at a time, you can request that the list
-  // be retrieved in batches (called pages):
-  rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse) {
-    option (google.api.http) = { get: "/v1beta1/{parent=projects/*/models/*}/versions" };
-  }
-
-  // Gets information about a model version.
-  //
-  // Models can have multiple versions. You can call
-  // [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list)
-  // to get the same information that this method returns for all of the
-  // versions of a model.
-  rpc GetVersion(GetVersionRequest) returns (Version) {
-    option (google.api.http) = { get: "/v1beta1/{name=projects/*/models/*/versions/*}" };
-  }
-
-  // Deletes a model version.
-  //
-  // Each model can have multiple versions deployed and in use at any given
-  // time. Use this method to remove a single version.
-  //
-  // Note: You cannot delete the version that is set as the default version
-  // of the model unless it is the only remaining version.
-  rpc DeleteVersion(DeleteVersionRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { delete: "/v1beta1/{name=projects/*/models/*/versions/*}" };
-  }
-
-  // Designates a version to be the default for the model.
-  //
-  // The default version is used for prediction requests made against the model
-  // that don't specify a version.
-  //
-  // The first version to be created for a model is automatically set as the
-  // default. You must make any subsequent changes to the default version
-  // setting manually using this method.
-  rpc SetDefaultVersion(SetDefaultVersionRequest) returns (Version) {
-    option (google.api.http) = { post: "/v1beta1/{name=projects/*/models/*/versions/*}:setDefault" body: "*" };
-  }
-}
-
-// Represents a machine learning solution.
-//
-// A model can have multiple versions, each of which is a deployed, trained
-// model ready to receive prediction requests. The model itself is just a
-// container.
-message Model {
-  // Required. The name specified for the model when it was created.
-  //
-  // The model name must be unique within the project it is created in.
-  string name = 1;
-
-  // Optional. The description specified for the model when it was created.
-  string description = 2;
-
-  // Output only. The default version of the model. This version will be used to
-  // handle prediction requests that do not specify a version.
-  //
-  // You can change the default version by calling
-  // [projects.methods.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).
-  Version default_version = 3;
-}
-
-// Represents a version of the model.
-//
-// Each version is a trained model deployed in the cloud, ready to handle
-// prediction requests. A model can have multiple versions. You can get
-// information about all of the versions of a given model by calling
-// [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).
-message Version {
-  // Required.The name specified for the version when it was created.
-  //
-  // The version name must be unique within the model it is created in.
-  string name = 1;
-
-  // Optional. The description specified for the version when it was created.
-  string description = 2;
-
-  // Output only. If true, this version will be used to handle prediction
-  // requests that do not specify a version.
-  //
-  // You can change the default version by calling
-  // [projects.methods.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).
-  bool is_default = 3;
-
-  // Required. The Google Cloud Storage location of the trained model used to
-  // create the version. See the
-  // [overview of model deployment](/ml/docs/concepts/deployment-overview) for
-  // more informaiton.
-  //
-  // When passing Version to
-  // [projects.models.versions.create](/ml/reference/rest/v1beta1/projects.models.versions/create)
-  // the model service uses the specified location as the source of the model.
-  // Once deployed, the model version is hosted by the prediction service, so
-  // this location is useful only as a historical record.
-  string deployment_uri = 4;
-
-  // Output only. The time the version was created.
-  google.protobuf.Timestamp create_time = 5;
-
-  // Output only. The time the version was last used for prediction.
-  google.protobuf.Timestamp last_use_time = 6;
-}
-
-// Request message for the CreateModel method.
-message CreateModelRequest {
-  // Required. The project name.
-  //
-  // Authorization: requires `Editor` role on the specified project.
-  string parent = 1;
-
-  // Required. The model to create.
-  Model model = 2;
-}
-
-// Request message for the ListModels method.
-message ListModelsRequest {
-  // Required. The name of the project whose models are to be listed.
-  //
-  // Authorization: requires `Viewer` role on the specified project.
-  string parent = 1;
-
-  // Optional. A page token to request the next page of results.
-  //
-  // You get the token from the `next_page_token` field of the response from
-  // the previous call.
-  string page_token = 4;
-
-  // Optional. The number of models to retrieve per "page" of results. If there
-  // are more remaining results than this number, the response message will
-  // contain a valid value in the `next_page_token` field.
-  //
-  // The default value is 20, and the maximum page size is 100.
-  int32 page_size = 5;
-}
-
-// Response message for the ListModels method.
-message ListModelsResponse {
-  // The list of models.
-  repeated Model models = 1;
-
-  // Optional. Pass this token as the `page_token` field of the request for a
-  // subsequent call.
-  string next_page_token = 2;
-}
-
-// Request message for the GetModel method.
-message GetModelRequest {
-  // Required. The name of the model.
-  //
-  // Authorization: requires `Viewer` role on the parent project.
-  string name = 1;
-}
-
-// Request message for the DeleteModel method.
-message DeleteModelRequest {
-  // Required. The name of the model.
-  //
-  // Authorization: requires `Editor` role on the parent project.
-  string name = 1;
-}
-
-// Uploads the provided trained model version to Cloud Machine Learning.
-message CreateVersionRequest {
-  // Required. The name of the model.
-  //
-  // Authorization: requires `Editor` role on the parent project.
-  string parent = 1;
-
-  // Required. The version details.
-  Version version = 2;
-}
-
-// Request message for the ListVersions method.
-message ListVersionsRequest {
-  // Required. The name of the model for which to list the version.
-  //
-  // Authorization: requires `Viewer` role on the parent project.
-  string parent = 1;
-
-  // Optional. A page token to request the next page of results.
-  //
-  // You get the token from the `next_page_token` field of the response from
-  // the previous call.
-  string page_token = 4;
-
-  // Optional. The number of versions to retrieve per "page" of results. If
-  // there are more remaining results than this number, the response message
-  // will contain a valid value in the `next_page_token` field.
-  //
-  // The default value is 20, and the maximum page size is 100.
-  int32 page_size = 5;
-}
-
-// Response message for the ListVersions method.
-message ListVersionsResponse {
-  // The list of versions.
-  repeated Version versions = 1;
-
-  // Optional. Pass this token as the `page_token` field of the request for a
-  // subsequent call.
-  string next_page_token = 2;
-}
-
-// Request message for the GetVersion method.
-message GetVersionRequest {
-  // Required. The name of the version.
-  //
-  // Authorization: requires `Viewer` role on the parent project.
-  string name = 1;
-}
-
-// Request message for the DeleteVerionRequest method.
-message DeleteVersionRequest {
-  // Required. The name of the version. You can get the names of all the
-  // versions of a model by calling
-  // [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).
-  //
-  // Authorization: requires `Editor` role on the parent project.
-  string name = 1;
-}
-
-// Request message for the SetDefaultVersion request.
-message SetDefaultVersionRequest {
-  // Required. The name of the version to make the default for the model. You
-  // can get the names of all the versions of a model by calling
-  // [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).
-  //
-  // Authorization: requires `Editor` role on the parent project.
-  string name = 1;
-}
diff --git a/googleapis/cloud/ml/v1beta1/operation_metadata.pb.go b/googleapis/cloud/ml/v1beta1/operation_metadata.pb.go
index 061b6b21f258502a63089349bcb27c0b94a4d3f0..4987c677533ee72c3ad68fae5a64bf73f2369106 100644
--- a/googleapis/cloud/ml/v1beta1/operation_metadata.pb.go
+++ b/googleapis/cloud/ml/v1beta1/operation_metadata.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/operation_metadata.proto
+// source: google/cloud/ml/v1beta1/operation_metadata.proto
 // DO NOT EDIT!
 
-package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+package ml
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -93,6 +93,27 @@ func (m *OperationMetadata) GetEndTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *OperationMetadata) GetIsCancellationRequested() bool {
+	if m != nil {
+		return m.IsCancellationRequested
+	}
+	return false
+}
+
+func (m *OperationMetadata) GetOperationType() OperationMetadata_OperationType {
+	if m != nil {
+		return m.OperationType
+	}
+	return OperationMetadata_OPERATION_TYPE_UNSPECIFIED
+}
+
+func (m *OperationMetadata) GetModelName() string {
+	if m != nil {
+		return m.ModelName
+	}
+	return ""
+}
+
 func (m *OperationMetadata) GetVersion() *Version {
 	if m != nil {
 		return m.Version
@@ -105,40 +126,37 @@ func init() {
 	proto.RegisterEnum("google.cloud.ml.v1beta1.OperationMetadata_OperationType", OperationMetadata_OperationType_name, OperationMetadata_OperationType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/ml/v1beta1/operation_metadata.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/cloud/ml/v1beta1/operation_metadata.proto", fileDescriptor2) }
 
 var fileDescriptor2 = []byte{
-	// 473 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0xc1, 0x6b, 0xdb, 0x30,
-	0x14, 0xc6, 0xe7, 0xb6, 0x6b, 0x1a, 0x75, 0x0d, 0x99, 0x0f, 0x6b, 0x16, 0xd8, 0x66, 0x7a, 0xca,
-	0x49, 0xa2, 0x1d, 0x83, 0x6d, 0x39, 0xb5, 0x89, 0x06, 0x1e, 0x6d, 0x6c, 0x5c, 0xaf, 0xb0, 0x93,
-	0x51, 0xec, 0x57, 0x4f, 0x60, 0x4b, 0x9e, 0xa5, 0x04, 0xfa, 0x07, 0xed, 0xff, 0x1c, 0x96, 0x6c,
-	0x92, 0x11, 0x4a, 0x47, 0x6f, 0xc9, 0xf7, 0xde, 0xef, 0x7b, 0xcf, 0xdf, 0x13, 0x0a, 0x72, 0x29,
-	0xf3, 0x02, 0x70, 0x2e, 0x0b, 0x26, 0x72, 0x2c, 0xeb, 0x9c, 0xe4, 0x20, 0xaa, 0x5a, 0x6a, 0x49,
-	0x6c, 0x89, 0x55, 0x5c, 0x91, 0xb4, 0x90, 0xab, 0x8c, 0x94, 0x05, 0x59, 0x9f, 0x2f, 0x41, 0xb3,
-	0x73, 0x22, 0x2b, 0xa8, 0x99, 0xe6, 0x52, 0x24, 0x25, 0x68, 0x96, 0x31, 0xcd, 0xb0, 0x81, 0xdc,
-	0xd3, 0xd6, 0xd0, 0x10, 0xb8, 0x2c, 0x70, 0x4b, 0x8c, 0xfd, 0xff, 0x9b, 0xc4, 0x2a, 0x4e, 0x14,
-	0xd4, 0x6b, 0x9e, 0x42, 0x2a, 0xc5, 0x3d, 0xcf, 0x09, 0x13, 0x42, 0x6a, 0x33, 0x4b, 0xd9, 0x19,
-	0xe3, 0xef, 0xcf, 0x5c, 0xba, 0x94, 0x19, 0x14, 0x49, 0xeb, 0xde, 0x7a, 0x4d, 0x73, 0xae, 0x7f,
-	0xad, 0x96, 0x38, 0x95, 0x25, 0xb1, 0x7e, 0xc4, 0x14, 0x96, 0xab, 0x7b, 0x52, 0xe9, 0x87, 0x0a,
-	0x14, 0xd1, 0xbc, 0x04, 0xa5, 0x59, 0x59, 0x6d, 0x7e, 0x59, 0xf8, 0xec, 0xcf, 0x01, 0x7a, 0x1d,
-	0x74, 0x49, 0xdc, 0xb4, 0x41, 0xb8, 0x53, 0x74, 0x9c, 0xd6, 0xc0, 0x34, 0x24, 0x4d, 0xff, 0xc8,
-	0xf1, 0x9c, 0xc9, 0xf1, 0xc5, 0x18, 0xb7, 0x4b, 0x77, 0xee, 0x38, 0xee, 0xcc, 0x22, 0x64, 0xdb,
-	0x1b, 0xc1, 0xfd, 0x82, 0x90, 0xd2, 0xac, 0xd6, 0x96, 0xdd, 0x7b, 0x92, 0xed, 0x9b, 0x6e, 0x83,
-	0x7e, 0x42, 0x47, 0x20, 0x32, 0x0b, 0xee, 0x3f, 0x09, 0xf6, 0x40, 0x64, 0x06, 0xfb, 0x8a, 0xde,
-	0x72, 0x95, 0xa4, 0x4c, 0xa4, 0x50, 0x14, 0xf6, 0xa6, 0x35, 0xfc, 0x5e, 0x81, 0xd2, 0x90, 0x8d,
-	0x0e, 0x3c, 0x67, 0x72, 0x14, 0x9d, 0x72, 0x35, 0xdb, 0xaa, 0x47, 0x5d, 0xd9, 0x4d, 0xd0, 0x60,
-	0xf3, 0x12, 0x9a, 0xb4, 0x46, 0x2f, 0x3d, 0x67, 0x32, 0xb8, 0xf8, 0x8c, 0x1f, 0x79, 0x06, 0x78,
-	0x27, 0xae, 0x8d, 0x12, 0x3f, 0x54, 0x10, 0x9d, 0xc8, 0xed, 0xbf, 0xee, 0x3b, 0x84, 0xec, 0xd5,
-	0x04, 0x2b, 0x61, 0x74, 0xe8, 0x39, 0x93, 0x7e, 0xd4, 0x37, 0xca, 0x82, 0x99, 0xdd, 0x7b, 0x6b,
-	0xa8, 0x15, 0x97, 0x62, 0xd4, 0x33, 0x5f, 0xec, 0x3d, 0x3a, 0xf8, 0xce, 0xf6, 0x45, 0x1d, 0x70,
-	0xc6, 0xd1, 0xc9, 0x3f, 0xa3, 0xdd, 0xf7, 0x68, 0x1c, 0x84, 0x34, 0xba, 0x8c, 0xfd, 0x60, 0x91,
-	0xc4, 0x3f, 0x43, 0x9a, 0xfc, 0x58, 0xdc, 0x86, 0x74, 0xe6, 0x7f, 0xf3, 0xe9, 0x7c, 0xf8, 0xc2,
-	0x75, 0xd1, 0x60, 0x16, 0xd1, 0xcb, 0x98, 0x26, 0x77, 0x34, 0xba, 0xf5, 0x83, 0xc5, 0xd0, 0x69,
-	0xb4, 0x39, 0xbd, 0xa6, 0x5b, 0xda, 0x9e, 0x3b, 0x44, 0xaf, 0x5a, 0xed, 0x26, 0x98, 0xd3, 0xeb,
-	0xe1, 0xfe, 0xd5, 0x14, 0x7d, 0x48, 0x65, 0xb9, 0xb3, 0x1a, 0xab, 0x78, 0xb7, 0xde, 0xd5, 0x9b,
-	0x9d, 0x60, 0xc2, 0xe6, 0x66, 0xa1, 0xb3, 0x3c, 0x34, 0xc7, 0xfb, 0xf8, 0x37, 0x00, 0x00, 0xff,
-	0xff, 0x8b, 0x26, 0x8b, 0x64, 0xab, 0x03, 0x00, 0x00,
+	// 457 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0x5f, 0x6b, 0xdb, 0x30,
+	0x14, 0xc5, 0xe7, 0xb6, 0x6b, 0x1b, 0x75, 0x0d, 0x99, 0x1f, 0x56, 0x2f, 0x6c, 0xab, 0xe9, 0x53,
+	0x60, 0x60, 0xaf, 0x1d, 0x83, 0x75, 0x7d, 0x6a, 0x13, 0x0d, 0x02, 0x6d, 0x6c, 0x54, 0xaf, 0xb0,
+	0xbd, 0x18, 0xc5, 0xbe, 0x33, 0x02, 0xfd, 0xf1, 0x2c, 0x25, 0xd0, 0x0f, 0xb4, 0xef, 0x39, 0x22,
+	0xd9, 0x34, 0x23, 0x84, 0x3e, 0xea, 0xdc, 0xf3, 0xbb, 0xf7, 0xf8, 0x5e, 0xa3, 0x4f, 0x95, 0x52,
+	0x15, 0x87, 0xb8, 0xe0, 0x6a, 0x51, 0xc6, 0x82, 0xc7, 0xcb, 0xf3, 0x39, 0x18, 0x7a, 0x1e, 0xab,
+	0x1a, 0x1a, 0x6a, 0x98, 0x92, 0xb9, 0x00, 0x43, 0x4b, 0x6a, 0x68, 0x54, 0x37, 0xca, 0x28, 0xff,
+	0xc4, 0x11, 0x91, 0x25, 0x22, 0xc1, 0xa3, 0x96, 0x18, 0xbe, 0x6b, 0x5b, 0xd1, 0x9a, 0xc5, 0x54,
+	0x4a, 0x65, 0x2c, 0xae, 0x1d, 0x36, 0xfc, 0xb8, 0x6d, 0x90, 0x50, 0x25, 0xf0, 0x5c, 0x43, 0xb3,
+	0x64, 0x05, 0xb4, 0xe6, 0xd3, 0xd6, 0x6c, 0x5f, 0xf3, 0xc5, 0xef, 0xd8, 0x30, 0x01, 0xda, 0x50,
+	0x51, 0x3b, 0xc3, 0xd9, 0xdf, 0x3d, 0xf4, 0x3a, 0xe9, 0x12, 0xde, 0xb5, 0x01, 0xfd, 0x2b, 0x74,
+	0x54, 0x34, 0x40, 0x0d, 0xe4, 0x2b, 0x7f, 0xe0, 0x85, 0xde, 0xe8, 0xe8, 0x62, 0x18, 0xb5, 0x81,
+	0xbb, 0x66, 0x51, 0xd6, 0x35, 0x23, 0xc8, 0xd9, 0x57, 0x82, 0x7f, 0x89, 0x90, 0x36, 0xb4, 0x31,
+	0x8e, 0xdd, 0x79, 0x96, 0xed, 0x59, 0xb7, 0x45, 0xbf, 0xa0, 0x43, 0x90, 0xa5, 0x03, 0x77, 0x9f,
+	0x05, 0x0f, 0x40, 0x96, 0x16, 0xfb, 0x86, 0xde, 0x32, 0x9d, 0x17, 0x54, 0x16, 0xc0, 0xb9, 0xdb,
+	0x75, 0x03, 0x7f, 0x16, 0xa0, 0x0d, 0x94, 0xc1, 0x5e, 0xe8, 0x8d, 0x0e, 0xc9, 0x09, 0xd3, 0xe3,
+	0xb5, 0x3a, 0xe9, 0xca, 0x7e, 0x8e, 0xfa, 0x4f, 0x17, 0x32, 0x8f, 0x35, 0x04, 0x2f, 0x43, 0x6f,
+	0xd4, 0xbf, 0xf8, 0x1a, 0x6d, 0x39, 0x4f, 0xb4, 0xb1, 0xae, 0x27, 0x25, 0x7b, 0xac, 0x81, 0x1c,
+	0xab, 0xf5, 0xa7, 0xff, 0x1e, 0x21, 0x77, 0x19, 0x49, 0x05, 0x04, 0xfb, 0xa1, 0x37, 0xea, 0x91,
+	0x9e, 0x55, 0x66, 0xd4, 0x66, 0x3f, 0x58, 0x42, 0xa3, 0x99, 0x92, 0xc1, 0x81, 0xfd, 0xe2, 0x70,
+	0xeb, 0xe0, 0x07, 0xe7, 0x23, 0x1d, 0x70, 0xc6, 0xd0, 0xf1, 0x7f, 0xa3, 0xfd, 0x0f, 0x68, 0x98,
+	0xa4, 0x98, 0x5c, 0x67, 0xd3, 0x64, 0x96, 0x67, 0x3f, 0x53, 0x9c, 0xff, 0x98, 0xdd, 0xa7, 0x78,
+	0x3c, 0xfd, 0x3e, 0xc5, 0x93, 0xc1, 0x0b, 0xdf, 0x47, 0xfd, 0x31, 0xc1, 0xd7, 0x19, 0xce, 0x1f,
+	0x30, 0xb9, 0x9f, 0x26, 0xb3, 0x81, 0xb7, 0xd2, 0x26, 0xf8, 0x16, 0xaf, 0x69, 0x3b, 0xfe, 0x00,
+	0xbd, 0x6a, 0xb5, 0xbb, 0x64, 0x82, 0x6f, 0x07, 0xbb, 0x37, 0x4b, 0x74, 0x5a, 0x28, 0xb1, 0x11,
+	0x8d, 0xd6, 0xac, 0x8b, 0x77, 0xf3, 0x66, 0x63, 0x31, 0xe9, 0xea, 0x66, 0xa9, 0xf7, 0xeb, 0xb2,
+	0xc5, 0x2a, 0xc5, 0xa9, 0xac, 0x22, 0xd5, 0x54, 0x71, 0x05, 0xd2, 0x5e, 0x34, 0x76, 0x25, 0x5a,
+	0x33, 0xbd, 0xf1, 0x47, 0x5f, 0x09, 0x3e, 0xdf, 0xb7, 0xae, 0xcf, 0xff, 0x02, 0x00, 0x00, 0xff,
+	0xff, 0x89, 0xf8, 0x21, 0xa7, 0x5f, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/ml/v1beta1/operation_metadata.proto b/googleapis/cloud/ml/v1beta1/operation_metadata.proto
deleted file mode 100644
index 00eb2d7bf817facf02ebe8665b1a92195925f971..0000000000000000000000000000000000000000
--- a/googleapis/cloud/ml/v1beta1/operation_metadata.proto
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.ml.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1/model_service.proto"; // from google/cloud/ml/v1beta1/model_service.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "OperationMetadataProto";
-option java_package = "com.google.cloud.ml.api.v1beta1";
-
-// Copyright 2016 Google Inc. All Rights Reserved.
-//
-// Proto file for the Machine Learning Service
-// Describes the metadata for longrunning operations.
-
-
-
-// Represents the metadata of the long-running operation.
-message OperationMetadata {
-  // The operation type.
-  enum OperationType {
-    // Unspecified operation type.
-    OPERATION_TYPE_UNSPECIFIED = 0;
-
-    // An operation to create a new version.
-    CREATE_VERSION = 1;
-
-    // An operation to delete an existing version.
-    DELETE_VERSION = 2;
-
-    // An operation to delete an existing model.
-    DELETE_MODEL = 3;
-  }
-
-  // The time the operation was submitted.
-  google.protobuf.Timestamp create_time = 1;
-
-  // The time operation processing started.
-  google.protobuf.Timestamp start_time = 2;
-
-  // The time operation processing completed.
-  google.protobuf.Timestamp end_time = 3;
-
-  // Indicates whether a request to cancel this operation has been made.
-  bool is_cancellation_requested = 4;
-
-  // The operation type.
-  OperationType operation_type = 5;
-
-  // Contains the name of the model associated with the operation.
-  string model_name = 6;
-
-  // Contains the version associated with the operation.
-  Version version = 7;
-}
diff --git a/googleapis/cloud/ml/v1beta1/prediction_service.pb.go b/googleapis/cloud/ml/v1beta1/prediction_service.pb.go
index 69704b212fff9536ff3e898bf0835ba0be69598b..b80dd6e5e10d1f0493708b908a31668f0fe0d803 100644
--- a/googleapis/cloud/ml/v1beta1/prediction_service.pb.go
+++ b/googleapis/cloud/ml/v1beta1/prediction_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/prediction_service.proto
+// source: google/cloud/ml/v1beta1/prediction_service.proto
 // DO NOT EDIT!
 
-package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+package ml
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_api2 "google.golang.org/genproto/googleapis/api/httpbody"
 
 import (
@@ -127,6 +127,13 @@ func (m *PredictRequest) String() string            { return proto.CompactTextSt
 func (*PredictRequest) ProtoMessage()               {}
 func (*PredictRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
 
+func (m *PredictRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *PredictRequest) GetHttpBody() *google_api2.HttpBody {
 	if m != nil {
 		return m.HttpBody
@@ -301,33 +308,31 @@ var _OnlinePredictionService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/ml/v1beta1/prediction_service.proto",
+	Metadata: "google/cloud/ml/v1beta1/prediction_service.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/ml/v1beta1/prediction_service.proto", fileDescriptor3)
-}
+func init() { proto.RegisterFile("google/cloud/ml/v1beta1/prediction_service.proto", fileDescriptor3) }
 
 var fileDescriptor3 = []byte{
-	// 314 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x91, 0xc1, 0x4a, 0x03, 0x31,
-	0x14, 0x45, 0x49, 0x11, 0xb5, 0x11, 0x5c, 0x04, 0xb1, 0xa5, 0x1b, 0x4b, 0x5d, 0x58, 0xba, 0x48,
-	0x68, 0xdd, 0x55, 0x5c, 0xd8, 0x95, 0xae, 0x3a, 0xd4, 0x85, 0xcb, 0x92, 0x66, 0x62, 0x1a, 0xc9,
-	0xe4, 0xc5, 0x99, 0xb4, 0x58, 0xc4, 0x8d, 0xbf, 0xd0, 0x4f, 0xf3, 0x17, 0xfc, 0x10, 0xc9, 0x4c,
-	0x18, 0x90, 0x2a, 0x74, 0xf7, 0x48, 0xb8, 0xf7, 0xdc, 0x77, 0x1f, 0x9e, 0x2a, 0x00, 0x65, 0x24,
-	0x55, 0x60, 0xb8, 0x55, 0x14, 0x72, 0xc5, 0x94, 0xb4, 0x2e, 0x07, 0x0f, 0xac, 0xfa, 0xe2, 0x4e,
-	0x17, 0x4c, 0x18, 0x58, 0xa5, 0x2c, 0x33, 0x6c, 0x3d, 0x5c, 0x48, 0xcf, 0x87, 0xcc, 0xe5, 0x32,
-	0xd5, 0xc2, 0x6b, 0xb0, 0xf3, 0x42, 0xe6, 0x6b, 0x2d, 0x24, 0x2d, 0x45, 0xa4, 0x15, 0x0d, 0x4b,
-	0x05, 0xcd, 0x0c, 0x8d, 0x8a, 0xce, 0xc3, 0x7e, 0x24, 0xee, 0x34, 0x8b, 0x8e, 0x02, 0xec, 0xb3,
-	0x56, 0x8c, 0x5b, 0x0b, 0x9e, 0x07, 0x54, 0x51, 0x31, 0x3a, 0x77, 0xfb, 0x5b, 0x2d, 0xbd, 0x77,
-	0x0b, 0x48, 0x37, 0xf5, 0x50, 0x59, 0xf4, 0x9e, 0xf0, 0x69, 0x52, 0xad, 0x30, 0x93, 0xaf, 0x2b,
-	0x59, 0x78, 0x42, 0xf0, 0x81, 0xe5, 0x99, 0x6c, 0xa3, 0x2e, 0xea, 0x37, 0x67, 0xe5, 0x4c, 0x86,
-	0xb8, 0x19, 0x74, 0xf3, 0x20, 0x6c, 0x37, 0xba, 0xa8, 0x7f, 0x32, 0x3a, 0xa3, 0x11, 0xce, 0x9d,
-	0xa6, 0xf7, 0xde, 0xbb, 0x09, 0xa4, 0x9b, 0xd9, 0xf1, 0x32, 0x4e, 0xa3, 0x2d, 0xc2, 0xad, 0xa9,
-	0x35, 0xda, 0xca, 0xa4, 0xae, 0xe8, 0xb1, 0xda, 0x87, 0xbc, 0xe1, 0xa3, 0xf8, 0x48, 0xae, 0xe8,
-	0x3f, 0x3d, 0xd1, 0xdf, 0xb1, 0x3a, 0x7f, 0xf2, 0x7a, 0xf4, 0xf3, 0xeb, 0x7b, 0xdb, 0xe8, 0xf7,
-	0x2e, 0xeb, 0x83, 0xbc, 0x87, 0xc0, 0xb7, 0x2e, 0x87, 0x17, 0x29, 0x7c, 0xc1, 0x06, 0x83, 0x8f,
-	0x71, 0xbc, 0xd1, 0x18, 0x0d, 0x26, 0x37, 0xf8, 0x42, 0x40, 0xb6, 0xc3, 0x0c, 0x9e, 0xd1, 0x60,
-	0x72, 0xbe, 0x93, 0x37, 0x09, 0x4d, 0x25, 0x68, 0x71, 0x58, 0x56, 0x76, 0xfd, 0x13, 0x00, 0x00,
-	0xff, 0xff, 0x22, 0x54, 0x5b, 0xa1, 0x2c, 0x02, 0x00, 0x00,
+	// 312 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0x4d, 0x4a, 0x03, 0x31,
+	0x14, 0xc7, 0x49, 0x11, 0xb5, 0x11, 0x5c, 0x04, 0xb1, 0xb5, 0x08, 0x96, 0xba, 0xb0, 0x74, 0x91,
+	0xd8, 0xba, 0xb2, 0xe2, 0xa6, 0x2b, 0x77, 0x0e, 0x75, 0x21, 0xb8, 0x29, 0xe9, 0x4c, 0x48, 0x23,
+	0x99, 0xbc, 0x38, 0x93, 0x16, 0x8b, 0xb8, 0xf1, 0x0a, 0x3d, 0x9a, 0x57, 0xf0, 0x20, 0x92, 0x49,
+	0x28, 0xca, 0xe8, 0xee, 0x31, 0x6f, 0x7e, 0xef, 0xff, 0x11, 0x7c, 0x29, 0x01, 0xa4, 0x16, 0x2c,
+	0xd5, 0xb0, 0xcc, 0x58, 0xae, 0xd9, 0x6a, 0x38, 0x17, 0x8e, 0x0f, 0x99, 0x2d, 0x44, 0xa6, 0x52,
+	0xa7, 0xc0, 0xcc, 0x4a, 0x51, 0xac, 0x54, 0x2a, 0xa8, 0x2d, 0xc0, 0x01, 0x69, 0x05, 0x82, 0x56,
+	0x04, 0xcd, 0x35, 0x8d, 0x44, 0xe7, 0x34, 0x9e, 0xe2, 0x56, 0x31, 0x6e, 0x0c, 0x38, 0xee, 0xe9,
+	0x32, 0x60, 0x9d, 0x93, 0x1f, 0xdb, 0x85, 0x73, 0x76, 0x0e, 0xd9, 0x3a, 0xac, 0x7a, 0x8f, 0xf8,
+	0x30, 0x09, 0x6a, 0x53, 0xf1, 0xb2, 0x14, 0xa5, 0x23, 0x04, 0xef, 0x18, 0x9e, 0x8b, 0x36, 0xea,
+	0xa2, 0x7e, 0x73, 0x5a, 0xcd, 0x64, 0x88, 0x9b, 0x9e, 0x9b, 0x79, 0xb0, 0xdd, 0xe8, 0xa2, 0xfe,
+	0xc1, 0xe8, 0x88, 0x46, 0x2f, 0xdc, 0x2a, 0x7a, 0xe7, 0x9c, 0x9d, 0x40, 0xb6, 0x9e, 0xee, 0x2f,
+	0xe2, 0x34, 0xda, 0x20, 0xdc, 0xba, 0x37, 0x5a, 0x19, 0x91, 0x6c, 0xd3, 0x3c, 0x84, 0x30, 0xe4,
+	0x15, 0xef, 0xc5, 0x8f, 0xe4, 0x82, 0xfe, 0x13, 0x89, 0xfe, 0xb6, 0xd5, 0xf9, 0x53, 0xaf, 0x47,
+	0x3f, 0x3e, 0xbf, 0x36, 0x8d, 0x7e, 0xef, 0x7c, 0xdb, 0xdd, 0x9b, 0x37, 0x7c, 0x6b, 0x0b, 0x78,
+	0x16, 0xa9, 0x2b, 0xd9, 0x60, 0xf0, 0x3e, 0x8e, 0x75, 0x8e, 0xd1, 0x60, 0xb2, 0xc2, 0x67, 0x29,
+	0xe4, 0x35, 0x4d, 0x7f, 0x33, 0x1e, 0x98, 0x1c, 0xd7, 0xfc, 0x26, 0xbe, 0xa9, 0x04, 0x3d, 0x5d,
+	0x47, 0x4c, 0x82, 0xe6, 0x46, 0x52, 0x28, 0x24, 0x93, 0xc2, 0x54, 0x3d, 0xb2, 0xb0, 0xe2, 0x56,
+	0x95, 0xb5, 0xe7, 0xbc, 0xc9, 0xf5, 0x7c, 0xb7, 0xfa, 0xeb, 0xea, 0x3b, 0x00, 0x00, 0xff, 0xff,
+	0x00, 0x26, 0x25, 0x67, 0xf3, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/ml/v1beta1/prediction_service.proto b/googleapis/cloud/ml/v1beta1/prediction_service.proto
deleted file mode 100644
index 91ba8e893dcef4252d5996dd10597c72217c952b..0000000000000000000000000000000000000000
--- a/googleapis/cloud/ml/v1beta1/prediction_service.proto
+++ /dev/null
@@ -1,188 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.ml.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/httpbody/httpbody.proto"; // from google/api/httpbody.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "PredictionServiceProto";
-option java_package = "com.google.cloud.ml.api.v1beta1";
-
-// Copyright 2016 Google Inc. All Rights Reserved.
-//
-// Proto file for the Prediction service, both online and batch prediction.
-
-
-
-// The Prediction API, which serves predictions for models managed by
-// ModelService.
-service OnlinePredictionService {
-  // Performs prediction on the data in the request.
-  //
-  // Responses are very similar to requests. There are two top-level fields,
-  // each of which are JSON lists:
-  //
-  // <dl>
-  //   <dt>predictions</dt>
-  //   <dd>The list of predictions, one per instance in the request.</dd>
-  //   <dt>error</dt>
-  //   <dd>An error message returned instead of a prediction list if any
-  //       instance produced an error.</dd>
-  // </dl>
-  //
-  // If the call is successful, the response body will contain one prediction
-  // entry per instance in the request body. If prediction fails for any
-  // instance, the response body will contain no predictions and will contian
-  // a single error entry instead.
-  //
-  // Even though there is one prediction per instance, the format of a
-  // prediction is not directly related to the format of an instance.
-  // Predictions take whatever format is specified in the outputs collection
-  // defined in the model. The collection of predictions is returned in a JSON
-  // list. Each member of the list can be a simple value, a list, or a JSON
-  // object of any complexity. If your model has more than one output tensor,
-  // each prediction will be a JSON object containing a name/value pair for each
-  // output. The names identify the output aliases in the graph.
-  //
-  // The following examples show some possible responses:
-  //
-  // A simple set of predictions for three input instances, where each
-  // prediction is an integer value:
-  // <pre>
-  // {"predictions": [5, 4, 3]}
-  // </pre>
-  // A more complex set of predictions, each containing two named values that
-  // correspond to output tensors, named **label** and **scores** respectively.
-  // The value of **label** is the predicted category ("car" or "beach") and
-  // **scores** contains a list of probabilities for that instance across the
-  // possible categories.
-  // <pre>
-  // {"predictions": [{"label": "beach", "scores": [0.1, 0.9]},
-  //                  {"label": "car", "scores": [0.75, 0.25]}]}
-  // </pre>
-  // A response when there is an error processing an input instance:
-  // <pre>
-  // {"error": "Divide by zero"}
-  // </pre>
-  rpc Predict(PredictRequest) returns (google.api.HttpBody) {
-    option (google.api.http) = { post: "/v1beta1/{name=projects/**}:predict" body: "*" };
-  }
-}
-
-// Request for predictions to be issued against a trained model.
-//
-// The body of the request is a single JSON object with a single top-level
-// field:
-//
-// <dl>
-//   <dt>instances</dt>
-//   <dd>A JSON array containing values representing the instances to use for
-//       prediction.</dd>
-// </dl>
-//
-// The structure of each element of the instances list is determined by your
-// model's input definition. Instances can include named inputs or can contain
-// only unlabeled values.
-//
-// Most data does not include named inputs. Some instances will be simple
-// JSON values (boolean, number, or string). However, instances are often lists
-// of simple values, or complex nested lists. Here are some examples of request
-// bodies:
-//
-// CSV data with each row encoded as a string value:
-// <pre>
-// {"instances": ["1.0,true,\\"x\\"", "-2.0,false,\\"y\\""]}
-// </pre>
-// Plain text:
-// <pre>
-// {"instances": ["the quick brown fox", "la bruja le dio"]}
-// </pre>
-// Sentences encoded as lists of words (vectors of strings):
-// <pre>
-// {"instances": [["the","quick","brown"], ["la","bruja","le"]]}
-// </pre>
-// Floating point scalar values:
-// <pre>
-// {"instances": [0.0, 1.1, 2.2]}
-// </pre>
-// Vectors of integers:
-// <pre>
-// {"instances": [[0, 1, 2], [3, 4, 5],...]}
-// </pre>
-// Tensors (in this case, two-dimensional tensors):
-// <pre>
-// {"instances": [[[0, 1, 2], [3, 4, 5]], ...]}
-// </pre>
-// Images represented as a three-dimensional list. In this encoding scheme the
-// first two dimensions represent the rows and columns of the image, and the
-// third contains the R, G, and B values for each pixel.
-// <pre>
-// {"instances": [[[[138, 30, 66], [130, 20, 56], ...]]]]}
-// </pre>
-// Data must be encoded as UTF-8. If your data uses another character encoding,
-// you must base64 encode the data and mark it as binary. To mark a JSON string
-// as binary, replace it with an object with a single attribute named `b`:
-// <pre>{"b": "..."} </pre>
-// For example:
-//
-// Two Serialized tf.Examples (fake data, for illustrative purposes only):
-// <pre>
-// {"instances": [{"b64": "X5ad6u"}, {"b64": "IA9j4nx"}]}
-// </pre>
-// Two JPEG image byte strings (fake data, for illustrative purposes only):
-// <pre>
-// {"instances": [{"b64": "ASa8asdf"}, {"b64": "JLK7ljk3"}]}
-// </pre>
-// If your data includes named references, format each instance as a JSON object
-// with the named references as the keys:
-//
-// JSON input data to be preprocessed:
-// <pre>
-// {"instances": [{"a": 1.0,  "b": true,  "c": "x"},
-//                {"a": -2.0, "b": false, "c": "y"}]}
-// </pre>
-// Some models have an underlying TensorFlow graph that accepts multiple input
-// tensors. In this case, you should use the names of JSON name/value pairs to
-// identify the input tensors, as shown in the following exmaples:
-//
-// For a graph with input tensor aliases "tag" (string) and "image"
-// (base64-encoded string):
-// <pre>
-// {"instances": [{"tag": "beach", "image": {"b64": "ASa8asdf"}},
-//                {"tag": "car", "image": {"b64": "JLK7ljk3"}}]}
-// </pre>
-// For a graph with input tensor aliases "tag" (string) and "image"
-// (3-dimensional array of 8-bit ints):
-// <pre>
-// {"instances": [{"tag": "beach", "image": [[[263, 1, 10], [262, 2, 11], ...]]},
-//                {"tag": "car", "image": [[[10, 11, 24], [23, 10, 15], ...]]}]}
-// </pre>
-// If the call is successful, the response body will contain one prediction
-// entry per instance in the request body. If prediction fails for any
-// instance, the response body will contain no predictions and will contian
-// a single error entry instead.
-message PredictRequest {
-  // Required. The resource name of a model or a version.
-  //
-  // Authorization: requires `Viewer` role on the parent project.
-  string name = 1;
-
-  //
-  // Required. The prediction request body.
-  google.api.HttpBody http_body = 2;
-}
diff --git a/googleapis/cloud/ml/v1beta1/project_service.pb.go b/googleapis/cloud/ml/v1beta1/project_service.pb.go
index 4e1dba03a66f8b8ec81e440f770145e782cb78e8..adfda7ebabf5e9fbff600168362f5b9f3347dc51 100644
--- a/googleapis/cloud/ml/v1beta1/project_service.pb.go
+++ b/googleapis/cloud/ml/v1beta1/project_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/project_service.proto
+// source: google/cloud/ml/v1beta1/project_service.proto
 // DO NOT EDIT!
 
-package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+package ml
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -32,6 +32,13 @@ func (m *GetConfigRequest) String() string            { return proto.CompactText
 func (*GetConfigRequest) ProtoMessage()               {}
 func (*GetConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
 
+func (m *GetConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Returns service account information associated with a project.
 type GetConfigResponse struct {
 	// The service account Cloud ML uses to access resources in the project.
@@ -45,6 +52,20 @@ func (m *GetConfigResponse) String() string            { return proto.CompactTex
 func (*GetConfigResponse) ProtoMessage()               {}
 func (*GetConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{1} }
 
+func (m *GetConfigResponse) GetServiceAccount() string {
+	if m != nil {
+		return m.ServiceAccount
+	}
+	return ""
+}
+
+func (m *GetConfigResponse) GetServiceAccountProject() int64 {
+	if m != nil {
+		return m.ServiceAccountProject
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*GetConfigRequest)(nil), "google.cloud.ml.v1beta1.GetConfigRequest")
 	proto.RegisterType((*GetConfigResponse)(nil), "google.cloud.ml.v1beta1.GetConfigResponse")
@@ -127,34 +148,32 @@ var _ProjectManagementService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/ml/v1beta1/project_service.proto",
+	Metadata: "google/cloud/ml/v1beta1/project_service.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/ml/v1beta1/project_service.proto", fileDescriptor4)
-}
+func init() { proto.RegisterFile("google/cloud/ml/v1beta1/project_service.proto", fileDescriptor4) }
 
 var fileDescriptor4 = []byte{
-	// 323 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x51, 0x4d, 0x4a, 0x43, 0x31,
-	0x10, 0xe6, 0x55, 0x11, 0x9a, 0x85, 0x3f, 0x11, 0x69, 0xe9, 0xc6, 0x52, 0xa4, 0xd6, 0x22, 0x09,
-	0x55, 0x10, 0x11, 0x5c, 0x58, 0x17, 0x22, 0x28, 0x94, 0x7a, 0x80, 0x92, 0xc6, 0x31, 0x44, 0xde,
-	0xcb, 0xc4, 0x97, 0xbc, 0x6e, 0xc4, 0x8d, 0x27, 0x10, 0x3c, 0x87, 0xa7, 0xf1, 0x0a, 0x1e, 0x44,
-	0xfa, 0x92, 0x16, 0xad, 0x08, 0xdd, 0x0d, 0x33, 0xdf, 0xf7, 0xcd, 0x7c, 0xf3, 0x91, 0x1b, 0x85,
-	0xa8, 0x52, 0x60, 0x0a, 0x53, 0x61, 0x14, 0xc3, 0x5c, 0x71, 0x05, 0xc6, 0xe6, 0xe8, 0x91, 0x87,
-	0x91, 0xb0, 0xda, 0x71, 0x99, 0x62, 0x71, 0xcf, 0xb3, 0x94, 0x4f, 0x7a, 0x63, 0xf0, 0xa2, 0xc7,
-	0x6d, 0x8e, 0x8f, 0x20, 0xfd, 0xc8, 0x41, 0x3e, 0xd1, 0x12, 0x58, 0xc9, 0xa0, 0xb5, 0xa8, 0x56,
-	0xc2, 0x59, 0x96, 0xb2, 0x08, 0x6f, 0x5c, 0x2f, 0xb7, 0x46, 0x58, 0xcd, 0xa3, 0xa2, 0x44, 0xf3,
-	0xa0, 0x15, 0x17, 0xc6, 0xa0, 0x17, 0x5e, 0xa3, 0x71, 0x61, 0x47, 0xab, 0x4d, 0x36, 0xaf, 0xc0,
-	0x5f, 0x96, 0xe3, 0x21, 0x3c, 0x15, 0xe0, 0x3c, 0xa5, 0x64, 0xd5, 0x88, 0x0c, 0xea, 0x49, 0x33,
-	0xe9, 0x54, 0x87, 0x65, 0xdd, 0xf2, 0x64, 0xeb, 0x07, 0xce, 0x59, 0x34, 0x0e, 0xe8, 0x3e, 0xd9,
-	0x88, 0xfa, 0x23, 0x21, 0x25, 0x16, 0xc6, 0x47, 0xce, 0x7a, 0x6c, 0x5f, 0x84, 0x2e, 0x3d, 0x21,
-	0xb5, 0x05, 0xe0, 0x28, 0x5a, 0xae, 0x57, 0x9a, 0x49, 0x67, 0x65, 0xb8, 0xf3, 0x9b, 0x30, 0x08,
-	0xc3, 0xa3, 0x8f, 0x84, 0xd4, 0x63, 0x7d, 0x2b, 0x8c, 0x50, 0x90, 0x81, 0xf1, 0x77, 0x01, 0x4a,
-	0xdf, 0x12, 0x52, 0x9d, 0xdf, 0x44, 0x0f, 0xd8, 0x3f, 0xdf, 0x62, 0x8b, 0xfe, 0x1a, 0xdd, 0x65,
-	0xa0, 0xc1, 0x62, 0xeb, 0xf0, 0xf5, 0xf3, 0xeb, 0xbd, 0xd2, 0xa6, 0x7b, 0xf3, 0xac, 0x9e, 0xa7,
-	0xff, 0x38, 0x8f, 0xe7, 0x3b, 0xde, 0x7d, 0x39, 0x53, 0x33, 0x56, 0xff, 0x94, 0xec, 0x4a, 0xcc,
-	0xfe, 0xc8, 0x0b, 0xab, 0x67, 0x2b, 0xfa, 0xdb, 0xd1, 0x4f, 0x74, 0x31, 0x98, 0xa6, 0x30, 0x48,
-	0xc6, 0x6b, 0x65, 0x1c, 0xc7, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x01, 0x64, 0xc1, 0x94, 0x42,
-	0x02, 0x00, 0x00,
+	// 327 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x4f, 0x4a, 0x43, 0x31,
+	0x10, 0xc6, 0x79, 0x55, 0x84, 0x66, 0xe1, 0x9f, 0x88, 0xb4, 0x14, 0xc1, 0x52, 0xa4, 0xd6, 0xa2,
+	0x09, 0x55, 0x10, 0x54, 0x5c, 0x58, 0x17, 0xae, 0x84, 0x52, 0x77, 0x6e, 0x4a, 0xfa, 0x1c, 0xc3,
+	0x93, 0x24, 0x13, 0x5f, 0xd2, 0x6e, 0xc4, 0x8d, 0x27, 0x10, 0x3c, 0x87, 0xa7, 0xf1, 0x0a, 0x1e,
+	0x44, 0xfa, 0x92, 0x16, 0x6d, 0x11, 0xdc, 0x0d, 0x33, 0xbf, 0x6f, 0x32, 0xdf, 0x4c, 0xc8, 0xa1,
+	0x44, 0x94, 0x0a, 0x78, 0xaa, 0x70, 0x74, 0xcf, 0xb5, 0xe2, 0xe3, 0xce, 0x10, 0xbc, 0xe8, 0x70,
+	0x9b, 0xe3, 0x23, 0xa4, 0x7e, 0xe0, 0x20, 0x1f, 0x67, 0x29, 0x30, 0x9b, 0xa3, 0x47, 0x5a, 0x09,
+	0x38, 0x2b, 0x70, 0xa6, 0x15, 0x8b, 0x78, 0x6d, 0x3b, 0xf6, 0x11, 0x36, 0xe3, 0xc2, 0x18, 0xf4,
+	0xc2, 0x67, 0x68, 0x5c, 0x90, 0x35, 0x9a, 0x64, 0xfd, 0x1a, 0xfc, 0x15, 0x9a, 0x87, 0x4c, 0xf6,
+	0xe1, 0x69, 0x04, 0xce, 0x53, 0x4a, 0x96, 0x8d, 0xd0, 0x50, 0x4d, 0xea, 0x49, 0xab, 0xdc, 0x2f,
+	0xe2, 0x86, 0x27, 0x1b, 0x3f, 0x38, 0x67, 0xd1, 0x38, 0xa0, 0x7b, 0x64, 0x2d, 0x0e, 0x31, 0x10,
+	0x69, 0x8a, 0x23, 0xe3, 0xa3, 0x66, 0x35, 0xa6, 0x2f, 0x43, 0x96, 0x9e, 0x90, 0xca, 0x1c, 0x38,
+	0x88, 0x2e, 0xaa, 0xa5, 0x7a, 0xd2, 0x5a, 0xea, 0x6f, 0xfd, 0x16, 0xf4, 0x42, 0xf1, 0xe8, 0x23,
+	0x21, 0xd5, 0x18, 0xdf, 0x08, 0x23, 0x24, 0x68, 0x30, 0xfe, 0x36, 0xa0, 0xf4, 0x2d, 0x21, 0xe5,
+	0xd9, 0x4c, 0x74, 0x9f, 0xfd, 0xb1, 0x00, 0x36, 0xef, 0xaf, 0xd6, 0xfe, 0x0f, 0x1a, 0x2c, 0x36,
+	0x0e, 0x5e, 0x3f, 0xbf, 0xde, 0x4b, 0x4d, 0xba, 0x3b, 0x5b, 0xff, 0xf3, 0x64, 0x1f, 0x17, 0x71,
+	0x7c, 0xc7, 0xdb, 0x2f, 0x67, 0x72, 0xaa, 0xea, 0x3a, 0xb2, 0x93, 0xa2, 0x5e, 0x68, 0x2f, 0x6c,
+	0x36, 0x7d, 0xa2, 0xbb, 0x19, 0xfd, 0x44, 0x17, 0xbd, 0xc9, 0x15, 0x7a, 0xc9, 0xdd, 0x69, 0xd4,
+	0x48, 0x54, 0xc2, 0x48, 0x86, 0xb9, 0xe4, 0x12, 0x4c, 0x71, 0x23, 0x1e, 0x4a, 0xc2, 0x66, 0x6e,
+	0xe1, 0x33, 0x9c, 0x6b, 0x35, 0x5c, 0x29, 0xa8, 0xe3, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x76,
+	0x59, 0xc4, 0x91, 0x31, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/ml/v1beta1/project_service.proto b/googleapis/cloud/ml/v1beta1/project_service.proto
deleted file mode 100644
index d0834b30f4b5ad04932655f78f7de6733089504d..0000000000000000000000000000000000000000
--- a/googleapis/cloud/ml/v1beta1/project_service.proto
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.ml.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ProjectServiceProto";
-option java_package = "com.google.cloud.ml.api.v1beta1";
-
-
-// Allows retrieving project related information.
-service ProjectManagementService {
-  // Get the service account information associated with your project. You need
-  // this information in order to grant the service account persmissions for
-  // the Google Cloud Storage location where you put your model training code
-  // for training the model with Google Cloud Machine Learning.
-  rpc GetConfig(GetConfigRequest) returns (GetConfigResponse) {
-    option (google.api.http) = { get: "/v1beta1/{name=projects/*}:getConfig" };
-  }
-}
-
-// Requests service account information associated with a project.
-message GetConfigRequest {
-  // Required. The project name.
-  //
-  // Authorization: requires `Viewer` role on the specified project.
-  string name = 1;
-}
-
-// Returns service account information associated with a project.
-message GetConfigResponse {
-  // The service account Cloud ML uses to access resources in the project.
-  string service_account = 1;
-
-  // The project number for `service_account`.
-  int64 service_account_project = 2;
-}
diff --git a/googleapis/cloud/runtimeconfig/v1beta1/resources.pb.go b/googleapis/cloud/runtimeconfig/v1beta1/resources.pb.go
index 983393cc1b21d5ca1c72d229ea1b6d8b3c646f94..ac6200ce866a5c1dd4739b20ada2877203cd5b9b 100644
--- a/googleapis/cloud/runtimeconfig/v1beta1/resources.pb.go
+++ b/googleapis/cloud/runtimeconfig/v1beta1/resources.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/resources.proto
+// source: google/cloud/runtimeconfig/v1beta1/resources.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_runtimeconfig_v1beta1 is a generated protocol buffer package.
+Package runtimeconfig is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/resources.proto
-	google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
+	google/cloud/runtimeconfig/v1beta1/resources.proto
+	google/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
 
 It has these top-level messages:
 	RuntimeConfig
@@ -33,12 +33,12 @@ It has these top-level messages:
 	CreateWaiterRequest
 	DeleteWaiterRequest
 */
-package google_cloud_runtimeconfig_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1"
+package runtimeconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
@@ -110,6 +110,20 @@ func (m *RuntimeConfig) String() string            { return proto.CompactTextStr
 func (*RuntimeConfig) ProtoMessage()               {}
 func (*RuntimeConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *RuntimeConfig) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *RuntimeConfig) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 // Describes a single variable within a RuntimeConfig resource.
 // The name denotes the hierarchical variable name. For example,
 // `ports/serving_port` is a valid variable name. The variable value is an
@@ -174,6 +188,13 @@ func (m *Variable) GetContents() isVariable_Contents {
 	return nil
 }
 
+func (m *Variable) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Variable) GetValue() []byte {
 	if x, ok := m.GetContents().(*Variable_Value); ok {
 		return x.Value
@@ -195,6 +216,13 @@ func (m *Variable) GetUpdateTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *Variable) GetState() VariableState {
+	if m != nil {
+		return m.State
+	}
+	return VariableState_VARIABLE_STATE_UNSPECIFIED
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Variable) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _Variable_OneofMarshaler, _Variable_OneofUnmarshaler, _Variable_OneofSizer, []interface{}{
@@ -382,6 +410,20 @@ func (m *EndCondition_Cardinality) String() string            { return proto.Com
 func (*EndCondition_Cardinality) ProtoMessage()               {}
 func (*EndCondition_Cardinality) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
 
+func (m *EndCondition_Cardinality) GetPath() string {
+	if m != nil {
+		return m.Path
+	}
+	return ""
+}
+
+func (m *EndCondition_Cardinality) GetNumber() int32 {
+	if m != nil {
+		return m.Number
+	}
+	return 0
+}
+
 // A Waiter resource waits for some end condition within a RuntimeConfig resource
 // to be met before it returns. For example, assume you have a distributed
 // system where each node writes to a Variable resource indidicating the node's
@@ -445,6 +487,13 @@ func (m *Waiter) String() string            { return proto.CompactTextString(m)
 func (*Waiter) ProtoMessage()               {}
 func (*Waiter) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *Waiter) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Waiter) GetTimeout() *google_protobuf1.Duration {
 	if m != nil {
 		return m.Timeout
@@ -473,6 +522,13 @@ func (m *Waiter) GetCreateTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *Waiter) GetDone() bool {
+	if m != nil {
+		return m.Done
+	}
+	return false
+}
+
 func (m *Waiter) GetError() *google_rpc.Status {
 	if m != nil {
 		return m.Error
@@ -489,49 +545,46 @@ func init() {
 	proto.RegisterEnum("google.cloud.runtimeconfig.v1beta1.VariableState", VariableState_name, VariableState_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/resources.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/runtimeconfig/v1beta1/resources.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 611 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x53, 0x4d, 0x4f, 0xdb, 0x4c,
-	0x10, 0x8e, 0x79, 0xf3, 0x01, 0x63, 0x78, 0x85, 0x56, 0xaf, 0x90, 0xdf, 0x1c, 0xaa, 0x28, 0x87,
-	0x2a, 0xe2, 0x60, 0x97, 0x70, 0x42, 0xb4, 0x87, 0x7c, 0xb8, 0x25, 0x15, 0xaa, 0xa8, 0x13, 0xe8,
-	0x91, 0x6e, 0xd6, 0x8b, 0x59, 0xc9, 0xd9, 0xb5, 0xf6, 0x03, 0x95, 0x7f, 0xd6, 0x5f, 0xd3, 0x53,
-	0x7f, 0x48, 0xb5, 0x6b, 0x1b, 0x82, 0x8a, 0x44, 0xda, 0x53, 0x66, 0x3c, 0xf3, 0x3c, 0x33, 0xcf,
-	0xb3, 0x13, 0xf8, 0x9c, 0x09, 0x91, 0xe5, 0x34, 0xcc, 0x44, 0x8e, 0x79, 0x16, 0x0a, 0x99, 0x45,
-	0x19, 0xe5, 0x85, 0x14, 0x5a, 0x44, 0x65, 0x09, 0x17, 0x4c, 0x45, 0x24, 0x17, 0x26, 0x8d, 0xa4,
-	0xe1, 0x9a, 0xad, 0x28, 0x11, 0xfc, 0x86, 0x65, 0xd1, 0xdd, 0xd1, 0x92, 0x6a, 0x7c, 0x14, 0x49,
-	0xaa, 0x84, 0x91, 0x84, 0xaa, 0xd0, 0xc1, 0x50, 0xbf, 0xa2, 0x74, 0x98, 0xf0, 0x09, 0x26, 0xac,
-	0x30, 0xdd, 0xd9, 0x66, 0x63, 0x71, 0xc1, 0x22, 0x45, 0xe5, 0x1d, 0x23, 0xf5, 0x50, 0xcc, 0xb9,
-	0xd0, 0x58, 0x33, 0xc1, 0xab, 0x71, 0xdd, 0x93, 0x8c, 0xe9, 0x5b, 0xb3, 0x0c, 0x89, 0x58, 0x45,
-	0x25, 0x5d, 0xe4, 0x0a, 0x4b, 0x73, 0x13, 0x15, 0xfa, 0xbe, 0xa0, 0x2a, 0x4a, 0x8d, 0x74, 0x90,
-	0x87, 0xa0, 0x82, 0x9e, 0xbe, 0x0c, 0xb5, 0xbb, 0x2b, 0x8d, 0x57, 0xc5, 0x63, 0x54, 0x81, 0xdf,
-	0x6d, 0x26, 0x41, 0x16, 0x24, 0x52, 0x1a, 0x6b, 0xa3, 0xaa, 0x9f, 0x12, 0xde, 0x8f, 0x61, 0x2f,
-	0x29, 0xad, 0x99, 0x38, 0x65, 0x08, 0x41, 0x93, 0xe3, 0x15, 0x0d, 0xbc, 0x9e, 0x37, 0xd8, 0x49,
-	0x5c, 0x8c, 0x7a, 0xe0, 0xa7, 0x54, 0x11, 0xc9, 0x0a, 0xbb, 0x75, 0xb0, 0xe5, 0x4a, 0xeb, 0x9f,
-	0xfa, 0x3f, 0x3c, 0xd8, 0xbe, 0xc2, 0x92, 0xe1, 0x65, 0x4e, 0x9f, 0xa5, 0x38, 0x80, 0xd6, 0x1d,
-	0xce, 0x0d, 0x75, 0xe0, 0xdd, 0xb3, 0x46, 0x52, 0xa6, 0xe8, 0x3f, 0x68, 0x6a, 0xfa, 0x4d, 0x07,
-	0x2d, 0xdb, 0x7b, 0xd6, 0x48, 0x5c, 0x86, 0x4e, 0xc1, 0x37, 0x45, 0x8a, 0x35, 0xbd, 0xb6, 0x9b,
-	0x05, 0xff, 0xf4, 0xbc, 0x81, 0x3f, 0xec, 0x86, 0x95, 0xd4, 0xda, 0x9c, 0x70, 0x51, 0x7b, 0x91,
-	0x40, 0xd9, 0x6e, 0x3f, 0xa0, 0x0f, 0xd0, 0xb2, 0x12, 0x69, 0xd0, 0xec, 0x79, 0x83, 0x7f, 0x87,
-	0x47, 0xe1, 0xcb, 0x87, 0x10, 0xd6, 0xbb, 0xcf, 0x2d, 0x30, 0x29, 0xf1, 0x63, 0x80, 0x6d, 0x22,
-	0xb8, 0xa6, 0x5c, 0xab, 0xfe, 0x77, 0x0f, 0x76, 0x63, 0x9e, 0x4e, 0x04, 0x4f, 0x99, 0x55, 0x8c,
-	0xbe, 0x82, 0x4f, 0xb0, 0x4c, 0x19, 0xc7, 0x39, 0xd3, 0xf7, 0x4e, 0xab, 0x3f, 0x7c, 0xbb, 0xc9,
-	0xac, 0x75, 0x9a, 0x70, 0xf2, 0xc8, 0x71, 0xd6, 0x48, 0xd6, 0x29, 0xbb, 0x27, 0xe0, 0xaf, 0x55,
-	0xad, 0xab, 0x05, 0xd6, 0xb7, 0xb5, 0xab, 0x36, 0x46, 0x07, 0xd0, 0xe6, 0x66, 0xb5, 0xa4, 0xd2,
-	0xd9, 0xda, 0x4a, 0xaa, 0x6c, 0xec, 0xc3, 0x0e, 0xa9, 0x47, 0xf4, 0x7f, 0x6e, 0x41, 0xfb, 0x0b,
-	0x66, 0x9a, 0xca, 0x67, 0x5f, 0xe6, 0x18, 0x3a, 0x76, 0x49, 0x61, 0xb4, 0x23, 0xf1, 0x87, 0xff,
-	0xff, 0xe6, 0xf3, 0xb4, 0xba, 0xd7, 0xa4, 0xee, 0x44, 0x1f, 0xa1, 0x73, 0x83, 0x59, 0x6e, 0x64,
-	0xfd, 0x38, 0x6f, 0xfe, 0x54, 0x79, 0x52, 0x13, 0x58, 0x2e, 0x65, 0x08, 0xa1, 0x4a, 0xb9, 0x17,
-	0xfb, 0x2b, 0xae, 0x8a, 0xc0, 0x1e, 0x0e, 0x91, 0xf4, 0xe1, 0x70, 0x5a, 0x2f, 0x1f, 0x4e, 0xd9,
-	0xee, 0x0e, 0x07, 0x41, 0x33, 0x15, 0x9c, 0x06, 0xed, 0x9e, 0x37, 0xd8, 0x4e, 0x5c, 0x8c, 0x06,
-	0xd0, 0xa2, 0x52, 0x0a, 0x19, 0x74, 0x1c, 0x15, 0xaa, 0xa9, 0x64, 0x41, 0xc2, 0xb9, 0xfb, 0x23,
-	0x25, 0x65, 0xc3, 0xe1, 0x0c, 0xf6, 0x9e, 0x5c, 0x11, 0x7a, 0x05, 0xdd, 0xab, 0x51, 0x32, 0x1b,
-	0x8d, 0xcf, 0xe3, 0xeb, 0xf9, 0x62, 0xb4, 0x88, 0xaf, 0x2f, 0x3f, 0xcd, 0x2f, 0xe2, 0xc9, 0xec,
-	0xfd, 0x2c, 0x9e, 0xee, 0x37, 0x90, 0x0f, 0x9d, 0xcb, 0x8b, 0xe9, 0x68, 0x11, 0x4f, 0xf7, 0x3d,
-	0x9b, 0x4c, 0xe3, 0xf3, 0xd8, 0x26, 0x5b, 0xe3, 0x43, 0x78, 0x4d, 0xc4, 0x6a, 0x03, 0x17, 0x2e,
-	0xbc, 0x65, 0xdb, 0x89, 0x3a, 0xfe, 0x15, 0x00, 0x00, 0xff, 0xff, 0x8a, 0x78, 0x05, 0x3a, 0x42,
-	0x05, 0x00, 0x00,
+	// 595 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x5f, 0x6f, 0xd3, 0x3e,
+	0x14, 0x6d, 0xf6, 0xeb, 0x9f, 0xed, 0x66, 0xfb, 0x69, 0xb2, 0xd0, 0x08, 0x15, 0x1a, 0x55, 0x1f,
+	0x50, 0xc5, 0x43, 0xc2, 0xba, 0x27, 0x34, 0x5e, 0xfa, 0x27, 0xb0, 0xa2, 0x09, 0x26, 0xb7, 0x1b,
+	0x12, 0x2f, 0xc3, 0x75, 0xbc, 0x10, 0x29, 0xb5, 0x23, 0xc7, 0x9e, 0x40, 0x7c, 0x31, 0x3e, 0x0d,
+	0x4f, 0x7c, 0x10, 0x64, 0xc7, 0x81, 0x0e, 0x26, 0x36, 0x78, 0xf3, 0xf5, 0x3d, 0xe7, 0xdc, 0x7b,
+	0x8f, 0x6f, 0x02, 0xc3, 0x54, 0x88, 0x34, 0x67, 0x11, 0xcd, 0x85, 0x4e, 0x22, 0xa9, 0xb9, 0xca,
+	0x56, 0x8c, 0x0a, 0x7e, 0x99, 0xa5, 0xd1, 0xd5, 0xc1, 0x92, 0x29, 0x72, 0x10, 0x49, 0x56, 0x0a,
+	0x2d, 0x29, 0x2b, 0xc3, 0x42, 0x0a, 0x25, 0x50, 0xbf, 0xe2, 0x84, 0x96, 0x13, 0x5e, 0xe3, 0x84,
+	0x8e, 0xd3, 0x7d, 0xe8, 0x74, 0x49, 0x91, 0x45, 0x84, 0x73, 0xa1, 0x88, 0xca, 0x04, 0x77, 0x0a,
+	0xdd, 0x7d, 0x97, 0xb5, 0xd1, 0x52, 0x5f, 0x46, 0x89, 0x96, 0x16, 0xe0, 0xf2, 0x8f, 0x7e, 0xcd,
+	0x9b, 0x0a, 0xa5, 0x22, 0xab, 0xc2, 0x01, 0xee, 0x3b, 0x80, 0x2c, 0x68, 0x54, 0x2a, 0xa2, 0xb4,
+	0x53, 0xee, 0xc7, 0xb0, 0x83, 0xab, 0x86, 0x26, 0xb6, 0x21, 0x84, 0xa0, 0xc9, 0xc9, 0x8a, 0x05,
+	0x5e, 0xcf, 0x1b, 0x6c, 0x61, 0x7b, 0x46, 0x3d, 0xf0, 0x13, 0x56, 0x52, 0x99, 0x15, 0xa6, 0x66,
+	0xb0, 0x61, 0x53, 0xeb, 0x57, 0xfd, 0xaf, 0x1e, 0x6c, 0x9e, 0x13, 0x99, 0x91, 0x65, 0xce, 0x6e,
+	0x94, 0xd8, 0x83, 0xd6, 0x15, 0xc9, 0x35, 0xb3, 0xe4, 0xed, 0xe3, 0x06, 0xae, 0x42, 0x74, 0x0f,
+	0x9a, 0x8a, 0x7d, 0x54, 0x41, 0xcb, 0x60, 0x8f, 0x1b, 0xd8, 0x46, 0xe8, 0x08, 0x7c, 0x5d, 0x24,
+	0x44, 0xb1, 0x0b, 0xd3, 0x59, 0xf0, 0x5f, 0xcf, 0x1b, 0xf8, 0xc3, 0x6e, 0xe8, 0x7c, 0xac, 0xa7,
+	0x0c, 0x17, 0xf5, 0x94, 0x18, 0x2a, 0xb8, 0xb9, 0x40, 0x2f, 0xa1, 0x65, 0x46, 0x64, 0x41, 0xb3,
+	0xe7, 0x0d, 0xfe, 0x1f, 0x1e, 0x84, 0xb7, 0xdb, 0x1f, 0xd6, 0xbd, 0xcf, 0x0d, 0x11, 0x57, 0xfc,
+	0x31, 0xc0, 0x26, 0x15, 0x5c, 0x31, 0xae, 0xca, 0xfe, 0x17, 0x0f, 0xb6, 0x63, 0x9e, 0x4c, 0x04,
+	0x4f, 0x32, 0x33, 0x31, 0x7a, 0x0f, 0x3e, 0x25, 0x32, 0xc9, 0x38, 0xc9, 0x33, 0xf5, 0xc9, 0xce,
+	0xea, 0x0f, 0x9f, 0xdf, 0xa5, 0xd6, 0xba, 0x4c, 0x38, 0xf9, 0xa9, 0x71, 0xdc, 0xc0, 0xeb, 0x92,
+	0xdd, 0x67, 0xe0, 0xaf, 0x65, 0x8d, 0xab, 0x05, 0x51, 0x1f, 0x6a, 0x57, 0xcd, 0x19, 0xed, 0x41,
+	0x9b, 0xeb, 0xd5, 0x92, 0x49, 0x6b, 0x6b, 0x0b, 0xbb, 0x68, 0xec, 0xc3, 0x16, 0xad, 0x4b, 0xf4,
+	0xbf, 0x6d, 0x40, 0xfb, 0x2d, 0xc9, 0x14, 0x93, 0x37, 0xbe, 0xcc, 0x21, 0x74, 0x4c, 0x93, 0x42,
+	0x2b, 0x2b, 0xe2, 0x0f, 0x1f, 0xfc, 0xe6, 0xf3, 0xd4, 0x6d, 0x1b, 0xae, 0x91, 0xe8, 0x15, 0x74,
+	0x2e, 0x49, 0x96, 0x6b, 0x59, 0x3f, 0xce, 0xd3, 0xbf, 0x9d, 0x1c, 0xd7, 0x02, 0x46, 0xab, 0xd4,
+	0x94, 0xb2, 0xb2, 0xb4, 0x2f, 0xf6, 0x4f, 0x5a, 0x4e, 0xc0, 0x2c, 0x0e, 0x95, 0xec, 0xc7, 0xe2,
+	0xb4, 0x6e, 0x5f, 0x9c, 0x0a, 0x6e, 0x17, 0x07, 0x41, 0x33, 0x11, 0x9c, 0x05, 0xed, 0x9e, 0x37,
+	0xd8, 0xc4, 0xf6, 0x8c, 0x06, 0xd0, 0x62, 0x52, 0x0a, 0x19, 0x74, 0xac, 0x14, 0xaa, 0xa5, 0x64,
+	0x41, 0xc3, 0xb9, 0xfd, 0x90, 0x70, 0x05, 0x78, 0x32, 0x83, 0x9d, 0x6b, 0x5b, 0x84, 0xf6, 0xa1,
+	0x7b, 0x3e, 0xc2, 0xb3, 0xd1, 0xf8, 0x24, 0xbe, 0x98, 0x2f, 0x46, 0x8b, 0xf8, 0xe2, 0xec, 0xf5,
+	0xfc, 0x34, 0x9e, 0xcc, 0x5e, 0xcc, 0xe2, 0xe9, 0x6e, 0x03, 0xf9, 0xd0, 0x39, 0x3b, 0x9d, 0x8e,
+	0x16, 0xf1, 0x74, 0xd7, 0x33, 0xc1, 0x34, 0x3e, 0x89, 0x4d, 0xb0, 0x31, 0xfe, 0x0c, 0x8f, 0xa9,
+	0x58, 0xdd, 0xc1, 0x85, 0x53, 0xef, 0xdd, 0x1b, 0x87, 0x4a, 0x45, 0x4e, 0x78, 0x1a, 0x0a, 0x99,
+	0x46, 0x29, 0xe3, 0x76, 0xd2, 0xa8, 0x4a, 0x91, 0x22, 0x2b, 0xff, 0xf4, 0xbf, 0x3a, 0xba, 0x76,
+	0xbb, 0x6c, 0x5b, 0xee, 0xe1, 0xf7, 0x00, 0x00, 0x00, 0xff, 0xff, 0x55, 0xc5, 0x17, 0x72, 0xea,
+	0x04, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/runtimeconfig/v1beta1/resources.proto b/googleapis/cloud/runtimeconfig/v1beta1/resources.proto
deleted file mode 100644
index 4b45c3ab494424b1f97ab5af5c99c8848df8a849..0000000000000000000000000000000000000000
--- a/googleapis/cloud/runtimeconfig/v1beta1/resources.proto
+++ /dev/null
@@ -1,207 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.runtimeconfig.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-
-option java_multiple_files = true;
-option java_package = "com.google.cloud.runtimeconfig.v1beta1";
-
-
-// A RuntimeConfig resource is the primary resource in the Cloud RuntimeConfig
-// service. A RuntimeConfig resource consists of metadata and a hierarchy of
-// variables.
-message RuntimeConfig {
-  // The resource name of a runtime config. The name must have the format:
-  //
-  //     projects/[PROJECT_ID]/configs/[CONFIG_NAME]
-  //
-  // The `[PROJECT_ID]` must be a valid project ID, and `[CONFIG_NAME]` is an
-  // arbitrary name that matches RFC 1035 segment specification. The length of
-  // `[CONFIG_NAME]` must be less than 64 bytes.
-  //
-  // You pick the RuntimeConfig resource name, but the server will validate that
-  // the name adheres to this format. After you create the resource, you cannot
-  // change the resource's name.
-  string name = 1;
-
-  // An optional description of the RuntimeConfig object.
-  // The length of the description must be less than 256 bytes.
-  string description = 2;
-}
-
-// Describes a single variable within a RuntimeConfig resource.
-// The name denotes the hierarchical variable name. For example,
-// `ports/serving_port` is a valid variable name. The variable value is an
-// opaque string and only leaf variables can have values (that is, variables
-// that do not have any child variables).
-message Variable {
-  // The name of the variable resource, in the format:
-  //
-  //     projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]
-  //
-  // The `[PROJECT_ID]` must be a valid project ID, `[CONFIG_NAME]` must be a
-  // valid RuntimeConfig reource and `[VARIABLE_NAME]` follows Unix file system
-  // file path naming.
-  //
-  // The `[VARIABLE_NAME]` can contain ASCII letters, numbers, slashes and
-  // dashes. Slashes are used as path element separators and are not part of the
-  // `[VARIABLE_NAME]` itself, so `[VARIABLE_NAME]` must contain at least one
-  // non-slash character. Multiple slashes are coalesced into single slash
-  // character. Each path segment should follow RFC 1035 segment specification.
-  // The length of a `[VARIABLE_NAME]` must be less than 256 bytes.
-  //
-  // Once you create a variable, you cannot change the variable name.
-  string name = 1;
-
-  // The the value of the variable. It can be either a binary or a string
-  // value. Specifying both will cause server to issue an error.
-  oneof contents {
-    // The binary value of the variable. The length of the value must be less
-    // than 4096 bytes. Empty values are also accepted. The value must be
-    // Base64 encoded.
-    // NB: Only one of value and string_value can be set at the same time.
-    bytes value = 2;
-
-    // The textual value of the variable. The length of the value must be less
-    // than 4096 bytes. Empty values are also accepted.
-    // NB: Only one of value and string_value can be set at the same time.
-    string text = 5;
-  }
-
-  // [Output Only] The time of the last variable update.
-  google.protobuf.Timestamp update_time = 3;
-
-  // [Ouput only] The current state of the variable. The variable state indicates
-  // the outcome of the `variables().watch` call and is visible through the
-  // `get` and `list` calls.
-  VariableState state = 4;
-}
-
-// The condition that a Waiter resource is waiting for.
-message EndCondition {
-  // A Cardinality condition for the Waiter resource. A cardinality condition is
-  // met when the number of variables under a specified path prefix reaches a
-  // predefined number. For example, if you set a Cardinality condition where
-  // the `path` is set to `/foo` and the number of paths is set to 2, the
-  // following variables would meet the condition in a RuntimeConfig resource:
-  //
-  // + `/foo/variable1 = "value1"`
-  // + `/foo/variable2 = "value2"`
-  // + `/bar/variable3 = "value3"`
-  //
-  // It would not would not satisify the same condition with the `number` set to
-  // 3, however, because there is only 2 paths that start with `/foo`.
-  // Cardinality conditions are recursive; all subtrees under the specific
-  // path prefix are counted.
-  message Cardinality {
-    // The root of the variable subtree to monitor. For example, `/foo`.
-    string path = 1;
-
-    // The number variables under the `path` that must exist to meet this
-    // condition. Defaults to 1 if not specified.
-    int32 number = 2;
-  }
-
-  // The condition oneof holds the available condition types for this
-  // EndCondition. Currently, the only available type is Cardinality.
-  oneof condition {
-    // The cardinality of the `EndCondition`.
-    Cardinality cardinality = 1;
-  }
-}
-
-// A Waiter resource waits for some end condition within a RuntimeConfig resource
-// to be met before it returns. For example, assume you have a distributed
-// system where each node writes to a Variable resource indidicating the node's
-// readiness as part of the startup process.
-//
-// You then configure a Waiter resource with the success condition set to wait
-// until some number of nodes have checked in. Afterwards, your application
-// runs some arbitrary code after the condition has been met and the waiter
-// returns successfully.
-//
-// Once created, a Waiter resource is immutable.
-//
-// To learn more about using waiters, read the
-// [Creating a Waiter](/deployment-manager/runtime-configurator/creating-a-waiter)
-// documentation.
-message Waiter {
-  // The name of the Waiter resource, in the format:
-  //
-  //     projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]
-  //
-  // The `[PROJECT_ID]` must be a valid Google Cloud project ID,
-  // the `[CONFIG_NAME]` must be a valid RuntimeConfig resource, the
-  // `[WAITER_NAME]` must match RFC 1035 segment specification, and the length
-  // of `[WAITER_NAME]` must be less than 64 bytes.
-  //
-  // After you create a Waiter resource, you cannot change the resource name.
-  string name = 1;
-
-  // [Required] Specifies the timeout of the waiter in seconds, beginning from
-  // the instant that `waiters().create` method is called. If this time elapses
-  // before the success or failure conditions are met, the waiter fails and sets
-  // the `error` code to `DEADLINE_EXCEEDED`.
-  google.protobuf.Duration timeout = 2;
-
-  // [Optional] The failure condition of this waiter. If this condition is met,
-  // `done` will be set to `true` and the `error` code will be set to `ABORTED`.
-  // The failure condition takes precedence over the success condition. If both
-  // conditions are met, a failure will be indicated. This value is optional; if
-  // no failure condition is set, the only failure scenario will be a timeout.
-  EndCondition failure = 3;
-
-  // [Required] The success condition. If this condition is met, `done` will be
-  // set to `true` and the `error` value will remain unset. The failure condition
-  // takes precedence over the success condition. If both conditions are met, a
-  // failure will be indicated.
-  EndCondition success = 4;
-
-  // [Output Only] The instant at which this Waiter resource was created. Adding
-  // the value of `timeout` to this instant yields the timeout deadline for the
-  // waiter.
-  google.protobuf.Timestamp create_time = 5;
-
-  // [Output Only] If the value is `false`, it means the waiter is still waiting
-  // for one of its conditions to be met.
-  //
-  // If true, the waiter has finished. If the waiter finished due to a timeout
-  // or failure, `error` will be set.
-  bool done = 6;
-
-  // [Output Only] If the waiter ended due to a failure or timeout, this value
-  // will be set.
-  google.rpc.Status error = 7;
-}
-
-// The `VariableState` describes the last known state of the variable and is
-// used during a `variables().watch` call to distinguish the state of the
-// variable.
-enum VariableState {
-  // Default variable state.
-  VARIABLE_STATE_UNSPECIFIED = 0;
-
-  // The variable was updated, while `variables().watch` was executing.
-  UPDATED = 1;
-
-  // The variable was deleted, while `variables().watch` was executing.
-  DELETED = 2;
-}
diff --git a/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.pb.go b/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.pb.go
index 96319cac740c410e09a0949909481b7322b991d6..62a82ff066f7f35962097de23ae82e008f2d0d12 100644
--- a/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.pb.go
+++ b/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
+// source: google/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
 // DO NOT EDIT!
 
-package google_cloud_runtimeconfig_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1"
+package runtimeconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf4 "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
@@ -40,6 +40,27 @@ func (m *ListConfigsRequest) String() string            { return proto.CompactTe
 func (*ListConfigsRequest) ProtoMessage()               {}
 func (*ListConfigsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *ListConfigsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListConfigsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListConfigsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // `ListConfigs()` returns the following response. The order of returned
 // objects is arbitrary; that is, it is not ordered in any particular way.
 type ListConfigsResponse struct {
@@ -66,6 +87,13 @@ func (m *ListConfigsResponse) GetConfigs() []*RuntimeConfig {
 	return nil
 }
 
+func (m *ListConfigsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Gets a RuntimeConfig resource.
 type GetConfigRequest struct {
 	// The name of the RuntimeConfig resource to retrieve, in the format:
@@ -79,6 +107,13 @@ func (m *GetConfigRequest) String() string            { return proto.CompactText
 func (*GetConfigRequest) ProtoMessage()               {}
 func (*GetConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
+func (m *GetConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Creates a RuntimeConfig resource.
 type CreateConfigRequest struct {
 	// The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)
@@ -104,6 +139,13 @@ func (m *CreateConfigRequest) String() string            { return proto.CompactT
 func (*CreateConfigRequest) ProtoMessage()               {}
 func (*CreateConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
+func (m *CreateConfigRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 func (m *CreateConfigRequest) GetConfig() *RuntimeConfig {
 	if m != nil {
 		return m.Config
@@ -111,6 +153,13 @@ func (m *CreateConfigRequest) GetConfig() *RuntimeConfig {
 	return nil
 }
 
+func (m *CreateConfigRequest) GetRequestId() string {
+	if m != nil {
+		return m.RequestId
+	}
+	return ""
+}
+
 // Request message for `UpdateConfig()` method.
 type UpdateConfigRequest struct {
 	// The name of the RuntimeConfig resource to update, in the format:
@@ -126,6 +175,13 @@ func (m *UpdateConfigRequest) String() string            { return proto.CompactT
 func (*UpdateConfigRequest) ProtoMessage()               {}
 func (*UpdateConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
+func (m *UpdateConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *UpdateConfigRequest) GetConfig() *RuntimeConfig {
 	if m != nil {
 		return m.Config
@@ -146,6 +202,13 @@ func (m *DeleteConfigRequest) String() string            { return proto.CompactT
 func (*DeleteConfigRequest) ProtoMessage()               {}
 func (*DeleteConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *DeleteConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request for the `ListVariables()` method.
 type ListVariablesRequest struct {
 	// The path to the RuntimeConfig resource for which you want to list variables.
@@ -170,6 +233,34 @@ func (m *ListVariablesRequest) String() string            { return proto.Compact
 func (*ListVariablesRequest) ProtoMessage()               {}
 func (*ListVariablesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
 
+func (m *ListVariablesRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListVariablesRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListVariablesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListVariablesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the `ListVariables()` method.
 type ListVariablesResponse struct {
 	// A list of variables and their values. The order of returned variable
@@ -195,6 +286,13 @@ func (m *ListVariablesResponse) GetVariables() []*Variable {
 	return nil
 }
 
+func (m *ListVariablesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the `WatchVariable()` method.
 type WatchVariableRequest struct {
 	// The name of the variable to watch, in the format:
@@ -215,6 +313,13 @@ func (m *WatchVariableRequest) String() string            { return proto.Compact
 func (*WatchVariableRequest) ProtoMessage()               {}
 func (*WatchVariableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
 
+func (m *WatchVariableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *WatchVariableRequest) GetNewerThan() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.NewerThan
@@ -235,6 +340,13 @@ func (m *GetVariableRequest) String() string            { return proto.CompactTe
 func (*GetVariableRequest) ProtoMessage()               {}
 func (*GetVariableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
 
+func (m *GetVariableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request for the `CreateVariable()` method.
 type CreateVariableRequest struct {
 	// The path to the RutimeConfig resource that this variable should belong to.
@@ -262,6 +374,13 @@ func (m *CreateVariableRequest) String() string            { return proto.Compac
 func (*CreateVariableRequest) ProtoMessage()               {}
 func (*CreateVariableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
 
+func (m *CreateVariableRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 func (m *CreateVariableRequest) GetVariable() *Variable {
 	if m != nil {
 		return m.Variable
@@ -269,6 +388,13 @@ func (m *CreateVariableRequest) GetVariable() *Variable {
 	return nil
 }
 
+func (m *CreateVariableRequest) GetRequestId() string {
+	if m != nil {
+		return m.RequestId
+	}
+	return ""
+}
+
 // Request for the `UpdateVariable()` method.
 type UpdateVariableRequest struct {
 	// The name of the variable to update, in the format:
@@ -284,6 +410,13 @@ func (m *UpdateVariableRequest) String() string            { return proto.Compac
 func (*UpdateVariableRequest) ProtoMessage()               {}
 func (*UpdateVariableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
 
+func (m *UpdateVariableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *UpdateVariableRequest) GetVariable() *Variable {
 	if m != nil {
 		return m.Variable
@@ -307,6 +440,20 @@ func (m *DeleteVariableRequest) String() string            { return proto.Compac
 func (*DeleteVariableRequest) ProtoMessage()               {}
 func (*DeleteVariableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
 
+func (m *DeleteVariableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *DeleteVariableRequest) GetRecursive() bool {
+	if m != nil {
+		return m.Recursive
+	}
+	return false
+}
+
 // Request for the `ListWaiters()` method.
 type ListWaitersRequest struct {
 	// The path to the configuration for which you want to get a list of waiters.
@@ -327,6 +474,27 @@ func (m *ListWaitersRequest) String() string            { return proto.CompactTe
 func (*ListWaitersRequest) ProtoMessage()               {}
 func (*ListWaitersRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
 
+func (m *ListWaitersRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListWaitersRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListWaitersRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the `ListWaiters()` method.
 // Order of returned waiter objects is arbitrary.
 type ListWaitersResponse struct {
@@ -352,6 +520,13 @@ func (m *ListWaitersResponse) GetWaiters() []*Waiter {
 	return nil
 }
 
+func (m *ListWaitersResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the `GetWaiter()` method.
 type GetWaiterRequest struct {
 	// The fully-qualified name of the Waiter resource object to retrieve, in the
@@ -366,6 +541,13 @@ func (m *GetWaiterRequest) String() string            { return proto.CompactText
 func (*GetWaiterRequest) ProtoMessage()               {}
 func (*GetWaiterRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} }
 
+func (m *GetWaiterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for `CreateWaiter()` method.
 type CreateWaiterRequest struct {
 	// The path to the configuration that will own the waiter.
@@ -393,6 +575,13 @@ func (m *CreateWaiterRequest) String() string            { return proto.CompactT
 func (*CreateWaiterRequest) ProtoMessage()               {}
 func (*CreateWaiterRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
 
+func (m *CreateWaiterRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 func (m *CreateWaiterRequest) GetWaiter() *Waiter {
 	if m != nil {
 		return m.Waiter
@@ -400,6 +589,13 @@ func (m *CreateWaiterRequest) GetWaiter() *Waiter {
 	return nil
 }
 
+func (m *CreateWaiterRequest) GetRequestId() string {
+	if m != nil {
+		return m.RequestId
+	}
+	return ""
+}
+
 // Request for the `DeleteWaiter()` method.
 type DeleteWaiterRequest struct {
 	// The Waiter resource to delete, in the format:
@@ -413,6 +609,13 @@ func (m *DeleteWaiterRequest) String() string            { return proto.CompactT
 func (*DeleteWaiterRequest) ProtoMessage()               {}
 func (*DeleteWaiterRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
 
+func (m *DeleteWaiterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*ListConfigsRequest)(nil), "google.cloud.runtimeconfig.v1beta1.ListConfigsRequest")
 	proto.RegisterType((*ListConfigsResponse)(nil), "google.cloud.runtimeconfig.v1beta1.ListConfigsResponse")
@@ -1053,83 +1256,82 @@ var _RuntimeConfigManager_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto",
+	Metadata: "google/cloud/runtimeconfig/v1beta1/runtimeconfig.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto", fileDescriptor1)
+	proto.RegisterFile("google/cloud/runtimeconfig/v1beta1/runtimeconfig.proto", fileDescriptor1)
 }
 
 var fileDescriptor1 = []byte{
-	// 1115 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x98, 0xcf, 0x6f, 0x1b, 0x45,
-	0x14, 0xc7, 0x35, 0x49, 0x49, 0xe3, 0x97, 0x26, 0xa0, 0xc9, 0x0f, 0x45, 0x0b, 0x95, 0xa2, 0x15,
-	0x8a, 0xc2, 0xaa, 0xda, 0x6d, 0x92, 0xaa, 0x4d, 0x0c, 0xe5, 0x90, 0x14, 0x95, 0xf0, 0x43, 0x14,
-	0x93, 0xd2, 0x63, 0x34, 0x76, 0x26, 0xeb, 0x05, 0x7b, 0x76, 0x99, 0x1d, 0x27, 0xb4, 0x28, 0x97,
-	0x72, 0x03, 0x21, 0x21, 0x71, 0x28, 0x27, 0x0e, 0x48, 0x70, 0x42, 0x88, 0x13, 0x17, 0x44, 0xff,
-	0x09, 0x24, 0xfe, 0x02, 0xfe, 0x10, 0xb4, 0xf3, 0x63, 0xbd, 0xeb, 0xd8, 0xf1, 0x6c, 0x08, 0x97,
-	0x28, 0x1e, 0xef, 0x7b, 0xef, 0x33, 0x6f, 0xbe, 0x3b, 0xdf, 0x27, 0xc3, 0xc3, 0x30, 0x8e, 0xc3,
-	0x0e, 0xf5, 0xc3, 0xb8, 0x43, 0x58, 0xe8, 0xc7, 0x3c, 0x0c, 0x42, 0xca, 0x12, 0x1e, 0x8b, 0x38,
-	0x50, 0x5f, 0x91, 0x24, 0x4a, 0x83, 0x56, 0x27, 0xee, 0x1d, 0x06, 0xbc, 0xc7, 0x44, 0xd4, 0xa5,
-	0xad, 0x98, 0x1d, 0x45, 0x61, 0x70, 0xbc, 0xde, 0xa4, 0x82, 0xac, 0x97, 0x57, 0x7d, 0x19, 0x8a,
-	0x5d, 0x9d, 0x56, 0xc6, 0xf9, 0xe5, 0x27, 0x74, 0x9c, 0xb3, 0x67, 0x57, 0x9a, 0x24, 0x51, 0x90,
-	0x52, 0x7e, 0x1c, 0xb5, 0x4c, 0x61, 0xc2, 0x58, 0x2c, 0x88, 0x88, 0x62, 0x96, 0xaa, 0x72, 0xce,
-	0x87, 0x97, 0xb0, 0x0b, 0x9a, 0xc6, 0x3d, 0xde, 0xa2, 0x26, 0xe5, 0x8e, 0x5d, 0xca, 0x4e, 0xcc,
-	0x42, 0xde, 0x63, 0x2c, 0x62, 0x61, 0x10, 0x27, 0x94, 0x97, 0xb0, 0x36, 0xc3, 0x48, 0xb4, 0x7b,
-	0x4d, 0xbf, 0x15, 0x77, 0x03, 0x95, 0x27, 0x90, 0x5f, 0x34, 0x7b, 0x47, 0x41, 0x22, 0x1e, 0x27,
-	0x34, 0x0d, 0x68, 0x37, 0x11, 0x8f, 0xd5, 0x5f, 0x1d, 0xf4, 0xfa, 0xf8, 0xa0, 0x0c, 0x3f, 0x15,
-	0xa4, 0x9b, 0xf4, 0xff, 0x53, 0xc1, 0x6e, 0x1b, 0xf0, 0x7b, 0x51, 0x2a, 0x76, 0xe5, 0xde, 0xd2,
-	0x06, 0xfd, 0xac, 0x47, 0x53, 0x81, 0x97, 0x60, 0x2a, 0x21, 0x9c, 0x32, 0xb1, 0x8c, 0x56, 0xd0,
-	0x5a, 0xad, 0xa1, 0x3f, 0xe1, 0x97, 0xa1, 0x96, 0x90, 0x90, 0x1e, 0xa4, 0xd1, 0x13, 0xba, 0x3c,
-	0xb1, 0x82, 0xd6, 0x5e, 0x68, 0x4c, 0x67, 0x0b, 0x1f, 0x45, 0x4f, 0x28, 0xbe, 0x0e, 0x20, 0xbf,
-	0x14, 0xf1, 0xa7, 0x94, 0x2d, 0x4f, 0xca, 0x40, 0xf9, 0xf8, 0x7e, 0xb6, 0xe0, 0x7e, 0x85, 0x60,
-	0xbe, 0x54, 0x2a, 0x4d, 0x62, 0x96, 0x52, 0xfc, 0x2e, 0x5c, 0x55, 0x9d, 0x4d, 0x97, 0xd1, 0xca,
-	0xe4, 0xda, 0xcc, 0xc6, 0xba, 0x3f, 0x5e, 0x0b, 0x7e, 0x43, 0xad, 0xaa, 0x64, 0x0d, 0x93, 0x01,
-	0xaf, 0xc2, 0x8b, 0x8c, 0x7e, 0x2e, 0x0e, 0x0a, 0x20, 0x13, 0x12, 0x64, 0x36, 0x5b, 0x7e, 0x90,
-	0xc3, 0xac, 0xc2, 0x4b, 0xf7, 0xa9, 0x46, 0x31, 0x9b, 0xc6, 0x70, 0x85, 0x91, 0x2e, 0xd5, 0x01,
-	0xf2, 0x7f, 0xf7, 0x19, 0x82, 0xf9, 0x5d, 0x4e, 0x89, 0xa0, 0xe5, 0x67, 0x47, 0x35, 0x68, 0x0f,
-	0xa6, 0x14, 0x8a, 0xcc, 0x72, 0xa1, 0xbd, 0xe8, 0x04, 0x59, 0x3b, 0xb9, 0xaa, 0x76, 0x10, 0x1d,
-	0x9a, 0x76, 0xea, 0x95, 0xbd, 0x43, 0x57, 0xc0, 0xfc, 0xc3, 0xe4, 0xf0, 0x0c, 0x98, 0xd9, 0x04,
-	0xea, 0x6f, 0xe2, 0x12, 0xa1, 0xdc, 0xd7, 0x60, 0xfe, 0x1e, 0xed, 0x50, 0x8b, 0xaa, 0xee, 0x53,
-	0x04, 0x0b, 0xd9, 0x79, 0x7f, 0x4c, 0x78, 0x44, 0x9a, 0x1d, 0x3a, 0x56, 0x5c, 0x4b, 0x30, 0x75,
-	0x14, 0x75, 0x04, 0xe5, 0xfa, 0x04, 0xf4, 0xa7, 0xb2, 0xe8, 0x26, 0xcf, 0x15, 0xdd, 0x95, 0x41,
-	0xd1, 0x7d, 0x8d, 0x60, 0x71, 0x00, 0x42, 0xcb, 0xee, 0x1d, 0xa8, 0x1d, 0x9b, 0x45, 0x2d, 0xbc,
-	0x1b, 0x36, 0x7d, 0x31, 0x99, 0x1a, 0xfd, 0x70, 0x6b, 0xd5, 0x51, 0x58, 0x78, 0x44, 0x44, 0xab,
-	0x9d, 0xe7, 0x38, 0xe7, 0xd0, 0xb6, 0x01, 0x18, 0x3d, 0xa1, 0xfc, 0x40, 0xb4, 0x89, 0xda, 0xd8,
-	0xcc, 0x86, 0x63, 0x00, 0xcd, 0xfb, 0xed, 0xef, 0x9b, 0xd7, 0xb9, 0x51, 0x93, 0x4f, 0xef, 0xb7,
-	0x09, 0x73, 0xd7, 0x00, 0xdf, 0xa7, 0xc2, 0xa2, 0x88, 0xfb, 0x3d, 0x82, 0x45, 0x25, 0xef, 0xc1,
-	0xa7, 0x47, 0x1d, 0xd2, 0xdb, 0x30, 0x6d, 0xf6, 0xad, 0xd5, 0x54, 0xad, 0x6b, 0x79, 0xf4, 0x38,
-	0x7d, 0xf7, 0x60, 0x51, 0xe9, 0xdb, 0xa6, 0x59, 0x97, 0x46, 0xe5, 0xee, 0xc1, 0xa2, 0x12, 0xb8,
-	0x4d, 0xd9, 0x57, 0xa0, 0xc6, 0x69, 0xab, 0xc7, 0xd3, 0xe8, 0x58, 0xd5, 0x9d, 0x6e, 0xf4, 0x17,
-	0xcc, 0xd5, 0xfa, 0x88, 0x44, 0x82, 0xf2, 0xff, 0xf5, 0x6a, 0xfd, 0x52, 0x5f, 0xad, 0x79, 0x29,
-	0xad, 0xf1, 0x7b, 0x70, 0xf5, 0x44, 0x2d, 0x69, 0x85, 0x7b, 0x36, 0x5d, 0x51, 0x59, 0x1a, 0x26,
-	0xb4, 0xe2, 0x9d, 0xaa, 0xa3, 0xcf, 0x11, 0xdd, 0xb7, 0xf9, 0x9d, 0x5a, 0x7e, 0x76, 0x54, 0x67,
-	0x76, 0x60, 0x4a, 0xa1, 0xe8, 0xa3, 0xad, 0xb2, 0x09, 0x1d, 0x39, 0x4e, 0x6c, 0xf9, 0xb5, 0x36,
-	0x96, 0x7e, 0xe3, 0xef, 0x05, 0x58, 0x28, 0xdd, 0x8d, 0xef, 0x13, 0x46, 0x42, 0xca, 0xf1, 0x2f,
-	0x08, 0x66, 0x0a, 0xfe, 0x86, 0x6f, 0xdb, 0x60, 0x9e, 0xf5, 0x5e, 0xe7, 0x4e, 0xe5, 0x38, 0x75,
-	0xda, 0xee, 0x8d, 0xa7, 0x7f, 0xfd, 0xf3, 0xdd, 0xc4, 0x2a, 0x7e, 0x35, 0x1f, 0x51, 0xbe, 0x50,
-	0x1d, 0xbc, 0x9b, 0xf0, 0xf8, 0x13, 0xda, 0x12, 0x69, 0xe0, 0x9d, 0x06, 0xc6, 0x29, 0x7f, 0x44,
-	0x50, 0xcb, 0x2d, 0x10, 0xdf, 0xb2, 0x29, 0x3a, 0xe8, 0x98, 0x4e, 0x75, 0x23, 0x19, 0x06, 0x99,
-	0xb5, 0xb5, 0x80, 0x68, 0x08, 0x03, 0xef, 0x14, 0xff, 0x86, 0xe0, 0x5a, 0xd1, 0x7e, 0xb1, 0x55,
-	0x73, 0x86, 0x18, 0xf6, 0x45, 0x50, 0x6f, 0x49, 0x54, 0xdf, 0xb5, 0xea, 0x67, 0xdd, 0xd8, 0x76,
-	0x86, 0x5c, 0x34, 0x66, 0x3b, 0xe4, 0x21, 0x56, 0xfe, 0x1f, 0x90, 0x1d, 0xab, 0xee, 0xe6, 0xc8,
-	0xdf, 0x20, 0xb8, 0x56, 0x74, 0x75, 0x3b, 0xe4, 0x21, 0x73, 0x80, 0xb3, 0x74, 0xc6, 0xa0, 0xde,
-	0xca, 0x06, 0x55, 0x73, 0xea, 0x9e, 0xdd, 0xa9, 0x3f, 0x47, 0x30, 0x5b, 0x32, 0x6d, 0xbc, 0x65,
-	0xfb, 0x4e, 0x0c, 0x0e, 0x1b, 0xce, 0xf6, 0x05, 0x22, 0xf5, 0xfb, 0xb4, 0x25, 0xa1, 0x37, 0xf0,
-	0xcd, 0x73, 0xce, 0xbf, 0x80, 0x1d, 0xf4, 0xe7, 0x81, 0x5f, 0x11, 0xcc, 0x14, 0x1c, 0xd8, 0xee,
-	0x2a, 0x38, 0x6b, 0xd9, 0x4e, 0x25, 0x13, 0x73, 0xb7, 0x25, 0xef, 0x26, 0x5e, 0xb7, 0x68, 0x72,
-	0x1f, 0x36, 0xf0, 0xbc, 0x53, 0xfc, 0x07, 0x82, 0xd9, 0xd2, 0x64, 0x62, 0xd7, 0xf1, 0x61, 0xc3,
-	0x4c, 0x45, 0xe8, 0x1d, 0x09, 0xfd, 0x86, 0x7b, 0xa7, 0x32, 0x74, 0xfd, 0x24, 0xab, 0x5e, 0x47,
-	0x1e, 0xfe, 0x13, 0xc1, 0x5c, 0x79, 0x8a, 0xc1, 0xdb, 0xf6, 0xf7, 0xc4, 0xe5, 0xf0, 0x57, 0x16,
-	0x49, 0xbd, 0x3f, 0x09, 0x3d, 0x47, 0x30, 0x57, 0x9e, 0x75, 0xec, 0xf8, 0x87, 0xce, 0x47, 0x15,
-	0xf9, 0x77, 0x25, 0xff, 0x5d, 0xa7, 0xba, 0x68, 0x0a, 0x1b, 0xf8, 0x01, 0xc1, 0x5c, 0x79, 0x6a,
-	0xb2, 0xdb, 0xc0, 0xd0, 0x49, 0x6b, 0xe4, 0x25, 0xa2, 0xf5, 0xed, 0x5d, 0x40, 0xdf, 0xbf, 0x6b,
-	0x6f, 0xd6, 0x03, 0x92, 0xbd, 0x37, 0x97, 0x87, 0x37, 0x7b, 0x6f, 0x1e, 0x98, 0xc4, 0xdc, 0xdb,
-	0x92, 0xfd, 0x26, 0xf6, 0x2d, 0x65, 0x62, 0x66, 0xaf, 0x9f, 0x94, 0x4b, 0xab, 0x74, 0xd6, 0x2e,
-	0x5d, 0x9a, 0x62, 0x9c, 0x0a, 0xf3, 0xd2, 0x30, 0xce, 0xd1, 0x3d, 0xd6, 0x90, 0xd9, 0x95, 0xfd,
-	0x73, 0x6e, 0xd4, 0x1a, 0xb5, 0x82, 0x51, 0x97, 0x69, 0xaf, 0x9b, 0xc0, 0xc2, 0x0f, 0x25, 0xfe,
-	0x07, 0xe6, 0x87, 0x12, 0xf7, 0x4d, 0x09, 0xb8, 0xe5, 0x56, 0x6c, 0x64, 0xdd, 0x0c, 0x82, 0xcf,
-	0x72, 0xaf, 0xab, 0x02, 0x3a, 0x64, 0x38, 0x1c, 0x29, 0x53, 0xdd, 0x42, 0xaf, 0x62, 0x0b, 0x77,
-	0x3c, 0x58, 0x6d, 0xc5, 0x5d, 0x0b, 0x9a, 0x07, 0xa8, 0x39, 0x25, 0x6b, 0x6e, 0xfe, 0x1b, 0x00,
-	0x00, 0xff, 0xff, 0x90, 0xc1, 0xfd, 0xca, 0x8d, 0x13, 0x00, 0x00,
+	// 1099 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x98, 0x4d, 0x6f, 0xdc, 0x44,
+	0x18, 0xc7, 0x35, 0x49, 0xd9, 0x66, 0x9f, 0x34, 0x01, 0x4d, 0x5e, 0x14, 0xb9, 0xad, 0x88, 0x0c,
+	0x8a, 0xc2, 0xaa, 0xb2, 0x9b, 0x6d, 0x95, 0x26, 0x0b, 0xe5, 0x90, 0x14, 0x95, 0xf0, 0xa2, 0x56,
+	0x26, 0x50, 0x89, 0x4b, 0x34, 0xd9, 0x4c, 0x1c, 0xc3, 0xee, 0xd8, 0xd8, 0xb3, 0x09, 0xb4, 0xca,
+	0xa5, 0xdc, 0x40, 0x48, 0x48, 0x1c, 0xca, 0x89, 0x03, 0x12, 0x9c, 0x10, 0xe2, 0xc4, 0x05, 0xd1,
+	0x2f, 0x81, 0xc4, 0x27, 0xe0, 0x83, 0x20, 0xcf, 0x8b, 0xd7, 0xde, 0x78, 0x77, 0xc7, 0x21, 0xdc,
+	0x76, 0xc7, 0xf3, 0xcc, 0xfc, 0xe6, 0x99, 0xbf, 0x9f, 0xff, 0x23, 0xc3, 0xba, 0x1f, 0x86, 0x7e,
+	0x87, 0xba, 0xed, 0x4e, 0xd8, 0x3b, 0x70, 0xe3, 0x1e, 0xe3, 0x41, 0x97, 0xb6, 0x43, 0x76, 0x18,
+	0xf8, 0xee, 0xf1, 0xda, 0x3e, 0xe5, 0x64, 0xad, 0x38, 0xea, 0x44, 0x71, 0xc8, 0x43, 0x6c, 0xcb,
+	0x38, 0x47, 0xc4, 0x39, 0xc5, 0x19, 0x2a, 0xce, 0xba, 0xa6, 0xd6, 0x26, 0x51, 0xe0, 0x12, 0xc6,
+	0x42, 0x4e, 0x78, 0x10, 0xb2, 0x44, 0xae, 0x60, 0x35, 0x4d, 0x76, 0xa6, 0x49, 0xd8, 0x8b, 0xdb,
+	0x54, 0xc7, 0xbc, 0xa2, 0x62, 0x3a, 0x21, 0xf3, 0xe3, 0x1e, 0x63, 0x01, 0xf3, 0xdd, 0x30, 0xa2,
+	0x71, 0x61, 0xe1, 0xab, 0x6a, 0x92, 0xf8, 0xb7, 0xdf, 0x3b, 0x74, 0x69, 0x37, 0xe2, 0x5f, 0xa8,
+	0x87, 0x2f, 0x0f, 0x3e, 0x4c, 0x77, 0x4d, 0x38, 0xe9, 0x46, 0x72, 0x82, 0x7d, 0x04, 0xf8, 0xbd,
+	0x20, 0xe1, 0xdb, 0x02, 0x24, 0xf1, 0xe8, 0x67, 0x3d, 0x9a, 0x70, 0xbc, 0x08, 0xb5, 0x88, 0xc4,
+	0x94, 0xf1, 0x25, 0xb4, 0x8c, 0x56, 0xeb, 0x9e, 0xfa, 0x87, 0xaf, 0x42, 0x3d, 0x22, 0x3e, 0xdd,
+	0x4b, 0x82, 0xc7, 0x74, 0x69, 0x62, 0x19, 0xad, 0xbe, 0xe0, 0x4d, 0xa5, 0x03, 0x1f, 0x04, 0x8f,
+	0x29, 0xbe, 0x0e, 0x20, 0x1e, 0xf2, 0xf0, 0x53, 0xca, 0x96, 0x26, 0x45, 0xa0, 0x98, 0xbe, 0x9b,
+	0x0e, 0xd8, 0x5f, 0x21, 0x98, 0x2b, 0x6c, 0x95, 0x44, 0x21, 0x4b, 0x28, 0x7e, 0x17, 0x2e, 0xcb,
+	0x34, 0x24, 0x4b, 0x68, 0x79, 0x72, 0x75, 0xba, 0xb9, 0xe6, 0x8c, 0x4f, 0xb6, 0xe3, 0xc9, 0x51,
+	0xb9, 0x98, 0xa7, 0x57, 0xc0, 0x2b, 0xf0, 0x22, 0xa3, 0x9f, 0xf3, 0xbd, 0x1c, 0xc8, 0x84, 0x00,
+	0x99, 0x49, 0x87, 0x1f, 0x66, 0x30, 0x2b, 0xf0, 0xd2, 0x7d, 0xaa, 0x50, 0xf4, 0xa1, 0x31, 0x5c,
+	0x62, 0xa4, 0x4b, 0x55, 0x80, 0xf8, 0x6d, 0x3f, 0x43, 0x30, 0xb7, 0x1d, 0x53, 0xc2, 0x69, 0x71,
+	0xee, 0xb0, 0x04, 0xed, 0x40, 0x4d, 0xa2, 0x88, 0x55, 0xce, 0x75, 0x16, 0xb5, 0x40, 0x9a, 0xce,
+	0x58, 0xee, 0xb6, 0x17, 0x1c, 0xe8, 0x74, 0xaa, 0x91, 0x9d, 0x03, 0x9b, 0xc3, 0xdc, 0x87, 0xd1,
+	0xc1, 0x19, 0x30, 0x7d, 0x08, 0xd4, 0x3f, 0xc4, 0x05, 0x42, 0xd9, 0xaf, 0xc1, 0xdc, 0x3d, 0xda,
+	0xa1, 0x06, 0xbb, 0xda, 0x4f, 0x11, 0xcc, 0xa7, 0xf7, 0xfd, 0x11, 0x89, 0x03, 0xb2, 0xdf, 0xa1,
+	0x63, 0xc5, 0xb5, 0x08, 0xb5, 0xc3, 0xa0, 0xc3, 0x69, 0xac, 0x6e, 0x40, 0xfd, 0x2b, 0x8a, 0x6e,
+	0x72, 0xa4, 0xe8, 0x2e, 0x0d, 0x8a, 0xee, 0x6b, 0x04, 0x0b, 0x03, 0x10, 0x4a, 0x76, 0xef, 0x40,
+	0xfd, 0x58, 0x0f, 0x2a, 0xe1, 0xdd, 0x30, 0xc9, 0x8b, 0x5e, 0xc9, 0xeb, 0x87, 0x1b, 0xab, 0x8e,
+	0xc2, 0xfc, 0x23, 0xc2, 0xdb, 0x47, 0xd9, 0x1a, 0x23, 0x2e, 0x6d, 0x13, 0x80, 0xd1, 0x13, 0x1a,
+	0xef, 0xf1, 0x23, 0x22, 0x0f, 0x36, 0xdd, 0xb4, 0x34, 0xa0, 0x7e, 0x9d, 0x9d, 0x5d, 0xfd, 0x3a,
+	0x7b, 0x75, 0x31, 0x7b, 0xf7, 0x88, 0x30, 0x7b, 0x15, 0xf0, 0x7d, 0xca, 0x0d, 0x36, 0xb1, 0xbf,
+	0x47, 0xb0, 0x20, 0xe5, 0x3d, 0x38, 0x7b, 0xd8, 0x25, 0xbd, 0x0d, 0x53, 0xfa, 0xdc, 0x4a, 0x4d,
+	0xd5, 0xb2, 0x96, 0x45, 0x8f, 0xd3, 0x77, 0x0f, 0x16, 0xa4, 0xbe, 0x4d, 0x92, 0x75, 0x61, 0x54,
+	0xf6, 0x0e, 0x2c, 0x48, 0x81, 0x9b, 0x6c, 0x7b, 0x0d, 0xea, 0x31, 0x6d, 0xf7, 0xe2, 0x24, 0x38,
+	0x96, 0xfb, 0x4e, 0x79, 0xfd, 0x01, 0x5d, 0x5a, 0x1f, 0x91, 0x80, 0xd3, 0xf8, 0x7f, 0x2d, 0xad,
+	0x5f, 0xaa, 0xd2, 0x9a, 0x6d, 0xa5, 0x34, 0x7e, 0x0f, 0x2e, 0x9f, 0xc8, 0x21, 0xa5, 0xf0, 0x86,
+	0x49, 0x56, 0xe4, 0x2a, 0x9e, 0x0e, 0xad, 0x58, 0x53, 0x55, 0xf4, 0x08, 0xd1, 0x7d, 0x9b, 0xd5,
+	0xd4, 0xe2, 0xdc, 0x61, 0x99, 0xd9, 0x82, 0x9a, 0x44, 0x51, 0x57, 0x5b, 0xe5, 0x10, 0x2a, 0x72,
+	0x9c, 0xd8, 0xb2, 0xb2, 0x36, 0x96, 0xbe, 0xf9, 0xf7, 0x3c, 0xcc, 0x17, 0x6a, 0xe3, 0xfb, 0x84,
+	0x11, 0x9f, 0xc6, 0xf8, 0x17, 0x04, 0xd3, 0x39, 0x7f, 0xc3, 0xeb, 0x26, 0x98, 0x67, 0xbd, 0xd7,
+	0xba, 0x53, 0x39, 0x4e, 0xde, 0xb6, 0x7d, 0xe3, 0xe9, 0x5f, 0xff, 0x7c, 0x37, 0xb1, 0x82, 0x5f,
+	0xcd, 0xfa, 0x89, 0x27, 0x32, 0x83, 0x77, 0xa3, 0x38, 0xfc, 0x84, 0xb6, 0x79, 0xe2, 0x36, 0x4e,
+	0x5d, 0xed, 0x94, 0x3f, 0x22, 0xa8, 0x67, 0x16, 0x88, 0x6f, 0x9b, 0x6c, 0x3a, 0xe8, 0x98, 0x56,
+	0x75, 0x23, 0x29, 0x83, 0x4c, 0xd3, 0x9a, 0x43, 0xd4, 0x84, 0x6e, 0xe3, 0x14, 0xff, 0x86, 0xe0,
+	0x4a, 0xde, 0x7e, 0xb1, 0x51, 0x72, 0x4a, 0x0c, 0xfb, 0x3c, 0xa8, 0xb7, 0x05, 0xaa, 0x63, 0x1b,
+	0xe5, 0xb3, 0xa5, 0x6d, 0x3b, 0x45, 0xce, 0x1b, 0xb3, 0x19, 0x72, 0x89, 0x95, 0xff, 0x07, 0x64,
+	0xcb, 0x28, 0xbb, 0x19, 0xf2, 0x37, 0x08, 0xae, 0xe4, 0x5d, 0xdd, 0x0c, 0xb9, 0xa4, 0x0f, 0xb0,
+	0x16, 0xcf, 0x18, 0xd4, 0x5b, 0x69, 0x33, 0xaa, 0x6f, 0xbd, 0x61, 0x76, 0xeb, 0xcf, 0x11, 0xcc,
+	0x14, 0x4c, 0x1b, 0x6f, 0x98, 0xbe, 0x13, 0x83, 0xcd, 0x86, 0xb5, 0x79, 0x8e, 0x48, 0xf5, 0x3e,
+	0x6d, 0x08, 0xe8, 0x26, 0xbe, 0x39, 0xe2, 0xfe, 0x73, 0xd8, 0x6e, 0xbf, 0x1f, 0xf8, 0x15, 0xc1,
+	0x74, 0xce, 0x81, 0xcd, 0x4a, 0xc1, 0x59, 0xcb, 0xb6, 0x2a, 0x99, 0x98, 0xbd, 0x29, 0x78, 0x6f,
+	0xe1, 0x35, 0x83, 0x24, 0xf7, 0x61, 0xdd, 0x46, 0xe3, 0x14, 0xff, 0x81, 0x60, 0xa6, 0xd0, 0x99,
+	0x98, 0x65, 0xbc, 0xac, 0x99, 0xa9, 0x08, 0xbd, 0x25, 0xa0, 0xdf, 0xb0, 0xef, 0x54, 0x86, 0x6e,
+	0x9d, 0xa4, 0xbb, 0xb7, 0x50, 0x03, 0xff, 0x89, 0x60, 0xb6, 0xd8, 0xc5, 0xe0, 0x4d, 0xf3, 0x3a,
+	0x71, 0x31, 0xfc, 0x95, 0x45, 0xd2, 0xea, 0x77, 0x42, 0xcf, 0x11, 0xcc, 0x16, 0x7b, 0x1d, 0x33,
+	0xfe, 0xd2, 0xfe, 0xa8, 0x22, 0xff, 0xb6, 0xe0, 0xbf, 0x6b, 0x55, 0x17, 0x4d, 0xee, 0x00, 0x3f,
+	0x20, 0x98, 0x2d, 0x76, 0x4d, 0x66, 0x07, 0x28, 0xed, 0xb4, 0x86, 0x16, 0x11, 0xa5, 0xef, 0xc6,
+	0x39, 0xf4, 0xfd, 0xbb, 0xf2, 0x66, 0xd5, 0x20, 0x99, 0x7b, 0x73, 0xb1, 0x79, 0x33, 0xf7, 0xe6,
+	0x81, 0x4e, 0xcc, 0x5e, 0x17, 0xec, 0x37, 0xb1, 0x63, 0x28, 0x13, 0xdd, 0x7b, 0xfd, 0x24, 0x5d,
+	0x5a, 0x2e, 0x67, 0xec, 0xd2, 0x85, 0x2e, 0xc6, 0xaa, 0xd0, 0x2f, 0x95, 0x71, 0x0e, 0xcf, 0xb1,
+	0x82, 0x4c, 0x4b, 0xf6, 0xcf, 0x99, 0x51, 0x2b, 0xd4, 0x0a, 0x46, 0x5d, 0xa4, 0xbd, 0xae, 0x03,
+	0x73, 0x1f, 0x3d, 0x9c, 0x07, 0xfa, 0xa3, 0x87, 0xfd, 0xa6, 0x00, 0xdc, 0xb0, 0x2b, 0x26, 0xb2,
+	0xa5, 0x1b, 0xc1, 0x67, 0x99, 0xd7, 0x55, 0x01, 0x2d, 0x69, 0x0e, 0x87, 0xca, 0x54, 0xa5, 0xb0,
+	0x51, 0x31, 0x85, 0x5b, 0x4f, 0x60, 0xa5, 0x1d, 0x76, 0x0d, 0x68, 0x1e, 0xa2, 0x8f, 0x1f, 0xa8,
+	0x59, 0x7e, 0xd8, 0x21, 0xcc, 0x77, 0xc2, 0xd8, 0x77, 0x7d, 0xca, 0x04, 0x88, 0x2b, 0x1f, 0x91,
+	0x28, 0x48, 0x46, 0x7d, 0x6b, 0x7a, 0xbd, 0x30, 0xba, 0x5f, 0x13, 0xb1, 0xb7, 0xfe, 0x0d, 0x00,
+	0x00, 0xff, 0xff, 0xa4, 0xfc, 0xe7, 0x5c, 0x20, 0x13, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto b/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
deleted file mode 100644
index 33dd84de08b3ab62a66cd68abafddac099608729..0000000000000000000000000000000000000000
--- a/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
+++ /dev/null
@@ -1,401 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.runtimeconfig.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/resources.proto"; // from google/cloud/runtimeconfig/v1beta1/resources.proto
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_package = "com.google.cloud.runtimeconfig.v1beta1";
-
-
-// RuntimeConfig API represents configuration objects and operations on those
-// configuration objects.
-// RuntimeConfig objects consist of Variables logically grouped in the those
-// objects.
-// Variables are simple key-value pairs. Variables can be watched for changes or
-// deletions. Variable key can be hieararchical, e.g. ports/serving_port,
-// ports/monitoring_port, etc. Variable names can be hierarchical. No variable
-// name can be prefix of another.
-// Config objects represent logical containers for variables, e.g. flags,
-// passwords, etc.
-service RuntimeConfigManager {
-  // Lists all the RuntimeConfig resources within project.
-  rpc ListConfigs(ListConfigsRequest) returns (ListConfigsResponse) {
-    option (google.api.http) = { get: "/v1beta1/{parent=projects/*}/configs" };
-  }
-
-  // Gets information about a RuntimeConfig resource.
-  rpc GetConfig(GetConfigRequest) returns (RuntimeConfig) {
-    option (google.api.http) = { get: "/v1beta1/{name=projects/*/configs/*}" };
-  }
-
-  // Creates a new RuntimeConfig resource. The configuration name must be
-  // unique within project.
-  rpc CreateConfig(CreateConfigRequest) returns (RuntimeConfig) {
-    option (google.api.http) = { post: "/v1beta1/{parent=projects/*}/configs" body: "config" };
-  }
-
-  // Updates a RuntimeConfig resource. The configuration must exist beforehand.
-  rpc UpdateConfig(UpdateConfigRequest) returns (RuntimeConfig) {
-    option (google.api.http) = { put: "/v1beta1/{name=projects/*/configs/*}" body: "config" };
-  }
-
-  // Deletes a RuntimeConfig resource.
-  rpc DeleteConfig(DeleteConfigRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1beta1/{name=projects/*/configs/*}" };
-  }
-
-  // Lists variables within given a configuration, matching any provided filters.
-  // This only lists variable names, not the values.
-  rpc ListVariables(ListVariablesRequest) returns (ListVariablesResponse) {
-    option (google.api.http) = { get: "/v1beta1/{parent=projects/*/configs/*}/variables" };
-  }
-
-  // Gets information about a single variable.
-  rpc GetVariable(GetVariableRequest) returns (Variable) {
-    option (google.api.http) = { get: "/v1beta1/{name=projects/*/configs/*/variables/**}" };
-  }
-
-  // Watches a specific variable and waits for a change in the variable's value.
-  // When there is a change, this method returns the new value or times out.
-  //
-  // If a variable is deleted while being watched, the `variableState` state is
-  // set to `DELETED` and the method returns the last known variable `value`.
-  //
-  // If you set the deadline for watching to a larger value than internal timeout
-  // (60 seconds), the current variable value is returned and the `variableState`
-  // will be `VARIABLE_STATE_UNSPECIFIED`.
-  //
-  // To learn more about creating a watcher, read the
-  // [Watching a Variable for Changes](/deployment-manager/runtime-configurator/watching-a-variable)
-  // documentation.
-  rpc WatchVariable(WatchVariableRequest) returns (Variable) {
-    option (google.api.http) = { post: "/v1beta1/{name=projects/*/configs/*/variables/**}:watch" body: "*" };
-  }
-
-  // Creates a variable within the given configuration. You cannot create
-  // a variable with a name that is a prefix of an existing variable name, or a
-  // name that has an existing variable name as a prefix.
-  //
-  // To learn more about creating a variable, read the
-  // [Setting and Getting Data](/deployment-manager/runtime-configurator/set-and-get-variables)
-  // documentation.
-  rpc CreateVariable(CreateVariableRequest) returns (Variable) {
-    option (google.api.http) = { post: "/v1beta1/{parent=projects/*/configs/*}/variables" body: "variable" };
-  }
-
-  // Updates an existing variable with a new value.
-  rpc UpdateVariable(UpdateVariableRequest) returns (Variable) {
-    option (google.api.http) = { put: "/v1beta1/{name=projects/*/configs/*/variables/**}" body: "variable" };
-  }
-
-  // Deletes a variable or multiple variables.
-  //
-  // If you specify a variable name, then that variable is deleted. If you
-  // specify a prefix and `recursive` is true, then all variables with that
-  // prefix are deleted. You must set a `recursive` to true if you delete
-  // variables by prefix.
-  rpc DeleteVariable(DeleteVariableRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1beta1/{name=projects/*/configs/*/variables/**}" };
-  }
-
-  // List waiters within the given configuration.
-  rpc ListWaiters(ListWaitersRequest) returns (ListWaitersResponse) {
-    option (google.api.http) = { get: "/v1beta1/{parent=projects/*/configs/*}/waiters" };
-  }
-
-  // Gets information about a single waiter.
-  rpc GetWaiter(GetWaiterRequest) returns (Waiter) {
-    option (google.api.http) = { get: "/v1beta1/{name=projects/*/configs/*/waiters/*}" };
-  }
-
-  // Creates a Waiter resource. This operation returns a long-running Operation
-  // resource which can be polled for completion. However, a waiter with the
-  // given name will exist (and can be retrieved) prior to the operation
-  // completing. If the operation fails, the failed Waiter resource will
-  // still exist and must be deleted prior to subsequent creation attempts.
-  rpc CreateWaiter(CreateWaiterRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1beta1/{parent=projects/*/configs/*}/waiters" body: "waiter" };
-  }
-
-  // Deletes the waiter with the specified name.
-  rpc DeleteWaiter(DeleteWaiterRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1beta1/{name=projects/*/configs/*/waiters/*}" };
-  }
-}
-
-// Request for the `ListConfigs()` method.
-message ListConfigsRequest {
-  // The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)
-  // for this request, in the format `projects/[PROJECT_ID]`.
-  string parent = 1;
-
-  // Specifies the number of results to return per page. If there are fewer
-  // elements than the specified number, returns all elements.
-  int32 page_size = 2;
-
-  // Specifies a page token to use. Set `pageToken` to a `nextPageToken`
-  // returned by a previous list request to get the next page of results.
-  string page_token = 3;
-}
-
-// `ListConfigs()` returns the following response. The order of returned
-// objects is arbitrary; that is, it is not ordered in any particular way.
-message ListConfigsResponse {
-  // A list of the configurations in the project. The order of returned
-  // objects is arbitrary; that is, it is not ordered in any particular way.
-  repeated RuntimeConfig configs = 1;
-
-  // This token allows you to get the next page of results for list requests.
-  // If the number of results is larger than `pageSize`, use the `nextPageToken`
-  // as a value for the query parameter `pageToken` in the next list request.
-  // Subsequent list requests will have their own `nextPageToken` to continue
-  // paging through the results
-  string next_page_token = 2;
-}
-
-// Gets a RuntimeConfig resource.
-message GetConfigRequest {
-  // The name of the RuntimeConfig resource to retrieve, in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
-  string name = 2;
-}
-
-// Creates a RuntimeConfig resource.
-message CreateConfigRequest {
-  // The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)
-  // for this request, in the format `projects/[PROJECT_ID]`.
-  string parent = 1;
-
-  // The RuntimeConfig to create.
-  RuntimeConfig config = 2;
-
-  // An optional but recommended unique `request_id`. If the server
-  // receives two `create()` requests  with the same
-  // `request_id`, then the second request will be ignored and the
-  // first resource created and stored in the backend is returned.
-  // Empty `request_id` fields are ignored.
-  //
-  // It is responsibility of the client to ensure uniqueness of the
-  // `request_id` strings.
-  //
-  // `request_id` strings are limited to 64 characters.
-  string request_id = 3;
-}
-
-// Request message for `UpdateConfig()` method.
-message UpdateConfigRequest {
-  // The name of the RuntimeConfig resource to update, in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
-  string name = 1;
-
-  // The config resource to update.
-  RuntimeConfig config = 2;
-}
-
-// Request for the `DeleteConfig()` method.
-message DeleteConfigRequest {
-  // The RuntimeConfig resource to delete, in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
-  string name = 1;
-}
-
-// Request for the `ListVariables()` method.
-message ListVariablesRequest {
-  // The path to the RuntimeConfig resource for which you want to list variables.
-  // The configuration must exist beforehand; the path must by in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
-  string parent = 1;
-
-  // Filters variables by matching the specified filter. For example:
-  //
-  // `projects/example-project/config/[CONFIG_NAME]/variables/example-variable`.
-  string filter = 2;
-
-  // Specifies the number of results to return per page. If there are fewer
-  // elements than the specified number, returns all elements.
-  int32 page_size = 3;
-
-  // Specifies a page token to use. Set `pageToken` to a `nextPageToken`
-  // returned by a previous list request to get the next page of results.
-  string page_token = 4;
-}
-
-// Response for the `ListVariables()` method.
-message ListVariablesResponse {
-  // A list of variables and their values. The order of returned variable
-  // objects is arbitrary.
-  repeated Variable variables = 1;
-
-  // This token allows you to get the next page of results for list requests.
-  // If the number of results is larger than `pageSize`, use the `nextPageToken`
-  // as a value for the query parameter `pageToken` in the next list request.
-  // Subsequent list requests will have their own `nextPageToken` to continue
-  // paging through the results
-  string next_page_token = 2;
-}
-
-// Request for the `WatchVariable()` method.
-message WatchVariableRequest {
-  // The name of the variable to watch, in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
-  string name = 1;
-
-  // If specified, checks the current timestamp of the variable and if the
-  // current timestamp is newer than `newerThan` timestamp, the method returns
-  // immediately.
-  //
-  // If not specified or the variable has an older timestamp, the watcher waits
-  // for a the value to change before returning.
-  google.protobuf.Timestamp newer_than = 4;
-}
-
-// Request for the `GetVariable()` method.
-message GetVariableRequest {
-  // The name of the variable to return, in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIBLE_NAME]`
-  string name = 1;
-}
-
-// Request for the `CreateVariable()` method.
-message CreateVariableRequest {
-  // The path to the RutimeConfig resource that this variable should belong to.
-  // The configuration must exist beforehand; the path must by in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
-  string parent = 1;
-
-  // The variable to create.
-  Variable variable = 2;
-
-  // An optional but recommended unique `request_id`. If the server
-  // receives two `create()` requests  with the same
-  // `request_id`, then the second request will be ignored and the
-  // first resource created and stored in the backend is returned.
-  // Empty `request_id` fields are ignored.
-  //
-  // It is responsibility of the client to ensure uniqueness of the
-  // `request_id` strings.
-  //
-  // `request_id` strings are limited to 64 characters.
-  string request_id = 3;
-}
-
-// Request for the `UpdateVariable()` method.
-message UpdateVariableRequest {
-  // The name of the variable to update, in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]`
-  string name = 1;
-
-  // The variable to update.
-  Variable variable = 2;
-}
-
-// Request for the `DeleteVariable()` method.
-message DeleteVariableRequest {
-  // The name of the variable to delete, in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]`
-  string name = 1;
-
-  // Set to `true` to recursively delete multiple variables with the same
-  // prefix.
-  bool recursive = 2;
-}
-
-// Request for the `ListWaiters()` method.
-message ListWaitersRequest {
-  // The path to the configuration for which you want to get a list of waiters.
-  // The configuration must exist beforehand; the path must by in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
-  string parent = 1;
-
-  // Specifies the number of results to return per page. If there are fewer
-  // elements than the specified number, returns all elements.
-  int32 page_size = 2;
-
-  // Specifies a page token to use. Set `pageToken` to a `nextPageToken`
-  // returned by a previous list request to get the next page of results.
-  string page_token = 3;
-}
-
-// Response for the `ListWaiters()` method.
-// Order of returned waiter objects is arbitrary.
-message ListWaitersResponse {
-  // Found waiters in the project.
-  repeated Waiter waiters = 1;
-
-  // This token allows you to get the next page of results for list requests.
-  // If the number of results is larger than `pageSize`, use the `nextPageToken`
-  // as a value for the query parameter `pageToken` in the next list request.
-  // Subsequent list requests will have their own `nextPageToken` to continue
-  // paging through the results
-  string next_page_token = 2;
-}
-
-// Request for the `GetWaiter()` method.
-message GetWaiterRequest {
-  // The fully-qualified name of the Waiter resource object to retrieve, in the
-  // format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]`
-  string name = 1;
-}
-
-// Request message for `CreateWaiter()` method.
-message CreateWaiterRequest {
-  // The path to the configuration that will own the waiter.
-  // The configuration must exist beforehand; the path must by in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`.
-  string parent = 1;
-
-  // The Waiter resource to create.
-  Waiter waiter = 2;
-
-  // An optional but recommended unique `request_id`. If the server
-  // receives two `create()` requests  with the same
-  // `request_id`, then the second request will be ignored and the
-  // first resource created and stored in the backend is returned.
-  // Empty `request_id` fields are ignored.
-  //
-  // It is responsibility of the client to ensure uniqueness of the
-  // `request_id` strings.
-  //
-  // `request_id` strings are limited to 64 characters.
-  string request_id = 3;
-}
-
-// Request for the `DeleteWaiter()` method.
-message DeleteWaiterRequest {
-  // The Waiter resource to delete, in the format:
-  //
-  //  `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]`
-  string name = 1;
-}
diff --git a/googleapis/cloud/speech/v1/cloud_speech.pb.go b/googleapis/cloud/speech/v1/cloud_speech.pb.go
deleted file mode 100644
index 1264b5f76cb1d23238cac1206ced21a39a2422bf..0000000000000000000000000000000000000000
--- a/googleapis/cloud/speech/v1/cloud_speech.pb.go
+++ /dev/null
@@ -1,639 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/speech/v1/cloud_speech.proto
-// DO NOT EDIT!
-
-/*
-Package google_cloud_speech_v1 is a generated protocol buffer package.
-
-It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/speech/v1/cloud_speech.proto
-
-It has these top-level messages:
-	RecognizeRequest
-	InitialRecognizeRequest
-	SpeechContext
-	AudioRequest
-	NonStreamingRecognizeResponse
-	RecognizeResponse
-	SpeechRecognitionResult
-	SpeechRecognitionAlternative
-*/
-package google_cloud_speech_v1 // import "google.golang.org/genproto/googleapis/cloud/speech/v1"
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
-import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
-
-import (
-	context "golang.org/x/net/context"
-	grpc "google.golang.org/grpc"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
-
-// Audio encoding of the data sent in the audio message. All encodings support
-// only 1 channel (mono) audio. Only `FLAC` includes a header that describes
-// the bytes of audio that follow the header. The other encodings are raw
-// audio bytes with no header.
-//
-// For best results, the audio source should be captured and transmitted using
-// a lossless encoding (`FLAC` or `LINEAR16`). Recognition accuracy may be
-// reduced if lossy codecs (such as AMR, AMR_WB and MULAW) are used to capture
-// or transmit the audio, particularly if background noise is present.
-type InitialRecognizeRequest_AudioEncoding int32
-
-const (
-	// Not specified. Will return result [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
-	InitialRecognizeRequest_ENCODING_UNSPECIFIED InitialRecognizeRequest_AudioEncoding = 0
-	// Uncompressed 16-bit signed little-endian samples.
-	InitialRecognizeRequest_LINEAR16 InitialRecognizeRequest_AudioEncoding = 1
-	// This is the recommended encoding because it uses lossless compression;
-	// therefore recognition accuracy is not compromised by a lossy codec.
-	//
-	// The stream FLAC (Free Lossless Audio Codec) encoding is specified at:
-	// http://flac.sourceforge.net/documentation.html.
-	// Only 16-bit samples are supported.
-	// Not all fields in STREAMINFO are supported.
-	InitialRecognizeRequest_FLAC InitialRecognizeRequest_AudioEncoding = 2
-	// 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
-	InitialRecognizeRequest_MULAW InitialRecognizeRequest_AudioEncoding = 3
-	// Adaptive Multi-Rate Narrowband codec. `sample_rate` must be 8000 Hz.
-	InitialRecognizeRequest_AMR InitialRecognizeRequest_AudioEncoding = 4
-	// Adaptive Multi-Rate Wideband codec. `sample_rate` must be 16000 Hz.
-	InitialRecognizeRequest_AMR_WB InitialRecognizeRequest_AudioEncoding = 5
-)
-
-var InitialRecognizeRequest_AudioEncoding_name = map[int32]string{
-	0: "ENCODING_UNSPECIFIED",
-	1: "LINEAR16",
-	2: "FLAC",
-	3: "MULAW",
-	4: "AMR",
-	5: "AMR_WB",
-}
-var InitialRecognizeRequest_AudioEncoding_value = map[string]int32{
-	"ENCODING_UNSPECIFIED": 0,
-	"LINEAR16":             1,
-	"FLAC":                 2,
-	"MULAW":                3,
-	"AMR":                  4,
-	"AMR_WB":               5,
-}
-
-func (x InitialRecognizeRequest_AudioEncoding) String() string {
-	return proto.EnumName(InitialRecognizeRequest_AudioEncoding_name, int32(x))
-}
-func (InitialRecognizeRequest_AudioEncoding) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor0, []int{1, 0}
-}
-
-// Indicates the type of endpointer event.
-type RecognizeResponse_EndpointerEvent int32
-
-const (
-	// No endpointer event specified.
-	RecognizeResponse_ENDPOINTER_EVENT_UNSPECIFIED RecognizeResponse_EndpointerEvent = 0
-	// Speech has been detected in the audio stream.
-	RecognizeResponse_START_OF_SPEECH RecognizeResponse_EndpointerEvent = 1
-	// Speech has ceased to be detected in the audio stream.
-	RecognizeResponse_END_OF_SPEECH RecognizeResponse_EndpointerEvent = 2
-	// The end of the audio stream has been reached. and it is being processed.
-	RecognizeResponse_END_OF_AUDIO RecognizeResponse_EndpointerEvent = 3
-	// This event is only sent when continuous is `false`. It indicates that the
-	// server has detected the end of the user's speech utterance and expects no
-	// additional speech. Therefore, the server will not process additional
-	// audio. The client should stop sending additional audio data.
-	RecognizeResponse_END_OF_UTTERANCE RecognizeResponse_EndpointerEvent = 4
-)
-
-var RecognizeResponse_EndpointerEvent_name = map[int32]string{
-	0: "ENDPOINTER_EVENT_UNSPECIFIED",
-	1: "START_OF_SPEECH",
-	2: "END_OF_SPEECH",
-	3: "END_OF_AUDIO",
-	4: "END_OF_UTTERANCE",
-}
-var RecognizeResponse_EndpointerEvent_value = map[string]int32{
-	"ENDPOINTER_EVENT_UNSPECIFIED": 0,
-	"START_OF_SPEECH":              1,
-	"END_OF_SPEECH":                2,
-	"END_OF_AUDIO":                 3,
-	"END_OF_UTTERANCE":             4,
-}
-
-func (x RecognizeResponse_EndpointerEvent) String() string {
-	return proto.EnumName(RecognizeResponse_EndpointerEvent_name, int32(x))
-}
-func (RecognizeResponse_EndpointerEvent) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor0, []int{5, 0}
-}
-
-// `RecognizeRequest` is the only message type sent by the client.
-//
-// When using the REST API or the gRPC `NonStreamingRecognize` API, only one
-// `RecognizeRequest` message is sent, and it must contain both an
-// `initial_request` and an 'audio_request`.
-//
-// When using the gRPC Streaming `Recognize` API, one or more `RecognizeRequest`
-// messages are sent. The first message must contain an `initial_request` and
-// may contain an 'audio_request`. Any subsequent messages must not contain an
-// `initial_request` and must contain an 'audio_request`.
-type RecognizeRequest struct {
-	// The `initial_request` message provides information to the recognizer
-	// that specifies how to process the request.
-	//
-	// The first `RecognizeRequest` message must contain an `initial_request`.
-	// Any subsequent `RecognizeRequest` messages must not contain an
-	// `initial_request`.
-	InitialRequest *InitialRecognizeRequest `protobuf:"bytes,1,opt,name=initial_request,json=initialRequest" json:"initial_request,omitempty"`
-	// The audio data to be recognized. For REST or `NonStreamingRecognize`, all
-	// audio data must be contained in the first (and only) `RecognizeRequest`
-	// message. For gRPC streaming `Recognize`, sequential chunks of audio data
-	// are sent in sequential `RecognizeRequest` messages.
-	AudioRequest *AudioRequest `protobuf:"bytes,2,opt,name=audio_request,json=audioRequest" json:"audio_request,omitempty"`
-}
-
-func (m *RecognizeRequest) Reset()                    { *m = RecognizeRequest{} }
-func (m *RecognizeRequest) String() string            { return proto.CompactTextString(m) }
-func (*RecognizeRequest) ProtoMessage()               {}
-func (*RecognizeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
-
-func (m *RecognizeRequest) GetInitialRequest() *InitialRecognizeRequest {
-	if m != nil {
-		return m.InitialRequest
-	}
-	return nil
-}
-
-func (m *RecognizeRequest) GetAudioRequest() *AudioRequest {
-	if m != nil {
-		return m.AudioRequest
-	}
-	return nil
-}
-
-// The `InitialRecognizeRequest` message provides information to the recognizer
-// that specifies how to process the request.
-type InitialRecognizeRequest struct {
-	// [Required] Encoding of audio data sent in all `AudioRequest` messages.
-	Encoding InitialRecognizeRequest_AudioEncoding `protobuf:"varint,1,opt,name=encoding,enum=google.cloud.speech.v1.InitialRecognizeRequest_AudioEncoding" json:"encoding,omitempty"`
-	// [Required] Sample rate in Hertz of the audio data sent in all
-	// AudioRequest messages. Valid values are: 8000-48000.
-	// 16000 is optimal. For best results, set the sampling rate of the audio
-	// source to 16000 Hz. If that's not possible, use the native sample rate of
-	// the audio source (instead of re-sampling).
-	SampleRate int32 `protobuf:"varint,2,opt,name=sample_rate,json=sampleRate" json:"sample_rate,omitempty"`
-	// [Optional] The language of the supplied audio as a BCP-47 language tag.
-	// Example: "en-GB"  https://www.rfc-editor.org/rfc/bcp/bcp47.txt
-	// If omitted, defaults to "en-US". See
-	// [Language Support](/speech/docs/best-practices#language_support) for
-	// a list of the currently supported language codes.
-	LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode" json:"language_code,omitempty"`
-	// [Optional] Maximum number of recognition hypotheses to be returned.
-	// Specifically, the maximum number of `SpeechRecognitionAlternative` messages
-	// within each `SpeechRecognitionResult`.
-	// The server may return fewer than `max_alternatives`.
-	// Valid values are `0`-`30`. A value of `0` or `1` will return a maximum of
-	// `1`. If omitted, defaults to `1`.
-	MaxAlternatives int32 `protobuf:"varint,4,opt,name=max_alternatives,json=maxAlternatives" json:"max_alternatives,omitempty"`
-	// [Optional] If set to `true`, the server will attempt to filter out
-	// profanities, replacing all but the initial character in each filtered word
-	// with asterisks, e.g. "f***". If set to `false` or omitted, profanities
-	// won't be filtered out.
-	ProfanityFilter bool `protobuf:"varint,5,opt,name=profanity_filter,json=profanityFilter" json:"profanity_filter,omitempty"`
-	// [Optional] If `false` or omitted, the recognizer will detect a single
-	// spoken utterance, and it will cease recognition when the user stops
-	// speaking. If `enable_endpointer_events` is `true`, it will return
-	// `END_OF_UTTERANCE` when it detects that the user has stopped speaking.
-	// In all cases, it will return no more than one `SpeechRecognitionResult`,
-	// and set the `is_final` flag to `true`.
-	//
-	// If `true`, the recognizer will continue recognition (even if the user
-	// pauses speaking) until the client closes the output stream (gRPC API) or
-	// completes the POST data (REST API) or when the maximum time limit has been
-	// reached. Multiple `SpeechRecognitionResult`s with the `is_final` flag set
-	// to `true` may be returned to indicate that the recognizer will not return
-	// any further hypotheses for that portion of the transcript.
-	Continuous bool `protobuf:"varint,6,opt,name=continuous" json:"continuous,omitempty"`
-	// [Optional] If this parameter is `true`, interim results may be returned as
-	// they become available.
-	// If `false` or omitted, only `is_final=true` result(s) are returned.
-	InterimResults bool `protobuf:"varint,7,opt,name=interim_results,json=interimResults" json:"interim_results,omitempty"`
-	// [Optional] If this parameter is `true`, `EndpointerEvents` may be returned
-	// as they become available.
-	// If `false` or omitted, no `EndpointerEvents` are returned.
-	EnableEndpointerEvents bool `protobuf:"varint,8,opt,name=enable_endpointer_events,json=enableEndpointerEvents" json:"enable_endpointer_events,omitempty"`
-	// [Optional] URI that points to a file where the recognition result should
-	// be stored in JSON format. If omitted or empty string, the recognition
-	// result is returned in the response. Should be specified only for
-	// `NonStreamingRecognize`. If specified in a `Recognize` request,
-	// `Recognize` returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
-	// If specified in a `NonStreamingRecognize` request,
-	// `NonStreamingRecognize` returns immediately, and the output file
-	// is created asynchronously once the audio processing completes.
-	// Currently, only Google Cloud Storage URIs are supported, which must be
-	// specified in the following format: `gs://bucket_name/object_name`
-	// (other URI formats return [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
-	// more information, see [Request URIs](/storage/docs/reference-uris).
-	OutputUri string `protobuf:"bytes,9,opt,name=output_uri,json=outputUri" json:"output_uri,omitempty"`
-	// [Optional] A means to provide context to assist the speech recognition.
-	SpeechContext *SpeechContext `protobuf:"bytes,10,opt,name=speech_context,json=speechContext" json:"speech_context,omitempty"`
-}
-
-func (m *InitialRecognizeRequest) Reset()                    { *m = InitialRecognizeRequest{} }
-func (m *InitialRecognizeRequest) String() string            { return proto.CompactTextString(m) }
-func (*InitialRecognizeRequest) ProtoMessage()               {}
-func (*InitialRecognizeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
-
-func (m *InitialRecognizeRequest) GetSpeechContext() *SpeechContext {
-	if m != nil {
-		return m.SpeechContext
-	}
-	return nil
-}
-
-// Provides "hints" to the speech recognizer to favor specific words and phrases
-// in the results.
-type SpeechContext struct {
-	// [Optional] A list of up to 50 phrases of up to 100 characters each to
-	// provide words and phrases "hints" to the speech recognition so that it is
-	// more likely to recognize them.
-	Phrases []string `protobuf:"bytes,1,rep,name=phrases" json:"phrases,omitempty"`
-}
-
-func (m *SpeechContext) Reset()                    { *m = SpeechContext{} }
-func (m *SpeechContext) String() string            { return proto.CompactTextString(m) }
-func (*SpeechContext) ProtoMessage()               {}
-func (*SpeechContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
-
-// Contains audio data in the encoding specified in the
-// `InitialRecognizeRequest`. Either `content` or `uri` must be supplied.
-// Supplying both or neither returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
-type AudioRequest struct {
-	// The audio data bytes encoded as specified in
-	// `InitialRecognizeRequest`. Note: as with all bytes fields, protobuffers
-	// use a pure binary representation, whereas JSON representations use base64.
-	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
-	// URI that points to a file that contains audio data bytes as specified in
-	// `InitialRecognizeRequest`. Currently, only Google Cloud Storage URIs are
-	// supported, which must be specified in the following format:
-	// `gs://bucket_name/object_name` (other URI formats return
-	// [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
-	// [Request URIs](/storage/docs/reference-uris).
-	Uri string `protobuf:"bytes,2,opt,name=uri" json:"uri,omitempty"`
-}
-
-func (m *AudioRequest) Reset()                    { *m = AudioRequest{} }
-func (m *AudioRequest) String() string            { return proto.CompactTextString(m) }
-func (*AudioRequest) ProtoMessage()               {}
-func (*AudioRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
-
-// `NonStreamingRecognizeResponse` is the only message returned to the client by
-// `NonStreamingRecognize`. It contains the result as zero or more sequential
-// `RecognizeResponse` messages.
-//
-// Note that streaming `Recognize` will also return multiple `RecognizeResponse`
-// messages, but each message is individually streamed.
-type NonStreamingRecognizeResponse struct {
-	// [Output-only] Sequential list of messages returned by the recognizer.
-	Responses []*RecognizeResponse `protobuf:"bytes,1,rep,name=responses" json:"responses,omitempty"`
-}
-
-func (m *NonStreamingRecognizeResponse) Reset()                    { *m = NonStreamingRecognizeResponse{} }
-func (m *NonStreamingRecognizeResponse) String() string            { return proto.CompactTextString(m) }
-func (*NonStreamingRecognizeResponse) ProtoMessage()               {}
-func (*NonStreamingRecognizeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
-
-func (m *NonStreamingRecognizeResponse) GetResponses() []*RecognizeResponse {
-	if m != nil {
-		return m.Responses
-	}
-	return nil
-}
-
-// `RecognizeResponse` is the only message type returned to the client.
-type RecognizeResponse struct {
-	// [Output-only] If set, returns a [google.rpc.Status][] message that
-	// specifies the error for the operation.
-	Error *google_rpc.Status `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
-	// [Output-only] For `continuous=false`, this repeated list contains zero or
-	// one result that corresponds to all of the audio processed so far. For
-	// `continuous=true`, this repeated list contains zero or more results that
-	// correspond to consecutive portions of the audio being processed.
-	// In both cases, contains zero or one `is_final=true` result (the newly
-	// settled portion), followed by zero or more `is_final=false` results.
-	Results []*SpeechRecognitionResult `protobuf:"bytes,2,rep,name=results" json:"results,omitempty"`
-	// [Output-only] Indicates the lowest index in the `results` array that has
-	// changed. The repeated `SpeechRecognitionResult` results overwrite past
-	// results at this index and higher.
-	ResultIndex int32 `protobuf:"varint,3,opt,name=result_index,json=resultIndex" json:"result_index,omitempty"`
-	// [Output-only] Indicates the type of endpointer event.
-	Endpoint RecognizeResponse_EndpointerEvent `protobuf:"varint,4,opt,name=endpoint,enum=google.cloud.speech.v1.RecognizeResponse_EndpointerEvent" json:"endpoint,omitempty"`
-}
-
-func (m *RecognizeResponse) Reset()                    { *m = RecognizeResponse{} }
-func (m *RecognizeResponse) String() string            { return proto.CompactTextString(m) }
-func (*RecognizeResponse) ProtoMessage()               {}
-func (*RecognizeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
-
-func (m *RecognizeResponse) GetError() *google_rpc.Status {
-	if m != nil {
-		return m.Error
-	}
-	return nil
-}
-
-func (m *RecognizeResponse) GetResults() []*SpeechRecognitionResult {
-	if m != nil {
-		return m.Results
-	}
-	return nil
-}
-
-// A speech recognition result corresponding to a portion of the audio.
-type SpeechRecognitionResult struct {
-	// [Output-only] May contain one or more recognition hypotheses (up to the
-	// maximum specified in `max_alternatives`).
-	Alternatives []*SpeechRecognitionAlternative `protobuf:"bytes,1,rep,name=alternatives" json:"alternatives,omitempty"`
-	// [Output-only] Set `true` if this is the final time the speech service will
-	// return this particular `SpeechRecognitionResult`. If `false`, this
-	// represents an interim result that may change.
-	IsFinal bool `protobuf:"varint,2,opt,name=is_final,json=isFinal" json:"is_final,omitempty"`
-	// [Output-only] An estimate of the probability that the recognizer will not
-	// change its guess about this interim result. Values range from 0.0
-	// (completely unstable) to 1.0 (completely stable). Note that this is not the
-	// same as `confidence`, which estimates the probability that a recognition
-	// result is correct.
-	// This field is only provided for interim results (`is_final=false`).
-	// The default of 0.0 is a sentinel value indicating stability was not set.
-	Stability float32 `protobuf:"fixed32,3,opt,name=stability" json:"stability,omitempty"`
-}
-
-func (m *SpeechRecognitionResult) Reset()                    { *m = SpeechRecognitionResult{} }
-func (m *SpeechRecognitionResult) String() string            { return proto.CompactTextString(m) }
-func (*SpeechRecognitionResult) ProtoMessage()               {}
-func (*SpeechRecognitionResult) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
-
-func (m *SpeechRecognitionResult) GetAlternatives() []*SpeechRecognitionAlternative {
-	if m != nil {
-		return m.Alternatives
-	}
-	return nil
-}
-
-// Alternative hypotheses (a.k.a. n-best list).
-type SpeechRecognitionAlternative struct {
-	// [Output-only] Transcript text representing the words that the user spoke.
-	Transcript string `protobuf:"bytes,1,opt,name=transcript" json:"transcript,omitempty"`
-	// [Output-only] The confidence estimate between 0.0 and 1.0. A higher number
-	// means the system is more confident that the recognition is correct.
-	// This field is typically provided only for the top hypothesis. and only for
-	// `is_final=true` results.
-	// The default of 0.0 is a sentinel value indicating confidence was not set.
-	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence" json:"confidence,omitempty"`
-}
-
-func (m *SpeechRecognitionAlternative) Reset()                    { *m = SpeechRecognitionAlternative{} }
-func (m *SpeechRecognitionAlternative) String() string            { return proto.CompactTextString(m) }
-func (*SpeechRecognitionAlternative) ProtoMessage()               {}
-func (*SpeechRecognitionAlternative) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
-
-func init() {
-	proto.RegisterType((*RecognizeRequest)(nil), "google.cloud.speech.v1.RecognizeRequest")
-	proto.RegisterType((*InitialRecognizeRequest)(nil), "google.cloud.speech.v1.InitialRecognizeRequest")
-	proto.RegisterType((*SpeechContext)(nil), "google.cloud.speech.v1.SpeechContext")
-	proto.RegisterType((*AudioRequest)(nil), "google.cloud.speech.v1.AudioRequest")
-	proto.RegisterType((*NonStreamingRecognizeResponse)(nil), "google.cloud.speech.v1.NonStreamingRecognizeResponse")
-	proto.RegisterType((*RecognizeResponse)(nil), "google.cloud.speech.v1.RecognizeResponse")
-	proto.RegisterType((*SpeechRecognitionResult)(nil), "google.cloud.speech.v1.SpeechRecognitionResult")
-	proto.RegisterType((*SpeechRecognitionAlternative)(nil), "google.cloud.speech.v1.SpeechRecognitionAlternative")
-	proto.RegisterEnum("google.cloud.speech.v1.InitialRecognizeRequest_AudioEncoding", InitialRecognizeRequest_AudioEncoding_name, InitialRecognizeRequest_AudioEncoding_value)
-	proto.RegisterEnum("google.cloud.speech.v1.RecognizeResponse_EndpointerEvent", RecognizeResponse_EndpointerEvent_name, RecognizeResponse_EndpointerEvent_value)
-}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion4
-
-// Client API for Speech service
-
-type SpeechClient interface {
-	// Perform bidirectional streaming speech-recognition: receive results while
-	// sending audio.
-	Recognize(ctx context.Context, opts ...grpc.CallOption) (Speech_RecognizeClient, error)
-	// Perform non-streaming speech-recognition: receive results after all audio
-	// has been sent and processed.
-	NonStreamingRecognize(ctx context.Context, in *RecognizeRequest, opts ...grpc.CallOption) (*NonStreamingRecognizeResponse, error)
-}
-
-type speechClient struct {
-	cc *grpc.ClientConn
-}
-
-func NewSpeechClient(cc *grpc.ClientConn) SpeechClient {
-	return &speechClient{cc}
-}
-
-func (c *speechClient) Recognize(ctx context.Context, opts ...grpc.CallOption) (Speech_RecognizeClient, error) {
-	stream, err := grpc.NewClientStream(ctx, &_Speech_serviceDesc.Streams[0], c.cc, "/google.cloud.speech.v1.Speech/Recognize", opts...)
-	if err != nil {
-		return nil, err
-	}
-	x := &speechRecognizeClient{stream}
-	return x, nil
-}
-
-type Speech_RecognizeClient interface {
-	Send(*RecognizeRequest) error
-	Recv() (*RecognizeResponse, error)
-	grpc.ClientStream
-}
-
-type speechRecognizeClient struct {
-	grpc.ClientStream
-}
-
-func (x *speechRecognizeClient) Send(m *RecognizeRequest) error {
-	return x.ClientStream.SendMsg(m)
-}
-
-func (x *speechRecognizeClient) Recv() (*RecognizeResponse, error) {
-	m := new(RecognizeResponse)
-	if err := x.ClientStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-func (c *speechClient) NonStreamingRecognize(ctx context.Context, in *RecognizeRequest, opts ...grpc.CallOption) (*NonStreamingRecognizeResponse, error) {
-	out := new(NonStreamingRecognizeResponse)
-	err := grpc.Invoke(ctx, "/google.cloud.speech.v1.Speech/NonStreamingRecognize", in, out, c.cc, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-// Server API for Speech service
-
-type SpeechServer interface {
-	// Perform bidirectional streaming speech-recognition: receive results while
-	// sending audio.
-	Recognize(Speech_RecognizeServer) error
-	// Perform non-streaming speech-recognition: receive results after all audio
-	// has been sent and processed.
-	NonStreamingRecognize(context.Context, *RecognizeRequest) (*NonStreamingRecognizeResponse, error)
-}
-
-func RegisterSpeechServer(s *grpc.Server, srv SpeechServer) {
-	s.RegisterService(&_Speech_serviceDesc, srv)
-}
-
-func _Speech_Recognize_Handler(srv interface{}, stream grpc.ServerStream) error {
-	return srv.(SpeechServer).Recognize(&speechRecognizeServer{stream})
-}
-
-type Speech_RecognizeServer interface {
-	Send(*RecognizeResponse) error
-	Recv() (*RecognizeRequest, error)
-	grpc.ServerStream
-}
-
-type speechRecognizeServer struct {
-	grpc.ServerStream
-}
-
-func (x *speechRecognizeServer) Send(m *RecognizeResponse) error {
-	return x.ServerStream.SendMsg(m)
-}
-
-func (x *speechRecognizeServer) Recv() (*RecognizeRequest, error) {
-	m := new(RecognizeRequest)
-	if err := x.ServerStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-func _Speech_NonStreamingRecognize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(RecognizeRequest)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(SpeechServer).NonStreamingRecognize(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/google.cloud.speech.v1.Speech/NonStreamingRecognize",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(SpeechServer).NonStreamingRecognize(ctx, req.(*RecognizeRequest))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-var _Speech_serviceDesc = grpc.ServiceDesc{
-	ServiceName: "google.cloud.speech.v1.Speech",
-	HandlerType: (*SpeechServer)(nil),
-	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "NonStreamingRecognize",
-			Handler:    _Speech_NonStreamingRecognize_Handler,
-		},
-	},
-	Streams: []grpc.StreamDesc{
-		{
-			StreamName:    "Recognize",
-			Handler:       _Speech_Recognize_Handler,
-			ServerStreams: true,
-			ClientStreams: true,
-		},
-	},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/speech/v1/cloud_speech.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/speech/v1/cloud_speech.proto", fileDescriptor0)
-}
-
-var fileDescriptor0 = []byte{
-	// 989 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x56, 0xdd, 0x6e, 0x1b, 0xc5,
-	0x17, 0xff, 0xaf, 0x1d, 0x27, 0xf6, 0x89, 0x9d, 0x6c, 0xe7, 0x1f, 0xda, 0x6d, 0x94, 0xd2, 0xb0,
-	0x80, 0x70, 0x40, 0xb2, 0x49, 0xf8, 0x10, 0x44, 0xea, 0x85, 0xe3, 0x6c, 0xda, 0x95, 0x12, 0x27,
-	0x1a, 0xdb, 0xb4, 0xdc, 0xb0, 0x9a, 0xac, 0x27, 0xce, 0x48, 0xf6, 0xcc, 0x32, 0x33, 0x1b, 0xa5,
-	0x5c, 0xc2, 0x0d, 0xe2, 0x96, 0x2b, 0xde, 0x81, 0x7b, 0x1e, 0x84, 0x47, 0x80, 0x07, 0x41, 0x3b,
-	0xb3, 0x76, 0x9c, 0xb4, 0x8e, 0xdc, 0x2b, 0xcf, 0xf9, 0x9d, 0x33, 0xbf, 0x73, 0xe6, 0x7c, 0xad,
-	0xe1, 0xc5, 0x50, 0x88, 0xe1, 0x88, 0x36, 0x86, 0x62, 0x44, 0xf8, 0xb0, 0x21, 0xe4, 0xb0, 0x39,
-	0xa4, 0x3c, 0x91, 0x42, 0x8b, 0xa6, 0x55, 0x91, 0x84, 0xa9, 0x66, 0x3c, 0x12, 0xe9, 0xa0, 0xa9,
-	0x12, 0x4a, 0xe3, 0xcb, 0xe6, 0xd5, 0xae, 0x95, 0x23, 0x2b, 0x37, 0x8c, 0x35, 0x7a, 0x98, 0x33,
-	0x19, 0x55, 0x23, 0x57, 0x5d, 0xed, 0x6e, 0x86, 0x8b, 0x79, 0x20, 0x09, 0x6b, 0x2a, 0x2a, 0xaf,
-	0x58, 0x4c, 0x63, 0xc1, 0x2f, 0xd8, 0xb0, 0x49, 0x38, 0x17, 0x9a, 0x68, 0x26, 0xb8, 0xb2, 0x2e,
-	0x36, 0x9f, 0x2d, 0x46, 0x25, 0x93, 0xb8, 0xa9, 0x34, 0xd1, 0xa9, 0xca, 0x7f, 0xec, 0x75, 0xff,
-	0x2f, 0x07, 0x5c, 0x4c, 0x63, 0x31, 0xe4, 0xec, 0x27, 0x8a, 0xe9, 0x8f, 0x29, 0x55, 0x1a, 0xbd,
-	0x82, 0x75, 0xc6, 0x99, 0x66, 0x64, 0x14, 0x49, 0x0b, 0x79, 0xce, 0xb6, 0x53, 0x5f, 0xdd, 0x6b,
-	0x36, 0xde, 0xfe, 0xa0, 0x46, 0x68, 0xcd, 0xef, 0x32, 0xe1, 0x35, 0x36, 0x51, 0x58, 0xe6, 0x10,
-	0x6a, 0x24, 0x1d, 0x30, 0x31, 0xe5, 0x2d, 0x18, 0xde, 0x8f, 0xe6, 0xf1, 0xb6, 0x32, 0xe3, 0x09,
-	0x59, 0x95, 0xcc, 0x48, 0xfe, 0x3f, 0x4b, 0xf0, 0x68, 0x8e, 0x5b, 0xf4, 0x3d, 0x94, 0x29, 0x8f,
-	0xc5, 0x80, 0xf1, 0xa1, 0x89, 0x7c, 0x6d, 0xef, 0xd9, 0x3b, 0x46, 0x6e, 0x3d, 0x07, 0x39, 0x09,
-	0x9e, 0xd2, 0xa1, 0xa7, 0xb0, 0xaa, 0xc8, 0x38, 0x19, 0xd1, 0x48, 0x12, 0x4d, 0x4d, 0xfc, 0x25,
-	0x0c, 0x16, 0xc2, 0x44, 0x53, 0xf4, 0x21, 0xd4, 0xb2, 0x4a, 0xa4, 0x64, 0x48, 0xa3, 0x58, 0x0c,
-	0xa8, 0x57, 0xdc, 0x76, 0xea, 0x15, 0x5c, 0x9d, 0x80, 0x6d, 0x31, 0xa0, 0x68, 0x07, 0xdc, 0x31,
-	0xb9, 0x8e, 0xc8, 0x48, 0x53, 0xc9, 0x89, 0x66, 0x57, 0x54, 0x79, 0x4b, 0x86, 0x6a, 0x7d, 0x4c,
-	0xae, 0x5b, 0x33, 0x70, 0x66, 0x9a, 0x48, 0x71, 0x41, 0x38, 0xd3, 0xaf, 0xa3, 0x0b, 0x96, 0xa9,
-	0xbc, 0xd2, 0xb6, 0x53, 0x2f, 0xe3, 0xf5, 0x29, 0x7e, 0x64, 0x60, 0xf4, 0x3e, 0x40, 0x2c, 0xb8,
-	0x66, 0x3c, 0x15, 0xa9, 0xf2, 0x96, 0x8d, 0xd1, 0x0c, 0x82, 0x3e, 0xc9, 0xea, 0xaa, 0xa9, 0x64,
-	0xe3, 0x48, 0x52, 0x95, 0x8e, 0xb4, 0xf2, 0x56, 0x8c, 0xd1, 0x5a, 0x0e, 0x63, 0x8b, 0xa2, 0x6f,
-	0xc0, 0xa3, 0x9c, 0x9c, 0x8f, 0x68, 0x44, 0xf9, 0x20, 0x11, 0x46, 0x1b, 0xd1, 0x2b, 0xca, 0xb5,
-	0xf2, 0xca, 0xe6, 0xc6, 0x43, 0xab, 0x0f, 0xa6, 0xea, 0xc0, 0x68, 0xd1, 0x13, 0x00, 0x91, 0xea,
-	0x24, 0xd5, 0x51, 0x2a, 0x99, 0x57, 0x31, 0x4f, 0xaf, 0x58, 0xa4, 0x2f, 0x19, 0x3a, 0x86, 0x35,
-	0x9b, 0xfa, 0x28, 0x0b, 0x8b, 0x5e, 0x6b, 0x0f, 0x4c, 0x03, 0x7c, 0x3c, 0xaf, 0x3c, 0x5d, 0x73,
-	0x6a, 0x5b, 0x63, 0x5c, 0x53, 0xb3, 0xa2, 0x4f, 0xa0, 0x76, 0xab, 0x4c, 0xc8, 0x83, 0x8d, 0xa0,
-	0xd3, 0x3e, 0x3d, 0x0c, 0x3b, 0xcf, 0xa3, 0x7e, 0xa7, 0x7b, 0x16, 0xb4, 0xc3, 0xa3, 0x30, 0x38,
-	0x74, 0xff, 0x87, 0xaa, 0x50, 0x3e, 0x0e, 0x3b, 0x41, 0x0b, 0xef, 0x7e, 0xed, 0x3a, 0xa8, 0x0c,
-	0x4b, 0x47, 0xc7, 0xad, 0xb6, 0x5b, 0x40, 0x15, 0x28, 0x9d, 0xf4, 0x8f, 0x5b, 0x2f, 0xdd, 0x22,
-	0x5a, 0x81, 0x62, 0xeb, 0x04, 0xbb, 0x4b, 0x08, 0x60, 0xb9, 0x75, 0x82, 0xa3, 0x97, 0x07, 0x6e,
-	0xc9, 0xdf, 0x81, 0xda, 0xad, 0x10, 0x90, 0x07, 0x2b, 0xc9, 0xa5, 0x24, 0x8a, 0x2a, 0xcf, 0xd9,
-	0x2e, 0xd6, 0x2b, 0x78, 0x22, 0xfa, 0xfb, 0x50, 0x9d, 0x6d, 0xd7, 0xcc, 0xd2, 0x3c, 0x92, 0xdb,
-	0xe9, 0xa9, 0xe2, 0x89, 0x88, 0x5c, 0x28, 0x66, 0xd9, 0x29, 0x98, 0xec, 0x64, 0x47, 0xff, 0x12,
-	0x9e, 0x74, 0x04, 0xef, 0x6a, 0x49, 0xc9, 0x38, 0xeb, 0xb7, 0x9b, 0x6e, 0x54, 0x89, 0xe0, 0x8a,
-	0xa2, 0xe7, 0x50, 0x91, 0xf9, 0xd9, 0x3a, 0x5e, 0xdd, 0xdb, 0x99, 0x97, 0xb3, 0x37, 0x6e, 0xe3,
-	0x9b, 0xbb, 0xfe, 0xaf, 0x45, 0x78, 0xf0, 0x26, 0x7d, 0x1d, 0x4a, 0x54, 0x4a, 0x21, 0xf3, 0x39,
-	0x47, 0x13, 0x6a, 0x99, 0xc4, 0x8d, 0xae, 0xd9, 0x17, 0xd8, 0x1a, 0xa0, 0x10, 0x56, 0x26, 0xbd,
-	0x53, 0x30, 0x61, 0x34, 0xef, 0x2f, 0x5d, 0xee, 0x2b, 0x5b, 0x59, 0xb6, 0xbb, 0xf0, 0xe4, 0x3e,
-	0xfa, 0x00, 0xaa, 0xf6, 0x18, 0x31, 0x3e, 0xa0, 0xd7, 0x66, 0x50, 0x4a, 0x78, 0xd5, 0x62, 0x61,
-	0x06, 0xa1, 0x7e, 0x36, 0xc8, 0xb6, 0xc5, 0xcc, 0x7c, 0xac, 0xed, 0x7d, 0xbb, 0xf0, 0xab, 0x1b,
-	0x77, 0x9a, 0x13, 0x4f, 0xa9, 0xfc, 0x5f, 0x1c, 0x58, 0xbf, 0xa3, 0x45, 0xdb, 0xb0, 0x15, 0x74,
-	0x0e, 0xcf, 0x4e, 0xc3, 0x4e, 0x2f, 0xc0, 0x51, 0xf0, 0x5d, 0xd0, 0xe9, 0xdd, 0xe9, 0xa1, 0xff,
-	0xc3, 0x7a, 0xb7, 0xd7, 0xc2, 0xbd, 0xe8, 0xf4, 0x28, 0xea, 0x9e, 0x05, 0x41, 0xfb, 0x85, 0xeb,
-	0xa0, 0x07, 0x50, 0x0b, 0x3a, 0x87, 0x33, 0x50, 0x01, 0xb9, 0x50, 0xcd, 0xa1, 0x56, 0xff, 0x30,
-	0x3c, 0x75, 0x8b, 0x68, 0x03, 0xdc, 0x1c, 0xe9, 0xf7, 0x7a, 0x01, 0x6e, 0x75, 0xda, 0x81, 0xbb,
-	0xe4, 0xff, 0xe9, 0xc0, 0xa3, 0x39, 0x49, 0x42, 0xaf, 0xa0, 0x7a, 0x6b, 0x39, 0xd8, 0x92, 0x7f,
-	0xb9, 0x70, 0xae, 0x67, 0x56, 0x08, 0xbe, 0xc5, 0x84, 0x1e, 0x43, 0x99, 0xa9, 0xe8, 0x82, 0x71,
-	0x32, 0x32, 0x1d, 0x58, 0xc6, 0x2b, 0x4c, 0x1d, 0x65, 0x22, 0xda, 0x82, 0x8a, 0xd2, 0xe4, 0x9c,
-	0x8d, 0x98, 0x7e, 0x6d, 0xaa, 0x51, 0xc0, 0x37, 0x80, 0xff, 0x03, 0x6c, 0xdd, 0xe7, 0x26, 0xdb,
-	0x3e, 0x5a, 0x12, 0xae, 0x62, 0xc9, 0x12, 0xdb, 0xf2, 0x15, 0x3c, 0x83, 0xe4, 0xdb, 0xe9, 0x82,
-	0x0d, 0x28, 0x8f, 0xed, 0xe2, 0x2c, 0xe0, 0x19, 0x64, 0xef, 0xb7, 0x02, 0x2c, 0x5b, 0x07, 0x68,
-	0x00, 0x95, 0x69, 0x39, 0x51, 0x7d, 0x81, 0x8a, 0x9b, 0x89, 0xdb, 0x5c, 0x7c, 0x22, 0xea, 0xce,
-	0xe7, 0x0e, 0xfa, 0xc3, 0x81, 0xf7, 0xde, 0x3a, 0x75, 0xef, 0xe0, 0xf2, 0xab, 0x79, 0x96, 0xf7,
-	0x8e, 0xb3, 0xff, 0xf4, 0xe7, 0xbf, 0xff, 0xfd, 0xbd, 0xf0, 0xd8, 0xdf, 0xc8, 0xfe, 0x38, 0xd8,
-	0x4b, 0xfb, 0x72, 0x62, 0xb5, 0xef, 0x7c, 0x7a, 0xf0, 0x19, 0x6c, 0xc6, 0x62, 0x3c, 0x87, 0xfc,
-	0x60, 0xd5, 0xe6, 0xe9, 0x2c, 0xfb, 0x84, 0x9f, 0x39, 0xe7, 0xcb, 0xe6, 0x5b, 0xfe, 0xc5, 0x7f,
-	0x01, 0x00, 0x00, 0xff, 0xff, 0xc1, 0xa9, 0xf0, 0xc8, 0xb9, 0x08, 0x00, 0x00,
-}
diff --git a/googleapis/cloud/speech/v1/cloud_speech.proto b/googleapis/cloud/speech/v1/cloud_speech.proto
deleted file mode 100644
index c8a75fd2b8c222113c8af1c7635ed0ace57c2689..0000000000000000000000000000000000000000
--- a/googleapis/cloud/speech/v1/cloud_speech.proto
+++ /dev/null
@@ -1,292 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.speech.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "SpeechProto";
-option java_package = "com.google.cloud.speech.v1";
-
-
-// Service that implements Google Cloud Speech API.
-service Speech {
-  // Perform bidirectional streaming speech-recognition: receive results while
-  // sending audio.
-  rpc Recognize(stream RecognizeRequest) returns (stream RecognizeResponse);
-
-  // Perform non-streaming speech-recognition: receive results after all audio
-  // has been sent and processed.
-  rpc NonStreamingRecognize(RecognizeRequest) returns (NonStreamingRecognizeResponse) {
-    option (google.api.http) = { post: "/v1/speech:recognize" body: "*" };
-  }
-}
-
-// `RecognizeRequest` is the only message type sent by the client.
-//
-// When using the REST API or the gRPC `NonStreamingRecognize` API, only one
-// `RecognizeRequest` message is sent, and it must contain both an
-// `initial_request` and an 'audio_request`.
-//
-// When using the gRPC Streaming `Recognize` API, one or more `RecognizeRequest`
-// messages are sent. The first message must contain an `initial_request` and
-// may contain an 'audio_request`. Any subsequent messages must not contain an
-// `initial_request` and must contain an 'audio_request`.
-message RecognizeRequest {
-  // The `initial_request` message provides information to the recognizer
-  // that specifies how to process the request.
-  //
-  // The first `RecognizeRequest` message must contain an `initial_request`.
-  // Any subsequent `RecognizeRequest` messages must not contain an
-  // `initial_request`.
-  InitialRecognizeRequest initial_request = 1;
-
-  // The audio data to be recognized. For REST or `NonStreamingRecognize`, all
-  // audio data must be contained in the first (and only) `RecognizeRequest`
-  // message. For gRPC streaming `Recognize`, sequential chunks of audio data
-  // are sent in sequential `RecognizeRequest` messages.
-  AudioRequest audio_request = 2;
-}
-
-// The `InitialRecognizeRequest` message provides information to the recognizer
-// that specifies how to process the request.
-message InitialRecognizeRequest {
-  // Audio encoding of the data sent in the audio message. All encodings support
-  // only 1 channel (mono) audio. Only `FLAC` includes a header that describes
-  // the bytes of audio that follow the header. The other encodings are raw
-  // audio bytes with no header.
-  //
-  // For best results, the audio source should be captured and transmitted using
-  // a lossless encoding (`FLAC` or `LINEAR16`). Recognition accuracy may be
-  // reduced if lossy codecs (such as AMR, AMR_WB and MULAW) are used to capture
-  // or transmit the audio, particularly if background noise is present.
-  enum AudioEncoding {
-    // Not specified. Will return result [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
-    ENCODING_UNSPECIFIED = 0;
-
-    // Uncompressed 16-bit signed little-endian samples.
-    LINEAR16 = 1;
-
-    // This is the recommended encoding because it uses lossless compression;
-    // therefore recognition accuracy is not compromised by a lossy codec.
-    //
-    // The stream FLAC (Free Lossless Audio Codec) encoding is specified at:
-    // http://flac.sourceforge.net/documentation.html.
-    // Only 16-bit samples are supported.
-    // Not all fields in STREAMINFO are supported.
-    FLAC = 2;
-
-    // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
-    MULAW = 3;
-
-    // Adaptive Multi-Rate Narrowband codec. `sample_rate` must be 8000 Hz.
-    AMR = 4;
-
-    // Adaptive Multi-Rate Wideband codec. `sample_rate` must be 16000 Hz.
-    AMR_WB = 5;
-  }
-
-  // [Required] Encoding of audio data sent in all `AudioRequest` messages.
-  AudioEncoding encoding = 1;
-
-  // [Required] Sample rate in Hertz of the audio data sent in all
-  // AudioRequest messages. Valid values are: 8000-48000.
-  // 16000 is optimal. For best results, set the sampling rate of the audio
-  // source to 16000 Hz. If that's not possible, use the native sample rate of
-  // the audio source (instead of re-sampling).
-  int32 sample_rate = 2;
-
-  // [Optional] The language of the supplied audio as a BCP-47 language tag.
-  // Example: "en-GB"  https://www.rfc-editor.org/rfc/bcp/bcp47.txt
-  // If omitted, defaults to "en-US". See
-  // [Language Support](/speech/docs/best-practices#language_support) for
-  // a list of the currently supported language codes.
-  string language_code = 3;
-
-  // [Optional] Maximum number of recognition hypotheses to be returned.
-  // Specifically, the maximum number of `SpeechRecognitionAlternative` messages
-  // within each `SpeechRecognitionResult`.
-  // The server may return fewer than `max_alternatives`.
-  // Valid values are `0`-`30`. A value of `0` or `1` will return a maximum of
-  // `1`. If omitted, defaults to `1`.
-  int32 max_alternatives = 4;
-
-  // [Optional] If set to `true`, the server will attempt to filter out
-  // profanities, replacing all but the initial character in each filtered word
-  // with asterisks, e.g. "f***". If set to `false` or omitted, profanities
-  // won't be filtered out.
-  bool profanity_filter = 5;
-
-  // [Optional] If `false` or omitted, the recognizer will detect a single
-  // spoken utterance, and it will cease recognition when the user stops
-  // speaking. If `enable_endpointer_events` is `true`, it will return
-  // `END_OF_UTTERANCE` when it detects that the user has stopped speaking.
-  // In all cases, it will return no more than one `SpeechRecognitionResult`,
-  // and set the `is_final` flag to `true`.
-  //
-  // If `true`, the recognizer will continue recognition (even if the user
-  // pauses speaking) until the client closes the output stream (gRPC API) or
-  // completes the POST data (REST API) or when the maximum time limit has been
-  // reached. Multiple `SpeechRecognitionResult`s with the `is_final` flag set
-  // to `true` may be returned to indicate that the recognizer will not return
-  // any further hypotheses for that portion of the transcript.
-  bool continuous = 6;
-
-  // [Optional] If this parameter is `true`, interim results may be returned as
-  // they become available.
-  // If `false` or omitted, only `is_final=true` result(s) are returned.
-  bool interim_results = 7;
-
-  // [Optional] If this parameter is `true`, `EndpointerEvents` may be returned
-  // as they become available.
-  // If `false` or omitted, no `EndpointerEvents` are returned.
-  bool enable_endpointer_events = 8;
-
-  // [Optional] URI that points to a file where the recognition result should
-  // be stored in JSON format. If omitted or empty string, the recognition
-  // result is returned in the response. Should be specified only for
-  // `NonStreamingRecognize`. If specified in a `Recognize` request,
-  // `Recognize` returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
-  // If specified in a `NonStreamingRecognize` request,
-  // `NonStreamingRecognize` returns immediately, and the output file
-  // is created asynchronously once the audio processing completes.
-  // Currently, only Google Cloud Storage URIs are supported, which must be
-  // specified in the following format: `gs://bucket_name/object_name`
-  // (other URI formats return [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For
-  // more information, see [Request URIs](/storage/docs/reference-uris).
-  string output_uri = 9;
-
-  // [Optional] A means to provide context to assist the speech recognition.
-  SpeechContext speech_context = 10;
-}
-
-// Provides "hints" to the speech recognizer to favor specific words and phrases
-// in the results.
-message SpeechContext {
-  // [Optional] A list of up to 50 phrases of up to 100 characters each to
-  // provide words and phrases "hints" to the speech recognition so that it is
-  // more likely to recognize them.
-  repeated string phrases = 1;
-}
-
-// Contains audio data in the encoding specified in the
-// `InitialRecognizeRequest`. Either `content` or `uri` must be supplied.
-// Supplying both or neither returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
-message AudioRequest {
-  // The audio data bytes encoded as specified in
-  // `InitialRecognizeRequest`. Note: as with all bytes fields, protobuffers
-  // use a pure binary representation, whereas JSON representations use base64.
-  bytes content = 1;
-
-  // URI that points to a file that contains audio data bytes as specified in
-  // `InitialRecognizeRequest`. Currently, only Google Cloud Storage URIs are
-  // supported, which must be specified in the following format:
-  // `gs://bucket_name/object_name` (other URI formats return
-  // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
-  // [Request URIs](/storage/docs/reference-uris).
-  string uri = 2;
-}
-
-// `NonStreamingRecognizeResponse` is the only message returned to the client by
-// `NonStreamingRecognize`. It contains the result as zero or more sequential
-// `RecognizeResponse` messages.
-//
-// Note that streaming `Recognize` will also return multiple `RecognizeResponse`
-// messages, but each message is individually streamed.
-message NonStreamingRecognizeResponse {
-  // [Output-only] Sequential list of messages returned by the recognizer.
-  repeated RecognizeResponse responses = 1;
-}
-
-// `RecognizeResponse` is the only message type returned to the client.
-message RecognizeResponse {
-  // Indicates the type of endpointer event.
-  enum EndpointerEvent {
-    // No endpointer event specified.
-    ENDPOINTER_EVENT_UNSPECIFIED = 0;
-
-    // Speech has been detected in the audio stream.
-    START_OF_SPEECH = 1;
-
-    // Speech has ceased to be detected in the audio stream.
-    END_OF_SPEECH = 2;
-
-    // The end of the audio stream has been reached. and it is being processed.
-    END_OF_AUDIO = 3;
-
-    // This event is only sent when continuous is `false`. It indicates that the
-    // server has detected the end of the user's speech utterance and expects no
-    // additional speech. Therefore, the server will not process additional
-    // audio. The client should stop sending additional audio data.
-    END_OF_UTTERANCE = 4;
-  }
-
-  // [Output-only] If set, returns a [google.rpc.Status][] message that
-  // specifies the error for the operation.
-  google.rpc.Status error = 1;
-
-  // [Output-only] For `continuous=false`, this repeated list contains zero or
-  // one result that corresponds to all of the audio processed so far. For
-  // `continuous=true`, this repeated list contains zero or more results that
-  // correspond to consecutive portions of the audio being processed.
-  // In both cases, contains zero or one `is_final=true` result (the newly
-  // settled portion), followed by zero or more `is_final=false` results.
-  repeated SpeechRecognitionResult results = 2;
-
-  // [Output-only] Indicates the lowest index in the `results` array that has
-  // changed. The repeated `SpeechRecognitionResult` results overwrite past
-  // results at this index and higher.
-  int32 result_index = 3;
-
-  // [Output-only] Indicates the type of endpointer event.
-  EndpointerEvent endpoint = 4;
-}
-
-// A speech recognition result corresponding to a portion of the audio.
-message SpeechRecognitionResult {
-  // [Output-only] May contain one or more recognition hypotheses (up to the
-  // maximum specified in `max_alternatives`).
-  repeated SpeechRecognitionAlternative alternatives = 1;
-
-  // [Output-only] Set `true` if this is the final time the speech service will
-  // return this particular `SpeechRecognitionResult`. If `false`, this
-  // represents an interim result that may change.
-  bool is_final = 2;
-
-  // [Output-only] An estimate of the probability that the recognizer will not
-  // change its guess about this interim result. Values range from 0.0
-  // (completely unstable) to 1.0 (completely stable). Note that this is not the
-  // same as `confidence`, which estimates the probability that a recognition
-  // result is correct.
-  // This field is only provided for interim results (`is_final=false`).
-  // The default of 0.0 is a sentinel value indicating stability was not set.
-  float stability = 3;
-}
-
-// Alternative hypotheses (a.k.a. n-best list).
-message SpeechRecognitionAlternative {
-  // [Output-only] Transcript text representing the words that the user spoke.
-  string transcript = 1;
-
-  // [Output-only] The confidence estimate between 0.0 and 1.0. A higher number
-  // means the system is more confident that the recognition is correct.
-  // This field is typically provided only for the top hypothesis. and only for
-  // `is_final=true` results.
-  // The default of 0.0 is a sentinel value indicating confidence was not set.
-  float confidence = 2;
-}
diff --git a/googleapis/cloud/speech/v1beta1/cloud_speech.pb.go b/googleapis/cloud/speech/v1beta1/cloud_speech.pb.go
index bac5ec13ee0ca9fc28a6951021b8ffc481f03bc1..cd932d9b859b45863a3f2f5d9f9dd8c2533ab5f5 100644
--- a/googleapis/cloud/speech/v1beta1/cloud_speech.pb.go
+++ b/googleapis/cloud/speech/v1beta1/cloud_speech.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/speech/v1beta1/cloud_speech.proto
+// source: google/cloud/speech/v1beta1/cloud_speech.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_speech_v1beta1 is a generated protocol buffer package.
+Package speech is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/speech/v1beta1/cloud_speech.proto
+	google/cloud/speech/v1beta1/cloud_speech.proto
 
 It has these top-level messages:
 	SyncRecognizeRequest
@@ -24,12 +24,12 @@ It has these top-level messages:
 	SpeechRecognitionResult
 	SpeechRecognitionAlternative
 */
-package google_cloud_speech_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/speech/v1beta1"
+package speech
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
@@ -365,6 +365,20 @@ func (m *StreamingRecognitionConfig) GetConfig() *RecognitionConfig {
 	return nil
 }
 
+func (m *StreamingRecognitionConfig) GetSingleUtterance() bool {
+	if m != nil {
+		return m.SingleUtterance
+	}
+	return false
+}
+
+func (m *StreamingRecognitionConfig) GetInterimResults() bool {
+	if m != nil {
+		return m.InterimResults
+	}
+	return false
+}
+
 // The `RecognitionConfig` message provides information to the recognizer
 // that specifies how to process the request.
 type RecognitionConfig struct {
@@ -403,6 +417,41 @@ func (m *RecognitionConfig) String() string            { return proto.CompactTex
 func (*RecognitionConfig) ProtoMessage()               {}
 func (*RecognitionConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *RecognitionConfig) GetEncoding() RecognitionConfig_AudioEncoding {
+	if m != nil {
+		return m.Encoding
+	}
+	return RecognitionConfig_ENCODING_UNSPECIFIED
+}
+
+func (m *RecognitionConfig) GetSampleRate() int32 {
+	if m != nil {
+		return m.SampleRate
+	}
+	return 0
+}
+
+func (m *RecognitionConfig) GetLanguageCode() string {
+	if m != nil {
+		return m.LanguageCode
+	}
+	return ""
+}
+
+func (m *RecognitionConfig) GetMaxAlternatives() int32 {
+	if m != nil {
+		return m.MaxAlternatives
+	}
+	return 0
+}
+
+func (m *RecognitionConfig) GetProfanityFilter() bool {
+	if m != nil {
+		return m.ProfanityFilter
+	}
+	return false
+}
+
 func (m *RecognitionConfig) GetSpeechContext() *SpeechContext {
 	if m != nil {
 		return m.SpeechContext
@@ -427,6 +476,13 @@ func (m *SpeechContext) String() string            { return proto.CompactTextStr
 func (*SpeechContext) ProtoMessage()               {}
 func (*SpeechContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *SpeechContext) GetPhrases() []string {
+	if m != nil {
+		return m.Phrases
+	}
+	return nil
+}
+
 // Contains audio data in the encoding specified in the `RecognitionConfig`.
 // Either `content` or `uri` must be supplied. Supplying both or neither
 // returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. See
@@ -607,6 +663,13 @@ func (m *AsyncRecognizeMetadata) String() string            { return proto.Compa
 func (*AsyncRecognizeMetadata) ProtoMessage()               {}
 func (*AsyncRecognizeMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *AsyncRecognizeMetadata) GetProgressPercent() int32 {
+	if m != nil {
+		return m.ProgressPercent
+	}
+	return 0
+}
+
 func (m *AsyncRecognizeMetadata) GetStartTime() *google_protobuf3.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -714,6 +777,20 @@ func (m *StreamingRecognizeResponse) GetResults() []*StreamingRecognitionResult
 	return nil
 }
 
+func (m *StreamingRecognizeResponse) GetResultIndex() int32 {
+	if m != nil {
+		return m.ResultIndex
+	}
+	return 0
+}
+
+func (m *StreamingRecognizeResponse) GetEndpointerType() StreamingRecognizeResponse_EndpointerType {
+	if m != nil {
+		return m.EndpointerType
+	}
+	return StreamingRecognizeResponse_ENDPOINTER_EVENT_UNSPECIFIED
+}
+
 // A streaming speech recognition result corresponding to a portion of the audio
 // that is currently being processed.
 type StreamingRecognitionResult struct {
@@ -748,6 +825,20 @@ func (m *StreamingRecognitionResult) GetAlternatives() []*SpeechRecognitionAlter
 	return nil
 }
 
+func (m *StreamingRecognitionResult) GetIsFinal() bool {
+	if m != nil {
+		return m.IsFinal
+	}
+	return false
+}
+
+func (m *StreamingRecognitionResult) GetStability() float32 {
+	if m != nil {
+		return m.Stability
+	}
+	return 0
+}
+
 // A speech recognition result corresponding to a portion of the audio.
 type SpeechRecognitionResult struct {
 	// [Output-only] May contain one or more recognition hypotheses (up to the
@@ -784,6 +875,20 @@ func (m *SpeechRecognitionAlternative) String() string            { return proto
 func (*SpeechRecognitionAlternative) ProtoMessage()               {}
 func (*SpeechRecognitionAlternative) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *SpeechRecognitionAlternative) GetTranscript() string {
+	if m != nil {
+		return m.Transcript
+	}
+	return ""
+}
+
+func (m *SpeechRecognitionAlternative) GetConfidence() float32 {
+	if m != nil {
+		return m.Confidence
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*SyncRecognizeRequest)(nil), "google.cloud.speech.v1beta1.SyncRecognizeRequest")
 	proto.RegisterType((*AsyncRecognizeRequest)(nil), "google.cloud.speech.v1beta1.AsyncRecognizeRequest")
@@ -987,90 +1092,87 @@ var _Speech_serviceDesc = grpc.ServiceDesc{
 			ClientStreams: true,
 		},
 	},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/speech/v1beta1/cloud_speech.proto",
+	Metadata: "google/cloud/speech/v1beta1/cloud_speech.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/speech/v1beta1/cloud_speech.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/speech/v1beta1/cloud_speech.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1226 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x56, 0x4d, 0x6f, 0x1b, 0xc5,
-	0x1b, 0xcf, 0xda, 0x71, 0x5e, 0x9e, 0xd8, 0xce, 0x76, 0xda, 0xfe, 0xff, 0xae, 0xe9, 0x4b, 0xd8,
-	0x0a, 0x91, 0x56, 0xc2, 0xdb, 0x04, 0xd4, 0xaa, 0x05, 0x0e, 0x8e, 0xb3, 0x26, 0x96, 0x1a, 0x27,
-	0x9d, 0x38, 0x94, 0x0b, 0xac, 0x26, 0xeb, 0xc9, 0x66, 0x24, 0x7b, 0x76, 0x99, 0x99, 0xad, 0x12,
-	0x8e, 0xbd, 0x71, 0xe1, 0xc2, 0x17, 0x40, 0x82, 0x4f, 0x80, 0x38, 0x70, 0x41, 0x5c, 0x38, 0x70,
-	0xe7, 0x2b, 0xf0, 0x41, 0xd0, 0xce, 0xec, 0x26, 0xb6, 0xd3, 0x9a, 0x04, 0x51, 0x89, 0x93, 0x3d,
-	0xbf, 0x99, 0xe7, 0xf7, 0xfc, 0xe6, 0x99, 0xe7, 0x65, 0x61, 0x3b, 0x8c, 0xa2, 0x70, 0x40, 0x1b,
-	0x61, 0x34, 0x20, 0x3c, 0x6c, 0x44, 0x22, 0x74, 0x43, 0xca, 0x63, 0x11, 0xa9, 0xc8, 0x35, 0x5b,
-	0x24, 0x66, 0xd2, 0x0d, 0x06, 0x51, 0xd2, 0x77, 0x65, 0x4c, 0x69, 0x70, 0xe4, 0xbe, 0x58, 0x3b,
-	0xa0, 0x8a, 0xac, 0x19, 0xd0, 0x37, 0x60, 0x43, 0x9b, 0xa0, 0xb7, 0x32, 0x3a, 0xbd, 0xd5, 0xc8,
-	0xb6, 0xb2, 0xf3, 0xf5, 0xce, 0xc5, 0x7c, 0x91, 0x98, 0xb9, 0x92, 0x8a, 0x17, 0x2c, 0xa0, 0x41,
-	0xc4, 0x0f, 0x59, 0xe8, 0x12, 0xce, 0x23, 0x45, 0x14, 0x8b, 0xb8, 0x34, 0x7e, 0xea, 0x1b, 0x17,
-	0xa3, 0x1a, 0x44, 0x3c, 0x14, 0x09, 0xe7, 0x8c, 0x87, 0x6e, 0x14, 0x53, 0x31, 0xc6, 0xf1, 0x61,
-	0xc8, 0xd4, 0x51, 0x72, 0xd0, 0x08, 0xa2, 0xa1, 0x6b, 0x78, 0x5c, 0xbd, 0x71, 0x90, 0x1c, 0xba,
-	0xb1, 0x3a, 0x89, 0xa9, 0x74, 0x15, 0x1b, 0x52, 0xa9, 0xc8, 0x30, 0x3e, 0xfb, 0x97, 0x19, 0x7f,
-	0x7c, 0x31, 0x01, 0x22, 0x0e, 0x5c, 0xa9, 0x88, 0x4a, 0x64, 0xf6, 0x63, 0xcc, 0x9d, 0xef, 0x2d,
-	0xb8, 0xb6, 0x77, 0xc2, 0x03, 0x4c, 0x83, 0x28, 0xe4, 0xec, 0x2b, 0x8a, 0xe9, 0x97, 0x09, 0x95,
-	0x0a, 0xb5, 0x61, 0xce, 0x5c, 0xba, 0x66, 0xad, 0x58, 0xab, 0x4b, 0xeb, 0x8d, 0xc6, 0x94, 0x88,
-	0x36, 0x32, 0xf3, 0xf4, 0x56, 0x2d, 0x6d, 0x85, 0x33, 0x6b, 0xd4, 0x82, 0x12, 0x49, 0xfa, 0x2c,
-	0xaa, 0x15, 0x34, 0xcd, 0x7b, 0x17, 0xa5, 0x69, 0xa6, 0x46, 0xd8, 0xd8, 0x3a, 0x3f, 0x58, 0x70,
-	0xbd, 0x29, 0xff, 0xf3, 0x32, 0x7f, 0xb1, 0xe0, 0xc6, 0x9e, 0x12, 0x94, 0x0c, 0x19, 0x0f, 0xcf,
-	0x49, 0xed, 0x83, 0x2d, 0xf3, 0x4d, 0x7f, 0x4c, 0xf4, 0xa3, 0xa9, 0xde, 0x26, 0x19, 0xcf, 0xd4,
-	0x6f, 0xcd, 0xe0, 0xe5, 0x53, 0x4a, 0x03, 0xa1, 0x77, 0xa0, 0xa2, 0xc5, 0xa4, 0x1e, 0x14, 0xe5,
-	0x4a, 0x5f, 0xa8, 0xbc, 0x35, 0x83, 0xcb, 0x1a, 0x6e, 0x19, 0x74, 0xe3, 0x2a, 0x5c, 0x39, 0x13,
-	0x23, 0x8c, 0x42, 0xe7, 0x67, 0x0b, 0xea, 0xaf, 0xf7, 0xf6, 0xaf, 0xc5, 0xfa, 0x1e, 0xd8, 0x92,
-	0xf1, 0x70, 0x40, 0xfd, 0x44, 0x29, 0x2a, 0x08, 0x0f, 0xa8, 0x56, 0xb9, 0x80, 0x97, 0x0d, 0xbe,
-	0x9f, 0xc3, 0xe8, 0x5d, 0x58, 0x66, 0x5c, 0x51, 0xc1, 0x86, 0xbe, 0xa0, 0x32, 0x19, 0x28, 0x59,
-	0x2b, 0xea, 0x93, 0xd5, 0x0c, 0xc6, 0x06, 0x75, 0x7e, 0x2d, 0xc2, 0x95, 0xf3, 0x8a, 0x3f, 0x83,
-	0x05, 0xca, 0x83, 0xa8, 0xcf, 0xb8, 0xd1, 0x5c, 0x5d, 0xff, 0xe8, 0x72, 0x9a, 0x1b, 0xfa, 0x7d,
-	0xbd, 0x8c, 0x03, 0x9f, 0xb2, 0xa1, 0x3b, 0xb0, 0x24, 0xc9, 0x30, 0x1e, 0x50, 0x5f, 0x10, 0x65,
-	0xe4, 0x97, 0x30, 0x18, 0x08, 0x13, 0x45, 0xd1, 0x5d, 0xa8, 0xa4, 0x05, 0x99, 0x90, 0x90, 0xfa,
-	0x41, 0xd4, 0xa7, 0x5a, 0xf7, 0x22, 0x2e, 0xe7, 0x60, 0x2b, 0xea, 0xd3, 0x34, 0x12, 0x43, 0x72,
-	0xec, 0x93, 0x81, 0xa2, 0x82, 0x13, 0xc5, 0x5e, 0x50, 0x59, 0x9b, 0xd5, 0x54, 0xcb, 0x43, 0x72,
-	0xdc, 0x1c, 0x81, 0xd3, 0xa3, 0xb1, 0x88, 0x0e, 0x09, 0x67, 0xea, 0xc4, 0x3f, 0x64, 0xe9, 0x56,
-	0xad, 0x64, 0x82, 0x76, 0x8a, 0xb7, 0x35, 0x8c, 0x9e, 0x41, 0xd5, 0xdc, 0xcb, 0xe4, 0xc0, 0xb1,
-	0xaa, 0xcd, 0xe9, 0xf7, 0xba, 0x3f, 0x3d, 0xcd, 0xf4, 0xb2, 0x65, 0x2c, 0x70, 0x45, 0x8e, 0x2e,
-	0x1d, 0x02, 0x95, 0xb1, 0x48, 0xa0, 0x1a, 0x5c, 0xf3, 0xba, 0xad, 0x9d, 0xcd, 0x4e, 0xf7, 0x13,
-	0x7f, 0xbf, 0xbb, 0xb7, 0xeb, 0xb5, 0x3a, 0xed, 0x8e, 0xb7, 0x69, 0xcf, 0xa0, 0x32, 0x2c, 0x3c,
-	0xed, 0x74, 0xbd, 0x26, 0x5e, 0x7b, 0x68, 0x5b, 0x68, 0x01, 0x66, 0xdb, 0x4f, 0x9b, 0x2d, 0xbb,
-	0x80, 0x16, 0xa1, 0xb4, 0xbd, 0xff, 0xb4, 0xf9, 0xdc, 0x2e, 0xa2, 0x79, 0x28, 0x36, 0xb7, 0xb1,
-	0x3d, 0x8b, 0x00, 0xe6, 0x9a, 0xdb, 0xd8, 0x7f, 0xbe, 0x61, 0x97, 0x9c, 0x7b, 0x50, 0x19, 0x93,
-	0x80, 0x6a, 0x30, 0x1f, 0x1f, 0x09, 0x22, 0xa9, 0xac, 0x59, 0x2b, 0xc5, 0xd5, 0x45, 0x9c, 0x2f,
-	0x1d, 0x0c, 0xf6, 0x64, 0x09, 0xa2, 0x3a, 0xcc, 0xe7, 0x19, 0x6f, 0x65, 0x19, 0x9f, 0x03, 0x08,
-	0x41, 0x31, 0x11, 0x4c, 0x3f, 0xd2, 0xe2, 0xd6, 0x0c, 0x4e, 0x17, 0x1b, 0x55, 0x30, 0x05, 0xe1,
-	0xcb, 0x28, 0x11, 0x01, 0x75, 0x42, 0xb8, 0x3e, 0xd1, 0x07, 0x65, 0x1c, 0x71, 0x49, 0x51, 0x17,
-	0xe6, 0xf3, 0xd4, 0x2b, 0xac, 0x14, 0x57, 0x97, 0xd6, 0x3f, 0xb8, 0x40, 0x18, 0x47, 0xe4, 0x99,
-	0x0c, 0xc5, 0x39, 0x89, 0x73, 0x04, 0xff, 0x9b, 0x6c, 0x65, 0x6f, 0xc8, 0xd3, 0x6f, 0xd6, 0xa4,
-	0xab, 0x6d, 0xaa, 0x48, 0x9f, 0x28, 0x92, 0x65, 0x53, 0x28, 0xa8, 0x94, 0x7e, 0x4c, 0x45, 0x90,
-	0x87, 0xad, 0xa4, 0xb3, 0x49, 0xe3, 0xbb, 0x06, 0x46, 0x8f, 0x01, 0xa4, 0x22, 0x42, 0xf9, 0xe9,
-	0xe4, 0xc9, 0xda, 0x63, 0x3d, 0x17, 0x96, 0xcf, 0xa9, 0x46, 0x2f, 0x1f, 0x4b, 0x78, 0x51, 0x9f,
-	0x4e, 0xd7, 0x68, 0x13, 0xec, 0x01, 0x91, 0xca, 0x4f, 0xe2, 0x3e, 0x51, 0xd4, 0x10, 0x14, 0xff,
-	0x96, 0xa0, 0x9a, 0xda, 0xec, 0x6b, 0x93, 0x14, 0x74, 0x7e, 0x2c, 0x9e, 0xef, 0x4a, 0x23, 0x51,
-	0x5b, 0x85, 0x12, 0x15, 0x22, 0x12, 0x59, 0x53, 0x42, 0x39, 0xb3, 0x88, 0x83, 0xc6, 0x9e, 0x1e,
-	0x75, 0xd8, 0x1c, 0x40, 0xcf, 0x26, 0xe3, 0x7b, 0xf9, 0xbe, 0x3b, 0x11, 0x62, 0xf4, 0x36, 0x94,
-	0xcd, 0x5f, 0x9f, 0xf1, 0x3e, 0x3d, 0xd6, 0xb7, 0x2b, 0xe1, 0x25, 0x83, 0x75, 0x52, 0x08, 0x45,
-	0xb0, 0x4c, 0x79, 0x3f, 0x8e, 0x74, 0xc3, 0xf2, 0xd3, 0x71, 0xae, 0x4b, 0xbc, 0xba, 0xde, 0xbe,
-	0x94, 0xf7, 0xb3, 0x1b, 0x37, 0xbc, 0x53, 0xba, 0xde, 0x49, 0x4c, 0x71, 0x95, 0x8e, 0xad, 0x9d,
-	0x97, 0x16, 0x54, 0xc7, 0x8f, 0xa0, 0x15, 0xb8, 0xe9, 0x75, 0x37, 0x77, 0x77, 0x3a, 0xdd, 0x9e,
-	0x87, 0x7d, 0xef, 0x53, 0xaf, 0xdb, 0x9b, 0xa8, 0xda, 0xab, 0xb0, 0xbc, 0xd7, 0x6b, 0xe2, 0x9e,
-	0xbf, 0xd3, 0xf6, 0xf7, 0x76, 0x3d, 0xaf, 0xb5, 0x65, 0x5b, 0xe8, 0x0a, 0x54, 0xbc, 0xee, 0xe6,
-	0x08, 0x54, 0x40, 0x36, 0x94, 0x33, 0xa8, 0xb9, 0xbf, 0xd9, 0xd9, 0xb1, 0x8b, 0xe8, 0x1a, 0xd8,
-	0x19, 0xb2, 0xdf, 0xeb, 0x79, 0xb8, 0xd9, 0x6d, 0x79, 0xf6, 0xac, 0xf3, 0xd3, 0x6b, 0x46, 0x89,
-	0x09, 0x20, 0xfa, 0x1c, 0xca, 0x63, 0x4d, 0xcf, 0xd2, 0xef, 0xf1, 0xf8, 0x72, 0xf9, 0x3e, 0xd2,
-	0x1f, 0xf1, 0x18, 0x1d, 0xba, 0x01, 0x0b, 0x4c, 0xfa, 0x87, 0x8c, 0x93, 0x41, 0x36, 0x59, 0xe6,
-	0x99, 0x6c, 0xa7, 0x4b, 0x74, 0x13, 0xd2, 0x04, 0x3d, 0x60, 0x03, 0xa6, 0x4e, 0xf4, 0x73, 0x15,
-	0xf0, 0x19, 0xe0, 0x1c, 0xc3, 0xff, 0x5f, 0x53, 0x56, 0x6f, 0x58, 0xb2, 0xf3, 0x05, 0xdc, 0x9c,
-	0x76, 0x1a, 0xdd, 0x06, 0x50, 0x82, 0x70, 0x19, 0x08, 0x16, 0x9b, 0x5a, 0x5d, 0xc4, 0x23, 0x48,
-	0xba, 0xaf, 0xc7, 0x6b, 0x9f, 0xe6, 0xe3, 0xb4, 0x80, 0x47, 0x90, 0xf5, 0xdf, 0x8b, 0x30, 0x67,
-	0x1c, 0xa0, 0xef, 0x2c, 0xa8, 0x8c, 0xf5, 0x3a, 0xb4, 0x36, 0xfd, 0x16, 0xaf, 0xf8, 0xf0, 0xaa,
-	0xaf, 0x5f, 0xc6, 0xc4, 0x24, 0xae, 0xb3, 0xfa, 0xf2, 0x8f, 0x3f, 0xbf, 0x2d, 0x38, 0xce, 0xad,
-	0xd3, 0x2f, 0x77, 0x63, 0xf6, 0x24, 0x6d, 0x52, 0x22, 0x3f, 0xfe, 0xc4, 0xba, 0x8f, 0xbe, 0xb1,
-	0xa0, 0x3a, 0xde, 0xba, 0xd0, 0x74, 0x87, 0xaf, 0xfc, 0x3a, 0xac, 0xdf, 0xca, 0x6d, 0x46, 0xbe,
-	0xbf, 0x1b, 0x3b, 0xf9, 0xf7, 0xb7, 0x73, 0x4f, 0xeb, 0xb9, 0xeb, 0xdc, 0x9e, 0xd4, 0x43, 0xce,
-	0x09, 0xfa, 0xda, 0x02, 0x74, 0xbe, 0x24, 0xd1, 0xc3, 0x4b, 0xd7, 0xb0, 0x11, 0xf6, 0xe8, 0x1f,
-	0xd6, 0xfe, 0xaa, 0xf5, 0xc0, 0xda, 0x78, 0x00, 0x77, 0x82, 0x68, 0x38, 0x8d, 0x61, 0x63, 0xc9,
-	0x3c, 0xf5, 0x6e, 0xda, 0x5d, 0x77, 0xad, 0x83, 0x39, 0xdd, 0x66, 0xdf, 0xff, 0x2b, 0x00, 0x00,
-	0xff, 0xff, 0x75, 0x72, 0x16, 0x3d, 0x65, 0x0d, 0x00, 0x00,
+	// 1206 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0x4d, 0x6f, 0x1b, 0xc5,
+	0x1b, 0xcf, 0xda, 0x71, 0x5e, 0x9e, 0xd8, 0xce, 0x76, 0xda, 0xfe, 0xeb, 0xfa, 0x9f, 0xb6, 0x61,
+	0x2b, 0x44, 0x5a, 0x89, 0x35, 0x09, 0xa8, 0x55, 0x0b, 0x17, 0xc7, 0x59, 0x13, 0x4b, 0x8d, 0x93,
+	0x4e, 0x1c, 0x8a, 0x90, 0x60, 0x35, 0x59, 0x4f, 0xb6, 0x2b, 0xd9, 0x33, 0xcb, 0xcc, 0x6c, 0x95,
+	0x70, 0xec, 0x8d, 0x0b, 0x17, 0xbe, 0x00, 0x12, 0x7c, 0x02, 0xc4, 0x81, 0x0b, 0xe2, 0xc2, 0x81,
+	0x3b, 0x5f, 0x81, 0x0f, 0x82, 0x76, 0x66, 0x37, 0xb1, 0x9d, 0xc6, 0x34, 0x88, 0x4a, 0xdc, 0xfc,
+	0xfc, 0xe6, 0x79, 0xf9, 0xed, 0x33, 0xcf, 0xcb, 0x18, 0xdc, 0x90, 0xf3, 0x70, 0x40, 0x1b, 0xc1,
+	0x80, 0x27, 0xfd, 0x86, 0x8c, 0x29, 0x0d, 0x9e, 0x37, 0x5e, 0xac, 0x1f, 0x52, 0x45, 0xd6, 0x0d,
+	0xe8, 0x1b, 0xd0, 0x8d, 0x05, 0x57, 0x1c, 0xfd, 0xdf, 0xe8, 0xbb, 0xfa, 0xc8, 0xcd, 0x8e, 0x32,
+	0xfd, 0xfa, 0x4a, 0xe6, 0x8c, 0xc4, 0x51, 0x83, 0x30, 0xc6, 0x15, 0x51, 0x11, 0x67, 0xd2, 0x98,
+	0xd6, 0xef, 0x66, 0xa7, 0x03, 0xce, 0x42, 0x91, 0x30, 0x16, 0xb1, 0xb0, 0xc1, 0x63, 0x2a, 0xc6,
+	0x94, 0xee, 0x64, 0x4a, 0x5a, 0x3a, 0x4c, 0x8e, 0x1a, 0x2a, 0x1a, 0x52, 0xa9, 0xc8, 0x30, 0xce,
+	0x14, 0x6e, 0x64, 0x0a, 0x22, 0x0e, 0x1a, 0x52, 0x11, 0x95, 0x64, 0x96, 0xce, 0xf7, 0x16, 0x5c,
+	0xdb, 0x3f, 0x61, 0x01, 0xa6, 0x01, 0x0f, 0x59, 0xf4, 0x15, 0xc5, 0xf4, 0xcb, 0x84, 0x4a, 0x85,
+	0xda, 0x30, 0x17, 0x70, 0x76, 0x14, 0x85, 0x35, 0x6b, 0xd5, 0x5a, 0x5b, 0xda, 0x70, 0xdd, 0x29,
+	0xdf, 0xe0, 0x66, 0xe6, 0x29, 0xa7, 0x96, 0xb6, 0xc2, 0x99, 0x35, 0x6a, 0x41, 0x89, 0x24, 0xfd,
+	0x88, 0xd7, 0x0a, 0xda, 0xcd, 0xbb, 0xaf, 0xeb, 0xa6, 0x99, 0x1a, 0x61, 0x63, 0xeb, 0xfc, 0x60,
+	0xc1, 0xf5, 0xa6, 0xfc, 0xcf, 0xd3, 0xfc, 0xc5, 0x82, 0x9b, 0xfb, 0x4a, 0x50, 0x32, 0x8c, 0x58,
+	0x78, 0x8e, 0x6a, 0x1f, 0x6c, 0x99, 0x1f, 0xfa, 0x63, 0xa4, 0x1f, 0x4e, 0x8d, 0x36, 0xe9, 0xf1,
+	0x8c, 0xfd, 0xf6, 0x0c, 0x5e, 0x3e, 0x75, 0x69, 0x20, 0xf4, 0x36, 0x54, 0x34, 0x99, 0x34, 0x82,
+	0xa2, 0x4c, 0xe9, 0x0f, 0x2a, 0x6f, 0xcf, 0xe0, 0xb2, 0x86, 0x5b, 0x06, 0xdd, 0xbc, 0x0a, 0x57,
+	0xce, 0xc8, 0x08, 0xc3, 0xd0, 0xf9, 0xd9, 0x82, 0xfa, 0xc5, 0xd1, 0xfe, 0xb5, 0x5c, 0xdf, 0x03,
+	0x5b, 0x46, 0x2c, 0x1c, 0x50, 0x3f, 0x51, 0x8a, 0x0a, 0xc2, 0x02, 0xaa, 0x59, 0x2e, 0xe0, 0x65,
+	0x83, 0x1f, 0xe4, 0x30, 0x7a, 0x07, 0x96, 0x23, 0xa6, 0xa8, 0x88, 0x86, 0xbe, 0xa0, 0x32, 0x19,
+	0x28, 0x59, 0x2b, 0x6a, 0xcd, 0x6a, 0x06, 0x63, 0x83, 0x3a, 0xbf, 0x16, 0xe1, 0xca, 0x79, 0xc6,
+	0x9f, 0xc2, 0x02, 0x65, 0x01, 0xef, 0x47, 0xcc, 0x70, 0xae, 0x6e, 0x7c, 0x74, 0x39, 0xce, 0xae,
+	0xbe, 0x5f, 0x2f, 0xf3, 0x81, 0x4f, 0xbd, 0xa1, 0x3b, 0xb0, 0x24, 0xc9, 0x30, 0x1e, 0x50, 0x5f,
+	0x10, 0x65, 0xe8, 0x97, 0x30, 0x18, 0x08, 0x13, 0x45, 0xd1, 0x5d, 0xa8, 0x0c, 0x08, 0x0b, 0x13,
+	0x12, 0x52, 0x3f, 0xe0, 0x7d, 0xaa, 0x79, 0x2f, 0xe2, 0x72, 0x0e, 0xb6, 0x78, 0x9f, 0xa6, 0x99,
+	0x18, 0x92, 0x63, 0x9f, 0x0c, 0x14, 0x15, 0x8c, 0xa8, 0xe8, 0x05, 0x95, 0xb5, 0x59, 0xed, 0x6a,
+	0x79, 0x48, 0x8e, 0x9b, 0x23, 0x70, 0xaa, 0x1a, 0x0b, 0x7e, 0x44, 0x58, 0xa4, 0x4e, 0xfc, 0xa3,
+	0x28, 0x3d, 0xaa, 0x95, 0x4c, 0xd2, 0x4e, 0xf1, 0xb6, 0x86, 0xd1, 0x53, 0xa8, 0x9a, 0xef, 0x32,
+	0x35, 0x70, 0xac, 0x6a, 0x73, 0xfa, 0xbe, 0xee, 0x4f, 0x2f, 0x33, 0x2d, 0xb6, 0x8c, 0x05, 0xae,
+	0xc8, 0x51, 0xd1, 0x21, 0x50, 0x19, 0xcb, 0x04, 0xaa, 0xc1, 0x35, 0xaf, 0xdb, 0xda, 0xdd, 0xea,
+	0x74, 0x3f, 0xf6, 0x0f, 0xba, 0xfb, 0x7b, 0x5e, 0xab, 0xd3, 0xee, 0x78, 0x5b, 0xf6, 0x0c, 0x2a,
+	0xc3, 0xc2, 0x93, 0x4e, 0xd7, 0x6b, 0xe2, 0xf5, 0x07, 0xb6, 0x85, 0x16, 0x60, 0xb6, 0xfd, 0xa4,
+	0xd9, 0xb2, 0x0b, 0x68, 0x11, 0x4a, 0x3b, 0x07, 0x4f, 0x9a, 0xcf, 0xec, 0x22, 0x9a, 0x87, 0x62,
+	0x73, 0x07, 0xdb, 0xb3, 0x08, 0x60, 0xae, 0xb9, 0x83, 0xfd, 0x67, 0x9b, 0x76, 0xc9, 0xb9, 0x07,
+	0x95, 0x31, 0x0a, 0xa8, 0x06, 0xf3, 0xf1, 0x73, 0x41, 0x24, 0x95, 0x35, 0x6b, 0xb5, 0xb8, 0xb6,
+	0x88, 0x73, 0xd1, 0xc1, 0x60, 0x4f, 0xb6, 0x20, 0xaa, 0xc3, 0x7c, 0x5e, 0xf1, 0x56, 0x56, 0xf1,
+	0x39, 0x80, 0x10, 0x14, 0x13, 0x11, 0xe9, 0x4b, 0x5a, 0xdc, 0x9e, 0xc1, 0xa9, 0xb0, 0x59, 0x05,
+	0xd3, 0x10, 0xbe, 0xe4, 0x89, 0x08, 0xa8, 0x13, 0xc2, 0xf5, 0x89, 0x39, 0x28, 0x63, 0xce, 0x24,
+	0x45, 0x5d, 0x98, 0xcf, 0x4b, 0xaf, 0xb0, 0x5a, 0x5c, 0x5b, 0xda, 0xf8, 0xe0, 0x35, 0xd2, 0x38,
+	0x42, 0xcf, 0x54, 0x28, 0xce, 0x9d, 0x38, 0xcf, 0xe1, 0x7f, 0x93, 0xa3, 0xec, 0x0d, 0x45, 0xfa,
+	0xcd, 0x9a, 0x0c, 0xb5, 0x43, 0x15, 0xe9, 0x13, 0x45, 0xb2, 0x6a, 0x0a, 0x05, 0x95, 0xd2, 0x8f,
+	0xa9, 0x08, 0xf2, 0xb4, 0x95, 0x74, 0x35, 0x69, 0x7c, 0xcf, 0xc0, 0xe8, 0x11, 0x80, 0x54, 0x44,
+	0x28, 0x3f, 0xdd, 0x29, 0xd9, 0x78, 0xac, 0xe7, 0xc4, 0xf2, 0x85, 0xe3, 0xf6, 0xf2, 0x85, 0x83,
+	0x17, 0xb5, 0x76, 0x2a, 0xa3, 0x2d, 0xb0, 0x07, 0x44, 0x2a, 0x3f, 0x89, 0xfb, 0x44, 0x51, 0xe3,
+	0xa0, 0xf8, 0xb7, 0x0e, 0xaa, 0xa9, 0xcd, 0x81, 0x36, 0x49, 0x41, 0xe7, 0xc7, 0xe2, 0xf9, 0xa9,
+	0x34, 0x92, 0xb5, 0x35, 0x28, 0x51, 0x21, 0xb8, 0xc8, 0x86, 0x12, 0xca, 0x3d, 0x8b, 0x38, 0x70,
+	0xf7, 0xf5, 0xaa, 0xc3, 0x46, 0x01, 0x3d, 0x9d, 0xcc, 0xef, 0xe5, 0xe7, 0xee, 0x44, 0x8a, 0xd1,
+	0x5b, 0x50, 0x36, 0x3f, 0xfd, 0x88, 0xf5, 0xe9, 0xb1, 0xfe, 0xba, 0x12, 0x5e, 0x32, 0x58, 0x27,
+	0x85, 0x10, 0x87, 0x65, 0xca, 0xfa, 0x31, 0xd7, 0x03, 0xcb, 0x57, 0x27, 0x31, 0xd5, 0x2d, 0x5e,
+	0xdd, 0x68, 0x5f, 0x2a, 0xfa, 0xd9, 0x17, 0xbb, 0xde, 0xa9, 0xbb, 0xde, 0x49, 0x4c, 0x71, 0x95,
+	0x8e, 0xc9, 0xce, 0x4b, 0x0b, 0xaa, 0xe3, 0x2a, 0x68, 0x15, 0x56, 0xbc, 0xee, 0xd6, 0xde, 0x6e,
+	0xa7, 0xdb, 0xf3, 0xb0, 0xef, 0x7d, 0xe2, 0x75, 0x7b, 0x13, 0x5d, 0x7b, 0x15, 0x96, 0xf7, 0x7b,
+	0x4d, 0xdc, 0xf3, 0x77, 0xdb, 0xfe, 0xfe, 0x9e, 0xe7, 0xb5, 0xb6, 0x6d, 0x0b, 0x5d, 0x81, 0x8a,
+	0xd7, 0xdd, 0x1a, 0x81, 0x0a, 0xc8, 0x86, 0x72, 0x06, 0x35, 0x0f, 0xb6, 0x3a, 0xbb, 0x76, 0x11,
+	0x5d, 0x03, 0x3b, 0x43, 0x0e, 0x7a, 0x3d, 0x0f, 0x37, 0xbb, 0x2d, 0xcf, 0x9e, 0x75, 0x7e, 0xba,
+	0x60, 0x95, 0x98, 0x04, 0xa2, 0xcf, 0xa1, 0x3c, 0x36, 0xf4, 0x2c, 0x7d, 0x1f, 0x8f, 0x2e, 0x57,
+	0xef, 0x23, 0xf3, 0x11, 0x8f, 0xb9, 0x43, 0x37, 0x61, 0x21, 0x92, 0xfe, 0x51, 0xc4, 0xc8, 0x20,
+	0xdb, 0x2c, 0xf3, 0x91, 0x6c, 0xa7, 0x22, 0x5a, 0x81, 0xb4, 0x40, 0x0f, 0xa3, 0x41, 0xa4, 0x4e,
+	0xf4, 0x75, 0x15, 0xf0, 0x19, 0xe0, 0x1c, 0xc3, 0x8d, 0x0b, 0xda, 0xea, 0x0d, 0x53, 0x76, 0xbe,
+	0x80, 0x95, 0x69, 0xda, 0xe8, 0x36, 0x80, 0x12, 0x84, 0xc9, 0x40, 0x44, 0xb1, 0xe9, 0xd5, 0x45,
+	0x3c, 0x82, 0xa4, 0xe7, 0x7a, 0xbd, 0xf6, 0x69, 0xbe, 0x4e, 0x0b, 0x78, 0x04, 0xd9, 0xf8, 0xbd,
+	0x08, 0x73, 0x26, 0x00, 0xfa, 0xce, 0x82, 0xca, 0xd8, 0xac, 0x43, 0xeb, 0xd3, 0xbf, 0xe2, 0x15,
+	0x0f, 0xaf, 0xfa, 0xc6, 0x65, 0x4c, 0x4c, 0xe1, 0x3a, 0x6b, 0x2f, 0xff, 0xf8, 0xf3, 0xdb, 0x82,
+	0xe3, 0xdc, 0x3a, 0x7d, 0x2b, 0x1b, 0xb3, 0xc7, 0xe9, 0x90, 0x12, 0xb9, 0xfa, 0x63, 0xeb, 0x3e,
+	0xfa, 0xc6, 0x82, 0xea, 0xf8, 0xe8, 0x42, 0xd3, 0x03, 0xbe, 0xf2, 0x75, 0x58, 0xbf, 0x95, 0xdb,
+	0x8c, 0xbc, 0x9e, 0xdd, 0xdd, 0xfc, 0xf5, 0xec, 0xdc, 0xd3, 0x7c, 0xee, 0x3a, 0xb7, 0x27, 0xf9,
+	0x90, 0x73, 0x84, 0xbe, 0xb6, 0x00, 0x9d, 0x6f, 0x49, 0xf4, 0xe0, 0xd2, 0x3d, 0x6c, 0x88, 0x3d,
+	0xfc, 0x87, 0xbd, 0xbf, 0x66, 0xbd, 0x67, 0x6d, 0x4a, 0xb8, 0x13, 0xf0, 0xe1, 0x34, 0x0f, 0x9b,
+	0x4b, 0xe6, 0xaa, 0xf7, 0xd2, 0xe9, 0xba, 0x67, 0x7d, 0xd6, 0xcc, 0x74, 0x43, 0x9e, 0x3e, 0x3f,
+	0x5c, 0x2e, 0xc2, 0x46, 0x48, 0x99, 0x9e, 0xbd, 0x0d, 0x73, 0x44, 0xe2, 0x48, 0xbe, 0xf2, 0xef,
+	0xcc, 0x87, 0x46, 0x3c, 0x9c, 0xd3, 0xda, 0xef, 0xff, 0x15, 0x00, 0x00, 0xff, 0xff, 0xf5, 0xe0,
+	0xdc, 0xd0, 0xfb, 0x0c, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/speech/v1beta1/cloud_speech.proto b/googleapis/cloud/speech/v1beta1/cloud_speech.proto
deleted file mode 100644
index 091a3ae9244440131ca07454641155cc1e3e62c5..0000000000000000000000000000000000000000
--- a/googleapis/cloud/speech/v1beta1/cloud_speech.proto
+++ /dev/null
@@ -1,408 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.speech.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "SpeechProto";
-option java_package = "com.google.cloud.speech.v1beta1";
-
-
-// Service that implements Google Cloud Speech API.
-service Speech {
-  // Perform synchronous speech-recognition: receive results after all audio
-  // has been sent and processed.
-  rpc SyncRecognize(SyncRecognizeRequest) returns (SyncRecognizeResponse) {
-    option (google.api.http) = { post: "/v1beta1/speech:syncrecognize" body: "*" };
-  }
-
-  // Perform asynchronous speech-recognition: receive results via the
-  // google.longrunning.Operations interface. Returns either an
-  // `Operation.error` or an `Operation.response` which contains
-  // an `AsyncRecognizeResponse` message.
-  rpc AsyncRecognize(AsyncRecognizeRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1beta1/speech:asyncrecognize" body: "*" };
-  }
-
-  // Perform bidirectional streaming speech-recognition: receive results while
-  // sending audio. This method is only available via the gRPC API (not REST).
-  rpc StreamingRecognize(stream StreamingRecognizeRequest) returns (stream StreamingRecognizeResponse);
-}
-
-// `SyncRecognizeRequest` is the top-level message sent by the client for
-// the `SyncRecognize` method.
-message SyncRecognizeRequest {
-  // [Required] The `config` message provides information to the recognizer
-  // that specifies how to process the request.
-  RecognitionConfig config = 1;
-
-  // [Required] The audio data to be recognized.
-  RecognitionAudio audio = 2;
-}
-
-// `AsyncRecognizeRequest` is the top-level message sent by the client for
-// the `AsyncRecognize` method.
-message AsyncRecognizeRequest {
-  // [Required] The `config` message provides information to the recognizer
-  // that specifies how to process the request.
-  RecognitionConfig config = 1;
-
-  // [Required] The audio data to be recognized.
-  RecognitionAudio audio = 2;
-}
-
-// `StreamingRecognizeRequest` is the top-level message sent by the client for
-// the `StreamingRecognize`. Multiple `StreamingRecognizeRequest` messages are
-// sent. The first message must contain a `streaming_config` message and must
-// not contain `audio` data. All subsequent messages must contain `audio` data
-// and must not contain a `streaming_config` message.
-message StreamingRecognizeRequest {
-  oneof streaming_request {
-    // The `streaming_config` message provides information to the recognizer
-    // that specifies how to process the request.
-    //
-    // The first `StreamingRecognizeRequest` message must contain a
-    // `streaming_config`  message.
-    StreamingRecognitionConfig streaming_config = 1;
-
-    // The audio data to be recognized. Sequential chunks of audio data are sent
-    // in sequential `StreamingRecognizeRequest` messages. The first
-    // `StreamingRecognizeRequest` message must not contain `audio_content` data
-    // and all subsequent `StreamingRecognizeRequest` messages must contain
-    // `audio_content` data. The audio bytes must be encoded as specified in
-    // `RecognitionConfig`. Note: as with all bytes fields, protobuffers use a
-    // pure binary representation (not base64). See
-    // [audio limits](https://cloud.google.com/speech/limits#content).
-    bytes audio_content = 2;
-  }
-}
-
-// The `StreamingRecognitionConfig` message provides information to the
-// recognizer that specifies how to process the request.
-message StreamingRecognitionConfig {
-  // [Required] The `config` message provides information to the recognizer
-  // that specifies how to process the request.
-  RecognitionConfig config = 1;
-
-  // [Optional] If `false` or omitted, the recognizer will perform continuous
-  // recognition (continuing to process audio even if the user pauses speaking)
-  // until the client closes the output stream (gRPC API) or when the maximum
-  // time limit has been reached. Multiple `StreamingRecognitionResult`s with
-  // the `is_final` flag set to `true` may be returned.
-  //
-  // If `true`, the recognizer will detect a single spoken utterance. When it
-  // detects that the user has paused or stopped speaking, it will return an
-  // `END_OF_UTTERANCE` event and cease recognition. It will return no more than
-  // one `StreamingRecognitionResult` with the `is_final` flag set to `true`.
-  bool single_utterance = 2;
-
-  // [Optional] If `true`, interim results (tentative hypotheses) may be
-  // returned as they become available (these interim results are indicated with
-  // the `is_final=false` flag).
-  // If `false` or omitted, only `is_final=true` result(s) are returned.
-  bool interim_results = 3;
-}
-
-// The `RecognitionConfig` message provides information to the recognizer
-// that specifies how to process the request.
-message RecognitionConfig {
-  // Audio encoding of the data sent in the audio message. All encodings support
-  // only 1 channel (mono) audio. Only `FLAC` includes a header that describes
-  // the bytes of audio that follow the header. The other encodings are raw
-  // audio bytes with no header.
-  //
-  // For best results, the audio source should be captured and transmitted using
-  // a lossless encoding (`FLAC` or `LINEAR16`). Recognition accuracy may be
-  // reduced if lossy codecs (such as AMR, AMR_WB and MULAW) are used to capture
-  // or transmit the audio, particularly if background noise is present.
-  enum AudioEncoding {
-    // Not specified. Will return result [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
-    ENCODING_UNSPECIFIED = 0;
-
-    // Uncompressed 16-bit signed little-endian samples (Linear PCM).
-    // This is the only encoding that may be used by `AsyncRecognize`.
-    LINEAR16 = 1;
-
-    // This is the recommended encoding for `SyncRecognize` and
-    // `StreamingRecognize` because it uses lossless compression; therefore
-    // recognition accuracy is not compromised by a lossy codec.
-    //
-    // The stream FLAC (Free Lossless Audio Codec) encoding is specified at:
-    // http://flac.sourceforge.net/documentation.html.
-    // 16-bit and 24-bit samples are supported.
-    // Not all fields in STREAMINFO are supported.
-    FLAC = 2;
-
-    // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
-    MULAW = 3;
-
-    // Adaptive Multi-Rate Narrowband codec. `sample_rate` must be 8000 Hz.
-    AMR = 4;
-
-    // Adaptive Multi-Rate Wideband codec. `sample_rate` must be 16000 Hz.
-    AMR_WB = 5;
-  }
-
-  // [Required] Encoding of audio data sent in all `RecognitionAudio` messages.
-  AudioEncoding encoding = 1;
-
-  // [Required] Sample rate in Hertz of the audio data sent in all
-  // `RecognitionAudio` messages. Valid values are: 8000-48000.
-  // 16000 is optimal. For best results, set the sampling rate of the audio
-  // source to 16000 Hz. If that's not possible, use the native sample rate of
-  // the audio source (instead of re-sampling).
-  int32 sample_rate = 2;
-
-  // [Optional] The language of the supplied audio as a BCP-47 language tag.
-  // Example: "en-GB"  https://www.rfc-editor.org/rfc/bcp/bcp47.txt
-  // If omitted, defaults to "en-US". See
-  // [Language Support](https://cloud.google.com/speech/docs/best-practices#language_support)
-  // for a list of the currently supported language codes.
-  string language_code = 3;
-
-  // [Optional] Maximum number of recognition hypotheses to be returned.
-  // Specifically, the maximum number of `SpeechRecognitionAlternative` messages
-  // within each `SpeechRecognitionResult`.
-  // The server may return fewer than `max_alternatives`.
-  // Valid values are `0`-`30`. A value of `0` or `1` will return a maximum of
-  // `1`. If omitted, defaults to `1`.
-  int32 max_alternatives = 4;
-
-  // [Optional] If set to `true`, the server will attempt to filter out
-  // profanities, replacing all but the initial character in each filtered word
-  // with asterisks, e.g. "f***". If set to `false` or omitted, profanities
-  // won't be filtered out.
-  bool profanity_filter = 5;
-
-  // [Optional] A means to provide context to assist the speech recognition.
-  SpeechContext speech_context = 6;
-}
-
-// Provides "hints" to the speech recognizer to favor specific words and phrases
-// in the results.
-message SpeechContext {
-  // [Optional] A list of strings containing words and phrases "hints" so that
-  // the speech recognition is more likely to recognize them. This can be used
-  // to improve the accuracy for specific words and phrases, for example, if
-  // specific commands are typically spoken by the user. This can also be used
-  // to add additional words to the vocabulary of the recognizer. See
-  // [usage limits](https://cloud.google.com/speech/limits#content).
-  repeated string phrases = 1;
-}
-
-// Contains audio data in the encoding specified in the `RecognitionConfig`.
-// Either `content` or `uri` must be supplied. Supplying both or neither
-// returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. See
-// [audio limits](https://cloud.google.com/speech/limits#content).
-message RecognitionAudio {
-  oneof audio_source {
-    // The audio data bytes encoded as specified in
-    // `RecognitionConfig`. Note: as with all bytes fields, protobuffers use a
-    // pure binary representation, whereas JSON representations use base64.
-    bytes content = 1;
-
-    // URI that points to a file that contains audio data bytes as specified in
-    // `RecognitionConfig`. Currently, only Google Cloud Storage URIs are
-    // supported, which must be specified in the following format:
-    // `gs://bucket_name/object_name` (other URI formats return
-    // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
-    // [Request URIs](https://cloud.google.com/storage/docs/reference-uris).
-    string uri = 2;
-  }
-}
-
-// `SyncRecognizeResponse` is the only message returned to the client by
-// `SyncRecognize`. It contains the result as zero or more sequential
-// `SpeechRecognitionResult` messages.
-message SyncRecognizeResponse {
-  // [Output-only] Sequential list of transcription results corresponding to
-  // sequential portions of audio.
-  repeated SpeechRecognitionResult results = 2;
-}
-
-// `AsyncRecognizeResponse` is the only message returned to the client by
-// `AsyncRecognize`. It contains the result as zero or more sequential
-// `SpeechRecognitionResult` messages. It is included in the `result.response`
-// field of the `Operation` returned by the `GetOperation` call of the
-// `google::longrunning::Operations` service.
-message AsyncRecognizeResponse {
-  // [Output-only] Sequential list of transcription results corresponding to
-  // sequential portions of audio.
-  repeated SpeechRecognitionResult results = 2;
-}
-
-// `AsyncRecognizeMetadata` describes the progress of a long-running
-// `AsyncRecognize` call. It is included in the `metadata` field of the
-// `Operation` returned by the `GetOperation` call of the
-// `google::longrunning::Operations` service.
-message AsyncRecognizeMetadata {
-  // Approximate percentage of audio processed thus far. Guaranteed to be 100
-  // when the audio is fully processed and the results are available.
-  int32 progress_percent = 1;
-
-  // Time when the request was received.
-  google.protobuf.Timestamp start_time = 2;
-
-  // Time of the most recent processing update.
-  google.protobuf.Timestamp last_update_time = 3;
-}
-
-// `StreamingRecognizeResponse` is the only message returned to the client by
-// `StreamingRecognize`. A series of one or more `StreamingRecognizeResponse`
-// messages are streamed back to the client.
-//
-// Here's an example of a series of ten `StreamingRecognizeResponse`s that might
-// be returned while processing audio:
-//
-// 1. endpointer_type: START_OF_SPEECH
-//
-// 2. results { alternatives { transcript: "tube" } stability: 0.01 }
-//    result_index: 0
-//
-// 3. results { alternatives { transcript: "to be a" } stability: 0.01 }
-//    result_index: 0
-//
-// 4. results { alternatives { transcript: "to be" } stability: 0.9 }
-//    results { alternatives { transcript: " or not to be" } stability: 0.01 }
-//    result_index: 0
-//
-// 5. results { alternatives { transcript: "to be or not to be"
-//                             confidence: 0.92 }
-//              alternatives { transcript: "to bee or not to bee" }
-//              is_final: true }
-//    result_index: 0
-//
-// 6. results { alternatives { transcript: " that's" } stability: 0.01 }
-//    result_index: 1
-//
-// 7. results { alternatives { transcript: " that is" } stability: 0.9 }
-//    results { alternatives { transcript: " the question" } stability: 0.01 }
-//    result_index: 1
-//
-// 8. endpointer_type: END_OF_SPEECH
-//
-// 9. results { alternatives { transcript: " that is the question"
-//                             confidence: 0.98 }
-//              alternatives { transcript: " that was the question" }
-//              is_final: true }
-//    result_index: 1
-//
-// 10. endpointer_type: END_OF_AUDIO
-//
-// Notes:
-//
-// - Only two of the above responses #5 and #9 contain final results, they are
-//   indicated by `is_final: true`. Concatenating these together generates the
-//   full transcript: "to be or not to be that is the question".
-//
-// - The others contain interim `results`. #4 and #7 contain two interim
-//   `results`, the first portion has a high stability and is less likely to
-//   change, the second portion has a low stability and is very likely to
-//   change. A UI designer might choose to show only high stability `results`.
-//
-// - The `result_index` indicates the portion of audio that has had final
-//   results returned, and is no longer being processed. For example, the
-//   `results` in #6 and later correspond to the portion of audio after
-//   "to be or not to be".
-message StreamingRecognizeResponse {
-  // Indicates the type of endpointer event.
-  enum EndpointerType {
-    // No endpointer event specified.
-    ENDPOINTER_EVENT_UNSPECIFIED = 0;
-
-    // Speech has been detected in the audio stream.
-    START_OF_SPEECH = 1;
-
-    // Speech has ceased to be detected in the audio stream.
-    END_OF_SPEECH = 2;
-
-    // The end of the audio stream has been reached. and it is being processed.
-    END_OF_AUDIO = 3;
-
-    // This event is only sent when `single_utterance` is `true`. It indicates
-    // that the server has detected the end of the user's speech utterance and
-    // expects no additional speech. Therefore, the server will not process
-    // additional audio. The client should stop sending additional audio data.
-    END_OF_UTTERANCE = 4;
-  }
-
-  // [Output-only] If set, returns a [google.rpc.Status][] message that
-  // specifies the error for the operation.
-  google.rpc.Status error = 1;
-
-  // [Output-only] This repeated list contains zero or more results that
-  // correspond to consecutive portions of the audio currently being processed.
-  // It contains zero or one `is_final=true` result (the newly settled portion),
-  // followed by zero or more `is_final=false` results.
-  repeated StreamingRecognitionResult results = 2;
-
-  // [Output-only] Indicates the lowest index in the `results` array that has
-  // changed. The repeated `StreamingRecognitionResult` results overwrite past
-  // results at this index and higher.
-  int32 result_index = 3;
-
-  // [Output-only] Indicates the type of endpointer event.
-  EndpointerType endpointer_type = 4;
-}
-
-// A streaming speech recognition result corresponding to a portion of the audio
-// that is currently being processed.
-message StreamingRecognitionResult {
-  // [Output-only] May contain one or more recognition hypotheses (up to the
-  // maximum specified in `max_alternatives`).
-  repeated SpeechRecognitionAlternative alternatives = 1;
-
-  // [Output-only] If `false`, this `StreamingRecognitionResult` represents an
-  // interim result that may change. If `true`, this is the final time the
-  // speech service will return this particular `StreamingRecognitionResult`,
-  // the recognizer will not return any further hypotheses for this portion of
-  // the transcript and corresponding audio.
-  bool is_final = 2;
-
-  // [Output-only] An estimate of the probability that the recognizer will not
-  // change its guess about this interim result. Values range from 0.0
-  // (completely unstable) to 1.0 (completely stable). Note that this is not the
-  // same as `confidence`, which estimates the probability that a recognition
-  // result is correct.
-  // This field is only provided for interim results (`is_final=false`).
-  // The default of 0.0 is a sentinel value indicating stability was not set.
-  float stability = 3;
-}
-
-// A speech recognition result corresponding to a portion of the audio.
-message SpeechRecognitionResult {
-  // [Output-only] May contain one or more recognition hypotheses (up to the
-  // maximum specified in `max_alternatives`).
-  repeated SpeechRecognitionAlternative alternatives = 1;
-}
-
-// Alternative hypotheses (a.k.a. n-best list).
-message SpeechRecognitionAlternative {
-  // [Output-only] Transcript text representing the words that the user spoke.
-  string transcript = 1;
-
-  // [Output-only] The confidence estimate between 0.0 and 1.0. A higher number
-  // means the system is more confident that the recognition is correct.
-  // This field is typically provided only for the top hypothesis, and only for
-  // `is_final=true` results.
-  // The default of 0.0 is a sentinel value indicating confidence was not set.
-  float confidence = 2;
-}
diff --git a/googleapis/cloud/vision/v1/geometry.pb.go b/googleapis/cloud/vision/v1/geometry.pb.go
index da97b87ea10412b6f4e72369bc5c1fe292b27c7e..e6d2930fe29ca02ce241ad841391ddf4e7546936 100644
--- a/googleapis/cloud/vision/v1/geometry.pb.go
+++ b/googleapis/cloud/vision/v1/geometry.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/vision/v1/geometry.proto
+// source: google/cloud/vision/v1/geometry.proto
 // DO NOT EDIT!
 
 /*
-Package v1 is a generated protocol buffer package.
+Package vision is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/vision/v1/geometry.proto
-	google.golang.org/genproto/googleapis/cloud/vision/v1/image_annotator.proto
+	google/cloud/vision/v1/geometry.proto
+	google/cloud/vision/v1/image_annotator.proto
 
 It has these top-level messages:
 	Vertex
@@ -31,7 +31,7 @@ It has these top-level messages:
 	BatchAnnotateImagesRequest
 	BatchAnnotateImagesResponse
 */
-package v1 // import "google.golang.org/genproto/googleapis/cloud/vision/v1"
+package vision
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -62,6 +62,20 @@ func (m *Vertex) String() string            { return proto.CompactTextString(m)
 func (*Vertex) ProtoMessage()               {}
 func (*Vertex) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Vertex) GetX() int32 {
+	if m != nil {
+		return m.X
+	}
+	return 0
+}
+
+func (m *Vertex) GetY() int32 {
+	if m != nil {
+		return m.Y
+	}
+	return 0
+}
+
 // A bounding polygon for the detected image annotation.
 type BoundingPoly struct {
 	// The bounding polygon vertices.
@@ -97,31 +111,50 @@ func (m *Position) String() string            { return proto.CompactTextString(m
 func (*Position) ProtoMessage()               {}
 func (*Position) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *Position) GetX() float32 {
+	if m != nil {
+		return m.X
+	}
+	return 0
+}
+
+func (m *Position) GetY() float32 {
+	if m != nil {
+		return m.Y
+	}
+	return 0
+}
+
+func (m *Position) GetZ() float32 {
+	if m != nil {
+		return m.Z
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*Vertex)(nil), "google.cloud.vision.v1.Vertex")
 	proto.RegisterType((*BoundingPoly)(nil), "google.cloud.vision.v1.BoundingPoly")
 	proto.RegisterType((*Position)(nil), "google.cloud.vision.v1.Position")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/vision/v1/geometry.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/vision/v1/geometry.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 226 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x74, 0x8f, 0xb1, 0x4b, 0x03, 0x31,
-	0x14, 0x87, 0x79, 0x57, 0x2c, 0x25, 0xd6, 0xe5, 0x06, 0x39, 0x1c, 0xa4, 0x1c, 0x0e, 0x9d, 0x12,
-	0xab, 0x4e, 0x8e, 0x87, 0x20, 0x38, 0x1d, 0x37, 0xb8, 0xd7, 0xeb, 0xe3, 0x11, 0x48, 0xf3, 0x4a,
-	0x92, 0x86, 0xa6, 0x7f, 0xb9, 0xa3, 0x34, 0x29, 0x8a, 0xa0, 0xe3, 0xc7, 0xfb, 0x78, 0x1f, 0x3f,
-	0xf1, 0x42, 0xcc, 0x64, 0x50, 0x12, 0x9b, 0xb5, 0x25, 0xc9, 0x8e, 0x14, 0xa1, 0xdd, 0x39, 0x0e,
-	0xac, 0xca, 0x69, 0xbd, 0xd3, 0x5e, 0x8d, 0x86, 0xf7, 0x1b, 0x15, 0xb5, 0xd7, 0x6c, 0x55, 0x5c,
-	0x29, 0x42, 0xde, 0x62, 0x70, 0x49, 0x66, 0xb3, 0xbe, 0x3e, 0x7f, 0xc9, 0x9a, 0x2c, 0x9a, 0x8c,
-	0xab, 0xf6, 0x4e, 0x4c, 0xdf, 0xd1, 0x05, 0x3c, 0xd4, 0x73, 0x01, 0x87, 0x06, 0x16, 0xb0, 0xbc,
-	0x18, 0x20, 0x53, 0x6a, 0xaa, 0x42, 0xa9, 0x7d, 0x13, 0xf3, 0x8e, 0xf7, 0x76, 0xa3, 0x2d, 0xf5,
-	0x6c, 0x52, 0xfd, 0x2c, 0x66, 0x11, 0x5d, 0xd0, 0x23, 0xfa, 0x06, 0x16, 0x93, 0xe5, 0xe5, 0xc3,
-	0xad, 0xfc, 0x3b, 0x20, 0xcb, 0xf7, 0xe1, 0xdb, 0x6f, 0x9f, 0xc4, 0xac, 0x67, 0xaf, 0x83, 0x66,
-	0xfb, 0xd3, 0xac, 0x7e, 0x35, 0xab, 0x01, 0xd2, 0x89, 0x8e, 0xcd, 0xa4, 0xd0, 0xb1, 0xbb, 0x17,
-	0x37, 0x23, 0x6f, 0xff, 0x89, 0x74, 0x57, 0xaf, 0xe7, 0xb5, 0xfd, 0x69, 0x6c, 0x0f, 0x9f, 0x00,
-	0x1f, 0xd3, 0x3c, 0xfc, 0xf1, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xe7, 0x23, 0x12, 0x2e, 0x40, 0x01,
-	0x00, 0x00,
+	// 237 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x90, 0x31, 0x4b, 0x03, 0x31,
+	0x14, 0x80, 0x79, 0x57, 0x2c, 0x25, 0xd6, 0xe5, 0x06, 0x39, 0x1c, 0xa4, 0x1c, 0x0a, 0x9d, 0x12,
+	0xaa, 0x4e, 0xea, 0x74, 0x8b, 0xe0, 0x74, 0xdc, 0xe0, 0xe0, 0x56, 0xaf, 0x8f, 0x47, 0xe0, 0x9a,
+	0x57, 0x92, 0x34, 0x34, 0xfd, 0xe5, 0x8e, 0xd2, 0xa4, 0x28, 0x8a, 0xdd, 0xf2, 0x91, 0x8f, 0xf7,
+	0xf1, 0x9e, 0xb8, 0x25, 0x66, 0x1a, 0x50, 0xf5, 0x03, 0x6f, 0x57, 0x2a, 0x68, 0xa7, 0xd9, 0xa8,
+	0xb0, 0x50, 0x84, 0xbc, 0x46, 0x6f, 0xa3, 0xdc, 0x58, 0xf6, 0x5c, 0x5e, 0x66, 0x4d, 0x26, 0x4d,
+	0x66, 0x4d, 0x86, 0x45, 0x7d, 0x23, 0xc6, 0x6f, 0x68, 0x3d, 0xee, 0xca, 0xa9, 0x80, 0x5d, 0x05,
+	0x33, 0x98, 0x9f, 0x75, 0x90, 0x28, 0x56, 0x45, 0xa6, 0x58, 0xbf, 0x8a, 0x69, 0xc3, 0x5b, 0xb3,
+	0xd2, 0x86, 0x5a, 0x1e, 0x62, 0xf9, 0x28, 0x26, 0x01, 0xad, 0xd7, 0x3d, 0xba, 0x0a, 0x66, 0xa3,
+	0xf9, 0xf9, 0xdd, 0xb5, 0xfc, 0x3f, 0x20, 0xf3, 0xf4, 0xee, 0xdb, 0xaf, 0x1f, 0xc4, 0xa4, 0x65,
+	0xa7, 0xbd, 0x66, 0xf3, 0xd3, 0x2c, 0x7e, 0x35, 0x8b, 0x0e, 0xe2, 0x81, 0xf6, 0xd5, 0x28, 0xd3,
+	0xbe, 0x31, 0xe2, 0xaa, 0xe7, 0xf5, 0x89, 0x48, 0x73, 0xf1, 0x72, 0xdc, 0xb6, 0x3d, 0x2c, 0xdb,
+	0xc2, 0xfb, 0xf3, 0x51, 0x24, 0x1e, 0x96, 0x86, 0x24, 0x5b, 0x52, 0x84, 0x26, 0x9d, 0x42, 0xe5,
+	0xaf, 0xe5, 0x46, 0xbb, 0xbf, 0x47, 0x7b, 0xca, 0xaf, 0x4f, 0x80, 0x8f, 0x71, 0x72, 0xef, 0xbf,
+	0x02, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x04, 0x38, 0x95, 0x5f, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/vision/v1/geometry.proto b/googleapis/cloud/vision/v1/geometry.proto
deleted file mode 100644
index 82c020920b681750c3b36d9c07903090b4a91844..0000000000000000000000000000000000000000
--- a/googleapis/cloud/vision/v1/geometry.proto
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.vision.v1;
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "GeometryProto";
-option java_package = "com.google.cloud.vision.v1";
-
-
-// A vertex represents a 2D point in the image.
-// NOTE: the vertex coordinates are in the same scale as the original image.
-message Vertex {
-  // X coordinate.
-  int32 x = 1;
-
-  // Y coordinate.
-  int32 y = 2;
-}
-
-// A bounding polygon for the detected image annotation.
-message BoundingPoly {
-  // The bounding polygon vertices.
-  repeated Vertex vertices = 1;
-}
-
-// A 3D position in the image, used primarily for Face detection landmarks.
-// A valid Position must have both x and y coordinates.
-// The position coordinates are in the same scale as the original image.
-message Position {
-  // X coordinate.
-  float x = 1;
-
-  // Y coordinate.
-  float y = 2;
-
-  // Z coordinate (or depth).
-  float z = 3;
-}
diff --git a/googleapis/cloud/vision/v1/image_annotator.pb.go b/googleapis/cloud/vision/v1/image_annotator.pb.go
index b9f87f0a42914fa5c3f94d321808fb219716c96b..1c291347d8b5c491660e48c84f945c02f122c656 100644
--- a/googleapis/cloud/vision/v1/image_annotator.pb.go
+++ b/googleapis/cloud/vision/v1/image_annotator.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/vision/v1/image_annotator.proto
+// source: google/cloud/vision/v1/image_annotator.proto
 // DO NOT EDIT!
 
-package v1 // import "google.golang.org/genproto/googleapis/cloud/vision/v1"
+package vision
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
 import google_type "google.golang.org/genproto/googleapis/type/color"
 import google_type1 "google.golang.org/genproto/googleapis/type/latlng"
@@ -288,6 +288,20 @@ func (m *Feature) String() string            { return proto.CompactTextString(m)
 func (*Feature) ProtoMessage()               {}
 func (*Feature) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *Feature) GetType() Feature_Type {
+	if m != nil {
+		return m.Type
+	}
+	return Feature_TYPE_UNSPECIFIED
+}
+
+func (m *Feature) GetMaxResults() int32 {
+	if m != nil {
+		return m.MaxResults
+	}
+	return 0
+}
+
 // External image source (Google Cloud Storage image location).
 type ImageSource struct {
 	// Google Cloud Storage image URI. It must be in the following form:
@@ -302,6 +316,13 @@ func (m *ImageSource) String() string            { return proto.CompactTextStrin
 func (*ImageSource) ProtoMessage()               {}
 func (*ImageSource) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
+func (m *ImageSource) GetGcsImageUri() string {
+	if m != nil {
+		return m.GcsImageUri
+	}
+	return ""
+}
+
 // Client image to perform Google Cloud Vision API tasks over.
 type Image struct {
 	// Image content, represented as a stream of bytes.
@@ -319,6 +340,13 @@ func (m *Image) String() string            { return proto.CompactTextString(m) }
 func (*Image) ProtoMessage()               {}
 func (*Image) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
+func (m *Image) GetContent() []byte {
+	if m != nil {
+		return m.Content
+	}
+	return nil
+}
+
 func (m *Image) GetSource() *ImageSource {
 	if m != nil {
 		return m.Source
@@ -405,6 +433,90 @@ func (m *FaceAnnotation) GetLandmarks() []*FaceAnnotation_Landmark {
 	return nil
 }
 
+func (m *FaceAnnotation) GetRollAngle() float32 {
+	if m != nil {
+		return m.RollAngle
+	}
+	return 0
+}
+
+func (m *FaceAnnotation) GetPanAngle() float32 {
+	if m != nil {
+		return m.PanAngle
+	}
+	return 0
+}
+
+func (m *FaceAnnotation) GetTiltAngle() float32 {
+	if m != nil {
+		return m.TiltAngle
+	}
+	return 0
+}
+
+func (m *FaceAnnotation) GetDetectionConfidence() float32 {
+	if m != nil {
+		return m.DetectionConfidence
+	}
+	return 0
+}
+
+func (m *FaceAnnotation) GetLandmarkingConfidence() float32 {
+	if m != nil {
+		return m.LandmarkingConfidence
+	}
+	return 0
+}
+
+func (m *FaceAnnotation) GetJoyLikelihood() Likelihood {
+	if m != nil {
+		return m.JoyLikelihood
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *FaceAnnotation) GetSorrowLikelihood() Likelihood {
+	if m != nil {
+		return m.SorrowLikelihood
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *FaceAnnotation) GetAngerLikelihood() Likelihood {
+	if m != nil {
+		return m.AngerLikelihood
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *FaceAnnotation) GetSurpriseLikelihood() Likelihood {
+	if m != nil {
+		return m.SurpriseLikelihood
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *FaceAnnotation) GetUnderExposedLikelihood() Likelihood {
+	if m != nil {
+		return m.UnderExposedLikelihood
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *FaceAnnotation) GetBlurredLikelihood() Likelihood {
+	if m != nil {
+		return m.BlurredLikelihood
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *FaceAnnotation) GetHeadwearLikelihood() Likelihood {
+	if m != nil {
+		return m.HeadwearLikelihood
+	}
+	return Likelihood_UNKNOWN
+}
+
 // A face-specific landmark (for example, a face feature).
 // Landmark positions may fall outside the bounds of the image
 // when the face is near one or more edges of the image.
@@ -421,6 +533,13 @@ func (m *FaceAnnotation_Landmark) String() string            { return proto.Comp
 func (*FaceAnnotation_Landmark) ProtoMessage()               {}
 func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3, 0} }
 
+func (m *FaceAnnotation_Landmark) GetType() FaceAnnotation_Landmark_Type {
+	if m != nil {
+		return m.Type
+	}
+	return FaceAnnotation_Landmark_UNKNOWN_LANDMARK
+}
+
 func (m *FaceAnnotation_Landmark) GetPosition() *Position {
 	if m != nil {
 		return m.Position
@@ -459,6 +578,20 @@ func (m *Property) String() string            { return proto.CompactTextString(m
 func (*Property) ProtoMessage()               {}
 func (*Property) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *Property) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Property) GetValue() string {
+	if m != nil {
+		return m.Value
+	}
+	return ""
+}
+
 // Set of detected entity features.
 type EntityAnnotation struct {
 	// Opaque entity ID. Some IDs might be available in Knowledge Graph(KG).
@@ -503,6 +636,48 @@ func (m *EntityAnnotation) String() string            { return proto.CompactText
 func (*EntityAnnotation) ProtoMessage()               {}
 func (*EntityAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
 
+func (m *EntityAnnotation) GetMid() string {
+	if m != nil {
+		return m.Mid
+	}
+	return ""
+}
+
+func (m *EntityAnnotation) GetLocale() string {
+	if m != nil {
+		return m.Locale
+	}
+	return ""
+}
+
+func (m *EntityAnnotation) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *EntityAnnotation) GetScore() float32 {
+	if m != nil {
+		return m.Score
+	}
+	return 0
+}
+
+func (m *EntityAnnotation) GetConfidence() float32 {
+	if m != nil {
+		return m.Confidence
+	}
+	return 0
+}
+
+func (m *EntityAnnotation) GetTopicality() float32 {
+	if m != nil {
+		return m.Topicality
+	}
+	return 0
+}
+
 func (m *EntityAnnotation) GetBoundingPoly() *BoundingPoly {
 	if m != nil {
 		return m.BoundingPoly
@@ -545,6 +720,34 @@ func (m *SafeSearchAnnotation) String() string            { return proto.Compact
 func (*SafeSearchAnnotation) ProtoMessage()               {}
 func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
 
+func (m *SafeSearchAnnotation) GetAdult() Likelihood {
+	if m != nil {
+		return m.Adult
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *SafeSearchAnnotation) GetSpoof() Likelihood {
+	if m != nil {
+		return m.Spoof
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *SafeSearchAnnotation) GetMedical() Likelihood {
+	if m != nil {
+		return m.Medical
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *SafeSearchAnnotation) GetViolence() Likelihood {
+	if m != nil {
+		return m.Violence
+	}
+	return Likelihood_UNKNOWN
+}
+
 // Rectangle determined by min and max LatLng pairs.
 type LatLongRect struct {
 	// Min lat/long pair.
@@ -596,6 +799,20 @@ func (m *ColorInfo) GetColor() *google_type.Color {
 	return nil
 }
 
+func (m *ColorInfo) GetScore() float32 {
+	if m != nil {
+		return m.Score
+	}
+	return 0
+}
+
+func (m *ColorInfo) GetPixelFraction() float32 {
+	if m != nil {
+		return m.PixelFraction
+	}
+	return 0
+}
+
 // Set of dominant colors and their corresponding scores.
 type DominantColorsAnnotation struct {
 	// RGB color values, with their score and pixel fraction.
@@ -660,6 +877,13 @@ func (m *ImageContext) GetLatLongRect() *LatLongRect {
 	return nil
 }
 
+func (m *ImageContext) GetLanguageHints() []string {
+	if m != nil {
+		return m.LanguageHints
+	}
+	return nil
+}
+
 // Request for performing Google Cloud Vision API tasks over a user-provided
 // image, with user-requested features.
 type AnnotateImageRequest struct {
@@ -911,142 +1135,139 @@ var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/vision/v1/image_annotator.proto",
+	Metadata: "google/cloud/vision/v1/image_annotator.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/vision/v1/image_annotator.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/cloud/vision/v1/image_annotator.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 2060 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x58, 0x4f, 0x73, 0xe3, 0x48,
-	0x15, 0x5f, 0xdb, 0x71, 0x62, 0x3f, 0x27, 0x8e, 0xd2, 0xc9, 0x04, 0x4f, 0xe6, 0x5f, 0x56, 0xb0,
-	0x90, 0xda, 0x5a, 0x6c, 0x26, 0xb3, 0x5b, 0xb5, 0xec, 0x0e, 0x5b, 0xd8, 0x89, 0x92, 0xb8, 0xe2,
-	0x58, 0xde, 0xb6, 0xc3, 0x10, 0xa0, 0x50, 0x29, 0x72, 0x5b, 0xa3, 0x59, 0x59, 0x2d, 0x24, 0x39,
-	0x93, 0x5c, 0x38, 0x50, 0x45, 0x15, 0x77, 0xce, 0xf0, 0x1d, 0xa8, 0xa2, 0xb8, 0x72, 0xe6, 0x48,
-	0xed, 0x57, 0xe0, 0x43, 0x70, 0xa4, 0xfa, 0x8f, 0xe4, 0x76, 0x36, 0x1e, 0x9c, 0xb9, 0xd8, 0xdd,
-	0xef, 0xbd, 0xdf, 0xef, 0x75, 0xbf, 0x7e, 0xfd, 0xe7, 0x09, 0x4e, 0x5d, 0x4a, 0x5d, 0x9f, 0xd4,
-	0x5d, 0xea, 0xdb, 0x81, 0x5b, 0xa7, 0x91, 0xdb, 0x70, 0x49, 0x10, 0x46, 0x34, 0xa1, 0x0d, 0xa1,
-	0xb2, 0x43, 0x2f, 0x6e, 0x38, 0x3e, 0x9d, 0x0c, 0x1b, 0x57, 0x5e, 0xec, 0xd1, 0xa0, 0x71, 0xf5,
-	0xbc, 0xe1, 0x8d, 0x6d, 0x97, 0x58, 0x76, 0x10, 0xd0, 0xc4, 0x4e, 0x68, 0x54, 0xe7, 0x00, 0xb4,
-	0x2d, 0xc9, 0xb8, 0x75, 0x5d, 0x58, 0xd7, 0xaf, 0x9e, 0xef, 0xb4, 0x17, 0x73, 0x62, 0x87, 0x5e,
-	0x23, 0x26, 0xd1, 0x95, 0xe7, 0x10, 0x87, 0x06, 0x23, 0xcf, 0x6d, 0x48, 0x07, 0x1e, 0x0d, 0x62,
-	0xe1, 0x62, 0xe7, 0xf0, 0xfd, 0xc6, 0xeb, 0x12, 0x3a, 0x26, 0x49, 0x74, 0x23, 0x59, 0x7e, 0xb6,
-	0x18, 0x4b, 0x14, 0x3a, 0x8d, 0x38, 0xb1, 0x93, 0x49, 0x2c, 0xff, 0x24, 0xfc, 0xe5, 0x62, 0xf0,
-	0xe4, 0x26, 0x24, 0x0d, 0x87, 0xfa, 0x34, 0x12, 0xbf, 0x12, 0xfd, 0xd5, 0x3d, 0xd0, 0xbe, 0x9d,
-	0xf8, 0x81, 0x2b, 0xff, 0x04, 0x5e, 0xff, 0x4b, 0x1e, 0x56, 0x8e, 0x88, 0x9d, 0x4c, 0x22, 0x82,
-	0x3e, 0x87, 0x25, 0x66, 0x57, 0xcb, 0xed, 0xe6, 0xf6, 0xaa, 0xfb, 0x3f, 0xa8, 0xdf, 0xbd, 0x00,
-	0x75, 0x69, 0x5e, 0x1f, 0xdc, 0x84, 0x04, 0x73, 0x04, 0x7a, 0x06, 0x95, 0xb1, 0x7d, 0x6d, 0x45,
-	0x24, 0x9e, 0xf8, 0x49, 0x5c, 0xcb, 0xef, 0xe6, 0xf6, 0x8a, 0x18, 0xc6, 0xf6, 0x35, 0x16, 0x12,
-	0xfd, 0x1f, 0x39, 0x58, 0x62, 0xf6, 0x68, 0x0b, 0xb4, 0xc1, 0x45, 0xcf, 0xb0, 0xce, 0xbb, 0xfd,
-	0x9e, 0x71, 0xd0, 0x3e, 0x6a, 0x1b, 0x87, 0xda, 0x07, 0x08, 0x41, 0xf5, 0xa8, 0x79, 0x60, 0x58,
-	0x87, 0xc6, 0xc0, 0x38, 0x18, 0xb4, 0xcd, 0xae, 0x96, 0x43, 0xdb, 0x80, 0x3a, 0xcd, 0xee, 0xe1,
-	0x59, 0x13, 0x9f, 0x2a, 0xf2, 0x3c, 0xb3, 0xed, 0x98, 0xc7, 0xa6, 0x22, 0x2b, 0xa0, 0x4d, 0x58,
-	0xef, 0x34, 0x5b, 0x46, 0x47, 0x11, 0x2e, 0x31, 0xc3, 0x81, 0xf1, 0xcb, 0x81, 0x22, 0x2b, 0xa2,
-	0x87, 0xf0, 0xa0, 0xdf, 0x3c, 0x32, 0xac, 0xbe, 0xd1, 0xc4, 0x07, 0x27, 0x8a, 0x6a, 0x99, 0x8d,
-	0xac, 0x7d, 0xd6, 0x3c, 0x36, 0xac, 0x1e, 0x36, 0x7b, 0x06, 0x1e, 0xb4, 0x8d, 0xbe, 0xb6, 0xa2,
-	0x3f, 0x87, 0x4a, 0x9b, 0xa5, 0x67, 0x9f, 0x4e, 0x22, 0x87, 0x20, 0x1d, 0xd6, 0x5c, 0x27, 0xb6,
-	0x44, 0xc6, 0x4e, 0x22, 0x8f, 0xc7, 0xaa, 0x8c, 0x2b, 0xae, 0x13, 0x73, 0xb3, 0xf3, 0xc8, 0xd3,
-	0x7f, 0x0b, 0x45, 0xde, 0x46, 0x35, 0x58, 0x71, 0x68, 0x90, 0x90, 0x20, 0xe1, 0x66, 0xab, 0x38,
-	0xed, 0xa2, 0x2f, 0x61, 0x39, 0xe6, 0x84, 0x3c, 0x54, 0x95, 0xfd, 0xef, 0xcf, 0x8b, 0xb5, 0xe2,
-	0x1b, 0x4b, 0x88, 0xfe, 0xef, 0x75, 0xa8, 0x1e, 0xd9, 0x0e, 0x69, 0x66, 0xf9, 0x8c, 0xda, 0xb0,
-	0x76, 0x49, 0x27, 0xc1, 0xd0, 0x0b, 0x5c, 0x2b, 0xa4, 0xfe, 0x0d, 0xf7, 0x57, 0x99, 0xbf, 0x84,
-	0x2d, 0x69, 0xdc, 0xa3, 0xfe, 0x0d, 0x5e, 0xbd, 0x54, 0x7a, 0xa8, 0x0b, 0xda, 0x68, 0x68, 0xcd,
-	0xb2, 0xe5, 0xef, 0xc1, 0x56, 0x1d, 0x0d, 0xd5, 0x3e, 0x3a, 0x83, 0xb2, 0x6f, 0x07, 0xc3, 0xb1,
-	0x1d, 0x7d, 0x13, 0xd7, 0x0a, 0xbb, 0x85, 0xbd, 0xca, 0x7e, 0x63, 0x6e, 0x66, 0xcd, 0xcc, 0xaa,
-	0xde, 0x91, 0x38, 0x3c, 0x65, 0x40, 0x4f, 0x00, 0x22, 0xea, 0xfb, 0x96, 0x1d, 0xb8, 0x3e, 0xa9,
-	0x2d, 0xed, 0xe6, 0xf6, 0xf2, 0xb8, 0xcc, 0x24, 0x4d, 0x26, 0x40, 0x8f, 0xa0, 0x1c, 0xda, 0x81,
-	0xd4, 0x16, 0xb9, 0xb6, 0x14, 0xda, 0x81, 0x50, 0x3e, 0x01, 0x48, 0x3c, 0x3f, 0x91, 0xda, 0x65,
-	0x81, 0x65, 0x12, 0xa1, 0x7e, 0x0e, 0x5b, 0x43, 0x92, 0x10, 0x87, 0xf9, 0xb6, 0xf8, 0x99, 0x31,
-	0x24, 0x81, 0x43, 0x6a, 0x2b, 0xdc, 0x70, 0x33, 0xd3, 0x1d, 0x64, 0x2a, 0xf4, 0x19, 0x6c, 0xa7,
-	0x43, 0x63, 0xc1, 0x52, 0x40, 0x25, 0x0e, 0x7a, 0xa0, 0x68, 0x15, 0x58, 0x1b, 0xaa, 0x6f, 0xe8,
-	0x8d, 0xe5, 0x7b, 0xdf, 0x10, 0xdf, 0x7b, 0x4d, 0xe9, 0xb0, 0x56, 0xe6, 0x5b, 0x4e, 0x9f, 0x17,
-	0x98, 0x4e, 0x66, 0x89, 0xd7, 0xde, 0xd0, 0x9b, 0x69, 0x17, 0x99, 0xb0, 0x11, 0xd3, 0x28, 0xa2,
-	0x6f, 0x55, 0x36, 0x58, 0x98, 0x4d, 0x13, 0x60, 0x85, 0xf0, 0x0c, 0x34, 0x3b, 0x70, 0x49, 0xa4,
-	0xf2, 0x55, 0x16, 0xe6, 0x5b, 0xe7, 0x58, 0x85, 0xae, 0x0f, 0x9b, 0xf1, 0x24, 0x0a, 0x23, 0x2f,
-	0x26, 0x2a, 0xe3, 0xea, 0xc2, 0x8c, 0x28, 0x85, 0x2b, 0xa4, 0xbf, 0x81, 0xda, 0x24, 0x18, 0x92,
-	0xc8, 0x22, 0xd7, 0x21, 0x8d, 0xc9, 0x50, 0x65, 0x5e, 0x5b, 0x98, 0x79, 0x9b, 0x73, 0x18, 0x82,
-	0x42, 0x61, 0xff, 0x1a, 0xd0, 0xa5, 0x3f, 0x89, 0xa2, 0x59, 0xde, 0xea, 0xc2, 0xbc, 0x1b, 0x12,
-	0x3d, 0x1b, 0x85, 0xd7, 0xc4, 0x1e, 0xbe, 0x25, 0xf6, 0x4c, 0x5c, 0xd7, 0x17, 0x8f, 0x42, 0x0a,
-	0x9f, 0xca, 0x76, 0xfe, 0xb5, 0x02, 0xa5, 0x74, 0x8b, 0xa0, 0x13, 0x79, 0x76, 0x17, 0x38, 0xe5,
-	0xa7, 0xf7, 0xdc, 0x61, 0xea, 0x59, 0xfe, 0x12, 0x4a, 0x21, 0x8d, 0x3d, 0xa6, 0xe7, 0xfb, 0xab,
-	0xb2, 0xbf, 0x3b, 0x8f, 0xad, 0x27, 0xed, 0x70, 0x86, 0xd0, 0xff, 0xbe, 0x3c, 0x3d, 0xe8, 0xcf,
-	0xbb, 0xa7, 0x5d, 0xf3, 0x55, 0xd7, 0x4a, 0x8f, 0x71, 0xed, 0x03, 0xb4, 0x0a, 0xa5, 0x8e, 0x71,
-	0x34, 0xb0, 0x8c, 0x0b, 0x43, 0xcb, 0xa1, 0x35, 0x28, 0xe3, 0xf6, 0xf1, 0x89, 0xe8, 0xe6, 0x51,
-	0x0d, 0xb6, 0xb8, 0xd2, 0x3c, 0xb2, 0x52, 0xa3, 0x16, 0x36, 0x5f, 0x69, 0x05, 0x76, 0x6c, 0x0b,
-	0xc3, 0xdb, 0xaa, 0x25, 0xa6, 0x4a, 0x41, 0x19, 0x17, 0x57, 0x15, 0xd1, 0x0e, 0x6c, 0x67, 0xa8,
-	0x59, 0xdd, 0x32, 0x83, 0x9d, 0xb5, 0x0f, 0x7b, 0x66, 0xbb, 0x3b, 0xb0, 0x5a, 0xc6, 0xe0, 0x95,
-	0x61, 0x74, 0x99, 0xb6, 0xaf, 0xad, 0xb0, 0x31, 0x76, 0xcd, 0xbe, 0x61, 0x0d, 0xda, 0x3d, 0xad,
-	0xc4, 0xc6, 0x78, 0xde, 0xeb, 0x19, 0xd8, 0xea, 0xb4, 0x7b, 0x5a, 0x99, 0x75, 0x3b, 0xe6, 0x2b,
-	0xd9, 0x05, 0x54, 0x05, 0x38, 0x33, 0xcf, 0x07, 0x27, 0x7c, 0x54, 0x5a, 0x05, 0xad, 0x43, 0x45,
-	0xf4, 0xb9, 0x3f, 0x6d, 0x15, 0x69, 0xb0, 0x2a, 0x04, 0x07, 0x46, 0x77, 0x60, 0x60, 0x6d, 0x0d,
-	0x3d, 0x80, 0x0d, 0x4e, 0xdf, 0x32, 0x07, 0x03, 0xf3, 0x4c, 0x1a, 0x56, 0x59, 0xbc, 0x54, 0x31,
-	0xe7, 0x5b, 0x67, 0x97, 0xa0, 0x2a, 0x95, 0x24, 0x5a, 0x36, 0x6b, 0xe3, 0xc2, 0xb0, 0x06, 0x66,
-	0xcf, 0x6a, 0x99, 0xe7, 0xdd, 0xc3, 0x26, 0xbe, 0xd0, 0x36, 0x66, 0x54, 0x62, 0xd6, 0x07, 0x26,
-	0xee, 0x1a, 0x58, 0x43, 0xe8, 0x31, 0xd4, 0x32, 0x95, 0x64, 0xcc, 0x80, 0x9b, 0x59, 0xf8, 0x99,
-	0x96, 0x37, 0x24, 0x6e, 0x6b, 0x1a, 0xc8, 0xef, 0xb8, 0x7b, 0x30, 0xab, 0x9b, 0xf1, 0xb7, 0x8d,
-	0x9e, 0xc0, 0xc3, 0xa9, 0xee, 0xb6, 0xc3, 0xef, 0x4d, 0x57, 0xf5, 0xb6, 0xc7, 0x1a, 0x7a, 0x06,
-	0x8f, 0xd4, 0x75, 0xb6, 0xc4, 0x12, 0xa4, 0x2b, 0xa6, 0x3d, 0x44, 0xbb, 0xf0, 0x78, 0x66, 0x49,
-	0x6f, 0x5b, 0xec, 0xb0, 0x80, 0x0a, 0x8a, 0x26, 0xb6, 0x06, 0xb8, 0x79, 0xcc, 0x6e, 0xf9, 0x47,
-	0x2c, 0xfa, 0x12, 0xa7, 0x88, 0x1f, 0xf3, 0x47, 0x45, 0x3a, 0xf7, 0xde, 0x79, 0xaf, 0xdd, 0xd1,
-	0x9e, 0xb0, 0x47, 0xc5, 0x74, 0x78, 0x42, 0xf8, 0x94, 0xe1, 0x8f, 0x4c, 0x6c, 0x9c, 0x18, 0xcd,
-	0x43, 0xeb, 0x98, 0xbf, 0x39, 0x3a, 0x4d, 0xed, 0x19, 0xda, 0x80, 0xb5, 0x83, 0x93, 0x76, 0xd7,
-	0x3a, 0xee, 0x36, 0x07, 0x27, 0x8c, 0x72, 0x97, 0xf9, 0xe7, 0x22, 0xce, 0x7b, 0x6c, 0x76, 0x99,
-	0xf4, 0x43, 0x86, 0xe7, 0x52, 0xc1, 0x2c, 0xc5, 0xba, 0xfe, 0x12, 0x56, 0x3b, 0xd4, 0xe1, 0x9b,
-	0xb2, 0x1d, 0x8c, 0x28, 0xfa, 0x04, 0x56, 0x7c, 0x3b, 0xb1, 0xfc, 0xc0, 0x95, 0x57, 0xf9, 0x66,
-	0xba, 0x07, 0xd9, 0x1e, 0xad, 0x77, 0xec, 0xa4, 0x13, 0xb8, 0x78, 0xd9, 0xe7, 0xff, 0xfa, 0xa7,
-	0x50, 0xea, 0x45, 0x34, 0x24, 0x51, 0x72, 0x83, 0x10, 0x2c, 0x05, 0xf6, 0x98, 0xc8, 0x87, 0x09,
-	0x6f, 0xa3, 0x2d, 0x28, 0x5e, 0xd9, 0xfe, 0x44, 0xbc, 0x36, 0xca, 0x58, 0x74, 0xf4, 0x3f, 0x16,
-	0x40, 0x33, 0x82, 0xc4, 0x4b, 0x6e, 0x94, 0x97, 0x84, 0x06, 0x85, 0xb1, 0x37, 0x94, 0x68, 0xd6,
-	0x44, 0xdb, 0xb0, 0xec, 0x53, 0xc7, 0xf6, 0x53, 0xb4, 0xec, 0xa1, 0x5d, 0xa8, 0x0c, 0x49, 0xec,
-	0x44, 0x5e, 0xc8, 0x8f, 0x8a, 0x82, 0x78, 0x08, 0x29, 0x22, 0xe6, 0x36, 0x76, 0x68, 0x94, 0x5e,
-	0xd3, 0xa2, 0x83, 0x9e, 0x02, 0x28, 0xf7, 0xa4, 0xb8, 0xa3, 0x15, 0x09, 0xd3, 0x27, 0x34, 0xf4,
-	0x1c, 0xdb, 0xf7, 0x92, 0x1b, 0x79, 0x4b, 0x2b, 0x92, 0xef, 0xbe, 0x75, 0x56, 0xde, 0xfb, 0xad,
-	0xd3, 0x82, 0xb2, 0x2f, 0xa3, 0x1e, 0xd7, 0x4a, 0xfc, 0x6d, 0x32, 0x97, 0x46, 0x5d, 0x1e, 0x3c,
-	0x85, 0xa1, 0x9f, 0x03, 0x84, 0x22, 0xf6, 0x1e, 0x89, 0x6b, 0x65, 0x4e, 0x32, 0xff, 0xc0, 0x94,
-	0xab, 0x84, 0x15, 0x8c, 0xfe, 0xa7, 0x3c, 0x6c, 0xf5, 0xed, 0x11, 0xe9, 0x13, 0x3b, 0x72, 0x5e,
-	0x2b, 0x6b, 0xf1, 0x39, 0x14, 0xed, 0xe1, 0xc4, 0x4f, 0xe4, 0x83, 0x7c, 0x91, 0x7b, 0x42, 0x00,
-	0x18, 0x32, 0x0e, 0x29, 0x1d, 0xf1, 0x25, 0x5b, 0x10, 0xc9, 0x01, 0xe8, 0x25, 0xac, 0x8c, 0xc9,
-	0x90, 0xc5, 0x5a, 0x5e, 0x25, 0x8b, 0x60, 0x53, 0x08, 0xfa, 0x0a, 0x4a, 0x57, 0x1e, 0xf5, 0xf9,
-	0xca, 0x2e, 0x2d, 0x0c, 0xcf, 0x30, 0xfa, 0x5b, 0xa8, 0xb0, 0xd4, 0xa6, 0x81, 0x8b, 0x89, 0x93,
-	0xa0, 0x17, 0x50, 0x19, 0x7b, 0x81, 0xb5, 0xc0, 0x4e, 0x28, 0x8f, 0xbd, 0x40, 0x34, 0x39, 0xc8,
-	0xbe, 0xce, 0x40, 0xf9, 0x77, 0x81, 0xec, 0x6b, 0xd1, 0xd4, 0x23, 0x28, 0x1f, 0xb0, 0xaa, 0x8a,
-	0x6f, 0xbe, 0x3d, 0x28, 0xf2, 0x12, 0x4b, 0x3a, 0x44, 0x33, 0x58, 0x6e, 0x86, 0x85, 0xc1, 0x34,
-	0xc3, 0xf3, 0x6a, 0x86, 0x7f, 0x04, 0xd5, 0xd0, 0xbb, 0x26, 0xbe, 0x35, 0x8a, 0x6c, 0x27, 0xdb,
-	0x1c, 0x79, 0xbc, 0xc6, 0xa5, 0x47, 0x52, 0xa8, 0x9f, 0x43, 0xed, 0x90, 0x8e, 0xbd, 0xc0, 0x0e,
-	0x12, 0x4e, 0x1a, 0x2b, 0x4b, 0xff, 0x53, 0x58, 0xe6, 0x1e, 0xe2, 0x5a, 0x8e, 0x67, 0xd4, 0x87,
-	0xf3, 0xc2, 0x98, 0x8d, 0x1a, 0x4b, 0x80, 0xee, 0xc3, 0x3a, 0xaf, 0x1a, 0x7a, 0x59, 0x86, 0xa1,
-	0x0b, 0x58, 0x1f, 0x4a, 0x4f, 0x56, 0x46, 0xcb, 0xa6, 0xf6, 0x93, 0x79, 0xb4, 0xf3, 0x06, 0x86,
-	0xab, 0xc3, 0x19, 0x8d, 0xfe, 0x7b, 0x58, 0xe5, 0xde, 0x0e, 0x58, 0x65, 0x73, 0x9d, 0xa0, 0x63,
-	0x58, 0xe3, 0x91, 0xa7, 0x81, 0x6b, 0x45, 0xc4, 0x49, 0xa4, 0xa3, 0xb9, 0x05, 0x8e, 0xb2, 0xdc,
-	0xb8, 0xe2, 0x2b, 0x6b, 0xff, 0x11, 0x54, 0x59, 0x45, 0x3b, 0x61, 0x85, 0xd6, 0x6b, 0x2f, 0xe0,
-	0x55, 0x65, 0x61, 0xaf, 0x8c, 0xd7, 0x52, 0xe9, 0x09, 0x13, 0xea, 0xdf, 0xe6, 0x60, 0x4b, 0x0e,
-	0x8f, 0xf0, 0x81, 0x60, 0xf2, 0xbb, 0x09, 0x89, 0x59, 0xee, 0x14, 0x79, 0x95, 0x26, 0x07, 0xf0,
-	0xe4, 0x9d, 0x15, 0x16, 0x16, 0xb6, 0xe8, 0x4b, 0x28, 0x8d, 0x44, 0x75, 0x2b, 0xdc, 0x55, 0xf6,
-	0x9f, 0xfd, 0x9f, 0x2a, 0x18, 0x67, 0x00, 0x76, 0x30, 0x89, 0xba, 0xd0, 0x11, 0xb1, 0xe0, 0xab,
-	0xfe, 0x8e, 0x13, 0x45, 0x8d, 0x1b, 0x5e, 0xf5, 0x94, 0x9e, 0xfe, 0xcf, 0x22, 0x3c, 0xb8, 0x35,
-	0xab, 0x38, 0xa4, 0x41, 0x4c, 0xd0, 0xd7, 0xa0, 0x8d, 0x6c, 0x27, 0xfb, 0x5a, 0xc2, 0x4f, 0x2e,
-	0x91, 0x22, 0x3f, 0x5c, 0xec, 0xcd, 0x87, 0xd7, 0x47, 0x33, 0xfd, 0x18, 0xfd, 0x1a, 0xb6, 0xd2,
-	0x32, 0x65, 0x86, 0x56, 0x04, 0x60, 0x6f, 0x1e, 0xed, 0xed, 0xab, 0x03, 0x6f, 0xa6, 0x2c, 0x2a,
-	0x79, 0x1f, 0x34, 0x9f, 0xba, 0x74, 0x86, 0xb8, 0x70, 0x4f, 0xe2, 0x75, 0xc6, 0xa0, 0x92, 0x9e,
-	0xc3, 0x86, 0x6f, 0x5f, 0x12, 0x7f, 0x86, 0x75, 0xe9, 0x9e, 0xac, 0x1a, 0xa7, 0xb8, 0x35, 0x56,
-	0x16, 0xfd, 0x19, 0xd6, 0xe2, 0x7d, 0xc7, 0xca, 0x18, 0x54, 0xd2, 0x4b, 0xd8, 0x8e, 0xed, 0x11,
-	0xb1, 0x62, 0x7e, 0xba, 0x2b, 0xdc, 0xfc, 0x6a, 0xab, 0xec, 0x7f, 0x32, 0x8f, 0xfa, 0xae, 0x2b,
-	0x01, 0x6f, 0xc5, 0x77, 0x5d, 0x14, 0x2e, 0x3c, 0x12, 0x99, 0x37, 0xbd, 0x55, 0x54, 0x47, 0x25,
-	0xee, 0xe8, 0x47, 0xef, 0xcc, 0xc3, 0xe9, 0x69, 0x81, 0x1f, 0x7a, 0xb3, 0x02, 0xc5, 0xd1, 0x1e,
-	0x14, 0x49, 0x14, 0xd1, 0x88, 0xd7, 0xab, 0xca, 0xc9, 0x18, 0x85, 0x4e, 0xbd, 0xcf, 0x3f, 0x6a,
-	0x61, 0x61, 0xa0, 0x8f, 0x60, 0xa7, 0x65, 0x27, 0xd9, 0x28, 0x45, 0x16, 0xc7, 0xe9, 0xe6, 0x3c,
-	0x81, 0x52, 0x24, 0x9a, 0x69, 0xf6, 0xce, 0x0d, 0xc3, 0x5d, 0x9b, 0x1b, 0x67, 0x68, 0xfd, 0x0d,
-	0x3c, 0xba, 0xd3, 0x8f, 0xdc, 0x2e, 0xa7, 0x50, 0x8e, 0x64, 0x3b, 0xf5, 0xf4, 0xe3, 0x05, 0x3d,
-	0x09, 0x14, 0x9e, 0xe2, 0x3f, 0x26, 0x00, 0x4a, 0x4d, 0x57, 0x81, 0x15, 0x59, 0xe0, 0x68, 0x1f,
-	0xb0, 0xf7, 0xdf, 0x2f, 0x0c, 0x7c, 0x61, 0x9d, 0x77, 0x3b, 0xed, 0x53, 0xa3, 0x73, 0xa1, 0xe5,
-	0x58, 0x19, 0x91, 0xf5, 0xf2, 0xac, 0xd7, 0x33, 0xfb, 0xfd, 0x76, 0xab, 0x63, 0x68, 0x05, 0x04,
-	0xb0, 0x2c, 0x35, 0x4b, 0xac, 0x64, 0xe0, 0x50, 0x29, 0x28, 0xee, 0xff, 0x2d, 0x07, 0x55, 0x3e,
-	0x86, 0x66, 0xfa, 0x45, 0x14, 0xfd, 0x35, 0x07, 0x9b, 0x77, 0x4c, 0x13, 0xed, 0xcf, 0x7d, 0xf4,
-	0xcc, 0x8d, 0xfd, 0xce, 0x8b, 0x7b, 0x61, 0xc4, 0xdc, 0xf5, 0xa7, 0x7f, 0xf8, 0xf6, 0x3f, 0x7f,
-	0xce, 0xd7, 0xf4, 0xcd, 0xec, 0x7b, 0x6d, 0xfc, 0x85, 0xcc, 0x30, 0xf2, 0x45, 0xee, 0xe3, 0xd6,
-	0x18, 0x76, 0x1c, 0x3a, 0x9e, 0xc3, 0xdc, 0xda, 0x9c, 0x9d, 0x4e, 0x2f, 0xa2, 0x09, 0xed, 0xe5,
-	0x7e, 0xf5, 0xd9, 0x7b, 0x7d, 0x7e, 0xfd, 0x6f, 0x2e, 0x77, 0xb9, 0xcc, 0x8d, 0x5e, 0xfc, 0x2f,
-	0x00, 0x00, 0xff, 0xff, 0x30, 0xf8, 0x96, 0xf0, 0x71, 0x16, 0x00, 0x00,
+	// 2044 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x58, 0xcd, 0x6e, 0xe3, 0xc8,
+	0x11, 0x1e, 0x49, 0x96, 0x2d, 0x95, 0x6c, 0x99, 0x6e, 0x7b, 0xbc, 0x1a, 0xcf, 0x9f, 0x97, 0xc9,
+	0x24, 0xc6, 0x62, 0x22, 0x67, 0x3c, 0x1b, 0x60, 0xb3, 0x33, 0x08, 0x22, 0xd9, 0xb4, 0x2d, 0x8c,
+	0x2c, 0x6a, 0x5b, 0x72, 0x26, 0x4e, 0x82, 0x10, 0x34, 0xd5, 0xe2, 0x70, 0x96, 0x62, 0x33, 0x24,
+	0xe5, 0xb1, 0x2e, 0x39, 0x04, 0x08, 0x90, 0x7b, 0xce, 0xc9, 0x3b, 0x04, 0x08, 0x72, 0xcd, 0x39,
+	0xc7, 0x60, 0x5f, 0x21, 0x0f, 0x91, 0x63, 0xd0, 0x3f, 0xa4, 0x5a, 0x5e, 0x6b, 0x22, 0xef, 0x49,
+	0xec, 0xaa, 0xfa, 0xbe, 0xaa, 0xae, 0xea, 0xbf, 0x12, 0x3c, 0x77, 0x29, 0x75, 0x7d, 0xb2, 0xef,
+	0xf8, 0x74, 0x3c, 0xd8, 0xbf, 0xf2, 0x62, 0x8f, 0x06, 0xfb, 0x57, 0x2f, 0xf6, 0xbd, 0x91, 0xed,
+	0x12, 0xcb, 0x0e, 0x02, 0x9a, 0xd8, 0x09, 0x8d, 0xea, 0x61, 0x44, 0x13, 0x8a, 0xb6, 0x85, 0x75,
+	0x9d, 0x5b, 0xd7, 0x85, 0x75, 0xfd, 0xea, 0xc5, 0xce, 0x23, 0xc9, 0x62, 0x87, 0xde, 0xbe, 0xc4,
+	0x78, 0x34, 0x88, 0x05, 0x6a, 0xe7, 0xd9, 0x1c, 0x1f, 0x2e, 0xa1, 0x23, 0x92, 0x44, 0x13, 0x69,
+	0xf6, 0x89, 0x34, 0x8b, 0x42, 0x67, 0x3f, 0x4e, 0xec, 0x64, 0x1c, 0xdf, 0x50, 0x24, 0x93, 0x90,
+	0xec, 0x3b, 0xd4, 0x4f, 0xc3, 0xd9, 0xa9, 0xa9, 0x0a, 0xdf, 0x4e, 0xfc, 0xc0, 0x15, 0x1a, 0xfd,
+	0x2f, 0x79, 0x58, 0x39, 0x26, 0x76, 0x32, 0x8e, 0x08, 0xfa, 0x02, 0x96, 0x98, 0x41, 0x2d, 0xb7,
+	0x9b, 0xdb, 0xab, 0x1e, 0x7c, 0xbf, 0x7e, 0xfb, 0x1c, 0xea, 0xd2, 0xbc, 0xde, 0x9f, 0x84, 0x04,
+	0x73, 0x04, 0x7a, 0x0a, 0x95, 0x91, 0x7d, 0x6d, 0x45, 0x24, 0x1e, 0xfb, 0x49, 0x5c, 0xcb, 0xef,
+	0xe6, 0xf6, 0x8a, 0x18, 0x46, 0xf6, 0x35, 0x16, 0x12, 0xfd, 0x1f, 0x39, 0x58, 0x62, 0xf6, 0x68,
+	0x0b, 0xb4, 0xfe, 0x45, 0xd7, 0xb0, 0xce, 0x3b, 0xbd, 0xae, 0x71, 0xd8, 0x3a, 0x6e, 0x19, 0x47,
+	0xda, 0x3d, 0x84, 0xa0, 0x7a, 0xdc, 0x38, 0x34, 0xac, 0x23, 0xa3, 0x6f, 0x1c, 0xf6, 0x5b, 0x66,
+	0x47, 0xcb, 0xa1, 0x6d, 0x40, 0xed, 0x46, 0xe7, 0xe8, 0xac, 0x81, 0xdf, 0x28, 0xf2, 0x3c, 0xb3,
+	0x6d, 0x9b, 0x27, 0xa6, 0x22, 0x2b, 0xa0, 0x4d, 0x58, 0x6f, 0x37, 0x9a, 0x46, 0x5b, 0x11, 0x2e,
+	0x31, 0xc3, 0xbe, 0xf1, 0xcb, 0xbe, 0x22, 0x2b, 0xa2, 0x07, 0x70, 0xbf, 0xd7, 0x38, 0x36, 0xac,
+	0x9e, 0xd1, 0xc0, 0x87, 0xa7, 0x8a, 0x6a, 0x99, 0x45, 0xd6, 0x3a, 0x6b, 0x9c, 0x18, 0x56, 0x17,
+	0x9b, 0x5d, 0x03, 0xf7, 0x5b, 0x46, 0x4f, 0x5b, 0xd1, 0x5f, 0x40, 0xa5, 0xc5, 0x2a, 0xdc, 0xa3,
+	0xe3, 0xc8, 0x21, 0x48, 0x87, 0x35, 0xd7, 0x89, 0x2d, 0x51, 0xf4, 0x71, 0xe4, 0xf1, 0x5c, 0x95,
+	0x71, 0xc5, 0x75, 0x62, 0x6e, 0x76, 0x1e, 0x79, 0xfa, 0x6f, 0xa1, 0xc8, 0xbf, 0x51, 0x0d, 0x56,
+	0x1c, 0x1a, 0x24, 0x24, 0x48, 0xb8, 0xd9, 0x2a, 0x4e, 0x87, 0xe8, 0x15, 0x2c, 0xc7, 0x9c, 0x90,
+	0xa7, 0xaa, 0x72, 0xf0, 0xbd, 0x79, 0xb9, 0x56, 0x7c, 0x63, 0x09, 0xd1, 0xff, 0xbd, 0x0e, 0xd5,
+	0x63, 0xdb, 0x21, 0x8d, 0x6c, 0xfd, 0xa0, 0x16, 0xac, 0x5d, 0xd2, 0x71, 0x30, 0xf0, 0x02, 0xd7,
+	0x0a, 0xa9, 0x3f, 0xe1, 0xfe, 0x2a, 0xf3, 0x4b, 0xd8, 0x94, 0xc6, 0x5d, 0xea, 0x4f, 0xf0, 0xea,
+	0xa5, 0x32, 0x42, 0x1d, 0xd0, 0x86, 0x03, 0x6b, 0x96, 0x2d, 0x7f, 0x07, 0xb6, 0xea, 0x70, 0xa0,
+	0x8e, 0xd1, 0x19, 0x94, 0x7d, 0x3b, 0x18, 0x8c, 0xec, 0xe8, 0xeb, 0xb8, 0x56, 0xd8, 0x2d, 0xec,
+	0x55, 0x0e, 0xf6, 0xe7, 0xae, 0xac, 0x99, 0x59, 0xd5, 0xdb, 0x12, 0x87, 0xa7, 0x0c, 0xe8, 0x31,
+	0x40, 0x44, 0x7d, 0xdf, 0xb2, 0x03, 0xd7, 0x27, 0xb5, 0xa5, 0xdd, 0xdc, 0x5e, 0x1e, 0x97, 0x99,
+	0xa4, 0xc1, 0x04, 0xe8, 0x21, 0x94, 0x43, 0x3b, 0x90, 0xda, 0x22, 0xd7, 0x96, 0x42, 0x3b, 0x10,
+	0xca, 0xc7, 0x00, 0x89, 0xe7, 0x27, 0x52, 0xbb, 0x2c, 0xb0, 0x4c, 0x22, 0xd4, 0x2f, 0x60, 0x6b,
+	0x40, 0x12, 0xe2, 0x30, 0xdf, 0x96, 0x43, 0x83, 0xa1, 0x37, 0x20, 0x81, 0x43, 0x6a, 0x2b, 0xdc,
+	0x70, 0x33, 0xd3, 0x1d, 0x66, 0x2a, 0xf4, 0x13, 0xd8, 0x4e, 0x43, 0x63, 0xc9, 0x52, 0x40, 0x25,
+	0x0e, 0xba, 0xaf, 0x68, 0x15, 0x58, 0x0b, 0xaa, 0xef, 0xe9, 0xc4, 0xf2, 0xbd, 0xaf, 0x89, 0xef,
+	0xbd, 0xa3, 0x74, 0x50, 0x2b, 0xf3, 0x2d, 0xa7, 0xcf, 0x4b, 0x4c, 0x3b, 0xb3, 0xc4, 0x6b, 0xef,
+	0xe9, 0x64, 0x3a, 0x44, 0x26, 0x6c, 0xc4, 0x34, 0x8a, 0xe8, 0x07, 0x95, 0x0d, 0x16, 0x66, 0xd3,
+	0x04, 0x58, 0x21, 0x3c, 0x03, 0xcd, 0x0e, 0x5c, 0x12, 0xa9, 0x7c, 0x95, 0x85, 0xf9, 0xd6, 0x39,
+	0x56, 0xa1, 0xeb, 0xc1, 0x66, 0x3c, 0x8e, 0xc2, 0xc8, 0x8b, 0x89, 0xca, 0xb8, 0xba, 0x30, 0x23,
+	0x4a, 0xe1, 0x0a, 0xe9, 0x6f, 0xa0, 0x36, 0x0e, 0x06, 0x24, 0xb2, 0xc8, 0x75, 0x48, 0x63, 0x32,
+	0x50, 0x99, 0xd7, 0x16, 0x66, 0xde, 0xe6, 0x1c, 0x86, 0xa0, 0x50, 0xd8, 0xbf, 0x02, 0x74, 0xe9,
+	0x8f, 0xa3, 0x68, 0x96, 0xb7, 0xba, 0x30, 0xef, 0x86, 0x44, 0xcf, 0x66, 0xe1, 0x1d, 0xb1, 0x07,
+	0x1f, 0x88, 0x3d, 0x93, 0xd7, 0xf5, 0xc5, 0xb3, 0x90, 0xc2, 0xa7, 0xb2, 0x9d, 0x7f, 0xad, 0x40,
+	0x29, 0xdd, 0x22, 0xe8, 0x54, 0x9e, 0xdd, 0x05, 0x4e, 0xf9, 0xf9, 0x1d, 0x77, 0x98, 0x7a, 0x96,
+	0xbf, 0x86, 0x52, 0x48, 0x63, 0x8f, 0xe9, 0xf9, 0xfe, 0xaa, 0x1c, 0xec, 0xce, 0x63, 0xeb, 0x4a,
+	0x3b, 0x9c, 0x21, 0xf4, 0xbf, 0x2f, 0x4f, 0x0f, 0xfa, 0xf3, 0xce, 0x9b, 0x8e, 0xf9, 0xb6, 0x63,
+	0xa5, 0xc7, 0xb8, 0x76, 0x0f, 0xad, 0x42, 0xa9, 0x6d, 0x1c, 0xf7, 0x2d, 0xe3, 0xc2, 0xd0, 0x72,
+	0x68, 0x0d, 0xca, 0xb8, 0x75, 0x72, 0x2a, 0x86, 0x79, 0x54, 0x83, 0x2d, 0xae, 0x34, 0x8f, 0xad,
+	0xd4, 0xa8, 0x89, 0xcd, 0xb7, 0x5a, 0x81, 0x1d, 0xdb, 0xc2, 0xf0, 0xa6, 0x6a, 0x89, 0xa9, 0x52,
+	0x50, 0xc6, 0xc5, 0x55, 0x45, 0xb4, 0x03, 0xdb, 0x19, 0x6a, 0x56, 0xb7, 0xcc, 0x60, 0x67, 0xad,
+	0xa3, 0xae, 0xd9, 0xea, 0xf4, 0xad, 0xa6, 0xd1, 0x7f, 0x6b, 0x18, 0x1d, 0xa6, 0xed, 0x69, 0x2b,
+	0x2c, 0xc6, 0x8e, 0xd9, 0x33, 0xac, 0x7e, 0xab, 0xab, 0x95, 0x58, 0x8c, 0xe7, 0xdd, 0xae, 0x81,
+	0xad, 0x76, 0xab, 0xab, 0x95, 0xd9, 0xb0, 0x6d, 0xbe, 0x95, 0x43, 0x40, 0x55, 0x80, 0x33, 0xf3,
+	0xbc, 0x7f, 0xca, 0xa3, 0xd2, 0x2a, 0x68, 0x1d, 0x2a, 0x62, 0xcc, 0xfd, 0x69, 0xab, 0x48, 0x83,
+	0x55, 0x21, 0x38, 0x34, 0x3a, 0x7d, 0x03, 0x6b, 0x6b, 0xe8, 0x3e, 0x6c, 0x70, 0xfa, 0xa6, 0xd9,
+	0xef, 0x9b, 0x67, 0xd2, 0xb0, 0xca, 0xf2, 0xa5, 0x8a, 0x39, 0xdf, 0x3a, 0xbb, 0x04, 0x55, 0xa9,
+	0x24, 0xd1, 0xb2, 0x59, 0x1b, 0x17, 0x86, 0xd5, 0x37, 0xbb, 0x56, 0xd3, 0x3c, 0xef, 0x1c, 0x35,
+	0xf0, 0x85, 0xb6, 0x31, 0xa3, 0x12, 0xb3, 0x3e, 0x34, 0x71, 0xc7, 0xc0, 0x1a, 0x42, 0x8f, 0xa0,
+	0x96, 0xa9, 0x24, 0x63, 0x06, 0xdc, 0xcc, 0xd2, 0xcf, 0xb4, 0xfc, 0x43, 0xe2, 0xb6, 0xa6, 0x89,
+	0xfc, 0x96, 0xbb, 0xfb, 0xb3, 0xba, 0x19, 0x7f, 0xdb, 0xe8, 0x31, 0x3c, 0x98, 0xea, 0x6e, 0x3a,
+	0xfc, 0x64, 0x5a, 0xd5, 0x9b, 0x1e, 0x6b, 0xe8, 0x29, 0x3c, 0x54, 0xeb, 0x6c, 0x89, 0x12, 0xa4,
+	0x15, 0xd3, 0x1e, 0xa0, 0x5d, 0x78, 0x34, 0x53, 0xd2, 0x9b, 0x16, 0x3b, 0x2c, 0xa1, 0x82, 0xa2,
+	0x81, 0xad, 0x3e, 0x6e, 0x9c, 0xb0, 0x5b, 0xfe, 0x21, 0xcb, 0xbe, 0xc4, 0x29, 0xe2, 0x47, 0xfc,
+	0x51, 0x91, 0xce, 0xbd, 0x7b, 0xde, 0x6d, 0xb5, 0xb5, 0xc7, 0xec, 0x51, 0x31, 0x0d, 0x4f, 0x08,
+	0x9f, 0x30, 0xfc, 0xb1, 0x89, 0x8d, 0x53, 0xa3, 0x71, 0x64, 0x9d, 0xf0, 0x37, 0x47, 0xbb, 0xa1,
+	0x3d, 0x45, 0x1b, 0xb0, 0x76, 0x78, 0xda, 0xea, 0x58, 0x27, 0x9d, 0x46, 0xff, 0x94, 0x51, 0xee,
+	0x32, 0xff, 0x5c, 0xc4, 0x79, 0x4f, 0xcc, 0x0e, 0x93, 0x7e, 0xca, 0xf0, 0x5c, 0x2a, 0x98, 0xa5,
+	0x58, 0xd7, 0x5f, 0xc3, 0x6a, 0x9b, 0x3a, 0x7c, 0x53, 0xb6, 0x82, 0x21, 0x45, 0xcf, 0x61, 0xc5,
+	0xb7, 0x13, 0xcb, 0x0f, 0x5c, 0x79, 0x95, 0x6f, 0xa6, 0x7b, 0x90, 0xed, 0xd1, 0x7a, 0xdb, 0x4e,
+	0xda, 0x81, 0x8b, 0x97, 0x7d, 0xfe, 0xab, 0x7f, 0x0e, 0xa5, 0x6e, 0x44, 0x43, 0x12, 0x25, 0x13,
+	0x84, 0x60, 0x29, 0xb0, 0x47, 0x44, 0x3e, 0x4c, 0xf8, 0x37, 0xda, 0x82, 0xe2, 0x95, 0xed, 0x8f,
+	0xc5, 0x6b, 0xa3, 0x8c, 0xc5, 0x40, 0xff, 0x63, 0x01, 0x34, 0x23, 0x48, 0xbc, 0x64, 0xa2, 0xbc,
+	0x24, 0x34, 0x28, 0x8c, 0xbc, 0x81, 0x44, 0xb3, 0x4f, 0xb4, 0x0d, 0xcb, 0x3e, 0x75, 0x6c, 0x3f,
+	0x45, 0xcb, 0x11, 0xda, 0x85, 0xca, 0x80, 0xc4, 0x4e, 0xe4, 0x85, 0xfc, 0xa8, 0x28, 0x88, 0x87,
+	0x90, 0x22, 0x62, 0x6e, 0x63, 0x87, 0x46, 0xe9, 0x35, 0x2d, 0x06, 0xe8, 0x09, 0x80, 0x72, 0x4f,
+	0x8a, 0x3b, 0x5a, 0x91, 0x30, 0x7d, 0x42, 0x43, 0xcf, 0xb1, 0x7d, 0x2f, 0x99, 0xc8, 0x5b, 0x5a,
+	0x91, 0x7c, 0xfb, 0xad, 0xb3, 0xf2, 0x9d, 0xdf, 0x3a, 0x4d, 0x28, 0xfb, 0x32, 0xeb, 0x71, 0xad,
+	0xc4, 0xdf, 0x26, 0x73, 0x69, 0xd4, 0xf2, 0xe0, 0x29, 0x0c, 0xfd, 0x1c, 0x20, 0x14, 0xb9, 0xf7,
+	0x48, 0x5c, 0x2b, 0x73, 0x92, 0xf9, 0x07, 0xa6, 0xac, 0x12, 0x56, 0x30, 0xfa, 0x9f, 0xf2, 0xb0,
+	0xd5, 0xb3, 0x87, 0xa4, 0x47, 0xec, 0xc8, 0x79, 0xa7, 0xd4, 0xe2, 0x0b, 0x28, 0xda, 0x83, 0xb1,
+	0x9f, 0xc8, 0x07, 0xf9, 0x22, 0xf7, 0x84, 0x00, 0x30, 0x64, 0x1c, 0x52, 0x3a, 0xe4, 0x25, 0x5b,
+	0x10, 0xc9, 0x01, 0xe8, 0x35, 0xac, 0x8c, 0xc8, 0x80, 0xe5, 0x5a, 0x5e, 0x25, 0x8b, 0x60, 0x53,
+	0x08, 0xfa, 0x19, 0x94, 0xae, 0x3c, 0xea, 0xf3, 0xca, 0x2e, 0x2d, 0x0c, 0xcf, 0x30, 0xfa, 0x07,
+	0xa8, 0xb0, 0xa5, 0x4d, 0x03, 0x17, 0x13, 0x27, 0x41, 0x2f, 0xa1, 0x32, 0xf2, 0x02, 0x6b, 0x81,
+	0x9d, 0x50, 0x1e, 0x79, 0x81, 0xf8, 0xe4, 0x20, 0xfb, 0x3a, 0x03, 0xe5, 0x3f, 0x06, 0xb2, 0xaf,
+	0xc5, 0xa7, 0x1e, 0x41, 0xf9, 0x90, 0xf5, 0x4b, 0x7c, 0xf3, 0xed, 0x41, 0x91, 0x37, 0x4f, 0xd2,
+	0x21, 0x9a, 0xc1, 0x72, 0x33, 0x2c, 0x0c, 0xa6, 0x2b, 0x3c, 0xaf, 0xae, 0xf0, 0x67, 0x50, 0x0d,
+	0xbd, 0x6b, 0xe2, 0x5b, 0xc3, 0xc8, 0x76, 0xb2, 0xcd, 0x91, 0xc7, 0x6b, 0x5c, 0x7a, 0x2c, 0x85,
+	0xfa, 0x39, 0xd4, 0x8e, 0xe8, 0xc8, 0x0b, 0xec, 0x20, 0xe1, 0xa4, 0xb1, 0x52, 0xfa, 0x9f, 0xc2,
+	0x32, 0xf7, 0x10, 0xd7, 0x72, 0x7c, 0x45, 0x7d, 0x3a, 0x2f, 0x8d, 0x59, 0xd4, 0x58, 0x02, 0x74,
+	0x1f, 0xd6, 0x79, 0xd7, 0xd0, 0xcd, 0x56, 0x18, 0xba, 0x80, 0xf5, 0x81, 0xf4, 0x64, 0x65, 0xb4,
+	0x6c, 0x6a, 0x3f, 0x9e, 0x47, 0x3b, 0x2f, 0x30, 0x5c, 0x1d, 0xcc, 0x68, 0xf4, 0xdf, 0xc3, 0x2a,
+	0xf7, 0x76, 0xc8, 0x3a, 0x9b, 0xeb, 0x04, 0x9d, 0xc0, 0x1a, 0xcf, 0x3c, 0x0d, 0x5c, 0x2b, 0x22,
+	0x4e, 0x22, 0x1d, 0xcd, 0x6d, 0x70, 0x94, 0x72, 0xe3, 0x8a, 0xaf, 0xd4, 0xfe, 0x19, 0x54, 0x7d,
+	0x3b, 0x70, 0xc7, 0xac, 0xd1, 0x7a, 0xe7, 0x05, 0xbc, 0xab, 0x2c, 0xec, 0x95, 0xf1, 0x5a, 0x2a,
+	0x3d, 0x65, 0x42, 0xfd, 0x9b, 0x1c, 0x6c, 0xc9, 0xf0, 0x08, 0x0f, 0x04, 0x93, 0xdf, 0x8d, 0x49,
+	0xcc, 0xd6, 0x4e, 0x91, 0x77, 0x69, 0x32, 0x80, 0xc7, 0x1f, 0xed, 0xb0, 0xb0, 0xb0, 0x45, 0xaf,
+	0xa0, 0x34, 0x14, 0xdd, 0xad, 0x70, 0x57, 0x39, 0x78, 0xfa, 0x7f, 0xba, 0x60, 0x9c, 0x01, 0xd8,
+	0xc1, 0x24, 0xfa, 0x42, 0x47, 0xe4, 0x82, 0x57, 0xfd, 0x23, 0x27, 0x8a, 0x9a, 0x37, 0xbc, 0xea,
+	0x29, 0x23, 0xfd, 0x9f, 0x45, 0xb8, 0x7f, 0x63, 0x56, 0x71, 0x48, 0x83, 0x98, 0xa0, 0xaf, 0x40,
+	0x1b, 0xda, 0x4e, 0xf6, 0x87, 0x03, 0x3f, 0xb9, 0xc4, 0x12, 0xf9, 0xc1, 0x62, 0x6f, 0x3e, 0xbc,
+	0x3e, 0x9c, 0x19, 0xc7, 0xe8, 0xd7, 0xb0, 0x95, 0xb6, 0x29, 0x33, 0xb4, 0x22, 0x01, 0x7b, 0xf3,
+	0x68, 0x6f, 0x5e, 0x1d, 0x78, 0x33, 0x65, 0x51, 0xc9, 0x7b, 0xa0, 0xf9, 0xd4, 0xa5, 0x33, 0xc4,
+	0x85, 0x3b, 0x12, 0xaf, 0x33, 0x06, 0x95, 0xf4, 0x1c, 0x36, 0x7c, 0xfb, 0x92, 0xf8, 0x33, 0xac,
+	0x4b, 0x77, 0x64, 0xd5, 0x38, 0xc5, 0x8d, 0x58, 0x59, 0xf6, 0x67, 0x58, 0x8b, 0x77, 0x8d, 0x95,
+	0x31, 0xa8, 0xa4, 0x97, 0xb0, 0x1d, 0xdb, 0x43, 0x62, 0xc5, 0xfc, 0x74, 0x57, 0xb8, 0xf9, 0xd5,
+	0x56, 0x39, 0x78, 0x3e, 0x8f, 0xfa, 0xb6, 0x2b, 0x01, 0x6f, 0xc5, 0xb7, 0x5d, 0x14, 0x2e, 0x3c,
+	0x14, 0x2b, 0x6f, 0x7a, 0xab, 0xa8, 0x8e, 0x4a, 0xdc, 0xd1, 0x0f, 0x3f, 0xba, 0x0e, 0xa7, 0xa7,
+	0x05, 0x7e, 0xe0, 0xcd, 0x0a, 0x14, 0x47, 0x7b, 0x50, 0x24, 0x51, 0x44, 0x23, 0xde, 0xaf, 0x2a,
+	0x27, 0x63, 0x14, 0x3a, 0xf5, 0x1e, 0xff, 0x27, 0x0a, 0x0b, 0x03, 0x7d, 0x08, 0x3b, 0x4d, 0x3b,
+	0xc9, 0xa2, 0x14, 0xab, 0x38, 0x4e, 0x37, 0xe7, 0x29, 0x94, 0x22, 0xf1, 0x99, 0xae, 0xde, 0xb9,
+	0x69, 0xb8, 0x6d, 0x73, 0xe3, 0x0c, 0xad, 0xbf, 0x87, 0x87, 0xb7, 0xfa, 0x91, 0xdb, 0xe5, 0x0d,
+	0x94, 0x23, 0xf9, 0x9d, 0x7a, 0xfa, 0xd1, 0x82, 0x9e, 0x04, 0x0a, 0x4f, 0xf1, 0x9f, 0x11, 0x00,
+	0xa5, 0xa7, 0xab, 0xc0, 0x8a, 0x6c, 0x70, 0xb4, 0x7b, 0xec, 0xfd, 0xf7, 0x0b, 0x03, 0x5f, 0x58,
+	0xe7, 0x9d, 0x76, 0xeb, 0x8d, 0xd1, 0xbe, 0xd0, 0x72, 0xac, 0x8d, 0xc8, 0x46, 0x79, 0x36, 0xea,
+	0x9a, 0xbd, 0x5e, 0xab, 0xd9, 0x36, 0xb4, 0x02, 0x02, 0x58, 0x96, 0x9a, 0x25, 0xd6, 0x32, 0x70,
+	0xa8, 0x14, 0x14, 0x0f, 0xfe, 0x96, 0x83, 0x2a, 0x8f, 0xa1, 0x91, 0xfe, 0xa9, 0x88, 0xfe, 0x9a,
+	0x83, 0xcd, 0x5b, 0xa6, 0x89, 0x0e, 0xe6, 0x3e, 0x7a, 0xe6, 0xe6, 0x7e, 0xe7, 0xe5, 0x9d, 0x30,
+	0x62, 0xee, 0xfa, 0x93, 0x3f, 0x7c, 0xf3, 0x9f, 0x3f, 0xe7, 0x6b, 0xfa, 0x66, 0xf6, 0x97, 0x67,
+	0xfc, 0xa5, 0x5c, 0x61, 0xe4, 0xcb, 0xdc, 0x67, 0xcd, 0x04, 0x76, 0x1c, 0x3a, 0x9a, 0xc3, 0xdc,
+	0xdc, 0x9c, 0x9d, 0x4e, 0x37, 0xa2, 0x09, 0xed, 0xe6, 0x7e, 0xf5, 0x5a, 0x9a, 0xbb, 0x94, 0x9d,
+	0xe9, 0x75, 0x1a, 0xb9, 0xfb, 0x2e, 0x09, 0xf8, 0xff, 0x92, 0xfb, 0x42, 0x65, 0x87, 0x5e, 0x7c,
+	0xf3, 0xdf, 0xd0, 0x57, 0xe2, 0xeb, 0xbf, 0xb9, 0xdc, 0xe5, 0x32, 0xb7, 0x7d, 0xf9, 0xbf, 0x00,
+	0x00, 0x00, 0xff, 0xff, 0x83, 0x58, 0x40, 0x64, 0x9c, 0x15, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/vision/v1/image_annotator.proto b/googleapis/cloud/vision/v1/image_annotator.proto
deleted file mode 100644
index 77948180668fc0b75dac8552afe3870687b8675a..0000000000000000000000000000000000000000
--- a/googleapis/cloud/vision/v1/image_annotator.proto
+++ /dev/null
@@ -1,500 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.vision.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/cloud/vision/v1/geometry.proto"; // from google/cloud/vision/v1/geometry.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-import "google.golang.org/genproto/googleapis/type/color/color.proto"; // from google/type/color.proto
-import "google.golang.org/genproto/googleapis/type/latlng/latlng.proto"; // from google/type/latlng.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "ImageAnnotatorProto";
-option java_package = "com.google.cloud.vision.v1";
-
-option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1";
-
-// Service that performs Google Cloud Vision API detection tasks, such as face,
-// landmark, logo, label, and text detection, over client images, and returns
-// detected entities from the images.
-service ImageAnnotator {
-  // Run image detection and annotation for a batch of images.
-  rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) {
-    option (google.api.http) = { post: "/v1/images:annotate" body: "*" };
-  }
-}
-
-// The <em>Feature</em> indicates what type of image detection task to perform.
-// Users describe the type of Google Cloud Vision API tasks to perform over
-// images by using <em>Feature</em>s. Features encode the Cloud Vision API
-// vertical to operate on and the number of top-scoring results to return.
-message Feature {
-  // Type of image feature.
-  enum Type {
-    // Unspecified feature type.
-    TYPE_UNSPECIFIED = 0;
-
-    // Run face detection.
-    FACE_DETECTION = 1;
-
-    // Run landmark detection.
-    LANDMARK_DETECTION = 2;
-
-    // Run logo detection.
-    LOGO_DETECTION = 3;
-
-    // Run label detection.
-    LABEL_DETECTION = 4;
-
-    // Run OCR.
-    TEXT_DETECTION = 5;
-
-    // Run various computer vision models to compute image safe-search properties.
-    SAFE_SEARCH_DETECTION = 6;
-
-    // Compute a set of properties about the image (such as the image's dominant colors).
-    IMAGE_PROPERTIES = 7;
-  }
-
-  // The feature type.
-  Type type = 1;
-
-  // Maximum number of results of this type.
-  int32 max_results = 2;
-}
-
-// External image source (Google Cloud Storage image location).
-message ImageSource {
-  // Google Cloud Storage image URI. It must be in the following form:
-  // `gs://bucket_name/object_name`. For more
-  // details, please see: https://cloud.google.com/storage/docs/reference-uris.
-  // NOTE: Cloud Storage object versioning is not supported!
-  string gcs_image_uri = 1;
-}
-
-// Client image to perform Google Cloud Vision API tasks over.
-message Image {
-  // Image content, represented as a stream of bytes.
-  // Note: as with all `bytes` fields, protobuffers use a pure binary
-  // representation, whereas JSON representations use base64.
-  bytes content = 1;
-
-  // Google Cloud Storage image location. If both 'content' and 'source'
-  // are filled for an image, 'content' takes precedence and it will be
-  // used for performing the image annotation request.
-  ImageSource source = 2;
-}
-
-// A face annotation object contains the results of face detection.
-message FaceAnnotation {
-  // A face-specific landmark (for example, a face feature).
-  // Landmark positions may fall outside the bounds of the image
-  // when the face is near one or more edges of the image.
-  // Therefore it is NOT guaranteed that 0 <= x < width or 0 <= y < height.
-  message Landmark {
-    // Face landmark (feature) type.
-    // Left and right are defined from the vantage of the viewer of the image,
-    // without considering mirror projections typical of photos. So, LEFT_EYE,
-    // typically is the person's right eye.
-    enum Type {
-      // Unknown face landmark detected. Should not be filled.
-      UNKNOWN_LANDMARK = 0;
-
-      // Left eye.
-      LEFT_EYE = 1;
-
-      // Right eye.
-      RIGHT_EYE = 2;
-
-      // Left of left eyebrow.
-      LEFT_OF_LEFT_EYEBROW = 3;
-
-      // Right of left eyebrow.
-      RIGHT_OF_LEFT_EYEBROW = 4;
-
-      // Left of right eyebrow.
-      LEFT_OF_RIGHT_EYEBROW = 5;
-
-      // Right of right eyebrow.
-      RIGHT_OF_RIGHT_EYEBROW = 6;
-
-      // Midpoint between eyes.
-      MIDPOINT_BETWEEN_EYES = 7;
-
-      // Nose tip.
-      NOSE_TIP = 8;
-
-      // Upper lip.
-      UPPER_LIP = 9;
-
-      // Lower lip.
-      LOWER_LIP = 10;
-
-      // Mouth left.
-      MOUTH_LEFT = 11;
-
-      // Mouth right.
-      MOUTH_RIGHT = 12;
-
-      // Mouth center.
-      MOUTH_CENTER = 13;
-
-      // Nose, bottom right.
-      NOSE_BOTTOM_RIGHT = 14;
-
-      // Nose, bottom left.
-      NOSE_BOTTOM_LEFT = 15;
-
-      // Nose, bottom center.
-      NOSE_BOTTOM_CENTER = 16;
-
-      // Left eye, top boundary.
-      LEFT_EYE_TOP_BOUNDARY = 17;
-
-      // Left eye, right corner.
-      LEFT_EYE_RIGHT_CORNER = 18;
-
-      // Left eye, bottom boundary.
-      LEFT_EYE_BOTTOM_BOUNDARY = 19;
-
-      // Left eye, left corner.
-      LEFT_EYE_LEFT_CORNER = 20;
-
-      // Right eye, top boundary.
-      RIGHT_EYE_TOP_BOUNDARY = 21;
-
-      // Right eye, right corner.
-      RIGHT_EYE_RIGHT_CORNER = 22;
-
-      // Right eye, bottom boundary.
-      RIGHT_EYE_BOTTOM_BOUNDARY = 23;
-
-      // Right eye, left corner.
-      RIGHT_EYE_LEFT_CORNER = 24;
-
-      // Left eyebrow, upper midpoint.
-      LEFT_EYEBROW_UPPER_MIDPOINT = 25;
-
-      // Right eyebrow, upper midpoint.
-      RIGHT_EYEBROW_UPPER_MIDPOINT = 26;
-
-      // Left ear tragion.
-      LEFT_EAR_TRAGION = 27;
-
-      // Right ear tragion.
-      RIGHT_EAR_TRAGION = 28;
-
-      // Left eye pupil.
-      LEFT_EYE_PUPIL = 29;
-
-      // Right eye pupil.
-      RIGHT_EYE_PUPIL = 30;
-
-      // Forehead glabella.
-      FOREHEAD_GLABELLA = 31;
-
-      // Chin gnathion.
-      CHIN_GNATHION = 32;
-
-      // Chin left gonion.
-      CHIN_LEFT_GONION = 33;
-
-      // Chin right gonion.
-      CHIN_RIGHT_GONION = 34;
-    }
-
-    // Face landmark type.
-    Type type = 3;
-
-    // Face landmark position.
-    Position position = 4;
-  }
-
-  // The bounding polygon around the face. The coordinates of the bounding box
-  // are in the original image's scale, as returned in ImageParams.
-  // The bounding box is computed to "frame" the face in accordance with human
-  // expectations. It is based on the landmarker results.
-  // Note that one or more x and/or y coordinates may not be generated in the
-  // BoundingPoly (the polygon will be unbounded) if only a partial face appears in
-  // the image to be annotated.
-  BoundingPoly bounding_poly = 1;
-
-  // This bounding polygon is tighter than the previous
-  // <code>boundingPoly</code>, and
-  // encloses only the skin part of the face. Typically, it is used to
-  // eliminate the face from any image analysis that detects the
-  // "amount of skin" visible in an image. It is not based on the
-  // landmarker results, only on the initial face detection, hence
-  // the <code>fd</code> (face detection) prefix.
-  BoundingPoly fd_bounding_poly = 2;
-
-  // Detected face landmarks.
-  repeated Landmark landmarks = 3;
-
-  // Roll angle. Indicates the amount of clockwise/anti-clockwise rotation of
-  // the
-  // face relative to the image vertical, about the axis perpendicular to the
-  // face. Range [-180,180].
-  float roll_angle = 4;
-
-  // Yaw angle. Indicates the leftward/rightward angle that the face is
-  // pointing, relative to the vertical plane perpendicular to the image. Range
-  // [-180,180].
-  float pan_angle = 5;
-
-  // Pitch angle. Indicates the upwards/downwards angle that the face is
-  // pointing
-  // relative to the image's horizontal plane. Range [-180,180].
-  float tilt_angle = 6;
-
-  // Detection confidence. Range [0, 1].
-  float detection_confidence = 7;
-
-  // Face landmarking confidence. Range [0, 1].
-  float landmarking_confidence = 8;
-
-  // Joy likelihood.
-  Likelihood joy_likelihood = 9;
-
-  // Sorrow likelihood.
-  Likelihood sorrow_likelihood = 10;
-
-  // Anger likelihood.
-  Likelihood anger_likelihood = 11;
-
-  // Surprise likelihood.
-  Likelihood surprise_likelihood = 12;
-
-  // Under-exposed likelihood.
-  Likelihood under_exposed_likelihood = 13;
-
-  // Blurred likelihood.
-  Likelihood blurred_likelihood = 14;
-
-  // Headwear likelihood.
-  Likelihood headwear_likelihood = 15;
-}
-
-// Detected entity location information.
-message LocationInfo {
-  // Lat - long location coordinates.
-  google.type.LatLng lat_lng = 1;
-}
-
-// Arbitrary name/value pair.
-message Property {
-  // Name of the property.
-  string name = 1;
-
-  // Value of the property.
-  string value = 2;
-}
-
-// Set of detected entity features.
-message EntityAnnotation {
-  // Opaque entity ID. Some IDs might be available in Knowledge Graph(KG).
-  // For more details on KG please see:
-  // https://developers.google.com/knowledge-graph/
-  string mid = 1;
-
-  // The language code for the locale in which the entity textual
-  // <code>description</code> (next field) is expressed.
-  string locale = 2;
-
-  // Entity textual description, expressed in its <code>locale</code> language.
-  string description = 3;
-
-  // Overall score of the result. Range [0, 1].
-  float score = 4;
-
-  // The accuracy of the entity detection in an image.
-  // For example, for an image containing 'Eiffel Tower,' this field represents
-  // the confidence that there is a tower in the query image. Range [0, 1].
-  float confidence = 5;
-
-  // The relevancy of the ICA (Image Content Annotation) label to the
-  // image. For example, the relevancy of 'tower' to an image containing
-  // 'Eiffel Tower' is likely higher than an image containing a distant towering
-  // building, though the confidence that there is a tower may be the same.
-  // Range [0, 1].
-  float topicality = 6;
-
-  // Image region to which this entity belongs. Not filled currently
-  // for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s
-  // are produced for the entire text detected in an image region, followed by
-  // `boundingPoly`s for each word within the detected text.
-  BoundingPoly bounding_poly = 7;
-
-  // The location information for the detected entity. Multiple
-  // <code>LocationInfo</code> elements can be present since one location may
-  // indicate the location of the scene in the query image, and another the
-  // location of the place where the query image was taken. Location information
-  // is usually present for landmarks.
-  repeated LocationInfo locations = 8;
-
-  // Some entities can have additional optional <code>Property</code> fields.
-  // For example a different kind of score or string that qualifies the entity.
-  repeated Property properties = 9;
-}
-
-// Set of features pertaining to the image, computed by various computer vision
-// methods over safe-search verticals (for example, adult, spoof, medical,
-// violence).
-message SafeSearchAnnotation {
-  // Represents the adult contents likelihood for the image.
-  Likelihood adult = 1;
-
-  // Spoof likelihood. The likelihood that an obvious modification
-  // was made to the image's canonical version to make it appear
-  // funny or offensive.
-  Likelihood spoof = 2;
-
-  // Likelihood this is a medical image.
-  Likelihood medical = 3;
-
-  // Violence likelihood.
-  Likelihood violence = 4;
-}
-
-// Rectangle determined by min and max LatLng pairs.
-message LatLongRect {
-  // Min lat/long pair.
-  google.type.LatLng min_lat_lng = 1;
-
-  // Max lat/long pair.
-  google.type.LatLng max_lat_lng = 2;
-}
-
-// Color information consists of RGB channels, score and fraction of
-// image the color occupies in the image.
-message ColorInfo {
-  // RGB components of the color.
-  google.type.Color color = 1;
-
-  // Image-specific score for this color. Value in range [0, 1].
-  float score = 2;
-
-  // Stores the fraction of pixels the color occupies in the image.
-  // Value in range [0, 1].
-  float pixel_fraction = 3;
-}
-
-// Set of dominant colors and their corresponding scores.
-message DominantColorsAnnotation {
-  // RGB color values, with their score and pixel fraction.
-  repeated ColorInfo colors = 1;
-}
-
-// Stores image properties (e.g. dominant colors).
-message ImageProperties {
-  // If present, dominant colors completed successfully.
-  DominantColorsAnnotation dominant_colors = 1;
-}
-
-// Image context.
-message ImageContext {
-  // Lat/long rectangle that specifies the location of the image.
-  LatLongRect lat_long_rect = 1;
-
-  // List of languages to use for TEXT_DETECTION. In most cases, an empty value
-  // yields the best results since it enables automatic language detection. For
-  // languages based on the Latin alphabet, setting `language_hints` is not
-  // needed. In rare cases, when the language of the text in the image is known,
-  // setting a hint will help get better results (although it will be a
-  // significant hindrance if the hint is wrong). Text detection returns an
-  // error if one or more of the specified languages is not one of the
-  // [supported
-  // languages](/translate/v2/translate-reference#supported_languages).
-  repeated string language_hints = 2;
-}
-
-// Request for performing Google Cloud Vision API tasks over a user-provided
-// image, with user-requested features.
-message AnnotateImageRequest {
-  // The image to be processed.
-  Image image = 1;
-
-  // Requested features.
-  repeated Feature features = 2;
-
-  // Additional context that may accompany the image.
-  ImageContext image_context = 3;
-}
-
-// Response to an image annotation request.
-message AnnotateImageResponse {
-  // If present, face detection completed successfully.
-  repeated FaceAnnotation face_annotations = 1;
-
-  // If present, landmark detection completed successfully.
-  repeated EntityAnnotation landmark_annotations = 2;
-
-  // If present, logo detection completed successfully.
-  repeated EntityAnnotation logo_annotations = 3;
-
-  // If present, label detection completed successfully.
-  repeated EntityAnnotation label_annotations = 4;
-
-  // If present, text (OCR) detection completed successfully.
-  repeated EntityAnnotation text_annotations = 5;
-
-  // If present, safe-search annotation completed successfully.
-  SafeSearchAnnotation safe_search_annotation = 6;
-
-  // If present, image properties were extracted successfully.
-  ImageProperties image_properties_annotation = 8;
-
-  // If set, represents the error message for the operation.
-  // Note that filled-in mage annotations are guaranteed to be
-  // correct, even when <code>error</code> is non-empty.
-  google.rpc.Status error = 9;
-}
-
-// Multiple image annotation requests are batched into a single service call.
-message BatchAnnotateImagesRequest {
-  // Individual image annotation requests for this batch.
-  repeated AnnotateImageRequest requests = 1;
-}
-
-// Response to a batch image annotation request.
-message BatchAnnotateImagesResponse {
-  // Individual responses to image annotation requests within the batch.
-  repeated AnnotateImageResponse responses = 1;
-}
-
-// A bucketized representation of likelihood meant to give our clients highly
-// stable results across model upgrades.
-enum Likelihood {
-  // Unknown likelihood.
-  UNKNOWN = 0;
-
-  // The image very unlikely belongs to the vertical specified.
-  VERY_UNLIKELY = 1;
-
-  // The image unlikely belongs to the vertical specified.
-  UNLIKELY = 2;
-
-  // The image possibly belongs to the vertical specified.
-  POSSIBLE = 3;
-
-  // The image likely belongs to the vertical specified.
-  LIKELY = 4;
-
-  // The image very likely belongs to the vertical specified.
-  VERY_LIKELY = 5;
-}
diff --git a/googleapis/container/v1/cluster_service.pb.go b/googleapis/container/v1/cluster_service.pb.go
index cd5e990ef93ece35e62c5c28b5681b194b1119ea..2089bcdfcaf9b317c92e0a0ee7260d0e84125c1e 100644
--- a/googleapis/container/v1/cluster_service.pb.go
+++ b/googleapis/container/v1/cluster_service.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/container/v1/cluster_service.proto
+// source: google/container/v1/cluster_service.proto
 // DO NOT EDIT!
 
 /*
-Package google_container_v1 is a generated protocol buffer package.
+Package container is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/container/v1/cluster_service.proto
+	google/container/v1/cluster_service.proto
 
 It has these top-level messages:
 	NodeConfig
@@ -29,12 +29,12 @@ It has these top-level messages:
 	GetServerConfigRequest
 	ServerConfig
 */
-package google_container_v1 // import "google.golang.org/genproto/googleapis/container/v1"
+package container
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -228,6 +228,27 @@ func (m *NodeConfig) String() string            { return proto.CompactTextString
 func (*NodeConfig) ProtoMessage()               {}
 func (*NodeConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *NodeConfig) GetMachineType() string {
+	if m != nil {
+		return m.MachineType
+	}
+	return ""
+}
+
+func (m *NodeConfig) GetDiskSizeGb() int32 {
+	if m != nil {
+		return m.DiskSizeGb
+	}
+	return 0
+}
+
+func (m *NodeConfig) GetOauthScopes() []string {
+	if m != nil {
+		return m.OauthScopes
+	}
+	return nil
+}
+
 func (m *NodeConfig) GetMetadata() map[string]string {
 	if m != nil {
 		return m.Metadata
@@ -261,6 +282,41 @@ func (m *MasterAuth) String() string            { return proto.CompactTextString
 func (*MasterAuth) ProtoMessage()               {}
 func (*MasterAuth) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *MasterAuth) GetUsername() string {
+	if m != nil {
+		return m.Username
+	}
+	return ""
+}
+
+func (m *MasterAuth) GetPassword() string {
+	if m != nil {
+		return m.Password
+	}
+	return ""
+}
+
+func (m *MasterAuth) GetClusterCaCertificate() string {
+	if m != nil {
+		return m.ClusterCaCertificate
+	}
+	return ""
+}
+
+func (m *MasterAuth) GetClientCertificate() string {
+	if m != nil {
+		return m.ClientCertificate
+	}
+	return ""
+}
+
+func (m *MasterAuth) GetClientKey() string {
+	if m != nil {
+		return m.ClientKey
+	}
+	return ""
+}
+
 // Configuration for the addons that can be automatically spun up in the
 // cluster, enabling additional functionality.
 type AddonsConfig struct {
@@ -306,6 +362,13 @@ func (m *HttpLoadBalancing) String() string            { return proto.CompactTex
 func (*HttpLoadBalancing) ProtoMessage()               {}
 func (*HttpLoadBalancing) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *HttpLoadBalancing) GetDisabled() bool {
+	if m != nil {
+		return m.Disabled
+	}
+	return false
+}
+
 // Configuration options for the horizontal pod autoscaling feature, which
 // increases or decreases the number of replica pods a replication controller
 // has based on the resource usage of the existing pods.
@@ -321,6 +384,13 @@ func (m *HorizontalPodAutoscaling) String() string            { return proto.Com
 func (*HorizontalPodAutoscaling) ProtoMessage()               {}
 func (*HorizontalPodAutoscaling) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *HorizontalPodAutoscaling) GetDisabled() bool {
+	if m != nil {
+		return m.Disabled
+	}
+	return false
+}
+
 // A Google Container Engine cluster.
 type Cluster struct {
 	// The name of this cluster. The name must be unique within this project
@@ -439,6 +509,27 @@ func (m *Cluster) String() string            { return proto.CompactTextString(m)
 func (*Cluster) ProtoMessage()               {}
 func (*Cluster) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *Cluster) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Cluster) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *Cluster) GetInitialNodeCount() int32 {
+	if m != nil {
+		return m.InitialNodeCount
+	}
+	return 0
+}
+
 func (m *Cluster) GetNodeConfig() *NodeConfig {
 	if m != nil {
 		return m.NodeConfig
@@ -453,6 +544,34 @@ func (m *Cluster) GetMasterAuth() *MasterAuth {
 	return nil
 }
 
+func (m *Cluster) GetLoggingService() string {
+	if m != nil {
+		return m.LoggingService
+	}
+	return ""
+}
+
+func (m *Cluster) GetMonitoringService() string {
+	if m != nil {
+		return m.MonitoringService
+	}
+	return ""
+}
+
+func (m *Cluster) GetNetwork() string {
+	if m != nil {
+		return m.Network
+	}
+	return ""
+}
+
+func (m *Cluster) GetClusterIpv4Cidr() string {
+	if m != nil {
+		return m.ClusterIpv4Cidr
+	}
+	return ""
+}
+
 func (m *Cluster) GetAddonsConfig() *AddonsConfig {
 	if m != nil {
 		return m.AddonsConfig
@@ -460,6 +579,104 @@ func (m *Cluster) GetAddonsConfig() *AddonsConfig {
 	return nil
 }
 
+func (m *Cluster) GetSubnetwork() string {
+	if m != nil {
+		return m.Subnetwork
+	}
+	return ""
+}
+
+func (m *Cluster) GetSelfLink() string {
+	if m != nil {
+		return m.SelfLink
+	}
+	return ""
+}
+
+func (m *Cluster) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *Cluster) GetEndpoint() string {
+	if m != nil {
+		return m.Endpoint
+	}
+	return ""
+}
+
+func (m *Cluster) GetInitialClusterVersion() string {
+	if m != nil {
+		return m.InitialClusterVersion
+	}
+	return ""
+}
+
+func (m *Cluster) GetCurrentMasterVersion() string {
+	if m != nil {
+		return m.CurrentMasterVersion
+	}
+	return ""
+}
+
+func (m *Cluster) GetCurrentNodeVersion() string {
+	if m != nil {
+		return m.CurrentNodeVersion
+	}
+	return ""
+}
+
+func (m *Cluster) GetCreateTime() string {
+	if m != nil {
+		return m.CreateTime
+	}
+	return ""
+}
+
+func (m *Cluster) GetStatus() Cluster_Status {
+	if m != nil {
+		return m.Status
+	}
+	return Cluster_STATUS_UNSPECIFIED
+}
+
+func (m *Cluster) GetStatusMessage() string {
+	if m != nil {
+		return m.StatusMessage
+	}
+	return ""
+}
+
+func (m *Cluster) GetNodeIpv4CidrSize() int32 {
+	if m != nil {
+		return m.NodeIpv4CidrSize
+	}
+	return 0
+}
+
+func (m *Cluster) GetServicesIpv4Cidr() string {
+	if m != nil {
+		return m.ServicesIpv4Cidr
+	}
+	return ""
+}
+
+func (m *Cluster) GetInstanceGroupUrls() []string {
+	if m != nil {
+		return m.InstanceGroupUrls
+	}
+	return nil
+}
+
+func (m *Cluster) GetCurrentNodeCount() int32 {
+	if m != nil {
+		return m.CurrentNodeCount
+	}
+	return 0
+}
+
 // ClusterUpdate describes an update to the cluster. Exactly one update can
 // be applied to a cluster with each request, so at most one field can be
 // provided.
@@ -487,6 +704,20 @@ func (m *ClusterUpdate) String() string            { return proto.CompactTextStr
 func (*ClusterUpdate) ProtoMessage()               {}
 func (*ClusterUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *ClusterUpdate) GetDesiredNodeVersion() string {
+	if m != nil {
+		return m.DesiredNodeVersion
+	}
+	return ""
+}
+
+func (m *ClusterUpdate) GetDesiredMonitoringService() string {
+	if m != nil {
+		return m.DesiredMonitoringService
+	}
+	return ""
+}
+
 func (m *ClusterUpdate) GetDesiredAddonsConfig() *AddonsConfig {
 	if m != nil {
 		return m.DesiredAddonsConfig
@@ -494,6 +725,13 @@ func (m *ClusterUpdate) GetDesiredAddonsConfig() *AddonsConfig {
 	return nil
 }
 
+func (m *ClusterUpdate) GetDesiredMasterVersion() string {
+	if m != nil {
+		return m.DesiredMasterVersion
+	}
+	return ""
+}
+
 // This operation resource represents operations that may have happened or are
 // happening on the cluster. All fields are output only.
 type Operation struct {
@@ -522,6 +760,62 @@ func (m *Operation) String() string            { return proto.CompactTextString(
 func (*Operation) ProtoMessage()               {}
 func (*Operation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *Operation) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Operation) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *Operation) GetOperationType() Operation_Type {
+	if m != nil {
+		return m.OperationType
+	}
+	return Operation_TYPE_UNSPECIFIED
+}
+
+func (m *Operation) GetStatus() Operation_Status {
+	if m != nil {
+		return m.Status
+	}
+	return Operation_STATUS_UNSPECIFIED
+}
+
+func (m *Operation) GetDetail() string {
+	if m != nil {
+		return m.Detail
+	}
+	return ""
+}
+
+func (m *Operation) GetStatusMessage() string {
+	if m != nil {
+		return m.StatusMessage
+	}
+	return ""
+}
+
+func (m *Operation) GetSelfLink() string {
+	if m != nil {
+		return m.SelfLink
+	}
+	return ""
+}
+
+func (m *Operation) GetTargetLink() string {
+	if m != nil {
+		return m.TargetLink
+	}
+	return ""
+}
+
 // CreateClusterRequest creates a cluster.
 type CreateClusterRequest struct {
 	// The Google Developers Console [project ID or project
@@ -540,6 +834,20 @@ func (m *CreateClusterRequest) String() string            { return proto.Compact
 func (*CreateClusterRequest) ProtoMessage()               {}
 func (*CreateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *CreateClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *CreateClusterRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
 func (m *CreateClusterRequest) GetCluster() *Cluster {
 	if m != nil {
 		return m.Cluster
@@ -565,6 +873,27 @@ func (m *GetClusterRequest) String() string            { return proto.CompactTex
 func (*GetClusterRequest) ProtoMessage()               {}
 func (*GetClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *GetClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetClusterRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *GetClusterRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
 // UpdateClusterRequest updates the settings of a cluster.
 type UpdateClusterRequest struct {
 	// The Google Developers Console [project ID or project
@@ -585,6 +914,27 @@ func (m *UpdateClusterRequest) String() string            { return proto.Compact
 func (*UpdateClusterRequest) ProtoMessage()               {}
 func (*UpdateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *UpdateClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *UpdateClusterRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *UpdateClusterRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
 func (m *UpdateClusterRequest) GetUpdate() *ClusterUpdate {
 	if m != nil {
 		return m.Update
@@ -610,6 +960,27 @@ func (m *DeleteClusterRequest) String() string            { return proto.Compact
 func (*DeleteClusterRequest) ProtoMessage()               {}
 func (*DeleteClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *DeleteClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *DeleteClusterRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *DeleteClusterRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
 // ListClustersRequest lists clusters.
 type ListClustersRequest struct {
 	// The Google Developers Console [project ID or project
@@ -626,6 +997,20 @@ func (m *ListClustersRequest) String() string            { return proto.CompactT
 func (*ListClustersRequest) ProtoMessage()               {}
 func (*ListClustersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *ListClustersRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListClustersRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
 // ListClustersResponse is the result of ListClustersRequest.
 type ListClustersResponse struct {
 	// A list of clusters in the project in the specified zone, or
@@ -648,6 +1033,13 @@ func (m *ListClustersResponse) GetClusters() []*Cluster {
 	return nil
 }
 
+func (m *ListClustersResponse) GetMissingZones() []string {
+	if m != nil {
+		return m.MissingZones
+	}
+	return nil
+}
+
 // GetOperationRequest gets a single operation.
 type GetOperationRequest struct {
 	// The Google Developers Console [project ID or project
@@ -666,6 +1058,27 @@ func (m *GetOperationRequest) String() string            { return proto.CompactT
 func (*GetOperationRequest) ProtoMessage()               {}
 func (*GetOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
 
+func (m *GetOperationRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetOperationRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *GetOperationRequest) GetOperationId() string {
+	if m != nil {
+		return m.OperationId
+	}
+	return ""
+}
+
 // ListOperationsRequest lists operations.
 type ListOperationsRequest struct {
 	// The Google Developers Console [project ID or project
@@ -681,6 +1094,20 @@ func (m *ListOperationsRequest) String() string            { return proto.Compac
 func (*ListOperationsRequest) ProtoMessage()               {}
 func (*ListOperationsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
 
+func (m *ListOperationsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListOperationsRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
 // ListOperationsResponse is the result of ListOperationsRequest.
 type ListOperationsResponse struct {
 	// A list of operations in the project in the specified zone.
@@ -702,6 +1129,13 @@ func (m *ListOperationsResponse) GetOperations() []*Operation {
 	return nil
 }
 
+func (m *ListOperationsResponse) GetMissingZones() []string {
+	if m != nil {
+		return m.MissingZones
+	}
+	return nil
+}
+
 // Gets the current Container Engine service configuration.
 type GetServerConfigRequest struct {
 	// The Google Developers Console [project ID or project
@@ -717,6 +1151,20 @@ func (m *GetServerConfigRequest) String() string            { return proto.Compa
 func (*GetServerConfigRequest) ProtoMessage()               {}
 func (*GetServerConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
 
+func (m *GetServerConfigRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetServerConfigRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
 // Container Engine service configuration.
 type ServerConfig struct {
 	// Version of Kubernetes the service deploys by default.
@@ -730,6 +1178,20 @@ func (m *ServerConfig) String() string            { return proto.CompactTextStri
 func (*ServerConfig) ProtoMessage()               {}
 func (*ServerConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
 
+func (m *ServerConfig) GetDefaultClusterVersion() string {
+	if m != nil {
+		return m.DefaultClusterVersion
+	}
+	return ""
+}
+
+func (m *ServerConfig) GetValidNodeVersions() []string {
+	if m != nil {
+		return m.ValidNodeVersions
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*NodeConfig)(nil), "google.container.v1.NodeConfig")
 	proto.RegisterType((*MasterAuth)(nil), "google.container.v1.MasterAuth")
@@ -1111,132 +1573,130 @@ var _ClusterManager_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/container/v1/cluster_service.proto",
+	Metadata: "google/container/v1/cluster_service.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/container/v1/cluster_service.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/container/v1/cluster_service.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1889 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x6f, 0x23, 0x49,
-	0x15, 0xa7, 0x13, 0xe7, 0xdf, 0xb3, 0x9d, 0x71, 0x2a, 0x99, 0x6c, 0xcb, 0xc0, 0x4e, 0xb6, 0x57,
-	0x0b, 0x61, 0x96, 0xb1, 0x27, 0x99, 0x30, 0x2c, 0x33, 0xcb, 0x6a, 0x32, 0xb6, 0x37, 0xf1, 0x6e,
-	0x12, 0x5b, 0xed, 0x64, 0x24, 0xb8, 0xb4, 0x2a, 0xee, 0x8a, 0x5d, 0x9b, 0x76, 0x57, 0xd3, 0x55,
-	0xf6, 0x2a, 0x33, 0xca, 0x01, 0xce, 0x48, 0x1c, 0x90, 0x10, 0x48, 0x08, 0x21, 0xd8, 0xef, 0xc1,
-	0x81, 0x0b, 0xf7, 0xfd, 0x0a, 0x7c, 0x0c, 0x0e, 0xa8, 0xaa, 0xab, 0xdb, 0xed, 0xa4, 0xf3, 0x67,
-	0x36, 0x9a, 0x53, 0x5c, 0xef, 0x5f, 0xbd, 0x7a, 0xf5, 0x7b, 0xbf, 0x57, 0x1d, 0xd8, 0xed, 0x31,
-	0xd6, 0xf3, 0x48, 0xa5, 0xc7, 0x3c, 0xec, 0xf7, 0x2a, 0x2c, 0xec, 0x55, 0x7b, 0xc4, 0x0f, 0x42,
-	0x26, 0x58, 0x35, 0x52, 0xe1, 0x80, 0xf2, 0x6a, 0x97, 0xf9, 0x02, 0x53, 0x9f, 0x84, 0xd5, 0xd1,
-	0x46, 0xb5, 0xeb, 0x0d, 0xb9, 0x20, 0xa1, 0xc3, 0x49, 0x38, 0xa2, 0x5d, 0x52, 0x51, 0xd6, 0x68,
-	0x59, 0x47, 0x4a, 0x4c, 0x2b, 0xa3, 0x8d, 0x72, 0xf3, 0x76, 0xe1, 0x71, 0x40, 0xab, 0x3a, 0x5a,
-	0x97, 0xf9, 0x27, 0xb4, 0x57, 0xc5, 0xbe, 0xcf, 0x04, 0x16, 0x94, 0xf9, 0x3c, 0x8a, 0x6f, 0xfd,
-	0xcf, 0x00, 0x38, 0x60, 0x2e, 0xa9, 0x29, 0x03, 0xf4, 0x01, 0x14, 0x06, 0xb8, 0xdb, 0xa7, 0x3e,
-	0x71, 0xc4, 0x59, 0x40, 0x4c, 0x63, 0xcd, 0x58, 0x5f, 0xb0, 0xf3, 0x5a, 0x76, 0x78, 0x16, 0x10,
-	0xb4, 0x06, 0x05, 0x97, 0xf2, 0x53, 0x87, 0xd3, 0xd7, 0xc4, 0xe9, 0x1d, 0x9b, 0x53, 0x6b, 0xc6,
-	0xfa, 0x8c, 0x0d, 0x52, 0xd6, 0xa1, 0xaf, 0xc9, 0xce, 0xb1, 0x0c, 0xc2, 0xf0, 0x50, 0xf4, 0x1d,
-	0xde, 0x65, 0x01, 0xe1, 0xe6, 0xf4, 0xda, 0xb4, 0x0c, 0xa2, 0x64, 0x1d, 0x25, 0x42, 0x4d, 0x98,
-	0x1f, 0x10, 0x81, 0x5d, 0x2c, 0xb0, 0x99, 0x5b, 0x9b, 0x5e, 0xcf, 0x6f, 0x3e, 0xaa, 0x64, 0x9c,
-	0xb4, 0x32, 0x4e, 0xad, 0xb2, 0xaf, 0xed, 0x1b, 0xbe, 0x08, 0xcf, 0xec, 0xc4, 0xbd, 0xfc, 0x1c,
-	0x8a, 0x13, 0x2a, 0x54, 0x82, 0xe9, 0x53, 0x72, 0xa6, 0x53, 0x97, 0x3f, 0xd1, 0x0a, 0xcc, 0x8c,
-	0xb0, 0x37, 0x24, 0x2a, 0xd7, 0x05, 0x3b, 0x5a, 0x3c, 0x9b, 0xfa, 0xc4, 0xb0, 0xfe, 0x63, 0x00,
-	0xec, 0x63, 0x59, 0xf7, 0xed, 0xa1, 0xe8, 0xa3, 0x32, 0xcc, 0x0f, 0x39, 0x09, 0x7d, 0x3c, 0x88,
-	0x8f, 0x9e, 0xac, 0xa5, 0x2e, 0xc0, 0x9c, 0x7f, 0xcd, 0x42, 0x57, 0xc7, 0x49, 0xd6, 0x68, 0x0b,
-	0x56, 0xe3, 0xeb, 0xeb, 0x62, 0xa7, 0x4b, 0x42, 0x41, 0x4f, 0x68, 0x17, 0x0b, 0x62, 0xba, 0xca,
-	0x72, 0x45, 0x6b, 0x6b, 0xb8, 0x36, 0xd6, 0xa1, 0x47, 0x80, 0xba, 0x1e, 0x25, 0xbe, 0x98, 0xf0,
-	0x20, 0xca, 0x63, 0x29, 0xd2, 0xa4, 0xcd, 0x7f, 0x08, 0xa0, 0xcd, 0xe5, 0xf1, 0x4e, 0x94, 0xd9,
-	0x42, 0x24, 0xf9, 0x92, 0x9c, 0x59, 0xdf, 0x1a, 0x50, 0xd8, 0x76, 0x5d, 0xe6, 0x73, 0x7d, 0x97,
-	0xaf, 0x60, 0xb9, 0x2f, 0x44, 0xe0, 0x78, 0x0c, 0xbb, 0xce, 0x31, 0xf6, 0xb0, 0xdf, 0xa5, 0x7e,
-	0x4f, 0x9d, 0x2b, 0xbf, 0xf9, 0xa3, 0xcc, 0x72, 0xef, 0x0a, 0x11, 0xec, 0x31, 0xec, 0xbe, 0x8c,
-	0xad, 0xed, 0xa5, 0xfe, 0x45, 0x11, 0x3a, 0x85, 0x72, 0x9f, 0x85, 0xf4, 0xb5, 0x74, 0xf4, 0x9c,
-	0x80, 0xb9, 0x0e, 0x1e, 0x0a, 0xc6, 0xbb, 0xd8, 0x93, 0xe1, 0xa7, 0x54, 0xf8, 0xec, 0xdb, 0xdc,
-	0x4d, 0xdc, 0xda, 0xcc, 0xdd, 0x1e, 0x3b, 0xd9, 0x66, 0xff, 0x0a, 0x8d, 0x55, 0x85, 0xa5, 0x4b,
-	0x49, 0xc9, 0xab, 0x70, 0x29, 0xc7, 0xc7, 0x1e, 0x71, 0xd5, 0x71, 0xe6, 0xed, 0x64, 0x6d, 0x3d,
-	0x05, 0xf3, 0xaa, 0x6d, 0xae, 0xf5, 0xfb, 0xc3, 0x02, 0xcc, 0xd5, 0xa2, 0x5b, 0x42, 0x08, 0x72,
-	0x29, 0x08, 0xa8, 0xdf, 0x68, 0x0d, 0xf2, 0x2e, 0xe1, 0xdd, 0x90, 0x06, 0xb2, 0x7d, 0x34, 0x02,
-	0xd2, 0x22, 0xf4, 0x53, 0x40, 0xd4, 0xa7, 0x82, 0x62, 0xcf, 0xf1, 0x99, 0x4b, 0x9c, 0x2e, 0x1b,
-	0xfa, 0xc2, 0x9c, 0x56, 0xed, 0x51, 0xd2, 0x9a, 0x08, 0xcf, 0x43, 0x5f, 0xa0, 0x17, 0x90, 0xd7,
-	0x56, 0xf2, 0xb2, 0xcc, 0x9c, 0x2a, 0xdb, 0x83, 0x1b, 0x9a, 0xc0, 0x06, 0x7f, 0xdc, 0xab, 0x2f,
-	0x20, 0x3f, 0x50, 0xd0, 0x95, 0xf5, 0xef, 0x9b, 0x33, 0xd7, 0x44, 0x18, 0x43, 0xdc, 0x86, 0xc1,
-	0x18, 0xee, 0x3f, 0x86, 0x7b, 0x1e, 0xeb, 0xf5, 0xa8, 0xdf, 0x8b, 0x59, 0xc7, 0x9c, 0x55, 0xe7,
-	0x5a, 0xd4, 0xe2, 0x4e, 0x24, 0x95, 0x48, 0x1d, 0x30, 0x9f, 0x0a, 0x16, 0xa6, 0x6d, 0xe7, 0x22,
-	0xa4, 0x8e, 0x35, 0xb1, 0xb9, 0x09, 0x73, 0x3e, 0x11, 0x5f, 0xb3, 0xf0, 0xd4, 0x9c, 0x57, 0x36,
-	0xf1, 0x12, 0x3d, 0x84, 0xa5, 0xb8, 0x51, 0x68, 0x30, 0xda, 0x72, 0xba, 0xd4, 0x0d, 0xcd, 0x05,
-	0x65, 0x73, 0x4f, 0x2b, 0x9a, 0xc1, 0x68, 0xab, 0x46, 0xdd, 0x10, 0x7d, 0x0e, 0x45, 0xac, 0xf0,
-	0x1c, 0xd7, 0x08, 0xd4, 0x09, 0x3f, 0xc8, 0x3c, 0x61, 0x1a, 0xf9, 0x76, 0x01, 0xa7, 0xfb, 0xe0,
-	0x7d, 0x00, 0x3e, 0x3c, 0x8e, 0x13, 0xca, 0xab, 0xcd, 0x52, 0x12, 0xf4, 0x7d, 0x58, 0xe0, 0xc4,
-	0x3b, 0x71, 0x3c, 0xea, 0x9f, 0xea, 0x7e, 0x9d, 0x97, 0x82, 0x3d, 0xea, 0x9f, 0x4a, 0x28, 0xbc,
-	0x66, 0x7e, 0xdc, 0x95, 0xea, 0xb7, 0x84, 0x11, 0xf1, 0xdd, 0x80, 0x51, 0x5f, 0xe8, 0x36, 0x4c,
-	0xd6, 0xe8, 0x29, 0xbc, 0x17, 0x83, 0x20, 0x3e, 0xe8, 0x88, 0x84, 0x5c, 0x42, 0xa6, 0xa7, 0x4c,
-	0xef, 0x6b, 0xb5, 0xc6, 0xda, 0xab, 0x48, 0xa9, 0x18, 0x64, 0x18, 0x86, 0xb2, 0xbb, 0xf5, 0xa5,
-	0xc6, 0x6e, 0x7d, 0xcd, 0x20, 0x91, 0x36, 0xba, 0xc9, 0xd8, 0xeb, 0x31, 0xc4, 0xf2, 0x08, 0x72,
-	0xb1, 0x0f, 0x55, 0x3e, 0x48, 0xeb, 0x24, 0x7e, 0x62, 0x8f, 0x07, 0x90, 0xef, 0x86, 0x04, 0x0b,
-	0xe2, 0x08, 0x3a, 0x20, 0xe6, 0x57, 0x51, 0x35, 0x22, 0xd1, 0x21, 0x1d, 0x10, 0xf4, 0x1c, 0x66,
-	0xb9, 0xc0, 0x62, 0xc8, 0xcd, 0xd3, 0x35, 0x63, 0x7d, 0x71, 0xf3, 0xc3, 0xcc, 0x72, 0xeb, 0xec,
-	0x2b, 0x1d, 0x65, 0x6a, 0x6b, 0x17, 0xf4, 0x11, 0x2c, 0x46, 0xbf, 0x9c, 0x01, 0xe1, 0x1c, 0xf7,
-	0x88, 0xe9, 0xa9, 0x0d, 0x8a, 0x91, 0x74, 0x3f, 0x12, 0xa2, 0x47, 0xb0, 0xac, 0xd2, 0x4d, 0x20,
-	0xa0, 0x86, 0x89, 0x39, 0x88, 0x5a, 0x45, 0xaa, 0x62, 0x10, 0xc8, 0x89, 0x22, 0x1b, 0x4b, 0x43,
-	0x8e, 0xa7, 0x50, 0xe3, 0xab, 0xc8, 0xa5, 0x58, 0x93, 0xc0, 0xa6, 0x02, 0xcb, 0xd4, 0xe7, 0x02,
-	0xfb, 0x5d, 0xe2, 0xf4, 0x42, 0x36, 0x0c, 0x9c, 0x61, 0xe8, 0x71, 0x93, 0xa9, 0x21, 0xb4, 0x14,
-	0xab, 0x76, 0xa4, 0xe6, 0x28, 0xf4, 0xb8, 0x8c, 0x3e, 0x51, 0xc3, 0xa8, 0x6d, 0x83, 0x28, 0x97,
-	0x54, 0x05, 0x55, 0xdb, 0x5a, 0x14, 0x66, 0xa3, 0x33, 0xa3, 0x55, 0x40, 0x9d, 0xc3, 0xed, 0xc3,
-	0xa3, 0x8e, 0x73, 0x74, 0xd0, 0x69, 0x37, 0x6a, 0xcd, 0xcf, 0x9b, 0x8d, 0x7a, 0xe9, 0x7b, 0xa8,
-	0x04, 0x85, 0xb6, 0xdd, 0x7a, 0xd5, 0xec, 0x34, 0x5b, 0x07, 0xcd, 0x83, 0x9d, 0x92, 0x81, 0xf2,
-	0x30, 0x67, 0x1f, 0x1d, 0xa8, 0xc5, 0x14, 0xba, 0x07, 0x79, 0xbb, 0x51, 0x6b, 0x1d, 0xd4, 0x9a,
-	0x7b, 0x52, 0x30, 0x8d, 0x0a, 0x30, 0xdf, 0x39, 0x6c, 0xb5, 0xdb, 0x72, 0x95, 0x43, 0x0b, 0x30,
-	0xd3, 0xb0, 0xed, 0x96, 0x5d, 0x9a, 0xb1, 0x7e, 0x3f, 0x05, 0x45, 0x5d, 0xe7, 0xa3, 0xc0, 0x95,
-	0x13, 0xe0, 0x31, 0xac, 0xb8, 0x84, 0xd3, 0x90, 0xb8, 0x93, 0xd7, 0x9d, 0x8b, 0xae, 0x5b, 0xeb,
-	0xd2, 0xd7, 0xfd, 0x29, 0x94, 0x63, 0x8f, 0x8c, 0x06, 0x9e, 0x51, 0x7e, 0xa6, 0xb6, 0xd8, 0xbf,
-	0xd4, 0xc7, 0x47, 0x70, 0x3f, 0xf6, 0x9e, 0xec, 0xc4, 0xd9, 0xdb, 0x76, 0xe2, 0xb2, 0xf6, 0x9f,
-	0x18, 0x4c, 0x5b, 0xb0, 0x9a, 0x24, 0x35, 0x89, 0x75, 0x3d, 0x2d, 0xe3, 0x84, 0xd2, 0x58, 0xb7,
-	0xfe, 0x9d, 0x83, 0x85, 0x56, 0x40, 0x42, 0xf5, 0x7c, 0xc9, 0xa4, 0xe8, 0xb8, 0x57, 0xa7, 0x52,
-	0xbd, 0xfa, 0x05, 0x2c, 0xb2, 0xd8, 0x29, 0x7a, 0xd2, 0x4c, 0x5f, 0x03, 0xeb, 0x24, 0x7e, 0x45,
-	0x3e, 0x75, 0xec, 0x62, 0xe2, 0xaa, 0x5e, 0x3e, 0xbf, 0x4c, 0x5a, 0x23, 0xa7, 0x62, 0x7c, 0x74,
-	0x43, 0x8c, 0x0b, 0xcd, 0xb1, 0x0a, 0xb3, 0x2e, 0x11, 0x98, 0x7a, 0x9a, 0x14, 0xf5, 0x2a, 0xa3,
-	0x69, 0x66, 0xb2, 0x9a, 0x66, 0x82, 0xa6, 0x66, 0x2f, 0xd0, 0xd4, 0x03, 0xc8, 0x0b, 0x1c, 0xf6,
-	0x88, 0x88, 0xd4, 0x11, 0x33, 0x43, 0x24, 0x92, 0x06, 0x56, 0xfd, 0x46, 0xdc, 0xe6, 0x61, 0xae,
-	0xdd, 0x38, 0xa8, 0x67, 0x40, 0x76, 0x1e, 0x72, 0xf5, 0xd6, 0x41, 0xa3, 0x34, 0x6d, 0xfd, 0xcb,
-	0x80, 0x9c, 0x2a, 0xc5, 0x0a, 0x94, 0x0e, 0x7f, 0xd5, 0x6e, 0x5c, 0x08, 0x81, 0x60, 0xb1, 0x66,
-	0x37, 0xb6, 0x0f, 0x1b, 0x4e, 0x6d, 0xef, 0xa8, 0x73, 0xd8, 0xb0, 0x4b, 0x86, 0x94, 0xd5, 0x1b,
-	0x7b, 0x8d, 0x94, 0x6c, 0x4a, 0xca, 0x8e, 0xda, 0x3b, 0xf6, 0x76, 0xbd, 0xe1, 0xec, 0x6f, 0x2b,
-	0xd9, 0x34, 0x5a, 0x82, 0x62, 0x2c, 0x3b, 0x68, 0xd5, 0x1b, 0x9d, 0x52, 0x4e, 0x9a, 0xd9, 0x8d,
-	0xf6, 0x76, 0xd3, 0x4e, 0x5c, 0x67, 0x22, 0xd7, 0x7a, 0x7a, 0x8b, 0x59, 0x99, 0x8c, 0xde, 0x56,
-	0x7a, 0x3a, 0xed, 0x56, 0x6b, 0xaf, 0x34, 0x27, 0xa5, 0x7a, 0xe3, 0xb1, 0x74, 0xde, 0xfa, 0xad,
-	0x01, 0x2b, 0x35, 0xc5, 0x76, 0xba, 0xb5, 0x6c, 0xf2, 0x9b, 0x21, 0xe1, 0x42, 0xbe, 0xae, 0x82,
-	0x90, 0x7d, 0x45, 0xba, 0xc2, 0xa1, 0xae, 0x86, 0xd5, 0x82, 0x96, 0x34, 0xdd, 0x4c, 0x6c, 0x3d,
-	0x85, 0x39, 0xcd, 0xf1, 0x0a, 0x54, 0xf9, 0xcd, 0x1f, 0x5c, 0xc7, 0x95, 0x76, 0x6c, 0x6c, 0x11,
-	0x58, 0xda, 0x21, 0xe2, 0xee, 0xfb, 0xab, 0x07, 0xa1, 0x1e, 0xa6, 0xae, 0x4a, 0x41, 0x3d, 0x08,
-	0xa3, 0x29, 0xea, 0x5a, 0xdf, 0x18, 0xb0, 0x12, 0x11, 0xc7, 0xbb, 0xde, 0x0a, 0x3d, 0x83, 0xd9,
-	0xa1, 0xda, 0x49, 0xbf, 0x63, 0xac, 0xeb, 0x0a, 0x11, 0xe5, 0x64, 0x6b, 0x0f, 0xab, 0x0f, 0x2b,
-	0x75, 0xe2, 0x91, 0x77, 0x9f, 0xa5, 0xb5, 0x0b, 0xcb, 0x7b, 0x94, 0xc7, 0x85, 0xe7, 0xdf, 0x7d,
-	0x23, 0x6b, 0x08, 0x2b, 0x93, 0x91, 0x78, 0xc0, 0x7c, 0x4e, 0xd0, 0x27, 0x30, 0xaf, 0xb7, 0xe3,
-	0xa6, 0xa1, 0x3e, 0x6b, 0xae, 0x87, 0x44, 0x62, 0x8d, 0x3e, 0x84, 0xe2, 0x80, 0x72, 0x2e, 0xd9,
-	0x59, 0xee, 0xc0, 0xcd, 0x29, 0x35, 0xaf, 0x0a, 0x5a, 0xf8, 0x6b, 0x29, 0xb3, 0x4e, 0x61, 0x79,
-	0x87, 0x88, 0x84, 0x60, 0xee, 0x50, 0x29, 0xf9, 0x89, 0x96, 0xd0, 0x62, 0x52, 0xab, 0x7c, 0x22,
-	0x6b, 0xba, 0xd6, 0x17, 0x70, 0x5f, 0x9e, 0x31, 0xd9, 0xed, 0x2e, 0xf5, 0x3a, 0x87, 0xd5, 0x8b,
-	0xb1, 0x74, 0xc5, 0x3e, 0x03, 0x48, 0x36, 0x8d, 0x6b, 0xf6, 0xfe, 0xf5, 0xbc, 0x6a, 0xa7, 0x3c,
-	0x6e, 0x57, 0xb7, 0x2f, 0x61, 0x75, 0x87, 0x08, 0x39, 0xd5, 0x48, 0xa8, 0x07, 0xd3, 0x77, 0x3f,
-	0xcb, 0x08, 0x0a, 0xe9, 0x48, 0xf2, 0xc5, 0xe7, 0x92, 0x13, 0x3c, 0xf4, 0xc4, 0xa5, 0x17, 0x5f,
-	0x14, 0xef, 0xbe, 0x56, 0x5f, 0x78, 0xf1, 0x55, 0x60, 0x79, 0x84, 0x3d, 0x3a, 0x39, 0xca, 0xe3,
-	0x8f, 0xe5, 0x25, 0xa5, 0x4a, 0x4d, 0x72, 0xbe, 0xf9, 0x17, 0x80, 0x45, 0x1d, 0x62, 0x1f, 0xfb,
-	0xb8, 0x47, 0x42, 0xf4, 0x57, 0x03, 0x0a, 0x69, 0x1c, 0xa2, 0xf5, 0xcc, 0xca, 0x65, 0x80, 0xbe,
-	0xfc, 0x93, 0x5b, 0x58, 0x46, 0x57, 0x64, 0xfd, 0xfc, 0x77, 0xdf, 0xfe, 0xf7, 0x8f, 0x53, 0x1b,
-	0xa8, 0x5a, 0x1d, 0x6d, 0x54, 0x75, 0x6d, 0x78, 0xf5, 0xcd, 0xb8, 0x6e, 0xe7, 0x55, 0x55, 0xfa,
-	0xea, 0x1b, 0xf9, 0xe7, 0xbc, 0x9a, 0x60, 0xfa, 0xcf, 0x06, 0xc0, 0x98, 0xe8, 0x50, 0xf6, 0x27,
-	0xe7, 0x25, 0x26, 0x2c, 0x5f, 0xdb, 0x32, 0x56, 0x5d, 0x65, 0xf3, 0x19, 0xfa, 0xf4, 0x2d, 0xb3,
-	0xa9, 0xbe, 0x19, 0x53, 0xc3, 0x39, 0xfa, 0x93, 0x01, 0xc5, 0x89, 0x31, 0x80, 0xb2, 0x0b, 0x92,
-	0x35, 0x2a, 0xca, 0x37, 0xe0, 0xd3, 0x7a, 0xa6, 0x52, 0xdc, 0xb2, 0xde, 0xb6, 0x60, 0xcf, 0x8c,
-	0x87, 0xe8, 0x9f, 0x06, 0x14, 0x27, 0x48, 0xfb, 0x8a, 0xc4, 0xb2, 0x88, 0xfd, 0xc6, 0xc4, 0x76,
-	0x54, 0x62, 0xdb, 0xe5, 0x3b, 0xd5, 0x4e, 0x66, 0xf9, 0x77, 0x03, 0x8a, 0x13, 0xa4, 0x7d, 0x45,
-	0x96, 0x59, 0xc4, 0x7e, 0x63, 0x96, 0xfa, 0x86, 0x1f, 0xde, 0xed, 0x86, 0xbf, 0x31, 0x60, 0x71,
-	0x92, 0x73, 0xd0, 0xc3, 0x2b, 0x31, 0x7f, 0x89, 0xe4, 0xca, 0x1f, 0xdf, 0xca, 0x56, 0x77, 0xc8,
-	0x2f, 0x54, 0xc6, 0x4f, 0xd0, 0xc6, 0x2d, 0x33, 0x4e, 0xf1, 0xd7, 0x3f, 0x0c, 0x28, 0xa4, 0x39,
-	0xfd, 0x8a, 0x16, 0xce, 0xa0, 0xfd, 0x1b, 0xeb, 0xb8, 0xab, 0xb2, 0x7a, 0x89, 0x5e, 0xbc, 0x75,
-	0x56, 0xd5, 0x37, 0xe9, 0xe1, 0x70, 0x8e, 0xfe, 0x66, 0xc0, 0xbd, 0x0b, 0x04, 0x8a, 0x3e, 0xbe,
-	0x2a, 0xcf, 0x0c, 0x9a, 0x2d, 0x67, 0x7f, 0x29, 0xa4, 0x2d, 0xad, 0xe7, 0x2a, 0xdb, 0x9f, 0xa1,
-	0x27, 0xb7, 0xcc, 0x96, 0x2b, 0xe7, 0xe8, 0x7b, 0xe4, 0xe5, 0x63, 0x78, 0xaf, 0xcb, 0x06, 0x59,
-	0x9b, 0xbc, 0x5c, 0xd6, 0xe8, 0xd3, 0xdf, 0x34, 0xed, 0x90, 0x09, 0xd6, 0x36, 0x8e, 0x67, 0xd5,
-	0xbf, 0x3f, 0x9f, 0xfc, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xb0, 0xc9, 0x54, 0x5a, 0xaa, 0x15, 0x00,
-	0x00,
+	// 1893 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x6f, 0x1b, 0xc7,
+	0x15, 0xef, 0x4a, 0xd4, 0xbf, 0x47, 0x52, 0xa6, 0x46, 0xb2, 0xb2, 0x60, 0xd3, 0x58, 0xd9, 0x20,
+	0xad, 0xe2, 0xd4, 0x64, 0x24, 0xab, 0x6e, 0x6a, 0xbb, 0x81, 0x65, 0x92, 0x91, 0x99, 0x48, 0x22,
+	0xb1, 0x94, 0x0c, 0x34, 0x97, 0xc5, 0x88, 0x3b, 0x22, 0x27, 0x5a, 0xee, 0x6c, 0x77, 0x86, 0x0c,
+	0x64, 0x43, 0x87, 0xf6, 0x5c, 0xa0, 0x87, 0x02, 0x45, 0x0b, 0x14, 0x45, 0xd1, 0xe6, 0x7b, 0xf4,
+	0xd0, 0x4b, 0xef, 0xf9, 0x0a, 0xfd, 0x18, 0x3d, 0x04, 0x33, 0x3b, 0xbb, 0x5c, 0x4a, 0xab, 0x3f,
+	0x8e, 0xe0, 0x93, 0x38, 0xef, 0xdf, 0xfc, 0xe6, 0xcd, 0xef, 0xbd, 0x37, 0x2b, 0xf8, 0xa8, 0xc7,
+	0x58, 0xcf, 0x23, 0xd5, 0x2e, 0xf3, 0x05, 0xa6, 0x3e, 0x09, 0xab, 0xa3, 0x8d, 0x6a, 0xd7, 0x1b,
+	0x72, 0x41, 0x42, 0x87, 0x93, 0x70, 0x44, 0xbb, 0xa4, 0x12, 0x84, 0x4c, 0x30, 0xb4, 0x1c, 0x99,
+	0x56, 0x12, 0xd3, 0xca, 0x68, 0xa3, 0xfc, 0xae, 0xf6, 0xc7, 0x01, 0xad, 0x62, 0xdf, 0x67, 0x02,
+	0x0b, 0xca, 0x7c, 0x1e, 0xb9, 0x58, 0xff, 0x37, 0x00, 0xf6, 0x99, 0x4b, 0x6a, 0xcc, 0x3f, 0xa6,
+	0x3d, 0xf4, 0x3e, 0x14, 0x06, 0xb8, 0xdb, 0xa7, 0x3e, 0x71, 0xc4, 0x69, 0x40, 0x4c, 0x63, 0xcd,
+	0x58, 0x5f, 0xb0, 0xf3, 0x5a, 0x76, 0x70, 0x1a, 0x10, 0xb4, 0x06, 0x05, 0x97, 0xf2, 0x13, 0x87,
+	0xd3, 0x57, 0xc4, 0xe9, 0x1d, 0x99, 0x53, 0x6b, 0xc6, 0xfa, 0x8c, 0x0d, 0x52, 0xd6, 0xa1, 0xaf,
+	0xc8, 0xce, 0x91, 0x0c, 0xc2, 0xf0, 0x50, 0xf4, 0x1d, 0xde, 0x65, 0x01, 0xe1, 0xe6, 0xf4, 0xda,
+	0xb4, 0x0c, 0xa2, 0x64, 0x1d, 0x25, 0x42, 0x4d, 0x98, 0x1f, 0x10, 0x81, 0x5d, 0x2c, 0xb0, 0x99,
+	0x5b, 0x9b, 0x5e, 0xcf, 0x6f, 0x3e, 0xa8, 0x64, 0x80, 0xaf, 0x8c, 0xa1, 0x55, 0xf6, 0xb4, 0x7d,
+	0xc3, 0x17, 0xe1, 0xa9, 0x9d, 0xb8, 0x97, 0x9f, 0x40, 0x71, 0x42, 0x85, 0x4a, 0x30, 0x7d, 0x42,
+	0x4e, 0x35, 0x74, 0xf9, 0x13, 0xad, 0xc0, 0xcc, 0x08, 0x7b, 0x43, 0xa2, 0xb0, 0x2e, 0xd8, 0xd1,
+	0xe2, 0xf1, 0xd4, 0xa7, 0x86, 0xf5, 0x5f, 0x03, 0x60, 0x0f, 0xcb, 0x54, 0x6e, 0x0f, 0x45, 0x1f,
+	0x95, 0x61, 0x7e, 0xc8, 0x49, 0xe8, 0xe3, 0x41, 0x7c, 0xf4, 0x64, 0x2d, 0x75, 0x01, 0xe6, 0xfc,
+	0x1b, 0x16, 0xba, 0x3a, 0x4e, 0xb2, 0x46, 0x5b, 0xb0, 0x1a, 0xdf, 0x48, 0x17, 0x3b, 0x5d, 0x12,
+	0x0a, 0x7a, 0x4c, 0xbb, 0x58, 0x10, 0xd3, 0x55, 0x96, 0x2b, 0x5a, 0x5b, 0xc3, 0xb5, 0xb1, 0x0e,
+	0x3d, 0x00, 0xd4, 0xf5, 0x28, 0xf1, 0xc5, 0x84, 0x07, 0x51, 0x1e, 0x4b, 0x91, 0x26, 0x6d, 0xfe,
+	0x13, 0x00, 0x6d, 0x2e, 0x8f, 0x77, 0xac, 0xcc, 0x16, 0x22, 0xc9, 0x97, 0xe4, 0xd4, 0xfa, 0xce,
+	0x80, 0xc2, 0xb6, 0xeb, 0x32, 0x9f, 0xeb, 0xbb, 0x7c, 0x09, 0xcb, 0x7d, 0x21, 0x02, 0xc7, 0x63,
+	0xd8, 0x75, 0x8e, 0xb0, 0x87, 0xfd, 0x2e, 0xf5, 0x7b, 0xea, 0x5c, 0xf9, 0xcd, 0x9f, 0x66, 0xa6,
+	0xfb, 0x85, 0x10, 0xc1, 0x2e, 0xc3, 0xee, 0xf3, 0xd8, 0xda, 0x5e, 0xea, 0x9f, 0x17, 0xa1, 0x13,
+	0x28, 0xf7, 0x59, 0x48, 0x5f, 0x49, 0x47, 0xcf, 0x09, 0x98, 0xeb, 0xe0, 0xa1, 0x60, 0xbc, 0x8b,
+	0x3d, 0x19, 0x7e, 0x4a, 0x85, 0xcf, 0xbe, 0xcd, 0x17, 0x89, 0x5b, 0x9b, 0xb9, 0xdb, 0x63, 0x27,
+	0xdb, 0xec, 0x5f, 0xa2, 0xb1, 0xaa, 0xb0, 0x74, 0x01, 0x94, 0xbc, 0x0a, 0x97, 0x72, 0x7c, 0xe4,
+	0x11, 0x57, 0x1d, 0x67, 0xde, 0x4e, 0xd6, 0xd6, 0x23, 0x30, 0x2f, 0xdb, 0xe6, 0x4a, 0xbf, 0x3f,
+	0x2e, 0xc0, 0x5c, 0x2d, 0xba, 0x25, 0x84, 0x20, 0x97, 0xa2, 0x80, 0xfa, 0x8d, 0xd6, 0x20, 0xef,
+	0x12, 0xde, 0x0d, 0x69, 0x20, 0xcb, 0x47, 0x33, 0x20, 0x2d, 0x42, 0x3f, 0x07, 0x44, 0x7d, 0x2a,
+	0x28, 0xf6, 0x1c, 0x9f, 0xb9, 0xc4, 0xe9, 0xb2, 0xa1, 0x2f, 0xcc, 0x69, 0x55, 0x1e, 0x25, 0xad,
+	0x89, 0xf8, 0x3c, 0xf4, 0x05, 0x7a, 0x06, 0x79, 0x6d, 0x25, 0x2f, 0xcb, 0xcc, 0xa9, 0xb4, 0xdd,
+	0xbb, 0xa6, 0x08, 0x6c, 0xf0, 0xc7, 0xb5, 0xfa, 0x0c, 0xf2, 0x03, 0x45, 0x5d, 0x99, 0xff, 0xbe,
+	0x39, 0x73, 0x45, 0x84, 0x31, 0xc5, 0x6d, 0x18, 0x8c, 0xe9, 0xfe, 0x33, 0xb8, 0xe3, 0xb1, 0x5e,
+	0x8f, 0xfa, 0xbd, 0xb8, 0x91, 0x98, 0xb3, 0xea, 0x5c, 0x8b, 0x5a, 0xdc, 0x89, 0xa4, 0x92, 0xa9,
+	0x03, 0xe6, 0x53, 0xc1, 0xc2, 0xb4, 0xed, 0x5c, 0xc4, 0xd4, 0xb1, 0x26, 0x36, 0x37, 0x61, 0xce,
+	0x27, 0xe2, 0x1b, 0x16, 0x9e, 0x98, 0xf3, 0xca, 0x26, 0x5e, 0xa2, 0xfb, 0xb0, 0x14, 0x17, 0x0a,
+	0x0d, 0x46, 0x5b, 0x4e, 0x97, 0xba, 0xa1, 0xb9, 0xa0, 0x6c, 0xee, 0x68, 0x45, 0x33, 0x18, 0x6d,
+	0xd5, 0xa8, 0x1b, 0xa2, 0xcf, 0xa1, 0x88, 0x15, 0x9f, 0xe3, 0x1c, 0x81, 0x3a, 0xe1, 0xfb, 0x99,
+	0x27, 0x4c, 0x33, 0xdf, 0x2e, 0xe0, 0x74, 0x1d, 0xbc, 0x07, 0xc0, 0x87, 0x47, 0x31, 0xa0, 0xbc,
+	0xda, 0x2c, 0x25, 0x41, 0x3f, 0x86, 0x05, 0x4e, 0xbc, 0x63, 0xc7, 0xa3, 0xfe, 0x89, 0xae, 0xd7,
+	0x79, 0x29, 0xd8, 0xa5, 0xfe, 0x89, 0xa4, 0xc2, 0x2b, 0xe6, 0xc7, 0x55, 0xa9, 0x7e, 0x4b, 0x1a,
+	0x11, 0xdf, 0x0d, 0x18, 0xf5, 0x85, 0x2e, 0xc3, 0x64, 0x8d, 0x1e, 0xc1, 0x3b, 0x31, 0x09, 0xe2,
+	0x83, 0x8e, 0x48, 0xc8, 0x25, 0x65, 0x7a, 0xca, 0xf4, 0xae, 0x56, 0x6b, 0xae, 0xbd, 0x8c, 0x94,
+	0xaa, 0x83, 0x0c, 0xc3, 0x50, 0x56, 0xb7, 0xbe, 0xd4, 0xd8, 0xad, 0xaf, 0x3b, 0x48, 0xa4, 0x8d,
+	0x6e, 0x32, 0xf6, 0xfa, 0x04, 0x62, 0x79, 0x44, 0xb9, 0xd8, 0x87, 0x2a, 0x1f, 0xa4, 0x75, 0x92,
+	0x3f, 0xb1, 0xc7, 0x3d, 0xc8, 0x77, 0x43, 0x82, 0x05, 0x71, 0x04, 0x1d, 0x10, 0xf3, 0xeb, 0x28,
+	0x1b, 0x91, 0xe8, 0x80, 0x0e, 0x08, 0x7a, 0x02, 0xb3, 0x5c, 0x60, 0x31, 0xe4, 0xe6, 0xc9, 0x9a,
+	0xb1, 0xbe, 0xb8, 0xf9, 0x41, 0x66, 0xba, 0x35, 0xfa, 0x4a, 0x47, 0x99, 0xda, 0xda, 0x05, 0x7d,
+	0x08, 0x8b, 0xd1, 0x2f, 0x67, 0x40, 0x38, 0xc7, 0x3d, 0x62, 0x7a, 0x6a, 0x83, 0x62, 0x24, 0xdd,
+	0x8b, 0x84, 0xe8, 0x01, 0x2c, 0x2b, 0xb8, 0x09, 0x05, 0xd4, 0x30, 0x31, 0x07, 0x51, 0xa9, 0x48,
+	0x55, 0x4c, 0x02, 0x39, 0x51, 0x64, 0x61, 0x69, 0xca, 0xf1, 0x14, 0x6b, 0x7c, 0x15, 0xb9, 0x14,
+	0x6b, 0x12, 0xda, 0x54, 0x60, 0x99, 0xfa, 0x5c, 0x60, 0xbf, 0x4b, 0x9c, 0x5e, 0xc8, 0x86, 0x81,
+	0x33, 0x0c, 0x3d, 0x6e, 0x32, 0x35, 0x84, 0x96, 0x62, 0xd5, 0x8e, 0xd4, 0x1c, 0x86, 0x1e, 0x97,
+	0xd1, 0x27, 0x72, 0x18, 0x95, 0x6d, 0x10, 0x61, 0x49, 0x65, 0x50, 0x95, 0xad, 0x45, 0x61, 0x36,
+	0x3a, 0x33, 0x5a, 0x05, 0xd4, 0x39, 0xd8, 0x3e, 0x38, 0xec, 0x38, 0x87, 0xfb, 0x9d, 0x76, 0xa3,
+	0xd6, 0xfc, 0xbc, 0xd9, 0xa8, 0x97, 0x7e, 0x84, 0x4a, 0x50, 0x68, 0xdb, 0xad, 0x97, 0xcd, 0x4e,
+	0xb3, 0xb5, 0xdf, 0xdc, 0xdf, 0x29, 0x19, 0x28, 0x0f, 0x73, 0xf6, 0xe1, 0xbe, 0x5a, 0x4c, 0xa1,
+	0x3b, 0x90, 0xb7, 0x1b, 0xb5, 0xd6, 0x7e, 0xad, 0xb9, 0x2b, 0x05, 0xd3, 0xa8, 0x00, 0xf3, 0x9d,
+	0x83, 0x56, 0xbb, 0x2d, 0x57, 0x39, 0xb4, 0x00, 0x33, 0x0d, 0xdb, 0x6e, 0xd9, 0xa5, 0x19, 0xeb,
+	0x0f, 0x53, 0x50, 0xd4, 0x79, 0x3e, 0x0c, 0x5c, 0x39, 0x01, 0x3e, 0x81, 0x15, 0x97, 0x70, 0x1a,
+	0x12, 0x77, 0xf2, 0xba, 0x73, 0xd1, 0x75, 0x6b, 0x5d, 0xfa, 0xba, 0x9f, 0x42, 0x39, 0xf6, 0xc8,
+	0x28, 0xe0, 0x19, 0xe5, 0x67, 0x6a, 0x8b, 0xbd, 0x0b, 0x75, 0x7c, 0x08, 0x77, 0x63, 0xef, 0xc9,
+	0x4a, 0x9c, 0xbd, 0x69, 0x25, 0x2e, 0x6b, 0xff, 0x89, 0xc1, 0xb4, 0x05, 0xab, 0x09, 0xa8, 0x49,
+	0xae, 0xeb, 0x69, 0x19, 0x03, 0x4a, 0x73, 0xdd, 0xfa, 0x4f, 0x0e, 0x16, 0x5a, 0x01, 0x09, 0xd5,
+	0xf3, 0x25, 0xb3, 0x45, 0xc7, 0xb5, 0x3a, 0x95, 0xaa, 0xd5, 0x2f, 0x60, 0x91, 0xc5, 0x4e, 0xd1,
+	0x93, 0x66, 0xfa, 0x0a, 0x5a, 0x27, 0xf1, 0x2b, 0xf2, 0xa9, 0x63, 0x17, 0x13, 0x57, 0xf5, 0xf2,
+	0xf9, 0x75, 0x52, 0x1a, 0x39, 0x15, 0xe3, 0xc3, 0x6b, 0x62, 0x9c, 0x2b, 0x8e, 0x55, 0x98, 0x75,
+	0x89, 0xc0, 0xd4, 0xd3, 0x4d, 0x51, 0xaf, 0x32, 0x8a, 0x66, 0x26, 0xab, 0x68, 0x26, 0xda, 0xd4,
+	0xec, 0xb9, 0x36, 0x75, 0x0f, 0xf2, 0x02, 0x87, 0x3d, 0x22, 0x22, 0x75, 0xd4, 0x99, 0x21, 0x12,
+	0x49, 0x03, 0xab, 0x7e, 0x2d, 0x6f, 0xf3, 0x30, 0xd7, 0x6e, 0xec, 0xd7, 0x33, 0x28, 0x3b, 0x0f,
+	0xb9, 0x7a, 0x6b, 0xbf, 0x51, 0x9a, 0xb6, 0xfe, 0x6d, 0x40, 0x4e, 0xa5, 0x62, 0x05, 0x4a, 0x07,
+	0xbf, 0x69, 0x37, 0xce, 0x85, 0x40, 0xb0, 0x58, 0xb3, 0x1b, 0xdb, 0x07, 0x0d, 0xa7, 0xb6, 0x7b,
+	0xd8, 0x39, 0x68, 0xd8, 0x25, 0x43, 0xca, 0xea, 0x8d, 0xdd, 0x46, 0x4a, 0x36, 0x25, 0x65, 0x87,
+	0xed, 0x1d, 0x7b, 0xbb, 0xde, 0x70, 0xf6, 0xb6, 0x95, 0x6c, 0x1a, 0x2d, 0x41, 0x31, 0x96, 0xed,
+	0xb7, 0xea, 0x8d, 0x4e, 0x29, 0x27, 0xcd, 0xec, 0x46, 0x7b, 0xbb, 0x69, 0x27, 0xae, 0x33, 0x91,
+	0x6b, 0x3d, 0xbd, 0xc5, 0xac, 0x04, 0xa3, 0xb7, 0x95, 0x9e, 0x4e, 0xbb, 0xd5, 0xda, 0x2d, 0xcd,
+	0x49, 0xa9, 0xde, 0x78, 0x2c, 0x9d, 0xb7, 0x7e, 0x67, 0xc0, 0x4a, 0x4d, 0x75, 0x3b, 0x5d, 0x5a,
+	0x36, 0xf9, 0xed, 0x90, 0x70, 0x21, 0x5f, 0x57, 0x41, 0xc8, 0xbe, 0x26, 0x5d, 0xe1, 0x50, 0x57,
+	0xd3, 0x6a, 0x41, 0x4b, 0x9a, 0x6e, 0x26, 0xb7, 0x1e, 0xc1, 0x9c, 0xee, 0xf1, 0x8a, 0x54, 0xf9,
+	0xcd, 0x77, 0xaf, 0xea, 0x95, 0x76, 0x6c, 0x6c, 0x11, 0x58, 0xda, 0x21, 0xe2, 0xf6, 0xfb, 0xab,
+	0x07, 0xa1, 0x1e, 0xa6, 0xae, 0x82, 0xa0, 0x1e, 0x84, 0xd1, 0x14, 0x75, 0xad, 0x6f, 0x0d, 0x58,
+	0x89, 0x1a, 0xc7, 0xdb, 0xde, 0x0a, 0x3d, 0x86, 0xd9, 0xa1, 0xda, 0x49, 0xbf, 0x63, 0xac, 0xab,
+	0x12, 0x11, 0x61, 0xb2, 0xb5, 0x87, 0xd5, 0x87, 0x95, 0x3a, 0xf1, 0xc8, 0xdb, 0x47, 0x69, 0xbd,
+	0x80, 0xe5, 0x5d, 0xca, 0xe3, 0xc4, 0xf3, 0x1f, 0xbe, 0x91, 0x35, 0x84, 0x95, 0xc9, 0x48, 0x3c,
+	0x60, 0x3e, 0x27, 0xe8, 0x53, 0x98, 0xd7, 0xdb, 0x71, 0xd3, 0x50, 0x9f, 0x35, 0x57, 0x53, 0x22,
+	0xb1, 0x46, 0x1f, 0x40, 0x71, 0x40, 0x39, 0x97, 0xdd, 0x59, 0xee, 0xc0, 0xcd, 0x29, 0x35, 0xaf,
+	0x0a, 0x5a, 0xf8, 0x95, 0x94, 0x59, 0x27, 0xb0, 0xbc, 0x43, 0x44, 0xd2, 0x60, 0x6e, 0x91, 0x29,
+	0xf9, 0x89, 0x96, 0xb4, 0xc5, 0x24, 0x57, 0xf9, 0x44, 0xd6, 0x74, 0xad, 0x2f, 0xe0, 0xae, 0x3c,
+	0x63, 0xb2, 0xdb, 0x6d, 0xf2, 0x75, 0x06, 0xab, 0xe7, 0x63, 0xe9, 0x8c, 0x7d, 0x06, 0x90, 0x6c,
+	0x1a, 0xe7, 0xec, 0xbd, 0xab, 0xfb, 0xaa, 0x9d, 0xf2, 0xb8, 0x59, 0xde, 0xbe, 0x84, 0xd5, 0x1d,
+	0x22, 0xe4, 0x54, 0x23, 0xa1, 0x1e, 0x4c, 0x3f, 0xfc, 0x2c, 0x23, 0x28, 0xa4, 0x23, 0xc9, 0x17,
+	0x9f, 0x4b, 0x8e, 0xf1, 0xd0, 0x13, 0x17, 0x5e, 0x7c, 0x51, 0xbc, 0xbb, 0x5a, 0x7d, 0xee, 0xc5,
+	0x57, 0x81, 0xe5, 0x11, 0xf6, 0xe8, 0xe4, 0x28, 0x8f, 0x3f, 0x96, 0x97, 0x94, 0x2a, 0x35, 0xc9,
+	0xf9, 0xe6, 0x5f, 0x01, 0x16, 0x75, 0x88, 0x3d, 0xec, 0xe3, 0x1e, 0x09, 0xd1, 0xdf, 0x0c, 0x28,
+	0xa4, 0x79, 0x88, 0xd6, 0x33, 0x33, 0x97, 0x41, 0xfa, 0xf2, 0x47, 0x37, 0xb0, 0x8c, 0xae, 0xc8,
+	0xfa, 0xe5, 0xef, 0xbf, 0xfb, 0xdf, 0x9f, 0xa6, 0x36, 0x50, 0xb5, 0x3a, 0xda, 0xa8, 0xea, 0xdc,
+	0xf0, 0xea, 0xeb, 0x71, 0xde, 0xce, 0xaa, 0x2a, 0xf5, 0xd5, 0xd7, 0xf2, 0xcf, 0x59, 0x35, 0xe1,
+	0xf4, 0x5f, 0x0c, 0x80, 0x71, 0xa3, 0x43, 0xd9, 0x9f, 0x9c, 0x17, 0x3a, 0x61, 0xf9, 0xca, 0x92,
+	0xb1, 0xea, 0x0a, 0xcd, 0x67, 0xe8, 0xe9, 0x1b, 0xa2, 0xa9, 0xbe, 0x1e, 0xb7, 0x86, 0x33, 0xf4,
+	0x67, 0x03, 0x8a, 0x13, 0x63, 0x00, 0x65, 0x27, 0x24, 0x6b, 0x54, 0x94, 0xaf, 0xe1, 0xa7, 0xf5,
+	0x58, 0x41, 0xdc, 0xb2, 0xde, 0x34, 0x61, 0x8f, 0x8d, 0xfb, 0xe8, 0x5f, 0x06, 0x14, 0x27, 0x9a,
+	0xf6, 0x25, 0xc0, 0xb2, 0x1a, 0xfb, 0xb5, 0xc0, 0x76, 0x14, 0xb0, 0xed, 0xf2, 0xad, 0x72, 0x27,
+	0x51, 0xfe, 0xc3, 0x80, 0xe2, 0x44, 0xd3, 0xbe, 0x04, 0x65, 0x56, 0x63, 0xbf, 0x16, 0xa5, 0xbe,
+	0xe1, 0xfb, 0xb7, 0xbb, 0xe1, 0x6f, 0x0d, 0x58, 0x9c, 0xec, 0x39, 0xe8, 0xfe, 0xa5, 0x9c, 0xbf,
+	0xd0, 0xe4, 0xca, 0x1f, 0xdf, 0xc8, 0x56, 0x57, 0xc8, 0xaf, 0x14, 0xe2, 0x87, 0x68, 0xe3, 0x86,
+	0x88, 0x53, 0xfd, 0xeb, 0x9f, 0x06, 0x14, 0xd2, 0x3d, 0xfd, 0x92, 0x12, 0xce, 0x68, 0xfb, 0xd7,
+	0xe6, 0xf1, 0x85, 0x42, 0xf5, 0x1c, 0x3d, 0x7b, 0x63, 0x54, 0xd5, 0xd7, 0xe9, 0xe1, 0x70, 0x86,
+	0xfe, 0x6e, 0xc0, 0x9d, 0x73, 0x0d, 0x14, 0x7d, 0x7c, 0x19, 0xce, 0x8c, 0x36, 0x5b, 0xce, 0xfe,
+	0x52, 0x48, 0x5b, 0x5a, 0x4f, 0x14, 0xda, 0x5f, 0xa0, 0x87, 0x37, 0x44, 0xcb, 0x95, 0x73, 0xf4,
+	0x3d, 0xf2, 0xdc, 0x87, 0x77, 0xba, 0x6c, 0x90, 0xb5, 0xc9, 0xf3, 0x65, 0xcd, 0x3e, 0xfd, 0x4d,
+	0xd3, 0x0e, 0x99, 0x60, 0x6d, 0xe3, 0xab, 0xa7, 0xda, 0xb6, 0xc7, 0x3c, 0xec, 0xf7, 0x2a, 0x2c,
+	0xec, 0x55, 0x7b, 0xc4, 0x57, 0xff, 0x13, 0xad, 0x46, 0x2a, 0x1c, 0x50, 0x3e, 0xf1, 0x4f, 0xd7,
+	0x27, 0xc9, 0xe2, 0x68, 0x56, 0x19, 0x3e, 0xfc, 0x3e, 0x00, 0x00, 0xff, 0xff, 0x31, 0x9e, 0x30,
+	0x44, 0x9c, 0x15, 0x00, 0x00,
 }
diff --git a/googleapis/container/v1/cluster_service.proto b/googleapis/container/v1/cluster_service.proto
deleted file mode 100644
index ff9eaa380838c9ca4c0ca4c41d281200cbdf6fee..0000000000000000000000000000000000000000
--- a/googleapis/container/v1/cluster_service.proto
+++ /dev/null
@@ -1,593 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.container.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ClusterServiceProto";
-option java_package = "com.google.container.v1";
-
-
-// Google Container Engine Cluster Manager v1
-service ClusterManager {
-  // Lists all clusters owned by a project in either the specified zone or all zones.
-  rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/zones/{zone}/clusters" };
-  }
-
-  // Gets the details of a specific cluster.
-  rpc GetCluster(GetClusterRequest) returns (Cluster) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}" };
-  }
-
-  // Creates a cluster, consisting of the specified number and type of Google
-  // Compute Engine instances.
-  //
-  // By default, the cluster is created in the project's
-  // [default network](/compute/docs/networks-and-firewalls#networks).
-  //
-  // One firewall is added for the cluster. After cluster creation,
-  // the cluster creates routes for each node to allow the containers
-  // on that node to communicate with all other instances in the
-  // cluster.
-  //
-  // Finally, an entry is added to the project's global metadata indicating
-  // which CIDR range is being used by the cluster.
-  rpc CreateCluster(CreateClusterRequest) returns (Operation) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}/zones/{zone}/clusters" body: "*" };
-  }
-
-  // Updates the settings of a specific cluster.
-  rpc UpdateCluster(UpdateClusterRequest) returns (Operation) {
-    option (google.api.http) = { put: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}" body: "*" };
-  }
-
-  // Deletes the cluster, including the Kubernetes endpoint and all worker
-  // nodes.
-  //
-  // Firewalls and routes that were configured during cluster creation
-  // are also deleted.
-  //
-  // Other Google Compute Engine resources that might be in use by the cluster
-  // (e.g. load balancer resources) will not be deleted if they weren't present
-  // at the initial create time.
-  rpc DeleteCluster(DeleteClusterRequest) returns (Operation) {
-    option (google.api.http) = { delete: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}" };
-  }
-
-  // Lists all operations in a project in a specific zone or all zones.
-  rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/zones/{zone}/operations" };
-  }
-
-  // Gets the specified operation.
-  rpc GetOperation(GetOperationRequest) returns (Operation) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/zones/{zone}/operations/{operation_id}" };
-  }
-
-  // Returns configuration info about the Container Engine service.
-  rpc GetServerConfig(GetServerConfigRequest) returns (ServerConfig) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/zones/{zone}/serverconfig" };
-  }
-}
-
-// Parameters that describe the nodes in a cluster.
-message NodeConfig {
-  // The name of a Google Compute Engine [machine type](/compute/docs/machine-types) (e.g.
-  // `n1-standard-1`).
-  //
-  // If unspecified, the default machine type is
-  // `n1-standard-1`.
-  string machine_type = 1;
-
-  // Size of the disk attached to each node, specified in GB.
-  // The smallest allowed disk size is 10GB.
-  //
-  // If unspecified, the default disk size is 100GB.
-  int32 disk_size_gb = 2;
-
-  // The set of Google API scopes to be made available on all of the
-  // node VMs under the "default" service account.
-  //
-  // The following scopes are recommended, but not required, and by default are
-  // not included:
-  //
-  // * `https://www.googleapis.com/auth/compute` is required for mounting
-  // persistent storage on your nodes.
-  // * `https://www.googleapis.com/auth/devstorage.read_only` is required for
-  // communicating with **gcr.io**
-  // (the [Google Container Registry](/container-registry/)).
-  //
-  // If unspecified, no scopes are added, unless Cloud Logging or Cloud
-  // Monitoring are enabled, in which case their required scopes will be added.
-  repeated string oauth_scopes = 3;
-
-  // The metadata key/value pairs assigned to instances in the cluster.
-  //
-  // Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
-  // in length. These are reflected as part of a URL in the metadata server.
-  // Additionally, to avoid ambiguity, keys must not conflict with any other
-  // metadata keys for the project or be one of the four reserved keys:
-  // "instance-template", "kube-env", "startup-script", and "user-data"
-  //
-  // Values are free-form strings, and only have meaning as interpreted by
-  // the image running in the instance. The only restriction placed on them is
-  // that each value's size must be less than or equal to 32 KB.
-  //
-  // The total size of all keys and values must be less than 512 KB.
-  map<string, string> metadata = 4;
-}
-
-// The authentication information for accessing the master endpoint.
-// Authentication can be done using HTTP basic auth or using client
-// certificates.
-message MasterAuth {
-  // The username to use for HTTP basic authentication to the master endpoint.
-  string username = 1;
-
-  // The password to use for HTTP basic authentication to the master endpoint.
-  // Because the master endpoint is open to the Internet, you should create a
-  // strong password.
-  string password = 2;
-
-  // [Output only] Base64-encoded public certificate that is the root of
-  // trust for the cluster.
-  string cluster_ca_certificate = 100;
-
-  // [Output only] Base64-encoded public certificate used by clients to
-  // authenticate to the cluster endpoint.
-  string client_certificate = 101;
-
-  // [Output only] Base64-encoded private key used by clients to authenticate
-  // to the cluster endpoint.
-  string client_key = 102;
-}
-
-// Configuration for the addons that can be automatically spun up in the
-// cluster, enabling additional functionality.
-message AddonsConfig {
-  // Configuration for the HTTP (L7) load balancing controller addon, which
-  // makes it easy to set up HTTP load balancers for services in a cluster.
-  HttpLoadBalancing http_load_balancing = 1;
-
-  // Configuration for the horizontal pod autoscaling feature, which
-  // increases or decreases the number of replica pods a replication controller
-  // has based on the resource usage of the existing pods.
-  HorizontalPodAutoscaling horizontal_pod_autoscaling = 2;
-}
-
-// Configuration options for the HTTP (L7) load balancing controller addon,
-// which makes it easy to set up HTTP load balancers for services in a cluster.
-message HttpLoadBalancing {
-  // Whether the HTTP Load Balancing controller is enabled in the cluster.
-  // When enabled, it runs a small pod in the cluster that manages the load
-  // balancers.
-  bool disabled = 1;
-}
-
-// Configuration options for the horizontal pod autoscaling feature, which
-// increases or decreases the number of replica pods a replication controller
-// has based on the resource usage of the existing pods.
-message HorizontalPodAutoscaling {
-  // Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
-  // When enabled, it ensures that a Heapster pod is running in the cluster,
-  // which is also used by the Cloud Monitoring service.
-  bool disabled = 1;
-}
-
-// A Google Container Engine cluster.
-message Cluster {
-  // The current status of the cluster.
-  enum Status {
-    // Not set.
-    STATUS_UNSPECIFIED = 0;
-
-    // The PROVISIONING state indicates the cluster is being created.
-    PROVISIONING = 1;
-
-    // The RUNNING state indicates the cluster has been created and is fully usable.
-    RUNNING = 2;
-
-    // The RECONCILING state indicates that some work is actively being done on
-    // the cluster, such as upgrading the master or node software. Details can
-    // be found in the `statusMessage` field.
-    RECONCILING = 3;
-
-    // The STOPPING state indicates the cluster is being deleted.
-    STOPPING = 4;
-
-    // The ERROR state indicates the cluster may be unusable. Details
-    // can be found in the `statusMessage` field.
-    ERROR = 5;
-  }
-
-  // The name of this cluster. The name must be unique within this project
-  // and zone, and can be up to 40 characters with the following restrictions:
-  //
-  // * Lowercase letters, numbers, and hyphens only.
-  // * Must start with a letter.
-  // * Must end with a number or a letter.
-  string name = 1;
-
-  // An optional description of this cluster.
-  string description = 2;
-
-  // The number of nodes to create in this cluster. You must ensure that your
-  // Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
-  // is sufficient for this number of instances. You must also have available
-  // firewall and routes quota.
-  // For requests, this field should only be used in lieu of a
-  // "node_pool" object, since this configuration (along with the
-  // "node_config") will be used to create a "NodePool" object with an
-  // auto-generated name. Do not use this and a node_pool at the same time.
-  int32 initial_node_count = 3;
-
-  // Parameters used in creating the cluster's nodes.
-  // See `nodeConfig` for the description of its properties.
-  // For requests, this field should only be used in lieu of a
-  // "node_pool" object, since this configuration (along with the
-  // "initial_node_count") will be used to create a "NodePool" object with an
-  // auto-generated name. Do not use this and a node_pool at the same time.
-  // For responses, this field will be populated with the node configuration of
-  // the first node pool.
-  //
-  // If unspecified, the defaults are used.
-  NodeConfig node_config = 4;
-
-  // The authentication information for accessing the master endpoint.
-  MasterAuth master_auth = 5;
-
-  // The logging service the cluster should use to write logs.
-  // Currently available options:
-  //
-  // * `logging.googleapis.com` - the Google Cloud Logging service.
-  // * `none` - no logs will be exported from the cluster.
-  // * if left as an empty string,`logging.googleapis.com` will be used.
-  string logging_service = 6;
-
-  // The monitoring service the cluster should use to write metrics.
-  // Currently available options:
-  //
-  // * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
-  // * `none` - no metrics will be exported from the cluster.
-  // * if left as an empty string, `monitoring.googleapis.com` will be used.
-  string monitoring_service = 7;
-
-  // The name of the Google Compute Engine
-  // [network](/compute/docs/networks-and-firewalls#networks) to which the
-  // cluster is connected. If left unspecified, the `default` network
-  // will be used.
-  string network = 8;
-
-  // The IP address range of the container pods in this cluster, in
-  // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-  // notation (e.g. `10.96.0.0/14`). Leave blank to have
-  // one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
-  string cluster_ipv4_cidr = 9;
-
-  // Configurations for the various addons available to run in the cluster.
-  AddonsConfig addons_config = 10;
-
-  // The name of the Google Compute Engine
-  // [subnetwork](/compute/docs/subnetworks) to which the
-  // cluster is connected.  Specification of subnetworks is an alpha feature,
-  // and require that the Google Compute Engine alpha API be enabled.
-  string subnetwork = 11;
-
-  // [Output only] Server-defined URL for the resource.
-  string self_link = 100;
-
-  // [Output only] The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the cluster
-  // resides.
-  string zone = 101;
-
-  // [Output only] The IP address of this cluster's master endpoint.
-  // The endpoint can be accessed from the internet at
-  // `https://username:password@endpoint/`.
-  //
-  // See the `masterAuth` property of this resource for username and
-  // password information.
-  string endpoint = 102;
-
-  // [Output only] The software version of the master endpoint and kubelets used
-  // in the cluster when it was first created. The version can be upgraded over
-  // time.
-  //
-  string initial_cluster_version = 103;
-
-  // [Output only] The current software version of the master endpoint.
-  string current_master_version = 104;
-
-  // [Output only] The current version of the node software components.
-  // If they are currently at multiple versions because they're in the process
-  // of being upgraded, this reflects the minimum version of all nodes.
-  string current_node_version = 105;
-
-  // [Output only] The time the cluster was created, in
-  // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-  string create_time = 106;
-
-  // [Output only] The current status of this cluster.
-  Status status = 107;
-
-  // [Output only] Additional information about the current status of this
-  // cluster, if available.
-  string status_message = 108;
-
-  // [Output only] The size of the address space on each node for hosting
-  // containers. This is provisioned from within the `container_ipv4_cidr` range.
-  int32 node_ipv4_cidr_size = 109;
-
-  // [Output only] The IP address range of the Kubernetes services in
-  // this cluster, in
-  // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-  // notation (e.g. `1.2.3.4/29`). Service addresses are
-  // typically put in the last `/16` from the container CIDR.
-  string services_ipv4_cidr = 110;
-
-  // [Output only] The resource URLs of [instance
-  // groups](/compute/docs/instance-groups/) associated with this
-  // cluster.
-  repeated string instance_group_urls = 111;
-
-  // [Output only] The number of nodes currently in the cluster.
-  int32 current_node_count = 112;
-}
-
-// ClusterUpdate describes an update to the cluster. Exactly one update can
-// be applied to a cluster with each request, so at most one field can be
-// provided.
-message ClusterUpdate {
-  // The Kubernetes version to change the nodes to (typically an
-  // upgrade). Use `-` to upgrade to the latest version supported by
-  // the server.
-  string desired_node_version = 4;
-
-  // The monitoring service the cluster should use to write metrics.
-  // Currently available options:
-  //
-  // * "monitoring.googleapis.com" - the Google Cloud Monitoring service
-  // * "none" - no metrics will be exported from the cluster
-  string desired_monitoring_service = 5;
-
-  // Configurations for the various addons available to run in the cluster.
-  AddonsConfig desired_addons_config = 6;
-
-  // The Kubernetes version to change the master to. The only valid value is the
-  // latest supported version. Use "-" to have the server automatically select
-  // the latest version.
-  string desired_master_version = 100;
-}
-
-// This operation resource represents operations that may have happened or are
-// happening on the cluster. All fields are output only.
-message Operation {
-  // Current status of the operation.
-  enum Status {
-    // Not set.
-    STATUS_UNSPECIFIED = 0;
-
-    // The operation has been created.
-    PENDING = 1;
-
-    // The operation is currently running.
-    RUNNING = 2;
-
-    // The operation is done, either cancelled or completed.
-    DONE = 3;
-  }
-
-  // Operation type.
-  enum Type {
-    // Not set.
-    TYPE_UNSPECIFIED = 0;
-
-    // Cluster create.
-    CREATE_CLUSTER = 1;
-
-    // Cluster delete.
-    DELETE_CLUSTER = 2;
-
-    // A master upgrade.
-    UPGRADE_MASTER = 3;
-
-    // A node upgrade.
-    UPGRADE_NODES = 4;
-
-    // Cluster repair.
-    REPAIR_CLUSTER = 5;
-
-    // Cluster update.
-    UPDATE_CLUSTER = 6;
-
-    // Node pool create.
-    CREATE_NODE_POOL = 7;
-
-    // Node pool delete.
-    DELETE_NODE_POOL = 8;
-  }
-
-  // The server-assigned ID for the operation.
-  string name = 1;
-
-  // The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the operation
-  // is taking place.
-  string zone = 2;
-
-  // The operation type.
-  Type operation_type = 3;
-
-  // The current status of the operation.
-  Status status = 4;
-
-  // Detailed operation progress, if available.
-  string detail = 8;
-
-  // If an error has occurred, a textual description of the error.
-  string status_message = 5;
-
-  // Server-defined URL for the resource.
-  string self_link = 6;
-
-  // Server-defined URL for the target of the operation.
-  string target_link = 7;
-}
-
-// CreateClusterRequest creates a cluster.
-message CreateClusterRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the cluster
-  // resides.
-  string zone = 2;
-
-  // A [cluster resource](/container-engine/reference/rest/v1/projects.zones.clusters)
-  Cluster cluster = 3;
-}
-
-// GetClusterRequest gets the settings of a cluster.
-message GetClusterRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the cluster
-  // resides.
-  string zone = 2;
-
-  // The name of the cluster to retrieve.
-  string cluster_id = 3;
-}
-
-// UpdateClusterRequest updates the settings of a cluster.
-message UpdateClusterRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the cluster
-  // resides.
-  string zone = 2;
-
-  // The name of the cluster to upgrade.
-  string cluster_id = 3;
-
-  // A description of the update.
-  ClusterUpdate update = 4;
-}
-
-// DeleteClusterRequest deletes a cluster.
-message DeleteClusterRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the cluster
-  // resides.
-  string zone = 2;
-
-  // The name of the cluster to delete.
-  string cluster_id = 3;
-}
-
-// ListClustersRequest lists clusters.
-message ListClustersRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the cluster
-  // resides, or "-" for all zones.
-  string zone = 2;
-}
-
-// ListClustersResponse is the result of ListClustersRequest.
-message ListClustersResponse {
-  // A list of clusters in the project in the specified zone, or
-  // across all ones.
-  repeated Cluster clusters = 1;
-
-  // If any zones are listed here, the list of clusters returned
-  // may be missing those zones.
-  repeated string missing_zones = 2;
-}
-
-// GetOperationRequest gets a single operation.
-message GetOperationRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the cluster
-  // resides.
-  string zone = 2;
-
-  // The server-assigned `name` of the operation.
-  string operation_id = 3;
-}
-
-// ListOperationsRequest lists operations.
-message ListOperationsRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine [zone](/compute/docs/zones#available)
-  // to return operations for, or `-` for all zones.
-  string zone = 2;
-}
-
-// ListOperationsResponse is the result of ListOperationsRequest.
-message ListOperationsResponse {
-  // A list of operations in the project in the specified zone.
-  repeated Operation operations = 1;
-
-  // If any zones are listed here, the list of operations returned
-  // may be missing the operations from those zones.
-  repeated string missing_zones = 2;
-}
-
-// Gets the current Container Engine service configuration.
-message GetServerConfigRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine [zone](/compute/docs/zones#available)
-  // to return operations for.
-  string zone = 2;
-}
-
-// Container Engine service configuration.
-message ServerConfig {
-  // Version of Kubernetes the service deploys by default.
-  string default_cluster_version = 1;
-
-  // List of valid node upgrade target versions.
-  repeated string valid_node_versions = 3;
-}
diff --git a/googleapis/datastore/v1/datastore.pb.go b/googleapis/datastore/v1/datastore.pb.go
index 94ba4922e67c53bfe444df74456c37d4d1e589f4..9a9adc6dfc67d708c66b494e3ec5eb1947d3f729 100644
--- a/googleapis/datastore/v1/datastore.pb.go
+++ b/googleapis/datastore/v1/datastore.pb.go
@@ -1,14 +1,14 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/datastore/v1/datastore.proto
+// source: google/datastore/v1/datastore.proto
 // DO NOT EDIT!
 
 /*
-Package google_datastore_v1 is a generated protocol buffer package.
+Package datastore is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/datastore/v1/datastore.proto
-	google.golang.org/genproto/googleapis/datastore/v1/entity.proto
-	google.golang.org/genproto/googleapis/datastore/v1/query.proto
+	google/datastore/v1/datastore.proto
+	google/datastore/v1/entity.proto
+	google/datastore/v1/query.proto
 
 It has these top-level messages:
 	LookupRequest
@@ -44,12 +44,12 @@ It has these top-level messages:
 	GqlQueryParameter
 	QueryResultBatch
 */
-package google_datastore_v1 // import "google.golang.org/genproto/googleapis/datastore/v1"
+package datastore
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -141,6 +141,13 @@ func (m *LookupRequest) String() string            { return proto.CompactTextStr
 func (*LookupRequest) ProtoMessage()               {}
 func (*LookupRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *LookupRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *LookupRequest) GetReadOptions() *ReadOptions {
 	if m != nil {
 		return m.ReadOptions
@@ -242,6 +249,13 @@ func (m *RunQueryRequest) GetQueryType() isRunQueryRequest_QueryType {
 	return nil
 }
 
+func (m *RunQueryRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *RunQueryRequest) GetPartitionId() *PartitionId {
 	if m != nil {
 		return m.PartitionId
@@ -382,6 +396,13 @@ func (m *BeginTransactionRequest) String() string            { return proto.Comp
 func (*BeginTransactionRequest) ProtoMessage()               {}
 func (*BeginTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *BeginTransactionRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 // The response for [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
 type BeginTransactionResponse struct {
 	// The transaction identifier (always present).
@@ -393,6 +414,13 @@ func (m *BeginTransactionResponse) String() string            { return proto.Com
 func (*BeginTransactionResponse) ProtoMessage()               {}
 func (*BeginTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *BeginTransactionResponse) GetTransaction() []byte {
+	if m != nil {
+		return m.Transaction
+	}
+	return nil
+}
+
 // The request for [Datastore.Rollback][google.datastore.v1.Datastore.Rollback].
 type RollbackRequest struct {
 	// The ID of the project against which to make the request.
@@ -407,6 +435,20 @@ func (m *RollbackRequest) String() string            { return proto.CompactTextS
 func (*RollbackRequest) ProtoMessage()               {}
 func (*RollbackRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *RollbackRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *RollbackRequest) GetTransaction() []byte {
+	if m != nil {
+		return m.Transaction
+	}
+	return nil
+}
+
 // The response for [Datastore.Rollback][google.datastore.v1.Datastore.Rollback].
 // (an empty message).
 type RollbackResponse struct {
@@ -466,6 +508,20 @@ func (m *CommitRequest) GetTransactionSelector() isCommitRequest_TransactionSele
 	return nil
 }
 
+func (m *CommitRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *CommitRequest) GetMode() CommitRequest_Mode {
+	if m != nil {
+		return m.Mode
+	}
+	return CommitRequest_MODE_UNSPECIFIED
+}
+
 func (m *CommitRequest) GetTransaction() []byte {
 	if x, ok := m.GetTransactionSelector().(*CommitRequest_Transaction); ok {
 		return x.Transaction
@@ -553,6 +609,13 @@ func (m *CommitResponse) GetMutationResults() []*MutationResult {
 	return nil
 }
 
+func (m *CommitResponse) GetIndexUpdates() int32 {
+	if m != nil {
+		return m.IndexUpdates
+	}
+	return 0
+}
+
 // The request for [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds].
 type AllocateIdsRequest struct {
 	// The ID of the project against which to make the request.
@@ -567,6 +630,13 @@ func (m *AllocateIdsRequest) String() string            { return proto.CompactTe
 func (*AllocateIdsRequest) ProtoMessage()               {}
 func (*AllocateIdsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *AllocateIdsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *AllocateIdsRequest) GetKeys() []*Key {
 	if m != nil {
 		return m.Keys
@@ -867,6 +937,20 @@ func (m *MutationResult) GetKey() *Key {
 	return nil
 }
 
+func (m *MutationResult) GetVersion() int64 {
+	if m != nil {
+		return m.Version
+	}
+	return 0
+}
+
+func (m *MutationResult) GetConflictDetected() bool {
+	if m != nil {
+		return m.ConflictDetected
+	}
+	return false
+}
+
 // The options shared by read requests.
 type ReadOptions struct {
 	// If not specified, lookups and ancestor queries default to
@@ -1254,88 +1338,87 @@ var _Datastore_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/datastore/v1/datastore.proto",
+	Metadata: "google/datastore/v1/datastore.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/datastore/v1/datastore.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/datastore/v1/datastore.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1191 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x57, 0x51, 0x6f, 0xdb, 0x54,
-	0x14, 0xae, 0x93, 0x36, 0x4b, 0x4e, 0xd2, 0x34, 0xbb, 0x1b, 0xcc, 0xca, 0x98, 0x14, 0x5c, 0xaa,
-	0x45, 0xdd, 0x96, 0x6c, 0x81, 0x09, 0xd4, 0x4e, 0xa0, 0x26, 0xcd, 0xd6, 0x88, 0x35, 0x29, 0xb7,
-	0xe9, 0x24, 0x1e, 0x90, 0xe5, 0xda, 0xb7, 0xc6, 0xd4, 0xf1, 0x75, 0xed, 0x9b, 0x8a, 0x08, 0x31,
-	0x09, 0x10, 0xfc, 0x00, 0xf8, 0x05, 0xbc, 0xf0, 0xc4, 0x23, 0x4f, 0x88, 0x7f, 0xc1, 0x23, 0xaf,
-	0xfc, 0x03, 0xfe, 0x00, 0xf2, 0xf5, 0x75, 0x53, 0x67, 0x4e, 0x63, 0x26, 0xde, 0x72, 0x4f, 0xbe,
-	0xef, 0xdc, 0xef, 0x9c, 0x73, 0xef, 0x39, 0xd7, 0xd0, 0x36, 0x29, 0x35, 0x6d, 0xd2, 0x30, 0xa9,
-	0xad, 0x39, 0x66, 0x83, 0x7a, 0x66, 0xd3, 0x24, 0x8e, 0xeb, 0x51, 0x46, 0x9b, 0xe1, 0x5f, 0x9a,
-	0x6b, 0xf9, 0x4d, 0x43, 0x63, 0x9a, 0xcf, 0xa8, 0x47, 0x9a, 0xe7, 0x8f, 0xa6, 0x8b, 0x06, 0xc7,
-	0xa1, 0x1b, 0xc2, 0xc7, 0xd4, 0x7e, 0xfe, 0xa8, 0xda, 0x4b, 0xe7, 0x58, 0x73, 0xad, 0xa6, 0x4f,
-	0xbc, 0x73, 0x4b, 0x27, 0x3a, 0x75, 0x4e, 0x2c, 0xb3, 0xa9, 0x39, 0x0e, 0x65, 0x1a, 0xb3, 0xa8,
-	0xe3, 0x87, 0xfe, 0xab, 0x1f, 0xbd, 0x86, 0x46, 0xe2, 0x30, 0x8b, 0x4d, 0x84, 0x83, 0x0f, 0x5f,
-	0xc3, 0xc1, 0xd9, 0x98, 0x78, 0x82, 0xaf, 0xfc, 0x2c, 0xc1, 0xea, 0x73, 0x4a, 0x4f, 0xc7, 0x2e,
-	0x26, 0x67, 0x63, 0xe2, 0x33, 0x74, 0x07, 0xc0, 0xf5, 0xe8, 0x17, 0x44, 0x67, 0xaa, 0x65, 0xc8,
-	0xf9, 0x9a, 0x54, 0x2f, 0xe0, 0x82, 0xb0, 0xf4, 0x0c, 0xd4, 0x81, 0x92, 0x47, 0x34, 0x43, 0xa5,
-	0x2e, 0x8f, 0x43, 0x96, 0x6a, 0x52, 0xbd, 0xd8, 0xaa, 0x35, 0x12, 0x12, 0xd5, 0xc0, 0x44, 0x33,
-	0x06, 0x21, 0x0e, 0x17, 0xbd, 0xe9, 0x02, 0xdd, 0x87, 0xe5, 0x53, 0x32, 0xf1, 0xe5, 0x6c, 0x2d,
-	0x5b, 0x2f, 0xb6, 0xe4, 0x44, 0xf2, 0xc7, 0x64, 0x82, 0x39, 0x4a, 0xf9, 0x43, 0x82, 0x72, 0xa4,
-	0xd1, 0x77, 0xa9, 0xe3, 0x13, 0xf4, 0x3e, 0xac, 0x9c, 0xd0, 0xb1, 0x63, 0xc8, 0x12, 0xf7, 0xf0,
-	0x76, 0xa2, 0x87, 0x2e, 0x4f, 0x14, 0x26, 0xfe, 0xd8, 0x66, 0x38, 0xc4, 0xa3, 0x6d, 0xb8, 0x36,
-	0xb2, 0x7c, 0xdf, 0x72, 0x4c, 0x39, 0x93, 0x96, 0x1a, 0x31, 0xd0, 0x7b, 0x90, 0x37, 0xc8, 0x09,
-	0xf1, 0x3c, 0x62, 0x2c, 0x94, 0x7e, 0x81, 0x54, 0x7e, 0xcf, 0xc0, 0x1a, 0x1e, 0x3b, 0x9f, 0x04,
-	0x59, 0x4f, 0x9f, 0x64, 0x57, 0xf3, 0x98, 0x15, 0x64, 0x2b, 0x00, 0x64, 0xae, 0x48, 0xf2, 0x41,
-	0x04, 0xec, 0x19, 0xb8, 0xe8, 0x4e, 0x17, 0xff, 0x4f, 0xa5, 0x5a, 0xb0, 0xc2, 0x8f, 0x8b, 0x9c,
-	0xe5, 0xec, 0x6a, 0x22, 0x9b, 0x87, 0xb6, 0xb7, 0x84, 0x43, 0x28, 0x7a, 0x02, 0x05, 0xf3, 0xcc,
-	0x56, 0x43, 0xde, 0x35, 0xce, 0xbb, 0x93, 0xc8, 0x7b, 0x76, 0x66, 0x47, 0xd4, 0xbc, 0x29, 0x7e,
-	0xb7, 0x4b, 0x00, 0x9c, 0xa9, 0xb2, 0x89, 0x4b, 0x94, 0x6f, 0x24, 0xa8, 0x4c, 0x93, 0x27, 0xaa,
-	0xbf, 0x0d, 0x2b, 0xc7, 0x1a, 0xd3, 0x3f, 0x17, 0x21, 0x6d, 0xcc, 0x17, 0x15, 0x56, 0xb0, 0x1d,
-	0x80, 0x71, 0xc8, 0x41, 0x0f, 0xa3, 0x88, 0x32, 0x8b, 0x22, 0x12, 0xf1, 0x28, 0x1f, 0xc0, 0xad,
-	0x36, 0x31, 0x2d, 0x67, 0xe8, 0x69, 0x8e, 0xaf, 0xe9, 0x41, 0x62, 0xd2, 0xd5, 0x51, 0x79, 0x02,
-	0xf2, 0xab, 0x4c, 0x11, 0x44, 0x0d, 0x8a, 0x6c, 0x6a, 0xe6, 0xa1, 0x94, 0xf0, 0x65, 0x93, 0x82,
-	0x61, 0x0d, 0x53, 0xdb, 0x3e, 0xd6, 0xf4, 0xd3, 0x94, 0xe7, 0x66, 0xb1, 0x4f, 0x04, 0x95, 0xa9,
-	0xcf, 0x50, 0x89, 0xf2, 0x6b, 0x06, 0x56, 0x3b, 0x74, 0x34, 0xb2, 0x58, 0xca, 0x6d, 0xb6, 0x61,
-	0x79, 0x44, 0x0d, 0x22, 0xaf, 0xd4, 0xa4, 0x7a, 0xb9, 0x75, 0x37, 0x31, 0x83, 0x31, 0x87, 0x8d,
-	0x7d, 0x6a, 0x10, 0xcc, 0x49, 0x48, 0x49, 0xd0, 0xb8, 0xb7, 0x14, 0x53, 0x89, 0xb6, 0xa1, 0x30,
-	0x1a, 0x8b, 0x4e, 0x29, 0xe7, 0xf8, 0x4d, 0x4b, 0x3e, 0x41, 0xfb, 0x02, 0x85, 0xa7, 0x78, 0xe5,
-	0x29, 0x2c, 0x07, 0xdb, 0xa1, 0x9b, 0x50, 0xd9, 0x1f, 0xec, 0x76, 0xd5, 0xa3, 0xfe, 0xe1, 0x41,
-	0xb7, 0xd3, 0x7b, 0xda, 0xeb, 0xee, 0x56, 0x96, 0xd0, 0x75, 0x58, 0x1d, 0xe2, 0x9d, 0xfe, 0xe1,
-	0x4e, 0x67, 0xd8, 0x1b, 0xf4, 0x77, 0x9e, 0x57, 0x24, 0xf4, 0x06, 0x5c, 0xef, 0x0f, 0xfa, 0x6a,
-	0xdc, 0x9c, 0x69, 0xbf, 0x09, 0x37, 0x2f, 0x69, 0x52, 0x7d, 0x62, 0x13, 0x9d, 0x51, 0x4f, 0xf9,
-	0x5e, 0x82, 0x72, 0x14, 0x9d, 0xa8, 0x65, 0x1f, 0x2a, 0xd1, 0xfe, 0xaa, 0xc7, 0x8f, 0x5c, 0xd4,
-	0xdb, 0xd6, 0xaf, 0x96, 0x1d, 0x36, 0x98, 0xb5, 0x51, 0x6c, 0xed, 0xa3, 0x75, 0x58, 0xb5, 0x1c,
-	0x83, 0x7c, 0xa9, 0x8e, 0x5d, 0x43, 0x63, 0xc4, 0x97, 0x97, 0x6b, 0x52, 0x7d, 0x05, 0x97, 0xb8,
-	0xf1, 0x28, 0xb4, 0x29, 0x1a, 0xa0, 0x1d, 0xdb, 0xa6, 0xba, 0xc6, 0x48, 0xcf, 0xf0, 0x53, 0x96,
-	0x2e, 0xea, 0xbc, 0x52, 0xaa, 0xce, 0xdb, 0x81, 0x1b, 0xb1, 0x2d, 0x44, 0xb8, 0xff, 0xcd, 0xc9,
-	0x6f, 0x19, 0xc8, 0x47, 0x01, 0xa3, 0xc7, 0x90, 0xb3, 0x1c, 0x9f, 0x78, 0x8c, 0x87, 0x54, 0x6c,
-	0xdd, 0xbe, 0xa2, 0xfd, 0xee, 0x2d, 0x61, 0x01, 0x0e, 0x68, 0x61, 0x2a, 0xf8, 0x99, 0x5b, 0x4c,
-	0x0b, 0xc1, 0x21, 0x8d, 0xef, 0x96, 0x4b, 0x49, 0xe3, 0xbb, 0xb5, 0x20, 0x67, 0x10, 0x9b, 0x30,
-	0x22, 0xba, 0xd7, 0xdc, 0x08, 0x03, 0x4e, 0x88, 0x44, 0xeb, 0x50, 0x3a, 0xd6, 0x7c, 0xa2, 0x9e,
-	0x13, 0xcf, 0x0f, 0xce, 0x75, 0x90, 0xf9, 0xec, 0x9e, 0x84, 0x8b, 0x81, 0xf5, 0x45, 0x68, 0x6c,
-	0x17, 0xa1, 0x40, 0x5d, 0xe2, 0xf1, 0x54, 0xb4, 0xef, 0xc0, 0xed, 0xe0, 0x5d, 0x60, 0x5b, 0x3a,
-	0x53, 0x0d, 0xc2, 0x88, 0x38, 0x66, 0xcc, 0xd3, 0x18, 0x31, 0x27, 0xca, 0x77, 0x12, 0x94, 0xe3,
-	0xe7, 0x04, 0x6d, 0x42, 0xf6, 0x94, 0x44, 0xad, 0x78, 0x7e, 0xda, 0x03, 0x10, 0x92, 0xe1, 0x5a,
-	0x24, 0x25, 0xc8, 0x74, 0x16, 0x47, 0x4b, 0x74, 0x0f, 0xae, 0xcf, 0xec, 0x4b, 0x0c, 0x9e, 0xd6,
-	0x3c, 0xae, 0x44, 0x7f, 0xec, 0x0a, 0xbb, 0xf2, 0x8f, 0x04, 0xc5, 0x4b, 0xc3, 0x01, 0x7d, 0x06,
-	0x15, 0x3e, 0x54, 0x74, 0xea, 0xf8, 0x96, 0xcf, 0x88, 0xa3, 0x4f, 0xf8, 0x15, 0x2e, 0xb7, 0x1e,
-	0x2e, 0x1a, 0x2c, 0xfc, 0x77, 0x67, 0xca, 0xdb, 0x5b, 0xc2, 0x6b, 0x5e, 0xdc, 0x34, 0xdb, 0x1c,
-	0x32, 0x09, 0xcd, 0x41, 0xd9, 0x87, 0xb5, 0x19, 0x4f, 0xa8, 0x06, 0x6f, 0xe1, 0xee, 0xce, 0xae,
-	0xda, 0x19, 0xf4, 0x0f, 0x7b, 0x87, 0xc3, 0x6e, 0xbf, 0xf3, 0xe9, 0xcc, 0xb5, 0x07, 0xc8, 0x1d,
-	0x0e, 0xf1, 0xa0, 0xff, 0xac, 0x22, 0xa1, 0x12, 0xe4, 0xbb, 0x2f, 0xba, 0xfd, 0xe1, 0x11, 0xbf,
-	0xe6, 0x08, 0x2a, 0x97, 0x82, 0xe1, 0x53, 0xa7, 0xf5, 0x57, 0x0e, 0x0a, 0xbb, 0x51, 0x18, 0xe8,
-	0x25, 0xe4, 0xc2, 0xe7, 0x07, 0x52, 0x12, 0x63, 0x8c, 0xbd, 0x9f, 0xaa, 0xeb, 0x57, 0x62, 0x44,
-	0xcb, 0xbd, 0xf7, 0xed, 0x9f, 0x7f, 0xff, 0x94, 0xd9, 0x50, 0x6a, 0xc1, 0x7b, 0x4c, 0xdc, 0x4e,
-	0xbf, 0xf9, 0xd5, 0xf4, 0xe6, 0x7e, 0xbd, 0x65, 0x73, 0xc6, 0x96, 0xb4, 0x89, 0x7e, 0x90, 0x20,
-	0x1f, 0xcd, 0x40, 0xf4, 0x4e, 0x72, 0x9a, 0xe3, 0xef, 0x8b, 0xea, 0xc6, 0x02, 0x94, 0x90, 0xf1,
-	0x80, 0xcb, 0xb8, 0xab, 0x28, 0xf3, 0x65, 0x78, 0x82, 0x13, 0x08, 0xf9, 0x45, 0x82, 0xca, 0xec,
-	0x3c, 0x43, 0xf7, 0x13, 0xb7, 0x9a, 0x33, 0x30, 0xab, 0x0f, 0x52, 0xa2, 0x85, 0xc0, 0xc7, 0x5c,
-	0x60, 0x53, 0xd9, 0x9c, 0x2f, 0xf0, 0x78, 0x86, 0x1b, 0x08, 0x7d, 0x09, 0xb9, 0xb0, 0x43, 0xcf,
-	0xa9, 0x58, 0x6c, 0x38, 0xcd, 0xa9, 0x58, 0xbc, 0xc5, 0xa7, 0xa9, 0x98, 0xce, 0x19, 0x17, 0x15,
-	0x13, 0x63, 0x76, 0x5e, 0xc5, 0xe2, 0x93, 0x7d, 0x5e, 0xc5, 0x66, 0x67, 0x75, 0x9a, 0x8a, 0x09,
-	0x4e, 0x20, 0xe4, 0x47, 0x09, 0x8a, 0x97, 0x3a, 0x38, 0x4a, 0x9e, 0xd5, 0xaf, 0x8e, 0x91, 0x6a,
-	0x7d, 0x31, 0x50, 0x28, 0x7a, 0xc8, 0x15, 0x6d, 0x2a, 0x1b, 0xf3, 0x15, 0x69, 0x53, 0xda, 0x96,
-	0xb4, 0xd9, 0xbe, 0x07, 0xb7, 0x74, 0x3a, 0x4a, 0xda, 0xa0, 0x5d, 0xbe, 0xb8, 0x75, 0x07, 0xc1,
-	0xe7, 0xc9, 0x81, 0x74, 0x9c, 0xe3, 0xdf, 0x29, 0xef, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xb9,
-	0x33, 0xe7, 0xde, 0xce, 0x0d, 0x00, 0x00,
+	// 1205 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x41, 0x6f, 0xe3, 0x44,
+	0x14, 0xae, 0x93, 0x36, 0x9b, 0xbc, 0xa4, 0x69, 0x3a, 0xbb, 0xb0, 0x26, 0xbb, 0x15, 0xc1, 0xa5,
+	0xda, 0xa8, 0xbb, 0x9b, 0xb4, 0x81, 0x15, 0xa8, 0xed, 0xa5, 0x49, 0xb3, 0x6d, 0xc4, 0x36, 0x29,
+	0xd3, 0xb4, 0x12, 0x48, 0xc8, 0x72, 0xed, 0x69, 0x30, 0x75, 0x3c, 0xae, 0x3d, 0xa9, 0x88, 0x10,
+	0x2b, 0x01, 0x5a, 0x7e, 0x00, 0xfc, 0x02, 0x2e, 0x1c, 0x10, 0x47, 0x4e, 0x88, 0x7f, 0xc1, 0x91,
+	0x2b, 0xff, 0x80, 0x3f, 0x80, 0x3c, 0x1e, 0x37, 0x75, 0xd6, 0x69, 0x82, 0xc4, 0x2d, 0xf3, 0xf2,
+	0x7d, 0x6f, 0xbe, 0xf7, 0xde, 0xcc, 0x7b, 0x63, 0x58, 0xed, 0x51, 0xda, 0xb3, 0x48, 0xd5, 0xd0,
+	0x98, 0xe6, 0x31, 0xea, 0x92, 0xea, 0xd5, 0xe6, 0x68, 0x51, 0x71, 0x5c, 0xca, 0x28, 0xba, 0x1b,
+	0x80, 0x2a, 0x23, 0xfb, 0xd5, 0x66, 0xf1, 0xa1, 0x60, 0x6a, 0x8e, 0x59, 0xd5, 0x6c, 0x9b, 0x32,
+	0x8d, 0x99, 0xd4, 0xf6, 0x02, 0x4a, 0xb1, 0x14, 0xe7, 0x97, 0xd8, 0xcc, 0x64, 0x43, 0x81, 0x78,
+	0x3b, 0x0e, 0x71, 0x39, 0x20, 0xae, 0x00, 0x28, 0x3f, 0x49, 0xb0, 0xf8, 0x82, 0xd2, 0x8b, 0x81,
+	0x83, 0xc9, 0xe5, 0x80, 0x78, 0x0c, 0xad, 0x00, 0x38, 0x2e, 0xfd, 0x82, 0xe8, 0x4c, 0x35, 0x0d,
+	0x39, 0x5d, 0x92, 0xca, 0x19, 0x9c, 0x11, 0x96, 0x96, 0x81, 0x1a, 0x90, 0x73, 0x89, 0x66, 0xa8,
+	0xd4, 0xe1, 0x4a, 0x64, 0xa9, 0x24, 0x95, 0xb3, 0xb5, 0x52, 0x25, 0x46, 0x7d, 0x05, 0x13, 0xcd,
+	0xe8, 0x04, 0x38, 0x9c, 0x75, 0x47, 0x0b, 0xf4, 0x04, 0xe6, 0x2f, 0xc8, 0xd0, 0x93, 0x93, 0xa5,
+	0x64, 0x39, 0x5b, 0x93, 0x63, 0xc9, 0x1f, 0x91, 0x21, 0xe6, 0x28, 0xe5, 0x0f, 0x09, 0xf2, 0xa1,
+	0x46, 0xcf, 0xa1, 0xb6, 0x47, 0xd0, 0x07, 0xb0, 0x70, 0x4e, 0x07, 0xb6, 0x21, 0x4b, 0xdc, 0xc3,
+	0x3b, 0xb1, 0x1e, 0x9a, 0x3c, 0x13, 0x98, 0x78, 0x03, 0x8b, 0xe1, 0x00, 0x8f, 0xb6, 0xe1, 0x4e,
+	0xdf, 0xf4, 0x3c, 0xd3, 0xee, 0xc9, 0x89, 0x59, 0xa9, 0x21, 0x03, 0xbd, 0x0f, 0x69, 0x83, 0x9c,
+	0x13, 0xd7, 0x25, 0xc6, 0x54, 0xe9, 0xd7, 0x48, 0xe5, 0xf7, 0x04, 0x2c, 0xe1, 0x81, 0xfd, 0xb1,
+	0x9f, 0xf5, 0xd9, 0x93, 0xec, 0x68, 0x2e, 0x33, 0xfd, 0x6c, 0xf9, 0x80, 0xc4, 0x2d, 0x49, 0x3e,
+	0x0a, 0x81, 0x2d, 0x03, 0x67, 0x9d, 0xd1, 0xe2, 0xff, 0xa9, 0x54, 0x0d, 0x16, 0xf8, 0x71, 0x91,
+	0x93, 0x9c, 0x5d, 0x8c, 0x65, 0xf3, 0xd0, 0x0e, 0xe6, 0x70, 0x00, 0x45, 0x3b, 0x90, 0xe9, 0x5d,
+	0x5a, 0x6a, 0xc0, 0xbb, 0xc3, 0x79, 0x2b, 0xb1, 0xbc, 0xfd, 0x4b, 0x2b, 0xa4, 0xa6, 0x7b, 0xe2,
+	0x77, 0x3d, 0x07, 0xc0, 0x99, 0x2a, 0x1b, 0x3a, 0x44, 0xf9, 0x46, 0x82, 0xc2, 0x28, 0x79, 0xa2,
+	0xfa, 0xdb, 0xb0, 0x70, 0xa6, 0x31, 0xfd, 0x73, 0x11, 0xd2, 0xda, 0x64, 0x51, 0x41, 0x05, 0xeb,
+	0x3e, 0x18, 0x07, 0x1c, 0xb4, 0x11, 0x46, 0x94, 0x98, 0x16, 0x91, 0x88, 0x47, 0xf9, 0x10, 0xee,
+	0xd7, 0x49, 0xcf, 0xb4, 0xbb, 0xae, 0x66, 0x7b, 0x9a, 0xee, 0x27, 0x66, 0xb6, 0x3a, 0x2a, 0x3b,
+	0x20, 0xbf, 0xce, 0x14, 0x41, 0x94, 0x20, 0xcb, 0x46, 0x66, 0x1e, 0x4a, 0x0e, 0xdf, 0x34, 0x29,
+	0x18, 0x96, 0x30, 0xb5, 0xac, 0x33, 0x4d, 0xbf, 0x98, 0xf1, 0xdc, 0x4c, 0xf7, 0x89, 0xa0, 0x30,
+	0xf2, 0x19, 0x28, 0x51, 0x7e, 0x4d, 0xc0, 0x62, 0x83, 0xf6, 0xfb, 0x26, 0x9b, 0x71, 0x9b, 0x6d,
+	0x98, 0xef, 0x53, 0x83, 0xc8, 0x0b, 0x25, 0xa9, 0x9c, 0xaf, 0x3d, 0x8a, 0xcd, 0x60, 0xc4, 0x61,
+	0xe5, 0x90, 0x1a, 0x04, 0x73, 0x12, 0x52, 0x62, 0x34, 0x1e, 0xcc, 0x45, 0x54, 0xa2, 0x6d, 0xc8,
+	0xf4, 0x07, 0xa2, 0xd7, 0xc9, 0x29, 0x7e, 0xd3, 0xe2, 0x4f, 0xd0, 0xa1, 0x40, 0xe1, 0x11, 0x5e,
+	0x79, 0x0e, 0xf3, 0xfe, 0x76, 0xe8, 0x1e, 0x14, 0x0e, 0x3b, 0x7b, 0x4d, 0xf5, 0xa4, 0x7d, 0x7c,
+	0xd4, 0x6c, 0xb4, 0x9e, 0xb7, 0x9a, 0x7b, 0x85, 0x39, 0xb4, 0x0c, 0x8b, 0x5d, 0xbc, 0xdb, 0x3e,
+	0xde, 0x6d, 0x74, 0x5b, 0x9d, 0xf6, 0xee, 0x8b, 0x82, 0x84, 0xde, 0x80, 0xe5, 0x76, 0xa7, 0xad,
+	0x46, 0xcd, 0x89, 0xfa, 0x9b, 0x70, 0xef, 0x86, 0x26, 0xd5, 0x23, 0x16, 0xd1, 0x19, 0x75, 0x95,
+	0x57, 0x12, 0xe4, 0xc3, 0xe8, 0x44, 0x2d, 0xdb, 0x50, 0x08, 0xf7, 0x57, 0x5d, 0x7e, 0xe4, 0xc2,
+	0xde, 0xb6, 0x7a, 0xbb, 0xec, 0xa0, 0xc1, 0x2c, 0xf5, 0x23, 0x6b, 0x0f, 0xad, 0xc2, 0xa2, 0x69,
+	0x1b, 0xe4, 0x4b, 0x75, 0xe0, 0x18, 0x1a, 0x23, 0x9e, 0x3c, 0x5f, 0x92, 0xca, 0x0b, 0x38, 0xc7,
+	0x8d, 0x27, 0x81, 0x4d, 0xd1, 0x00, 0xed, 0x5a, 0x16, 0xd5, 0x35, 0x46, 0x5a, 0x86, 0x37, 0x63,
+	0xe9, 0xc2, 0xce, 0x2b, 0xcd, 0xd4, 0x79, 0x1b, 0x70, 0x37, 0xb2, 0x85, 0x08, 0xf7, 0xbf, 0x39,
+	0xf9, 0x2d, 0x01, 0xe9, 0x30, 0x60, 0xf4, 0x0c, 0x52, 0xa6, 0xed, 0x11, 0x97, 0xf1, 0x90, 0xb2,
+	0xb5, 0x07, 0xb7, 0xb4, 0xdf, 0x83, 0x39, 0x2c, 0xc0, 0x3e, 0x2d, 0x48, 0x05, 0x3f, 0x73, 0xd3,
+	0x69, 0x01, 0x38, 0xa0, 0xf1, 0xdd, 0x52, 0x33, 0xd2, 0xf8, 0x6e, 0x35, 0x48, 0x19, 0xc4, 0x22,
+	0x8c, 0x88, 0xee, 0x35, 0x31, 0x42, 0x9f, 0x13, 0x20, 0xd1, 0x2a, 0xe4, 0xce, 0x34, 0x8f, 0xa8,
+	0x57, 0xc4, 0xf5, 0xfc, 0x73, 0xed, 0x67, 0x3e, 0x79, 0x20, 0xe1, 0xac, 0x6f, 0x3d, 0x0d, 0x8c,
+	0xf5, 0x2c, 0x64, 0xa8, 0x43, 0x5c, 0x9e, 0x8a, 0xfa, 0x0a, 0x3c, 0xd0, 0xa9, 0x7d, 0x6e, 0x99,
+	0x3a, 0x53, 0x0d, 0xc2, 0x88, 0x38, 0x66, 0xcc, 0xd5, 0x18, 0xe9, 0x0d, 0x95, 0xef, 0x24, 0xc8,
+	0x47, 0xcf, 0x09, 0x5a, 0x87, 0xe4, 0x05, 0x09, 0x5b, 0xf1, 0xe4, 0xb4, 0xfb, 0x20, 0x24, 0xc3,
+	0x9d, 0x50, 0x8a, 0x9f, 0xe9, 0x24, 0x0e, 0x97, 0xe8, 0x31, 0x2c, 0x8f, 0xed, 0x4b, 0x0c, 0x9e,
+	0xd6, 0x34, 0x2e, 0x84, 0x7f, 0xec, 0x09, 0xbb, 0xf2, 0x8f, 0x04, 0xd9, 0x1b, 0xc3, 0x01, 0x7d,
+	0x06, 0x05, 0x3e, 0x54, 0x74, 0x6a, 0x7b, 0xa6, 0xc7, 0x88, 0xad, 0x0f, 0xf9, 0x15, 0xce, 0xd7,
+	0x36, 0xa6, 0x0d, 0x16, 0xfe, 0xbb, 0x31, 0xe2, 0x1d, 0xcc, 0xe1, 0x25, 0x37, 0x6a, 0x1a, 0x6f,
+	0x0e, 0x89, 0x98, 0xe6, 0xa0, 0x1c, 0xc2, 0xd2, 0x98, 0x27, 0x54, 0x82, 0x87, 0xb8, 0xb9, 0xbb,
+	0xa7, 0x36, 0x3a, 0xed, 0xe3, 0xd6, 0x71, 0xb7, 0xd9, 0x6e, 0x7c, 0x32, 0x76, 0xed, 0x01, 0x52,
+	0xc7, 0x5d, 0xdc, 0x69, 0xef, 0x17, 0x24, 0x94, 0x83, 0x74, 0xf3, 0xb4, 0xd9, 0xee, 0x9e, 0xf0,
+	0x6b, 0x8e, 0xa0, 0x70, 0x23, 0x18, 0x3e, 0x75, 0x6a, 0x7f, 0xa5, 0x20, 0xb3, 0x17, 0x86, 0x81,
+	0x5e, 0x42, 0x2a, 0x78, 0x7e, 0x20, 0x25, 0x36, 0xc6, 0xc8, 0xfb, 0xa9, 0xb8, 0x7a, 0x2b, 0x46,
+	0xb4, 0xdc, 0xc7, 0xdf, 0xfe, 0xf9, 0xf7, 0x8f, 0x89, 0x35, 0xa5, 0xe4, 0xbf, 0xc7, 0xc4, 0xed,
+	0xf4, 0xaa, 0x5f, 0x8d, 0x6e, 0xee, 0xd7, 0x5b, 0x16, 0x67, 0x6c, 0x49, 0xeb, 0xe8, 0x7b, 0x09,
+	0xd2, 0xe1, 0x0c, 0x44, 0xef, 0xc6, 0xa7, 0x39, 0xfa, 0xbe, 0x28, 0xae, 0x4d, 0x41, 0x09, 0x19,
+	0x4f, 0xb9, 0x8c, 0x47, 0x8a, 0x32, 0x59, 0x86, 0x2b, 0x38, 0xbe, 0x90, 0x9f, 0x25, 0x28, 0x8c,
+	0xcf, 0x33, 0xf4, 0x24, 0x76, 0xab, 0x09, 0x03, 0xb3, 0xf8, 0x74, 0x46, 0xb4, 0x10, 0xf8, 0x8c,
+	0x0b, 0xac, 0x2a, 0xeb, 0x93, 0x05, 0x9e, 0x8d, 0x71, 0x7d, 0xa1, 0x2f, 0x21, 0x15, 0x74, 0xe8,
+	0x09, 0x15, 0x8b, 0x0c, 0xa7, 0x09, 0x15, 0x8b, 0xb6, 0xf8, 0x59, 0x2a, 0xa6, 0x73, 0xc6, 0x75,
+	0xc5, 0xc4, 0x98, 0x9d, 0x54, 0xb1, 0xe8, 0x64, 0x9f, 0x54, 0xb1, 0xf1, 0x59, 0x3d, 0x4b, 0xc5,
+	0x04, 0xc7, 0x17, 0xf2, 0x83, 0x04, 0xd9, 0x1b, 0x1d, 0x1c, 0xc5, 0xcf, 0xea, 0xd7, 0xc7, 0x48,
+	0xb1, 0x3c, 0x1d, 0x28, 0x14, 0x6d, 0x70, 0x45, 0xeb, 0xca, 0xda, 0x64, 0x45, 0xda, 0x88, 0xb6,
+	0x25, 0xad, 0xd7, 0x5f, 0x49, 0x70, 0x5f, 0xa7, 0xfd, 0xb8, 0x1d, 0xea, 0xf9, 0xeb, 0x6b, 0x77,
+	0xe4, 0x7f, 0x9f, 0x1c, 0x49, 0x9f, 0xee, 0x08, 0x58, 0x8f, 0x5a, 0x9a, 0xdd, 0xab, 0x50, 0xb7,
+	0x57, 0xed, 0x11, 0x9b, 0x7f, 0xbd, 0x54, 0x83, 0xbf, 0x34, 0xc7, 0xf4, 0x22, 0x5f, 0x38, 0xdb,
+	0xd7, 0x8b, 0x5f, 0x12, 0x6f, 0xed, 0x07, 0xf4, 0x86, 0x45, 0x07, 0x46, 0xe5, 0xda, 0x7b, 0xe5,
+	0x74, 0xf3, 0x2c, 0xc5, 0x9d, 0xbc, 0xf7, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6b, 0xa3, 0xc8,
+	0x39, 0x9f, 0x0d, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1/datastore.proto b/googleapis/datastore/v1/datastore.proto
deleted file mode 100644
index 083c53b4c7c0aff7720659311d9ba1bbe9c685f4..0000000000000000000000000000000000000000
--- a/googleapis/datastore/v1/datastore.proto
+++ /dev/null
@@ -1,316 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.datastore.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/datastore/v1/entity.proto"; // from google/datastore/v1/entity.proto
-import "google.golang.org/genproto/googleapis/datastore/v1/query.proto"; // from google/datastore/v1/query.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "DatastoreProto";
-option java_package = "com.google.datastore.v1";
-
-
-// Each RPC normalizes the partition IDs of the keys in its input entities,
-// and always returns entities with keys with normalized partition IDs.
-// This applies to all keys and entities, including those in values, except keys
-// with both an empty path and an empty or unset partition ID. Normalization of
-// input keys sets the project ID (if not already set) to the project ID from
-// the request.
-//
-service Datastore {
-  // Looks up entities by key.
-  rpc Lookup(LookupRequest) returns (LookupResponse) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}:lookup" body: "*" };
-  }
-
-  // Queries for entities.
-  rpc RunQuery(RunQueryRequest) returns (RunQueryResponse) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}:runQuery" body: "*" };
-  }
-
-  // Begins a new transaction.
-  rpc BeginTransaction(BeginTransactionRequest) returns (BeginTransactionResponse) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}:beginTransaction" body: "*" };
-  }
-
-  // Commits a transaction, optionally creating, deleting or modifying some
-  // entities.
-  rpc Commit(CommitRequest) returns (CommitResponse) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}:commit" body: "*" };
-  }
-
-  // Rolls back a transaction.
-  rpc Rollback(RollbackRequest) returns (RollbackResponse) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}:rollback" body: "*" };
-  }
-
-  // Allocates IDs for the given keys, which is useful for referencing an entity
-  // before it is inserted.
-  rpc AllocateIds(AllocateIdsRequest) returns (AllocateIdsResponse) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}:allocateIds" body: "*" };
-  }
-}
-
-// The request for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup].
-message LookupRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // The options for this lookup request.
-  ReadOptions read_options = 1;
-
-  // Keys of entities to look up.
-  repeated Key keys = 3;
-}
-
-// The response for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup].
-message LookupResponse {
-  // Entities found as `ResultType.FULL` entities. The order of results in this
-  // field is undefined and has no relation to the order of the keys in the
-  // input.
-  repeated EntityResult found = 1;
-
-  // Entities not found as `ResultType.KEY_ONLY` entities. The order of results
-  // in this field is undefined and has no relation to the order of the keys
-  // in the input.
-  repeated EntityResult missing = 2;
-
-  // A list of keys that were not looked up due to resource constraints. The
-  // order of results in this field is undefined and has no relation to the
-  // order of the keys in the input.
-  repeated Key deferred = 3;
-}
-
-// The request for [Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery].
-message RunQueryRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // Entities are partitioned into subsets, identified by a partition ID.
-  // Queries are scoped to a single partition.
-  // This partition ID is normalized with the standard default context
-  // partition ID.
-  PartitionId partition_id = 2;
-
-  // The options for this query.
-  ReadOptions read_options = 1;
-
-  // The type of query.
-  oneof query_type {
-    // The query to run.
-    Query query = 3;
-
-    // The GQL query to run.
-    GqlQuery gql_query = 7;
-  }
-}
-
-// The response for [Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery].
-message RunQueryResponse {
-  // A batch of query results (always present).
-  QueryResultBatch batch = 1;
-
-  // The parsed form of the `GqlQuery` from the request, if it was set.
-  Query query = 2;
-}
-
-// The request for [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
-message BeginTransactionRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-}
-
-// The response for [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
-message BeginTransactionResponse {
-  // The transaction identifier (always present).
-  bytes transaction = 1;
-}
-
-// The request for [Datastore.Rollback][google.datastore.v1.Datastore.Rollback].
-message RollbackRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // The transaction identifier, returned by a call to
-  // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
-  bytes transaction = 1;
-}
-
-// The response for [Datastore.Rollback][google.datastore.v1.Datastore.Rollback].
-// (an empty message).
-message RollbackResponse {
-
-}
-
-// The request for [Datastore.Commit][google.datastore.v1.Datastore.Commit].
-message CommitRequest {
-  // The modes available for commits.
-  enum Mode {
-    // Unspecified. This value must not be used.
-    MODE_UNSPECIFIED = 0;
-
-    // Transactional: The mutations are either all applied, or none are applied.
-    // Learn about transactions [here](https://cloud.google.com/datastore/docs/concepts/transactions).
-    TRANSACTIONAL = 1;
-
-    // Non-transactional: The mutations may not apply as all or none.
-    NON_TRANSACTIONAL = 2;
-  }
-
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // The type of commit to perform. Defaults to `TRANSACTIONAL`.
-  Mode mode = 5;
-
-  // Must be set when mode is `TRANSACTIONAL`.
-  oneof transaction_selector {
-    // The identifier of the transaction associated with the commit. A
-    // transaction identifier is returned by a call to
-    // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
-    bytes transaction = 1;
-  }
-
-  // The mutations to perform.
-  //
-  // When mode is `TRANSACTIONAL`, mutations affecting a single entity are
-  // applied in order. The following sequences of mutations affecting a single
-  // entity are not permitted in a single `Commit` request:
-  //
-  // - `insert` followed by `insert`
-  // - `update` followed by `insert`
-  // - `upsert` followed by `insert`
-  // - `delete` followed by `update`
-  //
-  // When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single
-  // entity.
-  repeated Mutation mutations = 6;
-}
-
-// The response for [Datastore.Commit][google.datastore.v1.Datastore.Commit].
-message CommitResponse {
-  // The result of performing the mutations.
-  // The i-th mutation result corresponds to the i-th mutation in the request.
-  repeated MutationResult mutation_results = 3;
-
-  // The number of index entries updated during the commit, or zero if none were
-  // updated.
-  int32 index_updates = 4;
-}
-
-// The request for [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds].
-message AllocateIdsRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // A list of keys with incomplete key paths for which to allocate IDs.
-  // No key may be reserved/read-only.
-  repeated Key keys = 1;
-}
-
-// The response for [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds].
-message AllocateIdsResponse {
-  // The keys specified in the request (in the same order), each with
-  // its key path completed with a newly allocated ID.
-  repeated Key keys = 1;
-}
-
-// A mutation to apply to an entity.
-message Mutation {
-  // The mutation operation.
-  //
-  // For `insert`, `update`, and `upsert`:
-  // - The entity's key must not be reserved/read-only.
-  // - No property in the entity may have a reserved name,
-  //   not even a property in an entity in a value.
-  // - No value in the entity may have meaning 18,
-  //   not even a value in an entity in another value.
-  oneof operation {
-    // The entity to insert. The entity must not already exist.
-    // The entity key's final path element may be incomplete.
-    Entity insert = 4;
-
-    // The entity to update. The entity must already exist.
-    // Must have a complete key path.
-    Entity update = 5;
-
-    // The entity to upsert. The entity may or may not already exist.
-    // The entity key's final path element may be incomplete.
-    Entity upsert = 6;
-
-    // The key of the entity to delete. The entity may or may not already exist.
-    // Must have a complete key path and must not be reserved/read-only.
-    Key delete = 7;
-  }
-
-  // When set, the server will detect whether or not this mutation conflicts
-  // with the current version of the entity on the server. Conflicting mutations
-  // are not applied, and are marked as such in MutationResult.
-  oneof conflict_detection_strategy {
-    // The version of the entity that this mutation is being applied to. If this
-    // does not match the current version on the server, the mutation conflicts.
-    int64 base_version = 8;
-  }
-}
-
-// The result of applying a mutation.
-message MutationResult {
-  // The automatically allocated key.
-  // Set only when the mutation allocated a key.
-  Key key = 3;
-
-  // The version of the entity on the server after processing the mutation. If
-  // the mutation doesn't change anything on the server, then the version will
-  // be the version of the current entity or, if no entity is present, a version
-  // that is strictly greater than the version of any previous entity and less
-  // than the version of any possible future entity.
-  int64 version = 4;
-
-  // Whether a conflict was detected for this mutation. Always false when a
-  // conflict detection strategy field is not set in the mutation.
-  bool conflict_detected = 5;
-}
-
-// The options shared by read requests.
-message ReadOptions {
-  // The possible values for read consistencies.
-  enum ReadConsistency {
-    // Unspecified. This value must not be used.
-    READ_CONSISTENCY_UNSPECIFIED = 0;
-
-    // Strong consistency.
-    STRONG = 1;
-
-    // Eventual consistency.
-    EVENTUAL = 2;
-  }
-
-  // If not specified, lookups and ancestor queries default to
-  // `read_consistency`=`STRONG`, global queries default to
-  // `read_consistency`=`EVENTUAL`.
-  oneof consistency_type {
-    // The non-transactional read consistency to use.
-    // Cannot be set to `STRONG` for global queries.
-    ReadConsistency read_consistency = 1;
-
-    // The identifier of the transaction in which to read. A
-    // transaction identifier is returned by a call to
-    // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
-    bytes transaction = 2;
-  }
-}
diff --git a/googleapis/datastore/v1/entity.pb.go b/googleapis/datastore/v1/entity.pb.go
index ea25027e0457781c6b49e9088b2af329ff9418da..75f58ca39458513212becbe03b90f8148a01d05f 100644
--- a/googleapis/datastore/v1/entity.pb.go
+++ b/googleapis/datastore/v1/entity.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/datastore/v1/entity.proto
+// source: google/datastore/v1/entity.proto
 // DO NOT EDIT!
 
-package google_datastore_v1 // import "google.golang.org/genproto/googleapis/datastore/v1"
+package datastore
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/struct"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 import google_type "google.golang.org/genproto/googleapis/type/latlng"
@@ -48,6 +48,20 @@ func (m *PartitionId) String() string            { return proto.CompactTextStrin
 func (*PartitionId) ProtoMessage()               {}
 func (*PartitionId) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *PartitionId) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *PartitionId) GetNamespaceId() string {
+	if m != nil {
+		return m.NamespaceId
+	}
+	return ""
+}
+
 // A unique identifier for an entity.
 // If a key's partition ID or any of its path kinds or names are
 // reserved/read-only, the key is reserved/read-only.
@@ -139,6 +153,13 @@ func (m *Key_PathElement) GetIdType() isKey_PathElement_IdType {
 	return nil
 }
 
+func (m *Key_PathElement) GetKind() string {
+	if m != nil {
+		return m.Kind
+	}
+	return ""
+}
+
 func (m *Key_PathElement) GetId() int64 {
 	if x, ok := m.GetIdType().(*Key_PathElement_Id); ok {
 		return x.Id
@@ -402,6 +423,20 @@ func (m *Value) GetArrayValue() *ArrayValue {
 	return nil
 }
 
+func (m *Value) GetMeaning() int32 {
+	if m != nil {
+		return m.Meaning
+	}
+	return 0
+}
+
+func (m *Value) GetExcludeFromIndexes() bool {
+	if m != nil {
+		return m.ExcludeFromIndexes
+	}
+	return false
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Value) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _Value_OneofMarshaler, _Value_OneofUnmarshaler, _Value_OneofSizer, []interface{}{
@@ -673,59 +708,56 @@ func init() {
 	proto.RegisterType((*Entity)(nil), "google.datastore.v1.Entity")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/datastore/v1/entity.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/datastore/v1/entity.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 771 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x94, 0x6f, 0x8f, 0xdb, 0x44,
-	0x10, 0xc6, 0xed, 0xe4, 0x72, 0xbd, 0x8c, 0xd3, 0xbb, 0xb2, 0x57, 0x09, 0x2b, 0x08, 0x35, 0x1c,
-	0x20, 0x45, 0x20, 0xd9, 0xed, 0x21, 0x44, 0x45, 0x05, 0x94, 0xa0, 0x43, 0x8e, 0xae, 0x82, 0x68,
-	0x55, 0x21, 0xf1, 0x2a, 0xda, 0xd8, 0x73, 0xbe, 0xe5, 0xec, 0x5d, 0xcb, 0x5e, 0x47, 0xf5, 0x77,
-	0xe1, 0x93, 0x21, 0x3e, 0x0c, 0xda, 0x3f, 0x71, 0x4e, 0x90, 0x96, 0xbe, 0x8a, 0x3d, 0xfb, 0x7b,
-	0x9e, 0x3c, 0xe3, 0x19, 0x1b, 0x7e, 0xc8, 0xa5, 0xcc, 0x0b, 0x8c, 0x72, 0x59, 0x30, 0x91, 0x47,
-	0xb2, 0xce, 0xe3, 0x1c, 0x45, 0x55, 0x4b, 0x25, 0x63, 0x7b, 0xc4, 0x2a, 0xde, 0xc4, 0x19, 0x53,
-	0xac, 0x51, 0xb2, 0xc6, 0x78, 0xfb, 0x2c, 0x46, 0xa1, 0xb8, 0xea, 0x22, 0x03, 0x91, 0x73, 0x67,
-	0xd0, 0x13, 0xd1, 0xf6, 0xd9, 0x74, 0xf9, 0x7e, 0xae, 0xac, 0xe2, 0x71, 0x83, 0xf5, 0x96, 0xa7,
-	0x98, 0x4a, 0x71, 0xc3, 0xf3, 0x98, 0x09, 0x21, 0x15, 0x53, 0x5c, 0x8a, 0xc6, 0xfa, 0x4f, 0xbf,
-	0xce, 0xb9, 0xba, 0x6d, 0x37, 0x51, 0x2a, 0xcb, 0xd8, 0xda, 0xc5, 0xe6, 0x60, 0xd3, 0xde, 0xc4,
-	0x95, 0xea, 0x2a, 0x6c, 0xe2, 0x46, 0xd5, 0x6d, 0xaa, 0xdc, 0x8f, 0x93, 0xbd, 0xf8, 0x7f, 0x99,
-	0xe2, 0x25, 0x36, 0x8a, 0x95, 0xd5, 0xfe, 0xca, 0x89, 0xbf, 0x7f, 0xbf, 0xf8, 0xda, 0x26, 0x2e,
-	0x98, 0x2a, 0x44, 0xee, 0x7e, 0xac, 0xfe, 0xe2, 0x57, 0x08, 0x56, 0xac, 0x56, 0x5c, 0xf7, 0xb1,
-	0xcc, 0xc8, 0xc7, 0x00, 0x55, 0x2d, 0xff, 0xc0, 0x54, 0xad, 0x79, 0x16, 0x0e, 0x66, 0xfe, 0x7c,
-	0x4c, 0xc7, 0xae, 0xb2, 0xcc, 0xc8, 0x27, 0x30, 0x11, 0xac, 0xc4, 0xa6, 0x62, 0x29, 0x6a, 0xe0,
-	0xc8, 0x00, 0x41, 0x5f, 0x5b, 0x66, 0x17, 0x7f, 0xf9, 0x30, 0xbc, 0xc6, 0x8e, 0xfc, 0x04, 0x93,
-	0x6a, 0x67, 0xac, 0x51, 0x7f, 0xe6, 0xcf, 0x83, 0xcb, 0x59, 0x74, 0x60, 0x06, 0xd1, 0xbd, 0x04,
-	0x34, 0xa8, 0xee, 0xc5, 0x79, 0x0e, 0x47, 0x15, 0x53, 0xb7, 0xe1, 0x60, 0x36, 0x9c, 0x07, 0x97,
-	0x9f, 0x1d, 0x14, 0x5f, 0x63, 0x17, 0xad, 0x98, 0xba, 0xbd, 0x2a, 0xb0, 0x44, 0xa1, 0xa8, 0x51,
-	0x4c, 0x5f, 0xeb, 0xbe, 0xfa, 0x22, 0x21, 0x70, 0x74, 0xc7, 0x85, 0x4d, 0x31, 0xa6, 0xe6, 0x9a,
-	0x3c, 0x82, 0x81, 0xeb, 0x71, 0x98, 0x78, 0x74, 0xc0, 0x33, 0xf2, 0x18, 0x8e, 0x74, 0x2b, 0xe1,
-	0x50, 0x53, 0x89, 0x47, 0xcd, 0xdd, 0x62, 0x0c, 0x0f, 0x78, 0xb6, 0xd6, 0x4f, 0xf0, 0xe2, 0x25,
-	0xc0, 0x8f, 0x75, 0xcd, 0xba, 0xdf, 0x58, 0xd1, 0x22, 0xb9, 0x84, 0xe3, 0xad, 0xbe, 0x68, 0x42,
-	0xdf, 0xe4, 0x9b, 0x1e, 0xcc, 0x67, 0x58, 0xea, 0xc8, 0x8b, 0x3f, 0x47, 0x30, 0xb2, 0xea, 0x17,
-	0x00, 0xa2, 0x2d, 0x8a, 0xb5, 0x39, 0x08, 0x83, 0x99, 0x3f, 0x3f, 0xdd, 0x3b, 0xec, 0x16, 0x20,
-	0xfa, 0xa5, 0x2d, 0x0a, 0xc3, 0x27, 0x1e, 0x1d, 0x8b, 0xdd, 0x0d, 0xf9, 0x1c, 0x1e, 0x6e, 0xa4,
-	0x2c, 0x90, 0x09, 0xa7, 0xd7, 0x8d, 0x9d, 0x24, 0x1e, 0x9d, 0xb8, 0x72, 0x8f, 0x71, 0xa1, 0x30,
-	0xc7, 0xda, 0x61, 0xbb, 0x6e, 0x27, 0xae, 0x6c, 0xb1, 0x4f, 0x61, 0x92, 0xc9, 0x76, 0x53, 0xa0,
-	0xa3, 0x74, 0xff, 0x7e, 0xe2, 0xd1, 0xc0, 0x56, 0x2d, 0x74, 0x05, 0x67, 0xfd, 0xf2, 0x39, 0x0e,
-	0xcc, 0x4c, 0xff, 0x1b, 0xfa, 0xf5, 0x8e, 0x4b, 0x3c, 0x7a, 0xda, 0x8b, 0xac, 0xcd, 0x37, 0x30,
-	0xbe, 0xc3, 0xce, 0x19, 0x8c, 0x8c, 0x41, 0xf8, 0xb6, 0xb9, 0x26, 0x1e, 0x3d, 0xb9, 0xc3, 0xae,
-	0x0f, 0xd9, 0xa8, 0x9a, 0x8b, 0xdc, 0x69, 0x3f, 0x70, 0x43, 0x0a, 0x6c, 0xd5, 0x42, 0x4f, 0x00,
-	0x36, 0x85, 0xdc, 0x38, 0x84, 0xcc, 0xfc, 0xf9, 0x44, 0x3f, 0x38, 0x5d, 0xb3, 0xc0, 0x77, 0x70,
-	0x96, 0xa3, 0x5c, 0x57, 0x92, 0x0b, 0xe5, 0xa8, 0x13, 0x13, 0xe2, 0x7c, 0x17, 0x42, 0x0f, 0x3a,
-	0x7a, 0xc5, 0xd4, 0x2b, 0x91, 0x27, 0x1e, 0x7d, 0x98, 0xa3, 0x5c, 0x69, 0xd8, 0xca, 0x5f, 0xc2,
-	0xc4, 0x7e, 0x52, 0x9c, 0xf6, 0xd8, 0x68, 0x3f, 0x3a, 0xd8, 0xc0, 0x95, 0x01, 0x75, 0x42, 0x2b,
-	0xb1, 0x0e, 0x0b, 0x08, 0x98, 0x5e, 0x21, 0x67, 0x30, 0x36, 0x06, 0x4f, 0x0e, 0x1a, 0xec, 0x57,
-	0x2d, 0xf1, 0x28, 0xb0, 0xfd, 0xe2, 0x85, 0xf0, 0xa0, 0x44, 0x26, 0xb8, 0xc8, 0xc3, 0xd3, 0x99,
-	0x3f, 0x1f, 0xd1, 0xdd, 0x2d, 0x79, 0x0a, 0x8f, 0xf1, 0x4d, 0x5a, 0xb4, 0x19, 0xae, 0x6f, 0x6a,
-	0x59, 0xae, 0xb9, 0xc8, 0xf0, 0x0d, 0x36, 0xe1, 0xb9, 0x5e, 0x0f, 0x4a, 0xdc, 0xd9, 0xcf, 0xb5,
-	0x2c, 0x97, 0xf6, 0x64, 0x31, 0x01, 0x30, 0x49, 0xec, 0x82, 0xff, 0xed, 0xc3, 0xb1, 0xcd, 0x4d,
-	0xbe, 0x80, 0xe1, 0x1d, 0x76, 0xee, 0xbd, 0x7d, 0xeb, 0x88, 0xa8, 0x86, 0xc8, 0xb5, 0xf9, 0x6c,
-	0x54, 0x58, 0x2b, 0x8e, 0x4d, 0x38, 0x34, 0x6f, 0xc3, 0x97, 0xef, 0x78, 0x28, 0xd1, 0xaa, 0xa7,
-	0xaf, 0x84, 0xaa, 0x3b, 0x7a, 0x4f, 0x3e, 0xfd, 0x1d, 0xce, 0xfe, 0x75, 0x4c, 0x1e, 0xed, 0xb3,
-	0x8c, 0xed, 0x3f, 0x3e, 0x85, 0xd1, 0x7e, 0xa3, 0xdf, 0xfd, 0xea, 0x59, 0xf0, 0xdb, 0xc1, 0x73,
-	0x7f, 0x31, 0x87, 0x0f, 0x53, 0x59, 0x1e, 0x62, 0x17, 0x81, 0x4d, 0xb6, 0xd2, 0x3b, 0xbc, 0xf2,
-	0x37, 0xc7, 0x66, 0x99, 0xbf, 0xfa, 0x27, 0x00, 0x00, 0xff, 0xff, 0x52, 0x4d, 0x39, 0xbd, 0x75,
-	0x06, 0x00, 0x00,
+	// 767 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0xdf, 0x8e, 0xdb, 0x44,
+	0x14, 0xc6, 0xed, 0x64, 0xb3, 0x5d, 0x1f, 0xbb, 0xbb, 0x65, 0xb6, 0x12, 0x26, 0x80, 0xd6, 0x04,
+	0x90, 0x22, 0x90, 0xec, 0xee, 0x72, 0x41, 0x45, 0x41, 0x2a, 0x29, 0x01, 0x47, 0x5b, 0x41, 0x34,
+	0xaa, 0x2a, 0xc1, 0x4d, 0x34, 0x89, 0xa7, 0xee, 0x10, 0x7b, 0xc6, 0xb2, 0xc7, 0xab, 0xfa, 0x96,
+	0xe7, 0xe0, 0x09, 0x78, 0x24, 0xc4, 0xc3, 0xa0, 0xf9, 0x13, 0x67, 0x29, 0xe9, 0xde, 0x79, 0xce,
+	0xf9, 0x7d, 0xc7, 0xdf, 0xf1, 0x39, 0x63, 0x88, 0x72, 0x21, 0xf2, 0x82, 0x26, 0x19, 0x91, 0xa4,
+	0x91, 0xa2, 0xa6, 0xc9, 0xcd, 0x65, 0x42, 0xb9, 0x64, 0xb2, 0x8b, 0xab, 0x5a, 0x48, 0x81, 0xce,
+	0x0d, 0x11, 0xf7, 0x44, 0x7c, 0x73, 0x39, 0xfe, 0xc8, 0xca, 0x48, 0xc5, 0x12, 0xc2, 0xb9, 0x90,
+	0x44, 0x32, 0xc1, 0x1b, 0x23, 0xe9, 0xb3, 0xfa, 0xb4, 0x6e, 0x5f, 0x25, 0x8d, 0xac, 0xdb, 0x8d,
+	0xb4, 0xd9, 0x8b, 0xb7, 0xb3, 0x92, 0x95, 0xb4, 0x91, 0xa4, 0xac, 0x2c, 0x10, 0x5a, 0x40, 0x76,
+	0x15, 0x4d, 0x0a, 0x22, 0x0b, 0x9e, 0x9b, 0xcc, 0xe4, 0x17, 0xf0, 0x97, 0xa4, 0x96, 0x4c, 0xbd,
+	0x6c, 0x91, 0xa1, 0x8f, 0x01, 0xaa, 0x5a, 0xfc, 0x4e, 0x37, 0x72, 0xc5, 0xb2, 0x70, 0x10, 0xb9,
+	0x53, 0x0f, 0x7b, 0x36, 0xb2, 0xc8, 0xd0, 0x27, 0x10, 0x70, 0x52, 0xd2, 0xa6, 0x22, 0x1b, 0xaa,
+	0x80, 0x23, 0x0d, 0xf8, 0x7d, 0x6c, 0x91, 0x4d, 0xfe, 0x76, 0x61, 0x78, 0x4d, 0x3b, 0xf4, 0x0c,
+	0x82, 0x6a, 0x57, 0x58, 0xa1, 0x6e, 0xe4, 0x4e, 0xfd, 0xab, 0x28, 0x3e, 0xd0, 0x7b, 0x7c, 0xcb,
+	0x01, 0xf6, 0xab, 0x5b, 0x76, 0x1e, 0xc3, 0x51, 0x45, 0xe4, 0xeb, 0x70, 0x10, 0x0d, 0xa7, 0xfe,
+	0xd5, 0x67, 0x07, 0xc5, 0xd7, 0xb4, 0x8b, 0x97, 0x44, 0xbe, 0x9e, 0x17, 0xb4, 0xa4, 0x5c, 0x62,
+	0xad, 0x18, 0xbf, 0x50, 0x7d, 0xf5, 0x41, 0x84, 0xe0, 0x68, 0xcb, 0xb8, 0x71, 0xe1, 0x61, 0xfd,
+	0x8c, 0x1e, 0xc0, 0xc0, 0xf6, 0x38, 0x4c, 0x1d, 0x3c, 0x60, 0x19, 0x7a, 0x08, 0x47, 0xaa, 0x95,
+	0x70, 0xa8, 0xa8, 0xd4, 0xc1, 0xfa, 0x34, 0xf3, 0xe0, 0x1e, 0xcb, 0x56, 0xea, 0xd3, 0x4d, 0x9e,
+	0x02, 0x7c, 0x5f, 0xd7, 0xa4, 0x7b, 0x49, 0x8a, 0x96, 0xa2, 0x2b, 0x38, 0xbe, 0x51, 0x0f, 0x4d,
+	0xe8, 0x6a, 0x7f, 0xe3, 0x83, 0xfe, 0x34, 0x8b, 0x2d, 0x39, 0xf9, 0x73, 0x04, 0x23, 0xa3, 0x7e,
+	0x02, 0xc0, 0xdb, 0xa2, 0x58, 0xe9, 0x44, 0xe8, 0x47, 0xee, 0xf4, 0x74, 0x5f, 0x61, 0x37, 0xc9,
+	0xf8, 0xe7, 0xb6, 0x28, 0x34, 0x9f, 0x3a, 0xd8, 0xe3, 0xbb, 0x03, 0xfa, 0x1c, 0xee, 0xaf, 0x85,
+	0x28, 0x28, 0xe1, 0x56, 0xaf, 0x1a, 0x3b, 0x49, 0x1d, 0x1c, 0xd8, 0x70, 0x8f, 0x31, 0x2e, 0x69,
+	0x4e, 0x6b, 0x8b, 0xed, 0xba, 0x0d, 0x6c, 0xd8, 0x60, 0x9f, 0x42, 0x90, 0x89, 0x76, 0x5d, 0x50,
+	0x4b, 0xa9, 0xfe, 0xdd, 0xd4, 0xc1, 0xbe, 0x89, 0x1a, 0x68, 0x0e, 0x67, 0xfd, 0x5a, 0x59, 0x0e,
+	0xf4, 0x4c, 0xff, 0x6f, 0xfa, 0xc5, 0x8e, 0x4b, 0x1d, 0x7c, 0xda, 0x8b, 0x4c, 0x99, 0xaf, 0xc1,
+	0xdb, 0xd2, 0xce, 0x16, 0x18, 0xe9, 0x02, 0xe1, 0xbb, 0xe6, 0x9a, 0x3a, 0xf8, 0x64, 0x4b, 0xbb,
+	0xde, 0x64, 0x23, 0x6b, 0xc6, 0x73, 0xab, 0x7d, 0xcf, 0x0e, 0xc9, 0x37, 0x51, 0x03, 0x5d, 0x00,
+	0xac, 0x0b, 0xb1, 0xb6, 0x08, 0x8a, 0xdc, 0x69, 0xa0, 0x3e, 0x9c, 0x8a, 0x19, 0xe0, 0x3b, 0x38,
+	0xcb, 0xa9, 0x58, 0x55, 0x82, 0x71, 0x69, 0xa9, 0x13, 0x6d, 0xe2, 0x7c, 0x67, 0x42, 0x0d, 0x3a,
+	0x7e, 0x4e, 0xe4, 0x73, 0x9e, 0xa7, 0x0e, 0xbe, 0x9f, 0x53, 0xb1, 0x54, 0xb0, 0x91, 0x3f, 0x85,
+	0xc0, 0x5c, 0x65, 0xab, 0x3d, 0xd6, 0xda, 0x0f, 0x0f, 0x36, 0x30, 0xd7, 0xa0, 0x72, 0x68, 0x24,
+	0xa6, 0xc2, 0x0c, 0x7c, 0xa2, 0x56, 0xc8, 0x16, 0xf0, 0x74, 0x81, 0x8b, 0x83, 0x05, 0xf6, 0xab,
+	0x96, 0x3a, 0x18, 0xc8, 0x7e, 0xf1, 0x42, 0xb8, 0x57, 0x52, 0xc2, 0x19, 0xcf, 0xc3, 0xd3, 0xc8,
+	0x9d, 0x8e, 0xf0, 0xee, 0x88, 0x1e, 0xc1, 0x43, 0xfa, 0x66, 0x53, 0xb4, 0x19, 0x5d, 0xbd, 0xaa,
+	0x45, 0xb9, 0x62, 0x3c, 0xa3, 0x6f, 0x68, 0x13, 0x9e, 0xab, 0xf5, 0xc0, 0xc8, 0xe6, 0x7e, 0xac,
+	0x45, 0xb9, 0x30, 0x99, 0x59, 0x00, 0xa0, 0x9d, 0x98, 0x05, 0xff, 0xc7, 0x85, 0x63, 0xe3, 0x1b,
+	0x7d, 0x01, 0xc3, 0x2d, 0xed, 0xec, 0xbd, 0x7d, 0xe7, 0x88, 0xb0, 0x82, 0xd0, 0xb5, 0xfe, 0x6d,
+	0x54, 0xb4, 0x96, 0x8c, 0x36, 0xe1, 0x50, 0xdf, 0x86, 0x2f, 0xef, 0xf8, 0x28, 0xf1, 0xb2, 0xa7,
+	0xe7, 0x5c, 0xd6, 0x1d, 0xbe, 0x25, 0x1f, 0xff, 0x0a, 0x67, 0x6f, 0xa5, 0xd1, 0x83, 0xbd, 0x17,
+	0xcf, 0xbc, 0xf1, 0x11, 0x8c, 0xf6, 0x1b, 0x7d, 0xf7, 0xd5, 0x33, 0xe0, 0x37, 0x83, 0xc7, 0xee,
+	0xec, 0x0f, 0x17, 0xde, 0xdf, 0x88, 0xf2, 0x10, 0x3c, 0xf3, 0x8d, 0xb5, 0xa5, 0x5a, 0xe2, 0xa5,
+	0xfb, 0xdb, 0xb7, 0x96, 0xc9, 0x45, 0x41, 0x78, 0x1e, 0x8b, 0x3a, 0x4f, 0x72, 0xca, 0xf5, 0x8a,
+	0x27, 0x26, 0x45, 0x2a, 0xd6, 0xfc, 0xe7, 0x2f, 0xff, 0xa4, 0x3f, 0xfc, 0x35, 0xf8, 0xe0, 0x27,
+	0x23, 0x7f, 0x56, 0x88, 0x36, 0x8b, 0x7f, 0xe8, 0x5f, 0xf4, 0xf2, 0x72, 0x7d, 0xac, 0x8b, 0x7c,
+	0xf5, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x89, 0x5b, 0xc5, 0xcd, 0x29, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1/entity.proto b/googleapis/datastore/v1/entity.proto
deleted file mode 100644
index 3f4efdae5ce1cfbfe7797d0d7e2d6b14d011c259..0000000000000000000000000000000000000000
--- a/googleapis/datastore/v1/entity.proto
+++ /dev/null
@@ -1,201 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.datastore.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-import "google.golang.org/genproto/googleapis/type/latlng/latlng.proto"; // from google/type/latlng.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "EntityProto";
-option java_package = "com.google.datastore.v1";
-
-
-// A partition ID identifies a grouping of entities. The grouping is always
-// by project and namespace, however the namespace ID may be empty.
-//
-// A partition ID contains several dimensions:
-// project ID and namespace ID.
-//
-// Partition dimensions:
-//
-// - May be `""`.
-// - Must be valid UTF-8 bytes.
-// - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
-// If the value of any dimension matches regex `__.*__`, the partition is
-// reserved/read-only.
-// A reserved/read-only partition ID is forbidden in certain documented
-// contexts.
-//
-// Foreign partition IDs (in which the project ID does
-// not match the context project ID ) are discouraged.
-// Reads and writes of foreign partition IDs may fail if the project is not in an active state.
-message PartitionId {
-  // The ID of the project to which the entities belong.
-  string project_id = 2;
-
-  // If not empty, the ID of the namespace to which the entities belong.
-  string namespace_id = 4;
-}
-
-// A unique identifier for an entity.
-// If a key's partition ID or any of its path kinds or names are
-// reserved/read-only, the key is reserved/read-only.
-// A reserved/read-only key is forbidden in certain documented contexts.
-message Key {
-  // A (kind, ID/name) pair used to construct a key path.
-  //
-  // If either name or ID is set, the element is complete.
-  // If neither is set, the element is incomplete.
-  message PathElement {
-    // The kind of the entity.
-    // A kind matching regex `__.*__` is reserved/read-only.
-    // A kind must not contain more than 1500 bytes when UTF-8 encoded.
-    // Cannot be `""`.
-    string kind = 1;
-
-    // The type of ID.
-    oneof id_type {
-      // The auto-allocated ID of the entity.
-      // Never equal to zero. Values less than zero are discouraged and may not
-      // be supported in the future.
-      int64 id = 2;
-
-      // The name of the entity.
-      // A name matching regex `__.*__` is reserved/read-only.
-      // A name must not be more than 1500 bytes when UTF-8 encoded.
-      // Cannot be `""`.
-      string name = 3;
-    }
-  }
-
-  // Entities are partitioned into subsets, currently identified by a project
-  // ID and namespace ID.
-  // Queries are scoped to a single partition.
-  PartitionId partition_id = 1;
-
-  // The entity path.
-  // An entity path consists of one or more elements composed of a kind and a
-  // string or numerical identifier, which identify entities. The first
-  // element identifies a _root entity_, the second element identifies
-  // a _child_ of the root entity, the third element identifies a child of the
-  // second entity, and so forth. The entities identified by all prefixes of
-  // the path are called the element's _ancestors_.
-  //
-  // An entity path is always fully complete: *all* of the entity's ancestors
-  // are required to be in the path along with the entity identifier itself.
-  // The only exception is that in some documented cases, the identifier in the
-  // last path element (for the entity) itself may be omitted. For example,
-  // the last path element of the key of `Mutation.insert` may have no
-  // identifier.
-  //
-  // A path can never be empty, and a path can have at most 100 elements.
-  repeated PathElement path = 2;
-}
-
-// An array value.
-message ArrayValue {
-  // Values in the array.
-  // The order of this array may not be preserved if it contains a mix of
-  // indexed and unindexed values.
-  repeated Value values = 1;
-}
-
-// A message that can hold any of the supported value types and associated
-// metadata.
-message Value {
-  // Must have a value set.
-  oneof value_type {
-    // A null value.
-    google.protobuf.NullValue null_value = 11;
-
-    // A boolean value.
-    bool boolean_value = 1;
-
-    // An integer value.
-    int64 integer_value = 2;
-
-    // A double value.
-    double double_value = 3;
-
-    // A timestamp value.
-    // When stored in the Datastore, precise only to microseconds;
-    // any additional precision is rounded down.
-    google.protobuf.Timestamp timestamp_value = 10;
-
-    // A key value.
-    Key key_value = 5;
-
-    // A UTF-8 encoded string value.
-    // When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
-    // Otherwise, may be set to at least 1,000,000 bytes.
-    string string_value = 17;
-
-    // A blob value.
-    // May have at most 1,000,000 bytes.
-    // When `exclude_from_indexes` is false, may have at most 1500 bytes.
-    // In JSON requests, must be base64-encoded.
-    bytes blob_value = 18;
-
-    // A geo point value representing a point on the surface of Earth.
-    google.type.LatLng geo_point_value = 8;
-
-    // An entity value.
-    //
-    // - May have no key.
-    // - May have a key with an incomplete key path.
-    // - May have a reserved/read-only key.
-    Entity entity_value = 6;
-
-    // An array value.
-    // Cannot contain another array value.
-    // A `Value` instance that sets field `array_value` must not set fields
-    // `meaning` or `exclude_from_indexes`.
-    ArrayValue array_value = 9;
-  }
-
-  // The `meaning` field should only be populated for backwards compatibility.
-  int32 meaning = 14;
-
-  // If the value should be excluded from all indexes including those defined
-  // explicitly.
-  bool exclude_from_indexes = 19;
-}
-
-// A Datastore data object.
-//
-// An entity is limited to 1 megabyte when stored. That _roughly_
-// corresponds to a limit of 1 megabyte for the serialized form of this
-// message.
-message Entity {
-  // The entity's key.
-  //
-  // An entity must have a key, unless otherwise documented (for example,
-  // an entity in `Value.entity_value` may have no key).
-  // An entity's kind is its key path's last element's kind,
-  // or null if it has no key.
-  Key key = 1;
-
-  // The entity's properties.
-  // The map's keys are property names.
-  // A property name matching regex `__.*__` is reserved.
-  // A reserved property name is forbidden in certain documented contexts.
-  // The name must not contain more than 500 characters.
-  // The name cannot be `""`.
-  map<string, Value> properties = 3;
-}
diff --git a/googleapis/datastore/v1/query.pb.go b/googleapis/datastore/v1/query.pb.go
index 9bbd93eb6c0d33d12ee65c9cb6018fb0c4747b4e..dcfbb673c26a8ac7d25c281d7428f09f3391a976 100644
--- a/googleapis/datastore/v1/query.pb.go
+++ b/googleapis/datastore/v1/query.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/datastore/v1/query.proto
+// source: google/datastore/v1/query.proto
 // DO NOT EDIT!
 
-package google_datastore_v1 // import "google.golang.org/genproto/googleapis/datastore/v1"
+package datastore
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/wrappers"
 import _ "google.golang.org/genproto/googleapis/type/latlng"
 
@@ -218,6 +218,20 @@ func (m *EntityResult) GetEntity() *Entity {
 	return nil
 }
 
+func (m *EntityResult) GetVersion() int64 {
+	if m != nil {
+		return m.Version
+	}
+	return 0
+}
+
+func (m *EntityResult) GetCursor() []byte {
+	if m != nil {
+		return m.Cursor
+	}
+	return nil
+}
+
 // A query for entities.
 type Query struct {
 	// The projection to return. Defaults to returning all properties.
@@ -291,6 +305,27 @@ func (m *Query) GetDistinctOn() []*PropertyReference {
 	return nil
 }
 
+func (m *Query) GetStartCursor() []byte {
+	if m != nil {
+		return m.StartCursor
+	}
+	return nil
+}
+
+func (m *Query) GetEndCursor() []byte {
+	if m != nil {
+		return m.EndCursor
+	}
+	return nil
+}
+
+func (m *Query) GetOffset() int32 {
+	if m != nil {
+		return m.Offset
+	}
+	return 0
+}
+
 func (m *Query) GetLimit() *google_protobuf3.Int32Value {
 	if m != nil {
 		return m.Limit
@@ -309,6 +344,13 @@ func (m *KindExpression) String() string            { return proto.CompactTextSt
 func (*KindExpression) ProtoMessage()               {}
 func (*KindExpression) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
 
+func (m *KindExpression) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // A reference to a property relative to the kind expressions.
 type PropertyReference struct {
 	// The name of the property.
@@ -321,6 +363,13 @@ func (m *PropertyReference) String() string            { return proto.CompactTex
 func (*PropertyReference) ProtoMessage()               {}
 func (*PropertyReference) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
 
+func (m *PropertyReference) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // A representation of a property in a projection.
 type Projection struct {
 	// The property to project.
@@ -359,6 +408,13 @@ func (m *PropertyOrder) GetProperty() *PropertyReference {
 	return nil
 }
 
+func (m *PropertyOrder) GetDirection() PropertyOrder_Direction {
+	if m != nil {
+		return m.Direction
+	}
+	return PropertyOrder_DIRECTION_UNSPECIFIED
+}
+
 // A holder for any type of filter.
 type Filter struct {
 	// The type of filter.
@@ -497,6 +553,13 @@ func (m *CompositeFilter) String() string            { return proto.CompactTextS
 func (*CompositeFilter) ProtoMessage()               {}
 func (*CompositeFilter) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
 
+func (m *CompositeFilter) GetOp() CompositeFilter_Operator {
+	if m != nil {
+		return m.Op
+	}
+	return CompositeFilter_OPERATOR_UNSPECIFIED
+}
+
 func (m *CompositeFilter) GetFilters() []*Filter {
 	if m != nil {
 		return m.Filters
@@ -526,6 +589,13 @@ func (m *PropertyFilter) GetProperty() *PropertyReference {
 	return nil
 }
 
+func (m *PropertyFilter) GetOp() PropertyFilter_Operator {
+	if m != nil {
+		return m.Op
+	}
+	return PropertyFilter_OPERATOR_UNSPECIFIED
+}
+
 func (m *PropertyFilter) GetValue() *Value {
 	if m != nil {
 		return m.Value
@@ -562,6 +632,20 @@ func (m *GqlQuery) String() string            { return proto.CompactTextString(m
 func (*GqlQuery) ProtoMessage()               {}
 func (*GqlQuery) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{9} }
 
+func (m *GqlQuery) GetQueryString() string {
+	if m != nil {
+		return m.QueryString
+	}
+	return ""
+}
+
+func (m *GqlQuery) GetAllowLiterals() bool {
+	if m != nil {
+		return m.AllowLiterals
+	}
+	return false
+}
+
 func (m *GqlQuery) GetNamedBindings() map[string]*GqlQueryParameter {
 	if m != nil {
 		return m.NamedBindings
@@ -719,6 +803,7 @@ type QueryResultBatch struct {
 	// In a single transaction, subsequent query result batches for the same query
 	// can have a greater snapshot version number. Each batch's snapshot version
 	// is valid for all preceding batches.
+	// The value will be zero for eventually consistent queries.
 	SnapshotVersion int64 `protobuf:"varint,7,opt,name=snapshot_version,json=snapshotVersion" json:"snapshot_version,omitempty"`
 }
 
@@ -727,6 +812,27 @@ func (m *QueryResultBatch) String() string            { return proto.CompactText
 func (*QueryResultBatch) ProtoMessage()               {}
 func (*QueryResultBatch) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{11} }
 
+func (m *QueryResultBatch) GetSkippedResults() int32 {
+	if m != nil {
+		return m.SkippedResults
+	}
+	return 0
+}
+
+func (m *QueryResultBatch) GetSkippedCursor() []byte {
+	if m != nil {
+		return m.SkippedCursor
+	}
+	return nil
+}
+
+func (m *QueryResultBatch) GetEntityResultType() EntityResult_ResultType {
+	if m != nil {
+		return m.EntityResultType
+	}
+	return EntityResult_RESULT_TYPE_UNSPECIFIED
+}
+
 func (m *QueryResultBatch) GetEntityResults() []*EntityResult {
 	if m != nil {
 		return m.EntityResults
@@ -734,6 +840,27 @@ func (m *QueryResultBatch) GetEntityResults() []*EntityResult {
 	return nil
 }
 
+func (m *QueryResultBatch) GetEndCursor() []byte {
+	if m != nil {
+		return m.EndCursor
+	}
+	return nil
+}
+
+func (m *QueryResultBatch) GetMoreResults() QueryResultBatch_MoreResultsType {
+	if m != nil {
+		return m.MoreResults
+	}
+	return QueryResultBatch_MORE_RESULTS_TYPE_UNSPECIFIED
+}
+
+func (m *QueryResultBatch) GetSnapshotVersion() int64 {
+	if m != nil {
+		return m.SnapshotVersion
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*EntityResult)(nil), "google.datastore.v1.EntityResult")
 	proto.RegisterType((*Query)(nil), "google.datastore.v1.Query")
@@ -754,92 +881,90 @@ func init() {
 	proto.RegisterEnum("google.datastore.v1.QueryResultBatch_MoreResultsType", QueryResultBatch_MoreResultsType_name, QueryResultBatch_MoreResultsType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/datastore/v1/query.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/datastore/v1/query.proto", fileDescriptor2) }
 
 var fileDescriptor2 = []byte{
-	// 1305 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0xed, 0x72, 0xd3, 0x46,
-	0x17, 0x8e, 0xfc, 0x91, 0xc4, 0xc7, 0x5f, 0x62, 0x79, 0x5f, 0x10, 0xe1, 0x65, 0xde, 0x44, 0xd0,
-	0x92, 0xce, 0x80, 0x0d, 0x66, 0x98, 0xd2, 0x0e, 0x2d, 0xe3, 0x0f, 0x25, 0x36, 0x18, 0xcb, 0x59,
-	0x3b, 0x50, 0xfa, 0x47, 0xa3, 0xd8, 0x1b, 0x47, 0x45, 0xd6, 0x8a, 0xd5, 0x26, 0x34, 0x17, 0xd2,
-	0x99, 0x5e, 0x49, 0x7f, 0xf4, 0x02, 0xda, 0x5e, 0x44, 0x7f, 0xf7, 0x77, 0x2f, 0xa1, 0xa3, 0xd5,
-	0xca, 0x5f, 0x31, 0x26, 0xd3, 0xe1, 0x97, 0xad, 0xb3, 0xcf, 0xf3, 0xec, 0x39, 0x67, 0xcf, 0x9e,
-	0x3d, 0xf0, 0xed, 0x88, 0xd2, 0x91, 0x4b, 0x4a, 0x23, 0xea, 0xda, 0xde, 0xa8, 0x44, 0xd9, 0xa8,
-	0x3c, 0x22, 0x9e, 0xcf, 0x28, 0xa7, 0xe5, 0x68, 0xc9, 0xf6, 0x9d, 0xa0, 0x3c, 0xb4, 0xb9, 0x1d,
-	0x70, 0xca, 0x48, 0xf9, 0xec, 0x61, 0xf9, 0xdd, 0x29, 0x61, 0xe7, 0x25, 0x81, 0x41, 0x57, 0x25,
-	0x7f, 0x02, 0x28, 0x9d, 0x3d, 0xdc, 0x6a, 0x5d, 0x4e, 0xd4, 0xf6, 0x9d, 0x72, 0x40, 0xd8, 0x99,
-	0x33, 0x20, 0x03, 0xea, 0x1d, 0x3b, 0xa3, 0xb2, 0xed, 0x79, 0x94, 0xdb, 0xdc, 0xa1, 0x5e, 0x10,
-	0xe9, 0x6f, 0x3d, 0xfb, 0x17, 0xfe, 0x11, 0x8f, 0x3b, 0x5c, 0x3a, 0xb8, 0xf5, 0xd5, 0xc8, 0xe1,
-	0x27, 0xa7, 0x47, 0xa5, 0x01, 0x1d, 0x97, 0x23, 0x91, 0xb2, 0x58, 0x38, 0x3a, 0x3d, 0x2e, 0xfb,
-	0xfc, 0xdc, 0x27, 0x41, 0xf9, 0x3d, 0xb3, 0x7d, 0x9f, 0xb0, 0xe9, 0x1f, 0x49, 0xbd, 0x64, 0x6e,
-	0x42, 0x91, 0xb2, 0x6b, 0x73, 0xd7, 0x1b, 0xc9, 0x9f, 0x88, 0xaf, 0xff, 0xa1, 0x40, 0xce, 0x10,
-	0xbe, 0x60, 0x12, 0x9c, 0xba, 0x1c, 0x3d, 0x82, 0xf5, 0xc8, 0x37, 0x4d, 0xd9, 0x56, 0x76, 0xb3,
-	0x95, 0x9b, 0xa5, 0x25, 0xd9, 0x2b, 0x49, 0x8a, 0x84, 0x22, 0x0d, 0x36, 0xce, 0x08, 0x0b, 0x1c,
-	0xea, 0x69, 0xa9, 0x6d, 0x65, 0x37, 0x89, 0xe3, 0x4f, 0x74, 0x0d, 0xd6, 0x07, 0xa7, 0x2c, 0xa0,
-	0x4c, 0x4b, 0x6e, 0x2b, 0xbb, 0x39, 0x2c, 0xbf, 0xf4, 0x03, 0x80, 0x68, 0xc3, 0xfe, 0xb9, 0x4f,
-	0xd0, 0x4d, 0xb8, 0x8e, 0x8d, 0xde, 0x61, 0xbb, 0x6f, 0xf5, 0xdf, 0x74, 0x0d, 0xeb, 0xb0, 0xd3,
-	0xeb, 0x1a, 0xf5, 0xd6, 0x5e, 0xcb, 0x68, 0xa8, 0x6b, 0x68, 0x13, 0x52, 0x7b, 0x87, 0xed, 0xb6,
-	0xaa, 0xa0, 0x02, 0x40, 0x17, 0x9b, 0xcf, 0x8d, 0x7a, 0xbf, 0x65, 0x76, 0xd4, 0x04, 0xca, 0xc1,
-	0xe6, 0x0b, 0xe3, 0x8d, 0x65, 0x76, 0xda, 0x6f, 0xd4, 0xa4, 0xfe, 0x5b, 0x12, 0xd2, 0x07, 0xe1,
-	0xb1, 0xa3, 0x67, 0x00, 0x3e, 0xa3, 0x3f, 0x90, 0x41, 0x78, 0x4a, 0x5a, 0x62, 0x3b, 0xb9, 0x9b,
-	0xad, 0xfc, 0x7f, 0x69, 0x1c, 0xdd, 0x09, 0x0c, 0xcf, 0x50, 0xd0, 0x97, 0x90, 0x7a, 0xeb, 0x78,
-	0x43, 0x2d, 0x29, 0xa8, 0xb7, 0x97, 0x52, 0x5f, 0x38, 0xde, 0xd0, 0xf8, 0xd1, 0x67, 0x24, 0x08,
-	0x03, 0xc5, 0x82, 0x10, 0x66, 0xef, 0xd8, 0x71, 0x39, 0x61, 0x22, 0x0f, 0x1f, 0xca, 0xde, 0x9e,
-	0x80, 0x60, 0x09, 0x45, 0x4f, 0x20, 0x4d, 0xd9, 0x90, 0x30, 0x2d, 0x2d, 0xb6, 0xd3, 0x3f, 0xe4,
-	0xa9, 0x4f, 0x18, 0x3f, 0x37, 0x43, 0x24, 0x8e, 0x08, 0x68, 0x1f, 0xb2, 0x43, 0x27, 0xe0, 0x8e,
-	0x37, 0xe0, 0x16, 0xf5, 0xb4, 0x75, 0xc1, 0xff, 0x7c, 0x25, 0x1f, 0x93, 0x63, 0xc2, 0x88, 0x37,
-	0x20, 0x18, 0x62, 0xaa, 0xe9, 0xa1, 0x1d, 0xc8, 0x05, 0xdc, 0x66, 0xdc, 0x92, 0x87, 0xb5, 0x21,
-	0x0e, 0x2b, 0x2b, 0x6c, 0x75, 0x61, 0x42, 0xb7, 0x00, 0x88, 0x37, 0x8c, 0x01, 0x9b, 0x02, 0x90,
-	0x21, 0xde, 0x50, 0x2e, 0x5f, 0x83, 0x75, 0x7a, 0x7c, 0x1c, 0x10, 0xae, 0xc1, 0xb6, 0xb2, 0x9b,
-	0xc6, 0xf2, 0x0b, 0x3d, 0x84, 0xb4, 0xeb, 0x8c, 0x1d, 0xae, 0xe5, 0xe6, 0x13, 0x12, 0x17, 0x78,
-	0xa9, 0xe5, 0xf1, 0x47, 0x95, 0x57, 0xb6, 0x7b, 0x4a, 0x70, 0x84, 0xd4, 0xef, 0x40, 0x61, 0x3e,
-	0xb9, 0x08, 0x41, 0xca, 0xb3, 0xc7, 0x44, 0x94, 0x64, 0x06, 0x8b, 0xff, 0xfa, 0x5d, 0xb8, 0x72,
-	0x21, 0xa6, 0x09, 0x30, 0x31, 0x03, 0xec, 0x02, 0x4c, 0x8f, 0x19, 0xd5, 0x60, 0xd3, 0x97, 0x34,
-	0x59, 0xe1, 0x97, 0xcd, 0xd7, 0x84, 0xa7, 0xff, 0xa5, 0x40, 0x7e, 0xee, 0x3c, 0x3e, 0x85, 0x2a,
-	0x7a, 0x0e, 0x99, 0xa1, 0xc3, 0x26, 0x45, 0xab, 0xec, 0x16, 0x2a, 0xf7, 0x3e, 0x5e, 0x0a, 0xa5,
-	0x46, 0xcc, 0xc1, 0x53, 0xba, 0x6e, 0x40, 0x66, 0x62, 0x47, 0x37, 0xe0, 0xbf, 0x8d, 0x16, 0x8e,
-	0x6e, 0xcd, 0xc2, 0xdd, 0xca, 0x43, 0xa6, 0xda, 0xab, 0x1b, 0x9d, 0x46, 0xab, 0xb3, 0x1f, 0x5d,
-	0xb0, 0x86, 0x31, 0xf9, 0x4e, 0xe8, 0xbf, 0x2a, 0xb0, 0x1e, 0x15, 0x2b, 0x3a, 0x00, 0x75, 0x40,
-	0xc7, 0x3e, 0x0d, 0x1c, 0x4e, 0x2c, 0x59, 0xe3, 0x51, 0xa4, 0x77, 0x96, 0x3a, 0x59, 0x8f, 0xc1,
-	0x11, 0xbf, 0xb9, 0x86, 0x8b, 0x83, 0x79, 0x13, 0xea, 0x40, 0x31, 0x0e, 0x3e, 0x56, 0x4c, 0x08,
-	0xc5, 0xdb, 0x2b, 0xc3, 0x9e, 0x08, 0x16, 0xfc, 0x39, 0x4b, 0x2d, 0x0f, 0xd9, 0x48, 0xc6, 0x0a,
-	0xdb, 0x9d, 0xfe, 0x8b, 0x02, 0xc5, 0x05, 0x2f, 0xd0, 0x37, 0x90, 0xa0, 0xbe, 0xf0, 0xbb, 0x50,
-	0xb9, 0x7f, 0x19, 0xbf, 0x4b, 0xa6, 0x4f, 0x98, 0xcd, 0x29, 0xc3, 0x09, 0xea, 0xa3, 0xc7, 0xb0,
-	0x11, 0xed, 0x10, 0xc8, 0xae, 0xb2, 0xf2, 0x7e, 0xc7, 0x58, 0xfd, 0x3e, 0x6c, 0xc6, 0x32, 0x48,
-	0x83, 0xff, 0x98, 0x5d, 0x03, 0x57, 0xfb, 0x26, 0x5e, 0x38, 0x8b, 0x0d, 0x48, 0x56, 0x3b, 0x0d,
-	0x55, 0xd1, 0xff, 0x4c, 0x40, 0x61, 0x3e, 0xd8, 0x4f, 0x52, 0x5f, 0x4f, 0x45, 0xec, 0x97, 0x29,
-	0xac, 0x65, 0xa1, 0x3f, 0x80, 0xf4, 0x59, 0x78, 0x49, 0x45, 0x1f, 0xcf, 0x56, 0xb6, 0x96, 0x0a,
-	0xc8, 0x6b, 0x2c, 0x80, 0xfa, 0x4f, 0xca, 0xa5, 0xc2, 0xce, 0x43, 0xa6, 0x6d, 0xf4, 0x7a, 0x56,
-	0xbf, 0x59, 0xed, 0xa8, 0x0a, 0xba, 0x06, 0x68, 0xf2, 0x69, 0x99, 0xd8, 0x32, 0x0e, 0x0e, 0xab,
-	0x6d, 0x35, 0x81, 0x54, 0xc8, 0xed, 0x63, 0xa3, 0xda, 0x37, 0x70, 0x84, 0x4c, 0x86, 0x65, 0x3d,
-	0x6b, 0x99, 0x82, 0x53, 0x28, 0x03, 0xe9, 0xe8, 0x6f, 0x3a, 0xe4, 0x35, 0xab, 0x3d, 0xab, 0xda,
-	0xa9, 0x1b, 0xbd, 0xbe, 0x89, 0xd5, 0xac, 0xfe, 0x77, 0x02, 0x36, 0xf7, 0xdf, 0xb9, 0xd1, 0x53,
-	0xb1, 0x03, 0x39, 0x31, 0x2a, 0x58, 0x01, 0x67, 0x8e, 0x37, 0x92, 0x1d, 0x26, 0x2b, 0x6c, 0x3d,
-	0x61, 0x42, 0x9f, 0x41, 0xc1, 0x76, 0x5d, 0xfa, 0xde, 0x72, 0x1d, 0x4e, 0x98, 0xed, 0x06, 0x22,
-	0x87, 0x9b, 0x38, 0x2f, 0xac, 0x6d, 0x69, 0x44, 0xaf, 0xa1, 0x10, 0xb6, 0x9b, 0xa1, 0x75, 0xe4,
-	0x78, 0x43, 0xc7, 0x1b, 0x05, 0xb2, 0x9d, 0x3f, 0x58, 0x9a, 0xa9, 0xd8, 0x81, 0x52, 0x27, 0xe4,
-	0xd4, 0x24, 0xc5, 0xf0, 0x38, 0x3b, 0xc7, 0x79, 0x6f, 0xd6, 0x86, 0x5e, 0xc3, 0x55, 0x51, 0x91,
-	0x0e, 0xf5, 0x6c, 0x77, 0xaa, 0x9e, 0x5a, 0xd1, 0xec, 0x63, 0xf5, 0xae, 0xcd, 0xec, 0x31, 0x09,
-	0x6b, 0x11, 0x4d, 0x25, 0x62, 0xe1, 0xad, 0x13, 0x40, 0x17, 0x77, 0x47, 0x2a, 0x24, 0xdf, 0x92,
-	0x73, 0x99, 0x88, 0xf0, 0x2f, 0x7a, 0x1a, 0x1f, 0x7d, 0x62, 0x45, 0xe5, 0x5d, 0xdc, 0x32, 0x22,
-	0x7d, 0x9d, 0x78, 0xa2, 0xe8, 0x01, 0x5c, 0xb9, 0xb0, 0x8e, 0x2a, 0xf3, 0xb2, 0x2b, 0x2a, 0xaa,
-	0xb9, 0x26, 0xc5, 0x90, 0x36, 0x3f, 0x4e, 0x34, 0xd7, 0xe2, 0x81, 0xa2, 0xa6, 0x42, 0xc1, 0x8f,
-	0xa5, 0xa3, 0xfb, 0xff, 0x7b, 0x0a, 0x54, 0xb1, 0x65, 0x34, 0x68, 0xd4, 0x6c, 0x3e, 0x38, 0x41,
-	0x77, 0xa1, 0x18, 0xbc, 0x75, 0x7c, 0x9f, 0x0c, 0x2d, 0x26, 0xcc, 0x81, 0xb6, 0x2e, 0xde, 0xab,
-	0x82, 0x34, 0x47, 0xe0, 0x20, 0x3c, 0xf5, 0x18, 0x38, 0x37, 0xc0, 0xe4, 0xa5, 0x55, 0x3e, 0x7b,
-	0xdf, 0x03, 0x8a, 0x66, 0x20, 0x29, 0x27, 0xb6, 0x96, 0x0d, 0xe6, 0xde, 0xaa, 0xd1, 0x49, 0xa0,
-	0x4b, 0xd3, 0x19, 0x08, 0xab, 0x64, 0x66, 0x41, 0x4c, 0x45, 0x4d, 0x28, 0xcc, 0x69, 0xc7, 0x4d,
-	0x67, 0xe7, 0xa3, 0xba, 0x38, 0x3f, 0x2b, 0x16, 0x2c, 0xbc, 0xdd, 0xa9, 0xc5, 0xb7, 0xfb, 0x3b,
-	0xc8, 0x8d, 0x29, 0x23, 0x93, 0x6d, 0xd2, 0xc2, 0xfd, 0xc7, 0x4b, 0xb7, 0x59, 0xcc, 0x68, 0xe9,
-	0x25, 0x65, 0x44, 0xee, 0x23, 0xe2, 0xc8, 0x8e, 0xa7, 0x06, 0xf4, 0x05, 0xa8, 0x81, 0x67, 0xfb,
-	0xc1, 0x09, 0xe5, 0x56, 0x3c, 0x21, 0x6e, 0x88, 0x09, 0xb1, 0x18, 0xdb, 0x5f, 0x45, 0x66, 0xfd,
-	0x67, 0x05, 0x8a, 0x0b, 0x5a, 0x68, 0x07, 0x6e, 0xbd, 0x34, 0xb1, 0x61, 0x45, 0xc3, 0x61, 0x6f,
-	0xd9, 0x74, 0xa8, 0x42, 0xae, 0x63, 0xf6, 0xad, 0xbd, 0x56, 0xa7, 0xd5, 0x6b, 0x1a, 0x0d, 0x55,
-	0x41, 0xff, 0x03, 0x6d, 0x8e, 0x54, 0xdd, 0x0b, 0x5b, 0x44, 0xbb, 0xf5, 0xb2, 0xd5, 0x57, 0x13,
-	0xe8, 0x16, 0xdc, 0x58, 0xb2, 0x5a, 0x3f, 0xc4, 0x3d, 0x13, 0xab, 0x29, 0x74, 0x15, 0x8a, 0x1d,
-	0xd3, 0x9a, 0x45, 0xa8, 0xc9, 0xda, 0x5d, 0xb8, 0x3e, 0xa0, 0xe3, 0x65, 0xe9, 0xa8, 0x41, 0x54,
-	0xd4, 0xe1, 0x30, 0xd3, 0x55, 0x8e, 0xd6, 0xc5, 0x54, 0xf3, 0xe8, 0x9f, 0x00, 0x00, 0x00, 0xff,
-	0xff, 0x8b, 0xda, 0x5f, 0xf8, 0xb2, 0x0c, 0x00, 0x00,
+	// 1301 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xdd, 0x92, 0xd3, 0xc6,
+	0x12, 0x5e, 0xc9, 0x3f, 0x6b, 0xb7, 0xff, 0xc4, 0x70, 0x0e, 0x88, 0x05, 0x0e, 0xbb, 0x82, 0x73,
+	0xd8, 0x53, 0x05, 0x36, 0x6b, 0x8a, 0x0a, 0x95, 0x90, 0x4a, 0xf9, 0x47, 0xbb, 0x36, 0x18, 0xcb,
+	0x3b, 0xf6, 0x42, 0xe0, 0x46, 0x25, 0xec, 0x59, 0xa3, 0x20, 0x4b, 0x62, 0xa4, 0x5d, 0xb2, 0x97,
+	0x79, 0x88, 0x54, 0xe5, 0x19, 0xf2, 0x00, 0xb9, 0xc8, 0x03, 0x24, 0x79, 0x88, 0x5c, 0xe7, 0x3a,
+	0x8f, 0x90, 0xd2, 0xcc, 0xc8, 0x7f, 0x6b, 0xcc, 0x5e, 0x70, 0xa7, 0xe9, 0xf9, 0xbe, 0xaf, 0xa7,
+	0x7b, 0x7a, 0x5a, 0x0d, 0xb7, 0xc6, 0x9e, 0x37, 0x76, 0x48, 0x65, 0x64, 0x85, 0x56, 0x10, 0x7a,
+	0x94, 0x54, 0x4e, 0xf7, 0x2a, 0xef, 0x4f, 0x08, 0x3d, 0x2b, 0xfb, 0xd4, 0x0b, 0x3d, 0x74, 0x99,
+	0x03, 0xca, 0x53, 0x40, 0xf9, 0x74, 0x6f, 0xeb, 0x86, 0x60, 0x59, 0xbe, 0x5d, 0xb1, 0x5c, 0xd7,
+	0x0b, 0xad, 0xd0, 0xf6, 0xdc, 0x80, 0x53, 0xb6, 0xb6, 0x57, 0x69, 0x12, 0x37, 0xb4, 0x43, 0x21,
+	0xba, 0xf5, 0x1f, 0x81, 0x60, 0xab, 0x37, 0x27, 0xc7, 0x95, 0x0f, 0xd4, 0xf2, 0x7d, 0x42, 0x63,
+	0x05, 0x55, 0xec, 0x87, 0x67, 0x3e, 0xa9, 0x38, 0x56, 0xe8, 0xb8, 0x63, 0xbe, 0xa3, 0xfd, 0x21,
+	0x41, 0x5e, 0x67, 0x52, 0x98, 0x04, 0x27, 0x4e, 0x88, 0x1e, 0x42, 0x9a, 0x4b, 0xab, 0xd2, 0xb6,
+	0xb4, 0x9b, 0xab, 0x5e, 0x2f, 0xaf, 0x38, 0x70, 0x59, 0x50, 0x04, 0x14, 0xa9, 0xb0, 0x79, 0x4a,
+	0x68, 0x60, 0x7b, 0xae, 0x9a, 0xdc, 0x96, 0x76, 0x13, 0x38, 0x5e, 0xa2, 0x2b, 0x90, 0x1e, 0x9e,
+	0xd0, 0xc0, 0xa3, 0x6a, 0x62, 0x5b, 0xda, 0xcd, 0x63, 0xb1, 0xd2, 0x0e, 0x01, 0xb8, 0xc3, 0xc1,
+	0x99, 0x4f, 0xd0, 0x75, 0xb8, 0x8a, 0xf5, 0xfe, 0x51, 0x67, 0x60, 0x0e, 0x5e, 0xf5, 0x74, 0xf3,
+	0xa8, 0xdb, 0xef, 0xe9, 0x8d, 0xf6, 0x7e, 0x5b, 0x6f, 0x2a, 0x1b, 0x28, 0x03, 0xc9, 0xfd, 0xa3,
+	0x4e, 0x47, 0x91, 0x50, 0x11, 0xa0, 0x87, 0x8d, 0xa7, 0x7a, 0x63, 0xd0, 0x36, 0xba, 0x8a, 0x8c,
+	0xf2, 0x90, 0x79, 0xa6, 0xbf, 0x32, 0x8d, 0x6e, 0xe7, 0x95, 0x92, 0xd0, 0x7e, 0x4b, 0x40, 0xea,
+	0x30, 0xca, 0x34, 0xfa, 0x06, 0xc0, 0xa7, 0xde, 0x77, 0x64, 0x18, 0x65, 0x51, 0x95, 0xb7, 0x13,
+	0xbb, 0xb9, 0xea, 0xad, 0x95, 0x71, 0xf4, 0xa6, 0x30, 0x3c, 0x47, 0x41, 0x5f, 0x40, 0xf2, 0x9d,
+	0xed, 0x8e, 0xd4, 0x04, 0xa3, 0xde, 0x5e, 0x49, 0x7d, 0x66, 0xbb, 0x23, 0xfd, 0x7b, 0x9f, 0x92,
+	0x20, 0x0a, 0x14, 0x33, 0x42, 0x94, 0xbd, 0x63, 0xdb, 0x09, 0x09, 0x65, 0x79, 0xf8, 0x58, 0xf6,
+	0xf6, 0x19, 0x04, 0x0b, 0x28, 0x7a, 0x0c, 0x29, 0x8f, 0x8e, 0x08, 0x55, 0x53, 0xcc, 0x9d, 0xf6,
+	0xb1, 0x93, 0xfa, 0x84, 0x86, 0x67, 0x46, 0x84, 0xc4, 0x9c, 0x80, 0x0e, 0x20, 0x37, 0xb2, 0x83,
+	0xd0, 0x76, 0x87, 0xa1, 0xe9, 0xb9, 0x6a, 0x9a, 0xf1, 0xff, 0xb7, 0x96, 0x8f, 0xc9, 0x31, 0xa1,
+	0xc4, 0x1d, 0x12, 0x0c, 0x31, 0xd5, 0x70, 0xd1, 0x0e, 0xe4, 0x83, 0xd0, 0xa2, 0xa1, 0x29, 0x2e,
+	0x6b, 0x93, 0x5d, 0x56, 0x8e, 0xd9, 0x1a, 0xcc, 0x84, 0x6e, 0x02, 0x10, 0x77, 0x14, 0x03, 0x32,
+	0x0c, 0x90, 0x25, 0xee, 0x48, 0x6c, 0x5f, 0x81, 0xb4, 0x77, 0x7c, 0x1c, 0x90, 0x50, 0x85, 0x6d,
+	0x69, 0x37, 0x85, 0xc5, 0x0a, 0xed, 0x41, 0xca, 0xb1, 0x27, 0x76, 0xa8, 0xe6, 0x17, 0x13, 0x12,
+	0x97, 0x6a, 0xb9, 0xed, 0x86, 0x0f, 0xab, 0x2f, 0x2c, 0xe7, 0x84, 0x60, 0x8e, 0xd4, 0xee, 0x40,
+	0x71, 0x31, 0xb9, 0x08, 0x41, 0xd2, 0xb5, 0x26, 0x84, 0x95, 0x64, 0x16, 0xb3, 0x6f, 0xed, 0x2e,
+	0x5c, 0x3a, 0x17, 0xd3, 0x14, 0x28, 0xcf, 0x01, 0x7b, 0x00, 0xb3, 0x6b, 0x46, 0x75, 0xc8, 0xf8,
+	0x82, 0x26, 0x2a, 0xfc, 0xa2, 0xf9, 0x9a, 0xf2, 0xb4, 0xbf, 0x24, 0x28, 0x2c, 0xdc, 0xc7, 0xe7,
+	0x50, 0x45, 0x4f, 0x21, 0x3b, 0xb2, 0xe9, 0xb4, 0x68, 0xa5, 0xdd, 0x62, 0xf5, 0xde, 0xa7, 0x4b,
+	0xa1, 0xdc, 0x8c, 0x39, 0x78, 0x46, 0xd7, 0x74, 0xc8, 0x4e, 0xed, 0xe8, 0x1a, 0xfc, 0xbb, 0xd9,
+	0xc6, 0xfc, 0xd5, 0x2c, 0xbd, 0xad, 0x02, 0x64, 0x6b, 0xfd, 0x86, 0xde, 0x6d, 0xb6, 0xbb, 0x07,
+	0xfc, 0x81, 0x35, 0xf5, 0xe9, 0x5a, 0xd6, 0x7e, 0x95, 0x20, 0xcd, 0x8b, 0x15, 0x1d, 0x82, 0x32,
+	0xf4, 0x26, 0xbe, 0x17, 0xd8, 0x21, 0x31, 0x45, 0x8d, 0xf3, 0x48, 0xef, 0xac, 0x3c, 0x64, 0x23,
+	0x06, 0x73, 0x7e, 0x6b, 0x03, 0x97, 0x86, 0x8b, 0x26, 0xd4, 0x85, 0x52, 0x1c, 0x7c, 0xac, 0x28,
+	0x33, 0xc5, 0xdb, 0x6b, 0xc3, 0x9e, 0x0a, 0x16, 0xfd, 0x05, 0x4b, 0xbd, 0x00, 0x39, 0x2e, 0x63,
+	0x46, 0x7d, 0x4e, 0xfb, 0x45, 0x82, 0xd2, 0xd2, 0x29, 0xd0, 0xd7, 0x20, 0x7b, 0x3e, 0x3b, 0x77,
+	0xb1, 0x7a, 0xff, 0x22, 0xe7, 0x2e, 0x1b, 0x3e, 0xa1, 0x56, 0xe8, 0x51, 0x2c, 0x7b, 0x3e, 0x7a,
+	0x04, 0x9b, 0xdc, 0x43, 0x20, 0xba, 0xca, 0xda, 0xf7, 0x1d, 0x63, 0xb5, 0xfb, 0x90, 0x89, 0x65,
+	0x90, 0x0a, 0xff, 0x32, 0x7a, 0x3a, 0xae, 0x0d, 0x0c, 0xbc, 0x74, 0x17, 0x9b, 0x90, 0xa8, 0x75,
+	0x9b, 0x8a, 0xa4, 0xfd, 0x29, 0x43, 0x71, 0x31, 0xd8, 0xcf, 0x52, 0x5f, 0x4f, 0x58, 0xec, 0x17,
+	0x29, 0xac, 0x55, 0xa1, 0x3f, 0x80, 0xd4, 0x69, 0xf4, 0x48, 0x59, 0x1f, 0xcf, 0x55, 0xb7, 0x56,
+	0x0a, 0x88, 0x67, 0xcc, 0x80, 0xda, 0x8f, 0xd2, 0x85, 0xc2, 0x2e, 0x40, 0xb6, 0xa3, 0xf7, 0xfb,
+	0xe6, 0xa0, 0x55, 0xeb, 0x2a, 0x12, 0xba, 0x02, 0x68, 0xba, 0x34, 0x0d, 0x6c, 0xea, 0x87, 0x47,
+	0xb5, 0x8e, 0x22, 0x23, 0x05, 0xf2, 0x07, 0x58, 0xaf, 0x0d, 0x74, 0xcc, 0x91, 0x89, 0xa8, 0xac,
+	0xe7, 0x2d, 0x33, 0x70, 0x12, 0x65, 0x21, 0xc5, 0x3f, 0x53, 0x11, 0xaf, 0x55, 0xeb, 0x9b, 0xb5,
+	0x6e, 0x43, 0xef, 0x0f, 0x0c, 0xac, 0xe4, 0xb4, 0xbf, 0x65, 0xc8, 0x1c, 0xbc, 0x77, 0xf8, 0xaf,
+	0x62, 0x07, 0xf2, 0xec, 0xef, 0x6c, 0x06, 0x21, 0xb5, 0xdd, 0xb1, 0xe8, 0x30, 0x39, 0x66, 0xeb,
+	0x33, 0x13, 0xfa, 0x2f, 0x14, 0x2d, 0xc7, 0xf1, 0x3e, 0x98, 0x8e, 0x1d, 0x12, 0x6a, 0x39, 0x01,
+	0xcb, 0x61, 0x06, 0x17, 0x98, 0xb5, 0x23, 0x8c, 0xe8, 0x25, 0x14, 0xa3, 0x76, 0x33, 0x32, 0xdf,
+	0xd8, 0xee, 0xc8, 0x76, 0xc7, 0x81, 0x68, 0xe7, 0x0f, 0x56, 0x66, 0x2a, 0x3e, 0x40, 0xb9, 0x1b,
+	0x71, 0xea, 0x82, 0xa2, 0xbb, 0x21, 0x3d, 0xc3, 0x05, 0x77, 0xde, 0x86, 0x5e, 0xc2, 0x65, 0x56,
+	0x91, 0xb6, 0xe7, 0x5a, 0xce, 0x4c, 0x3d, 0xb9, 0xa6, 0xd9, 0xc7, 0xea, 0x3d, 0x8b, 0x5a, 0x13,
+	0x12, 0xd5, 0x22, 0x9a, 0x49, 0xc4, 0xc2, 0x5b, 0x6f, 0x01, 0x9d, 0xf7, 0x8e, 0x14, 0x48, 0xbc,
+	0x23, 0x67, 0x22, 0x11, 0xd1, 0x27, 0x7a, 0x12, 0x5f, 0xbd, 0xbc, 0xa6, 0xf2, 0xce, 0xbb, 0xe4,
+	0xa4, 0x2f, 0xe5, 0xc7, 0x92, 0x16, 0xc0, 0xa5, 0x73, 0xfb, 0xa8, 0xba, 0x28, 0xbb, 0xa6, 0xa2,
+	0x5a, 0x1b, 0x42, 0x0c, 0xa9, 0x8b, 0xe3, 0x44, 0x6b, 0x23, 0x1e, 0x28, 0xea, 0x0a, 0x14, 0xfd,
+	0x58, 0x9a, 0xbf, 0xff, 0xdf, 0x93, 0xa0, 0x30, 0x97, 0x7c, 0xd0, 0xa8, 0x5b, 0xe1, 0xf0, 0x2d,
+	0xba, 0x0b, 0xa5, 0xe0, 0x9d, 0xed, 0xfb, 0x64, 0x64, 0x52, 0x66, 0x0e, 0xd4, 0x34, 0xfb, 0x5f,
+	0x15, 0x85, 0x99, 0x83, 0x83, 0xe8, 0xd6, 0x63, 0xe0, 0xc2, 0x00, 0x53, 0x10, 0x56, 0xf1, 0xdb,
+	0x7b, 0x0d, 0x88, 0xcf, 0x40, 0x42, 0x8e, 0xb9, 0x16, 0x0d, 0xe6, 0xde, 0xba, 0xd1, 0x89, 0xa1,
+	0xcb, 0xb3, 0x19, 0x08, 0x2b, 0x64, 0x6e, 0x83, 0x4d, 0x45, 0x2d, 0x28, 0x2e, 0x68, 0xc7, 0x4d,
+	0x67, 0xe7, 0x93, 0xba, 0xb8, 0x30, 0x2f, 0x16, 0x2c, 0xfd, 0xbb, 0x93, 0xcb, 0xff, 0xee, 0x6f,
+	0x21, 0x3f, 0xf1, 0x28, 0x99, 0xba, 0x49, 0xb1, 0xe3, 0x3f, 0x5a, 0xe9, 0x66, 0x39, 0xa3, 0xe5,
+	0xe7, 0x1e, 0x25, 0xc2, 0x0f, 0x8b, 0x23, 0x37, 0x99, 0x19, 0xd0, 0xff, 0x41, 0x09, 0x5c, 0xcb,
+	0x0f, 0xde, 0x7a, 0xa1, 0x19, 0x4f, 0x88, 0x9b, 0x6c, 0x42, 0x2c, 0xc5, 0xf6, 0x17, 0xdc, 0xac,
+	0xfd, 0x24, 0x41, 0x69, 0x49, 0x0b, 0xed, 0xc0, 0xcd, 0xe7, 0x06, 0xd6, 0x4d, 0x3e, 0x1c, 0xf6,
+	0x57, 0x4d, 0x87, 0x0a, 0xe4, 0xbb, 0xc6, 0xc0, 0xdc, 0x6f, 0x77, 0xdb, 0xfd, 0x96, 0xde, 0x54,
+	0x24, 0x74, 0x03, 0xd4, 0x05, 0x52, 0x6d, 0x3f, 0x6a, 0x11, 0x9d, 0xf6, 0xf3, 0xf6, 0x40, 0x91,
+	0xd1, 0x4d, 0xb8, 0xb6, 0x62, 0xb7, 0x71, 0x84, 0xfb, 0x06, 0x56, 0x92, 0xe8, 0x32, 0x94, 0xba,
+	0x86, 0x39, 0x8f, 0x50, 0x12, 0xf5, 0x1f, 0x24, 0xb8, 0x3a, 0xf4, 0x26, 0xab, 0xf2, 0x51, 0x07,
+	0x5e, 0xd5, 0xd1, 0x34, 0xd3, 0x93, 0x5e, 0x3f, 0x11, 0x90, 0xb1, 0xe7, 0x58, 0xee, 0xb8, 0xec,
+	0xd1, 0x71, 0x65, 0x4c, 0x5c, 0x36, 0xeb, 0x54, 0xf8, 0x96, 0xe5, 0xdb, 0xc1, 0xc2, 0x24, 0xff,
+	0xd5, 0x74, 0xf1, 0xb3, 0x7c, 0xed, 0x80, 0xd3, 0x1b, 0x8e, 0x77, 0x32, 0x2a, 0x37, 0xa7, 0x7e,
+	0x5e, 0xec, 0xbd, 0x49, 0x33, 0x91, 0x87, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x2f, 0x61,
+	0x5a, 0x61, 0x0c, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1/query.proto b/googleapis/datastore/v1/query.proto
deleted file mode 100644
index ab5283f47f71a439e64f37ff95c89a4cedeb491d..0000000000000000000000000000000000000000
--- a/googleapis/datastore/v1/query.proto
+++ /dev/null
@@ -1,306 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.datastore.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/datastore/v1/entity.proto"; // from google/datastore/v1/entity.proto
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto
-import "google.golang.org/genproto/googleapis/type/latlng/latlng.proto"; // from google/type/latlng.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "QueryProto";
-option java_package = "com.google.datastore.v1";
-
-
-// The result of fetching an entity from Datastore.
-message EntityResult {
-  // Specifies what data the 'entity' field contains.
-  // A `ResultType` is either implied (for example, in `LookupResponse.missing`
-  // from `datastore.proto`, it is always `KEY_ONLY`) or specified by context
-  // (for example, in message `QueryResultBatch`, field `entity_result_type`
-  // specifies a `ResultType` for all the values in field `entity_results`).
-  enum ResultType {
-    // Unspecified. This value is never used.
-    RESULT_TYPE_UNSPECIFIED = 0;
-
-    // The key and properties.
-    FULL = 1;
-
-    // A projected subset of properties. The entity may have no key.
-    PROJECTION = 2;
-
-    // Only the key.
-    KEY_ONLY = 3;
-  }
-
-  // The resulting entity.
-  Entity entity = 1;
-
-  // The version of the entity, a strictly positive number that monotonically
-  // increases with changes to the entity.
-  //
-  // This field is set for [`FULL`][google.datastore.v1.EntityResult.ResultType.FULL] entity
-  // results.
-  //
-  // For [missing][google.datastore.v1.LookupResponse.missing] entities in `LookupResponse`, this
-  // is the version of the snapshot that was used to look up the entity, and it
-  // is always set except for eventually consistent reads.
-  int64 version = 4;
-
-  // A cursor that points to the position after the result entity.
-  // Set only when the `EntityResult` is part of a `QueryResultBatch` message.
-  bytes cursor = 3;
-}
-
-// A query for entities.
-message Query {
-  // The projection to return. Defaults to returning all properties.
-  repeated Projection projection = 2;
-
-  // The kinds to query (if empty, returns entities of all kinds).
-  // Currently at most 1 kind may be specified.
-  repeated KindExpression kind = 3;
-
-  // The filter to apply.
-  Filter filter = 4;
-
-  // The order to apply to the query results (if empty, order is unspecified).
-  repeated PropertyOrder order = 5;
-
-  // The properties to make distinct. The query results will contain the first
-  // result for each distinct combination of values for the given properties
-  // (if empty, all results are returned).
-  repeated PropertyReference distinct_on = 6;
-
-  // A starting point for the query results. Query cursors are
-  // returned in query result batches and
-  // [can only be used to continue the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
-  bytes start_cursor = 7;
-
-  // An ending point for the query results. Query cursors are
-  // returned in query result batches and
-  // [can only be used to limit the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
-  bytes end_cursor = 8;
-
-  // The number of results to skip. Applies before limit, but after all other
-  // constraints. Optional. Must be >= 0 if specified.
-  int32 offset = 10;
-
-  // The maximum number of results to return. Applies after all other
-  // constraints. Optional.
-  // Unspecified is interpreted as no limit.
-  // Must be >= 0 if specified.
-  google.protobuf.Int32Value limit = 12;
-}
-
-// A representation of a kind.
-message KindExpression {
-  // The name of the kind.
-  string name = 1;
-}
-
-// A reference to a property relative to the kind expressions.
-message PropertyReference {
-  // The name of the property.
-  // If name includes "."s, it may be interpreted as a property name path.
-  string name = 2;
-}
-
-// A representation of a property in a projection.
-message Projection {
-  // The property to project.
-  PropertyReference property = 1;
-}
-
-// The desired order for a specific property.
-message PropertyOrder {
-  // The sort direction.
-  enum Direction {
-    // Unspecified. This value must not be used.
-    DIRECTION_UNSPECIFIED = 0;
-
-    // Ascending.
-    ASCENDING = 1;
-
-    // Descending.
-    DESCENDING = 2;
-  }
-
-  // The property to order by.
-  PropertyReference property = 1;
-
-  // The direction to order by. Defaults to `ASCENDING`.
-  Direction direction = 2;
-}
-
-// A holder for any type of filter.
-message Filter {
-  // The type of filter.
-  oneof filter_type {
-    // A composite filter.
-    CompositeFilter composite_filter = 1;
-
-    // A filter on a property.
-    PropertyFilter property_filter = 2;
-  }
-}
-
-// A filter that merges multiple other filters using the given operator.
-message CompositeFilter {
-  // A composite filter operator.
-  enum Operator {
-    // Unspecified. This value must not be used.
-    OPERATOR_UNSPECIFIED = 0;
-
-    // The results are required to satisfy each of the combined filters.
-    AND = 1;
-  }
-
-  // The operator for combining multiple filters.
-  Operator op = 1;
-
-  // The list of filters to combine.
-  // Must contain at least one filter.
-  repeated Filter filters = 2;
-}
-
-// A filter on a specific property.
-message PropertyFilter {
-  // A property filter operator.
-  enum Operator {
-    // Unspecified. This value must not be used.
-    OPERATOR_UNSPECIFIED = 0;
-
-    // Less than.
-    LESS_THAN = 1;
-
-    // Less than or equal.
-    LESS_THAN_OR_EQUAL = 2;
-
-    // Greater than.
-    GREATER_THAN = 3;
-
-    // Greater than or equal.
-    GREATER_THAN_OR_EQUAL = 4;
-
-    // Equal.
-    EQUAL = 5;
-
-    // Has ancestor.
-    HAS_ANCESTOR = 11;
-  }
-
-  // The property to filter by.
-  PropertyReference property = 1;
-
-  // The operator to filter by.
-  Operator op = 2;
-
-  // The value to compare the property to.
-  Value value = 3;
-}
-
-// A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
-message GqlQuery {
-  // A string of the format described
-  // [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
-  string query_string = 1;
-
-  // When false, the query string must not contain any literals and instead must
-  // bind all values. For example,
-  // `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while
-  // `SELECT * FROM Kind WHERE a = @value` is.
-  bool allow_literals = 2;
-
-  // For each non-reserved named binding site in the query string, there must be
-  // a named parameter with that name, but not necessarily the inverse.
-  //
-  // Key must match regex `[A-Za-z_$][A-Za-z_$0-9]*`, must not match regex
-  // `__.*__`, and must not be `""`.
-  map<string, GqlQueryParameter> named_bindings = 5;
-
-  // Numbered binding site @1 references the first numbered parameter,
-  // effectively using 1-based indexing, rather than the usual 0.
-  //
-  // For each binding site numbered i in `query_string`, there must be an i-th
-  // numbered parameter. The inverse must also be true.
-  repeated GqlQueryParameter positional_bindings = 4;
-}
-
-// A binding parameter for a GQL query.
-message GqlQueryParameter {
-  // The type of parameter.
-  oneof parameter_type {
-    // A value parameter.
-    Value value = 2;
-
-    // A query cursor. Query cursors are returned in query
-    // result batches.
-    bytes cursor = 3;
-  }
-}
-
-// A batch of results produced by a query.
-message QueryResultBatch {
-  // The possible values for the `more_results` field.
-  enum MoreResultsType {
-    // Unspecified. This value is never used.
-    MORE_RESULTS_TYPE_UNSPECIFIED = 0;
-
-    // There may be additional batches to fetch from this query.
-    NOT_FINISHED = 1;
-
-    // The query is finished, but there may be more results after the limit.
-    MORE_RESULTS_AFTER_LIMIT = 2;
-
-    // The query is finished, but there may be more results after the end
-    // cursor.
-    MORE_RESULTS_AFTER_CURSOR = 4;
-
-    // The query has been exhausted.
-    NO_MORE_RESULTS = 3;
-  }
-
-  // The number of results skipped, typically because of an offset.
-  int32 skipped_results = 6;
-
-  // A cursor that points to the position after the last skipped result.
-  // Will be set when `skipped_results` != 0.
-  bytes skipped_cursor = 3;
-
-  // The result type for every entity in `entity_results`.
-  EntityResult.ResultType entity_result_type = 1;
-
-  // The results for this batch.
-  repeated EntityResult entity_results = 2;
-
-  // A cursor that points to the position after the last result in the batch.
-  bytes end_cursor = 4;
-
-  // The state of the query after the current batch.
-  MoreResultsType more_results = 5;
-
-  // The version number of the snapshot this batch was returned from.
-  // This applies to the range of results from the query's `start_cursor` (or
-  // the beginning of the query if no cursor was given) to this batch's
-  // `end_cursor` (not the query's `end_cursor`).
-  //
-  // In a single transaction, subsequent query result batches for the same query
-  // can have a greater snapshot version number. Each batch's snapshot version
-  // is valid for all preceding batches.
-  int64 snapshot_version = 7;
-}
diff --git a/googleapis/datastore/v1beta3/datastore.pb.go b/googleapis/datastore/v1beta3/datastore.pb.go
index 10c145857fddad2d8f404667dc5f30fce2dbebf6..2230f74e6d2b6e3288fb945073329d35cbd3d652 100644
--- a/googleapis/datastore/v1beta3/datastore.pb.go
+++ b/googleapis/datastore/v1beta3/datastore.pb.go
@@ -1,14 +1,14 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/datastore/v1beta3/datastore.proto
+// source: google/datastore/v1beta3/datastore.proto
 // DO NOT EDIT!
 
 /*
-Package google_datastore_v1beta3 is a generated protocol buffer package.
+Package datastore is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/datastore/v1beta3/datastore.proto
-	google.golang.org/genproto/googleapis/datastore/v1beta3/entity.proto
-	google.golang.org/genproto/googleapis/datastore/v1beta3/query.proto
+	google/datastore/v1beta3/datastore.proto
+	google/datastore/v1beta3/entity.proto
+	google/datastore/v1beta3/query.proto
 
 It has these top-level messages:
 	LookupRequest
@@ -44,12 +44,12 @@ It has these top-level messages:
 	GqlQueryParameter
 	QueryResultBatch
 */
-package google_datastore_v1beta3 // import "google.golang.org/genproto/googleapis/datastore/v1beta3"
+package datastore
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -141,6 +141,13 @@ func (m *LookupRequest) String() string            { return proto.CompactTextStr
 func (*LookupRequest) ProtoMessage()               {}
 func (*LookupRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *LookupRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *LookupRequest) GetReadOptions() *ReadOptions {
 	if m != nil {
 		return m.ReadOptions
@@ -242,6 +249,13 @@ func (m *RunQueryRequest) GetQueryType() isRunQueryRequest_QueryType {
 	return nil
 }
 
+func (m *RunQueryRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *RunQueryRequest) GetPartitionId() *PartitionId {
 	if m != nil {
 		return m.PartitionId
@@ -382,6 +396,13 @@ func (m *BeginTransactionRequest) String() string            { return proto.Comp
 func (*BeginTransactionRequest) ProtoMessage()               {}
 func (*BeginTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *BeginTransactionRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 // The response for [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction].
 type BeginTransactionResponse struct {
 	// The transaction identifier (always present).
@@ -393,6 +414,13 @@ func (m *BeginTransactionResponse) String() string            { return proto.Com
 func (*BeginTransactionResponse) ProtoMessage()               {}
 func (*BeginTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *BeginTransactionResponse) GetTransaction() []byte {
+	if m != nil {
+		return m.Transaction
+	}
+	return nil
+}
+
 // The request for [Datastore.Rollback][google.datastore.v1beta3.Datastore.Rollback].
 type RollbackRequest struct {
 	// The ID of the project against which to make the request.
@@ -407,6 +435,20 @@ func (m *RollbackRequest) String() string            { return proto.CompactTextS
 func (*RollbackRequest) ProtoMessage()               {}
 func (*RollbackRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *RollbackRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *RollbackRequest) GetTransaction() []byte {
+	if m != nil {
+		return m.Transaction
+	}
+	return nil
+}
+
 // The response for [Datastore.Rollback][google.datastore.v1beta3.Datastore.Rollback].
 // (an empty message).
 type RollbackResponse struct {
@@ -466,6 +508,20 @@ func (m *CommitRequest) GetTransactionSelector() isCommitRequest_TransactionSele
 	return nil
 }
 
+func (m *CommitRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *CommitRequest) GetMode() CommitRequest_Mode {
+	if m != nil {
+		return m.Mode
+	}
+	return CommitRequest_MODE_UNSPECIFIED
+}
+
 func (m *CommitRequest) GetTransaction() []byte {
 	if x, ok := m.GetTransactionSelector().(*CommitRequest_Transaction); ok {
 		return x.Transaction
@@ -553,6 +609,13 @@ func (m *CommitResponse) GetMutationResults() []*MutationResult {
 	return nil
 }
 
+func (m *CommitResponse) GetIndexUpdates() int32 {
+	if m != nil {
+		return m.IndexUpdates
+	}
+	return 0
+}
+
 // The request for [Datastore.AllocateIds][google.datastore.v1beta3.Datastore.AllocateIds].
 type AllocateIdsRequest struct {
 	// The ID of the project against which to make the request.
@@ -567,6 +630,13 @@ func (m *AllocateIdsRequest) String() string            { return proto.CompactTe
 func (*AllocateIdsRequest) ProtoMessage()               {}
 func (*AllocateIdsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *AllocateIdsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *AllocateIdsRequest) GetKeys() []*Key {
 	if m != nil {
 		return m.Keys
@@ -867,6 +937,20 @@ func (m *MutationResult) GetKey() *Key {
 	return nil
 }
 
+func (m *MutationResult) GetVersion() int64 {
+	if m != nil {
+		return m.Version
+	}
+	return 0
+}
+
+func (m *MutationResult) GetConflictDetected() bool {
+	if m != nil {
+		return m.ConflictDetected
+	}
+	return false
+}
+
 // The options shared by read requests.
 type ReadOptions struct {
 	// If not specified, lookups and ancestor queries default to
@@ -1254,88 +1338,88 @@ var _Datastore_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/datastore/v1beta3/datastore.proto",
+	Metadata: "google/datastore/v1beta3/datastore.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/datastore/v1beta3/datastore.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/datastore/v1beta3/datastore.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1198 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x57, 0xcf, 0x8f, 0xdb, 0xc4,
-	0x17, 0x5f, 0x67, 0x77, 0xb3, 0xc9, 0x4b, 0x36, 0x9b, 0xce, 0xb7, 0x5f, 0xb0, 0x42, 0x2b, 0x22,
-	0x57, 0xa5, 0x21, 0x94, 0xa4, 0x4d, 0xa9, 0x0a, 0xab, 0x1e, 0x36, 0xbf, 0xda, 0x44, 0x74, 0x93,
-	0x65, 0x92, 0x56, 0xe2, 0x64, 0x39, 0xf6, 0xac, 0x31, 0xeb, 0x78, 0xbc, 0xf6, 0xa4, 0x22, 0x42,
-	0x5c, 0x38, 0x21, 0x10, 0x27, 0xc4, 0x1f, 0xc0, 0x99, 0x33, 0xf0, 0x2f, 0x20, 0x21, 0x71, 0xe1,
-	0x5f, 0xe0, 0x8f, 0xe0, 0x88, 0x3c, 0x1e, 0x6f, 0xd6, 0x69, 0x93, 0xb8, 0x15, 0xb7, 0xcc, 0xcb,
-	0xfb, 0xbc, 0xf7, 0x79, 0x3f, 0xe6, 0xbd, 0x31, 0x3c, 0x36, 0x29, 0x35, 0x6d, 0x52, 0x33, 0xa9,
-	0xad, 0x39, 0x66, 0x8d, 0x7a, 0x66, 0xdd, 0x24, 0x8e, 0xeb, 0x51, 0x46, 0xeb, 0xe1, 0x5f, 0x9a,
-	0x6b, 0xf9, 0x75, 0x43, 0x63, 0x9a, 0xcf, 0xa8, 0x47, 0xea, 0xcf, 0xef, 0x4e, 0x08, 0xd3, 0xee,
-	0x2d, 0x24, 0x35, 0xae, 0x8c, 0x64, 0x61, 0x68, 0x21, 0x17, 0x9a, 0xa5, 0x7e, 0x32, 0x17, 0x9a,
-	0x6b, 0xd5, 0x7d, 0xe2, 0x3d, 0xb7, 0x74, 0xa2, 0x53, 0xe7, 0xd4, 0x32, 0xeb, 0x9a, 0xe3, 0x50,
-	0xa6, 0x31, 0x8b, 0x3a, 0x7e, 0xe8, 0xa4, 0xd4, 0x79, 0x5d, 0xb6, 0xc4, 0x61, 0x16, 0x9b, 0x0b,
-	0x2b, 0xed, 0xd7, 0xb5, 0x72, 0x3e, 0x23, 0x9e, 0x30, 0xa2, 0xfc, 0x2c, 0xc1, 0xfe, 0x13, 0x4a,
-	0xcf, 0x66, 0x2e, 0x26, 0xe7, 0x33, 0xe2, 0x33, 0x74, 0x1d, 0xc0, 0xf5, 0xe8, 0xe7, 0x44, 0x67,
-	0xaa, 0x65, 0xc8, 0x99, 0xb2, 0x54, 0xc9, 0xe2, 0xac, 0x90, 0xf4, 0x0d, 0xd4, 0x83, 0xbc, 0x47,
-	0x34, 0x43, 0xa5, 0x2e, 0x8f, 0x48, 0x96, 0xca, 0x52, 0x25, 0xd7, 0xb8, 0x59, 0x5b, 0x95, 0xb7,
-	0x1a, 0x26, 0x9a, 0x31, 0x0c, 0x95, 0x71, 0xce, 0x5b, 0x1c, 0xd0, 0x5d, 0xd8, 0x39, 0x23, 0x73,
-	0x5f, 0xde, 0x2e, 0x6f, 0x57, 0x72, 0x8d, 0xeb, 0xab, 0x2d, 0x7c, 0x4c, 0xe6, 0x98, 0xab, 0x2a,
-	0x7f, 0x48, 0x50, 0x88, 0xd8, 0xfa, 0x2e, 0x75, 0x7c, 0x82, 0x1e, 0xc2, 0xee, 0x29, 0x9d, 0x39,
-	0x86, 0x2c, 0x71, 0x33, 0xef, 0xac, 0x36, 0xd3, 0xe5, 0xc9, 0xc3, 0xc4, 0x9f, 0xd9, 0x0c, 0x87,
-	0x20, 0x74, 0x04, 0x7b, 0x53, 0xcb, 0xf7, 0x2d, 0xc7, 0x94, 0x53, 0xaf, 0x84, 0x8f, 0x60, 0xe8,
-	0x23, 0xc8, 0x18, 0xe4, 0x94, 0x78, 0x1e, 0x31, 0x92, 0x45, 0x72, 0xa1, 0xae, 0xfc, 0x99, 0x82,
-	0x03, 0x3c, 0x73, 0x3e, 0x09, 0xca, 0x91, 0x3c, 0xfb, 0xae, 0xe6, 0x31, 0x2b, 0xc8, 0x60, 0xa0,
-	0x90, 0xda, 0x94, 0xfd, 0x93, 0x48, 0xbb, 0x6f, 0xe0, 0x9c, 0xbb, 0x38, 0xfc, 0x87, 0x75, 0x7c,
-	0x00, 0xbb, 0xbc, 0xa3, 0xe4, 0x6d, 0x6e, 0xe2, 0xed, 0xd5, 0x26, 0x78, 0xa4, 0xbd, 0x2d, 0x1c,
-	0xea, 0xa3, 0x26, 0x64, 0xcd, 0x73, 0x5b, 0x0d, 0xc1, 0x7b, 0x1c, 0xac, 0xac, 0x06, 0x3f, 0x3e,
-	0xb7, 0x23, 0x7c, 0xc6, 0x14, 0xbf, 0x5b, 0x79, 0x00, 0x0e, 0x57, 0xd9, 0xdc, 0x25, 0xca, 0x77,
-	0x12, 0x14, 0x17, 0x09, 0x15, 0x0d, 0x72, 0x04, 0xbb, 0x13, 0x8d, 0xe9, 0x9f, 0x89, 0x08, 0xab,
-	0x1b, 0xe8, 0x85, 0xf5, 0x6d, 0x05, 0x08, 0x1c, 0x02, 0xd1, 0xfd, 0x28, 0xc0, 0x54, 0xa2, 0x00,
-	0x45, 0x78, 0xca, 0x87, 0xf0, 0x66, 0x8b, 0x98, 0x96, 0x33, 0xf6, 0x34, 0xc7, 0xd7, 0xf4, 0x20,
-	0x59, 0xc9, 0xaa, 0xac, 0x3c, 0x04, 0xf9, 0x45, 0xa4, 0x08, 0xa7, 0x0c, 0x39, 0xb6, 0x10, 0xf3,
-	0xa0, 0xf2, 0xf8, 0xb2, 0x48, 0xc1, 0x70, 0x80, 0xa9, 0x6d, 0x4f, 0x34, 0xfd, 0x2c, 0x61, 0x57,
-	0x6d, 0xb6, 0x89, 0xa0, 0xb8, 0xb0, 0x19, 0x32, 0x51, 0x7e, 0x4d, 0xc1, 0x7e, 0x9b, 0x4e, 0xa7,
-	0x16, 0x4b, 0xe8, 0xe6, 0x08, 0x76, 0xa6, 0xd4, 0x20, 0xf2, 0x6e, 0x59, 0xaa, 0x14, 0x1a, 0xb7,
-	0x57, 0xa7, 0x31, 0x66, 0xb5, 0x76, 0x4c, 0x0d, 0x82, 0x39, 0x12, 0x29, 0x2f, 0x21, 0xda, 0xdb,
-	0x8a, 0x51, 0x45, 0x47, 0x90, 0x9d, 0xce, 0xc4, 0xbc, 0x95, 0xd3, 0xfc, 0x46, 0xae, 0xe9, 0xaa,
-	0x63, 0xa1, 0x8a, 0x17, 0x20, 0xe5, 0x11, 0xec, 0x04, 0x3e, 0xd1, 0x55, 0x28, 0x1e, 0x0f, 0x3b,
-	0x5d, 0xf5, 0xe9, 0x60, 0x74, 0xd2, 0x6d, 0xf7, 0x1f, 0xf5, 0xbb, 0x9d, 0xe2, 0x16, 0xba, 0x02,
-	0xfb, 0x63, 0xdc, 0x1c, 0x8c, 0x9a, 0xed, 0x71, 0x7f, 0x38, 0x68, 0x3e, 0x29, 0x4a, 0xe8, 0xff,
-	0x70, 0x65, 0x30, 0x1c, 0xa8, 0x71, 0x71, 0xaa, 0xf5, 0x06, 0x5c, 0xbd, 0x44, 0x4c, 0xf5, 0x89,
-	0x4d, 0x74, 0x46, 0x3d, 0xe5, 0x5b, 0x09, 0x0a, 0x51, 0x88, 0xa2, 0xaa, 0x23, 0x28, 0x46, 0xfe,
-	0x55, 0x8f, 0x77, 0x60, 0x34, 0x17, 0x2b, 0x09, 0xb8, 0x87, 0x23, 0xe9, 0x60, 0x1a, 0x3b, 0xfb,
-	0xe8, 0x06, 0xec, 0x5b, 0x8e, 0x41, 0xbe, 0x50, 0x67, 0xae, 0xa1, 0x31, 0xe2, 0xcb, 0x3b, 0x65,
-	0xa9, 0xb2, 0x8b, 0xf3, 0x5c, 0xf8, 0x34, 0x94, 0x29, 0xa7, 0x80, 0x9a, 0xb6, 0x4d, 0x75, 0x8d,
-	0x91, 0xbe, 0xe1, 0x27, 0xac, 0x64, 0x34, 0xba, 0xa5, 0xe4, 0xa3, 0xbb, 0x07, 0xff, 0x8b, 0xf9,
-	0x11, 0x81, 0xbf, 0x86, 0xa5, 0xdf, 0x53, 0x90, 0x89, 0x42, 0x47, 0x87, 0x90, 0xb6, 0x1c, 0x9f,
-	0x78, 0x8c, 0x07, 0x97, 0x6b, 0x94, 0x37, 0xcd, 0xef, 0xde, 0x16, 0x16, 0x88, 0x00, 0x1b, 0x66,
-	0x86, 0x77, 0x64, 0x42, 0x6c, 0x88, 0x08, 0xb1, 0xdc, 0x6f, 0xfa, 0x55, 0xb0, 0xdc, 0xef, 0x03,
-	0x48, 0x1b, 0xc4, 0x26, 0x8c, 0x88, 0xa1, 0xb7, 0x3e, 0xea, 0x00, 0x18, 0xaa, 0xa3, 0x1b, 0x90,
-	0x9f, 0x68, 0x3e, 0x51, 0x9f, 0x13, 0xcf, 0x0f, 0xfa, 0x3f, 0xa8, 0xcb, 0x76, 0x4f, 0xc2, 0xb9,
-	0x40, 0xfa, 0x2c, 0x14, 0xb6, 0x72, 0x90, 0xa5, 0x2e, 0xf1, 0x78, 0x7a, 0x5a, 0xd7, 0xe1, 0xad,
-	0xe0, 0x15, 0x62, 0x5b, 0x3a, 0x53, 0x0d, 0xc2, 0x88, 0xe8, 0x44, 0xe6, 0x69, 0x8c, 0x98, 0x73,
-	0xe5, 0x1b, 0x09, 0x0a, 0xf1, 0x2e, 0x42, 0x75, 0xd8, 0x3e, 0x23, 0xd1, 0x2c, 0xdf, 0x50, 0x8f,
-	0x40, 0x13, 0xc9, 0xb0, 0x17, 0xf1, 0x09, 0x4a, 0xb0, 0x8d, 0xa3, 0x23, 0x7a, 0x0f, 0xae, 0x2c,
-	0x39, 0x27, 0x06, 0x4f, 0x75, 0x06, 0x17, 0xa3, 0x3f, 0x3a, 0x42, 0xae, 0xfc, 0x23, 0x41, 0xee,
-	0xd2, 0x8a, 0x41, 0x13, 0x28, 0xf2, 0xfd, 0xa4, 0x53, 0xc7, 0xb7, 0x7c, 0x46, 0x1c, 0x7d, 0xce,
-	0xef, 0x7b, 0xa1, 0x71, 0x3f, 0xd1, 0x8e, 0xe2, 0xbf, 0xdb, 0x0b, 0x70, 0x6f, 0x0b, 0x1f, 0x78,
-	0x71, 0xd1, 0xf2, 0x38, 0x49, 0xbd, 0x64, 0x9c, 0x28, 0xc7, 0x70, 0xb0, 0x64, 0x09, 0x95, 0xe1,
-	0x1a, 0xee, 0x36, 0x3b, 0x6a, 0x7b, 0x38, 0x18, 0xf5, 0x47, 0xe3, 0xee, 0xa0, 0xfd, 0xe9, 0xd2,
-	0x8c, 0x00, 0x48, 0x8f, 0xc6, 0x78, 0x38, 0x78, 0x5c, 0x94, 0x50, 0x1e, 0x32, 0xdd, 0x67, 0xdd,
-	0xc1, 0xf8, 0x29, 0x9f, 0x09, 0x08, 0x8a, 0x97, 0x22, 0xe2, 0x6b, 0xab, 0xf1, 0xdb, 0x1e, 0x64,
-	0x3b, 0x51, 0x2c, 0xe8, 0x7b, 0x09, 0xd2, 0xe1, 0x1b, 0x07, 0xdd, 0x5a, 0x1d, 0x69, 0xec, 0xcd,
-	0x56, 0xaa, 0x6c, 0x56, 0x14, 0x43, 0xfb, 0xce, 0xd7, 0x7f, 0xfd, 0xfd, 0x43, 0xaa, 0xaa, 0xdc,
-	0xbc, 0x78, 0x0d, 0x8a, 0x5b, 0xed, 0xd7, 0xbf, 0x5c, 0xdc, 0xf8, 0xaf, 0x0e, 0x6d, 0x0e, 0x3b,
-	0x94, 0xaa, 0xe8, 0x47, 0x09, 0x32, 0xd1, 0x52, 0x45, 0xef, 0xae, 0xc9, 0x7d, 0xfc, 0x25, 0x53,
-	0xaa, 0x26, 0x51, 0x15, 0xac, 0x1a, 0x9c, 0xd5, 0x6d, 0xe5, 0xd6, 0x06, 0x56, 0x9e, 0x00, 0x06,
-	0xbc, 0x7e, 0x91, 0xa0, 0xb8, 0xbc, 0x25, 0xd1, 0xdd, 0xd5, 0x4e, 0x57, 0xec, 0xe2, 0x52, 0xe3,
-	0x55, 0x20, 0x82, 0xef, 0x21, 0xe7, 0xfb, 0x81, 0x52, 0xdf, 0xc0, 0x77, 0xb2, 0x64, 0x20, 0xe0,
-	0x1d, 0xd4, 0x37, 0x9c, 0xfe, 0xeb, 0xea, 0x1b, 0x5b, 0x81, 0xeb, 0xea, 0x1b, 0x5f, 0x24, 0x89,
-	0xeb, 0xab, 0x73, 0xd8, 0x45, 0x7d, 0xc5, 0x6e, 0x5f, 0x5b, 0xdf, 0xf8, 0x9b, 0x62, 0x6d, 0x7d,
-	0x97, 0x9f, 0x0a, 0x89, 0xeb, 0x2b, 0x80, 0x01, 0xaf, 0x9f, 0x24, 0xc8, 0x5d, 0xda, 0x18, 0x68,
-	0xcd, 0x7b, 0xe1, 0xc5, 0x05, 0x56, 0x7a, 0x3f, 0xa1, 0xb6, 0x20, 0x78, 0x9f, 0x13, 0xac, 0x2b,
-	0xd5, 0x0d, 0x04, 0xb5, 0x05, 0xf6, 0x50, 0xaa, 0xb6, 0xee, 0xc0, 0x35, 0x9d, 0x4e, 0x57, 0xba,
-	0x6a, 0x15, 0x2e, 0xae, 0xf5, 0x49, 0xf0, 0xb5, 0x75, 0x22, 0x4d, 0xd2, 0xfc, 0xb3, 0xeb, 0xde,
-	0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x66, 0x17, 0xd7, 0xd2, 0xb1, 0x0e, 0x00, 0x00,
+	// 1218 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xcf, 0x72, 0xdb, 0xd4,
+	0x17, 0xce, 0x75, 0x12, 0xc7, 0x39, 0xce, 0x1f, 0xf7, 0xfe, 0xfa, 0x03, 0x4d, 0x68, 0xc1, 0xa3,
+	0x52, 0x6a, 0x42, 0xb1, 0x89, 0x4b, 0xa7, 0x10, 0xba, 0x88, 0xed, 0xb8, 0xb5, 0x87, 0xc6, 0x09,
+	0xd7, 0x6e, 0x67, 0x60, 0xa3, 0x91, 0xa5, 0x1b, 0x23, 0x22, 0xeb, 0x2a, 0xd2, 0x75, 0x07, 0x0f,
+	0xc3, 0x86, 0x15, 0x03, 0xc3, 0x0a, 0x78, 0x00, 0xb6, 0xb0, 0x06, 0x5e, 0x81, 0x19, 0x66, 0xd8,
+	0xf0, 0x0a, 0x3c, 0x04, 0x4b, 0x46, 0x57, 0x57, 0x76, 0xe4, 0x56, 0xb6, 0xc2, 0xb0, 0xb3, 0x8e,
+	0xbf, 0xef, 0x9c, 0xef, 0x9c, 0x73, 0x75, 0xce, 0x15, 0x94, 0x06, 0x8c, 0x0d, 0x6c, 0x5a, 0x31,
+	0x75, 0xae, 0xfb, 0x9c, 0x79, 0xb4, 0xf2, 0x74, 0xaf, 0x4f, 0xb9, 0x7e, 0x67, 0x6a, 0x29, 0xbb,
+	0x1e, 0xe3, 0x0c, 0x2b, 0x21, 0xb2, 0x3c, 0xb5, 0x4b, 0xe4, 0xce, 0x35, 0xe9, 0x43, 0x77, 0xad,
+	0x8a, 0xee, 0x38, 0x8c, 0xeb, 0xdc, 0x62, 0x8e, 0x1f, 0xf2, 0x76, 0x6e, 0x26, 0x46, 0xa0, 0x0e,
+	0xb7, 0xf8, 0x58, 0xc2, 0x5e, 0x4d, 0x84, 0x9d, 0x8f, 0xa8, 0x27, 0x51, 0xea, 0x4f, 0x08, 0x36,
+	0x1f, 0x31, 0x76, 0x36, 0x72, 0x09, 0x3d, 0x1f, 0x51, 0x9f, 0xe3, 0xeb, 0x00, 0xae, 0xc7, 0x3e,
+	0xa1, 0x06, 0xd7, 0x2c, 0x53, 0xc9, 0x15, 0x51, 0x69, 0x9d, 0xac, 0x4b, 0x4b, 0xdb, 0xc4, 0x2d,
+	0xd8, 0xf0, 0xa8, 0x6e, 0x6a, 0xcc, 0x15, 0x9a, 0x14, 0x54, 0x44, 0xa5, 0x7c, 0xf5, 0x66, 0x39,
+	0x29, 0x99, 0x32, 0xa1, 0xba, 0x79, 0x1c, 0x82, 0x49, 0xde, 0x9b, 0x3e, 0xe0, 0x3d, 0x58, 0x39,
+	0xa3, 0x63, 0x5f, 0x59, 0x2e, 0x2e, 0x97, 0xf2, 0xd5, 0xeb, 0xc9, 0x1e, 0xde, 0xa7, 0x63, 0x22,
+	0xa0, 0xea, 0xef, 0x08, 0xb6, 0x22, 0xb5, 0xbe, 0xcb, 0x1c, 0x9f, 0xe2, 0xfb, 0xb0, 0x7a, 0xca,
+	0x46, 0x8e, 0xa9, 0x20, 0xe1, 0xe6, 0xb5, 0x64, 0x37, 0x4d, 0x51, 0x1d, 0x42, 0xfd, 0x91, 0xcd,
+	0x49, 0x48, 0xc2, 0x07, 0xb0, 0x36, 0xb4, 0x7c, 0xdf, 0x72, 0x06, 0x4a, 0xe6, 0x52, 0xfc, 0x88,
+	0x86, 0xdf, 0x85, 0x9c, 0x49, 0x4f, 0xa9, 0xe7, 0x51, 0x33, 0x5d, 0x26, 0x13, 0xb8, 0xfa, 0x47,
+	0x06, 0xb6, 0xc9, 0xc8, 0xf9, 0x20, 0x68, 0x47, 0xfa, 0xea, 0xbb, 0xba, 0xc7, 0xad, 0xa0, 0x82,
+	0x01, 0x20, 0xb3, 0xa8, 0xfa, 0x27, 0x11, 0xba, 0x6d, 0x92, 0xbc, 0x3b, 0x7d, 0xf8, 0x0f, 0xfb,
+	0x78, 0x0f, 0x56, 0xc5, 0x89, 0x52, 0x96, 0x85, 0x8b, 0x57, 0x92, 0x5d, 0x88, 0x4c, 0x5b, 0x4b,
+	0x24, 0xc4, 0xe3, 0x1a, 0xac, 0x0f, 0xce, 0x6d, 0x2d, 0x24, 0xaf, 0x09, 0xb2, 0x9a, 0x4c, 0x7e,
+	0x78, 0x6e, 0x47, 0xfc, 0xdc, 0x40, 0xfe, 0xae, 0x6f, 0x00, 0x08, 0xba, 0xc6, 0xc7, 0x2e, 0x55,
+	0xbf, 0x46, 0x50, 0x98, 0x16, 0x54, 0x1e, 0x90, 0x03, 0x58, 0xed, 0xeb, 0xdc, 0xf8, 0x58, 0x66,
+	0xb8, 0xbb, 0x40, 0x5e, 0xd8, 0xdf, 0x7a, 0xc0, 0x20, 0x21, 0x11, 0xdf, 0x8d, 0x12, 0xcc, 0xa4,
+	0x4a, 0x50, 0xa6, 0xa7, 0xbe, 0x03, 0x2f, 0xd6, 0xe9, 0xc0, 0x72, 0x7a, 0x9e, 0xee, 0xf8, 0xba,
+	0x11, 0x14, 0x2b, 0x5d, 0x97, 0xd5, 0xfb, 0xa0, 0x3c, 0xcb, 0x94, 0xe9, 0x14, 0x21, 0xcf, 0xa7,
+	0x66, 0x91, 0xd4, 0x06, 0xb9, 0x68, 0x52, 0x09, 0x6c, 0x13, 0x66, 0xdb, 0x7d, 0xdd, 0x38, 0x4b,
+	0x79, 0xaa, 0x16, 0xfb, 0xc4, 0x50, 0x98, 0xfa, 0x0c, 0x95, 0xa8, 0xbf, 0x64, 0x60, 0xb3, 0xc1,
+	0x86, 0x43, 0x8b, 0xa7, 0x0c, 0x73, 0x00, 0x2b, 0x43, 0x66, 0x52, 0x65, 0xb5, 0x88, 0x4a, 0x5b,
+	0xd5, 0xdb, 0xc9, 0x65, 0x8c, 0x79, 0x2d, 0x1f, 0x31, 0x93, 0x12, 0xc1, 0xc4, 0xea, 0x73, 0x84,
+	0xb6, 0x96, 0x62, 0x52, 0xf1, 0x01, 0xac, 0x0f, 0x47, 0x72, 0x62, 0x2a, 0x59, 0xf1, 0x46, 0xce,
+	0x39, 0x55, 0x47, 0x12, 0x4a, 0xa6, 0x24, 0xf5, 0x01, 0xac, 0x04, 0x31, 0xf1, 0x55, 0x28, 0x1c,
+	0x1d, 0x1f, 0x36, 0xb5, 0xc7, 0x9d, 0xee, 0x49, 0xb3, 0xd1, 0x7e, 0xd0, 0x6e, 0x1e, 0x16, 0x96,
+	0xf0, 0x15, 0xd8, 0xec, 0x91, 0x5a, 0xa7, 0x5b, 0x6b, 0xf4, 0xda, 0xc7, 0x9d, 0xda, 0xa3, 0x02,
+	0xc2, 0xff, 0x87, 0x2b, 0x9d, 0xe3, 0x8e, 0x16, 0x37, 0x67, 0xea, 0x2f, 0xc0, 0xd5, 0x0b, 0xc2,
+	0x34, 0x9f, 0xda, 0xd4, 0xe0, 0xcc, 0x53, 0xbf, 0x42, 0xb0, 0x15, 0xa5, 0x28, 0xbb, 0xda, 0x85,
+	0x42, 0x14, 0x5f, 0xf3, 0xc4, 0x09, 0x8c, 0xe6, 0x62, 0x29, 0x85, 0xf6, 0x70, 0x24, 0x6d, 0x0f,
+	0x63, 0xcf, 0x3e, 0xbe, 0x01, 0x9b, 0x96, 0x63, 0xd2, 0x4f, 0xb5, 0x91, 0x6b, 0xea, 0x9c, 0xfa,
+	0xca, 0x4a, 0x11, 0x95, 0x56, 0xc9, 0x86, 0x30, 0x3e, 0x0e, 0x6d, 0xea, 0x29, 0xe0, 0x9a, 0x6d,
+	0x33, 0x43, 0xe7, 0xb4, 0x6d, 0xfa, 0x29, 0x3b, 0x19, 0x8d, 0x6e, 0x94, 0x7e, 0x74, 0xb7, 0xe0,
+	0x7f, 0xb1, 0x38, 0x32, 0xf1, 0x7f, 0xe1, 0xe9, 0xb7, 0x0c, 0xe4, 0xa2, 0xd4, 0xf1, 0x3e, 0x64,
+	0x2d, 0xc7, 0xa7, 0x1e, 0x17, 0xc9, 0xe5, 0xab, 0xc5, 0x45, 0xf3, 0xbb, 0xb5, 0x44, 0x24, 0x23,
+	0xe0, 0x86, 0x95, 0x11, 0x27, 0x32, 0x25, 0x37, 0x64, 0x84, 0x5c, 0x11, 0x37, 0x7b, 0x19, 0xae,
+	0x88, 0x7b, 0x0f, 0xb2, 0x26, 0xb5, 0x29, 0xa7, 0x72, 0xe8, 0xcd, 0xcf, 0x3a, 0x20, 0x86, 0x70,
+	0x7c, 0x03, 0x36, 0xfa, 0xba, 0x4f, 0xb5, 0xa7, 0xd4, 0xf3, 0x83, 0xf3, 0x1f, 0xf4, 0x65, 0xb9,
+	0x85, 0x48, 0x3e, 0xb0, 0x3e, 0x09, 0x8d, 0xf5, 0x3c, 0xac, 0x33, 0x97, 0x7a, 0xa2, 0x3c, 0xf5,
+	0xeb, 0xf0, 0x92, 0xc1, 0x9c, 0x53, 0xdb, 0x32, 0xb8, 0x66, 0x52, 0x4e, 0xe5, 0x49, 0xe4, 0x9e,
+	0xce, 0xe9, 0x60, 0xac, 0x7e, 0x89, 0x60, 0x2b, 0x7e, 0x8a, 0x70, 0x05, 0x96, 0xcf, 0x68, 0x34,
+	0xcb, 0x17, 0xf4, 0x23, 0x40, 0x62, 0x05, 0xd6, 0x22, 0x3d, 0x41, 0x0b, 0x96, 0x49, 0xf4, 0x88,
+	0xdf, 0x80, 0x2b, 0x33, 0xc1, 0xa9, 0x29, 0x4a, 0x9d, 0x23, 0x85, 0xe8, 0x8f, 0x43, 0x69, 0x57,
+	0xff, 0x46, 0x90, 0xbf, 0xb0, 0x62, 0x70, 0x1f, 0x0a, 0x62, 0x3f, 0x19, 0xcc, 0xf1, 0x2d, 0x9f,
+	0x53, 0xc7, 0x18, 0x8b, 0xf7, 0x7d, 0xab, 0x7a, 0x37, 0xd5, 0x8e, 0x12, 0xbf, 0x1b, 0x53, 0x72,
+	0x6b, 0x89, 0x6c, 0x7b, 0x71, 0xd3, 0xec, 0x38, 0xc9, 0x3c, 0x67, 0x9c, 0xa8, 0x47, 0xb0, 0x3d,
+	0xe3, 0x09, 0x17, 0xe1, 0x1a, 0x69, 0xd6, 0x0e, 0xb5, 0xc6, 0x71, 0xa7, 0xdb, 0xee, 0xf6, 0x9a,
+	0x9d, 0xc6, 0x87, 0x33, 0x33, 0x02, 0x20, 0xdb, 0xed, 0x91, 0xe3, 0xce, 0xc3, 0x02, 0xc2, 0x1b,
+	0x90, 0x6b, 0x3e, 0x69, 0x76, 0x7a, 0x8f, 0xc5, 0x4c, 0xc0, 0x50, 0xb8, 0x90, 0x91, 0x58, 0x5b,
+	0xd5, 0x5f, 0xd7, 0x60, 0xfd, 0x30, 0xca, 0x05, 0x7f, 0x83, 0x20, 0x1b, 0xde, 0x71, 0xf0, 0xad,
+	0xe4, 0x4c, 0x63, 0x77, 0xb6, 0x9d, 0xd2, 0x62, 0xa0, 0x1c, 0xda, 0x6f, 0x7d, 0xf1, 0xe7, 0x5f,
+	0xdf, 0x66, 0x76, 0xd5, 0x9b, 0x93, 0xdb, 0xa0, 0x7c, 0xab, 0xfd, 0xca, 0x67, 0xd3, 0x37, 0xfe,
+	0xf3, 0x7d, 0x5b, 0xd0, 0xf6, 0xd1, 0x2e, 0xfe, 0x1e, 0x41, 0x2e, 0x5a, 0xaa, 0xf8, 0xf5, 0x39,
+	0xb5, 0x8f, 0xdf, 0x64, 0x76, 0x76, 0xd3, 0x40, 0xa5, 0xaa, 0xaa, 0x50, 0x75, 0x5b, 0xbd, 0xb5,
+	0x40, 0x95, 0x27, 0x89, 0x81, 0xae, 0x9f, 0x11, 0x14, 0x66, 0xb7, 0x24, 0xde, 0x4b, 0x0e, 0x9a,
+	0xb0, 0x8b, 0x77, 0xaa, 0x97, 0xa1, 0x48, 0xbd, 0xfb, 0x42, 0xef, 0xdb, 0x6a, 0x65, 0x81, 0xde,
+	0xfe, 0x8c, 0x83, 0x40, 0x77, 0xd0, 0xdf, 0x70, 0xfa, 0xcf, 0xeb, 0x6f, 0x6c, 0x05, 0xce, 0xeb,
+	0x6f, 0x7c, 0x91, 0xa4, 0xee, 0xaf, 0x21, 0x68, 0x93, 0xfe, 0xca, 0xdd, 0x3e, 0xb7, 0xbf, 0xf1,
+	0x3b, 0xc5, 0xdc, 0xfe, 0xce, 0x5e, 0x15, 0x52, 0xf7, 0x57, 0x12, 0x03, 0x5d, 0x3f, 0x20, 0xc8,
+	0x5f, 0xd8, 0x18, 0x78, 0xce, 0x7d, 0xe1, 0xd9, 0x05, 0xb6, 0xf3, 0x66, 0x4a, 0xb4, 0x14, 0x78,
+	0x57, 0x08, 0xac, 0xa8, 0xbb, 0x0b, 0x04, 0xea, 0x53, 0xee, 0x3e, 0xda, 0xad, 0x7f, 0x87, 0xe0,
+	0x9a, 0xc1, 0x86, 0x89, 0xb1, 0xea, 0x5b, 0x93, 0xf7, 0xfa, 0x24, 0xf8, 0xdc, 0x3a, 0x41, 0x1f,
+	0xd5, 0x24, 0x76, 0xc0, 0x6c, 0xdd, 0x19, 0x94, 0x99, 0x37, 0xa8, 0x0c, 0xa8, 0x23, 0x3e, 0xc6,
+	0x2a, 0xe1, 0x5f, 0xba, 0x6b, 0xf9, 0xcf, 0x7e, 0xb5, 0xbd, 0x37, 0xb1, 0xfc, 0x98, 0x79, 0xf9,
+	0x61, 0xe8, 0xa3, 0x61, 0xb3, 0x91, 0x59, 0x9e, 0x84, 0x28, 0x3f, 0xd9, 0xab, 0x07, 0xd0, 0x7e,
+	0x56, 0xb8, 0xbb, 0xf3, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0f, 0x31, 0x6a, 0x10, 0x8c, 0x0e,
+	0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1beta3/datastore.proto b/googleapis/datastore/v1beta3/datastore.proto
deleted file mode 100644
index 2373cd3e1064455353910dd3c6b3b613bfec5906..0000000000000000000000000000000000000000
--- a/googleapis/datastore/v1beta3/datastore.proto
+++ /dev/null
@@ -1,316 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.datastore.v1beta3;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/datastore/v1beta3/entity.proto"; // from google/datastore/v1beta3/entity.proto
-import "google.golang.org/genproto/googleapis/datastore/v1beta3/query.proto"; // from google/datastore/v1beta3/query.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "DatastoreProto";
-option java_package = "com.google.datastore.v1beta3";
-
-
-// Each RPC normalizes the partition IDs of the keys in its input entities,
-// and always returns entities with keys with normalized partition IDs.
-// This applies to all keys and entities, including those in values, except keys
-// with both an empty path and an empty or unset partition ID. Normalization of
-// input keys sets the project ID (if not already set) to the project ID from
-// the request.
-//
-service Datastore {
-  // Looks up entities by key.
-  rpc Lookup(LookupRequest) returns (LookupResponse) {
-    option (google.api.http) = { post: "/v1beta3/projects/{project_id}:lookup" body: "*" };
-  }
-
-  // Queries for entities.
-  rpc RunQuery(RunQueryRequest) returns (RunQueryResponse) {
-    option (google.api.http) = { post: "/v1beta3/projects/{project_id}:runQuery" body: "*" };
-  }
-
-  // Begins a new transaction.
-  rpc BeginTransaction(BeginTransactionRequest) returns (BeginTransactionResponse) {
-    option (google.api.http) = { post: "/v1beta3/projects/{project_id}:beginTransaction" body: "*" };
-  }
-
-  // Commits a transaction, optionally creating, deleting or modifying some
-  // entities.
-  rpc Commit(CommitRequest) returns (CommitResponse) {
-    option (google.api.http) = { post: "/v1beta3/projects/{project_id}:commit" body: "*" };
-  }
-
-  // Rolls back a transaction.
-  rpc Rollback(RollbackRequest) returns (RollbackResponse) {
-    option (google.api.http) = { post: "/v1beta3/projects/{project_id}:rollback" body: "*" };
-  }
-
-  // Allocates IDs for the given keys, which is useful for referencing an entity
-  // before it is inserted.
-  rpc AllocateIds(AllocateIdsRequest) returns (AllocateIdsResponse) {
-    option (google.api.http) = { post: "/v1beta3/projects/{project_id}:allocateIds" body: "*" };
-  }
-}
-
-// The request for [Datastore.Lookup][google.datastore.v1beta3.Datastore.Lookup].
-message LookupRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // The options for this lookup request.
-  ReadOptions read_options = 1;
-
-  // Keys of entities to look up.
-  repeated Key keys = 3;
-}
-
-// The response for [Datastore.Lookup][google.datastore.v1beta3.Datastore.Lookup].
-message LookupResponse {
-  // Entities found as `ResultType.FULL` entities. The order of results in this
-  // field is undefined and has no relation to the order of the keys in the
-  // input.
-  repeated EntityResult found = 1;
-
-  // Entities not found as `ResultType.KEY_ONLY` entities. The order of results
-  // in this field is undefined and has no relation to the order of the keys
-  // in the input.
-  repeated EntityResult missing = 2;
-
-  // A list of keys that were not looked up due to resource constraints. The
-  // order of results in this field is undefined and has no relation to the
-  // order of the keys in the input.
-  repeated Key deferred = 3;
-}
-
-// The request for [Datastore.RunQuery][google.datastore.v1beta3.Datastore.RunQuery].
-message RunQueryRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // Entities are partitioned into subsets, identified by a partition ID.
-  // Queries are scoped to a single partition.
-  // This partition ID is normalized with the standard default context
-  // partition ID.
-  PartitionId partition_id = 2;
-
-  // The options for this query.
-  ReadOptions read_options = 1;
-
-  // The type of query.
-  oneof query_type {
-    // The query to run.
-    Query query = 3;
-
-    // The GQL query to run.
-    GqlQuery gql_query = 7;
-  }
-}
-
-// The response for [Datastore.RunQuery][google.datastore.v1beta3.Datastore.RunQuery].
-message RunQueryResponse {
-  // A batch of query results (always present).
-  QueryResultBatch batch = 1;
-
-  // The parsed form of the `GqlQuery` from the request, if it was set.
-  Query query = 2;
-}
-
-// The request for [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction].
-message BeginTransactionRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-}
-
-// The response for [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction].
-message BeginTransactionResponse {
-  // The transaction identifier (always present).
-  bytes transaction = 1;
-}
-
-// The request for [Datastore.Rollback][google.datastore.v1beta3.Datastore.Rollback].
-message RollbackRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // The transaction identifier, returned by a call to
-  // [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction].
-  bytes transaction = 1;
-}
-
-// The response for [Datastore.Rollback][google.datastore.v1beta3.Datastore.Rollback].
-// (an empty message).
-message RollbackResponse {
-
-}
-
-// The request for [Datastore.Commit][google.datastore.v1beta3.Datastore.Commit].
-message CommitRequest {
-  // The modes available for commits.
-  enum Mode {
-    // Unspecified. This value must not be used.
-    MODE_UNSPECIFIED = 0;
-
-    // Transactional: The mutations are either all applied, or none are applied.
-    // Learn about transactions [here](https://cloud.google.com/datastore/docs/concepts/transactions).
-    TRANSACTIONAL = 1;
-
-    // Non-transactional: The mutations may not apply as all or none.
-    NON_TRANSACTIONAL = 2;
-  }
-
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // The type of commit to perform. Defaults to `TRANSACTIONAL`.
-  Mode mode = 5;
-
-  // Must be set when mode is `TRANSACTIONAL`.
-  oneof transaction_selector {
-    // The identifier of the transaction associated with the commit. A
-    // transaction identifier is returned by a call to
-    // [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction].
-    bytes transaction = 1;
-  }
-
-  // The mutations to perform.
-  //
-  // When mode is `TRANSACTIONAL`, mutations affecting a single entity are
-  // applied in order. The following sequences of mutations affecting a single
-  // entity are not permitted in a single `Commit` request:
-  //
-  // - `insert` followed by `insert`
-  // - `update` followed by `insert`
-  // - `upsert` followed by `insert`
-  // - `delete` followed by `update`
-  //
-  // When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single
-  // entity.
-  repeated Mutation mutations = 6;
-}
-
-// The response for [Datastore.Commit][google.datastore.v1beta3.Datastore.Commit].
-message CommitResponse {
-  // The result of performing the mutations.
-  // The i-th mutation result corresponds to the i-th mutation in the request.
-  repeated MutationResult mutation_results = 3;
-
-  // The number of index entries updated during the commit, or zero if none were
-  // updated.
-  int32 index_updates = 4;
-}
-
-// The request for [Datastore.AllocateIds][google.datastore.v1beta3.Datastore.AllocateIds].
-message AllocateIdsRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // A list of keys with incomplete key paths for which to allocate IDs.
-  // No key may be reserved/read-only.
-  repeated Key keys = 1;
-}
-
-// The response for [Datastore.AllocateIds][google.datastore.v1beta3.Datastore.AllocateIds].
-message AllocateIdsResponse {
-  // The keys specified in the request (in the same order), each with
-  // its key path completed with a newly allocated ID.
-  repeated Key keys = 1;
-}
-
-// A mutation to apply to an entity.
-message Mutation {
-  // The mutation operation.
-  //
-  // For `insert`, `update`, and `upsert`:
-  // - The entity's key must not be reserved/read-only.
-  // - No property in the entity may have a reserved name,
-  //   not even a property in an entity in a value.
-  // - No value in the entity may have meaning 18,
-  //   not even a value in an entity in another value.
-  oneof operation {
-    // The entity to insert. The entity must not already exist.
-    // The entity key's final path element may be incomplete.
-    Entity insert = 4;
-
-    // The entity to update. The entity must already exist.
-    // Must have a complete key path.
-    Entity update = 5;
-
-    // The entity to upsert. The entity may or may not already exist.
-    // The entity key's final path element may be incomplete.
-    Entity upsert = 6;
-
-    // The key of the entity to delete. The entity may or may not already exist.
-    // Must have a complete key path and must not be reserved/read-only.
-    Key delete = 7;
-  }
-
-  // When set, the server will detect whether or not this mutation conflicts
-  // with the current version of the entity on the server. Conflicting mutations
-  // are not applied, and are marked as such in MutationResult.
-  oneof conflict_detection_strategy {
-    // The version of the entity that this mutation is being applied to. If this
-    // does not match the current version on the server, the mutation conflicts.
-    int64 base_version = 8;
-  }
-}
-
-// The result of applying a mutation.
-message MutationResult {
-  // The automatically allocated key.
-  // Set only when the mutation allocated a key.
-  Key key = 3;
-
-  // The version of the entity on the server after processing the mutation. If
-  // the mutation doesn't change anything on the server, then the version will
-  // be the version of the current entity or, if no entity is present, a version
-  // that is strictly greater than the version of any previous entity and less
-  // than the version of any possible future entity.
-  int64 version = 4;
-
-  // Whether a conflict was detected for this mutation. Always false when a
-  // conflict detection strategy field is not set in the mutation.
-  bool conflict_detected = 5;
-}
-
-// The options shared by read requests.
-message ReadOptions {
-  // The possible values for read consistencies.
-  enum ReadConsistency {
-    // Unspecified. This value must not be used.
-    READ_CONSISTENCY_UNSPECIFIED = 0;
-
-    // Strong consistency.
-    STRONG = 1;
-
-    // Eventual consistency.
-    EVENTUAL = 2;
-  }
-
-  // If not specified, lookups and ancestor queries default to
-  // `read_consistency`=`STRONG`, global queries default to
-  // `read_consistency`=`EVENTUAL`.
-  oneof consistency_type {
-    // The non-transactional read consistency to use.
-    // Cannot be set to `STRONG` for global queries.
-    ReadConsistency read_consistency = 1;
-
-    // The identifier of the transaction in which to read. A
-    // transaction identifier is returned by a call to
-    // [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction].
-    bytes transaction = 2;
-  }
-}
diff --git a/googleapis/datastore/v1beta3/entity.pb.go b/googleapis/datastore/v1beta3/entity.pb.go
index 8da68cffbef93ba5034c0f48dc953d132bc1cd60..005156bafd1ef648b0668fc40fb39c4498da99fc 100644
--- a/googleapis/datastore/v1beta3/entity.pb.go
+++ b/googleapis/datastore/v1beta3/entity.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/datastore/v1beta3/entity.proto
+// source: google/datastore/v1beta3/entity.proto
 // DO NOT EDIT!
 
-package google_datastore_v1beta3 // import "google.golang.org/genproto/googleapis/datastore/v1beta3"
+package datastore
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/struct"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 import google_type "google.golang.org/genproto/googleapis/type/latlng"
@@ -48,6 +48,20 @@ func (m *PartitionId) String() string            { return proto.CompactTextStrin
 func (*PartitionId) ProtoMessage()               {}
 func (*PartitionId) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *PartitionId) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *PartitionId) GetNamespaceId() string {
+	if m != nil {
+		return m.NamespaceId
+	}
+	return ""
+}
+
 // A unique identifier for an entity.
 // If a key's partition ID or any of its path kinds or names are
 // reserved/read-only, the key is reserved/read-only.
@@ -139,6 +153,13 @@ func (m *Key_PathElement) GetIdType() isKey_PathElement_IdType {
 	return nil
 }
 
+func (m *Key_PathElement) GetKind() string {
+	if m != nil {
+		return m.Kind
+	}
+	return ""
+}
+
 func (m *Key_PathElement) GetId() int64 {
 	if x, ok := m.GetIdType().(*Key_PathElement_Id); ok {
 		return x.Id
@@ -402,6 +423,20 @@ func (m *Value) GetArrayValue() *ArrayValue {
 	return nil
 }
 
+func (m *Value) GetMeaning() int32 {
+	if m != nil {
+		return m.Meaning
+	}
+	return 0
+}
+
+func (m *Value) GetExcludeFromIndexes() bool {
+	if m != nil {
+		return m.ExcludeFromIndexes
+	}
+	return false
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Value) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _Value_OneofMarshaler, _Value_OneofUnmarshaler, _Value_OneofSizer, []interface{}{
@@ -673,59 +708,57 @@ func init() {
 	proto.RegisterType((*Entity)(nil), "google.datastore.v1beta3.Entity")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/datastore/v1beta3/entity.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/datastore/v1beta3/entity.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 777 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x94, 0xdf, 0x8e, 0xdb, 0x44,
-	0x14, 0xc6, 0xed, 0x64, 0xb3, 0xdd, 0x1c, 0xa7, 0xbb, 0x65, 0xda, 0x0b, 0x2b, 0xa2, 0x6a, 0x58,
-	0xa8, 0x14, 0x2e, 0xb0, 0xcb, 0x56, 0x15, 0x88, 0x52, 0x24, 0x56, 0x04, 0x1c, 0xb5, 0x82, 0x68,
-	0x54, 0x71, 0x49, 0x34, 0x89, 0xcf, 0x7a, 0x87, 0xd8, 0x33, 0x96, 0x3d, 0x5e, 0xd5, 0xcf, 0xc4,
-	0x6b, 0x71, 0xc7, 0x4b, 0xa0, 0xf9, 0x63, 0x67, 0x05, 0x4a, 0x77, 0xaf, 0x6c, 0x9f, 0xf9, 0x7d,
-	0x9f, 0xbf, 0x33, 0x73, 0x6c, 0xf8, 0x29, 0x93, 0x32, 0xcb, 0x31, 0xca, 0x64, 0xce, 0x44, 0x16,
-	0xc9, 0x2a, 0x8b, 0x33, 0x14, 0x65, 0x25, 0x95, 0x8c, 0xed, 0x12, 0x2b, 0x79, 0x1d, 0xa7, 0x4c,
-	0xb1, 0x5a, 0xc9, 0x0a, 0xe3, 0x9b, 0xaf, 0x37, 0xa8, 0xd8, 0xcb, 0x18, 0x85, 0xe2, 0xaa, 0x8d,
-	0x0c, 0x49, 0x42, 0xe7, 0xd2, 0x63, 0x91, 0xc3, 0xa6, 0xcb, 0xfb, 0xf9, 0xb3, 0x92, 0xc7, 0x35,
-	0x56, 0x37, 0x7c, 0x8b, 0x5b, 0x29, 0xae, 0x78, 0x16, 0x33, 0x21, 0xa4, 0x62, 0x8a, 0x4b, 0x51,
-	0xdb, 0x97, 0x4c, 0x5f, 0x65, 0x5c, 0x5d, 0x37, 0x9b, 0x68, 0x2b, 0x8b, 0xd8, 0xda, 0xc5, 0x66,
-	0x61, 0xd3, 0x5c, 0xc5, 0xa5, 0x6a, 0x4b, 0xac, 0xe3, 0x5a, 0x55, 0xcd, 0x56, 0xb9, 0x8b, 0x93,
-	0xbd, 0xbe, 0x5b, 0xa6, 0x78, 0x81, 0xb5, 0x62, 0x45, 0xb9, 0xbf, 0x73, 0xe2, 0x1f, 0xee, 0x17,
-	0x5f, 0xdb, 0xc4, 0x39, 0x53, 0xb9, 0xc8, 0xdc, 0xc5, 0xea, 0xcf, 0x7f, 0x83, 0x60, 0xc5, 0x2a,
-	0xc5, 0x75, 0x1f, 0xcb, 0x94, 0x3c, 0x05, 0x28, 0x2b, 0xf9, 0x27, 0x6e, 0xd5, 0x9a, 0xa7, 0xe1,
-	0x60, 0xe6, 0xcf, 0xc7, 0x74, 0xec, 0x2a, 0xcb, 0x94, 0x7c, 0x06, 0x13, 0xc1, 0x0a, 0xac, 0x4b,
-	0xb6, 0x45, 0x0d, 0x1c, 0x19, 0x20, 0xe8, 0x6b, 0xcb, 0xf4, 0xfc, 0x6f, 0x1f, 0x86, 0x6f, 0xb1,
-	0x25, 0x09, 0x4c, 0xca, 0xce, 0x58, 0xa3, 0xfe, 0xcc, 0x9f, 0x07, 0x17, 0xcf, 0xa3, 0x43, 0x07,
-	0x11, 0xdd, 0x8a, 0x41, 0x83, 0xf2, 0x56, 0xa6, 0x37, 0x70, 0x54, 0x32, 0x75, 0x1d, 0x0e, 0x66,
-	0xc3, 0x79, 0x70, 0xf1, 0xe5, 0x61, 0x87, 0xb7, 0xd8, 0x46, 0x2b, 0xa6, 0xae, 0x17, 0x39, 0x16,
-	0x28, 0x14, 0x35, 0xb2, 0xe9, 0x7b, 0xdd, 0x61, 0x5f, 0x24, 0x04, 0x8e, 0x76, 0x5c, 0xd8, 0x3c,
-	0x63, 0x6a, 0xee, 0xc9, 0x23, 0x18, 0xb8, 0x6e, 0x87, 0x89, 0x47, 0x07, 0x3c, 0x25, 0x4f, 0xe0,
-	0x48, 0x37, 0x15, 0x0e, 0x35, 0x95, 0x78, 0xd4, 0x3c, 0x5d, 0x8e, 0xe1, 0x01, 0x4f, 0xd7, 0x7a,
-	0x2f, 0xcf, 0x17, 0x00, 0x3f, 0x56, 0x15, 0x6b, 0x7f, 0x67, 0x79, 0x83, 0xe4, 0x1b, 0x38, 0xbe,
-	0xd1, 0x37, 0x75, 0xe8, 0x9b, 0x90, 0xcf, 0x0e, 0x87, 0x34, 0x02, 0xea, 0xf0, 0xf3, 0xbf, 0x46,
-	0x30, 0xb2, 0x16, 0xaf, 0x01, 0x44, 0x93, 0xe7, 0x6b, 0xb3, 0x10, 0x06, 0x33, 0x7f, 0x7e, 0x7a,
-	0x31, 0xed, 0x6c, 0xba, 0x79, 0x88, 0x7e, 0x6d, 0xf2, 0xdc, 0xf0, 0x89, 0x47, 0xc7, 0xa2, 0x7b,
-	0x20, 0xcf, 0xe1, 0xe1, 0x46, 0xca, 0x1c, 0x99, 0x70, 0x7a, 0xdd, 0xdd, 0x49, 0xe2, 0xd1, 0x89,
-	0x2b, 0xf7, 0x18, 0x17, 0x0a, 0x33, 0xac, 0x1c, 0xd6, 0xb5, 0x3c, 0x71, 0x65, 0x8b, 0x7d, 0x0e,
-	0x93, 0x54, 0x36, 0x9b, 0x1c, 0x1d, 0xa5, 0x37, 0xc1, 0x4f, 0x3c, 0x1a, 0xd8, 0xaa, 0x85, 0x16,
-	0x70, 0xd6, 0xcf, 0xa2, 0xe3, 0xc0, 0x1c, 0xf1, 0xff, 0x43, 0xbf, 0xef, 0xb8, 0xc4, 0xa3, 0xa7,
-	0xbd, 0xc8, 0xda, 0x7c, 0x0f, 0xe3, 0x1d, 0xb6, 0xce, 0x60, 0x64, 0x0c, 0x9e, 0x7e, 0xf4, 0x84,
-	0x13, 0x8f, 0x9e, 0xec, 0xb0, 0xed, 0x93, 0xd6, 0xaa, 0xe2, 0x22, 0x73, 0x06, 0x9f, 0xb8, 0xe3,
-	0x0a, 0x6c, 0xd5, 0x42, 0xcf, 0x00, 0x36, 0xb9, 0xdc, 0x38, 0x84, 0xcc, 0xfc, 0xf9, 0x44, 0xef,
-	0x9e, 0xae, 0x59, 0xe0, 0x0d, 0x9c, 0x65, 0x28, 0xd7, 0xa5, 0xe4, 0x42, 0x39, 0xea, 0xc4, 0x24,
-	0x79, 0xdc, 0x25, 0xd1, 0x47, 0x1e, 0xbd, 0x63, 0xea, 0x9d, 0xc8, 0x12, 0x8f, 0x3e, 0xcc, 0x50,
-	0xae, 0x34, 0xdc, 0xed, 0xc4, 0xc4, 0xfe, 0x6b, 0x9c, 0xf6, 0xd8, 0x68, 0x67, 0x87, 0xbb, 0x58,
-	0x18, 0x5a, 0xc7, 0xb4, 0x3a, 0x6b, 0xf3, 0x0b, 0x04, 0x4c, 0x4f, 0x94, 0x73, 0x19, 0x1b, 0x97,
-	0x2f, 0x0e, 0xbb, 0xec, 0xc7, 0x2f, 0xf1, 0x28, 0xb0, 0xfd, 0x30, 0x86, 0xf0, 0xa0, 0x40, 0x26,
-	0xb8, 0xc8, 0xc2, 0xd3, 0x99, 0x3f, 0x1f, 0xd1, 0xee, 0x91, 0xbc, 0x80, 0x27, 0xf8, 0x61, 0x9b,
-	0x37, 0x29, 0xae, 0xaf, 0x2a, 0x59, 0xac, 0xb9, 0x48, 0xf1, 0x03, 0xd6, 0xe1, 0x63, 0x3d, 0x2d,
-	0x94, 0xb8, 0xb5, 0x9f, 0x2b, 0x59, 0x2c, 0xed, 0xca, 0xe5, 0x04, 0xc0, 0xc4, 0xb1, 0x43, 0xff,
-	0x8f, 0x0f, 0xc7, 0x36, 0x3c, 0x89, 0x61, 0xb8, 0xc3, 0xd6, 0x7d, 0xd5, 0x1f, 0x3f, 0x31, 0xaa,
-	0x49, 0xb2, 0x32, 0x7f, 0x96, 0x12, 0x2b, 0xc5, 0xb1, 0x0e, 0x87, 0xe6, 0x33, 0x79, 0x71, 0xd7,
-	0x1e, 0x45, 0xab, 0x5e, 0xb2, 0x10, 0xaa, 0x6a, 0xe9, 0x2d, 0x8f, 0xe9, 0x1f, 0x70, 0xf6, 0x9f,
-	0x65, 0xf2, 0x68, 0x9f, 0x6a, 0x6c, 0x5f, 0xfb, 0x0a, 0x46, 0xfb, 0x51, 0xbf, 0xc7, 0x87, 0x69,
-	0xe9, 0xef, 0x06, 0xdf, 0xfa, 0x97, 0x5f, 0xc1, 0xa7, 0x5b, 0x59, 0x1c, 0x14, 0x5c, 0x06, 0x36,
-	0xe3, 0x4a, 0x8f, 0xf9, 0xca, 0xdf, 0x1c, 0x9b, 0x79, 0x7f, 0xf9, 0x6f, 0x00, 0x00, 0x00, 0xff,
-	0xff, 0x91, 0xf4, 0x96, 0x34, 0xb1, 0x06, 0x00, 0x00,
+	// 776 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x95, 0xcf, 0x8e, 0xdb, 0x36,
+	0x10, 0xc6, 0x25, 0x7b, 0xed, 0xac, 0x46, 0xca, 0x6e, 0xca, 0xe4, 0x20, 0x18, 0x49, 0xd7, 0x75,
+	0xbb, 0x80, 0x7b, 0x91, 0x92, 0x0d, 0x8a, 0x16, 0x4d, 0x73, 0x88, 0x5b, 0x37, 0x32, 0x12, 0xb4,
+	0x06, 0x11, 0xe4, 0xd0, 0x43, 0x0d, 0xda, 0x62, 0x14, 0xd6, 0x12, 0x29, 0x48, 0x54, 0x10, 0x3d,
+	0x46, 0x5f, 0xa3, 0x7d, 0xad, 0xde, 0xfa, 0x12, 0x05, 0xff, 0x48, 0x5e, 0x24, 0xf0, 0x36, 0x37,
+	0x71, 0xe6, 0x37, 0x1f, 0x3f, 0x72, 0x86, 0x36, 0x5c, 0x66, 0x42, 0x64, 0x39, 0x8d, 0x53, 0x22,
+	0x49, 0x2d, 0x45, 0x45, 0xe3, 0x77, 0x8f, 0xb6, 0x54, 0x92, 0xc7, 0x31, 0xe5, 0x92, 0xc9, 0x36,
+	0x2a, 0x2b, 0x21, 0x05, 0x0a, 0x0d, 0x16, 0xf5, 0x58, 0x64, 0xb1, 0xc9, 0x7d, 0x2b, 0x40, 0x4a,
+	0x16, 0x13, 0xce, 0x85, 0x24, 0x92, 0x09, 0x5e, 0x9b, 0xba, 0x3e, 0xab, 0x57, 0xdb, 0xe6, 0x4d,
+	0x5c, 0xcb, 0xaa, 0xd9, 0x49, 0x9b, 0xbd, 0xf8, 0x30, 0x2b, 0x59, 0x41, 0x6b, 0x49, 0x8a, 0xd2,
+	0x02, 0x76, 0xdb, 0x58, 0xb6, 0x25, 0x8d, 0x73, 0x22, 0x73, 0x9e, 0x99, 0xcc, 0xec, 0x57, 0xf0,
+	0xd7, 0xa4, 0x92, 0x4c, 0x6d, 0xb6, 0x4a, 0xd1, 0x03, 0x80, 0xb2, 0x12, 0x7f, 0xd0, 0x9d, 0xdc,
+	0xb0, 0x34, 0x1c, 0x4c, 0xdd, 0xb9, 0x87, 0x3d, 0x1b, 0x59, 0xa5, 0xe8, 0x0b, 0x08, 0x38, 0x29,
+	0x68, 0x5d, 0x92, 0x1d, 0x55, 0xc0, 0x89, 0x06, 0xfc, 0x3e, 0xb6, 0x4a, 0x67, 0xff, 0xb8, 0x30,
+	0x7c, 0x41, 0x5b, 0x94, 0x40, 0x50, 0x76, 0xc2, 0x0a, 0x75, 0xa7, 0xee, 0xdc, 0xbf, 0xba, 0x8c,
+	0x8e, 0x5d, 0x40, 0x74, 0xcd, 0x06, 0xf6, 0xcb, 0x6b, 0x9e, 0x9e, 0xc2, 0x49, 0x49, 0xe4, 0xdb,
+	0x70, 0x30, 0x1d, 0xce, 0xfd, 0xab, 0xaf, 0x8f, 0x2b, 0xbc, 0xa0, 0x6d, 0xb4, 0x26, 0xf2, 0xed,
+	0x32, 0xa7, 0x05, 0xe5, 0x12, 0xeb, 0xb2, 0xc9, 0x2b, 0x75, 0xc2, 0x3e, 0x88, 0x10, 0x9c, 0xec,
+	0x19, 0x37, 0x7e, 0x3c, 0xac, 0xbf, 0xd1, 0x1d, 0x18, 0xd8, 0xd3, 0x0e, 0x13, 0x07, 0x0f, 0x58,
+	0x8a, 0xee, 0xc1, 0x89, 0x3a, 0x54, 0x38, 0x54, 0x54, 0xe2, 0x60, 0xbd, 0x5a, 0x78, 0x70, 0x8b,
+	0xa5, 0x1b, 0x75, 0x89, 0xb3, 0x25, 0xc0, 0xb3, 0xaa, 0x22, 0xed, 0x6b, 0x92, 0x37, 0x14, 0x7d,
+	0x0b, 0xe3, 0x77, 0xea, 0xa3, 0x0e, 0x5d, 0x6d, 0xf2, 0xe2, 0xb8, 0x49, 0x5d, 0x80, 0x2d, 0x3e,
+	0xfb, 0x7b, 0x04, 0x23, 0x23, 0xf1, 0x04, 0x80, 0x37, 0x79, 0xbe, 0xd1, 0x89, 0xd0, 0x9f, 0xba,
+	0xf3, 0xb3, 0xab, 0x49, 0x27, 0xd3, 0x35, 0x36, 0xfa, 0xa5, 0xc9, 0x73, 0xcd, 0x27, 0x0e, 0xf6,
+	0x78, 0xb7, 0x40, 0x97, 0x70, 0x7b, 0x2b, 0x44, 0x4e, 0x09, 0xb7, 0xf5, 0xea, 0x74, 0xa7, 0x89,
+	0x83, 0x03, 0x1b, 0xee, 0x31, 0xc6, 0x25, 0xcd, 0x68, 0x65, 0xb1, 0xee, 0xc8, 0x81, 0x0d, 0x1b,
+	0xec, 0x4b, 0x08, 0x52, 0xd1, 0x6c, 0x73, 0x6a, 0x29, 0x75, 0x09, 0x6e, 0xe2, 0x60, 0xdf, 0x44,
+	0x0d, 0xb4, 0x84, 0xf3, 0x7e, 0xca, 0x2c, 0x07, 0xba, 0xc5, 0x1f, 0x9b, 0x7e, 0xd5, 0x71, 0x89,
+	0x83, 0xcf, 0xfa, 0x22, 0x23, 0xf3, 0x03, 0x78, 0x7b, 0xda, 0x5a, 0x81, 0x91, 0x16, 0x78, 0x70,
+	0x63, 0x87, 0x13, 0x07, 0x9f, 0xee, 0x69, 0xdb, 0x3b, 0xad, 0x65, 0xc5, 0x78, 0x66, 0x05, 0x3e,
+	0xb3, 0xed, 0xf2, 0x4d, 0xd4, 0x40, 0x17, 0x00, 0xdb, 0x5c, 0x6c, 0x2d, 0x82, 0xa6, 0xee, 0x3c,
+	0x50, 0xb7, 0xa7, 0x62, 0x06, 0x78, 0x0a, 0xe7, 0x19, 0x15, 0x9b, 0x52, 0x30, 0x2e, 0x2d, 0x75,
+	0xaa, 0x9d, 0xdc, 0xed, 0x9c, 0xa8, 0x96, 0x47, 0x2f, 0x89, 0x7c, 0xc9, 0xb3, 0xc4, 0xc1, 0xb7,
+	0x33, 0x2a, 0xd6, 0x0a, 0xee, 0x6e, 0x22, 0x30, 0x6f, 0xdc, 0xd6, 0x8e, 0x75, 0xed, 0xf4, 0xf8,
+	0x29, 0x96, 0x9a, 0x56, 0x36, 0x4d, 0x9d, 0x91, 0x79, 0x0e, 0x3e, 0x51, 0x13, 0x65, 0x55, 0x3c,
+	0xad, 0xf2, 0xd5, 0x71, 0x95, 0xc3, 0xf8, 0x25, 0x0e, 0x06, 0x72, 0x18, 0xc6, 0x10, 0x6e, 0x15,
+	0x94, 0x70, 0xc6, 0xb3, 0xf0, 0x6c, 0xea, 0xce, 0x47, 0xb8, 0x5b, 0xa2, 0x87, 0x70, 0x8f, 0xbe,
+	0xdf, 0xe5, 0x4d, 0x4a, 0x37, 0x6f, 0x2a, 0x51, 0x6c, 0x18, 0x4f, 0xe9, 0x7b, 0x5a, 0x87, 0x77,
+	0xd5, 0xb4, 0x60, 0x64, 0x73, 0x3f, 0x57, 0xa2, 0x58, 0x99, 0xcc, 0x22, 0x00, 0xd0, 0x76, 0xcc,
+	0xd0, 0xff, 0xeb, 0xc2, 0xd8, 0x98, 0x47, 0x31, 0x0c, 0xf7, 0xb4, 0xb5, 0xaf, 0xfa, 0xe6, 0x8e,
+	0x61, 0x45, 0xa2, 0xb5, 0xfe, 0x65, 0x29, 0x69, 0x25, 0x19, 0xad, 0xc3, 0xa1, 0x7e, 0x26, 0x0f,
+	0xff, 0xef, 0x8e, 0xa2, 0x75, 0x5f, 0xb2, 0xe4, 0xb2, 0x6a, 0xf1, 0x35, 0x8d, 0xc9, 0xef, 0x70,
+	0xfe, 0x41, 0x1a, 0xdd, 0x39, 0xb8, 0xf2, 0xcc, 0xb6, 0xdf, 0xc0, 0xe8, 0x30, 0xea, 0x9f, 0xf0,
+	0x30, 0x0d, 0xfd, 0xfd, 0xe0, 0x3b, 0x77, 0xf1, 0xa7, 0x0b, 0xf7, 0x77, 0xa2, 0x38, 0x5a, 0xb1,
+	0xf0, 0x8d, 0xc9, 0xb5, 0x9a, 0xf3, 0xb5, 0xfb, 0xdb, 0x33, 0x0b, 0x66, 0x22, 0x27, 0x3c, 0x8b,
+	0x44, 0x95, 0xc5, 0x19, 0xe5, 0xfa, 0x15, 0xc4, 0x26, 0x45, 0x4a, 0x56, 0x7f, 0xfc, 0x0f, 0xf1,
+	0xa4, 0x8f, 0xfc, 0x35, 0xf8, 0xfc, 0xb9, 0xd1, 0xf8, 0x31, 0x17, 0x4d, 0x1a, 0xfd, 0xd4, 0x6f,
+	0xf9, 0xfa, 0xd1, 0x42, 0xa1, 0xdb, 0xb1, 0x96, 0x7b, 0xfc, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff,
+	0x7e, 0x53, 0x2d, 0x57, 0x6f, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1beta3/entity.proto b/googleapis/datastore/v1beta3/entity.proto
deleted file mode 100644
index 687d0d68d478794c6011c34f580acf7d29777edf..0000000000000000000000000000000000000000
--- a/googleapis/datastore/v1beta3/entity.proto
+++ /dev/null
@@ -1,201 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.datastore.v1beta3;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-import "google.golang.org/genproto/googleapis/type/latlng/latlng.proto"; // from google/type/latlng.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "EntityProto";
-option java_package = "com.google.datastore.v1beta3";
-
-
-// A partition ID identifies a grouping of entities. The grouping is always
-// by project and namespace, however the namespace ID may be empty.
-//
-// A partition ID contains several dimensions:
-// project ID and namespace ID.
-//
-// Partition dimensions:
-//
-// - May be `""`.
-// - Must be valid UTF-8 bytes.
-// - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
-// If the value of any dimension matches regex `__.*__`, the partition is
-// reserved/read-only.
-// A reserved/read-only partition ID is forbidden in certain documented
-// contexts.
-//
-// Foreign partition IDs (in which the project ID does
-// not match the context project ID ) are discouraged.
-// Reads and writes of foreign partition IDs may fail if the project is not in an active state.
-message PartitionId {
-  // The ID of the project to which the entities belong.
-  string project_id = 2;
-
-  // If not empty, the ID of the namespace to which the entities belong.
-  string namespace_id = 4;
-}
-
-// A unique identifier for an entity.
-// If a key's partition ID or any of its path kinds or names are
-// reserved/read-only, the key is reserved/read-only.
-// A reserved/read-only key is forbidden in certain documented contexts.
-message Key {
-  // A (kind, ID/name) pair used to construct a key path.
-  //
-  // If either name or ID is set, the element is complete.
-  // If neither is set, the element is incomplete.
-  message PathElement {
-    // The kind of the entity.
-    // A kind matching regex `__.*__` is reserved/read-only.
-    // A kind must not contain more than 1500 bytes when UTF-8 encoded.
-    // Cannot be `""`.
-    string kind = 1;
-
-    // The type of ID.
-    oneof id_type {
-      // The auto-allocated ID of the entity.
-      // Never equal to zero. Values less than zero are discouraged and may not
-      // be supported in the future.
-      int64 id = 2;
-
-      // The name of the entity.
-      // A name matching regex `__.*__` is reserved/read-only.
-      // A name must not be more than 1500 bytes when UTF-8 encoded.
-      // Cannot be `""`.
-      string name = 3;
-    }
-  }
-
-  // Entities are partitioned into subsets, currently identified by a project
-  // ID and namespace ID.
-  // Queries are scoped to a single partition.
-  PartitionId partition_id = 1;
-
-  // The entity path.
-  // An entity path consists of one or more elements composed of a kind and a
-  // string or numerical identifier, which identify entities. The first
-  // element identifies a _root entity_, the second element identifies
-  // a _child_ of the root entity, the third element identifies a child of the
-  // second entity, and so forth. The entities identified by all prefixes of
-  // the path are called the element's _ancestors_.
-  //
-  // An entity path is always fully complete: *all* of the entity's ancestors
-  // are required to be in the path along with the entity identifier itself.
-  // The only exception is that in some documented cases, the identifier in the
-  // last path element (for the entity) itself may be omitted. For example,
-  // the last path element of the key of `Mutation.insert` may have no
-  // identifier.
-  //
-  // A path can never be empty, and a path can have at most 100 elements.
-  repeated PathElement path = 2;
-}
-
-// An array value.
-message ArrayValue {
-  // Values in the array.
-  // The order of this array may not be preserved if it contains a mix of
-  // indexed and unindexed values.
-  repeated Value values = 1;
-}
-
-// A message that can hold any of the supported value types and associated
-// metadata.
-message Value {
-  // Must have a value set.
-  oneof value_type {
-    // A null value.
-    google.protobuf.NullValue null_value = 11;
-
-    // A boolean value.
-    bool boolean_value = 1;
-
-    // An integer value.
-    int64 integer_value = 2;
-
-    // A double value.
-    double double_value = 3;
-
-    // A timestamp value.
-    // When stored in the Datastore, precise only to microseconds;
-    // any additional precision is rounded down.
-    google.protobuf.Timestamp timestamp_value = 10;
-
-    // A key value.
-    Key key_value = 5;
-
-    // A UTF-8 encoded string value.
-    // When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
-    // Otherwise, may be set to at least 1,000,000 bytes.
-    string string_value = 17;
-
-    // A blob value.
-    // May have at most 1,000,000 bytes.
-    // When `exclude_from_indexes` is false, may have at most 1500 bytes.
-    // In JSON requests, must be base64-encoded.
-    bytes blob_value = 18;
-
-    // A geo point value representing a point on the surface of Earth.
-    google.type.LatLng geo_point_value = 8;
-
-    // An entity value.
-    //
-    // - May have no key.
-    // - May have a key with an incomplete key path.
-    // - May have a reserved/read-only key.
-    Entity entity_value = 6;
-
-    // An array value.
-    // Cannot contain another array value.
-    // A `Value` instance that sets field `array_value` must not set fields
-    // `meaning` or `exclude_from_indexes`.
-    ArrayValue array_value = 9;
-  }
-
-  // The `meaning` field should only be populated for backwards compatibility.
-  int32 meaning = 14;
-
-  // If the value should be excluded from all indexes including those defined
-  // explicitly.
-  bool exclude_from_indexes = 19;
-}
-
-// A Datastore data object.
-//
-// An entity is limited to 1 megabyte when stored. That _roughly_
-// corresponds to a limit of 1 megabyte for the serialized form of this
-// message.
-message Entity {
-  // The entity's key.
-  //
-  // An entity must have a key, unless otherwise documented (for example,
-  // an entity in `Value.entity_value` may have no key).
-  // An entity's kind is its key path's last element's kind,
-  // or null if it has no key.
-  Key key = 1;
-
-  // The entity's properties.
-  // The map's keys are property names.
-  // A property name matching regex `__.*__` is reserved.
-  // A reserved property name is forbidden in certain documented contexts.
-  // The name must not contain more than 500 characters.
-  // The name cannot be `""`.
-  map<string, Value> properties = 3;
-}
diff --git a/googleapis/datastore/v1beta3/query.pb.go b/googleapis/datastore/v1beta3/query.pb.go
index c149a9e876f1a349446c1026f79d434ff1c8fa58..7c606ca462d36434c9501ea8996b73a3c9e08a51 100644
--- a/googleapis/datastore/v1beta3/query.pb.go
+++ b/googleapis/datastore/v1beta3/query.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/datastore/v1beta3/query.proto
+// source: google/datastore/v1beta3/query.proto
 // DO NOT EDIT!
 
-package google_datastore_v1beta3 // import "google.golang.org/genproto/googleapis/datastore/v1beta3"
+package datastore
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/wrappers"
 import _ "google.golang.org/genproto/googleapis/type/latlng"
 
@@ -218,6 +218,20 @@ func (m *EntityResult) GetEntity() *Entity {
 	return nil
 }
 
+func (m *EntityResult) GetVersion() int64 {
+	if m != nil {
+		return m.Version
+	}
+	return 0
+}
+
+func (m *EntityResult) GetCursor() []byte {
+	if m != nil {
+		return m.Cursor
+	}
+	return nil
+}
+
 // A query for entities.
 type Query struct {
 	// The projection to return. Defaults to returning all properties.
@@ -291,6 +305,27 @@ func (m *Query) GetDistinctOn() []*PropertyReference {
 	return nil
 }
 
+func (m *Query) GetStartCursor() []byte {
+	if m != nil {
+		return m.StartCursor
+	}
+	return nil
+}
+
+func (m *Query) GetEndCursor() []byte {
+	if m != nil {
+		return m.EndCursor
+	}
+	return nil
+}
+
+func (m *Query) GetOffset() int32 {
+	if m != nil {
+		return m.Offset
+	}
+	return 0
+}
+
 func (m *Query) GetLimit() *google_protobuf3.Int32Value {
 	if m != nil {
 		return m.Limit
@@ -309,6 +344,13 @@ func (m *KindExpression) String() string            { return proto.CompactTextSt
 func (*KindExpression) ProtoMessage()               {}
 func (*KindExpression) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
 
+func (m *KindExpression) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // A reference to a property relative to the kind expressions.
 type PropertyReference struct {
 	// The name of the property.
@@ -321,6 +363,13 @@ func (m *PropertyReference) String() string            { return proto.CompactTex
 func (*PropertyReference) ProtoMessage()               {}
 func (*PropertyReference) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
 
+func (m *PropertyReference) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // A representation of a property in a projection.
 type Projection struct {
 	// The property to project.
@@ -359,6 +408,13 @@ func (m *PropertyOrder) GetProperty() *PropertyReference {
 	return nil
 }
 
+func (m *PropertyOrder) GetDirection() PropertyOrder_Direction {
+	if m != nil {
+		return m.Direction
+	}
+	return PropertyOrder_DIRECTION_UNSPECIFIED
+}
+
 // A holder for any type of filter.
 type Filter struct {
 	// The type of filter.
@@ -497,6 +553,13 @@ func (m *CompositeFilter) String() string            { return proto.CompactTextS
 func (*CompositeFilter) ProtoMessage()               {}
 func (*CompositeFilter) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
 
+func (m *CompositeFilter) GetOp() CompositeFilter_Operator {
+	if m != nil {
+		return m.Op
+	}
+	return CompositeFilter_OPERATOR_UNSPECIFIED
+}
+
 func (m *CompositeFilter) GetFilters() []*Filter {
 	if m != nil {
 		return m.Filters
@@ -526,6 +589,13 @@ func (m *PropertyFilter) GetProperty() *PropertyReference {
 	return nil
 }
 
+func (m *PropertyFilter) GetOp() PropertyFilter_Operator {
+	if m != nil {
+		return m.Op
+	}
+	return PropertyFilter_OPERATOR_UNSPECIFIED
+}
+
 func (m *PropertyFilter) GetValue() *Value {
 	if m != nil {
 		return m.Value
@@ -562,6 +632,20 @@ func (m *GqlQuery) String() string            { return proto.CompactTextString(m
 func (*GqlQuery) ProtoMessage()               {}
 func (*GqlQuery) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{9} }
 
+func (m *GqlQuery) GetQueryString() string {
+	if m != nil {
+		return m.QueryString
+	}
+	return ""
+}
+
+func (m *GqlQuery) GetAllowLiterals() bool {
+	if m != nil {
+		return m.AllowLiterals
+	}
+	return false
+}
+
 func (m *GqlQuery) GetNamedBindings() map[string]*GqlQueryParameter {
 	if m != nil {
 		return m.NamedBindings
@@ -719,6 +803,7 @@ type QueryResultBatch struct {
 	// In a single transaction, subsequent query result batches for the same query
 	// can have a greater snapshot version number. Each batch's snapshot version
 	// is valid for all preceding batches.
+	// The value will be zero for eventually consistent queries.
 	SnapshotVersion int64 `protobuf:"varint,7,opt,name=snapshot_version,json=snapshotVersion" json:"snapshot_version,omitempty"`
 }
 
@@ -727,6 +812,27 @@ func (m *QueryResultBatch) String() string            { return proto.CompactText
 func (*QueryResultBatch) ProtoMessage()               {}
 func (*QueryResultBatch) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{11} }
 
+func (m *QueryResultBatch) GetSkippedResults() int32 {
+	if m != nil {
+		return m.SkippedResults
+	}
+	return 0
+}
+
+func (m *QueryResultBatch) GetSkippedCursor() []byte {
+	if m != nil {
+		return m.SkippedCursor
+	}
+	return nil
+}
+
+func (m *QueryResultBatch) GetEntityResultType() EntityResult_ResultType {
+	if m != nil {
+		return m.EntityResultType
+	}
+	return EntityResult_RESULT_TYPE_UNSPECIFIED
+}
+
 func (m *QueryResultBatch) GetEntityResults() []*EntityResult {
 	if m != nil {
 		return m.EntityResults
@@ -734,6 +840,27 @@ func (m *QueryResultBatch) GetEntityResults() []*EntityResult {
 	return nil
 }
 
+func (m *QueryResultBatch) GetEndCursor() []byte {
+	if m != nil {
+		return m.EndCursor
+	}
+	return nil
+}
+
+func (m *QueryResultBatch) GetMoreResults() QueryResultBatch_MoreResultsType {
+	if m != nil {
+		return m.MoreResults
+	}
+	return QueryResultBatch_MORE_RESULTS_TYPE_UNSPECIFIED
+}
+
+func (m *QueryResultBatch) GetSnapshotVersion() int64 {
+	if m != nil {
+		return m.SnapshotVersion
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*EntityResult)(nil), "google.datastore.v1beta3.EntityResult")
 	proto.RegisterType((*Query)(nil), "google.datastore.v1beta3.Query")
@@ -754,93 +881,90 @@ func init() {
 	proto.RegisterEnum("google.datastore.v1beta3.QueryResultBatch_MoreResultsType", QueryResultBatch_MoreResultsType_name, QueryResultBatch_MoreResultsType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/datastore/v1beta3/query.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/datastore/v1beta3/query.proto", fileDescriptor2) }
 
 var fileDescriptor2 = []byte{
-	// 1313 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0x5d, 0x6f, 0xdb, 0x36,
-	0x17, 0x8e, 0xfc, 0x91, 0xd8, 0xc7, 0x5f, 0x2a, 0xfb, 0xbe, 0x7d, 0xd5, 0xb4, 0xc5, 0x9b, 0x0a,
-	0xdd, 0xea, 0x62, 0x9b, 0x8d, 0xb8, 0x28, 0xd6, 0x15, 0xdb, 0x00, 0x7f, 0x28, 0x89, 0x57, 0xc7,
-	0x72, 0x69, 0xa7, 0x40, 0x81, 0x0e, 0x82, 0x62, 0x33, 0xae, 0x56, 0x59, 0x54, 0x29, 0x26, 0x6d,
-	0x7e, 0xc8, 0x80, 0xfd, 0x9c, 0x5d, 0xec, 0x76, 0xb7, 0xbb, 0xdd, 0x0f, 0xd8, 0xcd, 0xfe, 0xc1,
-	0x06, 0x51, 0x94, 0xbf, 0x52, 0xd7, 0xde, 0xd0, 0x2b, 0x89, 0x87, 0xcf, 0xf3, 0x9c, 0xc3, 0xc3,
-	0x43, 0xf2, 0x40, 0x73, 0x4c, 0xe9, 0xd8, 0x25, 0x95, 0x31, 0x75, 0x6d, 0x6f, 0x5c, 0xa1, 0x6c,
-	0x5c, 0x1d, 0x13, 0xcf, 0x67, 0x94, 0xd3, 0x6a, 0x34, 0x65, 0xfb, 0x4e, 0x50, 0x1d, 0xd9, 0xdc,
-	0x0e, 0x38, 0x65, 0xa4, 0x7a, 0xb1, 0x7f, 0x4a, 0xb8, 0xfd, 0xb0, 0xfa, 0xe6, 0x9c, 0xb0, 0xcb,
-	0x8a, 0x00, 0x22, 0x4d, 0x8a, 0x4c, 0x51, 0x15, 0x89, 0xda, 0x6d, 0x6f, 0x26, 0x6f, 0xfb, 0x4e,
-	0x35, 0x20, 0xec, 0xc2, 0x19, 0x92, 0x21, 0xf5, 0xce, 0x9c, 0x71, 0xd5, 0xf6, 0x3c, 0xca, 0x6d,
-	0xee, 0x50, 0x2f, 0x88, 0x9c, 0xec, 0xb6, 0xfe, 0x6d, 0xa4, 0xc4, 0xe3, 0x0e, 0x97, 0xa1, 0xee,
-	0x7e, 0x35, 0x76, 0xf8, 0xab, 0xf3, 0xd3, 0xca, 0x90, 0x4e, 0xaa, 0x91, 0x52, 0x55, 0x4c, 0x9c,
-	0x9e, 0x9f, 0x55, 0x7d, 0x7e, 0xe9, 0x93, 0xa0, 0xfa, 0x96, 0xd9, 0xbe, 0x4f, 0xd8, 0xec, 0x47,
-	0x52, 0xbf, 0xdd, 0x2c, 0x80, 0x50, 0xa4, 0xea, 0xda, 0xdc, 0xf5, 0xc6, 0xf2, 0x13, 0xf1, 0xf5,
-	0x5f, 0x15, 0xc8, 0x1b, 0x22, 0x16, 0x4c, 0x82, 0x73, 0x97, 0xa3, 0xc7, 0xb0, 0x1d, 0xc5, 0xa6,
-	0x29, 0x7b, 0x4a, 0x39, 0x57, 0xdb, 0xab, 0xac, 0xca, 0x63, 0x45, 0xf2, 0x24, 0x1e, 0x69, 0xb0,
-	0x73, 0x41, 0x58, 0xe0, 0x50, 0x4f, 0x4b, 0xed, 0x29, 0xe5, 0x24, 0x8e, 0x87, 0xe8, 0x06, 0x6c,
-	0x0f, 0xcf, 0x59, 0x40, 0x99, 0x96, 0xdc, 0x53, 0xca, 0x79, 0x2c, 0x47, 0xfa, 0x33, 0x80, 0xc8,
-	0xeb, 0xe0, 0xd2, 0x27, 0xe8, 0x16, 0xfc, 0x0f, 0x1b, 0xfd, 0x93, 0xce, 0xc0, 0x1a, 0xbc, 0xe8,
-	0x19, 0xd6, 0x49, 0xb7, 0xdf, 0x33, 0x9a, 0xed, 0x83, 0xb6, 0xd1, 0x52, 0xb7, 0x50, 0x06, 0x52,
-	0x07, 0x27, 0x9d, 0x8e, 0xaa, 0xa0, 0x22, 0x40, 0x0f, 0x9b, 0xdf, 0x19, 0xcd, 0x41, 0xdb, 0xec,
-	0xaa, 0x09, 0x94, 0x87, 0xcc, 0x53, 0xe3, 0x85, 0x65, 0x76, 0x3b, 0x2f, 0xd4, 0xa4, 0xfe, 0x7b,
-	0x12, 0xd2, 0xcf, 0xc2, 0x2a, 0x40, 0x2d, 0x00, 0x9f, 0xd1, 0x1f, 0xc8, 0x30, 0xdc, 0x2f, 0x2d,
-	0xb1, 0x97, 0x2c, 0xe7, 0x6a, 0xf7, 0x56, 0x2f, 0xa6, 0x37, 0xc5, 0xe2, 0x39, 0x1e, 0xfa, 0x1a,
-	0x52, 0xaf, 0x1d, 0x6f, 0xa4, 0x25, 0x05, 0xbf, 0xbc, 0x9a, 0xff, 0xd4, 0xf1, 0x46, 0xc6, 0x3b,
-	0x9f, 0x91, 0x20, 0x5c, 0x32, 0x16, 0xac, 0x30, 0x99, 0x67, 0x8e, 0xcb, 0x09, 0x13, 0x19, 0xf9,
-	0x60, 0x32, 0x0f, 0x04, 0x0e, 0x4b, 0x3c, 0xfa, 0x06, 0xd2, 0x94, 0x8d, 0x08, 0xd3, 0xd2, 0xc2,
-	0xf1, 0xfd, 0x0f, 0x06, 0xee, 0x13, 0xc6, 0x2f, 0xcd, 0x10, 0x8e, 0x23, 0x16, 0xea, 0x40, 0x6e,
-	0xe4, 0x04, 0xdc, 0xf1, 0x86, 0xdc, 0xa2, 0x9e, 0xb6, 0x2d, 0x44, 0x3e, 0x5b, 0x2f, 0x82, 0xc9,
-	0x19, 0x61, 0xc4, 0x1b, 0x12, 0x0c, 0x31, 0xdf, 0xf4, 0xd0, 0x5d, 0xc8, 0x07, 0xdc, 0x66, 0xdc,
-	0x92, 0xbb, 0xb8, 0x23, 0x76, 0x31, 0x27, 0x6c, 0x4d, 0x61, 0x42, 0x77, 0x00, 0x88, 0x37, 0x8a,
-	0x01, 0x19, 0x01, 0xc8, 0x12, 0x6f, 0x24, 0xa7, 0x6f, 0xc0, 0x36, 0x3d, 0x3b, 0x0b, 0x08, 0xd7,
-	0x60, 0x4f, 0x29, 0xa7, 0xb1, 0x1c, 0xa1, 0x7d, 0x48, 0xbb, 0xce, 0xc4, 0xe1, 0x5a, 0x5e, 0xe4,
-	0xe7, 0x56, 0x1c, 0x61, 0x5c, 0xfe, 0x95, 0xb6, 0xc7, 0x1f, 0xd6, 0x9e, 0xdb, 0xee, 0x39, 0xc1,
-	0x11, 0x52, 0xbf, 0x07, 0xc5, 0xc5, 0x5c, 0x23, 0x04, 0x29, 0xcf, 0x9e, 0x10, 0x51, 0xb0, 0x59,
-	0x2c, 0xfe, 0xf5, 0xfb, 0x70, 0xed, 0xca, 0x9a, 0xa6, 0xc0, 0xc4, 0x1c, 0xf0, 0x04, 0x60, 0xb6,
-	0xf5, 0xe8, 0x10, 0x32, 0xbe, 0xa4, 0xc9, 0xfa, 0xff, 0x47, 0x49, 0x9b, 0x92, 0xf5, 0x3f, 0x15,
-	0x28, 0x2c, 0xec, 0xcc, 0x47, 0x93, 0x46, 0x26, 0x64, 0x47, 0x0e, 0x9b, 0xd6, 0xb5, 0x52, 0x2e,
-	0xd6, 0xf6, 0x37, 0x2c, 0x8f, 0x4a, 0x2b, 0x26, 0xe2, 0x99, 0x86, 0x6e, 0x40, 0x76, 0x6a, 0x47,
-	0x37, 0xe1, 0xbf, 0xad, 0x36, 0x8e, 0x4e, 0xd7, 0xd2, 0x19, 0x2c, 0x40, 0xb6, 0xde, 0x6f, 0x1a,
-	0xdd, 0x56, 0xbb, 0x7b, 0x18, 0x1d, 0xc4, 0x96, 0x31, 0x1d, 0x27, 0xf4, 0x5f, 0x14, 0xd8, 0x8e,
-	0xaa, 0x18, 0x3d, 0x07, 0x75, 0x48, 0x27, 0x3e, 0x0d, 0x1c, 0x4e, 0x2c, 0x79, 0x02, 0xa2, 0x35,
-	0x3f, 0x58, 0x1d, 0x69, 0x33, 0x66, 0x44, 0x22, 0x47, 0x5b, 0xb8, 0x34, 0x5c, 0x34, 0xa1, 0x3e,
-	0x94, 0xe2, 0x34, 0xc4, 0xb2, 0x09, 0x21, 0x5b, 0x5e, 0x9f, 0x80, 0xa9, 0x6a, 0xd1, 0x5f, 0xb0,
-	0x34, 0x0a, 0x90, 0x8b, 0xb4, 0xac, 0xf0, 0x96, 0xd4, 0x7f, 0x56, 0xa0, 0xb4, 0x14, 0x0a, 0x6a,
-	0x40, 0x82, 0xfa, 0x62, 0x05, 0xc5, 0x5a, 0x6d, 0xe3, 0x15, 0x54, 0x4c, 0x9f, 0x30, 0x9b, 0x53,
-	0x86, 0x13, 0xd4, 0x47, 0x4f, 0x60, 0x27, 0x72, 0x13, 0xc8, 0xcb, 0x68, 0xfd, 0x65, 0x10, 0x13,
-	0xf4, 0x2f, 0x20, 0x13, 0x6b, 0x21, 0x0d, 0xfe, 0x63, 0xf6, 0x0c, 0x5c, 0x1f, 0x98, 0x78, 0x69,
-	0x7f, 0x76, 0x20, 0x59, 0xef, 0xb6, 0x54, 0x45, 0xff, 0x23, 0x01, 0xc5, 0xc5, 0x65, 0x7f, 0xbc,
-	0xea, 0xab, 0x8b, 0x54, 0x6c, 0x5c, 0x76, 0xef, 0xcb, 0xc4, 0x23, 0x48, 0x5f, 0x84, 0x27, 0x5a,
-	0xbc, 0x06, 0xb9, 0xda, 0xff, 0x57, 0xab, 0xc8, 0x83, 0x2f, 0xd0, 0xfa, 0x8f, 0xca, 0x46, 0x59,
-	0x28, 0x40, 0xb6, 0x63, 0xf4, 0xfb, 0xd6, 0xe0, 0xa8, 0xde, 0x55, 0x15, 0x74, 0x03, 0xd0, 0x74,
-	0x68, 0x99, 0xd8, 0x32, 0x9e, 0x9d, 0xd4, 0x3b, 0x6a, 0x02, 0xa9, 0x90, 0x3f, 0xc4, 0x46, 0x7d,
-	0x60, 0xe0, 0x08, 0x99, 0x0c, 0x2b, 0x7f, 0xde, 0x32, 0x03, 0xa7, 0x50, 0x16, 0xd2, 0xd1, 0x6f,
-	0x3a, 0xe4, 0x1d, 0xd5, 0xfb, 0x56, 0xbd, 0xdb, 0x34, 0xfa, 0x03, 0x13, 0xab, 0x39, 0xfd, 0xaf,
-	0x04, 0x64, 0x0e, 0xdf, 0xb8, 0xd1, 0xab, 0x73, 0x17, 0xf2, 0xa2, 0x09, 0xb1, 0x02, 0xce, 0x1c,
-	0x6f, 0x2c, 0xef, 0xa4, 0x9c, 0xb0, 0xf5, 0x85, 0x09, 0x7d, 0x02, 0x45, 0xdb, 0x75, 0xe9, 0x5b,
-	0xcb, 0x75, 0x38, 0x61, 0xb6, 0x1b, 0x88, 0x6c, 0x66, 0x70, 0x41, 0x58, 0x3b, 0xd2, 0x88, 0x5e,
-	0x42, 0x31, 0xbc, 0xa0, 0x46, 0xd6, 0xa9, 0xe3, 0x8d, 0x1c, 0x6f, 0x1c, 0xc8, 0xa7, 0xe0, 0xd1,
-	0xea, 0x74, 0xc5, 0x51, 0x54, 0xba, 0x21, 0xb1, 0x21, 0x79, 0x86, 0xc7, 0xd9, 0x25, 0x2e, 0x78,
-	0xf3, 0x36, 0xf4, 0x12, 0xae, 0x8b, 0x52, 0x75, 0xa8, 0x67, 0xbb, 0x33, 0x17, 0xa9, 0x75, 0x0f,
-	0x45, 0xec, 0xa2, 0x67, 0x33, 0x7b, 0x42, 0xc2, 0x22, 0x45, 0x33, 0x9d, 0x58, 0x7d, 0x77, 0x02,
-	0xe8, 0x6a, 0x08, 0x48, 0x85, 0xe4, 0x6b, 0x72, 0x29, 0x53, 0x12, 0xfe, 0xa2, 0x7a, 0x5c, 0x09,
-	0x89, 0x75, 0x25, 0x79, 0xd5, 0x6f, 0xc4, 0x7c, 0x92, 0x78, 0xac, 0xe8, 0xef, 0xe0, 0xda, 0x95,
-	0x79, 0xf4, 0xe5, 0xa2, 0xf6, 0xba, 0x2a, 0x3b, 0xda, 0x92, 0x8a, 0x48, 0x5b, 0xec, 0x56, 0x8e,
-	0xb6, 0xe2, 0x7e, 0xa5, 0xa1, 0x42, 0xd1, 0x8f, 0xf5, 0xa3, 0xcb, 0xe2, 0xb7, 0x14, 0xa8, 0xc2,
-	0x6f, 0xd4, 0xc7, 0x34, 0x6c, 0x3e, 0x7c, 0x85, 0xee, 0x43, 0x29, 0x78, 0xed, 0xf8, 0x3e, 0x19,
-	0x59, 0x4c, 0x98, 0x03, 0x6d, 0x5b, 0xbc, 0x7a, 0x45, 0x69, 0x8e, 0xc0, 0x41, 0x58, 0x09, 0x31,
-	0x70, 0xa1, 0x3f, 0x2a, 0x48, 0xab, 0x7c, 0x3c, 0x2d, 0x40, 0x51, 0x8b, 0x25, 0xe5, 0x84, 0x6b,
-	0x79, 0x1b, 0xed, 0xaf, 0x6d, 0xcf, 0x04, 0xa5, 0x32, 0xeb, 0xb3, 0xb0, 0x4a, 0xe6, 0x26, 0x44,
-	0xe7, 0x75, 0x0c, 0xc5, 0x05, 0x07, 0xf1, 0x0d, 0xf5, 0xe9, 0x66, 0xe2, 0xb8, 0x30, 0xaf, 0x18,
-	0x2c, 0xf5, 0x02, 0xa9, 0xe5, 0x5e, 0xe0, 0x7b, 0xc8, 0x4f, 0x28, 0x23, 0x53, 0x5f, 0x69, 0xb1,
-	0x90, 0x27, 0xab, 0x7d, 0x2d, 0x27, 0xb8, 0x72, 0x4c, 0x19, 0x91, 0xce, 0xc4, 0x8a, 0x72, 0x93,
-	0x99, 0x01, 0x3d, 0x00, 0x35, 0xf0, 0x6c, 0x3f, 0x78, 0x45, 0xb9, 0x15, 0xf7, 0xa3, 0x3b, 0xa2,
-	0x1f, 0x2d, 0xc5, 0xf6, 0xe7, 0x91, 0x59, 0xff, 0x49, 0x81, 0xd2, 0x92, 0x16, 0xba, 0x0b, 0x77,
-	0x8e, 0x4d, 0x6c, 0x58, 0x51, 0x2b, 0xda, 0x7f, 0x5f, 0x2f, 0xaa, 0x42, 0xbe, 0x6b, 0x0e, 0xac,
-	0x83, 0x76, 0xb7, 0xdd, 0x3f, 0x32, 0x5a, 0xaa, 0x82, 0x6e, 0x83, 0xb6, 0x40, 0xaa, 0x1f, 0x84,
-	0xb7, 0x48, 0xa7, 0x7d, 0xdc, 0x1e, 0xa8, 0x09, 0x74, 0x07, 0x6e, 0xbe, 0x67, 0xb6, 0x79, 0x82,
-	0xfb, 0x26, 0x56, 0x53, 0xe8, 0x3a, 0x94, 0xba, 0xa6, 0x35, 0x8f, 0x50, 0x93, 0x8d, 0xcf, 0xe1,
-	0xf6, 0x90, 0x4e, 0x56, 0xe6, 0xa4, 0x01, 0x51, 0xb5, 0x87, 0x6d, 0x52, 0x4f, 0x39, 0xdd, 0x16,
-	0xfd, 0xd2, 0xc3, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x23, 0x3e, 0xbb, 0x1a, 0x39, 0x0d, 0x00,
-	0x00,
+	// 1312 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xcb, 0x6e, 0xdb, 0x46,
+	0x17, 0x36, 0x29, 0xc9, 0x97, 0xa3, 0x1b, 0x33, 0xf9, 0xff, 0x94, 0x71, 0x2e, 0x75, 0x88, 0xa4,
+	0x51, 0x50, 0x54, 0x82, 0x15, 0x04, 0x0d, 0xd2, 0x76, 0xa1, 0x0b, 0x6d, 0xab, 0x91, 0x45, 0x65,
+	0x24, 0x1b, 0x48, 0x91, 0x82, 0xa0, 0xa5, 0xb1, 0xc2, 0x86, 0x22, 0x99, 0xe1, 0x38, 0x89, 0xdf,
+	0xa2, 0x9b, 0x02, 0x7d, 0x86, 0x3e, 0x45, 0x17, 0xdd, 0x76, 0xdb, 0x6d, 0x1f, 0xa0, 0x9b, 0xbe,
+	0x41, 0x0b, 0xce, 0x0c, 0x75, 0x73, 0x14, 0xb9, 0x40, 0x76, 0x9a, 0x33, 0xdf, 0xf7, 0x9d, 0x99,
+	0x8f, 0x67, 0x66, 0x8e, 0xe0, 0xee, 0x28, 0x08, 0x46, 0x1e, 0xa9, 0x0c, 0x1d, 0xe6, 0x44, 0x2c,
+	0xa0, 0xa4, 0xf2, 0x66, 0xf7, 0x84, 0x30, 0xe7, 0x61, 0xe5, 0xf5, 0x19, 0xa1, 0xe7, 0xe5, 0x90,
+	0x06, 0x2c, 0x40, 0xba, 0x40, 0x95, 0x27, 0xa8, 0xb2, 0x44, 0x6d, 0xdf, 0x94, 0x7c, 0x27, 0x74,
+	0x2b, 0x8e, 0xef, 0x07, 0xcc, 0x61, 0x6e, 0xe0, 0x47, 0x82, 0xb7, 0x7d, 0x6f, 0xa9, 0x3a, 0xf1,
+	0x99, 0xcb, 0xa4, 0xfc, 0xf6, 0x6d, 0x09, 0xe3, 0xa3, 0x93, 0xb3, 0xd3, 0xca, 0x5b, 0xea, 0x84,
+	0x21, 0xa1, 0x89, 0x8c, 0x4c, 0x5f, 0x61, 0xe7, 0x21, 0xa9, 0x78, 0x0e, 0xf3, 0xfc, 0x91, 0x98,
+	0x31, 0x7e, 0x57, 0x20, 0x67, 0x72, 0x29, 0x4c, 0xa2, 0x33, 0x8f, 0xa1, 0xc7, 0xb0, 0x2e, 0xa4,
+	0x75, 0x65, 0x47, 0x29, 0x65, 0xab, 0x3b, 0xe5, 0x65, 0x4b, 0x2f, 0x4b, 0x9e, 0xc4, 0x23, 0x1d,
+	0x36, 0xde, 0x10, 0x1a, 0xb9, 0x81, 0xaf, 0xa7, 0x77, 0x94, 0x52, 0x0a, 0x27, 0x43, 0x74, 0x0d,
+	0xd6, 0x07, 0x67, 0x34, 0x0a, 0xa8, 0x9e, 0xda, 0x51, 0x4a, 0x39, 0x2c, 0x47, 0xc6, 0x33, 0x00,
+	0x91, 0xb5, 0x7f, 0x1e, 0x12, 0x74, 0x03, 0x3e, 0xc1, 0x66, 0xef, 0xa8, 0xdd, 0xb7, 0xfb, 0xcf,
+	0xbb, 0xa6, 0x7d, 0xd4, 0xe9, 0x75, 0xcd, 0x46, 0x6b, 0xaf, 0x65, 0x36, 0xb5, 0x35, 0xb4, 0x09,
+	0xe9, 0xbd, 0xa3, 0x76, 0x5b, 0x53, 0x50, 0x01, 0xa0, 0x8b, 0xad, 0x6f, 0xcd, 0x46, 0xbf, 0x65,
+	0x75, 0x34, 0x15, 0xe5, 0x60, 0xf3, 0xa9, 0xf9, 0xdc, 0xb6, 0x3a, 0xed, 0xe7, 0x5a, 0xca, 0xf8,
+	0x33, 0x05, 0x99, 0x67, 0xb1, 0xf1, 0xa8, 0x09, 0x10, 0xd2, 0xe0, 0x07, 0x32, 0x88, 0xfd, 0xd4,
+	0xd5, 0x9d, 0x54, 0x29, 0x5b, 0xbd, 0xbb, 0x7c, 0x33, 0xdd, 0x09, 0x16, 0xcf, 0xf0, 0xd0, 0xd7,
+	0x90, 0x7e, 0xe5, 0xfa, 0x43, 0x3d, 0xc5, 0xf9, 0xa5, 0xe5, 0xfc, 0xa7, 0xae, 0x3f, 0x34, 0xdf,
+	0x85, 0x94, 0x44, 0xf1, 0x96, 0x31, 0x67, 0xc5, 0x66, 0x9e, 0xba, 0x1e, 0x23, 0x94, 0x3b, 0xf2,
+	0x41, 0x33, 0xf7, 0x38, 0x0e, 0x4b, 0x3c, 0xfa, 0x06, 0x32, 0x01, 0x1d, 0x12, 0xaa, 0x67, 0x78,
+	0xe2, 0xfb, 0x1f, 0x5c, 0x78, 0x48, 0x28, 0x3b, 0xb7, 0x62, 0x38, 0x16, 0x2c, 0xd4, 0x86, 0xec,
+	0xd0, 0x8d, 0x98, 0xeb, 0x0f, 0x98, 0x1d, 0xf8, 0xfa, 0x3a, 0x17, 0xf9, 0x7c, 0xb5, 0x08, 0x26,
+	0xa7, 0x84, 0x12, 0x7f, 0x40, 0x30, 0x24, 0x7c, 0xcb, 0x47, 0x77, 0x20, 0x17, 0x31, 0x87, 0x32,
+	0x5b, 0x7e, 0xc5, 0x0d, 0xfe, 0x15, 0xb3, 0x3c, 0xd6, 0xe0, 0x21, 0x74, 0x0b, 0x80, 0xf8, 0xc3,
+	0x04, 0xb0, 0xc9, 0x01, 0x5b, 0xc4, 0x1f, 0xca, 0xe9, 0x6b, 0xb0, 0x1e, 0x9c, 0x9e, 0x46, 0x84,
+	0xe9, 0xb0, 0xa3, 0x94, 0x32, 0x58, 0x8e, 0xd0, 0x2e, 0x64, 0x3c, 0x77, 0xec, 0x32, 0x3d, 0xc7,
+	0xfd, 0xb9, 0x91, 0xac, 0x30, 0x29, 0xe4, 0x72, 0xcb, 0x67, 0x0f, 0xab, 0xc7, 0x8e, 0x77, 0x46,
+	0xb0, 0x40, 0x1a, 0x77, 0xa1, 0x30, 0xef, 0x35, 0x42, 0x90, 0xf6, 0x9d, 0x31, 0xe1, 0x05, 0xbb,
+	0x85, 0xf9, 0x6f, 0xe3, 0x3e, 0x5c, 0xb9, 0xb0, 0xa7, 0x09, 0x50, 0x9d, 0x01, 0x1e, 0x01, 0x4c,
+	0x3f, 0x3d, 0xda, 0x87, 0xcd, 0x50, 0xd2, 0x64, 0xfd, 0xff, 0x27, 0xd3, 0x26, 0x64, 0xe3, 0x6f,
+	0x05, 0xf2, 0x73, 0x5f, 0xe6, 0xa3, 0x49, 0x23, 0x0b, 0xb6, 0x86, 0x2e, 0x9d, 0xd4, 0xb5, 0x52,
+	0x2a, 0x54, 0x77, 0x2f, 0x59, 0x1e, 0xe5, 0x66, 0x42, 0xc4, 0x53, 0x0d, 0xc3, 0x84, 0xad, 0x49,
+	0x1c, 0x5d, 0x87, 0xff, 0x37, 0x5b, 0x58, 0x9c, 0xae, 0x85, 0x33, 0x98, 0x87, 0xad, 0x5a, 0xaf,
+	0x61, 0x76, 0x9a, 0xad, 0xce, 0xbe, 0x38, 0x88, 0x4d, 0x73, 0x32, 0x56, 0x8d, 0xdf, 0x14, 0x58,
+	0x17, 0x55, 0x8c, 0x8e, 0x41, 0x1b, 0x04, 0xe3, 0x30, 0x88, 0x5c, 0x46, 0x6c, 0x79, 0x02, 0xc4,
+	0x9e, 0x1f, 0x2c, 0x5f, 0x69, 0x23, 0x61, 0x08, 0x91, 0x83, 0x35, 0x5c, 0x1c, 0xcc, 0x87, 0x50,
+	0x0f, 0x8a, 0x89, 0x0d, 0x89, 0xac, 0xca, 0x65, 0x4b, 0xab, 0x0d, 0x98, 0xa8, 0x16, 0xc2, 0xb9,
+	0x48, 0x3d, 0x0f, 0x59, 0xa1, 0x65, 0xc7, 0xd7, 0xa3, 0xf1, 0xab, 0x02, 0xc5, 0x85, 0xa5, 0xa0,
+	0x3a, 0xa8, 0x41, 0xc8, 0x77, 0x50, 0xa8, 0x56, 0x2f, 0xbd, 0x83, 0xb2, 0x15, 0x12, 0xea, 0xb0,
+	0x80, 0x62, 0x35, 0x08, 0xd1, 0x13, 0xd8, 0x10, 0x69, 0x22, 0x79, 0x19, 0xad, 0xbe, 0x0c, 0x12,
+	0x82, 0xf1, 0x05, 0x6c, 0x26, 0x5a, 0x48, 0x87, 0xff, 0x59, 0x5d, 0x13, 0xd7, 0xfa, 0x16, 0x5e,
+	0xf8, 0x3e, 0x1b, 0x90, 0xaa, 0x75, 0x9a, 0x9a, 0x62, 0xfc, 0xa5, 0x42, 0x61, 0x7e, 0xdb, 0x1f,
+	0xaf, 0xfa, 0x6a, 0xdc, 0x8a, 0x4b, 0x97, 0xdd, 0xfb, 0x9c, 0x78, 0x04, 0x99, 0x37, 0xf1, 0x89,
+	0xe6, 0xaf, 0x41, 0xb6, 0xfa, 0xe9, 0x72, 0x15, 0x79, 0xf0, 0x39, 0xda, 0xf8, 0x49, 0xb9, 0x94,
+	0x0b, 0x79, 0xd8, 0x6a, 0x9b, 0xbd, 0x9e, 0xdd, 0x3f, 0xa8, 0x75, 0x34, 0x05, 0x5d, 0x03, 0x34,
+	0x19, 0xda, 0x16, 0xb6, 0xcd, 0x67, 0x47, 0xb5, 0xb6, 0xa6, 0x22, 0x0d, 0x72, 0xfb, 0xd8, 0xac,
+	0xf5, 0x4d, 0x2c, 0x90, 0xa9, 0xb8, 0xf2, 0x67, 0x23, 0x53, 0x70, 0x1a, 0x6d, 0x41, 0x46, 0xfc,
+	0xcc, 0xc4, 0xbc, 0x83, 0x5a, 0xcf, 0xae, 0x75, 0x1a, 0x66, 0xaf, 0x6f, 0x61, 0x2d, 0x6b, 0xfc,
+	0xa3, 0xc2, 0xe6, 0xfe, 0x6b, 0x4f, 0xbc, 0x3a, 0x77, 0x20, 0xc7, 0xdf, 0x7d, 0x3b, 0x62, 0xd4,
+	0xf5, 0x47, 0xf2, 0x4e, 0xca, 0xf2, 0x58, 0x8f, 0x87, 0xd0, 0x3d, 0x28, 0x38, 0x9e, 0x17, 0xbc,
+	0xb5, 0x3d, 0x97, 0x11, 0xea, 0x78, 0x11, 0x77, 0x73, 0x13, 0xe7, 0x79, 0xb4, 0x2d, 0x83, 0xe8,
+	0x05, 0x14, 0xe2, 0x0b, 0x6a, 0x68, 0x9f, 0xb8, 0xfe, 0xd0, 0xf5, 0x47, 0x91, 0x7c, 0x0a, 0x1e,
+	0x2d, 0xb7, 0x2b, 0x59, 0x45, 0xb9, 0x13, 0x13, 0xeb, 0x92, 0x67, 0xfa, 0x8c, 0x9e, 0xe3, 0xbc,
+	0x3f, 0x1b, 0x43, 0x2f, 0xe0, 0x2a, 0x2f, 0x55, 0x37, 0xf0, 0x1d, 0x6f, 0x9a, 0x22, 0xbd, 0xea,
+	0xa1, 0x48, 0x52, 0x74, 0x1d, 0xea, 0x8c, 0x49, 0x5c, 0xa4, 0x68, 0xaa, 0x93, 0xa8, 0x6f, 0x8f,
+	0x01, 0x5d, 0x5c, 0x02, 0xd2, 0x20, 0xf5, 0x8a, 0x9c, 0x4b, 0x4b, 0xe2, 0x9f, 0xa8, 0x96, 0x54,
+	0x82, 0xba, 0xaa, 0x24, 0x2f, 0xe6, 0x15, 0xcc, 0x27, 0xea, 0x63, 0xc5, 0x78, 0x07, 0x57, 0x2e,
+	0xcc, 0xa3, 0x2f, 0xe7, 0xb5, 0x57, 0x55, 0xd9, 0xc1, 0x9a, 0x54, 0x44, 0xfa, 0x7c, 0xb7, 0x72,
+	0xb0, 0x96, 0xf4, 0x2b, 0x75, 0x0d, 0x0a, 0x61, 0xa2, 0x2f, 0x2e, 0x8b, 0x3f, 0xd2, 0xa0, 0xf1,
+	0xbc, 0xa2, 0x8f, 0xa9, 0x3b, 0x6c, 0xf0, 0x12, 0xdd, 0x87, 0x62, 0xf4, 0xca, 0x0d, 0x43, 0x32,
+	0xb4, 0x29, 0x0f, 0x47, 0xfa, 0x3a, 0x7f, 0xf5, 0x0a, 0x32, 0x2c, 0xc0, 0x51, 0x5c, 0x09, 0x09,
+	0x70, 0xae, 0x3f, 0xca, 0xcb, 0xa8, 0x7c, 0x3c, 0x6d, 0x40, 0xa2, 0xc5, 0x92, 0x72, 0x3c, 0xb5,
+	0xbc, 0x8d, 0x76, 0x57, 0xb6, 0x67, 0x9c, 0x52, 0x9e, 0xf6, 0x59, 0x58, 0x23, 0x33, 0x13, 0xbc,
+	0xf3, 0x3a, 0x84, 0xc2, 0x5c, 0x82, 0xe4, 0x86, 0xfa, 0xec, 0x72, 0xe2, 0x38, 0x3f, 0xab, 0x18,
+	0x2d, 0xf4, 0x02, 0xe9, 0xc5, 0x5e, 0xe0, 0x7b, 0xc8, 0x8d, 0x03, 0x4a, 0x26, 0xb9, 0x32, 0x7c,
+	0x23, 0x4f, 0x96, 0xe7, 0x5a, 0x34, 0xb8, 0x7c, 0x18, 0x50, 0x22, 0x93, 0xf1, 0x1d, 0x65, 0xc7,
+	0xd3, 0x00, 0x7a, 0x00, 0x5a, 0xe4, 0x3b, 0x61, 0xf4, 0x32, 0x60, 0x76, 0xd2, 0x8f, 0x6e, 0xf0,
+	0x7e, 0xb4, 0x98, 0xc4, 0x8f, 0x45, 0xd8, 0xf8, 0x59, 0x81, 0xe2, 0x82, 0x16, 0xba, 0x03, 0xb7,
+	0x0e, 0x2d, 0x6c, 0xda, 0xa2, 0x15, 0xed, 0xbd, 0xaf, 0x17, 0xd5, 0x20, 0xd7, 0xb1, 0xfa, 0xf6,
+	0x5e, 0xab, 0xd3, 0xea, 0x1d, 0x98, 0x4d, 0x4d, 0x41, 0x37, 0x41, 0x9f, 0x23, 0xd5, 0xf6, 0xe2,
+	0x5b, 0xa4, 0xdd, 0x3a, 0x6c, 0xf5, 0x35, 0x15, 0xdd, 0x82, 0xeb, 0xef, 0x99, 0x6d, 0x1c, 0xe1,
+	0x9e, 0x85, 0xb5, 0x34, 0xba, 0x0a, 0xc5, 0x8e, 0x65, 0xcf, 0x22, 0xb4, 0x54, 0xfd, 0x47, 0x05,
+	0x6e, 0x0e, 0x82, 0xf1, 0x52, 0x53, 0xea, 0x20, 0xca, 0x3d, 0xee, 0x93, 0xba, 0xca, 0x77, 0x35,
+	0x89, 0x1b, 0x05, 0x9e, 0xe3, 0x8f, 0xca, 0x01, 0x1d, 0x55, 0x46, 0xc4, 0xe7, 0x5d, 0x54, 0x45,
+	0x4c, 0x39, 0xa1, 0x1b, 0x5d, 0xfc, 0x1b, 0xf1, 0xd5, 0x24, 0xf2, 0x8b, 0x7a, 0x7b, 0x5f, 0x68,
+	0x34, 0xbc, 0xe0, 0x6c, 0x58, 0x6e, 0x4e, 0x32, 0x1e, 0xef, 0xd6, 0x63, 0xe8, 0xc9, 0x3a, 0x97,
+	0x7b, 0xf8, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4a, 0xc8, 0xc3, 0x34, 0xf2, 0x0c, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1beta3/query.proto b/googleapis/datastore/v1beta3/query.proto
deleted file mode 100644
index 359f25edc7d39c6b5bb3ae19fa2cd492a01e296a..0000000000000000000000000000000000000000
--- a/googleapis/datastore/v1beta3/query.proto
+++ /dev/null
@@ -1,306 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.datastore.v1beta3;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/datastore/v1beta3/entity.proto"; // from google/datastore/v1beta3/entity.proto
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto
-import "google.golang.org/genproto/googleapis/type/latlng/latlng.proto"; // from google/type/latlng.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "QueryProto";
-option java_package = "com.google.datastore.v1beta3";
-
-
-// The result of fetching an entity from Datastore.
-message EntityResult {
-  // Specifies what data the 'entity' field contains.
-  // A `ResultType` is either implied (for example, in `LookupResponse.missing`
-  // from `datastore.proto`, it is always `KEY_ONLY`) or specified by context
-  // (for example, in message `QueryResultBatch`, field `entity_result_type`
-  // specifies a `ResultType` for all the values in field `entity_results`).
-  enum ResultType {
-    // Unspecified. This value is never used.
-    RESULT_TYPE_UNSPECIFIED = 0;
-
-    // The key and properties.
-    FULL = 1;
-
-    // A projected subset of properties. The entity may have no key.
-    PROJECTION = 2;
-
-    // Only the key.
-    KEY_ONLY = 3;
-  }
-
-  // The resulting entity.
-  Entity entity = 1;
-
-  // The version of the entity, a strictly positive number that monotonically
-  // increases with changes to the entity.
-  //
-  // This field is set for [`FULL`][google.datastore.v1beta3.EntityResult.ResultType.FULL] entity
-  // results.
-  //
-  // For [missing][google.datastore.v1beta3.LookupResponse.missing] entities in `LookupResponse`, this
-  // is the version of the snapshot that was used to look up the entity, and it
-  // is always set except for eventually consistent reads.
-  int64 version = 4;
-
-  // A cursor that points to the position after the result entity.
-  // Set only when the `EntityResult` is part of a `QueryResultBatch` message.
-  bytes cursor = 3;
-}
-
-// A query for entities.
-message Query {
-  // The projection to return. Defaults to returning all properties.
-  repeated Projection projection = 2;
-
-  // The kinds to query (if empty, returns entities of all kinds).
-  // Currently at most 1 kind may be specified.
-  repeated KindExpression kind = 3;
-
-  // The filter to apply.
-  Filter filter = 4;
-
-  // The order to apply to the query results (if empty, order is unspecified).
-  repeated PropertyOrder order = 5;
-
-  // The properties to make distinct. The query results will contain the first
-  // result for each distinct combination of values for the given properties
-  // (if empty, all results are returned).
-  repeated PropertyReference distinct_on = 6;
-
-  // A starting point for the query results. Query cursors are
-  // returned in query result batches and
-  // [can only be used to continue the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
-  bytes start_cursor = 7;
-
-  // An ending point for the query results. Query cursors are
-  // returned in query result batches and
-  // [can only be used to limit the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
-  bytes end_cursor = 8;
-
-  // The number of results to skip. Applies before limit, but after all other
-  // constraints. Optional. Must be >= 0 if specified.
-  int32 offset = 10;
-
-  // The maximum number of results to return. Applies after all other
-  // constraints. Optional.
-  // Unspecified is interpreted as no limit.
-  // Must be >= 0 if specified.
-  google.protobuf.Int32Value limit = 12;
-}
-
-// A representation of a kind.
-message KindExpression {
-  // The name of the kind.
-  string name = 1;
-}
-
-// A reference to a property relative to the kind expressions.
-message PropertyReference {
-  // The name of the property.
-  // If name includes "."s, it may be interpreted as a property name path.
-  string name = 2;
-}
-
-// A representation of a property in a projection.
-message Projection {
-  // The property to project.
-  PropertyReference property = 1;
-}
-
-// The desired order for a specific property.
-message PropertyOrder {
-  // The sort direction.
-  enum Direction {
-    // Unspecified. This value must not be used.
-    DIRECTION_UNSPECIFIED = 0;
-
-    // Ascending.
-    ASCENDING = 1;
-
-    // Descending.
-    DESCENDING = 2;
-  }
-
-  // The property to order by.
-  PropertyReference property = 1;
-
-  // The direction to order by. Defaults to `ASCENDING`.
-  Direction direction = 2;
-}
-
-// A holder for any type of filter.
-message Filter {
-  // The type of filter.
-  oneof filter_type {
-    // A composite filter.
-    CompositeFilter composite_filter = 1;
-
-    // A filter on a property.
-    PropertyFilter property_filter = 2;
-  }
-}
-
-// A filter that merges multiple other filters using the given operator.
-message CompositeFilter {
-  // A composite filter operator.
-  enum Operator {
-    // Unspecified. This value must not be used.
-    OPERATOR_UNSPECIFIED = 0;
-
-    // The results are required to satisfy each of the combined filters.
-    AND = 1;
-  }
-
-  // The operator for combining multiple filters.
-  Operator op = 1;
-
-  // The list of filters to combine.
-  // Must contain at least one filter.
-  repeated Filter filters = 2;
-}
-
-// A filter on a specific property.
-message PropertyFilter {
-  // A property filter operator.
-  enum Operator {
-    // Unspecified. This value must not be used.
-    OPERATOR_UNSPECIFIED = 0;
-
-    // Less than.
-    LESS_THAN = 1;
-
-    // Less than or equal.
-    LESS_THAN_OR_EQUAL = 2;
-
-    // Greater than.
-    GREATER_THAN = 3;
-
-    // Greater than or equal.
-    GREATER_THAN_OR_EQUAL = 4;
-
-    // Equal.
-    EQUAL = 5;
-
-    // Has ancestor.
-    HAS_ANCESTOR = 11;
-  }
-
-  // The property to filter by.
-  PropertyReference property = 1;
-
-  // The operator to filter by.
-  Operator op = 2;
-
-  // The value to compare the property to.
-  Value value = 3;
-}
-
-// A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
-message GqlQuery {
-  // A string of the format described
-  // [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
-  string query_string = 1;
-
-  // When false, the query string must not contain any literals and instead must
-  // bind all values. For example,
-  // `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while
-  // `SELECT * FROM Kind WHERE a = @value` is.
-  bool allow_literals = 2;
-
-  // For each non-reserved named binding site in the query string, there must be
-  // a named parameter with that name, but not necessarily the inverse.
-  //
-  // Key must match regex `[A-Za-z_$][A-Za-z_$0-9]*`, must not match regex
-  // `__.*__`, and must not be `""`.
-  map<string, GqlQueryParameter> named_bindings = 5;
-
-  // Numbered binding site @1 references the first numbered parameter,
-  // effectively using 1-based indexing, rather than the usual 0.
-  //
-  // For each binding site numbered i in `query_string`, there must be an i-th
-  // numbered parameter. The inverse must also be true.
-  repeated GqlQueryParameter positional_bindings = 4;
-}
-
-// A binding parameter for a GQL query.
-message GqlQueryParameter {
-  // The type of parameter.
-  oneof parameter_type {
-    // A value parameter.
-    Value value = 2;
-
-    // A query cursor. Query cursors are returned in query
-    // result batches.
-    bytes cursor = 3;
-  }
-}
-
-// A batch of results produced by a query.
-message QueryResultBatch {
-  // The possible values for the `more_results` field.
-  enum MoreResultsType {
-    // Unspecified. This value is never used.
-    MORE_RESULTS_TYPE_UNSPECIFIED = 0;
-
-    // There may be additional batches to fetch from this query.
-    NOT_FINISHED = 1;
-
-    // The query is finished, but there may be more results after the limit.
-    MORE_RESULTS_AFTER_LIMIT = 2;
-
-    // The query is finished, but there may be more results after the end
-    // cursor.
-    MORE_RESULTS_AFTER_CURSOR = 4;
-
-    // The query has been exhausted.
-    NO_MORE_RESULTS = 3;
-  }
-
-  // The number of results skipped, typically because of an offset.
-  int32 skipped_results = 6;
-
-  // A cursor that points to the position after the last skipped result.
-  // Will be set when `skipped_results` != 0.
-  bytes skipped_cursor = 3;
-
-  // The result type for every entity in `entity_results`.
-  EntityResult.ResultType entity_result_type = 1;
-
-  // The results for this batch.
-  repeated EntityResult entity_results = 2;
-
-  // A cursor that points to the position after the last result in the batch.
-  bytes end_cursor = 4;
-
-  // The state of the query after the current batch.
-  MoreResultsType more_results = 5;
-
-  // The version number of the snapshot this batch was returned from.
-  // This applies to the range of results from the query's `start_cursor` (or
-  // the beginning of the query if no cursor was given) to this batch's
-  // `end_cursor` (not the query's `end_cursor`).
-  //
-  // In a single transaction, subsequent query result batches for the same query
-  // can have a greater snapshot version number. Each batch's snapshot version
-  // is valid for all preceding batches.
-  int64 snapshot_version = 7;
-}
diff --git a/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go b/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go
index 4f0198d2875840d42dfd58170159514be0fb3baa..94e7eeee16fa2b4cd40d48b5d18503152a2804d7 100644
--- a/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go
+++ b/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/cloudbuild/v1/cloudbuild.proto
+// source: google/devtools/cloudbuild/v1/cloudbuild.proto
 // DO NOT EDIT!
 
 /*
-Package google_devtools_cloudbuild_v1 is a generated protocol buffer package.
+Package cloudbuild is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/devtools/cloudbuild/v1/cloudbuild.proto
+	google/devtools/cloudbuild/v1/cloudbuild.proto
 
 It has these top-level messages:
 	StorageSource
@@ -34,13 +34,12 @@ It has these top-level messages:
 	UpdateBuildTriggerRequest
 	BuildOptions
 */
-package google_devtools_cloudbuild_v1 // import "google.golang.org/genproto/googleapis/devtools/cloudbuild/v1"
+package cloudbuild
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
-import _ "google.golang.org/genproto/googleapis/devtools/source/v1"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/duration"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
@@ -63,13 +62,12 @@ var _ = math.Inf
 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 
 // Possible status of a build.
+// Non-terminal statuses.
 type Build_Status int32
 
 const (
 	// Status of the build is unknown.
 	Build_STATUS_UNKNOWN Build_Status = 0
-	// Build has been received and is being queued.
-	Build_QUEUING Build_Status = 8
 	// Build is queued; work has not yet begun.
 	Build_QUEUED Build_Status = 1
 	// Build is being executed.
@@ -88,7 +86,6 @@ const (
 
 var Build_Status_name = map[int32]string{
 	0: "STATUS_UNKNOWN",
-	8: "QUEUING",
 	1: "QUEUED",
 	2: "WORKING",
 	3: "SUCCESS",
@@ -99,7 +96,6 @@ var Build_Status_name = map[int32]string{
 }
 var Build_Status_value = map[string]int32{
 	"STATUS_UNKNOWN": 0,
-	"QUEUING":        8,
 	"QUEUED":         1,
 	"WORKING":        2,
 	"SUCCESS":        3,
@@ -186,6 +182,27 @@ func (m *StorageSource) String() string            { return proto.CompactTextStr
 func (*StorageSource) ProtoMessage()               {}
 func (*StorageSource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *StorageSource) GetBucket() string {
+	if m != nil {
+		return m.Bucket
+	}
+	return ""
+}
+
+func (m *StorageSource) GetObject() string {
+	if m != nil {
+		return m.Object
+	}
+	return ""
+}
+
+func (m *StorageSource) GetGeneration() int64 {
+	if m != nil {
+		return m.Generation
+	}
+	return 0
+}
+
 // RepoSource describes the location of the source in a Google Cloud Source
 // Repository.
 type RepoSource struct {
@@ -234,6 +251,20 @@ func (m *RepoSource) GetRevision() isRepoSource_Revision {
 	return nil
 }
 
+func (m *RepoSource) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *RepoSource) GetRepoName() string {
+	if m != nil {
+		return m.RepoName
+	}
+	return ""
+}
+
 func (m *RepoSource) GetBranchName() string {
 	if x, ok := m.GetRevision().(*RepoSource_BranchName); ok {
 		return x.BranchName
@@ -475,14 +506,50 @@ func (m *BuiltImage) String() string            { return proto.CompactTextString
 func (*BuiltImage) ProtoMessage()               {}
 func (*BuiltImage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *BuiltImage) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *BuiltImage) GetDigest() string {
+	if m != nil {
+		return m.Digest
+	}
+	return ""
+}
+
 // BuildStep describes a step to perform in the build pipeline.
 type BuildStep struct {
-	// Name of the container image to use for creating this stage in the
-	// pipeline, as presented to `docker pull`.
+	// The name of the container image that will run this particular build step.
+	//
+	// If the image is already available in the host's Docker daemon's cache, it
+	// will be run directly. If not, the host will attempt to pull the image
+	// first, using the builder service account's credentials if necessary.
+	//
+	// The Docker daemon's cache will already have the latest versions of all of
+	// the officially supported build steps
+	// (https://github.com/GoogleCloudPlatform/cloud-builders). The Docker daemon
+	// will also have cached many of the layers for some popular images, like
+	// "ubuntu", "debian", but they will be refreshed at the time you attempt to
+	// use them.
+	//
+	// If you built an image in a previous build step, it will be stored in the
+	// host's Docker daemon's cache and is available to use as the name for a
+	// later build step.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	// Additional environment variables to set for this step's container.
+	// A list of environment variable definitions to be used when running a step.
+	//
+	// The elements are of the form "KEY=VALUE" for the environment variable "KEY"
+	// being given the value "VALUE".
 	Env []string `protobuf:"bytes,2,rep,name=env" json:"env,omitempty"`
-	// Command-line arguments to use when running this step's container.
+	// A list of arguments that will be presented to the step when it is started.
+	//
+	// If the image used to run the step's container has an entrypoint, these args
+	// will be used as arguments to that entrypoint. If the image does not define
+	// an entrypoint, the first element in args will be used as the entrypoint,
+	// and the remainder will be used as arguments.
 	Args []string `protobuf:"bytes,3,rep,name=args" json:"args,omitempty"`
 	// Working directory (relative to project source root) to use when running
 	// this operation's container.
@@ -503,6 +570,48 @@ func (m *BuildStep) String() string            { return proto.CompactTextString(
 func (*BuildStep) ProtoMessage()               {}
 func (*BuildStep) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *BuildStep) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *BuildStep) GetEnv() []string {
+	if m != nil {
+		return m.Env
+	}
+	return nil
+}
+
+func (m *BuildStep) GetArgs() []string {
+	if m != nil {
+		return m.Args
+	}
+	return nil
+}
+
+func (m *BuildStep) GetDir() string {
+	if m != nil {
+		return m.Dir
+	}
+	return ""
+}
+
+func (m *BuildStep) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *BuildStep) GetWaitFor() []string {
+	if m != nil {
+		return m.WaitFor
+	}
+	return nil
+}
+
 // Results describes the artifacts created by the build pipeline.
 type Results struct {
 	// Images that were built as a part of the build.
@@ -523,11 +632,29 @@ func (m *Results) GetImages() []*BuiltImage {
 	return nil
 }
 
+func (m *Results) GetBuildStepImages() []string {
+	if m != nil {
+		return m.BuildStepImages
+	}
+	return nil
+}
+
 // A build resource in the Container Builder API.
 //
 // At a high level, a Build describes where to find source code, how to build
 // it (for example, the builder image to run on the source), and what tag to
 // apply to the built image when it is pushed to Google Container Registry.
+//
+// Fields can include the following variables which will be expanded when the
+// build is created:
+//
+// - $PROJECT_ID: the project ID of the build.
+// - $BUILD_ID: the autogenerated ID of the build.
+// - $REPO_NAME: the source repository name specified by RepoSource.
+// - $BRANCH_NAME: the branch name specified by RepoSource.
+// - $TAG_NAME: the tag name specified by RepoSource.
+// - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
+//   resolved from the specified branch or tag.
 type Build struct {
 	// Unique identifier of the build.
 	// @OutputOnly
@@ -548,13 +675,16 @@ type Build struct {
 	// Results of the build.
 	// @OutputOnly
 	Results *Results `protobuf:"bytes,10,opt,name=results" json:"results,omitempty"`
-	// Time at which the build was created.
+	// Time at which the request to create the build was received.
 	// @OutputOnly
 	CreateTime *google_protobuf4.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime" json:"create_time,omitempty"`
 	// Time at which execution of the build was started.
 	// @OutputOnly
 	StartTime *google_protobuf4.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
 	// Time at which execution of the build was finished.
+	//
+	// The difference between finish_time and start_time is the duration of the
+	// build's execution.
 	// @OutputOnly
 	FinishTime *google_protobuf4.Timestamp `protobuf:"bytes,8,opt,name=finish_time,json=finishTime" json:"finish_time,omitempty"`
 	// Amount of time that this build should be allowed to run, to second
@@ -563,10 +693,15 @@ type Build struct {
 	//
 	// Default time is ten minutes.
 	Timeout *google_protobuf3.Duration `protobuf:"bytes,12,opt,name=timeout" json:"timeout,omitempty"`
-	// List of images expected to be built and pushed to Google Container
-	// Registry. If an image is listed here and the image is not produced by
-	// one of the build steps, the build will fail. Any images present when
-	// the build steps are complete will be pushed to Container Registry.
+	// A list of images to be pushed upon the successful completion of all build
+	// steps.
+	//
+	// The images will be pushed using the builder service account's credentials.
+	//
+	// The digests of the pushed images will be stored in the Build resource's
+	// results field.
+	//
+	// If any of the images fail to be pushed, the build is marked FAILURE.
 	Images []string `protobuf:"bytes,13,rep,name=images" json:"images,omitempty"`
 	// Google Cloud Storage bucket where logs should be written (see
 	// [Bucket Name
@@ -576,6 +711,10 @@ type Build struct {
 	// A permanent fixed identifier for source.
 	// @OutputOnly
 	SourceProvenance *SourceProvenance `protobuf:"bytes,21,opt,name=source_provenance,json=sourceProvenance" json:"source_provenance,omitempty"`
+	// The ID of the BuildTrigger that triggered this build, if it was
+	// triggered automatically.
+	// @OutputOnly
+	BuildTriggerId string `protobuf:"bytes,22,opt,name=build_trigger_id,json=buildTriggerId" json:"build_trigger_id,omitempty"`
 	// Special options for this build.
 	Options *BuildOptions `protobuf:"bytes,23,opt,name=options" json:"options,omitempty"`
 	// URL to logs for this build in Google Cloud Logging.
@@ -588,6 +727,34 @@ func (m *Build) String() string            { return proto.CompactTextString(m) }
 func (*Build) ProtoMessage()               {}
 func (*Build) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *Build) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Build) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *Build) GetStatus() Build_Status {
+	if m != nil {
+		return m.Status
+	}
+	return Build_STATUS_UNKNOWN
+}
+
+func (m *Build) GetStatusDetail() string {
+	if m != nil {
+		return m.StatusDetail
+	}
+	return ""
+}
+
 func (m *Build) GetSource() *Source {
 	if m != nil {
 		return m.Source
@@ -637,6 +804,20 @@ func (m *Build) GetTimeout() *google_protobuf3.Duration {
 	return nil
 }
 
+func (m *Build) GetImages() []string {
+	if m != nil {
+		return m.Images
+	}
+	return nil
+}
+
+func (m *Build) GetLogsBucket() string {
+	if m != nil {
+		return m.LogsBucket
+	}
+	return ""
+}
+
 func (m *Build) GetSourceProvenance() *SourceProvenance {
 	if m != nil {
 		return m.SourceProvenance
@@ -644,6 +825,13 @@ func (m *Build) GetSourceProvenance() *SourceProvenance {
 	return nil
 }
 
+func (m *Build) GetBuildTriggerId() string {
+	if m != nil {
+		return m.BuildTriggerId
+	}
+	return ""
+}
+
 func (m *Build) GetOptions() *BuildOptions {
 	if m != nil {
 		return m.Options
@@ -651,6 +839,13 @@ func (m *Build) GetOptions() *BuildOptions {
 	return nil
 }
 
+func (m *Build) GetLogUrl() string {
+	if m != nil {
+		return m.LogUrl
+	}
+	return ""
+}
+
 // Metadata for build operations.
 type BuildOperationMetadata struct {
 	// The build that the operation is tracking.
@@ -749,6 +944,20 @@ func (m *Hash) String() string            { return proto.CompactTextString(m) }
 func (*Hash) ProtoMessage()               {}
 func (*Hash) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *Hash) GetType() Hash_HashType {
+	if m != nil {
+		return m.Type
+	}
+	return Hash_NONE
+}
+
+func (m *Hash) GetValue() []byte {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
 // Request to create a new build.
 type CreateBuildRequest struct {
 	// ID of the project.
@@ -762,6 +971,13 @@ func (m *CreateBuildRequest) String() string            { return proto.CompactTe
 func (*CreateBuildRequest) ProtoMessage()               {}
 func (*CreateBuildRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *CreateBuildRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *CreateBuildRequest) GetBuild() *Build {
 	if m != nil {
 		return m.Build
@@ -782,6 +998,20 @@ func (m *GetBuildRequest) String() string            { return proto.CompactTextS
 func (*GetBuildRequest) ProtoMessage()               {}
 func (*GetBuildRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *GetBuildRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetBuildRequest) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 // Request to list builds.
 type ListBuildsRequest struct {
 	// ID of the project.
@@ -790,6 +1020,8 @@ type ListBuildsRequest struct {
 	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
 	// Token to provide to skip to a particular spot in the list.
 	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+	// The raw filter text to constrain the results.
+	Filter string `protobuf:"bytes,8,opt,name=filter" json:"filter,omitempty"`
 }
 
 func (m *ListBuildsRequest) Reset()                    { *m = ListBuildsRequest{} }
@@ -797,6 +1029,34 @@ func (m *ListBuildsRequest) String() string            { return proto.CompactTex
 func (*ListBuildsRequest) ProtoMessage()               {}
 func (*ListBuildsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *ListBuildsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListBuildsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListBuildsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListBuildsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
 // Response including listed builds.
 type ListBuildsResponse struct {
 	// Builds will be sorted by create_time, descending.
@@ -817,6 +1077,13 @@ func (m *ListBuildsResponse) GetBuilds() []*Build {
 	return nil
 }
 
+func (m *ListBuildsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request to cancel an ongoing build.
 type CancelBuildRequest struct {
 	// ID of the project.
@@ -830,6 +1097,20 @@ func (m *CancelBuildRequest) String() string            { return proto.CompactTe
 func (*CancelBuildRequest) ProtoMessage()               {}
 func (*CancelBuildRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
 
+func (m *CancelBuildRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *CancelBuildRequest) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 // Configuration for an automated build in response to source repository
 // changes.
 type BuildTrigger struct {
@@ -837,6 +1118,8 @@ type BuildTrigger struct {
 	//
 	// @OutputOnly
 	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
+	// Human-readable description of this trigger.
+	Description string `protobuf:"bytes,10,opt,name=description" json:"description,omitempty"`
 	// Template describing the types of source changes to trigger a build.
 	//
 	// Branch and tag names in trigger templates are interpreted as regular
@@ -845,21 +1128,16 @@ type BuildTrigger struct {
 	TriggerTemplate *RepoSource `protobuf:"bytes,7,opt,name=trigger_template,json=triggerTemplate" json:"trigger_template,omitempty"`
 	// Template describing the Build request to make when the trigger is matched.
 	//
-	// Fields can include the following variables which will be expanded when the
-	// build is created:
-	// - $PROJECT_ID: the project ID that owns the repo.
-	// - $REPO_NAME: the name of the repo.
-	// - $BRANCH_NAME: the branch name that triggered the build.
-	// - $TAG_NAME: the tag name that triggered the build.
-	// - $REVISION_ID: the commit SHA of the revision that triggered the build.
-	//
 	// Types that are valid to be assigned to BuildTemplate:
 	//	*BuildTrigger_Build
+	//	*BuildTrigger_Filename
 	BuildTemplate isBuildTrigger_BuildTemplate `protobuf_oneof:"build_template"`
 	// Time when the trigger was created.
 	//
 	// @OutputOnly
 	CreateTime *google_protobuf4.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime" json:"create_time,omitempty"`
+	// If true, the trigger will never result in a build.
+	Disabled bool `protobuf:"varint,9,opt,name=disabled" json:"disabled,omitempty"`
 }
 
 func (m *BuildTrigger) Reset()                    { *m = BuildTrigger{} }
@@ -874,8 +1152,12 @@ type isBuildTrigger_BuildTemplate interface {
 type BuildTrigger_Build struct {
 	Build *Build `protobuf:"bytes,4,opt,name=build,oneof"`
 }
+type BuildTrigger_Filename struct {
+	Filename string `protobuf:"bytes,8,opt,name=filename,oneof"`
+}
 
-func (*BuildTrigger_Build) isBuildTrigger_BuildTemplate() {}
+func (*BuildTrigger_Build) isBuildTrigger_BuildTemplate()    {}
+func (*BuildTrigger_Filename) isBuildTrigger_BuildTemplate() {}
 
 func (m *BuildTrigger) GetBuildTemplate() isBuildTrigger_BuildTemplate {
 	if m != nil {
@@ -884,6 +1166,20 @@ func (m *BuildTrigger) GetBuildTemplate() isBuildTrigger_BuildTemplate {
 	return nil
 }
 
+func (m *BuildTrigger) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *BuildTrigger) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func (m *BuildTrigger) GetTriggerTemplate() *RepoSource {
 	if m != nil {
 		return m.TriggerTemplate
@@ -898,6 +1194,13 @@ func (m *BuildTrigger) GetBuild() *Build {
 	return nil
 }
 
+func (m *BuildTrigger) GetFilename() string {
+	if x, ok := m.GetBuildTemplate().(*BuildTrigger_Filename); ok {
+		return x.Filename
+	}
+	return ""
+}
+
 func (m *BuildTrigger) GetCreateTime() *google_protobuf4.Timestamp {
 	if m != nil {
 		return m.CreateTime
@@ -905,10 +1208,18 @@ func (m *BuildTrigger) GetCreateTime() *google_protobuf4.Timestamp {
 	return nil
 }
 
+func (m *BuildTrigger) GetDisabled() bool {
+	if m != nil {
+		return m.Disabled
+	}
+	return false
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*BuildTrigger) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _BuildTrigger_OneofMarshaler, _BuildTrigger_OneofUnmarshaler, _BuildTrigger_OneofSizer, []interface{}{
 		(*BuildTrigger_Build)(nil),
+		(*BuildTrigger_Filename)(nil),
 	}
 }
 
@@ -921,6 +1232,9 @@ func _BuildTrigger_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
 		if err := b.EncodeMessage(x.Build); err != nil {
 			return err
 		}
+	case *BuildTrigger_Filename:
+		b.EncodeVarint(8<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.Filename)
 	case nil:
 	default:
 		return fmt.Errorf("BuildTrigger.BuildTemplate has unexpected type %T", x)
@@ -939,6 +1253,13 @@ func _BuildTrigger_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.B
 		err := b.DecodeMessage(msg)
 		m.BuildTemplate = &BuildTrigger_Build{msg}
 		return true, err
+	case 8: // build_template.filename
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.BuildTemplate = &BuildTrigger_Filename{x}
+		return true, err
 	default:
 		return false, nil
 	}
@@ -953,6 +1274,10 @@ func _BuildTrigger_OneofSizer(msg proto.Message) (n int) {
 		n += proto.SizeVarint(4<<3 | proto.WireBytes)
 		n += proto.SizeVarint(uint64(s))
 		n += s
+	case *BuildTrigger_Filename:
+		n += proto.SizeVarint(8<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.Filename)))
+		n += len(x.Filename)
 	case nil:
 	default:
 		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
@@ -973,6 +1298,13 @@ func (m *CreateBuildTriggerRequest) String() string            { return proto.Co
 func (*CreateBuildTriggerRequest) ProtoMessage()               {}
 func (*CreateBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
 
+func (m *CreateBuildTriggerRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *CreateBuildTriggerRequest) GetTrigger() *BuildTrigger {
 	if m != nil {
 		return m.Trigger
@@ -993,6 +1325,20 @@ func (m *GetBuildTriggerRequest) String() string            { return proto.Compa
 func (*GetBuildTriggerRequest) ProtoMessage()               {}
 func (*GetBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
 
+func (m *GetBuildTriggerRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetBuildTriggerRequest) GetTriggerId() string {
+	if m != nil {
+		return m.TriggerId
+	}
+	return ""
+}
+
 // Request to list existing BuildTriggers.
 type ListBuildTriggersRequest struct {
 	// ID of the project for which to list BuildTriggers.
@@ -1004,6 +1350,13 @@ func (m *ListBuildTriggersRequest) String() string            { return proto.Com
 func (*ListBuildTriggersRequest) ProtoMessage()               {}
 func (*ListBuildTriggersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
 
+func (m *ListBuildTriggersRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 // Response containing existing BuildTriggers.
 type ListBuildTriggersResponse struct {
 	// BuildTriggers for the project, sorted by create_time descending.
@@ -1035,6 +1388,20 @@ func (m *DeleteBuildTriggerRequest) String() string            { return proto.Co
 func (*DeleteBuildTriggerRequest) ProtoMessage()               {}
 func (*DeleteBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
 
+func (m *DeleteBuildTriggerRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *DeleteBuildTriggerRequest) GetTriggerId() string {
+	if m != nil {
+		return m.TriggerId
+	}
+	return ""
+}
+
 // Request to update an existing BuildTrigger.
 type UpdateBuildTriggerRequest struct {
 	// ID of the project that owns the trigger.
@@ -1050,6 +1417,20 @@ func (m *UpdateBuildTriggerRequest) String() string            { return proto.Co
 func (*UpdateBuildTriggerRequest) ProtoMessage()               {}
 func (*UpdateBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
 
+func (m *UpdateBuildTriggerRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *UpdateBuildTriggerRequest) GetTriggerId() string {
+	if m != nil {
+		return m.TriggerId
+	}
+	return ""
+}
+
 func (m *UpdateBuildTriggerRequest) GetTrigger() *BuildTrigger {
 	if m != nil {
 		return m.Trigger
@@ -1061,7 +1442,7 @@ func (m *UpdateBuildTriggerRequest) GetTrigger() *BuildTrigger {
 type BuildOptions struct {
 	// Requested hash for SourceProvenance.
 	SourceProvenanceHash []Hash_HashType `protobuf:"varint,1,rep,packed,name=source_provenance_hash,json=sourceProvenanceHash,enum=google.devtools.cloudbuild.v1.Hash_HashType" json:"source_provenance_hash,omitempty"`
-	// Options for a verifiable build with details uploaded to the Analysis API.
+	// Requested verifiability options.
 	RequestedVerifyOption BuildOptions_VerifyOption `protobuf:"varint,2,opt,name=requested_verify_option,json=requestedVerifyOption,enum=google.devtools.cloudbuild.v1.BuildOptions_VerifyOption" json:"requested_verify_option,omitempty"`
 }
 
@@ -1070,6 +1451,20 @@ func (m *BuildOptions) String() string            { return proto.CompactTextStri
 func (*BuildOptions) ProtoMessage()               {}
 func (*BuildOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
 
+func (m *BuildOptions) GetSourceProvenanceHash() []Hash_HashType {
+	if m != nil {
+		return m.SourceProvenanceHash
+	}
+	return nil
+}
+
+func (m *BuildOptions) GetRequestedVerifyOption() BuildOptions_VerifyOption {
+	if m != nil {
+		return m.RequestedVerifyOption
+	}
+	return BuildOptions_NOT_VERIFIED
+}
+
 func init() {
 	proto.RegisterType((*StorageSource)(nil), "google.devtools.cloudbuild.v1.StorageSource")
 	proto.RegisterType((*RepoSource)(nil), "google.devtools.cloudbuild.v1.RepoSource")
@@ -1491,133 +1886,133 @@ var _CloudBuild_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/devtools/cloudbuild/v1/cloudbuild.proto",
+	Metadata: "google/devtools/cloudbuild/v1/cloudbuild.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/cloudbuild/v1/cloudbuild.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/devtools/cloudbuild/v1/cloudbuild.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1907 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x58, 0x5b, 0x6f, 0xdb, 0xc8,
-	0x15, 0x36, 0x25, 0x5b, 0x97, 0x23, 0x5f, 0xb8, 0xd3, 0xac, 0x43, 0x2b, 0x48, 0xd7, 0xe5, 0x5e,
-	0xea, 0x4d, 0x77, 0xc5, 0xda, 0xc1, 0x76, 0x1d, 0x67, 0xdb, 0xb5, 0x2d, 0x2b, 0xb1, 0xb0, 0x8e,
-	0x9c, 0x52, 0x52, 0x16, 0x45, 0x0b, 0xb0, 0xb4, 0x38, 0xa6, 0xd9, 0x50, 0x1c, 0x96, 0x1c, 0xa9,
-	0x71, 0x82, 0x00, 0xdd, 0x7d, 0x2e, 0xd0, 0x02, 0xed, 0x5b, 0x1f, 0x7a, 0xf9, 0x01, 0x45, 0x51,
-	0xa0, 0xe8, 0x53, 0x7f, 0x44, 0xd1, 0xbf, 0xd0, 0xc7, 0xfe, 0x88, 0x62, 0x2e, 0x94, 0x64, 0x6b,
-	0x53, 0x92, 0x0d, 0xfa, 0x62, 0x70, 0xce, 0xcc, 0x77, 0x6e, 0xf3, 0xcd, 0x39, 0x47, 0x86, 0x47,
-	0x2e, 0x21, 0xae, 0x8f, 0x1b, 0x2e, 0xf1, 0xed, 0xc0, 0x6d, 0x90, 0xc8, 0x35, 0x5c, 0x1c, 0x84,
-	0x11, 0xa1, 0xc4, 0x10, 0x5b, 0x76, 0xe8, 0xc5, 0x86, 0x83, 0xc7, 0x94, 0x10, 0x3f, 0x36, 0x06,
-	0x3e, 0x19, 0x39, 0x67, 0x23, 0xcf, 0x77, 0x8c, 0xf1, 0xf6, 0xcc, 0xaa, 0xc1, 0x21, 0xe8, 0xb6,
-	0x54, 0x97, 0x9c, 0x6f, 0xcc, 0x9c, 0x18, 0x6f, 0xd7, 0xdb, 0xd9, 0xac, 0xd9, 0xa1, 0x67, 0xc4,
-	0x38, 0x1a, 0x7b, 0x03, 0x3c, 0x20, 0xc1, 0xb9, 0xe7, 0x1a, 0x76, 0x10, 0x10, 0x6a, 0x53, 0x8f,
-	0x04, 0xb1, 0xb0, 0x54, 0xcf, 0xeb, 0x78, 0x4c, 0x46, 0xd1, 0x00, 0x33, 0xa7, 0xc5, 0x97, 0x35,
-	0x20, 0x01, 0xc5, 0xcf, 0xa8, 0x54, 0x77, 0x98, 0x4d, 0x9d, 0x4f, 0x02, 0x37, 0x1a, 0x05, 0x81,
-	0x17, 0xb8, 0x06, 0x09, 0x71, 0x74, 0xc5, 0xa5, 0x7b, 0xae, 0x47, 0x2f, 0x46, 0x67, 0x8d, 0x01,
-	0x19, 0x1a, 0x42, 0x8f, 0xc1, 0x37, 0xce, 0x46, 0xe7, 0x46, 0x48, 0x2f, 0x43, 0x1c, 0x1b, 0xce,
-	0x48, 0x40, 0x26, 0x1f, 0x12, 0x7a, 0x37, 0x1d, 0x8a, 0x87, 0x21, 0xbd, 0x14, 0x7f, 0x25, 0xe8,
-	0x7e, 0x3a, 0x88, 0x7a, 0x43, 0x1c, 0x53, 0x7b, 0x18, 0x4e, 0xbf, 0x04, 0x58, 0xb7, 0x60, 0xa5,
-	0x4b, 0x49, 0x64, 0xbb, 0xb8, 0xcb, 0xf3, 0x81, 0xd6, 0xa1, 0x74, 0x36, 0x1a, 0x3c, 0xc5, 0x54,
-	0x53, 0x36, 0x95, 0xad, 0xaa, 0x29, 0x57, 0x4c, 0x4e, 0xce, 0x7e, 0x82, 0x07, 0x54, 0x2b, 0x08,
-	0xb9, 0x58, 0xa1, 0xaf, 0x03, 0xb8, 0x38, 0x90, 0x29, 0xd0, 0x8a, 0x9b, 0xca, 0x56, 0xd1, 0x9c,
-	0x91, 0xe8, 0x7f, 0x55, 0x00, 0x4c, 0x1c, 0x12, 0xa9, 0xfe, 0x36, 0x40, 0x18, 0x11, 0x86, 0xb4,
-	0x3c, 0x47, 0x9a, 0xa8, 0x4a, 0x49, 0xdb, 0x41, 0xb7, 0xa0, 0x1a, 0xe1, 0x90, 0x58, 0x81, 0x3d,
-	0xc4, 0xd2, 0x50, 0x85, 0x09, 0x3a, 0xf6, 0x10, 0xa3, 0x6f, 0x40, 0xed, 0x2c, 0xb2, 0x83, 0xc1,
-	0x85, 0xd8, 0x66, 0xb6, 0xaa, 0xc7, 0x0b, 0x26, 0x08, 0x21, 0x3f, 0x72, 0x0b, 0x2a, 0xd4, 0x76,
-	0xc5, 0xfe, 0xa2, 0xdc, 0x2f, 0x53, 0xdb, 0xe5, 0x9b, 0x6f, 0x01, 0x0c, 0xc8, 0x70, 0xe8, 0x51,
-	0x2b, 0xbe, 0xb0, 0xb5, 0x25, 0xb9, 0x5d, 0x15, 0xb2, 0xee, 0x85, 0x7d, 0x08, 0x50, 0x89, 0xf0,
-	0xd8, 0x8b, 0x99, 0xdf, 0x7f, 0x53, 0xa0, 0x24, 0x7d, 0xee, 0xc3, 0x6a, 0x2c, 0x72, 0x64, 0x09,
-	0xd2, 0x70, 0xcf, 0x6a, 0x3b, 0x1f, 0x34, 0xfe, 0x2b, 0xcd, 0x1b, 0x57, 0x12, 0x7b, 0xbc, 0x60,
-	0xae, 0xc4, 0x57, 0x32, 0x7d, 0x02, 0x35, 0x1e, 0xab, 0xd4, 0x59, 0xe4, 0x3a, 0xdf, 0x4f, 0xd1,
-	0x39, 0x4d, 0x25, 0x8b, 0x3c, 0x9a, 0xac, 0x0e, 0x2b, 0x50, 0x12, 0x8a, 0xf4, 0x5d, 0x80, 0xc3,
-	0x91, 0xe7, 0xd3, 0xf6, 0xd0, 0x76, 0x31, 0x42, 0xb0, 0xc8, 0xb3, 0x21, 0x52, 0xcd, 0xbf, 0xd9,
-	0x5d, 0x3a, 0x9e, 0x8b, 0x63, 0x2a, 0x72, 0x68, 0xca, 0x95, 0xfe, 0xa5, 0x02, 0x55, 0x06, 0x75,
-	0xba, 0x14, 0x87, 0x5f, 0x89, 0x54, 0xa1, 0x88, 0x83, 0xb1, 0x56, 0xd8, 0x2c, 0x6e, 0x55, 0x4d,
-	0xf6, 0xc9, 0x4e, 0xd9, 0x91, 0x1b, 0x6b, 0x45, 0x2e, 0xe2, 0xdf, 0xec, 0x94, 0xe3, 0x45, 0xe2,
-	0x02, 0x4c, 0xf6, 0x89, 0x56, 0xa1, 0xe0, 0x39, 0x22, 0xe5, 0x66, 0xc1, 0x73, 0xd0, 0x06, 0x54,
-	0x7e, 0x66, 0x7b, 0xd4, 0x3a, 0x27, 0x91, 0x56, 0xe2, 0xc8, 0x32, 0x5b, 0x3f, 0x20, 0x91, 0xfe,
-	0x0c, 0xca, 0x26, 0x8e, 0x47, 0x3e, 0x8d, 0xd1, 0x01, 0x94, 0x3c, 0x16, 0x44, 0xcc, 0x0d, 0xa6,
-	0x27, 0x67, 0x1a, 0xb6, 0x29, 0x81, 0xe8, 0x0e, 0xbc, 0xc1, 0xb7, 0xad, 0x98, 0xe2, 0xd0, 0x92,
-	0xda, 0x84, 0xaf, 0x6b, 0x67, 0x49, 0xa8, 0x1c, 0x12, 0xeb, 0xff, 0x28, 0xc3, 0x12, 0x0f, 0x5f,
-	0xba, 0xab, 0x4c, 0xdc, 0xbd, 0xca, 0x5a, 0xf5, 0x3a, 0x6b, 0x9b, 0x50, 0x8a, 0xa9, 0x4d, 0x47,
-	0x31, 0x27, 0xc6, 0xea, 0xce, 0xb7, 0x32, 0xf8, 0xe9, 0x34, 0xba, 0x1c, 0x62, 0x4a, 0x28, 0x7a,
-	0x1b, 0x56, 0xc4, 0x97, 0xe5, 0x60, 0x6a, 0x7b, 0xbe, 0xa6, 0x71, 0x33, 0xcb, 0x42, 0x78, 0xc4,
-	0x65, 0xe8, 0xbb, 0xc9, 0x2d, 0x4b, 0xba, 0xbc, 0x9b, 0x46, 0x41, 0x7e, 0xd8, 0x94, 0x20, 0xf4,
-	0x3d, 0x58, 0x62, 0x79, 0x88, 0xb5, 0x1a, 0xcf, 0xe7, 0x56, 0x16, 0x3f, 0x59, 0x82, 0x4c, 0x01,
-	0x43, 0xfb, 0x50, 0x8e, 0xc4, 0xdd, 0x68, 0xc0, 0xed, 0xbf, 0x97, 0x4a, 0x57, 0x7e, 0xda, 0x4c,
-	0x60, 0xe8, 0x3e, 0xd4, 0x06, 0x11, 0xb6, 0x29, 0xb6, 0x58, 0x25, 0xd2, 0x4a, 0x5c, 0x4b, 0x3d,
-	0xd1, 0x92, 0xd4, 0xad, 0x46, 0x2f, 0x29, 0x53, 0x26, 0x88, 0xe3, 0x4c, 0x80, 0xee, 0x01, 0xc4,
-	0xd4, 0x8e, 0xa8, 0xc0, 0x96, 0x53, 0xb1, 0x55, 0x7e, 0x9a, 0x43, 0xef, 0x43, 0xed, 0xdc, 0x0b,
-	0xbc, 0xf8, 0x42, 0x60, 0x2b, 0xe9, 0x76, 0xc5, 0x71, 0x0e, 0xbe, 0x0b, 0x65, 0x86, 0x22, 0x23,
-	0xaa, 0x2d, 0x73, 0xe0, 0xc6, 0x1c, 0xf0, 0x48, 0x16, 0x72, 0x33, 0x39, 0xc9, 0x1e, 0x99, 0xa4,
-	0xdb, 0x0a, 0xa7, 0x5b, 0xc2, 0xc8, 0xb7, 0xa0, 0xe6, 0x13, 0x37, 0xb6, 0x64, 0x95, 0xfd, 0x1a,
-	0xbf, 0x65, 0x60, 0xa2, 0x43, 0x51, 0x69, 0x7f, 0x04, 0x6f, 0xc8, 0xde, 0x14, 0x46, 0x64, 0x8c,
-	0x03, 0x3b, 0x18, 0x60, 0xed, 0x4d, 0x6e, 0xd7, 0xc8, 0x74, 0xdd, 0x8f, 0x27, 0x30, 0x53, 0x8d,
-	0xaf, 0x49, 0x50, 0x0b, 0xca, 0x24, 0xe4, 0xed, 0x4a, 0xbb, 0xc9, 0x75, 0x66, 0x22, 0xeb, 0xa9,
-	0x80, 0x98, 0x09, 0x16, 0xdd, 0x84, 0xb2, 0x4f, 0x5c, 0x6b, 0x14, 0xf9, 0xda, 0x86, 0xa8, 0x21,
-	0x3e, 0x71, 0xfb, 0x91, 0xaf, 0xff, 0x82, 0xd5, 0x4d, 0xc1, 0x68, 0x04, 0xab, 0xdd, 0xde, 0x41,
-	0xaf, 0xdf, 0xb5, 0xfa, 0x9d, 0xcf, 0x3a, 0xa7, 0x9f, 0x77, 0xd4, 0x05, 0x54, 0x83, 0xf2, 0xf7,
-	0xfb, 0xad, 0x7e, 0xbb, 0xf3, 0x50, 0xad, 0x20, 0x80, 0x12, 0x5b, 0xb4, 0x8e, 0x54, 0x85, 0x6d,
-	0x7c, 0x7e, 0x6a, 0x7e, 0xc6, 0x36, 0x0a, 0x6c, 0xd1, 0xed, 0x37, 0x9b, 0xad, 0x6e, 0x57, 0x2d,
-	0xb2, 0xc5, 0x83, 0x83, 0xf6, 0x49, 0xdf, 0x6c, 0xa9, 0x8b, 0x4c, 0x67, 0xbb, 0xd3, 0x6b, 0x99,
-	0x9d, 0x83, 0x13, 0xab, 0x65, 0x9a, 0xa7, 0xa6, 0xba, 0xc4, 0x0e, 0xf4, 0xda, 0x8f, 0x5a, 0xa7,
-	0xfd, 0x9e, 0x5a, 0x42, 0x2b, 0x50, 0x6d, 0x1e, 0x74, 0x9a, 0xad, 0x93, 0x93, 0xd6, 0x91, 0x5a,
-	0xd6, 0x7b, 0xb0, 0x2e, 0x03, 0x90, 0x0d, 0xe9, 0x11, 0xa6, 0xb6, 0x63, 0x53, 0x1b, 0xed, 0xc1,
-	0x12, 0x8f, 0x91, 0x3f, 0xf3, 0xda, 0xce, 0x3b, 0x59, 0xd2, 0x60, 0x0a, 0x88, 0xfe, 0x87, 0x22,
-	0xa8, 0xd7, 0x73, 0x8d, 0x1c, 0xb8, 0x19, 0xe1, 0x98, 0xf8, 0x63, 0xcc, 0xaa, 0xcd, 0x95, 0x7e,
-	0x51, 0xcc, 0xdf, 0x2f, 0xcc, 0x37, 0x13, 0x65, 0x57, 0xfb, 0xf3, 0x0f, 0xe1, 0xc6, 0xc4, 0xca,
-	0x6c, 0xfb, 0x28, 0xe5, 0x6c, 0x1f, 0x26, 0x4a, 0xd4, 0xcc, 0x74, 0xe7, 0x1f, 0xb3, 0x57, 0xe2,
-	0x63, 0xeb, 0xc2, 0x8e, 0x2f, 0x70, 0xac, 0x2d, 0xf2, 0x2a, 0xf1, 0x69, 0x4e, 0xd2, 0x35, 0x1e,
-	0x78, 0x3e, 0x3e, 0xe6, 0x1a, 0x5a, 0x01, 0x8d, 0x2e, 0xd9, 0x53, 0x4a, 0x04, 0xf5, 0x0b, 0x58,
-	0xbb, 0xb6, 0xcd, 0xba, 0xc5, 0x53, 0x7c, 0x29, 0xab, 0x2d, 0xfb, 0x44, 0x9f, 0xc2, 0xd2, 0xd8,
-	0xf6, 0x47, 0x49, 0x9f, 0x4d, 0x0b, 0x6a, 0xaa, 0xd0, 0x14, 0xb8, 0xbd, 0xc2, 0xae, 0xa2, 0x77,
-	0x00, 0xa6, 0x1b, 0x68, 0x1f, 0xaa, 0x93, 0xc8, 0x34, 0x85, 0xc7, 0xf5, 0x76, 0x8a, 0x5a, 0x86,
-	0x34, 0x2b, 0x89, 0xef, 0xfa, 0xcf, 0x15, 0x58, 0x64, 0x1f, 0x68, 0x1f, 0x16, 0xd9, 0x54, 0xc5,
-	0x1d, 0x5e, 0x4d, 0xbd, 0x54, 0x06, 0xe1, 0x7f, 0x7a, 0x97, 0x21, 0x36, 0x39, 0x12, 0xdd, 0x98,
-	0x8d, 0x6f, 0x59, 0x3a, 0xad, 0x6f, 0x42, 0x25, 0x39, 0x87, 0x2a, 0xb0, 0xd8, 0x39, 0xed, 0xb4,
-	0xd4, 0x05, 0xf6, 0x46, 0xba, 0xc7, 0x07, 0x3b, 0x1f, 0x7d, 0x47, 0x55, 0x74, 0x02, 0xa8, 0xc9,
-	0xab, 0xa1, 0x20, 0x23, 0xfe, 0xe9, 0x08, 0xc7, 0x34, 0x6d, 0xa4, 0x9a, 0xf0, 0xbc, 0x90, 0x9f,
-	0xe7, 0xfb, 0xb0, 0xf6, 0x10, 0xd3, 0x3c, 0xd6, 0x44, 0xe7, 0x2c, 0x24, 0x9d, 0x53, 0x0f, 0xe0,
-	0x8d, 0x13, 0x2f, 0x16, 0x2a, 0xe2, 0x8c, 0x3a, 0x6e, 0x41, 0x35, 0xe4, 0x8f, 0xc7, 0x7b, 0x2e,
-	0x52, 0xb4, 0x64, 0x56, 0x98, 0xa0, 0xeb, 0x3d, 0x17, 0x03, 0x24, 0xdb, 0xa4, 0xe4, 0x29, 0x0e,
-	0xe4, 0xfc, 0xc2, 0x8f, 0xf7, 0x98, 0x40, 0x7f, 0x0e, 0x68, 0xd6, 0x5e, 0x1c, 0x92, 0x20, 0xc6,
-	0xe8, 0x13, 0x36, 0xd4, 0x32, 0x89, 0xbc, 0xfa, 0x6c, 0x49, 0x90, 0x18, 0xf4, 0x1e, 0xac, 0x05,
-	0xf8, 0x19, 0xb5, 0x66, 0xec, 0x8a, 0x00, 0x57, 0x98, 0xf8, 0xf1, 0xc4, 0x76, 0x13, 0x50, 0x93,
-	0x3d, 0x00, 0xff, 0x75, 0x12, 0xf6, 0x45, 0x01, 0x96, 0x39, 0xbe, 0x17, 0x79, 0xae, 0x8b, 0xa3,
-	0xb9, 0x59, 0xa4, 0x07, 0x2a, 0x15, 0x5b, 0x16, 0xc5, 0xc3, 0xd0, 0xb7, 0x69, 0xd2, 0x0a, 0x73,
-	0x3c, 0xfe, 0x35, 0xa9, 0xa2, 0x27, 0x35, 0xa0, 0x4f, 0x12, 0x96, 0x2c, 0x66, 0x67, 0xc9, 0xf1,
-	0x82, 0xe4, 0xc9, 0xf5, 0xae, 0xbe, 0x94, 0xa7, 0xab, 0x1f, 0xaa, 0xb0, 0x2a, 0x46, 0xb4, 0x24,
-	0x1c, 0xfd, 0x0b, 0x05, 0x36, 0x66, 0x88, 0x2e, 0x33, 0x91, 0x31, 0xa1, 0x2d, 0x28, 0xcb, 0xe0,
-	0x24, 0xe3, 0x33, 0x35, 0xb8, 0xc4, 0x46, 0x82, 0xd5, 0x9f, 0xc0, 0x7a, 0x42, 0xfd, 0x7c, 0xf6,
-	0x6f, 0x03, 0x24, 0xf7, 0x33, 0xb9, 0xd8, 0xaa, 0x94, 0xb4, 0x1d, 0xfd, 0x1e, 0x68, 0x13, 0x82,
-	0x4a, 0xc5, 0x19, 0xdf, 0x85, 0xee, 0xc0, 0xc6, 0x57, 0x40, 0x25, 0xc5, 0x1f, 0x42, 0x45, 0x1a,
-	0x49, 0x48, 0x9e, 0x2b, 0xee, 0x09, 0x58, 0xff, 0x01, 0x6c, 0x1c, 0x61, 0x1f, 0xff, 0x4f, 0xb9,
-	0x4f, 0x89, 0xfd, 0xf7, 0x0a, 0x6c, 0xf4, 0x43, 0xc7, 0xfe, 0x3f, 0xe8, 0x9e, 0xbd, 0xf6, 0xe2,
-	0x6b, 0x5c, 0xfb, 0x6f, 0x92, 0xe7, 0x27, 0x27, 0x1e, 0x74, 0x06, 0xeb, 0x73, 0xd3, 0xd8, 0xb4,
-	0x8b, 0xe4, 0xad, 0xff, 0x37, 0xae, 0xcf, 0x63, 0xbc, 0xa3, 0x84, 0x6c, 0x72, 0xe0, 0x49, 0xc0,
-	0x8e, 0x35, 0xc6, 0x91, 0x77, 0x7e, 0x69, 0x89, 0x41, 0x4b, 0xfe, 0xa0, 0xd8, 0xcd, 0x31, 0xa3,
-	0x35, 0x9e, 0x70, 0x05, 0x62, 0xc5, 0xa6, 0x08, 0xa9, 0x78, 0x56, 0xac, 0x37, 0x60, 0x79, 0x76,
-	0x8d, 0x54, 0x58, 0xee, 0x9c, 0xf6, 0xac, 0x27, 0x2d, 0xb3, 0xfd, 0xa0, 0xdd, 0x3a, 0x52, 0x17,
-	0xd0, 0x32, 0x54, 0x26, 0x2b, 0x65, 0xe7, 0xdf, 0x35, 0x80, 0x26, 0x33, 0x29, 0x7e, 0x1f, 0xfd,
-	0x4a, 0x81, 0xda, 0xcc, 0x03, 0x45, 0xdb, 0x29, 0xfe, 0xcd, 0x77, 0xad, 0xfa, 0xed, 0x04, 0x32,
-	0xf3, 0xbf, 0x94, 0xc6, 0x64, 0x4a, 0xd3, 0x8d, 0x2f, 0xff, 0xf9, 0xaf, 0x5f, 0x17, 0xde, 0xd7,
-	0x37, 0x8d, 0xf1, 0xb6, 0x21, 0x49, 0x10, 0x1b, 0x2f, 0xa6, 0x04, 0x79, 0x69, 0x88, 0xea, 0xbc,
-	0x27, 0x4b, 0xd0, 0x2f, 0x15, 0xa8, 0x24, 0x0f, 0x16, 0x35, 0x52, 0xfc, 0xb9, 0xd6, 0xd4, 0xea,
-	0x99, 0xca, 0x9d, 0xfe, 0x21, 0xf7, 0xe9, 0x9b, 0xe8, 0xdd, 0x34, 0x9f, 0x8c, 0x17, 0x9e, 0xf3,
-	0x12, 0xfd, 0x56, 0x01, 0x98, 0xf6, 0x22, 0xf4, 0xed, 0x14, 0x1b, 0x73, 0x6d, 0xb2, 0xbe, 0x9d,
-	0x03, 0x21, 0xaa, 0x80, 0xbe, 0xc5, 0x5d, 0xd4, 0x51, 0x6a, 0xda, 0xd0, 0xef, 0xd8, 0x15, 0x4e,
-	0xbb, 0x55, 0xfa, 0x15, 0xce, 0x75, 0xb6, 0x8c, 0x59, 0xfb, 0x98, 0xbb, 0xb4, 0xad, 0x7f, 0x90,
-	0x29, 0x6b, 0x7b, 0x03, 0x6e, 0x67, 0x4f, 0xb9, 0x83, 0xfe, 0xac, 0x5c, 0x19, 0x77, 0x92, 0x7e,
-	0xb8, 0x9b, 0x9d, 0x6b, 0x57, 0x0b, 0x4c, 0x3d, 0x4f, 0x45, 0xd0, 0xef, 0x72, 0xb7, 0x3f, 0xd4,
-	0xf5, 0x57, 0xbb, 0x9d, 0x94, 0xcc, 0xbd, 0xa4, 0x7a, 0xa0, 0x3f, 0x29, 0xd3, 0x81, 0x29, 0xf1,
-	0xf7, 0xa3, 0x8c, 0x5c, 0x7c, 0x1d, 0x67, 0x65, 0x8e, 0x91, 0x91, 0xee, 0xac, 0xf1, 0x62, 0x5a,
-	0x45, 0x5f, 0xa2, 0xbf, 0x28, 0x33, 0xf3, 0x59, 0xd2, 0x53, 0xd0, 0xc7, 0x59, 0x89, 0x77, 0xad,
-	0x81, 0xd5, 0x77, 0xf3, 0x03, 0x25, 0x71, 0xef, 0xf0, 0x08, 0xde, 0x41, 0x19, 0xd2, 0xcd, 0xa8,
-	0x8b, 0xe6, 0x5b, 0x54, 0x2a, 0x31, 0x5e, 0xd9, 0xd5, 0xea, 0xeb, 0x73, 0x93, 0x4a, 0x6b, 0x18,
-	0xd2, 0xcb, 0x24, 0xad, 0x77, 0x72, 0xa7, 0xf5, 0xef, 0x0a, 0xa0, 0xf9, 0x46, 0x97, 0xea, 0xe1,
-	0x2b, 0x7b, 0x63, 0x3e, 0x36, 0xec, 0x73, 0xb7, 0xf7, 0x76, 0xf2, 0xba, 0x3d, 0xe1, 0xf1, 0xa1,
-	0x0e, 0xda, 0x80, 0x0c, 0x13, 0x9b, 0x57, 0x4c, 0x3d, 0x56, 0xfe, 0x58, 0x28, 0x3e, 0x6c, 0x1e,
-	0x9e, 0x95, 0x78, 0xb2, 0xee, 0xfe, 0x27, 0x00, 0x00, 0xff, 0xff, 0x61, 0x99, 0xa8, 0xed, 0x3b,
-	0x18, 0x00, 0x00,
+	// 1943 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4b, 0x73, 0x1b, 0xc7,
+	0xf1, 0xe7, 0x02, 0x24, 0x1e, 0x0d, 0x3e, 0xa0, 0xf9, 0xcb, 0xd4, 0x12, 0xb2, 0x2c, 0xfe, 0x57,
+	0xb6, 0x43, 0x2b, 0x36, 0x10, 0x52, 0xe5, 0x98, 0xa6, 0x9c, 0x98, 0x24, 0x08, 0x91, 0x2c, 0xd3,
+	0xa0, 0x32, 0x00, 0xe4, 0xca, 0xa3, 0x6a, 0xb3, 0xc4, 0x0e, 0x97, 0x1b, 0x2d, 0x76, 0x37, 0xbb,
+	0x03, 0xc4, 0x94, 0x4a, 0x95, 0xc4, 0x87, 0x5c, 0x93, 0xaa, 0xe4, 0x96, 0x43, 0x1e, 0x1f, 0x20,
+	0x95, 0x4a, 0x55, 0x2a, 0xa7, 0x7c, 0x8a, 0x9c, 0x73, 0xcb, 0x31, 0xf9, 0x0e, 0xa9, 0x79, 0x01,
+	0x4b, 0xd0, 0xca, 0x2e, 0xa2, 0xca, 0x85, 0xb5, 0xd3, 0xd3, 0xbf, 0xee, 0x9e, 0x9e, 0x9e, 0xfe,
+	0x35, 0x01, 0x75, 0x27, 0x08, 0x1c, 0x8f, 0x34, 0x6c, 0x32, 0xa2, 0x41, 0xe0, 0xc5, 0x8d, 0xbe,
+	0x17, 0x0c, 0xed, 0xb3, 0xa1, 0xeb, 0xd9, 0x8d, 0xd1, 0x66, 0x62, 0x55, 0x0f, 0xa3, 0x80, 0x06,
+	0xe8, 0x8e, 0xd0, 0xaf, 0x2b, 0xfd, 0x7a, 0x42, 0x63, 0xb4, 0x59, 0x7b, 0x5d, 0x9a, 0xb3, 0x42,
+	0xb7, 0x61, 0xf9, 0x7e, 0x40, 0x2d, 0xea, 0x06, 0x7e, 0x2c, 0xc0, 0xb5, 0x7b, 0x72, 0xd7, 0x0b,
+	0x7c, 0x27, 0x1a, 0xfa, 0xbe, 0xeb, 0x3b, 0x8d, 0x20, 0x24, 0xd1, 0x15, 0xa5, 0x37, 0xa4, 0x12,
+	0x5f, 0x9d, 0x0d, 0xcf, 0x1b, 0xf6, 0x50, 0x28, 0xc8, 0xfd, 0xdb, 0xd3, 0xfb, 0x64, 0x10, 0xd2,
+	0x4b, 0xb9, 0x79, 0x77, 0x7a, 0x93, 0xba, 0x03, 0x12, 0x53, 0x6b, 0x10, 0x0a, 0x05, 0xc3, 0x84,
+	0xa5, 0x0e, 0x0d, 0x22, 0xcb, 0x21, 0x9d, 0x60, 0x18, 0xf5, 0x09, 0x5a, 0x85, 0xc2, 0xd9, 0xb0,
+	0xff, 0x94, 0x50, 0x5d, 0x5b, 0xd7, 0x36, 0xca, 0x58, 0xae, 0x98, 0x3c, 0x38, 0xfb, 0x01, 0xe9,
+	0x53, 0x3d, 0x27, 0xe4, 0x62, 0x85, 0xde, 0x00, 0x70, 0x88, 0x2f, 0x63, 0xd6, 0xf3, 0xeb, 0xda,
+	0x46, 0x1e, 0x27, 0x24, 0xc6, 0x9f, 0x35, 0x00, 0x4c, 0xc2, 0x40, 0x9a, 0xbf, 0x03, 0x10, 0x46,
+	0x01, 0x43, 0x9a, 0xae, 0x2d, 0x5d, 0x94, 0xa5, 0xe4, 0xd8, 0x46, 0xb7, 0xa1, 0x1c, 0x91, 0x30,
+	0x30, 0x7d, 0x6b, 0x40, 0xa4, 0xa3, 0x12, 0x13, 0xb4, 0xad, 0x01, 0x41, 0xff, 0x0f, 0x95, 0xb3,
+	0xc8, 0xf2, 0xfb, 0x17, 0x62, 0x9b, 0xf9, 0x2a, 0x1f, 0xcd, 0x61, 0x10, 0x42, 0xae, 0x72, 0x1b,
+	0x4a, 0xd4, 0x72, 0xc4, 0xfe, 0xbc, 0xdc, 0x2f, 0x52, 0xcb, 0xe1, 0x9b, 0x77, 0x01, 0xfa, 0xc1,
+	0x60, 0xe0, 0x52, 0x33, 0xbe, 0xb0, 0xf4, 0x05, 0xb9, 0x5d, 0x16, 0xb2, 0xce, 0x85, 0xb5, 0x0f,
+	0x50, 0x8a, 0xc8, 0xc8, 0x8d, 0x59, 0xdc, 0x7f, 0xd1, 0xa0, 0x20, 0x63, 0xee, 0xc1, 0x72, 0x2c,
+	0x72, 0x64, 0xc6, 0x5c, 0xc2, 0x23, 0xab, 0x6c, 0xbd, 0x5b, 0xff, 0x8f, 0x97, 0x5f, 0xbf, 0x92,
+	0xd8, 0xa3, 0x39, 0xbc, 0x14, 0x5f, 0xc9, 0xf4, 0x09, 0x54, 0xf8, 0x59, 0xa5, 0xcd, 0x3c, 0xb7,
+	0xf9, 0x4e, 0x8a, 0xcd, 0x49, 0x2a, 0xd9, 0xc9, 0xa3, 0xf1, 0x6a, 0xbf, 0x04, 0x05, 0x61, 0xc8,
+	0xd8, 0x06, 0xd8, 0x1f, 0xba, 0x1e, 0x3d, 0x1e, 0x58, 0x0e, 0x41, 0x08, 0xe6, 0x79, 0x36, 0x44,
+	0xaa, 0xf9, 0x37, 0xbb, 0x4b, 0xdb, 0x75, 0x48, 0x4c, 0x45, 0x0e, 0xb1, 0x5c, 0x19, 0x5f, 0x68,
+	0x50, 0x66, 0x50, 0xbb, 0x43, 0x49, 0xf8, 0xa5, 0xc8, 0x2a, 0xe4, 0x89, 0x3f, 0xd2, 0x73, 0xeb,
+	0xf9, 0x8d, 0x32, 0x66, 0x9f, 0x4c, 0xcb, 0x8a, 0x9c, 0x58, 0xcf, 0x73, 0x11, 0xff, 0x66, 0x5a,
+	0xb6, 0x1b, 0x89, 0x0b, 0xc0, 0xec, 0x13, 0x2d, 0x43, 0xce, 0xb5, 0x45, 0xca, 0x71, 0xce, 0xb5,
+	0xd1, 0x1a, 0x94, 0x7e, 0x64, 0xb9, 0xd4, 0x3c, 0x0f, 0x22, 0xbd, 0xc0, 0x91, 0x45, 0xb6, 0x7e,
+	0x14, 0x44, 0xc6, 0xe7, 0x50, 0xc4, 0x24, 0x1e, 0x7a, 0x34, 0x46, 0x7b, 0x50, 0x70, 0xd9, 0x21,
+	0x62, 0xee, 0x30, 0x3d, 0x39, 0x93, 0x63, 0x63, 0x09, 0x44, 0xf7, 0xe1, 0x06, 0xdf, 0x36, 0x63,
+	0x4a, 0x42, 0x53, 0x5a, 0x13, 0xb1, 0xae, 0x9c, 0xa9, 0xa3, 0x72, 0x48, 0x6c, 0xfc, 0xab, 0x08,
+	0x0b, 0xfc, 0xf8, 0x32, 0x5c, 0x6d, 0x1c, 0xee, 0xd5, 0xaa, 0xad, 0x4e, 0x57, 0x6d, 0x13, 0x0a,
+	0x31, 0xb5, 0xe8, 0x30, 0xe6, 0x85, 0xb1, 0xbc, 0xf5, 0xd5, 0x0c, 0x71, 0xda, 0xf5, 0x0e, 0x87,
+	0x60, 0x09, 0x45, 0xf7, 0x60, 0x49, 0x7c, 0x99, 0x36, 0xa1, 0x96, 0xeb, 0xe9, 0x3a, 0x77, 0xb3,
+	0x28, 0x84, 0x07, 0x5c, 0x86, 0xbe, 0xa1, 0x6e, 0x59, 0x96, 0xcb, 0x5b, 0x69, 0x25, 0xc8, 0x95,
+	0xb1, 0x04, 0xa1, 0x6f, 0xc2, 0x02, 0xcb, 0x43, 0xac, 0x57, 0x78, 0x3e, 0x37, 0xb2, 0xc4, 0xc9,
+	0x12, 0x84, 0x05, 0x0c, 0xed, 0x42, 0x31, 0x12, 0x77, 0xa3, 0x03, 0xf7, 0xff, 0x76, 0x6a, 0xb9,
+	0x72, 0x6d, 0xac, 0x60, 0xe8, 0x21, 0x54, 0xfa, 0x11, 0xb1, 0x28, 0x31, 0x59, 0x27, 0xd2, 0x0b,
+	0xdc, 0x4a, 0x4d, 0x59, 0x51, 0x6d, 0xaa, 0xde, 0x55, 0x6d, 0x0a, 0x83, 0x50, 0x67, 0x02, 0xf4,
+	0x21, 0x40, 0x4c, 0xad, 0x88, 0x0a, 0x6c, 0x31, 0x15, 0x5b, 0xe6, 0xda, 0x1c, 0xfa, 0x10, 0x2a,
+	0xe7, 0xae, 0xef, 0xc6, 0x17, 0x02, 0x5b, 0x4a, 0xf7, 0x2b, 0xd4, 0x39, 0xf8, 0x01, 0x14, 0x19,
+	0x2a, 0x18, 0x52, 0x7d, 0x91, 0x03, 0xd7, 0xae, 0x01, 0x0f, 0x64, 0x53, 0xc6, 0x4a, 0x93, 0x3d,
+	0x32, 0x59, 0x6e, 0x4b, 0xbc, 0xdc, 0x54, 0x45, 0xde, 0x85, 0x8a, 0x17, 0x38, 0xb1, 0x29, 0xbb,
+	0xec, 0xff, 0xf1, 0x5b, 0x06, 0x26, 0xda, 0x17, 0x9d, 0xf6, 0x7b, 0x70, 0x43, 0x5c, 0x97, 0x19,
+	0x46, 0xc1, 0x88, 0xf8, 0x96, 0xdf, 0x27, 0xfa, 0x6b, 0xdc, 0x6f, 0x23, 0xd3, 0x75, 0x3f, 0x1e,
+	0xc3, 0x70, 0x35, 0x9e, 0x92, 0xa0, 0x0d, 0xa8, 0x8a, 0x07, 0x41, 0x23, 0xd7, 0x71, 0x48, 0xc4,
+	0x0a, 0x7a, 0x95, 0xc7, 0xb0, 0xcc, 0xe5, 0x5d, 0x21, 0x3e, 0xb6, 0x51, 0x0b, 0x8a, 0x41, 0xc8,
+	0x99, 0x48, 0xbf, 0xc5, 0xbd, 0x67, 0x2a, 0xeb, 0x53, 0x01, 0xc1, 0x0a, 0x8b, 0x6e, 0x41, 0xd1,
+	0x0b, 0x1c, 0x73, 0x18, 0x79, 0xfa, 0x9a, 0xe8, 0x36, 0x5e, 0xe0, 0xf4, 0x22, 0xcf, 0xf8, 0x31,
+	0x14, 0xc4, 0x13, 0x40, 0x08, 0x96, 0x3b, 0xdd, 0xbd, 0x6e, 0xaf, 0x63, 0xf6, 0xda, 0x9f, 0xb4,
+	0x4f, 0x3f, 0x6b, 0x57, 0xe7, 0x10, 0x40, 0xe1, 0x5b, 0xbd, 0x56, 0xaf, 0x75, 0x50, 0xd5, 0x50,
+	0x05, 0x8a, 0x9f, 0x9d, 0xe2, 0x4f, 0x8e, 0xdb, 0x87, 0xd5, 0x1c, 0x5b, 0x74, 0x7a, 0xcd, 0x66,
+	0xab, 0xd3, 0xa9, 0xe6, 0xd9, 0xe2, 0xd1, 0xde, 0xf1, 0x49, 0x0f, 0xb7, 0xaa, 0xf3, 0xcc, 0xcc,
+	0x71, 0xbb, 0xdb, 0xc2, 0xed, 0xbd, 0x13, 0xb3, 0x85, 0xf1, 0x29, 0xae, 0x2e, 0x30, 0x85, 0xee,
+	0xf1, 0xa7, 0xad, 0xd3, 0x5e, 0xb7, 0x5a, 0x40, 0x4b, 0x50, 0x6e, 0xee, 0xb5, 0x9b, 0xad, 0x93,
+	0x93, 0xd6, 0x41, 0xb5, 0x68, 0x74, 0x61, 0x55, 0x86, 0x2c, 0xc9, 0xea, 0x53, 0x42, 0x2d, 0xdb,
+	0xa2, 0x16, 0xda, 0x81, 0x05, 0x7e, 0x2a, 0xde, 0x02, 0x2a, 0x5b, 0x6f, 0x66, 0x39, 0x38, 0x16,
+	0x10, 0xe3, 0x77, 0x79, 0xa8, 0x4e, 0xdf, 0x03, 0xb2, 0xe1, 0x56, 0x44, 0xe2, 0xc0, 0x1b, 0x11,
+	0xd6, 0x89, 0xae, 0x70, 0x49, 0x7e, 0x76, 0x2e, 0xc1, 0xaf, 0x29, 0x63, 0x57, 0xb9, 0xfb, 0xbb,
+	0x70, 0x73, 0xec, 0x25, 0x49, 0x2d, 0x85, 0x19, 0xa9, 0x05, 0x23, 0x65, 0x26, 0xc1, 0xdc, 0xdf,
+	0x67, 0x2f, 0xc8, 0x23, 0xe6, 0x85, 0x15, 0x5f, 0x90, 0x58, 0x9f, 0xe7, 0x1d, 0xe4, 0xe3, 0x19,
+	0x0b, 0xb2, 0xfe, 0xc8, 0xf5, 0xc8, 0x11, 0xb7, 0xd0, 0xf2, 0x69, 0x74, 0xc9, 0x9e, 0x99, 0x12,
+	0xd4, 0x2e, 0x60, 0x65, 0x6a, 0x9b, 0x31, 0xc9, 0x53, 0x72, 0x29, 0x3b, 0x31, 0xfb, 0x44, 0x1f,
+	0xc3, 0xc2, 0xc8, 0xf2, 0x86, 0x8a, 0x83, 0xd3, 0x0e, 0x35, 0x31, 0x88, 0x05, 0x6e, 0x27, 0xb7,
+	0xad, 0x19, 0x6d, 0x80, 0xc9, 0x06, 0xda, 0x85, 0xf2, 0xf8, 0x64, 0xba, 0xc6, 0xcf, 0x75, 0x2f,
+	0xc5, 0x2c, 0x43, 0xe2, 0x92, 0x8a, 0xdd, 0xf8, 0x89, 0x06, 0xf3, 0xec, 0x03, 0xed, 0xc2, 0x3c,
+	0xbd, 0x0c, 0x05, 0x67, 0x2e, 0xa7, 0x5e, 0x2a, 0x83, 0xf0, 0x3f, 0xdd, 0xcb, 0x90, 0x60, 0x8e,
+	0x44, 0x37, 0x93, 0xe7, 0x5b, 0x94, 0x41, 0x1b, 0xeb, 0x50, 0x52, 0x7a, 0xa8, 0x04, 0xf3, 0xed,
+	0xd3, 0x76, 0x4b, 0xbc, 0x91, 0xce, 0xd1, 0xde, 0xd6, 0xfb, 0x5f, 0xaf, 0x6a, 0x46, 0x00, 0xa8,
+	0xc9, 0x3b, 0xa5, 0x28, 0x46, 0xf2, 0xc3, 0x21, 0x89, 0x69, 0xda, 0xb8, 0x35, 0xae, 0xf3, 0xdc,
+	0xec, 0x75, 0xbe, 0x0b, 0x2b, 0x87, 0x84, 0xce, 0xe2, 0x4d, 0xb0, 0x6a, 0x4e, 0xb1, 0xaa, 0xf1,
+	0x33, 0x0d, 0x6e, 0x9c, 0xb8, 0xb1, 0xb0, 0x11, 0x67, 0x34, 0x72, 0x1b, 0xca, 0x21, 0x7f, 0x3d,
+	0xee, 0x33, 0x91, 0xa3, 0x05, 0x5c, 0x62, 0x82, 0x8e, 0xfb, 0x4c, 0x4c, 0x97, 0x6c, 0x93, 0x06,
+	0x4f, 0x89, 0x2f, 0x87, 0x1b, 0xae, 0xde, 0x65, 0x02, 0xd6, 0x92, 0xcf, 0x5d, 0x8f, 0x92, 0x88,
+	0xf7, 0xff, 0x32, 0x96, 0x2b, 0xe3, 0x19, 0xa0, 0x64, 0x1c, 0x71, 0x18, 0xf8, 0x31, 0x41, 0x1f,
+	0xb1, 0x49, 0x98, 0x49, 0x64, 0x4d, 0x64, 0xcb, 0x8e, 0xc4, 0xa0, 0xb7, 0x61, 0xc5, 0x27, 0x9f,
+	0x53, 0x33, 0x11, 0x8f, 0x38, 0xf9, 0x12, 0x13, 0x3f, 0x56, 0x31, 0x19, 0x4d, 0x40, 0x4d, 0xf6,
+	0x32, 0xbc, 0x57, 0xc9, 0xe4, 0xdf, 0x73, 0xb0, 0xb8, 0x9f, 0xe8, 0xde, 0xd7, 0x06, 0x98, 0x75,
+	0xa8, 0xd8, 0x24, 0xee, 0x47, 0x2e, 0x6f, 0xca, 0x9c, 0xbc, 0xcb, 0x38, 0x29, 0x42, 0x5d, 0xa8,
+	0x2a, 0x46, 0xa0, 0x64, 0x10, 0x7a, 0x16, 0x55, 0x0c, 0x3b, 0x43, 0xdf, 0x58, 0x91, 0x26, 0xba,
+	0xd2, 0x02, 0xfa, 0x48, 0x15, 0xd8, 0x7c, 0xf6, 0x02, 0x3b, 0x9a, 0x93, 0x25, 0x86, 0x5e, 0x07,
+	0xfe, 0xc4, 0xf8, 0x14, 0x5a, 0x92, 0xe3, 0xfa, 0x58, 0x32, 0x3d, 0x4a, 0x2c, 0xcc, 0x34, 0x4a,
+	0xd4, 0xa0, 0x64, 0xbb, 0xb1, 0x75, 0xe6, 0x11, 0x5b, 0x2f, 0xaf, 0x6b, 0x1b, 0x25, 0x3c, 0x5e,
+	0xef, 0x57, 0x61, 0x59, 0x52, 0xa4, 0x3c, 0x86, 0xf1, 0x53, 0x0d, 0xd6, 0x12, 0xaf, 0x4b, 0x66,
+	0x39, 0xe3, 0x65, 0xb5, 0xa0, 0x28, 0xd3, 0x22, 0x9f, 0x59, 0x26, 0x1e, 0x55, 0x3e, 0x14, 0xd6,
+	0x78, 0x02, 0xab, 0xea, 0xbd, 0xcd, 0xe6, 0xff, 0x0e, 0x40, 0x82, 0xeb, 0x45, 0xd1, 0x94, 0xa9,
+	0xa2, 0x79, 0xe3, 0x43, 0xd0, 0xc7, 0xc5, 0x2f, 0x0d, 0x67, 0x7c, 0x8b, 0x86, 0x0d, 0x6b, 0x5f,
+	0x02, 0x95, 0xcf, 0xe7, 0x10, 0x4a, 0xd2, 0x89, 0x7a, 0x40, 0x33, 0x9d, 0x7b, 0x0c, 0x36, 0xbe,
+	0x0d, 0x6b, 0x07, 0xc4, 0x23, 0xff, 0x55, 0xee, 0x53, 0xce, 0xfe, 0x5b, 0x0d, 0xd6, 0x7a, 0xa1,
+	0x6d, 0xfd, 0x0f, 0x6c, 0x27, 0xaf, 0x3d, 0xff, 0x0a, 0xd7, 0xfe, 0x2b, 0xf5, 0xb4, 0xe5, 0x60,
+	0x85, 0xce, 0x60, 0xf5, 0xda, 0x78, 0x38, 0xa1, 0xae, 0x59, 0x49, 0xe7, 0xe6, 0xf4, 0x80, 0xc8,
+	0x69, 0x2c, 0x64, 0xe3, 0x0a, 0x4f, 0x02, 0xb1, 0xcd, 0x11, 0x89, 0xdc, 0xf3, 0x4b, 0x53, 0xcc,
+	0x73, 0xf2, 0x3f, 0x9c, 0xed, 0x19, 0x46, 0xc1, 0xfa, 0x13, 0x6e, 0x40, 0xac, 0xd8, 0xe8, 0x22,
+	0x0d, 0x27, 0xc5, 0x46, 0x1d, 0x16, 0x93, 0x6b, 0x54, 0x85, 0xc5, 0xf6, 0x69, 0xd7, 0x7c, 0xd2,
+	0xc2, 0xc7, 0x8f, 0x8e, 0x5b, 0x07, 0xd5, 0x39, 0xb4, 0x08, 0xa5, 0xf1, 0x4a, 0xdb, 0xfa, 0x67,
+	0x05, 0xa0, 0xc9, 0x5c, 0x8a, 0x7f, 0xd8, 0x7e, 0xa1, 0x41, 0x25, 0xf1, 0x40, 0xd1, 0x66, 0x4a,
+	0x7c, 0xd7, 0xa9, 0xb2, 0x76, 0x47, 0x41, 0x12, 0xbf, 0xc6, 0xd4, 0xc7, 0xa3, 0xa1, 0xd1, 0xf8,
+	0xe2, 0x6f, 0xff, 0xf8, 0x65, 0xee, 0x1d, 0x63, 0xbd, 0x31, 0xda, 0x6c, 0xc8, 0x22, 0x88, 0x1b,
+	0xcf, 0x27, 0x05, 0xf2, 0xa2, 0x21, 0x3a, 0xff, 0x8e, 0x6c, 0x5e, 0x3f, 0xd7, 0xa0, 0xa4, 0x1e,
+	0x2c, 0xaa, 0xa7, 0xc4, 0x33, 0xc5, 0xa4, 0xb5, 0x4c, 0x8d, 0xd2, 0x78, 0x8f, 0xc7, 0xf4, 0x15,
+	0xf4, 0x56, 0x5a, 0x4c, 0x8d, 0xe7, 0xae, 0xfd, 0x02, 0xfd, 0x5a, 0x03, 0x98, 0xf0, 0x1c, 0xfa,
+	0x5a, 0x8a, 0x8f, 0x6b, 0xd4, 0x5c, 0xdb, 0x9c, 0x01, 0x21, 0xba, 0x80, 0xb1, 0xc1, 0x43, 0x34,
+	0x50, 0x6a, 0xda, 0xd0, 0x6f, 0xd8, 0x15, 0x4e, 0x98, 0x30, 0xfd, 0x0a, 0xaf, 0xb1, 0x66, 0xc6,
+	0xac, 0x7d, 0xc0, 0x43, 0xda, 0x34, 0xde, 0xcd, 0x94, 0xb5, 0x9d, 0x3e, 0xf7, 0xb3, 0xa3, 0xdd,
+	0x47, 0x7f, 0xd4, 0xae, 0xcc, 0x58, 0x8a, 0x6b, 0xb7, 0xb3, 0xd7, 0xda, 0xd5, 0x06, 0x53, 0x9b,
+	0xa5, 0x23, 0x18, 0x0f, 0x78, 0xd8, 0xef, 0x19, 0xc6, 0xcb, 0xc3, 0x56, 0x2d, 0x73, 0x47, 0x75,
+	0x0f, 0xf4, 0x07, 0x6d, 0x32, 0xa5, 0xa9, 0x78, 0xdf, 0xcf, 0x58, 0x8b, 0xaf, 0x12, 0xac, 0xcc,
+	0x31, 0x6a, 0xa4, 0x07, 0xdb, 0x78, 0x3e, 0xe9, 0xa2, 0x2f, 0xd0, 0x9f, 0x92, 0x33, 0xa1, 0xe2,
+	0x14, 0xf4, 0x41, 0xd6, 0xc2, 0x9b, 0x22, 0xb0, 0xda, 0xf6, 0xec, 0x40, 0x59, 0xb8, 0xf7, 0xf9,
+	0x09, 0xde, 0x44, 0x19, 0xd2, 0xcd, 0x4a, 0x17, 0x5d, 0xa7, 0xa8, 0xd4, 0xc2, 0x78, 0x29, 0xab,
+	0xd5, 0x56, 0xaf, 0x4d, 0x31, 0xad, 0x41, 0x48, 0x2f, 0x55, 0x5a, 0xef, 0xcf, 0x9c, 0xd6, 0xbf,
+	0x6a, 0x80, 0xae, 0x13, 0x5d, 0x6a, 0x84, 0x2f, 0xe5, 0xc6, 0xd9, 0xaa, 0x61, 0x97, 0x87, 0xbd,
+	0xb3, 0x35, 0x6b, 0xd8, 0xe3, 0x3a, 0xde, 0x7f, 0x0a, 0x7a, 0x3f, 0x18, 0x28, 0x9f, 0x57, 0x5c,
+	0x3d, 0xd6, 0xbe, 0x73, 0x28, 0xe5, 0x4e, 0xe0, 0x59, 0xbe, 0x53, 0x0f, 0x22, 0xa7, 0xe1, 0x10,
+	0x9f, 0xe7, 0xae, 0x21, 0xb6, 0xac, 0xd0, 0x8d, 0x5f, 0xf2, 0x9b, 0xfe, 0xc3, 0xc9, 0xea, 0xf7,
+	0xb9, 0xfc, 0x61, 0x73, 0xff, 0xac, 0xc0, 0x91, 0x0f, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x04,
+	0x50, 0xf5, 0x20, 0x0c, 0x18, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/cloudbuild/v1/cloudbuild.proto b/googleapis/devtools/cloudbuild/v1/cloudbuild.proto
deleted file mode 100644
index 6d8f758aed522168480aacb5ec3a9b85e395abde..0000000000000000000000000000000000000000
--- a/googleapis/devtools/cloudbuild/v1/cloudbuild.proto
+++ /dev/null
@@ -1,521 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.devtools.cloudbuild.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/devtools/source/v1/source_context.proto"; // from google/devtools/source/v1/source_context.proto
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_package = "com.google.cloudbuild.v1";
-option objc_class_prefix = "GCB";
-
-
-// Manages container image build requests in the cloud.
-//
-// The main concept used by this API is a Build, which describes the location of
-// the source to build, how to build the source into a container image, and what
-// tag to apply to the built image when it is pushed to Google Container
-// Registry.
-//
-// A user can list previously-requested builds or get builds by their ID to
-// determine the status of the build.
-service CloudBuild {
-  // Starts a build with the specified configuration.
-  //
-  // The long-running Operation returned by this method will include the ID of
-  // the build, which can be passed to GetBuild to determine its status (e.g.,
-  // success or failure).
-  rpc CreateBuild(CreateBuildRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}/builds" body: "build" };
-  }
-
-  // Returns information about a previously requested build.
-  //
-  // The Build that is returned includes its status (e.g., success or failure,
-  // or in-progress), and timing information.
-  rpc GetBuild(GetBuildRequest) returns (Build) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/builds/{id}" };
-  }
-
-  // Lists previously requested builds.
-  //
-  // Previously requested builds may still be in-progress, or may have finished
-  // successfully or unsuccessfully.
-  rpc ListBuilds(ListBuildsRequest) returns (ListBuildsResponse) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/builds" };
-  }
-
-  // Cancels a requested build in progress.
-  rpc CancelBuild(CancelBuildRequest) returns (Build) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}/builds/{id}:cancel" body: "*" };
-  }
-
-  // Creates a new BuildTrigger.
-  //
-  // This API is experimental.
-  rpc CreateBuildTrigger(CreateBuildTriggerRequest) returns (BuildTrigger) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}/triggers" body: "trigger" };
-  }
-
-  // Gets information about a BuildTrigger.
-  //
-  // This API is experimental.
-  rpc GetBuildTrigger(GetBuildTriggerRequest) returns (BuildTrigger) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/triggers/{trigger_id}" };
-  }
-
-  // Lists existing BuildTrigger.
-  //
-  // This API is experimental.
-  rpc ListBuildTriggers(ListBuildTriggersRequest) returns (ListBuildTriggersResponse) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/triggers" };
-  }
-
-  // Deletes an BuildTrigger by its project ID and trigger ID.
-  //
-  // This API is experimental.
-  rpc DeleteBuildTrigger(DeleteBuildTriggerRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/projects/{project_id}/triggers/{trigger_id}" };
-  }
-
-  // Updates an BuildTrigger by its project ID and trigger ID.
-  //
-  // This API is experimental.
-  rpc UpdateBuildTrigger(UpdateBuildTriggerRequest) returns (BuildTrigger) {
-    option (google.api.http) = { patch: "/v1/projects/{project_id}/triggers/{trigger_id}" body: "trigger" };
-  }
-}
-
-// StorageSource describes the location of the source in an archive file in
-// Google Cloud Storage.
-message StorageSource {
-  // Google Cloud Storage bucket containing source (see
-  // [Bucket Name
-  // Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-  string bucket = 1;
-
-  // Google Cloud Storage object containing source.
-  //
-  // This object must be a gzipped archive file (.tar.gz) containing source to
-  // build.
-  string object = 2;
-
-  // Google Cloud Storage generation for the object. If the generation is
-  // omitted, the latest generation will be used.
-  int64 generation = 3;
-}
-
-// RepoSource describes the location of the source in a Google Cloud Source
-// Repository.
-message RepoSource {
-  // ID of the project that owns the repo. If omitted, the project ID requesting
-  // the build is assumed.
-  string project_id = 1;
-
-  // Name of the repo. If omitted, the name "default" is assumed.
-  string repo_name = 2;
-
-  // A revision within the source repository must be specified in
-  // one of these ways.
-  oneof revision {
-    // Name of the branch to build.
-    string branch_name = 3;
-
-    // Name of the tag to build.
-    string tag_name = 4;
-
-    // Explicit commit SHA to build.
-    string commit_sha = 5;
-  }
-}
-
-// Source describes the location of the source in a supported storage
-// service.
-message Source {
-  // Describes location of source.
-  oneof source {
-    // If provided, get the source from this location in in Google Cloud
-    // Storage.
-    StorageSource storage_source = 2;
-
-    // If provided, get source from this location in a Cloud Repo.
-    RepoSource repo_source = 3;
-  }
-}
-
-// BuiltImage describes an image built by the pipeline.
-message BuiltImage {
-  // Name used to push the container image to Google Container Registry, as
-  // presented to `docker push`.
-  string name = 1;
-
-  // Docker Registry 2.0 digest.
-  string digest = 3;
-}
-
-// BuildStep describes a step to perform in the build pipeline.
-message BuildStep {
-  // Name of the container image to use for creating this stage in the
-  // pipeline, as presented to `docker pull`.
-  string name = 1;
-
-  // Additional environment variables to set for this step's container.
-  repeated string env = 2;
-
-  // Command-line arguments to use when running this step's container.
-  repeated string args = 3;
-
-  // Working directory (relative to project source root) to use when running
-  // this operation's container.
-  string dir = 4;
-
-  // Optional unique identifier for this build step, used in wait_for to
-  // reference this build step as a dependency.
-  string id = 5;
-
-  // The ID(s) of the step(s) that this build step depends on.
-  // This build step will not start until all the build steps in wait_for
-  // have completed successfully. If wait_for is empty, this build step will
-  // start when all previous build steps in the Build.Steps list have completed
-  // successfully.
-  repeated string wait_for = 6;
-}
-
-// Results describes the artifacts created by the build pipeline.
-message Results {
-  // Images that were built as a part of the build.
-  repeated BuiltImage images = 2;
-
-  // List of build step digests, in order corresponding to build step indices.
-  repeated string build_step_images = 3;
-}
-
-// A build resource in the Container Builder API.
-//
-// At a high level, a Build describes where to find source code, how to build
-// it (for example, the builder image to run on the source), and what tag to
-// apply to the built image when it is pushed to Google Container Registry.
-message Build {
-  // Possible status of a build.
-  enum Status {
-    // Status of the build is unknown.
-    STATUS_UNKNOWN = 0;
-
-    // Build has been received and is being queued.
-    QUEUING = 8;
-
-    // Build is queued; work has not yet begun.
-    QUEUED = 1;
-
-    // Build is being executed.
-    WORKING = 2;
-
-    // Build finished successfully.
-    SUCCESS = 3;
-
-    // Build failed to complete successfully.
-    FAILURE = 4;
-
-    // Build failed due to an internal cause.
-    INTERNAL_ERROR = 5;
-
-    // Build took longer than was allowed.
-    TIMEOUT = 6;
-
-    // Build was canceled by a user.
-    CANCELLED = 7;
-  }
-
-  // Unique identifier of the build.
-  // @OutputOnly
-  string id = 1;
-
-  // ID of the project.
-  // @OutputOnly.
-  string project_id = 16;
-
-  // Status of the build.
-  // @OutputOnly
-  Status status = 2;
-
-  // Customer-readable message about the current status.
-  // @OutputOnly
-  string status_detail = 24;
-
-  // Describes where to find the source files to build.
-  Source source = 3;
-
-  // Describes the operations to be performed on the workspace.
-  repeated BuildStep steps = 11;
-
-  // Results of the build.
-  // @OutputOnly
-  Results results = 10;
-
-  // Time at which the build was created.
-  // @OutputOnly
-  google.protobuf.Timestamp create_time = 6;
-
-  // Time at which execution of the build was started.
-  // @OutputOnly
-  google.protobuf.Timestamp start_time = 7;
-
-  // Time at which execution of the build was finished.
-  // @OutputOnly
-  google.protobuf.Timestamp finish_time = 8;
-
-  // Amount of time that this build should be allowed to run, to second
-  // granularity. If this amount of time elapses, work on the build will cease
-  // and the build status will be TIMEOUT.
-  //
-  // Default time is ten minutes.
-  google.protobuf.Duration timeout = 12;
-
-  // List of images expected to be built and pushed to Google Container
-  // Registry. If an image is listed here and the image is not produced by
-  // one of the build steps, the build will fail. Any images present when
-  // the build steps are complete will be pushed to Container Registry.
-  repeated string images = 13;
-
-  // Google Cloud Storage bucket where logs should be written (see
-  // [Bucket Name
-  // Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-  // Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
-  string logs_bucket = 19;
-
-  // A permanent fixed identifier for source.
-  // @OutputOnly
-  SourceProvenance source_provenance = 21;
-
-  // Special options for this build.
-  BuildOptions options = 23;
-
-  // URL to logs for this build in Google Cloud Logging.
-  // @OutputOnly
-  string log_url = 25;
-}
-
-// Metadata for build operations.
-message BuildOperationMetadata {
-  // The build that the operation is tracking.
-  Build build = 1;
-}
-
-// Provenance of the source. Ways to find the original source, or verify that
-// some source was used for this build.
-message SourceProvenance {
-  // A copy of the build's source.storage_source, if exists, with any
-  // generations resolved.
-  StorageSource resolved_storage_source = 3;
-
-  // A copy of the build's source.repo_source, if exists, with any
-  // revisions resolved.
-  RepoSource resolved_repo_source = 6;
-
-  // Hash(es) of the build source, which can be used to verify that the original
-  // source integrity was maintained in the build. Note that FileHashes will
-  // only be populated if BuildOptions has requested a SourceProvenanceHash.
-  //
-  // The keys to this map are file paths used as build source and the values
-  // contain the hash values for those files.
-  //
-  // If the build source came in a single package such as a gzipped tarfile
-  // (.tar.gz), the FileHash will be for the single path to that file.
-  // @OutputOnly
-  map<string, FileHashes> file_hashes = 4;
-}
-
-// Container message for hashes of byte content of files, used in
-// SourceProvenance messages to verify integrity of source input to the build.
-message FileHashes {
-  // Collection of file hashes.
-  repeated Hash file_hash = 1;
-}
-
-// Container message for hash values.
-message Hash {
-  // Specifies the hash algorithm, if any.
-  enum HashType {
-    // No hash requested.
-    NONE = 0;
-
-    // Use a sha256 hash.
-    SHA256 = 1;
-  }
-
-  // The type of hash that was performed.
-  HashType type = 1;
-
-  // The hash value.
-  bytes value = 2;
-}
-
-// Request to create a new build.
-message CreateBuildRequest {
-  // ID of the project.
-  string project_id = 1;
-
-  // Build resource to create.
-  Build build = 2;
-}
-
-// Request to get a build.
-message GetBuildRequest {
-  // ID of the project.
-  string project_id = 1;
-
-  // ID of the build.
-  string id = 2;
-}
-
-// Request to list builds.
-message ListBuildsRequest {
-  // ID of the project.
-  string project_id = 1;
-
-  // Number of results to return in the list.
-  int32 page_size = 2;
-
-  // Token to provide to skip to a particular spot in the list.
-  string page_token = 3;
-}
-
-// Response including listed builds.
-message ListBuildsResponse {
-  // Builds will be sorted by create_time, descending.
-  repeated Build builds = 1;
-
-  // Token to receive the next page of results.
-  string next_page_token = 2;
-}
-
-// Request to cancel an ongoing build.
-message CancelBuildRequest {
-  // ID of the project.
-  string project_id = 1;
-
-  // ID of the build.
-  string id = 2;
-}
-
-// Configuration for an automated build in response to source repository
-// changes.
-message BuildTrigger {
-  // Unique identifier of the trigger.
-  //
-  // @OutputOnly
-  string id = 1;
-
-  // Template describing the types of source changes to trigger a build.
-  //
-  // Branch and tag names in trigger templates are interpreted as regular
-  // expressions. Any branch or tag change that matches that regular expression
-  // will trigger a build.
-  RepoSource trigger_template = 7;
-
-  // Template describing the Build request to make when the trigger is matched.
-  //
-  // Fields can include the following variables which will be expanded when the
-  // build is created:
-  // - $PROJECT_ID: the project ID that owns the repo.
-  // - $REPO_NAME: the name of the repo.
-  // - $BRANCH_NAME: the branch name that triggered the build.
-  // - $TAG_NAME: the tag name that triggered the build.
-  // - $REVISION_ID: the commit SHA of the revision that triggered the build.
-  oneof build_template {
-    // Contents of the build template.
-    Build build = 4;
-  }
-
-  // Time when the trigger was created.
-  //
-  // @OutputOnly
-  google.protobuf.Timestamp create_time = 5;
-}
-
-// Request to create a new BuildTrigger.
-message CreateBuildTriggerRequest {
-  // ID of the project for which to configure automatic builds.
-  string project_id = 1;
-
-  // BuildTrigger to create.
-  BuildTrigger trigger = 2;
-}
-
-// Returns the BuildTrigger with the specified ID.
-message GetBuildTriggerRequest {
-  // ID of the project that owns the trigger.
-  string project_id = 1;
-
-  // ID of the BuildTrigger to get.
-  string trigger_id = 2;
-}
-
-// Request to list existing BuildTriggers.
-message ListBuildTriggersRequest {
-  // ID of the project for which to list BuildTriggers.
-  string project_id = 1;
-}
-
-// Response containing existing BuildTriggers.
-message ListBuildTriggersResponse {
-  // BuildTriggers for the project, sorted by create_time descending.
-  repeated BuildTrigger triggers = 1;
-}
-
-// Request to delete a BuildTrigger.
-message DeleteBuildTriggerRequest {
-  // ID of the project that owns the trigger.
-  string project_id = 1;
-
-  // ID of the BuildTrigger to delete.
-  string trigger_id = 2;
-}
-
-// Request to update an existing BuildTrigger.
-message UpdateBuildTriggerRequest {
-  // ID of the project that owns the trigger.
-  string project_id = 1;
-
-  // ID of the BuildTrigger to update.
-  string trigger_id = 2;
-
-  // BuildTrigger to update.
-  BuildTrigger trigger = 3;
-}
-
-// Optional arguments to enable specific features of builds.
-message BuildOptions {
-  // Specifies the manner in which the build should be verified, if at all.
-  enum VerifyOption {
-    // Not a verifiable build. (default)
-    NOT_VERIFIED = 0;
-
-    // Verified build.
-    VERIFIED = 1;
-  }
-
-  // Requested hash for SourceProvenance.
-  repeated Hash.HashType source_provenance_hash = 1;
-
-  // Options for a verifiable build with details uploaded to the Analysis API.
-  VerifyOption requested_verify_option = 2;
-}
diff --git a/googleapis/devtools/clouddebugger/v2/controller.pb.go b/googleapis/devtools/clouddebugger/v2/controller.pb.go
index 018243cb92bb9524d414b93f720fc8360d99d5a4..7773d6ec0639ee41cb360f1bf03385ec999c0cf8 100644
--- a/googleapis/devtools/clouddebugger/v2/controller.pb.go
+++ b/googleapis/devtools/clouddebugger/v2/controller.pb.go
@@ -1,14 +1,14 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/controller.proto
+// source: google/devtools/clouddebugger/v2/controller.proto
 // DO NOT EDIT!
 
 /*
-Package google_devtools_clouddebugger_v2 is a generated protocol buffer package.
+Package clouddebugger is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/controller.proto
-	google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/data.proto
-	google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/debugger.proto
+	google/devtools/clouddebugger/v2/controller.proto
+	google/devtools/clouddebugger/v2/data.proto
+	google/devtools/clouddebugger/v2/debugger.proto
 
 It has these top-level messages:
 	RegisterDebuggeeRequest
@@ -34,12 +34,12 @@ It has these top-level messages:
 	ListDebuggeesRequest
 	ListDebuggeesResponse
 */
-package google_devtools_clouddebugger_v2 // import "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2"
+package clouddebugger
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import _ "github.com/golang/protobuf/ptypes/empty"
 
 import (
@@ -119,6 +119,27 @@ func (m *ListActiveBreakpointsRequest) String() string            { return proto
 func (*ListActiveBreakpointsRequest) ProtoMessage()               {}
 func (*ListActiveBreakpointsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *ListActiveBreakpointsRequest) GetDebuggeeId() string {
+	if m != nil {
+		return m.DebuggeeId
+	}
+	return ""
+}
+
+func (m *ListActiveBreakpointsRequest) GetWaitToken() string {
+	if m != nil {
+		return m.WaitToken
+	}
+	return ""
+}
+
+func (m *ListActiveBreakpointsRequest) GetSuccessOnTimeout() bool {
+	if m != nil {
+		return m.SuccessOnTimeout
+	}
+	return false
+}
+
 // Response for listing active breakpoints.
 type ListActiveBreakpointsResponse struct {
 	// List of all active breakpoints.
@@ -144,6 +165,20 @@ func (m *ListActiveBreakpointsResponse) GetBreakpoints() []*Breakpoint {
 	return nil
 }
 
+func (m *ListActiveBreakpointsResponse) GetNextWaitToken() string {
+	if m != nil {
+		return m.NextWaitToken
+	}
+	return ""
+}
+
+func (m *ListActiveBreakpointsResponse) GetWaitExpired() bool {
+	if m != nil {
+		return m.WaitExpired
+	}
+	return false
+}
+
 // Request to update an active breakpoint.
 type UpdateActiveBreakpointRequest struct {
 	// Identifies the debuggee being debugged.
@@ -158,6 +193,13 @@ func (m *UpdateActiveBreakpointRequest) String() string            { return prot
 func (*UpdateActiveBreakpointRequest) ProtoMessage()               {}
 func (*UpdateActiveBreakpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *UpdateActiveBreakpointRequest) GetDebuggeeId() string {
+	if m != nil {
+		return m.DebuggeeId
+	}
+	return ""
+}
+
 func (m *UpdateActiveBreakpointRequest) GetBreakpoint() *Breakpoint {
 	if m != nil {
 		return m.Breakpoint
@@ -383,50 +425,47 @@ var _Controller2_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/controller.proto",
+	Metadata: "google/devtools/clouddebugger/v2/controller.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/controller.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/devtools/clouddebugger/v2/controller.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 588 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0x5b, 0x6b, 0x13, 0x41,
-	0x14, 0x66, 0x5a, 0x94, 0xf6, 0xac, 0xd2, 0x32, 0xa0, 0x86, 0xc5, 0x6a, 0xba, 0x48, 0x29, 0x25,
-	0xec, 0xc0, 0xd6, 0x97, 0xe6, 0xc1, 0x4b, 0xbc, 0x51, 0xa9, 0x1a, 0x42, 0xc5, 0xc7, 0xb0, 0x97,
-	0xd3, 0x71, 0xe8, 0x66, 0x66, 0xdd, 0x99, 0x8d, 0x2d, 0xa5, 0x2f, 0xbe, 0x2a, 0xbe, 0xf8, 0x63,
-	0x04, 0xff, 0x86, 0xfe, 0x04, 0x9f, 0xfc, 0x15, 0x92, 0xdd, 0xcd, 0xa5, 0x97, 0x34, 0x69, 0xf4,
-	0x25, 0x90, 0xef, 0xcc, 0xf7, 0x9d, 0xef, 0x3b, 0x7b, 0x66, 0xa0, 0xc9, 0x95, 0xe2, 0x31, 0xba,
-	0x5c, 0xc5, 0xbe, 0xe4, 0xae, 0x4a, 0x39, 0xe3, 0x28, 0x93, 0x54, 0x19, 0xc5, 0x8a, 0x92, 0x9f,
-	0x08, 0xcd, 0x22, 0xec, 0x1a, 0xa5, 0x62, 0xcd, 0xc2, 0x58, 0x65, 0x51, 0x84, 0x41, 0xc6, 0x39,
-	0xa6, 0xac, 0xeb, 0xb1, 0x50, 0x49, 0x93, 0xaa, 0x38, 0xc6, 0xd4, 0xcd, 0x59, 0xb4, 0x5a, 0x2a,
-	0xf6, 0x29, 0xee, 0x09, 0x8a, 0xdb, 0xf5, 0xec, 0xed, 0xe9, 0x7a, 0xfa, 0x89, 0x60, 0x1a, 0xd3,
-	0xae, 0x08, 0x31, 0x54, 0x72, 0x4f, 0x70, 0xe6, 0x4b, 0xa9, 0x8c, 0x6f, 0x84, 0x92, 0xba, 0x68,
-	0x66, 0xbf, 0xfc, 0x57, 0xfb, 0x91, 0x6f, 0xfc, 0x52, 0x6b, 0x93, 0x0b, 0xf3, 0x3e, 0x0b, 0xdc,
-	0x50, 0x75, 0x58, 0xa1, 0xc7, 0xf2, 0x42, 0x90, 0xed, 0xb1, 0xc4, 0x1c, 0x26, 0xa8, 0x19, 0x76,
-	0x12, 0x73, 0x58, 0xfc, 0x16, 0x24, 0xc7, 0x87, 0x5b, 0x2d, 0xe4, 0x42, 0x1b, 0x4c, 0x9f, 0x16,
-	0xb2, 0xd8, 0xc2, 0x0f, 0x19, 0x6a, 0x43, 0x9f, 0xc3, 0x42, 0xd9, 0x09, 0x2b, 0xa4, 0x4a, 0xd6,
-	0x2d, 0x6f, 0xc3, 0x9d, 0x34, 0x1b, 0x77, 0x20, 0x32, 0xe0, 0x3a, 0x01, 0x54, 0xce, 0xb6, 0xd0,
-	0x89, 0x92, 0x1a, 0xff, 0x5b, 0x8f, 0x2f, 0x04, 0x6e, 0xef, 0x08, 0x6d, 0x1e, 0x87, 0x46, 0x74,
-	0xb1, 0x91, 0xa2, 0xbf, 0x9f, 0x28, 0x21, 0x8d, 0xee, 0x87, 0xb9, 0x0b, 0x56, 0xff, 0x70, 0x5b,
-	0x44, 0x79, 0xaf, 0xc5, 0x16, 0xf4, 0xa1, 0xed, 0x88, 0xae, 0x00, 0x7c, 0xf4, 0x85, 0x69, 0x1b,
-	0xb5, 0x8f, 0xb2, 0x32, 0x97, 0xd7, 0x17, 0x7b, 0xc8, 0x6e, 0x0f, 0xa0, 0x35, 0xa0, 0x3a, 0x0b,
-	0x43, 0xd4, 0xba, 0xad, 0x64, 0xdb, 0x88, 0x0e, 0xaa, 0xcc, 0x54, 0xe6, 0xab, 0x64, 0x7d, 0xa1,
-	0xb5, 0x5c, 0x56, 0xde, 0xc8, 0xdd, 0x02, 0x77, 0x7e, 0x10, 0x58, 0x19, 0x63, 0xa7, 0x0c, 0xfe,
-	0x1a, 0xac, 0x60, 0x08, 0x57, 0x48, 0x75, 0x7e, 0xdd, 0xf2, 0x6a, 0x93, 0xb3, 0x0f, 0xb5, 0x5a,
-	0xa3, 0x02, 0x74, 0x0d, 0x96, 0x24, 0x1e, 0x98, 0xf6, 0x99, 0x0c, 0xd7, 0x7b, 0xf0, 0xbb, 0x41,
-	0x8e, 0x55, 0xb8, 0x96, 0x1f, 0xc1, 0x83, 0x44, 0xa4, 0x18, 0x95, 0x09, 0xac, 0x1e, 0xf6, 0xac,
-	0x80, 0x9c, 0xaf, 0x04, 0x56, 0xde, 0x26, 0x91, 0x6f, 0xf0, 0xb4, 0xfd, 0xa9, 0x87, 0xb9, 0x03,
-	0x30, 0x34, 0x97, 0x1b, 0xb9, 0x6c, 0xb8, 0x11, 0xbe, 0x53, 0x85, 0x3b, 0xe3, 0xfc, 0x14, 0xd3,
-	0xf4, 0x3e, 0x5f, 0x01, 0xeb, 0xc9, 0xe0, 0x22, 0x7b, 0xf4, 0x3b, 0x81, 0xe5, 0xd3, 0x3b, 0x47,
-	0xb7, 0x26, 0x1b, 0x18, 0x73, 0x15, 0xec, 0xfa, 0x2c, 0xd4, 0xc2, 0x9b, 0x53, 0xfb, 0xf4, 0xf3,
-	0xf7, 0xb7, 0xb9, 0x35, 0x67, 0xf5, 0xe4, 0x6b, 0xc3, 0xfa, 0xe3, 0xd2, 0x2c, 0x2d, 0xa9, 0x75,
-	0xb2, 0x41, 0x7f, 0x11, 0xb8, 0x71, 0xee, 0xe6, 0xd0, 0x07, 0x93, 0x3d, 0x5c, 0x74, 0x03, 0xec,
-	0x87, 0x33, 0xf3, 0xcb, 0x20, 0xf5, 0x3c, 0xc8, 0x7d, 0xea, 0x8d, 0x0d, 0x72, 0x34, 0xb2, 0x15,
-	0xc7, 0x6c, 0x74, 0x3d, 0xff, 0x10, 0xb8, 0x79, 0xfe, 0x37, 0xa4, 0x53, 0xf8, 0xba, 0x70, 0x1b,
-	0xed, 0x47, 0xb3, 0x0b, 0x94, 0xc9, 0x5e, 0xe5, 0xc9, 0x5e, 0xd8, 0x8d, 0xcb, 0x27, 0x63, 0x47,
-	0xc3, 0x3f, 0xae, 0x88, 0x8e, 0xeb, 0x64, 0xa3, 0xb1, 0x05, 0xf7, 0x42, 0xd5, 0x99, 0xe8, 0xaa,
-	0xb1, 0x34, 0x5c, 0xd9, 0x66, 0xef, 0x31, 0x6e, 0x92, 0xe0, 0x6a, 0xfe, 0x2a, 0x6f, 0xfe, 0x0d,
-	0x00, 0x00, 0xff, 0xff, 0x89, 0xdc, 0x57, 0xe9, 0xd7, 0x06, 0x00, 0x00,
+	// 572 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0xdd, 0x6a, 0xd4, 0x40,
+	0x14, 0x66, 0x5a, 0x94, 0xf6, 0x44, 0x69, 0x19, 0x50, 0x97, 0xd8, 0xea, 0x36, 0x48, 0x29, 0xeb,
+	0x92, 0xc1, 0xe8, 0x8d, 0x2b, 0xf8, 0xb3, 0xfe, 0x21, 0xb4, 0x5a, 0x96, 0x8a, 0xe0, 0xcd, 0x92,
+	0x4d, 0x8e, 0x61, 0x68, 0x76, 0x26, 0x66, 0x26, 0x6b, 0xa5, 0xf4, 0xc6, 0x2b, 0x41, 0xf1, 0xc6,
+	0x87, 0x11, 0x7c, 0x0d, 0x7d, 0x04, 0xaf, 0x7c, 0x0a, 0xd9, 0x64, 0xf6, 0xaf, 0xed, 0x36, 0xed,
+	0xe2, 0x65, 0xbe, 0x73, 0xbe, 0x73, 0xbe, 0x6f, 0x72, 0xce, 0x81, 0x5b, 0x91, 0x94, 0x51, 0x8c,
+	0x2c, 0xc4, 0x9e, 0x96, 0x32, 0x56, 0x2c, 0x88, 0x65, 0x16, 0x86, 0xd8, 0xc9, 0xa2, 0x08, 0x53,
+	0xd6, 0xf3, 0x58, 0x20, 0x85, 0x4e, 0x65, 0x1c, 0x63, 0xea, 0x26, 0xa9, 0xd4, 0x92, 0x56, 0x0b,
+	0x8a, 0x3b, 0xa0, 0xb8, 0x13, 0x14, 0xb7, 0xe7, 0xd9, 0x2b, 0xa6, 0xa8, 0x9f, 0x70, 0xe6, 0x0b,
+	0x21, 0xb5, 0xaf, 0xb9, 0x14, 0xaa, 0xe0, 0xdb, 0x37, 0x4b, 0x5b, 0x86, 0xbe, 0xf6, 0x4d, 0xf2,
+	0x55, 0x93, 0x9c, 0x7f, 0x75, 0xb2, 0x77, 0x0c, 0xbb, 0x89, 0xfe, 0x58, 0x04, 0x1d, 0x1f, 0xae,
+	0xb4, 0x30, 0xe2, 0x4a, 0x63, 0xfa, 0xa4, 0xa0, 0x63, 0x0b, 0xdf, 0x67, 0xa8, 0x34, 0x7d, 0x06,
+	0x0b, 0xa6, 0x22, 0x56, 0x48, 0x95, 0x6c, 0x58, 0x5e, 0xcd, 0x2d, 0xd3, 0xed, 0x0e, 0x8b, 0x0c,
+	0xb9, 0x4e, 0x07, 0x2a, 0x47, 0x5b, 0xa8, 0x44, 0x0a, 0x85, 0xff, 0xad, 0xc7, 0x57, 0x02, 0x2b,
+	0x9b, 0x5c, 0xe9, 0x47, 0x81, 0xe6, 0x3d, 0x6c, 0xa6, 0xe8, 0xef, 0x26, 0x92, 0x0b, 0xad, 0x06,
+	0x66, 0xae, 0x83, 0x35, 0x48, 0x6e, 0xf3, 0x30, 0xef, 0xb5, 0xd8, 0x82, 0x01, 0xf4, 0x22, 0xa4,
+	0xab, 0x00, 0x1f, 0x7c, 0xae, 0xdb, 0x5a, 0xee, 0xa2, 0xa8, 0xcc, 0xe5, 0xf1, 0xc5, 0x3e, 0xb2,
+	0xd3, 0x07, 0x68, 0x1d, 0xa8, 0xca, 0x82, 0x00, 0x95, 0x6a, 0x4b, 0xd1, 0xd6, 0xbc, 0x8b, 0x32,
+	0xd3, 0x95, 0xf9, 0x2a, 0xd9, 0x58, 0x68, 0x2d, 0x9b, 0xc8, 0x2b, 0xb1, 0x53, 0xe0, 0xce, 0x4f,
+	0x02, 0xab, 0x53, 0xe4, 0x18, 0xe3, 0x2f, 0xc1, 0xea, 0x8c, 0xe0, 0x0a, 0xa9, 0xce, 0x6f, 0x58,
+	0x5e, 0xbd, 0xdc, 0xfb, 0xa8, 0x56, 0x6b, 0xbc, 0x00, 0x5d, 0x87, 0x25, 0x81, 0x7b, 0xba, 0x7d,
+	0xc4, 0xc3, 0xc5, 0x3e, 0xfc, 0x66, 0xe8, 0x63, 0x0d, 0x2e, 0xe4, 0x29, 0xb8, 0x97, 0xf0, 0x14,
+	0x43, 0xe3, 0xc0, 0xea, 0x63, 0x4f, 0x0b, 0xc8, 0xf9, 0x46, 0x60, 0xf5, 0x75, 0x12, 0xfa, 0x1a,
+	0x0f, 0xcb, 0x3f, 0xf5, 0x63, 0x6e, 0x02, 0x8c, 0xc4, 0xe5, 0x42, 0xce, 0x6a, 0x6e, 0x8c, 0xef,
+	0x54, 0xe1, 0xda, 0x34, 0x3d, 0xc5, 0x6b, 0x7a, 0x5f, 0xce, 0x81, 0xf5, 0x78, 0xb8, 0x64, 0x1e,
+	0xfd, 0x41, 0x60, 0xf9, 0xf0, 0xcc, 0xd1, 0xbb, 0xe5, 0x02, 0xa6, 0xac, 0x82, 0xdd, 0x98, 0x85,
+	0x5a, 0x68, 0x73, 0xea, 0x9f, 0x7e, 0xfd, 0xf9, 0x3e, 0xb7, 0xee, 0xac, 0x4d, 0x5e, 0x02, 0x36,
+	0x78, 0x2e, 0xc5, 0x52, 0x43, 0x6d, 0x90, 0x1a, 0xfd, 0x4d, 0xe0, 0xd2, 0xb1, 0x93, 0x43, 0xef,
+	0x97, 0x6b, 0x38, 0x69, 0x03, 0xec, 0x07, 0x33, 0xf3, 0x8d, 0x91, 0x46, 0x6e, 0xe4, 0x0e, 0xf5,
+	0xa6, 0x1a, 0xd9, 0x1f, 0x9b, 0x8a, 0x03, 0x36, 0x3e, 0x9e, 0x7f, 0x09, 0x5c, 0x3e, 0xfe, 0x1f,
+	0xd2, 0x53, 0xe8, 0x3a, 0x71, 0x1a, 0xed, 0x87, 0xb3, 0x17, 0x30, 0xce, 0xb6, 0x72, 0x67, 0xcf,
+	0xed, 0xe6, 0xd9, 0x9d, 0xb1, 0xfd, 0xd1, 0x87, 0xcb, 0xc3, 0x83, 0x06, 0xa9, 0x35, 0x3f, 0x13,
+	0xb8, 0x11, 0xc8, 0x6e, 0xa9, 0xac, 0xe6, 0xd2, 0x68, 0x66, 0xb7, 0xfb, 0xd7, 0x78, 0x9b, 0xbc,
+	0xdd, 0x32, 0xa4, 0x48, 0xc6, 0xbe, 0x88, 0x5c, 0x99, 0x46, 0x2c, 0x42, 0x91, 0xdf, 0x6a, 0x56,
+	0x84, 0xfc, 0x84, 0xab, 0xe9, 0x87, 0xff, 0xde, 0x04, 0xd0, 0x39, 0x9f, 0x33, 0x6f, 0xff, 0x0b,
+	0x00, 0x00, 0xff, 0xff, 0xe1, 0x6e, 0xc8, 0x51, 0xa4, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouddebugger/v2/controller.proto b/googleapis/devtools/clouddebugger/v2/controller.proto
deleted file mode 100644
index 5b979c8ac91402dfa953a799ad7e1844f2e27866..0000000000000000000000000000000000000000
--- a/googleapis/devtools/clouddebugger/v2/controller.proto
+++ /dev/null
@@ -1,157 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.devtools.clouddebugger.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/data.proto"; // from google/devtools/clouddebugger/v2/data.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ControllerProto";
-option java_package = "com.google.devtools.clouddebugger.v2";
-
-
-// The Controller service provides the API for orchestrating a collection of
-// debugger agents to perform debugging tasks. These agents are each attached
-// to a process of an application which may include one or more replicas.
-//
-// The debugger agents register with the Controller to identify the application
-// being debugged, the Debuggee. All agents that register with the same data,
-// represent the same Debuggee, and are assigned the same `debuggee_id`.
-//
-// The debugger agents call the Controller to retrieve  the list of active
-// Breakpoints. Agents with the same `debuggee_id` get the same breakpoints
-// list. An agent that can fulfill the breakpoint request updates the
-// Controller with the breakpoint result. The controller selects the first
-// result received and discards the rest of the results.
-// Agents that poll again for active breakpoints will no longer have
-// the completed breakpoint in the list and should remove that breakpoint from
-// their attached process.
-//
-// The Controller service does not provide a way to retrieve the results of
-// a completed breakpoint. This functionality is available using the Debugger
-// service.
-service Controller2 {
-  // Registers the debuggee with the controller service.
-  //
-  // All agents attached to the same application should call this method with
-  // the same request content to get back the same stable `debuggee_id`. Agents
-  // should call this method again whenever `google.rpc.Code.NOT_FOUND` is
-  // returned from any controller method.
-  //
-  // This allows the controller service to disable the agent or recover from any
-  // data loss. If the debuggee is disabled by the server, the response will
-  // have `is_disabled` set to `true`.
-  rpc RegisterDebuggee(RegisterDebuggeeRequest) returns (RegisterDebuggeeResponse) {
-    option (google.api.http) = { post: "/v2/controller/debuggees/register" body: "*" };
-  }
-
-  // Returns the list of all active breakpoints for the debuggee.
-  //
-  // The breakpoint specification (location, condition, and expression
-  // fields) is semantically immutable, although the field values may
-  // change. For example, an agent may update the location line number
-  // to reflect the actual line where the breakpoint was set, but this
-  // doesn't change the breakpoint semantics.
-  //
-  // This means that an agent does not need to check if a breakpoint has changed
-  // when it encounters the same breakpoint on a successive call.
-  // Moreover, an agent should remember the breakpoints that are completed
-  // until the controller removes them from the active list to avoid
-  // setting those breakpoints again.
-  rpc ListActiveBreakpoints(ListActiveBreakpointsRequest) returns (ListActiveBreakpointsResponse) {
-    option (google.api.http) = { get: "/v2/controller/debuggees/{debuggee_id}/breakpoints" };
-  }
-
-  // Updates the breakpoint state or mutable fields.
-  // The entire Breakpoint message must be sent back to the controller
-  // service.
-  //
-  // Updates to active breakpoint fields are only allowed if the new value
-  // does not change the breakpoint specification. Updates to the `location`,
-  // `condition` and `expression` fields should not alter the breakpoint
-  // semantics. These may only make changes such as canonicalizing a value
-  // or snapping the location to the correct line of code.
-  rpc UpdateActiveBreakpoint(UpdateActiveBreakpointRequest) returns (UpdateActiveBreakpointResponse) {
-    option (google.api.http) = { put: "/v2/controller/debuggees/{debuggee_id}/breakpoints/{breakpoint.id}" body: "*" };
-  }
-}
-
-// Request to register a debuggee.
-message RegisterDebuggeeRequest {
-  // Debuggee information to register.
-  // The fields `project`, `uniquifier`, `description` and `agent_version`
-  // of the debuggee must be set.
-  Debuggee debuggee = 1;
-}
-
-// Response for registering a debuggee.
-message RegisterDebuggeeResponse {
-  // Debuggee resource.
-  // The field `id` is guranteed to be set (in addition to the echoed fields).
-  Debuggee debuggee = 1;
-}
-
-// Request to list active breakpoints.
-message ListActiveBreakpointsRequest {
-  // Identifies the debuggee.
-  string debuggee_id = 1;
-
-  // A wait token that, if specified, blocks the method call until the list
-  // of active breakpoints has changed, or a server selected timeout has
-  // expired.  The value should be set from the last returned response.
-  string wait_token = 2;
-
-  // If set to `true`, returns `google.rpc.Code.OK` status and sets the
-  // `wait_expired` response field to `true` when the server-selected timeout
-  // has expired (recommended).
-  //
-  // If set to `false`, returns `google.rpc.Code.ABORTED` status when the
-  // server-selected timeout has expired (deprecated).
-  bool success_on_timeout = 3;
-}
-
-// Response for listing active breakpoints.
-message ListActiveBreakpointsResponse {
-  // List of all active breakpoints.
-  // The fields `id` and `location` are guaranteed to be set on each breakpoint.
-  repeated Breakpoint breakpoints = 1;
-
-  // A wait token that can be used in the next method call to block until
-  // the list of breakpoints changes.
-  string next_wait_token = 2;
-
-  // The `wait_expired` field is set to true by the server when the
-  // request times out and the field `success_on_timeout` is set to true.
-  bool wait_expired = 3;
-}
-
-// Request to update an active breakpoint.
-message UpdateActiveBreakpointRequest {
-  // Identifies the debuggee being debugged.
-  string debuggee_id = 1;
-
-  // Updated breakpoint information.
-  // The field 'id' must be set.
-  Breakpoint breakpoint = 2;
-}
-
-// Response for updating an active breakpoint.
-// The message is defined to allow future extensions.
-message UpdateActiveBreakpointResponse {
-
-}
diff --git a/googleapis/devtools/clouddebugger/v2/data.pb.go b/googleapis/devtools/clouddebugger/v2/data.pb.go
index 19a3c229d20f7ff40bcc0643e06a015ce4bb3759..9a51ab6e831247404bf9f2243fa663e078fc86ae 100644
--- a/googleapis/devtools/clouddebugger/v2/data.pb.go
+++ b/googleapis/devtools/clouddebugger/v2/data.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/data.proto
+// source: google/devtools/clouddebugger/v2/data.proto
 // DO NOT EDIT!
 
-package google_devtools_clouddebugger_v2 // import "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2"
+package clouddebugger
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_devtools_source_v1 "google.golang.org/genproto/googleapis/devtools/source/v1"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/timestamp"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/wrappers"
@@ -134,6 +134,20 @@ func (m *FormatMessage) String() string            { return proto.CompactTextStr
 func (*FormatMessage) ProtoMessage()               {}
 func (*FormatMessage) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *FormatMessage) GetFormat() string {
+	if m != nil {
+		return m.Format
+	}
+	return ""
+}
+
+func (m *FormatMessage) GetParameters() []string {
+	if m != nil {
+		return m.Parameters
+	}
+	return nil
+}
+
 // Represents a contextual status message.
 // The message can indicate an error or informational status, and refer to
 // specific parts of the containing object.
@@ -153,6 +167,20 @@ func (m *StatusMessage) String() string            { return proto.CompactTextStr
 func (*StatusMessage) ProtoMessage()               {}
 func (*StatusMessage) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
+func (m *StatusMessage) GetIsError() bool {
+	if m != nil {
+		return m.IsError
+	}
+	return false
+}
+
+func (m *StatusMessage) GetRefersTo() StatusMessage_Reference {
+	if m != nil {
+		return m.RefersTo
+	}
+	return StatusMessage_UNSPECIFIED
+}
+
 func (m *StatusMessage) GetDescription() *FormatMessage {
 	if m != nil {
 		return m.Description
@@ -173,6 +201,20 @@ func (m *SourceLocation) String() string            { return proto.CompactTextSt
 func (*SourceLocation) ProtoMessage()               {}
 func (*SourceLocation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
+func (m *SourceLocation) GetPath() string {
+	if m != nil {
+		return m.Path
+	}
+	return ""
+}
+
+func (m *SourceLocation) GetLine() int32 {
+	if m != nil {
+		return m.Line
+	}
+	return 0
+}
+
 // Represents a variable or an argument possibly of a compound object type.
 // Note how the following variables are represented:
 //
@@ -325,6 +367,27 @@ func (m *Variable) String() string            { return proto.CompactTextString(m
 func (*Variable) ProtoMessage()               {}
 func (*Variable) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
+func (m *Variable) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Variable) GetValue() string {
+	if m != nil {
+		return m.Value
+	}
+	return ""
+}
+
+func (m *Variable) GetType() string {
+	if m != nil {
+		return m.Type
+	}
+	return ""
+}
+
 func (m *Variable) GetMembers() []*Variable {
 	if m != nil {
 		return m.Members
@@ -365,6 +428,13 @@ func (m *StackFrame) String() string            { return proto.CompactTextString
 func (*StackFrame) ProtoMessage()               {}
 func (*StackFrame) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
+func (m *StackFrame) GetFunction() string {
+	if m != nil {
+		return m.Function
+	}
+	return ""
+}
+
 func (m *StackFrame) GetLocation() *SourceLocation {
 	if m != nil {
 		return m.Location
@@ -474,6 +544,20 @@ func (m *Breakpoint) String() string            { return proto.CompactTextString
 func (*Breakpoint) ProtoMessage()               {}
 func (*Breakpoint) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *Breakpoint) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Breakpoint) GetAction() Breakpoint_Action {
+	if m != nil {
+		return m.Action
+	}
+	return Breakpoint_CAPTURE
+}
+
 func (m *Breakpoint) GetLocation() *SourceLocation {
 	if m != nil {
 		return m.Location
@@ -481,6 +565,41 @@ func (m *Breakpoint) GetLocation() *SourceLocation {
 	return nil
 }
 
+func (m *Breakpoint) GetCondition() string {
+	if m != nil {
+		return m.Condition
+	}
+	return ""
+}
+
+func (m *Breakpoint) GetExpressions() []string {
+	if m != nil {
+		return m.Expressions
+	}
+	return nil
+}
+
+func (m *Breakpoint) GetLogMessageFormat() string {
+	if m != nil {
+		return m.LogMessageFormat
+	}
+	return ""
+}
+
+func (m *Breakpoint) GetLogLevel() Breakpoint_LogLevel {
+	if m != nil {
+		return m.LogLevel
+	}
+	return Breakpoint_INFO
+}
+
+func (m *Breakpoint) GetIsFinalState() bool {
+	if m != nil {
+		return m.IsFinalState
+	}
+	return false
+}
+
 func (m *Breakpoint) GetCreateTime() *google_protobuf1.Timestamp {
 	if m != nil {
 		return m.CreateTime
@@ -495,6 +614,13 @@ func (m *Breakpoint) GetFinalTime() *google_protobuf1.Timestamp {
 	return nil
 }
 
+func (m *Breakpoint) GetUserEmail() string {
+	if m != nil {
+		return m.UserEmail
+	}
+	return ""
+}
+
 func (m *Breakpoint) GetStatus() *StatusMessage {
 	if m != nil {
 		return m.Status
@@ -587,6 +713,55 @@ func (m *Debuggee) String() string            { return proto.CompactTextString(m
 func (*Debuggee) ProtoMessage()               {}
 func (*Debuggee) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
 
+func (m *Debuggee) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Debuggee) GetProject() string {
+	if m != nil {
+		return m.Project
+	}
+	return ""
+}
+
+func (m *Debuggee) GetUniquifier() string {
+	if m != nil {
+		return m.Uniquifier
+	}
+	return ""
+}
+
+func (m *Debuggee) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *Debuggee) GetIsInactive() bool {
+	if m != nil {
+		return m.IsInactive
+	}
+	return false
+}
+
+func (m *Debuggee) GetAgentVersion() string {
+	if m != nil {
+		return m.AgentVersion
+	}
+	return ""
+}
+
+func (m *Debuggee) GetIsDisabled() bool {
+	if m != nil {
+		return m.IsDisabled
+	}
+	return false
+}
+
 func (m *Debuggee) GetStatus() *StatusMessage {
 	if m != nil {
 		return m.Status
@@ -628,88 +803,85 @@ func init() {
 	proto.RegisterEnum("google.devtools.clouddebugger.v2.Breakpoint_LogLevel", Breakpoint_LogLevel_name, Breakpoint_LogLevel_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/data.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/devtools/clouddebugger/v2/data.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 1244 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0x41, 0x73, 0xdb, 0x44,
-	0x14, 0xae, 0x9d, 0xc4, 0xb6, 0x9e, 0x63, 0xc7, 0x5d, 0x5a, 0x46, 0x0d, 0x50, 0x3c, 0xa6, 0x87,
-	0x0c, 0xd3, 0xb1, 0x5a, 0x67, 0x60, 0x1a, 0x7a, 0x72, 0x1c, 0x25, 0x98, 0xba, 0xb6, 0xbb, 0x4e,
-	0x02, 0x37, 0xb1, 0x96, 0xd6, 0xea, 0x52, 0x59, 0x12, 0xbb, 0x6b, 0x93, 0xde, 0xf9, 0x11, 0x1c,
-	0xf8, 0x6f, 0xdc, 0x38, 0xf3, 0x13, 0x98, 0x5d, 0x49, 0x8e, 0x4c, 0x19, 0x9c, 0xd0, 0xde, 0xde,
-	0x7e, 0xfb, 0xbe, 0x6f, 0xa5, 0xb7, 0xdf, 0x7b, 0x12, 0x7c, 0xe7, 0x47, 0x91, 0x1f, 0xd0, 0xb6,
-	0x1f, 0x05, 0x24, 0xf4, 0xdb, 0x11, 0xf7, 0x2d, 0x9f, 0x86, 0x31, 0x8f, 0x64, 0x64, 0x25, 0x5b,
-	0x24, 0x66, 0xc2, 0xf2, 0xe8, 0x52, 0x46, 0x51, 0x20, 0x2c, 0x37, 0x88, 0x16, 0x9e, 0x47, 0xa7,
-	0x0b, 0xdf, 0xa7, 0xdc, 0x5a, 0x76, 0x2c, 0x8f, 0x48, 0xd2, 0xd6, 0xf9, 0xa8, 0x99, 0x6a, 0x65,
-	0xc9, 0xed, 0xb5, 0xe4, 0xf6, 0xb2, 0xb3, 0xdf, 0xbf, 0xd9, 0x69, 0x24, 0x66, 0x96, 0xa0, 0x7c,
-	0xc9, 0x5c, 0xea, 0x46, 0xe1, 0x8c, 0xf9, 0x16, 0x09, 0xc3, 0x48, 0x12, 0xc9, 0xa2, 0x50, 0x24,
-	0x87, 0xed, 0xbf, 0xbc, 0xe5, 0x83, 0x8b, 0x68, 0xc1, 0x5d, 0x6a, 0x2d, 0x9f, 0xa6, 0x91, 0xe3,
-	0x46, 0xa1, 0xa4, 0x57, 0x32, 0x95, 0x7b, 0xee, 0x33, 0xf9, 0x7a, 0x31, 0x6d, 0xbb, 0xd1, 0xdc,
-	0x4a, 0x24, 0x2d, 0xbd, 0x31, 0x5d, 0xcc, 0xac, 0x58, 0xbe, 0x8d, 0xa9, 0xb0, 0x24, 0x9b, 0x53,
-	0x21, 0xc9, 0x3c, 0xbe, 0x8e, 0x52, 0xf2, 0xd1, 0x66, 0xf2, 0x2f, 0x9c, 0xc4, 0x31, 0xe5, 0xd7,
-	0x41, 0x42, 0x6d, 0x9d, 0x41, 0xed, 0x34, 0xe2, 0x73, 0x22, 0x5f, 0x52, 0x21, 0x88, 0x4f, 0xd1,
-	0xc7, 0x50, 0x9a, 0x69, 0xc0, 0x2c, 0x34, 0x0b, 0x07, 0x06, 0x4e, 0x57, 0xe8, 0x21, 0x40, 0x4c,
-	0x38, 0x99, 0x53, 0x49, 0xb9, 0x30, 0x8b, 0xcd, 0xad, 0x03, 0x03, 0xe7, 0x90, 0xd6, 0x5f, 0x45,
-	0xa8, 0x4d, 0x24, 0x91, 0x0b, 0x91, 0x29, 0x3d, 0x80, 0x0a, 0x13, 0x0e, 0xe5, 0x3c, 0xe2, 0x5a,
-	0xab, 0x82, 0xcb, 0x4c, 0xd8, 0x6a, 0x89, 0x2e, 0xc1, 0xe0, 0x74, 0x46, 0xb9, 0x70, 0x64, 0x64,
-	0x16, 0x9b, 0x85, 0x83, 0x7a, 0xe7, 0xa8, 0xbd, 0xe9, 0xf6, 0xda, 0x6b, 0xf2, 0x6d, 0xac, 0x04,
-	0x68, 0xe8, 0x52, 0x5c, 0x49, 0xb4, 0xce, 0x23, 0xf4, 0x0a, 0xaa, 0x1e, 0x15, 0x2e, 0x67, 0xb1,
-	0xba, 0x2a, 0x73, 0xab, 0x59, 0x38, 0xa8, 0x76, 0xac, 0xcd, 0xca, 0x6b, 0x25, 0xc0, 0x79, 0x8d,
-	0xd6, 0x6f, 0x05, 0x30, 0x56, 0x47, 0xa1, 0x3d, 0xa8, 0x5e, 0x0c, 0x27, 0x63, 0xbb, 0xd7, 0x3f,
-	0xed, 0xdb, 0x27, 0x8d, 0x3b, 0xe8, 0x21, 0xec, 0x1f, 0x63, 0xbb, 0xfb, 0x62, 0x3c, 0xea, 0x0f,
-	0xcf, 0x9d, 0xc9, 0xe8, 0x02, 0xf7, 0x6c, 0x67, 0x30, 0xea, 0x75, 0xcf, 0xfb, 0xa3, 0x61, 0x63,
-	0x0b, 0x99, 0x70, 0x2f, 0xb7, 0xdf, 0x1b, 0x0d, 0x4f, 0xfa, 0x7a, 0x67, 0x1b, 0x3d, 0x80, 0xfb,
-	0xb9, 0x1d, 0xfb, 0x87, 0x31, 0xb6, 0x27, 0x13, 0xb5, 0x55, 0x46, 0x77, 0xa1, 0x76, 0xd9, 0xc5,
-	0xfd, 0xee, 0xf1, 0xc0, 0x76, 0x86, 0xdd, 0x97, 0x76, 0x63, 0x07, 0x21, 0xa8, 0xaf, 0xa0, 0xcb,
-	0xee, 0xe0, 0xc2, 0x6e, 0x94, 0x5a, 0xcf, 0xa0, 0x3e, 0xd1, 0x5e, 0x1a, 0x44, 0xae, 0xf6, 0x26,
-	0x42, 0xb0, 0x1d, 0x13, 0xf9, 0x3a, 0xbd, 0x3a, 0x1d, 0x2b, 0x2c, 0x60, 0x21, 0xd5, 0x65, 0xde,
-	0xc1, 0x3a, 0x6e, 0xfd, 0x5e, 0x84, 0xca, 0x25, 0xe1, 0x8c, 0x4c, 0x03, 0xaa, 0x12, 0x42, 0x32,
-	0xa7, 0x19, 0x49, 0xc5, 0xe8, 0x1e, 0xec, 0x2c, 0x49, 0xb0, 0x48, 0x58, 0x06, 0x4e, 0x16, 0x2a,
-	0x53, 0xb9, 0xc9, 0x2c, 0x25, 0x99, 0x2a, 0x46, 0x27, 0x50, 0x9e, 0xd3, 0xf9, 0x54, 0x99, 0x62,
-	0xab, 0xb9, 0x75, 0x50, 0xed, 0x7c, 0xb9, 0xb9, 0xdc, 0xd9, 0xd1, 0x38, 0xa3, 0xa2, 0x1e, 0xec,
-	0x2d, 0x09, 0x77, 0xa4, 0x42, 0x1d, 0x16, 0x7a, 0xf4, 0xca, 0xdc, 0xd6, 0x97, 0xf7, 0x49, 0xa6,
-	0x96, 0x19, 0xba, 0xdd, 0x0f, 0xe5, 0x61, 0xe7, 0x52, 0x3d, 0x0f, 0xae, 0x2d, 0x09, 0x3f, 0x57,
-	0x94, 0xbe, 0x62, 0xa0, 0x33, 0x28, 0x09, 0x6d, 0x11, 0x73, 0xe7, 0xa6, 0x17, 0xbf, 0x66, 0x29,
-	0x9c, 0xd2, 0x5b, 0xbf, 0x16, 0x01, 0x26, 0x92, 0xb8, 0x6f, 0x4e, 0x95, 0xbd, 0xd1, 0x3e, 0x54,
-	0x66, 0x8b, 0xd0, 0xd5, 0x96, 0x4a, 0x8a, 0xb4, 0x5a, 0xa3, 0x01, 0x54, 0x82, 0xb4, 0xfa, 0xba,
-	0x56, 0xd5, 0xce, 0x93, 0x1b, 0x9c, 0xba, 0x76, 0x6b, 0x78, 0xa5, 0x80, 0xbe, 0x05, 0x83, 0x70,
-	0x7f, 0x31, 0xa7, 0xa1, 0xfc, 0x3f, 0xe5, 0xbc, 0x26, 0xa3, 0x63, 0x28, 0x29, 0xd5, 0x40, 0x98,
-	0xdb, 0xb7, 0x96, 0x49, 0x99, 0xad, 0x3f, 0x2a, 0x00, 0xc7, 0x9c, 0x92, 0x37, 0x71, 0xc4, 0x42,
-	0x89, 0xea, 0x50, 0x64, 0x5e, 0x5a, 0x80, 0x22, 0xf3, 0xd0, 0x0b, 0x28, 0x91, 0xa4, 0x28, 0x35,
-	0xdd, 0xc1, 0x87, 0x9b, 0x8f, 0xb8, 0x56, 0x6b, 0x77, 0x35, 0x15, 0xa7, 0x12, 0x1f, 0xb8, 0x8e,
-	0x9f, 0x82, 0xe1, 0x46, 0xa1, 0xc7, 0x56, 0x53, 0xc0, 0xc0, 0xd7, 0x00, 0x6a, 0x42, 0x95, 0x5e,
-	0xc5, 0x9c, 0x0a, 0xa1, 0xe6, 0xb9, 0x2e, 0x90, 0x81, 0xf3, 0x10, 0x7a, 0x0c, 0x28, 0x88, 0x7c,
-	0x67, 0x9e, 0xf8, 0xc2, 0x49, 0x07, 0x62, 0x5d, 0x0b, 0x35, 0x82, 0xc8, 0x4f, 0x0d, 0x93, 0x8c,
-	0x0d, 0x84, 0xc1, 0x50, 0xd9, 0x01, 0x5d, 0xd2, 0xc0, 0xdc, 0xd3, 0xb5, 0xf8, 0xea, 0x56, 0xb5,
-	0x18, 0x44, 0xfe, 0x40, 0x91, 0xd5, 0x1b, 0x24, 0x11, 0x7a, 0x04, 0x75, 0x26, 0x9c, 0x19, 0x0b,
-	0x49, 0xe0, 0x28, 0x57, 0x52, 0xed, 0xe9, 0x0a, 0xde, 0x65, 0xe2, 0x54, 0x81, 0xca, 0xb8, 0x14,
-	0x3d, 0x87, 0xaa, 0xcb, 0x29, 0x91, 0xd4, 0x51, 0x9f, 0x04, 0xb3, 0xaa, 0x0b, 0xb7, 0xff, 0x4e,
-	0xcb, 0x9c, 0x67, 0xdf, 0x0b, 0x0c, 0x49, 0xba, 0x02, 0xd0, 0x11, 0x40, 0xa2, 0xaf, 0xb9, 0xbb,
-	0x1b, 0xb9, 0x86, 0xce, 0xd6, 0xd4, 0xcf, 0x00, 0x16, 0x82, 0x72, 0x87, 0xce, 0x09, 0x0b, 0xcc,
-	0x46, 0x52, 0x60, 0x85, 0xd8, 0x0a, 0xc8, 0x35, 0x22, 0xbc, 0x57, 0x23, 0xa2, 0x11, 0xec, 0x0a,
-	0xd5, 0x87, 0xce, 0x4c, 0x35, 0xa2, 0x30, 0xcb, 0xda, 0xcb, 0x8f, 0x6f, 0x24, 0x97, 0x76, 0x2f,
-	0xae, 0x8a, 0x55, 0x2c, 0x90, 0x03, 0xf7, 0xa9, 0x9a, 0x65, 0x44, 0x52, 0xcf, 0xc9, 0x9b, 0xa0,
-	0x72, 0xeb, 0x2e, 0xb9, 0xb7, 0x12, 0xb2, 0x73, 0xce, 0x79, 0x05, 0xf5, 0x65, 0x9a, 0x91, 0x4c,
-	0x33, 0xd3, 0xb8, 0xb5, 0x72, 0x2d, 0x53, 0xd0, 0xb3, 0x0d, 0x8d, 0xa1, 0x14, 0x90, 0x29, 0x0d,
-	0x84, 0x79, 0x57, 0x4b, 0x3d, 0xbb, 0x9d, 0xb7, 0x34, 0xd5, 0x0e, 0x25, 0x7f, 0x8b, 0x53, 0x9d,
-	0xfd, 0x23, 0xa8, 0xe6, 0x60, 0xd4, 0x80, 0xad, 0x37, 0xf4, 0x6d, 0xda, 0xd9, 0x2a, 0xfc, 0xf7,
-	0xf1, 0xff, 0x4d, 0xf1, 0x59, 0xa1, 0xf5, 0x10, 0x4a, 0x49, 0xe7, 0xa2, 0x2a, 0x94, 0x7b, 0xdd,
-	0xf1, 0xf9, 0x05, 0xb6, 0x1b, 0x77, 0x50, 0x19, 0xb6, 0x06, 0xa3, 0xb3, 0x46, 0xa1, 0xf5, 0x18,
-	0x2a, 0x99, 0x9b, 0x51, 0x05, 0xb6, 0xfb, 0xc3, 0xd3, 0x51, 0xe3, 0x8e, 0xca, 0xfd, 0xbe, 0x8b,
-	0x87, 0xfd, 0xe1, 0x59, 0xa3, 0x80, 0x0c, 0xd8, 0xb1, 0x31, 0x1e, 0xe1, 0x46, 0xb1, 0xf5, 0xe7,
-	0x36, 0x54, 0x4e, 0x92, 0xe7, 0xa6, 0xef, 0xcc, 0x17, 0x13, 0xca, 0x31, 0x8f, 0x7e, 0xa2, 0xae,
-	0x4c, 0x1f, 0x23, 0x5b, 0xaa, 0x7f, 0x91, 0x45, 0xc8, 0x7e, 0x5e, 0xb0, 0x19, 0xa3, 0x3c, 0xed,
-	0xef, 0x1c, 0xa2, 0x1a, 0x3c, 0xff, 0x1b, 0xb0, 0xad, 0x13, 0xf2, 0x10, 0xfa, 0x1c, 0xaa, 0x4c,
-	0x38, 0x2c, 0x54, 0xd3, 0x67, 0x99, 0xf5, 0x16, 0x30, 0xd1, 0x4f, 0x11, 0xf4, 0x05, 0xd4, 0x88,
-	0x4f, 0x43, 0xe9, 0x2c, 0x29, 0x57, 0x37, 0x9b, 0x7e, 0xf3, 0x76, 0x35, 0x78, 0x99, 0x60, 0xa9,
-	0x8a, 0xc7, 0x84, 0xba, 0x27, 0xcf, 0x2c, 0x67, 0x2a, 0x27, 0x29, 0x92, 0x6b, 0x84, 0xca, 0xfb,
-	0x35, 0xc2, 0x2b, 0xd8, 0x5b, 0xff, 0x6d, 0x14, 0xa9, 0xaf, 0x0e, 0xde, 0x51, 0x4c, 0xf2, 0xda,
-	0xcb, 0xa7, 0xe9, 0x78, 0xec, 0x25, 0x04, 0x5c, 0x17, 0xf9, 0xa5, 0x40, 0x3f, 0xc2, 0x47, 0xf4,
-	0x4a, 0x3a, 0xff, 0x94, 0xad, 0x69, 0xd9, 0x27, 0xff, 0x21, 0x6b, 0x5f, 0x49, 0x1a, 0x7a, 0xd4,
-	0x5b, 0x97, 0xbf, 0x4b, 0xaf, 0xe4, 0x64, 0xfd, 0x84, 0xe1, 0xca, 0xb8, 0x55, 0x2d, 0xfa, 0xf5,
-	0xe6, 0xb7, 0xcf, 0xcc, 0xf0, 0x81, 0x6d, 0x7b, 0x7c, 0x08, 0x8f, 0xdc, 0x68, 0xbe, 0xf1, 0xfc,
-	0x63, 0xe3, 0x84, 0x48, 0x32, 0x56, 0xb3, 0x6f, 0x5c, 0x98, 0x96, 0xf4, 0x10, 0x3c, 0xfc, 0x3b,
-	0x00, 0x00, 0xff, 0xff, 0xfa, 0x84, 0x16, 0x20, 0xa4, 0x0c, 0x00, 0x00,
+	// 1232 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x4d, 0x73, 0xdb, 0xb6,
+	0x16, 0x8d, 0x3e, 0x2c, 0x91, 0x97, 0x96, 0xac, 0xe0, 0x25, 0x6f, 0x18, 0xbf, 0x3c, 0x47, 0xa3,
+	0x97, 0x85, 0xe7, 0x35, 0x23, 0x25, 0xca, 0xb4, 0x93, 0x34, 0x2b, 0x59, 0xa6, 0x5d, 0x4d, 0x14,
+	0x49, 0x81, 0x6c, 0xb7, 0xd3, 0x0d, 0x0b, 0x8b, 0x10, 0xcb, 0x86, 0x22, 0x59, 0x00, 0x52, 0x9d,
+	0x6d, 0xa7, 0x3f, 0xa2, 0x8b, 0xfe, 0xb7, 0xee, 0xba, 0xee, 0x4f, 0xe8, 0x00, 0x04, 0x15, 0x2a,
+	0x69, 0xab, 0xb8, 0xc9, 0xee, 0xe2, 0xe0, 0xdc, 0x03, 0xea, 0xe2, 0xdc, 0x4b, 0x0a, 0x3e, 0xf1,
+	0xe3, 0xd8, 0x0f, 0x69, 0xc7, 0xa3, 0x2b, 0x11, 0xc7, 0x21, 0xef, 0xcc, 0xc2, 0x78, 0xe9, 0x79,
+	0xf4, 0x72, 0xe9, 0xfb, 0x94, 0x75, 0x56, 0xdd, 0x8e, 0x47, 0x04, 0x69, 0x27, 0x2c, 0x16, 0x31,
+	0x6a, 0xa6, 0xe4, 0x76, 0x46, 0x6e, 0x6f, 0x90, 0xdb, 0xab, 0xee, 0xfe, 0x5d, 0x2d, 0x47, 0x92,
+	0xa0, 0x43, 0xa2, 0x28, 0x16, 0x44, 0x04, 0x71, 0xc4, 0xd3, 0xfc, 0xfd, 0xf6, 0xdb, 0x87, 0xf1,
+	0x78, 0xc9, 0x66, 0xb4, 0xb3, 0x7a, 0xa4, 0x23, 0x77, 0x16, 0x47, 0x82, 0x5e, 0x09, 0xcd, 0xbf,
+	0xa7, 0xf9, 0x6a, 0x75, 0xb9, 0x9c, 0x77, 0x44, 0xb0, 0xa0, 0x5c, 0x90, 0x45, 0xa2, 0x09, 0x07,
+	0x6f, 0x13, 0x7e, 0x60, 0x24, 0x49, 0x28, 0xd3, 0x07, 0xb6, 0x4e, 0xa1, 0x76, 0x12, 0xb3, 0x05,
+	0x11, 0x2f, 0x28, 0xe7, 0xc4, 0xa7, 0xe8, 0xdf, 0x50, 0x99, 0x2b, 0xc0, 0x2e, 0x34, 0x0b, 0x87,
+	0x26, 0xd6, 0x2b, 0x74, 0x00, 0x90, 0x10, 0x46, 0x16, 0x54, 0x50, 0xc6, 0xed, 0x62, 0xb3, 0x74,
+	0x68, 0xe2, 0x1c, 0xd2, 0xfa, 0xbd, 0x08, 0xb5, 0xa9, 0x20, 0x62, 0xc9, 0x33, 0xa5, 0x3b, 0x60,
+	0x04, 0xdc, 0xa5, 0x8c, 0xc5, 0x4c, 0x69, 0x19, 0xb8, 0x1a, 0x70, 0x47, 0x2e, 0xd1, 0x05, 0x98,
+	0x8c, 0xce, 0x29, 0xe3, 0xae, 0x88, 0xed, 0x62, 0xb3, 0x70, 0x58, 0xef, 0x3e, 0x6d, 0x6f, 0x2b,
+	0x5d, 0x7b, 0x43, 0xbe, 0x8d, 0xa5, 0x00, 0x8d, 0x66, 0x14, 0x1b, 0xa9, 0xd6, 0x59, 0x8c, 0x5e,
+	0x82, 0xe5, 0x51, 0x3e, 0x63, 0x41, 0x22, 0x8b, 0x6a, 0x97, 0x9a, 0x85, 0x43, 0xab, 0xdb, 0xd9,
+	0xae, 0xbc, 0x51, 0x02, 0x9c, 0xd7, 0x68, 0xfd, 0x5c, 0x00, 0x73, 0x7d, 0x14, 0xda, 0x03, 0xeb,
+	0x7c, 0x34, 0x9d, 0x38, 0xfd, 0xc1, 0xc9, 0xc0, 0x39, 0x6e, 0xdc, 0x40, 0x07, 0xb0, 0x7f, 0x84,
+	0x9d, 0xde, 0xf3, 0xc9, 0x78, 0x30, 0x3a, 0x73, 0xa7, 0xe3, 0x73, 0xdc, 0x77, 0xdc, 0xe1, 0xb8,
+	0xdf, 0x3b, 0x1b, 0x8c, 0x47, 0x8d, 0x12, 0xb2, 0xe1, 0x56, 0x6e, 0xbf, 0x3f, 0x1e, 0x1d, 0x0f,
+	0xd4, 0x4e, 0x19, 0xdd, 0x81, 0xdb, 0xb9, 0x1d, 0xe7, 0xab, 0x09, 0x76, 0xa6, 0x53, 0xb9, 0x55,
+	0x45, 0x37, 0xa1, 0x76, 0xd1, 0xc3, 0x83, 0xde, 0xd1, 0xd0, 0x71, 0x47, 0xbd, 0x17, 0x4e, 0x63,
+	0x07, 0x21, 0xa8, 0xaf, 0xa1, 0x8b, 0xde, 0xf0, 0xdc, 0x69, 0x54, 0x5a, 0x4f, 0xa0, 0x3e, 0x55,
+	0xa6, 0x18, 0xc6, 0x33, 0xe5, 0x22, 0x84, 0xa0, 0x9c, 0x10, 0xf1, 0xad, 0xbe, 0x3a, 0x15, 0x4b,
+	0x2c, 0x0c, 0x22, 0xaa, 0xca, 0xbc, 0x83, 0x55, 0xdc, 0xfa, 0xa5, 0x08, 0xc6, 0x05, 0x61, 0x01,
+	0xb9, 0x0c, 0xa9, 0x24, 0x44, 0x64, 0x41, 0xb3, 0x24, 0x19, 0xa3, 0x5b, 0xb0, 0xb3, 0x22, 0xe1,
+	0x32, 0xcd, 0x32, 0x71, 0xba, 0x90, 0x4c, 0xf1, 0x3a, 0xa1, 0x76, 0x25, 0x65, 0xca, 0x18, 0x1d,
+	0x43, 0x75, 0x41, 0x17, 0x97, 0xd2, 0x14, 0xa5, 0x66, 0xe9, 0xd0, 0xea, 0xfe, 0x7f, 0x7b, 0xb9,
+	0xb3, 0xa3, 0x71, 0x96, 0x8a, 0xfa, 0xb0, 0xb7, 0x22, 0xcc, 0x15, 0x12, 0x75, 0x83, 0xc8, 0xa3,
+	0x57, 0x76, 0x59, 0x5d, 0xde, 0x7f, 0x32, 0xb5, 0xcc, 0xc0, 0xed, 0x41, 0x24, 0x1e, 0x77, 0x2f,
+	0xe4, 0xf3, 0xe0, 0xda, 0x8a, 0xb0, 0x33, 0x99, 0x32, 0x90, 0x19, 0xe8, 0x14, 0x2a, 0x5c, 0x59,
+	0xc4, 0xde, 0x79, 0xdf, 0x8b, 0xdf, 0xb0, 0x14, 0xd6, 0xe9, 0xad, 0x9f, 0x8a, 0x00, 0x53, 0x41,
+	0x66, 0xaf, 0x4e, 0xa4, 0xbd, 0xd1, 0x3e, 0x18, 0xf3, 0x65, 0x34, 0x53, 0x96, 0x4a, 0x8b, 0xb4,
+	0x5e, 0xa3, 0x21, 0x18, 0xa1, 0xae, 0xbe, 0xaa, 0x95, 0xd5, 0x7d, 0xf8, 0x1e, 0xa7, 0x6e, 0xdc,
+	0x1a, 0x5e, 0x2b, 0xa0, 0x2f, 0xc0, 0x24, 0xcc, 0x5f, 0x2e, 0x68, 0x24, 0xfe, 0x49, 0x39, 0xdf,
+	0x24, 0xa3, 0x23, 0xa8, 0x48, 0xd5, 0x90, 0xdb, 0xe5, 0x6b, 0xcb, 0xe8, 0xcc, 0xd6, 0xaf, 0x06,
+	0xc0, 0x11, 0xa3, 0xe4, 0x55, 0x12, 0x07, 0x91, 0x40, 0x75, 0x28, 0x06, 0x9e, 0x2e, 0x40, 0x31,
+	0xf0, 0xd0, 0x73, 0xa8, 0x90, 0xb4, 0x28, 0x35, 0xd5, 0xc1, 0x8f, 0xb7, 0x1f, 0xf1, 0x46, 0xad,
+	0xdd, 0x53, 0xa9, 0x58, 0x4b, 0x7c, 0xe4, 0x3a, 0xde, 0x05, 0x73, 0x16, 0x47, 0x5e, 0xb0, 0x9e,
+	0x02, 0x26, 0x7e, 0x03, 0xa0, 0x26, 0x58, 0xf4, 0x2a, 0x61, 0x94, 0x73, 0x39, 0x79, 0x55, 0x81,
+	0x4c, 0x9c, 0x87, 0xd0, 0x03, 0x40, 0x61, 0xec, 0xbb, 0x8b, 0xd4, 0x17, 0xae, 0x1e, 0x88, 0x75,
+	0x25, 0xd4, 0x08, 0x63, 0x5f, 0x1b, 0x26, 0x1d, 0x1b, 0x08, 0x83, 0x29, 0xd9, 0x21, 0x5d, 0xd1,
+	0xd0, 0xde, 0x53, 0xb5, 0xf8, 0xf4, 0x5a, 0xb5, 0x18, 0xc6, 0xfe, 0x50, 0x26, 0xcb, 0x5f, 0x90,
+	0x46, 0xe8, 0x3e, 0xd4, 0x03, 0xee, 0xce, 0x83, 0x88, 0x84, 0xae, 0x74, 0x25, 0x55, 0x9e, 0x36,
+	0xf0, 0x6e, 0xc0, 0x4f, 0x24, 0x28, 0x8d, 0x4b, 0xd1, 0x33, 0xb0, 0x66, 0x8c, 0x12, 0x41, 0x5d,
+	0x39, 0xf7, 0x6d, 0x4b, 0x15, 0x6e, 0xff, 0x9d, 0x96, 0x39, 0xcb, 0x5e, 0x0a, 0x18, 0x52, 0xba,
+	0x04, 0xd0, 0x53, 0x80, 0x54, 0x5f, 0xe5, 0xee, 0x6e, 0xcd, 0x35, 0x15, 0x5b, 0xa5, 0xfe, 0x17,
+	0x60, 0xc9, 0x29, 0x73, 0xe9, 0x82, 0x04, 0xa1, 0xdd, 0x48, 0x0b, 0x2c, 0x11, 0x47, 0x02, 0xb9,
+	0x46, 0x84, 0x0f, 0x6a, 0x44, 0x34, 0x86, 0x5d, 0x2e, 0xfb, 0xd0, 0x9d, 0xcb, 0x46, 0xe4, 0x76,
+	0x55, 0x79, 0xf9, 0xc1, 0x7b, 0xc9, 0xe9, 0xee, 0xc5, 0x16, 0x5f, 0xc7, 0x1c, 0xb9, 0x70, 0x9b,
+	0xca, 0x59, 0x46, 0x04, 0xf5, 0xdc, 0xbc, 0x09, 0x8c, 0x6b, 0x77, 0xc9, 0xad, 0xb5, 0x90, 0x93,
+	0x73, 0xce, 0x4b, 0xa8, 0xaf, 0x34, 0x23, 0x9d, 0x66, 0xb6, 0x79, 0x6d, 0xe5, 0x5a, 0xa6, 0xa0,
+	0x66, 0x1b, 0x9a, 0x40, 0x25, 0x24, 0x97, 0x34, 0xe4, 0xf6, 0x4d, 0x25, 0xf5, 0xe4, 0x7a, 0xde,
+	0x52, 0xa9, 0x4e, 0x24, 0xd8, 0x6b, 0xac, 0x75, 0xf6, 0x9f, 0x82, 0x95, 0x83, 0x51, 0x03, 0x4a,
+	0xaf, 0xe8, 0x6b, 0xdd, 0xd9, 0x32, 0xfc, 0xf3, 0xf1, 0xff, 0x79, 0xf1, 0x49, 0xa1, 0x75, 0x00,
+	0x95, 0xb4, 0x73, 0x91, 0x05, 0xd5, 0x7e, 0x6f, 0x72, 0x76, 0x8e, 0x9d, 0xc6, 0x0d, 0x54, 0x85,
+	0xd2, 0x70, 0x7c, 0xda, 0x28, 0xb4, 0x1e, 0x80, 0x91, 0xb9, 0x19, 0x19, 0x50, 0x1e, 0x8c, 0x4e,
+	0xc6, 0x8d, 0x1b, 0x92, 0xfb, 0x65, 0x0f, 0x8f, 0x06, 0xa3, 0xd3, 0x46, 0x01, 0x99, 0xb0, 0xe3,
+	0x60, 0x3c, 0xc6, 0x8d, 0x62, 0xeb, 0xb7, 0x32, 0x18, 0xc7, 0xe9, 0x73, 0xd3, 0x77, 0xe6, 0x8b,
+	0x0d, 0xd5, 0x84, 0xc5, 0xdf, 0xd1, 0x99, 0xd0, 0x8f, 0x91, 0x2d, 0xe5, 0xb7, 0xc8, 0x32, 0x0a,
+	0xbe, 0x5f, 0x06, 0xf3, 0x80, 0x32, 0xdd, 0xdf, 0x39, 0x44, 0x36, 0x78, 0xfe, 0x33, 0xa0, 0xac,
+	0x08, 0x79, 0x08, 0xdd, 0x03, 0x2b, 0xe0, 0x6e, 0x10, 0xc9, 0xe9, 0xb3, 0xca, 0x7a, 0x0b, 0x02,
+	0x3e, 0xd0, 0x08, 0xfa, 0x1f, 0xd4, 0x88, 0x4f, 0x23, 0xe1, 0xae, 0x28, 0x93, 0x37, 0xab, 0xdf,
+	0x79, 0xbb, 0x0a, 0xbc, 0x48, 0x31, 0xad, 0xe2, 0x05, 0x5c, 0xde, 0x93, 0x67, 0x57, 0x33, 0x95,
+	0x63, 0x8d, 0xe4, 0x1a, 0xc1, 0xf8, 0xb0, 0x46, 0x78, 0x09, 0x7b, 0x9b, 0xdf, 0x7f, 0x5c, 0xfb,
+	0xea, 0xf0, 0x1d, 0xc5, 0x94, 0xd7, 0x5e, 0x3d, 0xd2, 0xe3, 0xb1, 0x9f, 0x26, 0xe0, 0x3a, 0xcf,
+	0x2f, 0x39, 0xfa, 0x06, 0xfe, 0x45, 0xaf, 0x84, 0xfb, 0xb6, 0x6c, 0x4d, 0xc9, 0x3e, 0xfc, 0x1b,
+	0x59, 0xe7, 0x4a, 0xd0, 0xc8, 0xa3, 0xde, 0xa6, 0xfc, 0x4d, 0x7a, 0x25, 0xa6, 0x9b, 0x27, 0x8c,
+	0xd6, 0xc6, 0xb5, 0x94, 0xe8, 0x67, 0xdb, 0x7f, 0x7d, 0x66, 0x86, 0x8f, 0x6c, 0xdb, 0xa3, 0x1f,
+	0x0b, 0x70, 0x7f, 0x16, 0x2f, 0xb6, 0x3e, 0xc0, 0x91, 0x79, 0x4c, 0x04, 0x99, 0xc8, 0xe1, 0x37,
+	0x29, 0x7c, 0xfd, 0x42, 0xd3, 0xfd, 0x38, 0x24, 0x91, 0xdf, 0x8e, 0x99, 0xdf, 0xf1, 0x69, 0xa4,
+	0x46, 0x63, 0x27, 0xdd, 0x22, 0x49, 0xc0, 0xff, 0xfa, 0x9f, 0xc1, 0xb3, 0x0d, 0xe0, 0xb2, 0xa2,
+	0x32, 0x1f, 0xff, 0x11, 0x00, 0x00, 0xff, 0xff, 0x56, 0xc4, 0x6b, 0x67, 0x52, 0x0c, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouddebugger/v2/data.proto b/googleapis/devtools/clouddebugger/v2/data.proto
deleted file mode 100644
index aee8b3e508dc1d5623267944be940087743f1e28..0000000000000000000000000000000000000000
--- a/googleapis/devtools/clouddebugger/v2/data.proto
+++ /dev/null
@@ -1,444 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.devtools.clouddebugger.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/devtools/source/v1/source_context.proto"; // from google/devtools/source/v1/source_context.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "DataProto";
-option java_package = "com.google.devtools.clouddebugger.v2";
-
-
-// Represents a message with parameters.
-message FormatMessage {
-  // Format template for the message. The `format` uses placeholders `$0`,
-  // `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
-  // character.
-  //
-  // Examples:
-  //
-  // *   `Failed to load '$0' which helps debug $1 the first time it
-  //     is loaded.  Again, $0 is very important.`
-  // *   `Please pay $$10 to use $0 instead of $1.`
-  string format = 1;
-
-  // Optional parameters to be embedded into the message.
-  repeated string parameters = 2;
-}
-
-// Represents a contextual status message.
-// The message can indicate an error or informational status, and refer to
-// specific parts of the containing object.
-// For example, the `Breakpoint.status` field can indicate an error referring
-// to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
-message StatusMessage {
-  // Enumerates references to which the message applies.
-  enum Reference {
-    // Status doesn't refer to any particular input.
-    UNSPECIFIED = 0;
-
-    // Status applies to the breakpoint and is related to its location.
-    BREAKPOINT_SOURCE_LOCATION = 3;
-
-    // Status applies to the breakpoint and is related to its condition.
-    BREAKPOINT_CONDITION = 4;
-
-    // Status applies to the breakpoint and is related to its expressions.
-    BREAKPOINT_EXPRESSION = 7;
-
-    // Status applies to the entire variable.
-    VARIABLE_NAME = 5;
-
-    // Status applies to variable value (variable name is valid).
-    VARIABLE_VALUE = 6;
-  }
-
-  // Distinguishes errors from informational messages.
-  bool is_error = 1;
-
-  // Reference to which the message applies.
-  Reference refers_to = 2;
-
-  // Status message text.
-  FormatMessage description = 3;
-}
-
-// Represents a location in the source code.
-message SourceLocation {
-  // Path to the source file within the source context of the target binary.
-  string path = 1;
-
-  // Line inside the file. The first line in the file has the value `1`.
-  int32 line = 2;
-}
-
-// Represents a variable or an argument possibly of a compound object type.
-// Note how the following variables are represented:
-//
-// 1) A simple variable:
-//
-//     int x = 5
-//
-//     { name: "x", value: "5", type: "int" }  // Captured variable
-//
-// 2) A compound object:
-//
-//     struct T {
-//         int m1;
-//         int m2;
-//     };
-//     T x = { 3, 7 };
-//
-//     {  // Captured variable
-//         name: "x",
-//         type: "T",
-//         members { name: "m1", value: "3", type: "int" },
-//         members { name: "m2", value: "7", type: "int" }
-//     }
-//
-// 3) A pointer where the pointee was captured:
-//
-//     T x = { 3, 7 };
-//     T* p = &x;
-//
-//     {   // Captured variable
-//         name: "p",
-//         type: "T*",
-//         value: "0x00500500",
-//         members { name: "m1", value: "3", type: "int" },
-//         members { name: "m2", value: "7", type: "int" }
-//     }
-//
-// 4) A pointer where the pointee was not captured:
-//
-//     T* p = new T;
-//
-//     {   // Captured variable
-//         name: "p",
-//         type: "T*",
-//         value: "0x00400400"
-//         status { is_error: true, description { format: "unavailable" } }
-//     }
-//
-// The status should describe the reason for the missing value,
-// such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
-//
-// Note that a null pointer should not have members.
-//
-// 5) An unnamed value:
-//
-//     int* p = new int(7);
-//
-//     {   // Captured variable
-//         name: "p",
-//         value: "0x00500500",
-//         type: "int*",
-//         members { value: "7", type: "int" } }
-//
-// 6) An unnamed pointer where the pointee was not captured:
-//
-//     int* p = new int(7);
-//     int** pp = &p;
-//
-//     {  // Captured variable
-//         name: "pp",
-//         value: "0x00500500",
-//         type: "int**",
-//         members {
-//             value: "0x00400400",
-//             type: "int*"
-//             status {
-//                 is_error: true,
-//                 description: { format: "unavailable" } }
-//             }
-//         }
-//     }
-//
-// To optimize computation, memory and network traffic, variables that
-// repeat in the output multiple times can be stored once in a shared
-// variable table and be referenced using the `var_table_index` field.  The
-// variables stored in the shared table are nameless and are essentially
-// a partition of the complete variable. To reconstruct the complete
-// variable, merge the referencing variable with the referenced variable.
-//
-// When using the shared variable table, the following variables:
-//
-//     T x = { 3, 7 };
-//     T* p = &x;
-//     T& r = x;
-//
-//     { name: "x", var_table_index: 3, type: "T" }  // Captured variables
-//     { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
-//     { name: "r", type="T&", var_table_index: 3 }
-//
-//     {  // Shared variable table entry #3:
-//         members { name: "m1", value: "3", type: "int" },
-//         members { name: "m2", value: "7", type: "int" }
-//     }
-//
-// Note that the pointer address is stored with the referencing variable
-// and not with the referenced variable. This allows the referenced variable
-// to be shared between pointers and references.
-//
-// The type field is optional. The debugger agent may or may not support it.
-message Variable {
-  // Name of the variable, if any.
-  string name = 1;
-
-  // Simple value of the variable.
-  string value = 2;
-
-  // Variable type (e.g. `MyClass`). If the variable is split with
-  // `var_table_index`, `type` goes next to `value`. The interpretation of
-  // a type is agent specific. It is recommended to include the dynamic type
-  // rather than a static type of an object.
-  string type = 6;
-
-  // Members contained or pointed to by the variable.
-  repeated Variable members = 3;
-
-  // Reference to a variable in the shared variable table. More than
-  // one variable can reference the same variable in the table. The
-  // `var_table_index` field is an index into `variable_table` in Breakpoint.
-  google.protobuf.Int32Value var_table_index = 4;
-
-  // Status associated with the variable. This field will usually stay
-  // unset. A status of a single variable only applies to that variable or
-  // expression. The rest of breakpoint data still remains valid. Variables
-  // might be reported in error state even when breakpoint is not in final
-  // state.
-  //
-  // The message may refer to variable name with `refers_to` set to
-  // `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
-  // In either case variable value and members will be unset.
-  //
-  // Example of error message applied to name: `Invalid expression syntax`.
-  //
-  // Example of information message applied to value: `Not captured`.
-  //
-  // Examples of error message applied to value:
-  //
-  // *   `Malformed string`,
-  // *   `Field f not found in class C`
-  // *   `Null pointer dereference`
-  StatusMessage status = 5;
-}
-
-// Represents a stack frame context.
-message StackFrame {
-  // Demangled function name at the call site.
-  string function = 1;
-
-  // Source location of the call site.
-  SourceLocation location = 2;
-
-  // Set of arguments passed to this function.
-  // Note that this might not be populated for all stack frames.
-  repeated Variable arguments = 3;
-
-  // Set of local variables at the stack frame location.
-  // Note that this might not be populated for all stack frames.
-  repeated Variable locals = 4;
-}
-
-// Represents the breakpoint specification, status and results.
-message Breakpoint {
-  // Actions that can be taken when a breakpoint hits.
-  // Agents should reject breakpoints with unsupported or unknown action values.
-  enum Action {
-    // Capture stack frame and variables and update the breakpoint.
-    // The data is only captured once. After that the breakpoint is set
-    // in a final state.
-    CAPTURE = 0;
-
-    // Log each breakpoint hit. The breakpoint remains active until
-    // deleted or expired.
-    LOG = 1;
-  }
-
-  // Log severity levels.
-  enum LogLevel {
-    // Information log message.
-    INFO = 0;
-
-    // Warning log message.
-    WARNING = 1;
-
-    // Error log message.
-    ERROR = 2;
-  }
-
-  // Breakpoint identifier, unique in the scope of the debuggee.
-  string id = 1;
-
-  // Action that the agent should perform when the code at the
-  // breakpoint location is hit.
-  Action action = 13;
-
-  // Breakpoint source location.
-  SourceLocation location = 2;
-
-  // Condition that triggers the breakpoint.
-  // The condition is a compound boolean expression composed using expressions
-  // in a programming language at the source location.
-  string condition = 3;
-
-  // List of read-only expressions to evaluate at the breakpoint location.
-  // The expressions are composed using expressions in the programming language
-  // at the source location. If the breakpoint action is `LOG`, the evaluated
-  // expressions are included in log statements.
-  repeated string expressions = 4;
-
-  // Only relevant when action is `LOG`. Defines the message to log when
-  // the breakpoint hits. The message may include parameter placeholders `$0`,
-  // `$1`, etc. These placeholders are replaced with the evaluated value
-  // of the appropriate expression. Expressions not referenced in
-  // `log_message_format` are not logged.
-  //
-  // Example: `Message received, id = $0, count = $1` with
-  // `expressions` = `[ message.id, message.count ]`.
-  string log_message_format = 14;
-
-  // Indicates the severity of the log. Only relevant when action is `LOG`.
-  LogLevel log_level = 15;
-
-  // When true, indicates that this is a final result and the
-  // breakpoint state will not change from here on.
-  bool is_final_state = 5;
-
-  // Time this breakpoint was created by the server in seconds resolution.
-  google.protobuf.Timestamp create_time = 11;
-
-  // Time this breakpoint was finalized as seen by the server in seconds
-  // resolution.
-  google.protobuf.Timestamp final_time = 12;
-
-  // E-mail address of the user that created this breakpoint
-  string user_email = 16;
-
-  // Breakpoint status.
-  //
-  // The status includes an error flag and a human readable message.
-  // This field is usually unset. The message can be either
-  // informational or an error message. Regardless, clients should always
-  // display the text message back to the user.
-  //
-  // Error status indicates complete failure of the breakpoint.
-  //
-  // Example (non-final state): `Still loading symbols...`
-  //
-  // Examples (final state):
-  //
-  // *   `Invalid line number` referring to location
-  // *   `Field f not found in class C` referring to condition
-  StatusMessage status = 10;
-
-  // The stack at breakpoint time.
-  repeated StackFrame stack_frames = 7;
-
-  // Values of evaluated expressions at breakpoint time.
-  // The evaluated expressions appear in exactly the same order they
-  // are listed in the `expressions` field.
-  // The `name` field holds the original expression text, the `value` or
-  // `members` field holds the result of the evaluated expression.
-  // If the expression cannot be evaluated, the `status` inside the `Variable`
-  // will indicate an error and contain the error text.
-  repeated Variable evaluated_expressions = 8;
-
-  // The `variable_table` exists to aid with computation, memory and network
-  // traffic optimization.  It enables storing a variable once and reference
-  // it from multiple variables, including variables stored in the
-  // `variable_table` itself.
-  // For example, the same `this` object, which may appear at many levels of
-  // the stack, can have all of its data stored once in this table.  The
-  // stack frame variables then would hold only a reference to it.
-  //
-  // The variable `var_table_index` field is an index into this repeated field.
-  // The stored objects are nameless and get their name from the referencing
-  // variable. The effective variable is a merge of the referencing variable
-  // and the referenced variable.
-  repeated Variable variable_table = 9;
-
-  // A set of custom breakpoint properties, populated by the agent, to be
-  // displayed to the user.
-  map<string, string> labels = 17;
-}
-
-// Represents the application to debug. The application may include one or more
-// replicated processes executing the same code. Each of these processes is
-// attached with a debugger agent, carrying out the debugging commands.
-// The agents attached to the same debuggee are identified by using exactly the
-// same field values when registering.
-message Debuggee {
-  // Unique identifier for the debuggee generated by the controller service.
-  string id = 1;
-
-  // Project the debuggee is associated with.
-  // Use the project number when registering a Google Cloud Platform project.
-  string project = 2;
-
-  // Debuggee uniquifier within the project.
-  // Any string that identifies the application within the project can be used.
-  // Including environment and version or build IDs is recommended.
-  string uniquifier = 3;
-
-  // Human readable description of the debuggee.
-  // Including a human-readable project name, environment name and version
-  // information is recommended.
-  string description = 4;
-
-  // If set to `true`, indicates that the debuggee is considered as inactive by
-  // the Controller service.
-  bool is_inactive = 5;
-
-  // Version ID of the agent release. The version ID is structured as
-  // following: `domain/type/vmajor.minor` (for example
-  // `google.com/gcp-java/v1.1`).
-  string agent_version = 6;
-
-  // If set to `true`, indicates that the agent should disable itself and
-  // detach from the debuggee.
-  bool is_disabled = 7;
-
-  // Human readable message to be displayed to the user about this debuggee.
-  // Absence of this field indicates no status. The message can be either
-  // informational or an error status.
-  StatusMessage status = 8;
-
-  // References to the locations and revisions of the source code used in the
-  // deployed application.
-  //
-  // NOTE: This field is deprecated. Consumers should use
-  // `ext_source_contexts` if it is not empty. Debug agents should populate
-  // both this field and `ext_source_contexts`.
-  repeated google.devtools.source.v1.SourceContext source_contexts = 9;
-
-  // References to the locations and revisions of the source code used in the
-  // deployed application.
-  //
-  // Contexts describing a remote repo related to the source code
-  // have a `category` label of `remote_repo`. Source snapshot source
-  // contexts have a `category` of `snapshot`.
-  repeated google.devtools.source.v1.ExtendedSourceContext ext_source_contexts = 13;
-
-  // A set of custom debuggee properties, populated by the agent, to be
-  // displayed to the user.
-  map<string, string> labels = 11;
-}
diff --git a/googleapis/devtools/clouddebugger/v2/debugger.pb.go b/googleapis/devtools/clouddebugger/v2/debugger.pb.go
index 4b10b0a5a0477f3247333994b62310ad4ddcd615..3086a41d5177768ee02a8e717001895f9f3a3f15 100644
--- a/googleapis/devtools/clouddebugger/v2/debugger.pb.go
+++ b/googleapis/devtools/clouddebugger/v2/debugger.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/debugger.proto
+// source: google/devtools/clouddebugger/v2/debugger.proto
 // DO NOT EDIT!
 
-package google_devtools_clouddebugger_v2 // import "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2"
+package clouddebugger
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/empty"
 
 import (
@@ -37,6 +37,13 @@ func (m *SetBreakpointRequest) String() string            { return proto.Compact
 func (*SetBreakpointRequest) ProtoMessage()               {}
 func (*SetBreakpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
+func (m *SetBreakpointRequest) GetDebuggeeId() string {
+	if m != nil {
+		return m.DebuggeeId
+	}
+	return ""
+}
+
 func (m *SetBreakpointRequest) GetBreakpoint() *Breakpoint {
 	if m != nil {
 		return m.Breakpoint
@@ -44,6 +51,13 @@ func (m *SetBreakpointRequest) GetBreakpoint() *Breakpoint {
 	return nil
 }
 
+func (m *SetBreakpointRequest) GetClientVersion() string {
+	if m != nil {
+		return m.ClientVersion
+	}
+	return ""
+}
+
 // Response for setting a breakpoint.
 type SetBreakpointResponse struct {
 	// Breakpoint resource.
@@ -79,6 +93,27 @@ func (m *GetBreakpointRequest) String() string            { return proto.Compact
 func (*GetBreakpointRequest) ProtoMessage()               {}
 func (*GetBreakpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
 
+func (m *GetBreakpointRequest) GetDebuggeeId() string {
+	if m != nil {
+		return m.DebuggeeId
+	}
+	return ""
+}
+
+func (m *GetBreakpointRequest) GetBreakpointId() string {
+	if m != nil {
+		return m.BreakpointId
+	}
+	return ""
+}
+
+func (m *GetBreakpointRequest) GetClientVersion() string {
+	if m != nil {
+		return m.ClientVersion
+	}
+	return ""
+}
+
 // Response for getting breakpoint information.
 type GetBreakpointResponse struct {
 	// Complete breakpoint state.
@@ -114,6 +149,27 @@ func (m *DeleteBreakpointRequest) String() string            { return proto.Comp
 func (*DeleteBreakpointRequest) ProtoMessage()               {}
 func (*DeleteBreakpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
 
+func (m *DeleteBreakpointRequest) GetDebuggeeId() string {
+	if m != nil {
+		return m.DebuggeeId
+	}
+	return ""
+}
+
+func (m *DeleteBreakpointRequest) GetBreakpointId() string {
+	if m != nil {
+		return m.BreakpointId
+	}
+	return ""
+}
+
+func (m *DeleteBreakpointRequest) GetClientVersion() string {
+	if m != nil {
+		return m.ClientVersion
+	}
+	return ""
+}
+
 // Request to list breakpoints.
 type ListBreakpointsRequest struct {
 	// ID of the debuggee whose breakpoints to list.
@@ -145,6 +201,27 @@ func (m *ListBreakpointsRequest) String() string            { return proto.Compa
 func (*ListBreakpointsRequest) ProtoMessage()               {}
 func (*ListBreakpointsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
 
+func (m *ListBreakpointsRequest) GetDebuggeeId() string {
+	if m != nil {
+		return m.DebuggeeId
+	}
+	return ""
+}
+
+func (m *ListBreakpointsRequest) GetIncludeAllUsers() bool {
+	if m != nil {
+		return m.IncludeAllUsers
+	}
+	return false
+}
+
+func (m *ListBreakpointsRequest) GetIncludeInactive() bool {
+	if m != nil {
+		return m.IncludeInactive
+	}
+	return false
+}
+
 func (m *ListBreakpointsRequest) GetAction() *ListBreakpointsRequest_BreakpointActionValue {
 	if m != nil {
 		return m.Action
@@ -152,6 +229,27 @@ func (m *ListBreakpointsRequest) GetAction() *ListBreakpointsRequest_BreakpointA
 	return nil
 }
 
+func (m *ListBreakpointsRequest) GetStripResults() bool {
+	if m != nil {
+		return m.StripResults
+	}
+	return false
+}
+
+func (m *ListBreakpointsRequest) GetWaitToken() string {
+	if m != nil {
+		return m.WaitToken
+	}
+	return ""
+}
+
+func (m *ListBreakpointsRequest) GetClientVersion() string {
+	if m != nil {
+		return m.ClientVersion
+	}
+	return ""
+}
+
 // Wrapper message for `Breakpoint.Action`. Defines a filter on the action
 // field of breakpoints.
 type ListBreakpointsRequest_BreakpointActionValue struct {
@@ -170,6 +268,13 @@ func (*ListBreakpointsRequest_BreakpointActionValue) Descriptor() ([]byte, []int
 	return fileDescriptor2, []int{5, 0}
 }
 
+func (m *ListBreakpointsRequest_BreakpointActionValue) GetValue() Breakpoint_Action {
+	if m != nil {
+		return m.Value
+	}
+	return Breakpoint_CAPTURE
+}
+
 // Response for listing breakpoints.
 type ListBreakpointsResponse struct {
 	// List of breakpoints matching the request.
@@ -194,6 +299,13 @@ func (m *ListBreakpointsResponse) GetBreakpoints() []*Breakpoint {
 	return nil
 }
 
+func (m *ListBreakpointsResponse) GetNextWaitToken() string {
+	if m != nil {
+		return m.NextWaitToken
+	}
+	return ""
+}
+
 // Request to list debuggees.
 type ListDebuggeesRequest struct {
 	// Project number of a Google Cloud project whose debuggees to list.
@@ -211,6 +323,27 @@ func (m *ListDebuggeesRequest) String() string            { return proto.Compact
 func (*ListDebuggeesRequest) ProtoMessage()               {}
 func (*ListDebuggeesRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
 
+func (m *ListDebuggeesRequest) GetProject() string {
+	if m != nil {
+		return m.Project
+	}
+	return ""
+}
+
+func (m *ListDebuggeesRequest) GetIncludeInactive() bool {
+	if m != nil {
+		return m.IncludeInactive
+	}
+	return false
+}
+
+func (m *ListDebuggeesRequest) GetClientVersion() string {
+	if m != nil {
+		return m.ClientVersion
+	}
+	return ""
+}
+
 // Response for listing debuggees.
 type ListDebuggeesResponse struct {
 	// List of debuggees accessible to the calling user.
@@ -457,63 +590,60 @@ var _Debugger2_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/debugger.proto",
+	Metadata: "google/devtools/clouddebugger/v2/debugger.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/debugger.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/devtools/clouddebugger/v2/debugger.proto", fileDescriptor2) }
 
 var fileDescriptor2 = []byte{
-	// 789 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x55, 0xdd, 0x6a, 0xdb, 0x48,
-	0x14, 0x66, 0x9c, 0xcd, 0x8f, 0x8f, 0xe3, 0x24, 0x3b, 0xe4, 0x47, 0x18, 0x76, 0xd7, 0x68, 0xff,
-	0xb2, 0x61, 0xd1, 0x2c, 0xca, 0xb2, 0x49, 0xf6, 0xaa, 0x31, 0x29, 0x8e, 0x4b, 0x08, 0x41, 0x6d,
-	0xd3, 0x4b, 0x23, 0xcb, 0x13, 0x75, 0x1a, 0x45, 0xa3, 0x6a, 0x46, 0x6e, 0x43, 0xc8, 0x4d, 0x0a,
-	0xbd, 0x2f, 0x7d, 0x81, 0x3e, 0x40, 0xa1, 0x4f, 0x50, 0xe8, 0x75, 0x7b, 0xd9, 0x57, 0xe8, 0x83,
-	0x14, 0xfd, 0xc5, 0xb2, 0x2b, 0x6a, 0xcb, 0x81, 0xdc, 0x18, 0xf9, 0xcc, 0x9c, 0x6f, 0xbe, 0xef,
-	0x9b, 0x73, 0xce, 0xc0, 0xa1, 0xcd, 0xb9, 0xed, 0x50, 0xcd, 0xe6, 0x8e, 0xe9, 0xda, 0x1a, 0xf7,
-	0x6d, 0x62, 0x53, 0xd7, 0xf3, 0xb9, 0xe4, 0x24, 0x5e, 0x32, 0x3d, 0x26, 0x48, 0x97, 0xf6, 0x24,
-	0xe7, 0x8e, 0x20, 0x96, 0xc3, 0x83, 0x6e, 0x97, 0x76, 0x02, 0xdb, 0xa6, 0x3e, 0xe9, 0xe9, 0x24,
-	0xfd, 0xd6, 0xa2, 0x1c, 0x5c, 0x4f, 0xf0, 0xd2, 0x04, 0x6d, 0x20, 0x41, 0xeb, 0xe9, 0xb5, 0xd6,
-	0x78, 0x27, 0x9a, 0x1e, 0x23, 0x82, 0xfa, 0x3d, 0x66, 0x51, 0x8b, 0xbb, 0x27, 0xcc, 0x26, 0xa6,
-	0xeb, 0x72, 0x69, 0x4a, 0xc6, 0x5d, 0x11, 0x1f, 0x56, 0xbb, 0x77, 0x63, 0xf2, 0xa6, 0x34, 0x13,
-	0xac, 0x4d, 0x9b, 0xc9, 0xc7, 0x41, 0x47, 0xb3, 0xf8, 0x19, 0x89, 0xf1, 0x48, 0xb4, 0xd0, 0x09,
-	0x4e, 0x88, 0x27, 0xcf, 0x3d, 0x2a, 0x08, 0x3d, 0xf3, 0xe4, 0x79, 0xfc, 0x1b, 0x27, 0xa9, 0x6f,
-	0x11, 0x2c, 0xdf, 0xa7, 0xb2, 0xe1, 0x53, 0xf3, 0xd4, 0xe3, 0xcc, 0x95, 0x06, 0x7d, 0x1a, 0x50,
-	0x21, 0xf1, 0x2f, 0x50, 0x49, 0xce, 0xa1, 0x6d, 0xd6, 0x55, 0x50, 0x1d, 0xad, 0x97, 0x0d, 0x48,
-	0x43, 0xad, 0x2e, 0x3e, 0x00, 0xe8, 0x5c, 0x67, 0x29, 0xa5, 0x3a, 0x5a, 0xaf, 0xe8, 0x7f, 0x6b,
-	0xa3, 0xcc, 0xd3, 0x32, 0x27, 0x65, 0xf2, 0xf1, 0xef, 0xb0, 0x60, 0x39, 0x8c, 0xba, 0xb2, 0xdd,
-	0xa3, 0xbe, 0x60, 0xdc, 0x55, 0x7e, 0x88, 0x4e, 0xac, 0xc6, 0xd1, 0xe3, 0x38, 0xa8, 0x52, 0x58,
-	0x19, 0x62, 0x2b, 0x3c, 0xee, 0x0a, 0x3a, 0xc4, 0x06, 0xdd, 0x8c, 0x8d, 0xfa, 0x02, 0xc1, 0x72,
-	0x73, 0x22, 0x57, 0x7e, 0x85, 0x6a, 0x1f, 0x27, 0xdc, 0x52, 0x8a, 0xb6, 0xcc, 0xf7, 0x83, 0xad,
-	0x6e, 0x01, 0xb1, 0xcd, 0x5b, 0x10, 0xfb, 0x12, 0xc1, 0xda, 0x1e, 0x75, 0xa8, 0xa4, 0xb7, 0xa7,
-	0x77, 0x2a, 0x4f, 0xef, 0xa7, 0x29, 0x58, 0x3d, 0x60, 0x22, 0xa3, 0x58, 0x8c, 0xcd, 0x63, 0x03,
-	0x7e, 0x64, 0xae, 0xe5, 0x04, 0x5d, 0xda, 0x36, 0x1d, 0xa7, 0x1d, 0x08, 0xea, 0x8b, 0x88, 0xcb,
-	0x9c, 0xb1, 0x98, 0x2c, 0xec, 0x3a, 0xce, 0xc3, 0x30, 0x8c, 0xff, 0x82, 0xa5, 0x74, 0x2f, 0x73,
-	0x4d, 0x4b, 0xb2, 0x1e, 0x8d, 0x08, 0xf5, 0xb7, 0xb6, 0x92, 0x30, 0x3e, 0x81, 0x99, 0xf0, 0x2b,
-	0xb9, 0xa1, 0x8a, 0x7e, 0x38, 0xda, 0xe5, 0x7c, 0x05, 0x19, 0xf3, 0x77, 0x23, 0xc0, 0x63, 0xd3,
-	0x09, 0xa8, 0x91, 0xa0, 0xe3, 0x3f, 0xa1, 0x2a, 0xa4, 0xcf, 0xbc, 0xb6, 0x4f, 0x45, 0xe0, 0x48,
-	0xa1, 0x4c, 0x87, 0x7c, 0x1a, 0x25, 0x05, 0x19, 0xf3, 0xd1, 0x82, 0x11, 0xc7, 0xf1, 0x4f, 0x00,
-	0xcf, 0x4c, 0x26, 0xdb, 0x92, 0x9f, 0x52, 0x57, 0x99, 0x89, 0x7c, 0x28, 0x87, 0x91, 0x07, 0x61,
-	0x20, 0xc7, 0xe9, 0xb9, 0x1c, 0xa7, 0x6b, 0x1d, 0x58, 0xc9, 0xe5, 0x83, 0x5b, 0x30, 0xdd, 0x0b,
-	0x3f, 0x22, 0x87, 0x17, 0xf4, 0xcd, 0x22, 0x45, 0xa5, 0xc5, 0x40, 0x46, 0x8c, 0xa0, 0xbe, 0x42,
-	0xb0, 0xf6, 0x8d, 0x17, 0x49, 0x01, 0x1f, 0x42, 0xa5, 0x5f, 0x20, 0x42, 0x41, 0xf5, 0xa9, 0xc2,
-	0x15, 0x9c, 0x05, 0xc0, 0x7f, 0xc0, 0xa2, 0x4b, 0x9f, 0xcb, 0x76, 0xc6, 0x9a, 0xb8, 0x0e, 0xab,
-	0x61, 0xf8, 0x51, 0x6a, 0x8f, 0x7a, 0x85, 0x60, 0x39, 0xe4, 0xb4, 0x97, 0x14, 0xce, 0x75, 0x7d,
-	0x29, 0x30, 0xeb, 0xf9, 0xfc, 0x09, 0xb5, 0x64, 0x92, 0x98, 0xfe, 0x2d, 0x52, 0x2c, 0x63, 0xb6,
-	0xb5, 0x09, 0x2b, 0x43, 0x1c, 0x12, 0x57, 0xf6, 0xa1, 0x9c, 0x56, 0x74, 0xea, 0xc9, 0xc6, 0x68,
-	0x4f, 0x52, 0x1c, 0xa3, 0x9f, 0xac, 0xbf, 0x9f, 0x85, 0x72, 0x12, 0xf7, 0x75, 0xfc, 0x11, 0x41,
-	0x75, 0x60, 0x6a, 0xe2, 0xff, 0x46, 0xc3, 0xe6, 0x3d, 0x0a, 0xb5, 0xad, 0xc2, 0x79, 0xb1, 0x34,
-	0x75, 0xff, 0xea, 0xf3, 0x97, 0xd7, 0xa5, 0x86, 0xfa, 0x6f, 0xf6, 0xc1, 0x25, 0xd7, 0x84, 0xc9,
-	0x45, 0xa6, 0xbb, 0x2f, 0x49, 0xe6, 0x6a, 0x89, 0xa0, 0xf2, 0xff, 0xec, 0x43, 0x11, 0x8a, 0x69,
-	0x16, 0x15, 0xd3, 0x9c, 0x50, 0x4c, 0xf3, 0x7b, 0x62, 0xf0, 0x9d, 0xc2, 0x62, 0x2e, 0x06, 0x66,
-	0xe5, 0x25, 0x7e, 0x87, 0x60, 0x69, 0x78, 0xf4, 0xe2, 0x9d, 0x71, 0xee, 0x3c, 0x77, 0x5c, 0xd7,
-	0x56, 0xd3, 0xd4, 0xf4, 0xe1, 0xd7, 0xee, 0x86, 0x6f, 0x7d, 0xca, 0x78, 0xe3, 0xe6, 0x8c, 0x3f,
-	0x20, 0x58, 0x1c, 0xea, 0x6a, 0xbc, 0x3d, 0xe9, 0x50, 0xac, 0xed, 0x4c, 0x90, 0x99, 0x5c, 0xc2,
-	0x76, 0x24, 0x49, 0xc7, 0xff, 0x14, 0x95, 0x84, 0xdf, 0x20, 0xa8, 0x0e, 0x34, 0xe0, 0x38, 0x15,
-	0x94, 0x37, 0x35, 0xc6, 0xa9, 0xa0, 0xdc, 0x4e, 0x57, 0x7f, 0x8e, 0xc8, 0x2b, 0x78, 0x35, 0x9f,
-	0x7c, 0x63, 0x0b, 0x7e, 0xb3, 0xf8, 0xd9, 0x48, 0xf4, 0x46, 0x35, 0x6d, 0xf2, 0xa3, 0xf0, 0xbe,
-	0x8f, 0x50, 0x67, 0x26, 0xba, 0xf8, 0xcd, 0xaf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x18, 0xd5, 0x6a,
-	0x43, 0x15, 0x0b, 0x00, 0x00,
+	// 769 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xcb, 0x6e, 0xd3, 0x40,
+	0x14, 0xd5, 0xa4, 0xf4, 0x91, 0x9b, 0xa6, 0x2d, 0xa3, 0x3e, 0xac, 0xf0, 0x8a, 0xcc, 0xab, 0x14,
+	0x64, 0x23, 0x17, 0x41, 0x0b, 0x1b, 0x1a, 0x15, 0xa5, 0x91, 0x4a, 0x55, 0x19, 0x28, 0x12, 0x9b,
+	0xc8, 0x49, 0xa6, 0x96, 0xa9, 0xeb, 0x31, 0x9e, 0x71, 0x00, 0x55, 0xdd, 0x14, 0xa9, 0x7b, 0xc4,
+	0x0f, 0xf0, 0x01, 0x48, 0x7c, 0x01, 0x12, 0x6b, 0x58, 0xf2, 0x0b, 0x7c, 0x08, 0xb2, 0x3d, 0x6e,
+	0x9c, 0x60, 0x48, 0x9c, 0x4a, 0xdd, 0xd9, 0xd7, 0x73, 0xee, 0x9c, 0x73, 0xe6, 0xcc, 0x8c, 0x41,
+	0x35, 0x29, 0x35, 0x6d, 0xa2, 0xb6, 0x48, 0x9b, 0x53, 0x6a, 0x33, 0xb5, 0x69, 0x53, 0xbf, 0xd5,
+	0x22, 0x0d, 0xdf, 0x34, 0x89, 0xa7, 0xb6, 0x35, 0x35, 0x7e, 0x56, 0x5c, 0x8f, 0x72, 0x8a, 0xcb,
+	0x11, 0x40, 0x89, 0x01, 0x4a, 0x17, 0x40, 0x69, 0x6b, 0xa5, 0x8b, 0xa2, 0xa5, 0xe1, 0x5a, 0xaa,
+	0xe1, 0x38, 0x94, 0x1b, 0xdc, 0xa2, 0x0e, 0x8b, 0xf0, 0xa5, 0xdb, 0xfd, 0x27, 0x34, 0xb8, 0x21,
+	0x06, 0x5f, 0x10, 0x83, 0xc3, 0xb7, 0x86, 0xbf, 0xab, 0x92, 0x7d, 0x97, 0xbf, 0x8f, 0x3e, 0xca,
+	0x5f, 0x10, 0xcc, 0x3e, 0x23, 0xbc, 0xe2, 0x11, 0x63, 0xcf, 0xa5, 0x96, 0xc3, 0x75, 0xf2, 0xc6,
+	0x27, 0x8c, 0xe3, 0x2b, 0x50, 0x10, 0xfd, 0x48, 0xdd, 0x6a, 0x49, 0xa8, 0x8c, 0x16, 0xf3, 0x3a,
+	0xc4, 0xa5, 0x5a, 0x0b, 0x6f, 0x02, 0x34, 0x4e, 0x50, 0x52, 0xae, 0x8c, 0x16, 0x0b, 0xda, 0x1d,
+	0xa5, 0x9f, 0x30, 0x25, 0x31, 0x53, 0x02, 0x8f, 0xaf, 0xc3, 0x54, 0xd3, 0xb6, 0x88, 0xc3, 0xeb,
+	0x6d, 0xe2, 0x31, 0x8b, 0x3a, 0xd2, 0xb9, 0x70, 0xc6, 0x62, 0x54, 0xdd, 0x89, 0x8a, 0x32, 0x81,
+	0xb9, 0x1e, 0xb6, 0xcc, 0xa5, 0x0e, 0x23, 0x3d, 0x6c, 0xd0, 0xe9, 0xd8, 0xc8, 0x1f, 0x10, 0xcc,
+	0x56, 0x87, 0x72, 0xe5, 0x2a, 0x14, 0x3b, 0x7d, 0x82, 0x21, 0xb9, 0x70, 0xc8, 0x64, 0xa7, 0x58,
+	0x6b, 0x65, 0x10, 0x5b, 0x3d, 0x03, 0xb1, 0xc7, 0x08, 0x16, 0xd6, 0x89, 0x4d, 0x38, 0x39, 0x3b,
+	0xbd, 0x23, 0x69, 0x7a, 0x7f, 0x8e, 0xc0, 0xfc, 0xa6, 0xc5, 0x12, 0x8a, 0xd9, 0xc0, 0x3c, 0x96,
+	0xe0, 0xbc, 0xe5, 0x34, 0x6d, 0xbf, 0x45, 0xea, 0x86, 0x6d, 0xd7, 0x7d, 0x46, 0x3c, 0x16, 0x72,
+	0x99, 0xd0, 0xa7, 0xc5, 0x87, 0x35, 0xdb, 0x7e, 0x11, 0x94, 0xf1, 0x2d, 0x98, 0x89, 0xc7, 0x5a,
+	0x8e, 0xd1, 0xe4, 0x56, 0x9b, 0x84, 0x84, 0x3a, 0x43, 0x6b, 0xa2, 0x8c, 0x77, 0x61, 0x2c, 0x78,
+	0x12, 0x2b, 0x54, 0xd0, 0xb6, 0xfa, 0xbb, 0x9c, 0xae, 0x20, 0x61, 0xfe, 0x5a, 0xd8, 0x70, 0xc7,
+	0xb0, 0x7d, 0xa2, 0x8b, 0xee, 0xf8, 0x26, 0x14, 0x19, 0xf7, 0x2c, 0xb7, 0xee, 0x11, 0xe6, 0xdb,
+	0x9c, 0x49, 0xa3, 0x01, 0x9f, 0x4a, 0x4e, 0x42, 0xfa, 0x64, 0xf8, 0x41, 0x8f, 0xea, 0xf8, 0x12,
+	0xc0, 0x5b, 0xc3, 0xe2, 0x75, 0x4e, 0xf7, 0x88, 0x23, 0x8d, 0x85, 0x3e, 0xe4, 0x83, 0xca, 0xf3,
+	0xa0, 0x90, 0xe2, 0xf4, 0x44, 0x8a, 0xd3, 0xa5, 0x06, 0xcc, 0xa5, 0xf2, 0xc1, 0x35, 0x18, 0x6d,
+	0x07, 0x0f, 0xa1, 0xc3, 0x53, 0xda, 0x72, 0x96, 0x50, 0x29, 0x51, 0x23, 0x3d, 0xea, 0x20, 0x7f,
+	0x44, 0xb0, 0xf0, 0x97, 0x17, 0x22, 0xc0, 0x5b, 0x50, 0xe8, 0x04, 0x84, 0x49, 0xa8, 0x3c, 0x92,
+	0x39, 0xc1, 0xc9, 0x06, 0xf8, 0x06, 0x4c, 0x3b, 0xe4, 0x1d, 0xaf, 0x27, 0xac, 0x89, 0x72, 0x58,
+	0x0c, 0xca, 0x2f, 0x63, 0x7b, 0xe4, 0x23, 0x04, 0xb3, 0x01, 0xa7, 0x75, 0x11, 0x9c, 0x93, 0x7c,
+	0x49, 0x30, 0xee, 0x7a, 0xf4, 0x35, 0x69, 0x72, 0x01, 0x8c, 0x5f, 0xb3, 0x84, 0x65, 0xc0, 0x6d,
+	0x6d, 0xc0, 0x5c, 0x0f, 0x07, 0xe1, 0xca, 0x06, 0xe4, 0xe3, 0x44, 0xc7, 0x9e, 0x2c, 0xf5, 0xf7,
+	0x24, 0xee, 0xa3, 0x77, 0xc0, 0xda, 0xb7, 0x71, 0xc8, 0x8b, 0xba, 0xa7, 0xe1, 0x1f, 0x08, 0x8a,
+	0x5d, 0xa7, 0x26, 0xbe, 0xdf, 0xbf, 0x6d, 0xda, 0xa5, 0x50, 0x7a, 0x90, 0x19, 0x17, 0x49, 0x93,
+	0x37, 0x8e, 0x7e, 0xfd, 0xfe, 0x94, 0xab, 0xc8, 0xf7, 0x92, 0x97, 0xa1, 0x7a, 0x42, 0x58, 0x3d,
+	0x48, 0xec, 0xee, 0x43, 0x35, 0xb1, 0xb4, 0x2a, 0x23, 0xfc, 0x61, 0xf2, 0xa2, 0x08, 0xc4, 0x54,
+	0xb3, 0x8a, 0xa9, 0x0e, 0x29, 0xa6, 0xfa, 0x3f, 0x31, 0xf8, 0x71, 0x66, 0x31, 0x07, 0x5d, 0x67,
+	0xe5, 0x21, 0xfe, 0x8a, 0x60, 0xa6, 0xf7, 0xe8, 0xc5, 0xab, 0x83, 0xac, 0x79, 0xea, 0x71, 0x5d,
+	0x9a, 0x8f, 0xa1, 0xf1, 0x5d, 0xaf, 0x3c, 0x09, 0xee, 0xfa, 0x98, 0xf1, 0xd2, 0xe9, 0x19, 0x7f,
+	0x47, 0x30, 0xdd, 0xb3, 0xab, 0xf1, 0xca, 0xb0, 0x87, 0x62, 0x69, 0x75, 0x08, 0xa4, 0x58, 0x84,
+	0x95, 0x50, 0x92, 0x86, 0xef, 0x66, 0x95, 0x84, 0x3f, 0x23, 0x28, 0x76, 0x6d, 0xc0, 0x41, 0x12,
+	0x94, 0x76, 0x6a, 0x0c, 0x92, 0xa0, 0xd4, 0x9d, 0x2e, 0x5f, 0x0e, 0xc9, 0x4b, 0x78, 0x3e, 0x9d,
+	0x7c, 0xe5, 0x18, 0xc1, 0xb5, 0x26, 0xdd, 0xef, 0xdb, 0xbe, 0x52, 0x8c, 0x77, 0xf9, 0x76, 0xb0,
+	0xe0, 0xdb, 0xe8, 0xd5, 0x53, 0x01, 0x31, 0xa9, 0x6d, 0x38, 0xa6, 0x42, 0x3d, 0x53, 0x35, 0x89,
+	0x13, 0xc6, 0x41, 0xfc, 0xa5, 0x1a, 0xae, 0xc5, 0xfe, 0xfd, 0xe3, 0xf8, 0xa8, 0xab, 0xd0, 0x18,
+	0x0b, 0x91, 0xcb, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x3f, 0xb3, 0x6c, 0xe2, 0x0a, 0x00,
+	0x00,
 }
diff --git a/googleapis/devtools/clouddebugger/v2/debugger.proto b/googleapis/devtools/clouddebugger/v2/debugger.proto
deleted file mode 100644
index fdbe0aaaf47551a49d58b8370295cb65ac13908d..0000000000000000000000000000000000000000
--- a/googleapis/devtools/clouddebugger/v2/debugger.proto
+++ /dev/null
@@ -1,195 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.devtools.clouddebugger.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/data.proto"; // from google/devtools/clouddebugger/v2/data.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "DebuggerProto";
-option java_package = "com.google.devtools.clouddebugger.v2";
-
-
-// The Debugger service provides the API that allows users to collect run-time
-// information from a running application, without stopping or slowing it down
-// and without modifying its state.  An application may include one or
-// more replicated processes performing the same work.
-//
-// The application is represented using the Debuggee concept. The Debugger
-// service provides a way to query for available Debuggees, but does not
-// provide a way to create one.  A debuggee is created using the Controller
-// service, usually by running a debugger agent with the application.
-//
-// The Debugger service enables the client to set one or more Breakpoints on a
-// Debuggee and collect the results of the set Breakpoints.
-service Debugger2 {
-  // Sets the breakpoint to the debuggee.
-  rpc SetBreakpoint(SetBreakpointRequest) returns (SetBreakpointResponse) {
-    option (google.api.http) = { post: "/v2/debugger/debuggees/{debuggee_id}/breakpoints/set" body: "breakpoint" };
-  }
-
-  // Gets breakpoint information.
-  rpc GetBreakpoint(GetBreakpointRequest) returns (GetBreakpointResponse) {
-    option (google.api.http) = { get: "/v2/debugger/debuggees/{debuggee_id}/breakpoints/{breakpoint_id}" };
-  }
-
-  // Deletes the breakpoint from the debuggee.
-  rpc DeleteBreakpoint(DeleteBreakpointRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v2/debugger/debuggees/{debuggee_id}/breakpoints/{breakpoint_id}" };
-  }
-
-  // Lists all breakpoints for the debuggee.
-  rpc ListBreakpoints(ListBreakpointsRequest) returns (ListBreakpointsResponse) {
-    option (google.api.http) = { get: "/v2/debugger/debuggees/{debuggee_id}/breakpoints" };
-  }
-
-  // Lists all the debuggees that the user can set breakpoints to.
-  rpc ListDebuggees(ListDebuggeesRequest) returns (ListDebuggeesResponse) {
-    option (google.api.http) = { get: "/v2/debugger/debuggees" };
-  }
-}
-
-// Request to set a breakpoint
-message SetBreakpointRequest {
-  // ID of the debuggee where the breakpoint is to be set.
-  string debuggee_id = 1;
-
-  // Breakpoint specification to set.
-  // The field 'location' of the breakpoint must be set.
-  Breakpoint breakpoint = 2;
-
-  // The client version making the call.
-  // Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
-  string client_version = 4;
-}
-
-// Response for setting a breakpoint.
-message SetBreakpointResponse {
-  // Breakpoint resource.
-  // The field `id` is guaranteed to be set (in addition to the echoed fileds).
-  Breakpoint breakpoint = 1;
-}
-
-// Request to get breakpoint information.
-message GetBreakpointRequest {
-  // ID of the debuggee whose breakpoint to get.
-  string debuggee_id = 1;
-
-  // ID of the breakpoint to get.
-  string breakpoint_id = 2;
-
-  // The client version making the call.
-  // Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
-  string client_version = 4;
-}
-
-// Response for getting breakpoint information.
-message GetBreakpointResponse {
-  // Complete breakpoint state.
-  // The fields `id` and `location` are guaranteed to be set.
-  Breakpoint breakpoint = 1;
-}
-
-// Request to delete a breakpoint.
-message DeleteBreakpointRequest {
-  // ID of the debuggee whose breakpoint to delete.
-  string debuggee_id = 1;
-
-  // ID of the breakpoint to delete.
-  string breakpoint_id = 2;
-
-  // The client version making the call.
-  // Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
-  string client_version = 3;
-}
-
-// Request to list breakpoints.
-message ListBreakpointsRequest {
-  // Wrapper message for `Breakpoint.Action`. Defines a filter on the action
-  // field of breakpoints.
-  message BreakpointActionValue {
-    // Only breakpoints with the specified action will pass the filter.
-    Breakpoint.Action value = 1;
-  }
-
-  // ID of the debuggee whose breakpoints to list.
-  string debuggee_id = 1;
-
-  // When set to `true`, the response includes the list of breakpoints set by
-  // any user. Otherwise, it includes only breakpoints set by the caller.
-  bool include_all_users = 2;
-
-  // When set to `true`, the response includes active and inactive
-  // breakpoints. Otherwise, it includes only active breakpoints.
-  bool include_inactive = 3;
-
-  // When set, the response includes only breakpoints with the specified action.
-  BreakpointActionValue action = 4;
-
-  // This field is deprecated. The following fields are always stripped out of
-  // the result: `stack_frames`, `evaluated_expressions` and `variable_table`.
-  bool strip_results = 5 [deprecated = true];
-
-  // A wait token that, if specified, blocks the call until the breakpoints
-  // list has changed, or a server selected timeout has expired.  The value
-  // should be set from the last response. The error code
-  // `google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which
-  // should be called again with the same `wait_token`.
-  string wait_token = 6;
-
-  // The client version making the call.
-  // Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
-  string client_version = 8;
-}
-
-// Response for listing breakpoints.
-message ListBreakpointsResponse {
-  // List of breakpoints matching the request.
-  // The fields `id` and `location` are guaranteed to be set on each breakpoint.
-  // The fields: `stack_frames`, `evaluated_expressions` and `variable_table`
-  // are cleared on each breakpoint regardless of it's status.
-  repeated Breakpoint breakpoints = 1;
-
-  // A wait token that can be used in the next call to `list` (REST) or
-  // `ListBreakpoints` (RPC) to block until the list of breakpoints has changes.
-  string next_wait_token = 2;
-}
-
-// Request to list debuggees.
-message ListDebuggeesRequest {
-  // Project number of a Google Cloud project whose debuggees to list.
-  string project = 2;
-
-  // When set to `true`, the result includes all debuggees. Otherwise, the
-  // result includes only debuggees that are active.
-  bool include_inactive = 3;
-
-  // The client version making the call.
-  // Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
-  string client_version = 4;
-}
-
-// Response for listing debuggees.
-message ListDebuggeesResponse {
-  // List of debuggees accessible to the calling user.
-  // Note that the `description` field is the only human readable field
-  // that should be displayed to the user.
-  // The fields `debuggee.id` and  `description` fields are guaranteed to be
-  // set on each debuggee.
-  repeated Debuggee debuggees = 1;
-}
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/common.pb.go b/googleapis/devtools/clouderrorreporting/v1beta1/common.pb.go
index fe8637d9352a61a3f5d5ba95caa1f98fff880ff1..2d1d9df122b112f9282129f1b1bdaa7ad4e881dd 100644
--- a/googleapis/devtools/clouderrorreporting/v1beta1/common.pb.go
+++ b/googleapis/devtools/clouderrorreporting/v1beta1/common.pb.go
@@ -1,15 +1,15 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/common.proto
+// source: google/devtools/clouderrorreporting/v1beta1/common.proto
 // DO NOT EDIT!
 
 /*
-Package google_devtools_clouderrorreporting_v1beta1 is a generated protocol buffer package.
+Package clouderrorreporting is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/common.proto
-	google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto
-	google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
-	google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto
+	google/devtools/clouderrorreporting/v1beta1/common.proto
+	google/devtools/clouderrorreporting/v1beta1/error_group_service.proto
+	google/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
+	google/devtools/clouderrorreporting/v1beta1/report_errors_service.proto
 
 It has these top-level messages:
 	ErrorGroup
@@ -35,12 +35,13 @@ It has these top-level messages:
 	ReportErrorEventResponse
 	ReportedErrorEvent
 */
-package google_devtools_clouderrorreporting_v1beta1 // import "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1"
+package clouderrorreporting
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
+import _ "google.golang.org/genproto/googleapis/api/monitoredres"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/timestamp"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -71,6 +72,20 @@ func (m *ErrorGroup) String() string            { return proto.CompactTextString
 func (*ErrorGroup) ProtoMessage()               {}
 func (*ErrorGroup) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *ErrorGroup) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ErrorGroup) GetGroupId() string {
+	if m != nil {
+		return m.GroupId
+	}
+	return ""
+}
+
 func (m *ErrorGroup) GetTrackingIssues() []*TrackingIssue {
 	if m != nil {
 		return m.TrackingIssues
@@ -90,6 +105,13 @@ func (m *TrackingIssue) String() string            { return proto.CompactTextStr
 func (*TrackingIssue) ProtoMessage()               {}
 func (*TrackingIssue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *TrackingIssue) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
+
 // An error event which is returned by the Error Reporting system.
 type ErrorEvent struct {
 	// Time when the event occurred as provided in the error report.
@@ -123,6 +145,13 @@ func (m *ErrorEvent) GetServiceContext() *ServiceContext {
 	return nil
 }
 
+func (m *ErrorEvent) GetMessage() string {
+	if m != nil {
+		return m.Message
+	}
+	return ""
+}
+
 func (m *ErrorEvent) GetContext() *ErrorContext {
 	if m != nil {
 		return m.Context
@@ -144,6 +173,12 @@ type ServiceContext struct {
 	// Represents the source code version that the developer provided,
 	// which could represent a version label or a Git SHA-1 hash, for example.
 	Version string `protobuf:"bytes,3,opt,name=version" json:"version,omitempty"`
+	// Type of the MonitoredResource. List of possible values:
+	// https://cloud.google.com/monitoring/api/resources
+	//
+	// Value is set automatically for incoming errors and must not be set when
+	// reporting errors.
+	ResourceType string `protobuf:"bytes,4,opt,name=resource_type,json=resourceType" json:"resource_type,omitempty"`
 }
 
 func (m *ServiceContext) Reset()                    { *m = ServiceContext{} }
@@ -151,6 +186,27 @@ func (m *ServiceContext) String() string            { return proto.CompactTextSt
 func (*ServiceContext) ProtoMessage()               {}
 func (*ServiceContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *ServiceContext) GetService() string {
+	if m != nil {
+		return m.Service
+	}
+	return ""
+}
+
+func (m *ServiceContext) GetVersion() string {
+	if m != nil {
+		return m.Version
+	}
+	return ""
+}
+
+func (m *ServiceContext) GetResourceType() string {
+	if m != nil {
+		return m.ResourceType
+	}
+	return ""
+}
+
 // A description of the context in which an error occurred.
 // This data should be provided by the application when reporting an error,
 // unless the
@@ -189,6 +245,13 @@ func (m *ErrorContext) GetHttpRequest() *HttpRequestContext {
 	return nil
 }
 
+func (m *ErrorContext) GetUser() string {
+	if m != nil {
+		return m.User
+	}
+	return ""
+}
+
 func (m *ErrorContext) GetReportLocation() *SourceLocation {
 	if m != nil {
 		return m.ReportLocation
@@ -223,6 +286,48 @@ func (m *HttpRequestContext) String() string            { return proto.CompactTe
 func (*HttpRequestContext) ProtoMessage()               {}
 func (*HttpRequestContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *HttpRequestContext) GetMethod() string {
+	if m != nil {
+		return m.Method
+	}
+	return ""
+}
+
+func (m *HttpRequestContext) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
+
+func (m *HttpRequestContext) GetUserAgent() string {
+	if m != nil {
+		return m.UserAgent
+	}
+	return ""
+}
+
+func (m *HttpRequestContext) GetReferrer() string {
+	if m != nil {
+		return m.Referrer
+	}
+	return ""
+}
+
+func (m *HttpRequestContext) GetResponseStatusCode() int32 {
+	if m != nil {
+		return m.ResponseStatusCode
+	}
+	return 0
+}
+
+func (m *HttpRequestContext) GetRemoteIp() string {
+	if m != nil {
+		return m.RemoteIp
+	}
+	return ""
+}
+
 // Indicates a location in the source code of the service for which
 // errors are reported.
 // This data should be provided by the application when reporting an error,
@@ -245,6 +350,27 @@ func (m *SourceLocation) String() string            { return proto.CompactTextSt
 func (*SourceLocation) ProtoMessage()               {}
 func (*SourceLocation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *SourceLocation) GetFilePath() string {
+	if m != nil {
+		return m.FilePath
+	}
+	return ""
+}
+
+func (m *SourceLocation) GetLineNumber() int32 {
+	if m != nil {
+		return m.LineNumber
+	}
+	return 0
+}
+
+func (m *SourceLocation) GetFunctionName() string {
+	if m != nil {
+		return m.FunctionName
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*ErrorGroup)(nil), "google.devtools.clouderrorreporting.v1beta1.ErrorGroup")
 	proto.RegisterType((*TrackingIssue)(nil), "google.devtools.clouderrorreporting.v1beta1.TrackingIssue")
@@ -256,50 +382,53 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/common.proto", fileDescriptor0)
+	proto.RegisterFile("google/devtools/clouderrorreporting/v1beta1/common.proto", fileDescriptor0)
 }
 
 var fileDescriptor0 = []byte{
-	// 651 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x54, 0xcd, 0x6e, 0x13, 0x31,
-	0x10, 0x56, 0x9a, 0xfe, 0x65, 0xd2, 0xa6, 0xc8, 0x42, 0x68, 0x09, 0x42, 0x94, 0xe5, 0x52, 0x09,
-	0x69, 0x97, 0x96, 0x53, 0xe9, 0x01, 0x68, 0xa9, 0x20, 0x12, 0xaa, 0xaa, 0x4d, 0x25, 0x8e, 0x2b,
-	0x67, 0x77, 0xb2, 0xb1, 0xd8, 0xb5, 0x8d, 0xed, 0x8d, 0xe0, 0x5d, 0x38, 0xf0, 0x38, 0x3c, 0x0c,
-	0x0f, 0x81, 0xec, 0xb5, 0xfb, 0xa3, 0x72, 0x20, 0x37, 0x7f, 0xf3, 0xf3, 0xcd, 0x37, 0xe3, 0xb1,
-	0xe1, 0x4b, 0x25, 0x44, 0x55, 0x63, 0x52, 0x89, 0x9a, 0xf2, 0x2a, 0x11, 0xaa, 0x4a, 0x2b, 0xe4,
-	0x52, 0x09, 0x23, 0xd2, 0xce, 0x45, 0x25, 0xd3, 0x69, 0x89, 0x4b, 0x23, 0x44, 0xad, 0xd3, 0xa2,
-	0x16, 0x6d, 0x89, 0x4a, 0x09, 0xa5, 0x50, 0x0a, 0x65, 0x18, 0xaf, 0xd2, 0xe5, 0xe1, 0x0c, 0x0d,
-	0x3d, 0x4c, 0x0b, 0xd1, 0x34, 0x82, 0x27, 0x2e, 0x99, 0xbc, 0xf4, 0xc4, 0x21, 0x33, 0xf9, 0x47,
-	0x66, 0xe2, 0x33, 0xc7, 0x93, 0xff, 0x53, 0x41, 0x25, 0x4b, 0x35, 0xaa, 0x25, 0x2b, 0xb0, 0x10,
-	0x7c, 0xce, 0xaa, 0x94, 0x72, 0x2e, 0x0c, 0x35, 0x4c, 0x70, 0xdd, 0xd5, 0x1d, 0x9f, 0x54, 0xcc,
-	0x2c, 0xda, 0x59, 0x52, 0x88, 0x26, 0xed, 0xe8, 0x52, 0xe7, 0x98, 0xb5, 0xf3, 0x54, 0x9a, 0x1f,
-	0x12, 0x75, 0x6a, 0x58, 0x83, 0xda, 0xd0, 0x46, 0xde, 0x9c, 0xba, 0xe4, 0xf8, 0x57, 0x0f, 0xe0,
-	0xdc, 0x4a, 0xfc, 0xa8, 0x44, 0x2b, 0x09, 0x81, 0x75, 0x4e, 0x1b, 0x8c, 0x7a, 0xfb, 0xbd, 0x83,
-	0x41, 0xe6, 0xce, 0xe4, 0x31, 0x6c, 0x57, 0xd6, 0x99, 0xb3, 0x32, 0x5a, 0x73, 0xf6, 0x2d, 0x87,
-	0x27, 0x25, 0x29, 0x60, 0xcf, 0x28, 0x5a, 0x7c, 0x65, 0xbc, 0xca, 0x99, 0xd6, 0x2d, 0xea, 0xa8,
-	0xbf, 0xdf, 0x3f, 0x18, 0x1e, 0xbd, 0x49, 0x56, 0x18, 0x46, 0x72, 0xe5, 0x39, 0x26, 0x96, 0x22,
-	0x1b, 0x99, 0xdb, 0x50, 0xc7, 0xcf, 0x61, 0xf7, 0x4e, 0x00, 0x79, 0x00, 0xfd, 0x56, 0xd5, 0x5e,
-	0xa3, 0x3d, 0xc6, 0x3f, 0xd7, 0x7c, 0x17, 0xe7, 0x4b, 0xe4, 0x86, 0x1c, 0x03, 0xa0, 0x3d, 0xe4,
-	0xb6, 0x5b, 0x17, 0x37, 0x3c, 0x1a, 0x07, 0x45, 0x61, 0x36, 0xc9, 0x55, 0x18, 0x45, 0x36, 0x70,
-	0xd1, 0x16, 0x93, 0x12, 0xf6, 0xfc, 0xbc, 0xf3, 0x42, 0x70, 0x83, 0xdf, 0x8d, 0xeb, 0x79, 0x78,
-	0x74, 0xb2, 0x52, 0x47, 0xd3, 0x8e, 0xe3, 0xac, 0xa3, 0xc8, 0x46, 0xfa, 0x0e, 0x26, 0x11, 0x6c,
-	0x35, 0xa8, 0x35, 0xad, 0x30, 0xea, 0x77, 0x13, 0xf5, 0x90, 0x4c, 0x61, 0x2b, 0xd4, 0xdd, 0x70,
-	0x75, 0x8f, 0x57, 0xaa, 0xeb, 0x86, 0x10, 0xaa, 0x06, 0xa6, 0xf8, 0x03, 0x8c, 0xa6, 0xf7, 0x04,
-	0x78, 0x49, 0xe1, 0x4a, 0x3d, 0xb4, 0x9e, 0x25, 0x2a, 0xcd, 0x04, 0x0f, 0xd2, 0x3c, 0x8c, 0xff,
-	0xf4, 0x60, 0xe7, 0x36, 0x3f, 0x99, 0xc1, 0xce, 0xc2, 0x18, 0x99, 0x2b, 0xfc, 0xd6, 0xa2, 0x36,
-	0x7e, 0xd0, 0x6f, 0x57, 0x12, 0xfc, 0xc9, 0x18, 0x99, 0x75, 0xf9, 0x41, 0xf6, 0x70, 0x71, 0x63,
-	0xb3, 0x0b, 0xd9, 0x6a, 0x54, 0x5e, 0xa5, 0x3b, 0xdb, 0x3b, 0xea, 0x88, 0xf2, 0x5a, 0x14, 0xee,
-	0x29, 0x38, 0xa9, 0x2b, 0xdf, 0x91, 0x68, 0x55, 0x81, 0x9f, 0x3d, 0x45, 0x36, 0xea, 0x22, 0x02,
-	0x8e, 0x7f, 0xf7, 0x80, 0xdc, 0x57, 0x47, 0x1e, 0xc1, 0x66, 0x83, 0x66, 0x21, 0x4a, 0xbf, 0x7f,
-	0x1e, 0x85, 0xa5, 0x5c, 0xbb, 0x5e, 0x4a, 0xf2, 0x14, 0xc0, 0xca, 0xcd, 0x69, 0x85, 0xdc, 0xf8,
-	0x61, 0x0e, 0xac, 0xe5, 0xbd, 0x35, 0x90, 0x31, 0x6c, 0x2b, 0x9c, 0xa3, 0x52, 0xa8, 0xa2, 0x75,
-	0xe7, 0xbc, 0xc6, 0xe4, 0x15, 0x3c, 0x54, 0xa8, 0xa5, 0xe0, 0x1a, 0x73, 0x6d, 0xa8, 0x69, 0x75,
-	0x5e, 0x88, 0x12, 0xdd, 0x4a, 0x6c, 0x64, 0x24, 0xf8, 0xa6, 0xce, 0x75, 0x26, 0x4a, 0x24, 0x4f,
-	0x60, 0xa0, 0xb0, 0x11, 0x06, 0x73, 0x26, 0xa3, 0xcd, 0x40, 0x67, 0x0d, 0x13, 0x19, 0x6b, 0x18,
-	0xdd, 0x6d, 0xd6, 0x86, 0xcf, 0x59, 0x8d, 0xb9, 0xa4, 0x66, 0xe1, 0x1b, 0xd9, 0xb6, 0x86, 0x4b,
-	0x6a, 0x16, 0xe4, 0x19, 0x0c, 0x6b, 0xc6, 0x31, 0xe7, 0x6d, 0x33, 0xf3, 0xa3, 0xdf, 0xc8, 0xc0,
-	0x9a, 0x2e, 0x9c, 0x85, 0xbc, 0x80, 0xdd, 0x79, 0xcb, 0x0b, 0xcb, 0x94, 0xbb, 0xef, 0xa2, 0xd3,
-	0xbf, 0x13, 0x8c, 0x17, 0xb4, 0xc1, 0xd3, 0x77, 0x60, 0xbf, 0xc7, 0x55, 0x6e, 0xe4, 0x74, 0x78,
-	0xe6, 0xfe, 0xd3, 0x4b, 0xfb, 0x42, 0x2f, 0x7b, 0xb3, 0x4d, 0xf7, 0x54, 0x5f, 0xff, 0x0d, 0x00,
-	0x00, 0xff, 0xff, 0xa2, 0xb2, 0x2c, 0x2b, 0xb2, 0x05, 0x00, 0x00,
+	// 693 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xcd, 0x6e, 0x13, 0x3b,
+	0x14, 0x56, 0x92, 0xfe, 0xe5, 0xa4, 0x4d, 0xaf, 0xac, 0xab, 0xab, 0xdc, 0x00, 0x6a, 0x49, 0x37,
+	0x95, 0x90, 0x66, 0x68, 0xd9, 0x50, 0xba, 0x40, 0x34, 0xaa, 0x4a, 0x25, 0x54, 0x55, 0x93, 0x8a,
+	0x05, 0x0b, 0x2c, 0x67, 0xe6, 0x64, 0x62, 0x31, 0x63, 0x0f, 0xb6, 0x27, 0xa2, 0xef, 0xc2, 0x82,
+	0x35, 0x0f, 0x82, 0x78, 0x18, 0x1e, 0x02, 0xd9, 0x63, 0x97, 0x56, 0xed, 0x82, 0xec, 0xfc, 0x9d,
+	0x9f, 0xef, 0x9c, 0xef, 0xf8, 0xd8, 0xf0, 0x32, 0x97, 0x32, 0x2f, 0x30, 0xce, 0x70, 0x61, 0xa4,
+	0x2c, 0x74, 0x9c, 0x16, 0xb2, 0xce, 0x50, 0x29, 0xa9, 0x14, 0x56, 0x52, 0x19, 0x2e, 0xf2, 0x78,
+	0x71, 0x30, 0x45, 0xc3, 0x0e, 0xe2, 0x54, 0x96, 0xa5, 0x14, 0x51, 0xa5, 0xa4, 0x91, 0xe4, 0x59,
+	0x93, 0x19, 0x85, 0xcc, 0xe8, 0x81, 0xcc, 0xc8, 0x67, 0x0e, 0x1f, 0xfb, 0x32, 0xac, 0xe2, 0x31,
+	0x13, 0x42, 0x1a, 0x66, 0xb8, 0x14, 0xba, 0xa1, 0x1a, 0xee, 0xdd, 0xf2, 0x96, 0x52, 0x70, 0x23,
+	0x15, 0x66, 0x54, 0xa1, 0x96, 0xb5, 0x4a, 0xd1, 0x07, 0xed, 0xf8, 0x20, 0x87, 0xa6, 0xf5, 0x2c,
+	0x36, 0xbc, 0x44, 0x6d, 0x58, 0x59, 0x35, 0x01, 0xa3, 0x6f, 0x2d, 0x80, 0x53, 0x5b, 0xfe, 0x4c,
+	0xc9, 0xba, 0x22, 0x04, 0x56, 0x04, 0x2b, 0x71, 0xd0, 0xda, 0x6d, 0xed, 0x77, 0x13, 0x77, 0x26,
+	0xff, 0xc3, 0x46, 0x6e, 0x9d, 0x94, 0x67, 0x83, 0xb6, 0xb3, 0xaf, 0x3b, 0x7c, 0x9e, 0x91, 0x14,
+	0xb6, 0x8d, 0x62, 0xe9, 0x27, 0x2e, 0x72, 0xca, 0xb5, 0xae, 0x51, 0x0f, 0x3a, 0xbb, 0x9d, 0xfd,
+	0xde, 0xe1, 0xab, 0x68, 0x09, 0xa1, 0xd1, 0x95, 0xe7, 0x38, 0xb7, 0x14, 0x49, 0xdf, 0xdc, 0x86,
+	0x7a, 0xf4, 0x14, 0xb6, 0xee, 0x04, 0x90, 0x7f, 0xa0, 0x53, 0xab, 0xc2, 0xf7, 0x68, 0x8f, 0xa3,
+	0xaf, 0x6d, 0xaf, 0xe2, 0x74, 0x81, 0xc2, 0x90, 0x23, 0x00, 0xb4, 0x07, 0x6a, 0xd5, 0xba, 0xb8,
+	0xde, 0xe1, 0x30, 0x74, 0x14, 0x46, 0x11, 0x5d, 0x85, 0x51, 0x24, 0x5d, 0x17, 0x6d, 0x31, 0xc9,
+	0x60, 0x5b, 0xa3, 0x5a, 0xf0, 0x14, 0x69, 0x2a, 0x85, 0xc1, 0x2f, 0xc6, 0x69, 0xee, 0x1d, 0x1e,
+	0x2f, 0xa5, 0x68, 0xd2, 0x70, 0x8c, 0x1b, 0x8a, 0xa4, 0xaf, 0xef, 0x60, 0x32, 0x80, 0xf5, 0x12,
+	0xb5, 0x66, 0x39, 0x0e, 0x3a, 0xcd, 0x44, 0x3d, 0x24, 0x13, 0x58, 0x0f, 0x75, 0x57, 0x5d, 0xdd,
+	0xa3, 0xa5, 0xea, 0xba, 0x21, 0x84, 0xaa, 0x81, 0x69, 0xc4, 0xa1, 0x3f, 0xb9, 0xd7, 0x80, 0x6f,
+	0x29, 0x5c, 0xa9, 0x87, 0xd6, 0xb3, 0x40, 0xa5, 0xb9, 0x14, 0xa1, 0x35, 0x0f, 0xc9, 0x1e, 0x6c,
+	0x85, 0xed, 0xa2, 0xe6, 0xba, 0xc2, 0xc1, 0x8a, 0xf3, 0x6f, 0x06, 0xe3, 0xd5, 0x75, 0x85, 0xa3,
+	0x5f, 0x2d, 0xd8, 0xbc, 0xdd, 0x04, 0x99, 0xc2, 0xe6, 0xdc, 0x98, 0x8a, 0x2a, 0xfc, 0x5c, 0xa3,
+	0x36, 0xfe, 0x36, 0x5e, 0x2f, 0xa5, 0xea, 0xad, 0x31, 0x55, 0xd2, 0xe4, 0x07, 0x6d, 0xbd, 0xf9,
+	0x1f, 0x9b, 0xdd, 0xda, 0x5a, 0xa3, 0xf2, 0x52, 0xdc, 0xd9, 0x5e, 0x64, 0x43, 0x44, 0x0b, 0x99,
+	0xba, 0x87, 0xe3, 0xf4, 0x2c, 0x7d, 0x91, 0x4e, 0xda, 0x3b, 0x4f, 0x91, 0xf4, 0x9b, 0x88, 0x80,
+	0x47, 0x3f, 0x5b, 0x40, 0xee, 0x77, 0x47, 0xfe, 0x83, 0xb5, 0x12, 0xcd, 0x5c, 0x66, 0x7e, 0x49,
+	0x3d, 0x0a, 0x9b, 0xdb, 0xbe, 0xd9, 0x5c, 0xf2, 0x04, 0xc0, 0xb6, 0x4b, 0x59, 0x8e, 0xc2, 0xf8,
+	0x89, 0x77, 0xad, 0xe5, 0x8d, 0x35, 0x90, 0x21, 0x6c, 0x28, 0x9c, 0xa1, 0x52, 0xa8, 0xfc, 0xb8,
+	0x6f, 0x30, 0x79, 0x0e, 0xff, 0x2a, 0xd4, 0x95, 0x14, 0x1a, 0xa9, 0x36, 0xcc, 0xd4, 0x9a, 0xa6,
+	0x32, 0x43, 0xb7, 0x37, 0xab, 0x09, 0x09, 0xbe, 0x89, 0x73, 0x8d, 0x65, 0x86, 0xe4, 0x11, 0x74,
+	0x15, 0x96, 0xd2, 0x20, 0xe5, 0xd5, 0x60, 0x2d, 0xd0, 0x59, 0xc3, 0x79, 0x35, 0xd2, 0xd0, 0xbf,
+	0x2b, 0xd6, 0x86, 0xcf, 0x78, 0x81, 0xb4, 0x62, 0x66, 0xee, 0x85, 0x6c, 0x58, 0xc3, 0x25, 0x33,
+	0x73, 0xb2, 0x03, 0xbd, 0x82, 0x0b, 0xa4, 0xa2, 0x2e, 0xa7, 0x7e, 0xf4, 0xab, 0x09, 0x58, 0xd3,
+	0x85, 0xb3, 0xd8, 0x75, 0x99, 0xd5, 0x22, 0xb5, 0x4c, 0xd4, 0xfd, 0x29, 0x7e, 0x5d, 0x82, 0xf1,
+	0x82, 0x95, 0x78, 0xf2, 0xa3, 0x05, 0xf6, 0x83, 0x5c, 0xe6, 0x4a, 0x4e, 0x7a, 0x63, 0xf7, 0xa3,
+	0x5e, 0xda, 0x77, 0x7c, 0xd9, 0xfa, 0xf0, 0xd1, 0xe7, 0xe6, 0xb2, 0x60, 0x22, 0x8f, 0xa4, 0xca,
+	0xe3, 0x1c, 0x85, 0x7b, 0xe5, 0x71, 0xe3, 0x62, 0x15, 0xd7, 0x7f, 0xf5, 0x57, 0x1f, 0x3f, 0xe0,
+	0xfb, 0xde, 0xde, 0x3b, 0x6b, 0x0a, 0x8c, 0xad, 0xb3, 0x79, 0x61, 0xc9, 0x4d, 0x53, 0xef, 0x0f,
+	0x4e, 0x6c, 0xe6, 0x74, 0xcd, 0x15, 0x7c, 0xf1, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xf9, 0x6b, 0x08,
+	0x8d, 0x1b, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/common.proto b/googleapis/devtools/clouderrorreporting/v1beta1/common.proto
deleted file mode 100644
index 78887d0430e68affb10384242af63128ffe24656..0000000000000000000000000000000000000000
--- a/googleapis/devtools/clouderrorreporting/v1beta1/common.proto
+++ /dev/null
@@ -1,154 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.devtools.clouderrorreporting.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "CommonProto";
-option java_package = "com.google.devtools.clouderrorreporting.v1beta1";
-
-
-// Description of a group of similar error events.
-message ErrorGroup {
-  // The group resource name.
-  // Example: <code>projects/my-project-123/groups/my-groupid</code>
-  string name = 1;
-
-  // Group IDs are unique for a given project. If the same kind of error
-  // occurs in different service contexts, it will receive the same group ID.
-  string group_id = 2;
-
-  // Associated tracking issues.
-  repeated TrackingIssue tracking_issues = 3;
-}
-
-// Information related to tracking the progress on resolving the error.
-message TrackingIssue {
-  // A URL pointing to a related entry in an issue tracking system.
-  // Example: https://github.com/user/project/issues/4
-  string url = 1;
-}
-
-// An error event which is returned by the Error Reporting system.
-message ErrorEvent {
-  // Time when the event occurred as provided in the error report.
-  // If the report did not contain a timestamp, the time the error was received
-  // by the Error Reporting system is used.
-  google.protobuf.Timestamp event_time = 1;
-
-  // The `ServiceContext` for which this error was reported.
-  ServiceContext service_context = 2;
-
-  // The stack trace that was reported or logged by the service.
-  string message = 3;
-
-  // Data about the context in which the error occurred.
-  ErrorContext context = 5;
-}
-
-// Describes a running service that sends errors.
-// Its version changes over time and multiple versions can run in parallel.
-message ServiceContext {
-  // An identifier of the service, such as the name of the
-  // executable, job, or Google App Engine service name. This field is expected
-  // to have a low number of values that are relatively stable over time, as
-  // opposed to `version`, which can be changed whenever new code is deployed.
-  //
-  // Contains the service name for error reports extracted from Google
-  // App Engine logs or `default` if the App Engine default service is used.
-  string service = 2;
-
-  // Represents the source code version that the developer provided,
-  // which could represent a version label or a Git SHA-1 hash, for example.
-  string version = 3;
-}
-
-// A description of the context in which an error occurred.
-// This data should be provided by the application when reporting an error,
-// unless the
-// error report has been generated automatically from Google App Engine logs.
-message ErrorContext {
-  // The HTTP request which was processed when the error was
-  // triggered.
-  HttpRequestContext http_request = 1;
-
-  // The user who caused or was affected by the crash.
-  // This can be a user ID, an email address, or an arbitrary token that
-  // uniquely identifies the user.
-  // When sending an error report, leave this field empty if the user was not
-  // logged in. In this case the
-  // Error Reporting system will use other data, such as remote IP address, to
-  // distinguish affected users. See `affected_users_count` in
-  // `ErrorGroupStats`.
-  string user = 2;
-
-  // The location in the source code where the decision was made to
-  // report the error, usually the place where it was logged.
-  // For a logged exception this would be the source line where the
-  // exception is logged, usually close to the place where it was
-  // caught. This value is in contrast to `Exception.cause_location`,
-  // which describes the source line where the exception was thrown.
-  SourceLocation report_location = 3;
-}
-
-// HTTP request data that is related to a reported error.
-// This data should be provided by the application when reporting an error,
-// unless the
-// error report has been generated automatically from Google App Engine logs.
-message HttpRequestContext {
-  // The type of HTTP request, such as `GET`, `POST`, etc.
-  string method = 1;
-
-  // The URL of the request.
-  string url = 2;
-
-  // The user agent information that is provided with the request.
-  string user_agent = 3;
-
-  // The referrer information that is provided with the request.
-  string referrer = 4;
-
-  // The HTTP response status code for the request.
-  int32 response_status_code = 5;
-
-  // The IP address from which the request originated.
-  // This can be IPv4, IPv6, or a token which is derived from the
-  // IP address, depending on the data that has been provided
-  // in the error report.
-  string remote_ip = 6;
-}
-
-// Indicates a location in the source code of the service for which
-// errors are reported.
-// This data should be provided by the application when reporting an error,
-// unless the error report has been generated automatically from Google App
-// Engine logs. All fields are optional.
-message SourceLocation {
-  // The source code filename, which can include a truncated relative
-  // path, or a full path from a production machine.
-  string file_path = 1;
-
-  // 1-based. 0 indicates that the line number is unknown.
-  int32 line_number = 2;
-
-  // Human-readable name of a function or method.
-  // The value can include optional context like the class or package name.
-  // For example, `my.package.MyClass.method` in case of Java.
-  string function_name = 4;
-}
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.pb.go b/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.pb.go
index 07748176956c10eb989bd7a64c2e2246cac59e0c..61f6b77f4e06b0af5de8102ed95357a8e9576c3c 100644
--- a/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.pb.go
+++ b/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto
+// source: google/devtools/clouderrorreporting/v1beta1/error_group_service.proto
 // DO NOT EDIT!
 
-package google_devtools_clouderrorreporting_v1beta1 // import "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1"
+package clouderrorreporting
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -37,6 +37,13 @@ func (m *GetGroupRequest) String() string            { return proto.CompactTextS
 func (*GetGroupRequest) ProtoMessage()               {}
 func (*GetGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *GetGroupRequest) GetGroupName() string {
+	if m != nil {
+		return m.GroupName
+	}
+	return ""
+}
+
 // A request to replace the existing data for the given group.
 type UpdateGroupRequest struct {
 	// [Required] The group which replaces the resource on the server.
@@ -168,36 +175,37 @@ var _ErrorGroupService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto",
+	Metadata: "google/devtools/clouderrorreporting/v1beta1/error_group_service.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto", fileDescriptor1)
+	proto.RegisterFile("google/devtools/clouderrorreporting/v1beta1/error_group_service.proto", fileDescriptor1)
 }
 
 var fileDescriptor1 = []byte{
-	// 358 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x52, 0xcd, 0x4a, 0x2b, 0x31,
-	0x14, 0x66, 0xee, 0xe5, 0x5e, 0x6e, 0xd3, 0xc5, 0xc5, 0x2c, 0x44, 0x06, 0x04, 0xe9, 0x4a, 0x5b,
-	0x48, 0x6c, 0x5d, 0x28, 0xa2, 0x08, 0x05, 0x29, 0x22, 0x4a, 0xa9, 0x88, 0xcb, 0x92, 0xce, 0x1c,
-	0xc3, 0xc8, 0x4c, 0xce, 0x98, 0xa4, 0xdd, 0x88, 0x1b, 0x1f, 0xc0, 0x8d, 0xaf, 0xe2, 0x0b, 0xf8,
-	0x0c, 0xbe, 0x82, 0x0f, 0x22, 0x93, 0xb4, 0x56, 0x5b, 0x05, 0xa7, 0xb8, 0xfd, 0x72, 0xf2, 0xfd,
-	0x9d, 0x43, 0x62, 0x89, 0x28, 0x53, 0x60, 0x12, 0x53, 0xa1, 0x24, 0x43, 0x2d, 0xb9, 0x04, 0x95,
-	0x6b, 0xb4, 0xc8, 0xfd, 0x93, 0xc8, 0x13, 0xc3, 0x63, 0x18, 0x59, 0xc4, 0xd4, 0xf0, 0x28, 0xc5,
-	0x61, 0x0c, 0x5a, 0xa3, 0xd6, 0x90, 0xa3, 0xb6, 0x89, 0x92, 0x7c, 0xd4, 0x1c, 0x80, 0x15, 0x4d,
-	0xee, 0xe0, 0xbe, 0xd4, 0x38, 0xcc, 0xfb, 0x06, 0xf4, 0x28, 0x89, 0x80, 0x39, 0x26, 0xda, 0x18,
-	0xab, 0x4c, 0x68, 0xd8, 0x27, 0x34, 0x6c, 0x4c, 0x13, 0x1e, 0x7d, 0xcf, 0x92, 0xc8, 0x13, 0x3e,
-	0x56, 0x89, 0x50, 0x5d, 0x26, 0x92, 0x0b, 0xa5, 0xd0, 0x0a, 0x9b, 0xa0, 0x32, 0x5e, 0x37, 0xbc,
-	0xf8, 0xc1, 0x74, 0x11, 0x66, 0x19, 0x2a, 0x4f, 0x5c, 0xdb, 0x24, 0xff, 0x3b, 0x60, 0x3b, 0x45,
-	0xd4, 0x1e, 0x5c, 0x0f, 0xc1, 0x58, 0xba, 0x4a, 0x88, 0x8f, 0xae, 0x44, 0x06, 0x2b, 0xc1, 0x5a,
-	0xb0, 0x5e, 0xe9, 0x55, 0x1c, 0x72, 0x2a, 0x32, 0xa8, 0x45, 0x84, 0x9e, 0xe7, 0xb1, 0xb0, 0xf0,
-	0xe1, 0xd3, 0x09, 0xf9, 0xe3, 0x46, 0xdc, 0x7c, 0xb5, 0xb5, 0xcd, 0x4a, 0x14, 0xc5, 0x0e, 0x0b,
-	0xd8, 0xd3, 0x79, 0x96, 0xd6, 0xfd, 0x6f, 0xb2, 0x34, 0x45, 0xcf, 0x7c, 0x3b, 0xf4, 0x31, 0x20,
-	0xff, 0x26, 0x6e, 0xe9, 0x5e, 0x29, 0x89, 0x99, 0x90, 0xe1, 0xa2, 0x06, 0x6b, 0xcd, 0xbb, 0xe7,
-	0x97, 0x87, 0x5f, 0x0d, 0xba, 0xf1, 0xd6, 0xe7, 0xcd, 0xb4, 0xad, 0xfd, 0x5c, 0xe3, 0x15, 0x44,
-	0xd6, 0xf0, 0x3a, 0x77, 0xa8, 0xe1, 0xf5, 0x5b, 0xfa, 0x14, 0x90, 0xea, 0xbb, 0xca, 0xe8, 0x41,
-	0x29, 0xed, 0xf9, 0xb2, 0x17, 0x37, 0xbf, 0xe3, 0xcc, 0xb7, 0xc2, 0x59, 0xf3, 0xec, 0x4b, 0xf3,
-	0xbb, 0x7e, 0x21, 0xed, 0x63, 0x52, 0xdc, 0x4d, 0x19, 0xdd, 0xf6, 0xf2, 0xdc, 0x02, 0xbb, 0xc5,
-	0xc9, 0x75, 0x83, 0xc1, 0x5f, 0x77, 0x7b, 0x5b, 0xaf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x2f, 0x68,
-	0x09, 0x8a, 0xb4, 0x03, 0x00, 0x00,
+	// 381 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x92, 0x4f, 0x4a, 0x03, 0x31,
+	0x18, 0xc5, 0x99, 0x8a, 0x62, 0xd3, 0x85, 0x98, 0x85, 0xc8, 0xa0, 0x20, 0x75, 0xa3, 0x2d, 0x24,
+	0x4e, 0x5d, 0x58, 0xfc, 0x83, 0x50, 0x29, 0x5d, 0x29, 0xa5, 0xa2, 0x0b, 0x17, 0x96, 0x74, 0x1a,
+	0xc2, 0xc8, 0x4c, 0xbe, 0x31, 0x93, 0x76, 0x23, 0x6e, 0x3c, 0x80, 0x1b, 0x6f, 0xe1, 0xda, 0x0b,
+	0x78, 0x04, 0xf1, 0x0a, 0x1e, 0x44, 0x26, 0xe9, 0x1f, 0x6d, 0x2b, 0x38, 0xdd, 0xbe, 0xe4, 0x7b,
+	0xef, 0x97, 0x97, 0x0f, 0xd5, 0x05, 0x80, 0x08, 0x39, 0xed, 0xf2, 0xbe, 0x06, 0x08, 0x13, 0xea,
+	0x87, 0xd0, 0xeb, 0x72, 0xa5, 0x40, 0x29, 0x1e, 0x83, 0xd2, 0x81, 0x14, 0xb4, 0xef, 0x75, 0xb8,
+	0x66, 0x1e, 0x35, 0x72, 0x5b, 0x28, 0xe8, 0xc5, 0xed, 0x84, 0xab, 0x7e, 0xe0, 0x73, 0x12, 0x2b,
+	0xd0, 0x80, 0xcb, 0xd6, 0x86, 0x0c, 0x6d, 0xc8, 0x0c, 0x1b, 0x32, 0xb0, 0x71, 0x37, 0x06, 0x99,
+	0x2c, 0x0e, 0x28, 0x93, 0x12, 0x34, 0xd3, 0x01, 0xc8, 0xc4, 0x5a, 0xb9, 0xd5, 0x2c, 0x44, 0x3e,
+	0x44, 0x11, 0x48, 0x3b, 0x59, 0xdc, 0x43, 0x2b, 0x0d, 0xae, 0x1b, 0x29, 0x5e, 0x8b, 0xdf, 0xf7,
+	0x78, 0xa2, 0xf1, 0x26, 0x42, 0x16, 0x57, 0xb2, 0x88, 0xaf, 0x3b, 0x5b, 0xce, 0x4e, 0xbe, 0x95,
+	0x37, 0xca, 0x05, 0x8b, 0x78, 0xd1, 0x47, 0xf8, 0x2a, 0xee, 0x32, 0xcd, 0x7f, 0x0d, 0x9d, 0xa3,
+	0x45, 0x73, 0xc5, 0xdc, 0x2f, 0x54, 0x0e, 0x48, 0x86, 0xc7, 0x91, 0x7a, 0x2a, 0x5b, 0x3b, 0xeb,
+	0x52, 0x79, 0x5e, 0x40, 0xab, 0x63, 0xf5, 0xd2, 0xf6, 0x86, 0xdf, 0x1c, 0xb4, 0x3c, 0xa4, 0xc5,
+	0xc7, 0x99, 0x22, 0x26, 0x1e, 0xe9, 0xce, 0x0b, 0x58, 0xf4, 0x9e, 0x3e, 0xbf, 0x5e, 0x72, 0x65,
+	0xbc, 0x3b, 0xea, 0xf3, 0x61, 0xdc, 0xd6, 0x49, 0xac, 0xe0, 0x8e, 0xfb, 0x3a, 0xa1, 0x25, 0x6a,
+	0xd4, 0x84, 0x96, 0x1e, 0xf1, 0xbb, 0x83, 0x0a, 0x3f, 0x2a, 0xc3, 0xa7, 0x99, 0xb2, 0xa7, 0xcb,
+	0x9e, 0x1f, 0xbe, 0x6a, 0xe0, 0x2b, 0xee, 0x24, 0x3c, 0xf9, 0x13, 0xfe, 0xd0, 0x7e, 0x48, 0xed,
+	0xc3, 0x41, 0xe9, 0xe2, 0x64, 0x09, 0xae, 0xad, 0x4d, 0xfd, 0x60, 0x33, 0xdd, 0xb9, 0xa6, 0x73,
+	0x73, 0x3b, 0xb0, 0x11, 0x10, 0x32, 0x29, 0x08, 0x28, 0x41, 0x05, 0x97, 0x66, 0x23, 0xa9, 0x3d,
+	0x62, 0x71, 0x90, 0xfc, 0x6b, 0x9d, 0x8f, 0x66, 0x9c, 0xbd, 0xe6, 0xb6, 0x1b, 0x36, 0xe0, 0x2c,
+	0x3d, 0xb4, 0x0d, 0xb4, 0x46, 0x7c, 0xd7, 0x5e, 0x2d, 0x9d, 0xec, 0x2c, 0x99, 0xc0, 0xfd, 0xef,
+	0x00, 0x00, 0x00, 0xff, 0xff, 0x9c, 0xb7, 0x37, 0x79, 0xd0, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto b/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto
deleted file mode 100644
index 66f10e828b0d0a949e8ee96b62f3662a55c7be35..0000000000000000000000000000000000000000
--- a/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.devtools.clouderrorreporting.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/common.proto"; // from google/devtools/clouderrorreporting/v1beta1/common.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ErrorGroupServiceProto";
-option java_package = "com.google.devtools.clouderrorreporting.v1beta1";
-
-
-// Service for retrieving and updating individual error groups.
-service ErrorGroupService {
-  // Get the specified group.
-  rpc GetGroup(GetGroupRequest) returns (ErrorGroup) {
-    option (google.api.http) = { get: "/v1beta1/{group_name=projects/*/groups/*}" };
-  }
-
-  // Replace the data for the specified group.
-  // Fails if the group does not exist.
-  rpc UpdateGroup(UpdateGroupRequest) returns (ErrorGroup) {
-    option (google.api.http) = { put: "/v1beta1/{group.name=projects/*/groups/*}" body: "group" };
-  }
-}
-
-// A request to return an individual group.
-message GetGroupRequest {
-  // [Required] The group resource name. Written as
-  // <code>projects/<var>projectID</var>/groups/<var>group_name</var></code>.
-  // Call
-  // <a href="/error-reporting/reference/rest/v1beta1/projects.groupStats/list">
-  // <code>groupStats.list</code></a> to return a list of groups belonging to
-  // this project.
-  //
-  // Example: <code>projects/my-project-123/groups/my-group</code>
-  string group_name = 1;
-}
-
-// A request to replace the existing data for the given group.
-message UpdateGroupRequest {
-  // [Required] The group which replaces the resource on the server.
-  ErrorGroup group = 1;
-}
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.pb.go b/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.pb.go
index bd0f19e393c9166e94521132a4a7c9e736b84a03..f1100262ed72c59d84ff1ea8fdcf6a3a8dc855d6 100644
--- a/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.pb.go
+++ b/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
+// source: google/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
 // DO NOT EDIT!
 
-package google_devtools_clouderrorreporting_v1beta1 // import "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1"
+package clouderrorreporting
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/duration"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -156,7 +156,9 @@ type ListGroupStatsRequest struct {
 	// context that matches the filter.
 	// Data for all service contexts is returned if this field is not specified.
 	ServiceFilter *ServiceContextFilter `protobuf:"bytes,3,opt,name=service_filter,json=serviceFilter" json:"service_filter,omitempty"`
-	// [Required] List data for the given time range.
+	// [Optional] List data for the given time range.
+	// If not set a default time range is used. The field time_range_begin
+	// in the response will specify the beginning of this time range.
 	// Only <code>ErrorGroupStats</code> with a non-zero count in the given time
 	// range are returned, unless the request contains an explicit group_id list.
 	// If a group_id list is given, also <code>ErrorGroupStats</code> with zero
@@ -188,6 +190,20 @@ func (m *ListGroupStatsRequest) String() string            { return proto.Compac
 func (*ListGroupStatsRequest) ProtoMessage()               {}
 func (*ListGroupStatsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
+func (m *ListGroupStatsRequest) GetProjectName() string {
+	if m != nil {
+		return m.ProjectName
+	}
+	return ""
+}
+
+func (m *ListGroupStatsRequest) GetGroupId() []string {
+	if m != nil {
+		return m.GroupId
+	}
+	return nil
+}
+
 func (m *ListGroupStatsRequest) GetServiceFilter() *ServiceContextFilter {
 	if m != nil {
 		return m.ServiceFilter
@@ -209,6 +225,13 @@ func (m *ListGroupStatsRequest) GetTimedCountDuration() *google_protobuf2.Durati
 	return nil
 }
 
+func (m *ListGroupStatsRequest) GetAlignment() TimedCountAlignment {
+	if m != nil {
+		return m.Alignment
+	}
+	return TimedCountAlignment_ERROR_COUNT_ALIGNMENT_UNSPECIFIED
+}
+
 func (m *ListGroupStatsRequest) GetAlignmentTime() *google_protobuf1.Timestamp {
 	if m != nil {
 		return m.AlignmentTime
@@ -216,6 +239,27 @@ func (m *ListGroupStatsRequest) GetAlignmentTime() *google_protobuf1.Timestamp {
 	return nil
 }
 
+func (m *ListGroupStatsRequest) GetOrder() ErrorGroupOrder {
+	if m != nil {
+		return m.Order
+	}
+	return ErrorGroupOrder_GROUP_ORDER_UNSPECIFIED
+}
+
+func (m *ListGroupStatsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListGroupStatsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Contains a set of requested error group stats.
 type ListGroupStatsResponse struct {
 	// The error group stats which match the given request.
@@ -224,6 +268,11 @@ type ListGroupStatsResponse struct {
 	// Pass this token, along with the same query parameters as the first
 	// request, to view the next page of results.
 	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+	// The timestamp specifies the start time to which the request was restricted.
+	// The start time is set based on the requested time range. It may be adjusted
+	// to a later time if a project has exceeded the storage quota and older data
+	// has been deleted.
+	TimeRangeBegin *google_protobuf1.Timestamp `protobuf:"bytes,4,opt,name=time_range_begin,json=timeRangeBegin" json:"time_range_begin,omitempty"`
 }
 
 func (m *ListGroupStatsResponse) Reset()                    { *m = ListGroupStatsResponse{} }
@@ -238,6 +287,20 @@ func (m *ListGroupStatsResponse) GetErrorGroupStats() []*ErrorGroupStats {
 	return nil
 }
 
+func (m *ListGroupStatsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+func (m *ListGroupStatsResponse) GetTimeRangeBegin() *google_protobuf1.Timestamp {
+	if m != nil {
+		return m.TimeRangeBegin
+	}
+	return nil
+}
+
 // Data extracted for a specific group based on certain filter criteria,
 // such as a given time period and/or service filter.
 type ErrorGroupStats struct {
@@ -301,6 +364,20 @@ func (m *ErrorGroupStats) GetGroup() *ErrorGroup {
 	return nil
 }
 
+func (m *ErrorGroupStats) GetCount() int64 {
+	if m != nil {
+		return m.Count
+	}
+	return 0
+}
+
+func (m *ErrorGroupStats) GetAffectedUsersCount() int64 {
+	if m != nil {
+		return m.AffectedUsersCount
+	}
+	return 0
+}
+
 func (m *ErrorGroupStats) GetTimedCounts() []*TimedCount {
 	if m != nil {
 		return m.TimedCounts
@@ -329,6 +406,13 @@ func (m *ErrorGroupStats) GetAffectedServices() []*ServiceContext {
 	return nil
 }
 
+func (m *ErrorGroupStats) GetNumAffectedServices() int32 {
+	if m != nil {
+		return m.NumAffectedServices
+	}
+	return 0
+}
+
 func (m *ErrorGroupStats) GetRepresentative() *ErrorEvent {
 	if m != nil {
 		return m.Representative
@@ -353,6 +437,13 @@ func (m *TimedCount) String() string            { return proto.CompactTextString
 func (*TimedCount) ProtoMessage()               {}
 func (*TimedCount) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
 
+func (m *TimedCount) GetCount() int64 {
+	if m != nil {
+		return m.Count
+	}
+	return 0
+}
+
 func (m *TimedCount) GetStartTime() *google_protobuf1.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -371,7 +462,8 @@ func (m *TimedCount) GetEndTime() *google_protobuf1.Timestamp {
 type ListEventsRequest struct {
 	// [Required] The resource name of the Google Cloud Platform project. Written
 	// as `projects/` plus the
-	// [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).
+	// [Google Cloud Platform project
+	// ID](https://support.google.com/cloud/answer/6158840).
 	// Example: `projects/my-project-123`.
 	ProjectName string `protobuf:"bytes,1,opt,name=project_name,json=projectName" json:"project_name,omitempty"`
 	// [Required] The group for which events shall be returned.
@@ -381,6 +473,8 @@ type ListEventsRequest struct {
 	// Data for all service contexts is returned if this field is not specified.
 	ServiceFilter *ServiceContextFilter `protobuf:"bytes,3,opt,name=service_filter,json=serviceFilter" json:"service_filter,omitempty"`
 	// [Optional] List only data for the given time range.
+	// If not set a default time range is used. The field time_range_begin
+	// in the response will specify the beginning of this time range.
 	TimeRange *QueryTimeRange `protobuf:"bytes,4,opt,name=time_range,json=timeRange" json:"time_range,omitempty"`
 	// [Optional] The maximum number of results to return per response.
 	PageSize int32 `protobuf:"varint,6,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
@@ -393,6 +487,20 @@ func (m *ListEventsRequest) String() string            { return proto.CompactTex
 func (*ListEventsRequest) ProtoMessage()               {}
 func (*ListEventsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
 
+func (m *ListEventsRequest) GetProjectName() string {
+	if m != nil {
+		return m.ProjectName
+	}
+	return ""
+}
+
+func (m *ListEventsRequest) GetGroupId() string {
+	if m != nil {
+		return m.GroupId
+	}
+	return ""
+}
+
 func (m *ListEventsRequest) GetServiceFilter() *ServiceContextFilter {
 	if m != nil {
 		return m.ServiceFilter
@@ -407,6 +515,20 @@ func (m *ListEventsRequest) GetTimeRange() *QueryTimeRange {
 	return nil
 }
 
+func (m *ListEventsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListEventsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Contains a set of requested error events.
 type ListEventsResponse struct {
 	// The error events which match the given request.
@@ -415,6 +537,8 @@ type ListEventsResponse struct {
 	// Pass this token, along with the same query parameters as the first
 	// request, to view the next page of results.
 	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+	// The timestamp specifies the start time to which the request was restricted.
+	TimeRangeBegin *google_protobuf1.Timestamp `protobuf:"bytes,4,opt,name=time_range_begin,json=timeRangeBegin" json:"time_range_begin,omitempty"`
 }
 
 func (m *ListEventsResponse) Reset()                    { *m = ListEventsResponse{} }
@@ -429,6 +553,20 @@ func (m *ListEventsResponse) GetErrorEvents() []*ErrorEvent {
 	return nil
 }
 
+func (m *ListEventsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+func (m *ListEventsResponse) GetTimeRangeBegin() *google_protobuf1.Timestamp {
+	if m != nil {
+		return m.TimeRangeBegin
+	}
+	return nil
+}
+
 // Requests might be rejected or the resulting timed count durations might be
 // adjusted for lower durations.
 type QueryTimeRange struct {
@@ -441,6 +579,13 @@ func (m *QueryTimeRange) String() string            { return proto.CompactTextSt
 func (*QueryTimeRange) ProtoMessage()               {}
 func (*QueryTimeRange) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
 
+func (m *QueryTimeRange) GetPeriod() QueryTimeRange_Period {
+	if m != nil {
+		return m.Period
+	}
+	return QueryTimeRange_PERIOD_UNSPECIFIED
+}
+
 // Specifies criteria for filtering a subset of service contexts.
 // The fields in the filter correspond to the fields in `ServiceContext`.
 // Only exact, case-sensitive matches are supported.
@@ -452,6 +597,9 @@ type ServiceContextFilter struct {
 	// [Optional] The exact value to match against
 	// [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).
 	Version string `protobuf:"bytes,3,opt,name=version" json:"version,omitempty"`
+	// [Optional] The exact value to match against
+	// [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).
+	ResourceType string `protobuf:"bytes,4,opt,name=resource_type,json=resourceType" json:"resource_type,omitempty"`
 }
 
 func (m *ServiceContextFilter) Reset()                    { *m = ServiceContextFilter{} }
@@ -459,11 +607,33 @@ func (m *ServiceContextFilter) String() string            { return proto.Compact
 func (*ServiceContextFilter) ProtoMessage()               {}
 func (*ServiceContextFilter) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
 
+func (m *ServiceContextFilter) GetService() string {
+	if m != nil {
+		return m.Service
+	}
+	return ""
+}
+
+func (m *ServiceContextFilter) GetVersion() string {
+	if m != nil {
+		return m.Version
+	}
+	return ""
+}
+
+func (m *ServiceContextFilter) GetResourceType() string {
+	if m != nil {
+		return m.ResourceType
+	}
+	return ""
+}
+
 // Deletes all events in the project.
 type DeleteEventsRequest struct {
 	// [Required] The resource name of the Google Cloud Platform project. Written
 	// as `projects/` plus the
-	// [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).
+	// [Google Cloud Platform project
+	// ID](https://support.google.com/cloud/answer/6158840).
 	// Example: `projects/my-project-123`.
 	ProjectName string `protobuf:"bytes,1,opt,name=project_name,json=projectName" json:"project_name,omitempty"`
 }
@@ -473,6 +643,13 @@ func (m *DeleteEventsRequest) String() string            { return proto.CompactT
 func (*DeleteEventsRequest) ProtoMessage()               {}
 func (*DeleteEventsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{8} }
 
+func (m *DeleteEventsRequest) GetProjectName() string {
+	if m != nil {
+		return m.ProjectName
+	}
+	return ""
+}
+
 // Response message for deleting error events.
 type DeleteEventsResponse struct {
 }
@@ -639,93 +816,95 @@ var _ErrorStatsService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto",
+	Metadata: "google/devtools/clouderrorreporting/v1beta1/error_stats_service.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto", fileDescriptor2)
+	proto.RegisterFile("google/devtools/clouderrorreporting/v1beta1/error_stats_service.proto", fileDescriptor2)
 }
 
 var fileDescriptor2 = []byte{
-	// 1270 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x57, 0xdf, 0x6e, 0x1b, 0xc5,
-	0x17, 0xfe, 0xad, 0x1d, 0x27, 0xf1, 0xb1, 0xe3, 0x38, 0x93, 0x34, 0xdd, 0xba, 0xfa, 0x49, 0xa9,
-	0x25, 0x50, 0x48, 0x85, 0xb7, 0x49, 0x55, 0x4a, 0x55, 0xfe, 0xd4, 0xb1, 0x37, 0x25, 0x34, 0xb5,
-	0xdd, 0xb1, 0xad, 0x8a, 0x5c, 0xb0, 0xda, 0xd8, 0x27, 0x9b, 0x05, 0x7b, 0x77, 0xd9, 0x19, 0x47,
-	0x6d, 0x51, 0x25, 0xc4, 0x1d, 0xd7, 0x70, 0x81, 0xc4, 0x1b, 0xf0, 0x14, 0x5c, 0x71, 0x8d, 0xd4,
-	0x57, 0xe0, 0x1e, 0x89, 0x27, 0x40, 0x33, 0xb3, 0xfe, 0x9b, 0x88, 0xc4, 0x4e, 0x2f, 0xb8, 0xdb,
-	0x39, 0x67, 0xce, 0x77, 0xbe, 0x39, 0xf3, 0xcd, 0x99, 0x59, 0x68, 0x3b, 0xbe, 0xef, 0x74, 0xb0,
-	0xe0, 0xf8, 0x1d, 0xdb, 0x73, 0x0a, 0x7e, 0xe8, 0x18, 0x0e, 0x7a, 0x41, 0xe8, 0x73, 0xdf, 0x50,
-	0x2e, 0x3b, 0x70, 0x99, 0xd1, 0xc6, 0x53, 0xee, 0xfb, 0x1d, 0x66, 0xb4, 0x3a, 0x7e, 0xaf, 0x8d,
-	0x61, 0xe8, 0x87, 0x21, 0x06, 0x7e, 0xc8, 0x5d, 0xcf, 0x31, 0x4e, 0xb7, 0x8f, 0x90, 0xdb, 0xdb,
-	0x86, 0x34, 0x5b, 0x8c, 0xdb, 0x9c, 0x59, 0x0c, 0xc3, 0x53, 0xb7, 0x85, 0x05, 0x89, 0x44, 0x6e,
-	0x47, 0x59, 0xfa, 0x30, 0x85, 0x73, 0x60, 0x0a, 0x11, 0x4c, 0x6e, 0xff, 0x72, 0x94, 0xec, 0xc0,
-	0x35, 0xa2, 0x2c, 0x2d, 0xdf, 0x3b, 0x76, 0x1d, 0xc3, 0xf6, 0x3c, 0x9f, 0xdb, 0xdc, 0xf5, 0x3d,
-	0xa6, 0xf2, 0xe6, 0x9e, 0xbf, 0xc5, 0xd5, 0xb5, 0xfc, 0x6e, 0xd7, 0xf7, 0x22, 0xe0, 0x07, 0x8e,
-	0xcb, 0x4f, 0x7a, 0x47, 0x85, 0x96, 0xdf, 0x35, 0x14, 0xb8, 0x21, 0x1d, 0x47, 0xbd, 0x63, 0x23,
-	0xe0, 0x2f, 0x03, 0x64, 0x46, 0xbb, 0x17, 0x4a, 0x2e, 0x83, 0x8f, 0x28, 0xf4, 0xe1, 0xc5, 0xa1,
-	0xdc, 0xed, 0x22, 0xe3, 0x76, 0x37, 0x18, 0x7e, 0xa9, 0xe0, 0xfc, 0x2f, 0x09, 0xb8, 0x76, 0xe0,
-	0x32, 0xfe, 0x38, 0xf4, 0x7b, 0x41, 0x5d, 0x54, 0x9a, 0xe2, 0x37, 0x3d, 0x64, 0x9c, 0xdc, 0x82,
-	0x74, 0x10, 0xfa, 0x5f, 0x61, 0x8b, 0x5b, 0x9e, 0xdd, 0x45, 0x5d, 0xdb, 0xd0, 0x36, 0x93, 0x34,
-	0x15, 0xd9, 0x2a, 0x76, 0x17, 0xc9, 0x0d, 0x58, 0x74, 0x44, 0x9c, 0xe5, 0xb6, 0xf5, 0xd8, 0x46,
-	0x7c, 0x33, 0x49, 0x17, 0xe4, 0x78, 0xbf, 0x4d, 0x4e, 0x20, 0x13, 0xd5, 0xd2, 0x3a, 0x76, 0x3b,
-	0x1c, 0x43, 0x3d, 0xbe, 0xa1, 0x6d, 0xa6, 0x76, 0x8a, 0x85, 0x29, 0x76, 0xae, 0x50, 0x57, 0x10,
-	0x25, 0xdf, 0xe3, 0xf8, 0x82, 0xef, 0x49, 0x20, 0xba, 0x14, 0x01, 0xab, 0x21, 0x39, 0x04, 0x10,
-	0x8b, 0xb2, 0x42, 0xdb, 0x73, 0x50, 0x4f, 0xc8, 0x2c, 0x0f, 0xa7, 0xca, 0xf2, 0xac, 0x87, 0xe1,
-	0xcb, 0x86, 0xdb, 0x45, 0x2a, 0x20, 0x68, 0x92, 0xf7, 0x3f, 0xc9, 0x13, 0x58, 0x13, 0x83, 0xb6,
-	0xd5, 0xf2, 0x7b, 0x1e, 0xb7, 0xfa, 0x85, 0xd7, 0xe7, 0x65, 0x96, 0x1b, 0xfd, 0x2c, 0xfd, 0x72,
-	0x17, 0xca, 0xd1, 0x04, 0x4a, 0x64, 0x58, 0x49, 0x44, 0xf5, 0x6d, 0xe4, 0x4b, 0x48, 0xda, 0x1d,
-	0xd7, 0xf1, 0xba, 0xe8, 0x71, 0x7d, 0x61, 0x43, 0xdb, 0xcc, 0xec, 0x3c, 0x9a, 0x8a, 0x67, 0x63,
-	0x80, 0x59, 0xec, 0xe3, 0xd0, 0x21, 0x24, 0x29, 0x42, 0x66, 0x30, 0xb0, 0x44, 0x7e, 0x7d, 0x51,
-	0xd2, 0xcc, 0x9d, 0xa1, 0xd9, 0xe8, 0x8b, 0x80, 0x2e, 0x0d, 0x22, 0x84, 0x8d, 0x50, 0x48, 0xf8,
-	0x61, 0x1b, 0x43, 0x3d, 0x29, 0xe9, 0x7d, 0x34, 0x15, 0x3d, 0x53, 0x98, 0xa5, 0x8e, 0xaa, 0x02,
-	0x83, 0x2a, 0x28, 0x72, 0x13, 0x92, 0x81, 0xed, 0xa0, 0xc5, 0xdc, 0x57, 0xa8, 0xa7, 0x36, 0xb4,
-	0xcd, 0x04, 0x5d, 0x14, 0x86, 0xba, 0xfb, 0x0a, 0xc9, 0xff, 0x01, 0xa4, 0x93, 0xfb, 0x5f, 0xa3,
-	0xa7, 0xa7, 0xa5, 0xc4, 0xe4, 0xf4, 0x86, 0x30, 0xe4, 0x7f, 0xd5, 0x60, 0x7d, 0x52, 0x9d, 0x2c,
-	0xf0, 0x3d, 0x86, 0xe4, 0x04, 0x56, 0x54, 0x7b, 0x50, 0x0a, 0x94, 0x4d, 0x42, 0xd7, 0x36, 0xe2,
-	0x9b, 0xa9, 0x99, 0x69, 0xab, 0x04, 0xcb, 0x38, 0x6e, 0x20, 0xef, 0xc2, 0xb2, 0x87, 0x2f, 0xb8,
-	0x35, 0x42, 0x34, 0x26, 0x89, 0x2e, 0x09, 0x73, 0x6d, 0x40, 0xf6, 0x87, 0x04, 0x2c, 0x4f, 0x80,
-	0x91, 0xa7, 0x90, 0x90, 0xfc, 0xe4, 0xe9, 0x49, 0xed, 0xdc, 0x9f, 0x91, 0x19, 0x55, 0x28, 0x64,
-	0x0d, 0x12, 0x52, 0x89, 0x92, 0x40, 0x9c, 0xaa, 0x01, 0xb9, 0x03, 0x6b, 0xf6, 0xf1, 0x31, 0xb6,
-	0x38, 0xb6, 0xad, 0x1e, 0xc3, 0x90, 0x29, 0xb9, 0xca, 0x13, 0x17, 0xa7, 0xa4, 0xef, 0x6b, 0x0a,
-	0x97, 0x94, 0x0f, 0x39, 0x84, 0xf4, 0x88, 0xae, 0x99, 0x3e, 0x27, 0xeb, 0x76, 0x7f, 0x46, 0x35,
-	0xd2, 0xd4, 0x50, 0xed, 0x8c, 0xec, 0xc2, 0xf2, 0xb1, 0x1b, 0x32, 0x6e, 0x31, 0x44, 0x4f, 0xe9,
-	0x30, 0x71, 0xb1, 0x0e, 0x65, 0x48, 0x1d, 0xd1, 0x93, 0x3a, 0x7c, 0x04, 0x99, 0x8e, 0x3d, 0x06,
-	0x31, 0x7f, 0x21, 0x44, 0x5a, 0x44, 0x0c, 0x10, 0x4e, 0x60, 0x65, 0x50, 0x93, 0xa8, 0x5f, 0x30,
-	0x7d, 0x41, 0x2e, 0xf3, 0xe1, 0x15, 0x5a, 0x10, 0xcd, 0xf6, 0x51, 0x23, 0x3b, 0x23, 0x3b, 0x70,
-	0xcd, 0xeb, 0x75, 0xad, 0xb3, 0xd9, 0x16, 0xa5, 0xd6, 0x57, 0xbd, 0x5e, 0xb7, 0x38, 0x19, 0x63,
-	0x41, 0x26, 0xc4, 0x20, 0x44, 0x86, 0x9e, 0xb8, 0x5f, 0x4e, 0x51, 0x1e, 0xb8, 0x99, 0xf4, 0x61,
-	0x9e, 0x8a, 0x36, 0x30, 0x01, 0x97, 0xff, 0x49, 0x03, 0x18, 0x6e, 0xd0, 0x50, 0x37, 0xda, 0xa8,
-	0x6e, 0x1e, 0x00, 0x30, 0x6e, 0x87, 0x51, 0xb3, 0x88, 0x5d, 0x58, 0xe1, 0xa4, 0x9c, 0x2d, 0xcb,
-	0x7b, 0x0f, 0x16, 0xd1, 0x6b, 0xab, 0xc0, 0xf8, 0x85, 0x81, 0x0b, 0xe8, 0xb5, 0xc5, 0x28, 0xff,
-	0x26, 0x06, 0x2b, 0xe2, 0x3c, 0x4b, 0xd2, 0xb3, 0xdf, 0x34, 0xda, 0x7f, 0xe1, 0xa6, 0x99, 0x7b,
-	0xab, 0x37, 0xcd, 0x58, 0x97, 0x9c, 0xff, 0xd7, 0x2e, 0xb9, 0x30, 0xd9, 0x25, 0x7f, 0xd6, 0x80,
-	0x8c, 0x56, 0x35, 0xea, 0x90, 0x87, 0x90, 0x56, 0x1d, 0x12, 0xa5, 0x3d, 0x6a, 0x8e, 0x33, 0x4b,
-	0x2c, 0x85, 0x83, 0xef, 0xcb, 0xf7, 0xc4, 0xbf, 0x34, 0xc8, 0x8c, 0x2f, 0x9a, 0x1c, 0xc2, 0x7c,
-	0x80, 0xa1, 0xeb, 0xb7, 0xe5, 0x3e, 0x67, 0x76, 0x76, 0xaf, 0x50, 0xc1, 0x42, 0x4d, 0x22, 0xd1,
-	0x08, 0x31, 0xff, 0x9d, 0x06, 0xf3, 0xca, 0x44, 0xd6, 0x81, 0xd4, 0x4c, 0xba, 0x5f, 0x2d, 0x5b,
-	0xcd, 0x4a, 0xbd, 0x66, 0x96, 0xf6, 0xf7, 0xf6, 0xcd, 0x72, 0xf6, 0x7f, 0x64, 0x05, 0x96, 0x22,
-	0xfb, 0xb6, 0xf5, 0x59, 0xb5, 0x49, 0xb3, 0x1a, 0x21, 0x90, 0x89, 0x4c, 0x1f, 0x48, 0x53, 0x3d,
-	0x1b, 0x23, 0x59, 0x48, 0x0f, 0xa6, 0x95, 0x8b, 0x5f, 0x64, 0xe3, 0x63, 0x81, 0xcf, 0x4d, 0xf3,
-	0x49, 0x76, 0x6e, 0x24, 0xf0, 0xee, 0x1d, 0x31, 0xab, 0x9e, 0x4d, 0xe4, 0x3f, 0x87, 0xb5, 0xf3,
-	0xb4, 0x44, 0x74, 0x58, 0x88, 0xd4, 0xd4, 0x17, 0x70, 0x34, 0x14, 0x9e, 0x53, 0x0c, 0x99, 0x78,
-	0x57, 0xc4, 0x95, 0x27, 0x1a, 0xe6, 0x3f, 0x84, 0xd5, 0x32, 0x76, 0x90, 0xe3, 0xb4, 0xe7, 0x25,
-	0xbf, 0x0e, 0x6b, 0xe3, 0x91, 0x4a, 0x13, 0x5b, 0x3d, 0x58, 0x3d, 0xe7, 0x15, 0x41, 0xde, 0x81,
-	0x5b, 0x26, 0xa5, 0x55, 0x6a, 0x95, 0xaa, 0xcd, 0x4a, 0xc3, 0x2a, 0x1e, 0xec, 0x3f, 0xae, 0x3c,
-	0x35, 0x2b, 0x8d, 0x89, 0xda, 0xdd, 0x84, 0xeb, 0x43, 0x97, 0xf9, 0xac, 0x59, 0x3c, 0xb0, 0x68,
-	0xb5, 0x59, 0x29, 0x9b, 0xe5, 0xac, 0x46, 0x72, 0xb0, 0x3e, 0xe9, 0x2c, 0x36, 0x2c, 0xb3, 0x52,
-	0xce, 0xc6, 0xb6, 0x5e, 0x8f, 0xde, 0x8c, 0xd5, 0xe8, 0x59, 0x70, 0xfd, 0x31, 0xad, 0x36, 0x6b,
-	0x56, 0x95, 0x96, 0x4d, 0x3a, 0x91, 0x28, 0x03, 0xa0, 0x98, 0x94, 0xcd, 0x7a, 0x49, 0xed, 0xd0,
-	0x41, 0xb1, 0xde, 0xb0, 0xea, 0xa6, 0x59, 0x51, 0x36, 0xb9, 0x43, 0x25, 0x6a, 0x16, 0x1b, 0x66,
-	0x59, 0x59, 0xe2, 0xe4, 0x3a, 0xac, 0x16, 0xf7, 0xf6, 0xcc, 0x92, 0x30, 0x35, 0xeb, 0x26, 0xad,
-	0x2b, 0xc7, 0xdc, 0xce, 0xdf, 0x73, 0xb0, 0x22, 0xf3, 0xcb, 0x4b, 0x39, 0xda, 0x1e, 0xf2, 0x87,
-	0x06, 0x99, 0xf1, 0xc7, 0x05, 0x99, 0x4e, 0x8b, 0xe7, 0xbe, 0x9b, 0x73, 0xa5, 0x2b, 0x61, 0xa8,
-	0x7d, 0xca, 0xdf, 0xfb, 0xfe, 0xcd, 0x9f, 0x3f, 0xc6, 0x0c, 0xf2, 0xfe, 0xe0, 0x6f, 0xe1, 0xdb,
-	0xd1, 0x2d, 0xff, 0x38, 0x1a, 0x30, 0x63, 0xeb, 0xb5, 0xe1, 0x0c, 0xf9, 0xff, 0xa6, 0x01, 0x0c,
-	0x3b, 0x01, 0xf9, 0x64, 0x6a, 0x2a, 0x63, 0x42, 0xcb, 0x7d, 0x3a, 0x73, 0x7c, 0xb4, 0x8c, 0x6d,
-	0xb9, 0x8c, 0xdb, 0xe4, 0xbd, 0x4b, 0x2c, 0x43, 0x75, 0x29, 0xf2, 0xbb, 0x06, 0xe9, 0x51, 0xe9,
-	0x92, 0xe9, 0xde, 0xc8, 0xe7, 0x9c, 0x97, 0x5c, 0xf1, 0x0a, 0x08, 0xe3, 0x0b, 0xd9, 0xba, 0xfc,
-	0x42, 0x76, 0x9f, 0x80, 0xf8, 0xc3, 0x9b, 0x26, 0xf5, 0xee, 0xfa, 0x19, 0x91, 0xd6, 0xc4, 0x65,
-	0x5a, 0xd3, 0x8e, 0xe6, 0xe5, 0xad, 0x7a, 0xf7, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf8, 0x82,
-	0xf6, 0x9d, 0x5e, 0x0f, 0x00, 0x00,
+	// 1312 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0x4b, 0x6f, 0x1b, 0x55,
+	0x14, 0x66, 0xec, 0x38, 0x89, 0x4f, 0x1c, 0xc7, 0xb9, 0x49, 0xd3, 0xa9, 0xcb, 0x23, 0x75, 0x05,
+	0x0a, 0xa9, 0xb0, 0x9b, 0x54, 0xa5, 0x45, 0xe5, 0x51, 0xc7, 0x9e, 0x84, 0xa8, 0xa9, 0xed, 0x5e,
+	0xdb, 0x20, 0xb2, 0xe8, 0x68, 0x62, 0x9f, 0x4c, 0x07, 0xec, 0x99, 0x61, 0xe6, 0x3a, 0x6a, 0x8b,
+	0x2a, 0x21, 0x76, 0xac, 0x61, 0xc7, 0x3f, 0xe0, 0x57, 0xb0, 0x62, 0x0d, 0xea, 0x9e, 0x15, 0x7b,
+	0x10, 0xbf, 0x00, 0xdd, 0xc7, 0xf8, 0xd5, 0x88, 0xd4, 0x0e, 0x42, 0xec, 0xe6, 0x9e, 0x73, 0xcf,
+	0x77, 0x1e, 0xf7, 0x3b, 0xe7, 0xde, 0x01, 0xc3, 0xf6, 0x3c, 0xbb, 0x83, 0x85, 0x36, 0x9e, 0x30,
+	0xcf, 0xeb, 0x84, 0x85, 0x56, 0xc7, 0xeb, 0xb5, 0x31, 0x08, 0xbc, 0x20, 0x40, 0xdf, 0x0b, 0x98,
+	0xe3, 0xda, 0x85, 0x93, 0xad, 0x23, 0x64, 0xd6, 0x56, 0x41, 0x88, 0xcd, 0x90, 0x59, 0x2c, 0x34,
+	0x43, 0x0c, 0x4e, 0x9c, 0x16, 0xe6, 0xfd, 0xc0, 0x63, 0x1e, 0xb9, 0x26, 0x61, 0xf2, 0x11, 0x4c,
+	0xfe, 0x14, 0x98, 0xbc, 0x82, 0xc9, 0xbe, 0xaa, 0x7c, 0x5a, 0xbe, 0x53, 0xb0, 0x5c, 0xd7, 0x63,
+	0x16, 0x73, 0x3c, 0x37, 0x94, 0x50, 0xd9, 0xdb, 0x93, 0x44, 0xd4, 0xf2, 0xba, 0x5d, 0xcf, 0x55,
+	0x96, 0xaf, 0x2b, 0x4b, 0xb1, 0x3a, 0xea, 0x1d, 0x17, 0xda, 0xbd, 0x40, 0x40, 0x2b, 0xfd, 0x1b,
+	0xe3, 0x7a, 0xe6, 0x74, 0x31, 0x64, 0x56, 0xd7, 0x97, 0x1b, 0x72, 0x3f, 0x24, 0xe0, 0xc2, 0x81,
+	0x13, 0xb2, 0xbd, 0xc0, 0xeb, 0xf9, 0x75, 0x9e, 0x26, 0xc5, 0x2f, 0x7b, 0x18, 0x32, 0x72, 0x05,
+	0x52, 0x7e, 0xe0, 0x7d, 0x8e, 0x2d, 0x66, 0xba, 0x56, 0x17, 0x75, 0x6d, 0x5d, 0xdb, 0x48, 0xd2,
+	0x05, 0x25, 0xab, 0x58, 0x5d, 0x24, 0x97, 0x60, 0xde, 0xe6, 0x76, 0xa6, 0xd3, 0xd6, 0x63, 0xeb,
+	0xf1, 0x8d, 0x24, 0x9d, 0x13, 0xeb, 0xfd, 0x36, 0x79, 0x04, 0x69, 0x55, 0x2e, 0xf3, 0xd8, 0xe9,
+	0x30, 0x0c, 0xf4, 0xf8, 0xba, 0xb6, 0xb1, 0xb0, 0x5d, 0xcc, 0x4f, 0x50, 0xb6, 0x7c, 0x5d, 0x42,
+	0x94, 0x3c, 0x97, 0xe1, 0x63, 0xb6, 0x2b, 0x80, 0xe8, 0xa2, 0x02, 0x96, 0x4b, 0x72, 0x08, 0xc0,
+	0x93, 0x32, 0x03, 0xcb, 0xb5, 0x51, 0x4f, 0x08, 0x2f, 0x77, 0x26, 0xf2, 0xf2, 0xa0, 0x87, 0xc1,
+	0x93, 0x86, 0xd3, 0x45, 0xca, 0x21, 0x68, 0x92, 0x45, 0x9f, 0xe4, 0x1e, 0xac, 0xf2, 0x45, 0xdb,
+	0x6c, 0x79, 0x3d, 0x97, 0x99, 0x51, 0x71, 0xf5, 0x59, 0xe1, 0xe5, 0x52, 0xe4, 0x25, 0xaa, 0x6e,
+	0xbe, 0xac, 0x36, 0x50, 0x22, 0xcc, 0x4a, 0xdc, 0x2a, 0x92, 0x91, 0x87, 0x90, 0xb4, 0x3a, 0x8e,
+	0xed, 0x76, 0xd1, 0x65, 0xfa, 0xdc, 0xba, 0xb6, 0x91, 0xde, 0xbe, 0x3b, 0x51, 0x9c, 0x8d, 0x3e,
+	0x66, 0x31, 0xc2, 0xa1, 0x03, 0x48, 0x52, 0x84, 0x74, 0x7f, 0x61, 0x72, 0xff, 0xfa, 0xbc, 0x08,
+	0x33, 0xfb, 0x42, 0x98, 0x8d, 0x88, 0x04, 0x74, 0xb1, 0x6f, 0xc1, 0x65, 0x84, 0x42, 0xc2, 0x0b,
+	0xda, 0x18, 0xe8, 0x49, 0x11, 0xde, 0xfb, 0x13, 0x85, 0x67, 0x70, 0xb1, 0xe0, 0x51, 0x95, 0x63,
+	0x50, 0x09, 0x45, 0x2e, 0x43, 0xd2, 0xb7, 0x6c, 0x34, 0x43, 0xe7, 0x29, 0xea, 0x0b, 0xeb, 0xda,
+	0x46, 0x82, 0xce, 0x73, 0x41, 0xdd, 0x79, 0x8a, 0xe4, 0x35, 0x00, 0xa1, 0x64, 0xde, 0x17, 0xe8,
+	0xea, 0x29, 0x41, 0x31, 0xb1, 0xbd, 0xc1, 0x05, 0xb9, 0x3f, 0x35, 0x58, 0x1b, 0x67, 0x67, 0xe8,
+	0x7b, 0x6e, 0x88, 0xe4, 0x11, 0x2c, 0xcb, 0xde, 0x94, 0x0c, 0x14, 0x1d, 0xaa, 0x6b, 0xeb, 0xf1,
+	0x8d, 0x85, 0xa9, 0xc3, 0x96, 0x0e, 0x96, 0x70, 0x54, 0x40, 0xde, 0x82, 0x25, 0x17, 0x1f, 0x33,
+	0x73, 0x28, 0xd0, 0x98, 0x08, 0x74, 0x91, 0x8b, 0x6b, 0x51, 0xb0, 0xa4, 0x0c, 0x99, 0x01, 0x11,
+	0xcd, 0x23, 0xb4, 0x1d, 0x57, 0x9f, 0x39, 0xf3, 0x04, 0xd2, 0x7d, 0xb6, 0xed, 0x70, 0x8b, 0xdc,
+	0xb7, 0x09, 0x58, 0x1a, 0x0b, 0x89, 0xdc, 0x87, 0x84, 0xc8, 0x52, 0xf4, 0xe0, 0xc2, 0xf6, 0xad,
+	0x29, 0xf3, 0xa3, 0x12, 0x85, 0xac, 0x42, 0x42, 0xf0, 0x59, 0xa4, 0x11, 0xa7, 0x72, 0x41, 0xae,
+	0xc3, 0xaa, 0x75, 0x7c, 0x8c, 0x2d, 0x86, 0x6d, 0xb3, 0x17, 0x62, 0x10, 0x4a, 0xd2, 0x8b, 0xbe,
+	0x8d, 0x53, 0x12, 0xe9, 0x9a, 0x5c, 0x25, 0x48, 0x48, 0x0e, 0x21, 0x35, 0xd4, 0x1d, 0xa1, 0x3e,
+	0x23, 0xaa, 0x7f, 0x6b, 0x4a, 0x4e, 0xd3, 0x85, 0x41, 0xcf, 0x84, 0x64, 0x07, 0x96, 0x8e, 0x9d,
+	0x20, 0x64, 0x66, 0x88, 0xe8, 0x4a, 0x36, 0x27, 0xce, 0x66, 0xb3, 0x30, 0xa9, 0x23, 0xba, 0x82,
+	0xcd, 0x77, 0x21, 0xdd, 0xb1, 0x46, 0x20, 0x66, 0xcf, 0x84, 0x48, 0x71, 0x8b, 0x3e, 0xc2, 0x23,
+	0x58, 0xee, 0xd7, 0x44, 0x4d, 0x9d, 0x50, 0x9f, 0x13, 0x69, 0xde, 0x39, 0xc7, 0x20, 0xa3, 0x99,
+	0x08, 0x55, 0xc9, 0x43, 0xb2, 0x0d, 0x17, 0xdc, 0x5e, 0xd7, 0x7c, 0xd1, 0xdb, 0xbc, 0xe8, 0x98,
+	0x15, 0xb7, 0xd7, 0x2d, 0x8e, 0xdb, 0x98, 0x90, 0x0e, 0xd0, 0x0f, 0x30, 0x44, 0x97, 0xdf, 0x27,
+	0x27, 0x28, 0xda, 0x76, 0x2a, 0x7e, 0x18, 0x27, 0x7c, 0x98, 0x8c, 0xc1, 0xe5, 0xbe, 0xd7, 0x00,
+	0x06, 0x07, 0x34, 0xe0, 0x8d, 0x36, 0xcc, 0x9b, 0xf7, 0x00, 0x42, 0x66, 0x05, 0x6a, 0xe4, 0xc4,
+	0xce, 0xac, 0x70, 0x52, 0xec, 0x16, 0xe5, 0xbd, 0x09, 0xf3, 0xe8, 0xb6, 0xa5, 0x61, 0xfc, 0x4c,
+	0xc3, 0x39, 0x74, 0xdb, 0x7c, 0x95, 0x7b, 0x1e, 0x83, 0x65, 0x3e, 0x15, 0x44, 0xd0, 0xd3, 0xdf,
+	0x57, 0xda, 0xff, 0xe1, 0xbe, 0x9a, 0xf9, 0x57, 0xef, 0xab, 0x91, 0x59, 0x3b, 0xfb, 0x8f, 0xb3,
+	0x76, 0x6e, 0x7c, 0xd6, 0xfe, 0xa6, 0x01, 0x19, 0xae, 0xaa, 0x9a, 0xb3, 0x87, 0x90, 0x92, 0x73,
+	0x16, 0x85, 0x5c, 0x8d, 0xd8, 0xa9, 0x29, 0xb6, 0x80, 0xfd, 0xef, 0xff, 0x7a, 0xb2, 0xfe, 0xa1,
+	0x41, 0x7a, 0xb4, 0x74, 0xe4, 0x10, 0x66, 0x7d, 0x0c, 0x1c, 0xaf, 0x2d, 0xd8, 0x92, 0xde, 0xde,
+	0x39, 0xc7, 0x39, 0xe4, 0x6b, 0x02, 0x89, 0x2a, 0xc4, 0xdc, 0xd7, 0x1a, 0xcc, 0x4a, 0x11, 0x59,
+	0x03, 0x52, 0x33, 0xe8, 0x7e, 0xb5, 0x6c, 0x36, 0x2b, 0xf5, 0x9a, 0x51, 0xda, 0xdf, 0xdd, 0x37,
+	0xca, 0x99, 0x57, 0xc8, 0x32, 0x2c, 0x2a, 0xf9, 0x96, 0xf9, 0x71, 0xb5, 0x49, 0x33, 0x1a, 0x21,
+	0x90, 0x56, 0xa2, 0x77, 0x85, 0xa8, 0x9e, 0x89, 0x91, 0x0c, 0xa4, 0xfa, 0xdb, 0xca, 0xc5, 0xcf,
+	0x32, 0xf1, 0x11, 0xc3, 0x4f, 0x0d, 0xe3, 0x5e, 0x66, 0x66, 0xc8, 0xf0, 0xc6, 0x75, 0xbe, 0xab,
+	0x9e, 0x49, 0xe4, 0x3c, 0x58, 0x3d, 0x8d, 0x91, 0x44, 0x87, 0x39, 0xc5, 0xc9, 0xa8, 0x0d, 0xd4,
+	0x92, 0x6b, 0x4e, 0x30, 0x08, 0xf9, 0x1b, 0x27, 0x2e, 0x35, 0x6a, 0x49, 0xae, 0xc2, 0x62, 0x80,
+	0xa1, 0xd7, 0x0b, 0x5a, 0x68, 0xb2, 0x27, 0xbe, 0x64, 0x6e, 0x92, 0xa6, 0x22, 0x61, 0xe3, 0x89,
+	0x8f, 0xb9, 0xdb, 0xb0, 0x52, 0xc6, 0x0e, 0x32, 0x9c, 0xb4, 0x35, 0x73, 0x6b, 0xb0, 0x3a, 0x6a,
+	0x29, 0xe9, 0xb7, 0xd9, 0x83, 0x95, 0x53, 0x9e, 0x3d, 0xe4, 0x4d, 0xb8, 0x62, 0x50, 0x5a, 0xa5,
+	0x66, 0xa9, 0xda, 0xac, 0x34, 0xcc, 0xe2, 0xc1, 0xfe, 0x5e, 0xe5, 0xbe, 0x51, 0x69, 0x8c, 0x15,
+	0xf8, 0x32, 0x5c, 0x1c, 0xa8, 0x8c, 0x07, 0xcd, 0xe2, 0x81, 0x49, 0xab, 0xcd, 0x4a, 0xd9, 0x28,
+	0x67, 0x34, 0x92, 0x85, 0xb5, 0x71, 0x65, 0xb1, 0x61, 0x1a, 0x95, 0x72, 0x26, 0xb6, 0xf9, 0x6c,
+	0xf8, 0x12, 0xae, 0xaa, 0x77, 0xcc, 0xc5, 0x3d, 0x5a, 0x6d, 0xd6, 0xcc, 0x2a, 0x2d, 0x1b, 0x74,
+	0xcc, 0x51, 0x1a, 0x40, 0x46, 0x52, 0x36, 0xea, 0x25, 0x79, 0x8c, 0x07, 0xc5, 0x7a, 0xc3, 0xac,
+	0x1b, 0x46, 0x45, 0xca, 0xc4, 0x31, 0x96, 0xa8, 0x51, 0x6c, 0x18, 0x65, 0x29, 0x89, 0x93, 0x8b,
+	0xb0, 0x52, 0xdc, 0xdd, 0x35, 0x4a, 0x5c, 0xd4, 0xac, 0x1b, 0xb4, 0x2e, 0x15, 0x33, 0xdb, 0x7f,
+	0xcd, 0xc0, 0xb2, 0xf0, 0x2f, 0xee, 0x7f, 0x75, 0x86, 0xe4, 0x17, 0x0d, 0xd2, 0xa3, 0xaf, 0x21,
+	0x32, 0x19, 0x61, 0x4f, 0x7d, 0xe8, 0x67, 0x4b, 0xe7, 0xc2, 0x90, 0xe7, 0x94, 0xbb, 0xf9, 0xcd,
+	0xf3, 0xdf, 0xbf, 0x8b, 0x15, 0xc8, 0x3b, 0xfd, 0xff, 0x94, 0xaf, 0x86, 0x8f, 0xfc, 0x03, 0xb5,
+	0x08, 0x0b, 0x9b, 0xcf, 0x0a, 0xf6, 0x20, 0xfe, 0x9f, 0x34, 0x80, 0xc1, 0xd0, 0x21, 0x1f, 0x4e,
+	0x1c, 0xca, 0x08, 0xd1, 0xb2, 0x1f, 0x4d, 0x6d, 0xaf, 0xd2, 0xd8, 0x12, 0x69, 0x5c, 0x23, 0x6f,
+	0xbf, 0x44, 0x1a, 0x72, 0x20, 0x92, 0x9f, 0x35, 0x48, 0x0d, 0x53, 0x97, 0x4c, 0xf6, 0xa8, 0x3f,
+	0xa5, 0x5f, 0xb2, 0xc5, 0x73, 0x20, 0x8c, 0x26, 0xb2, 0xf9, 0xf2, 0x89, 0xec, 0xfc, 0xaa, 0x01,
+	0xff, 0xb9, 0x9c, 0xc4, 0xf7, 0xce, 0xda, 0x0b, 0x2c, 0xad, 0xf1, 0x41, 0x5c, 0xd3, 0x0e, 0x1f,
+	0x2a, 0x18, 0xdb, 0xeb, 0x58, 0xae, 0x9d, 0xf7, 0x02, 0xbb, 0x60, 0xa3, 0x2b, 0xc6, 0x74, 0x41,
+	0xaa, 0x2c, 0xdf, 0x09, 0x5f, 0xea, 0x97, 0xf7, 0xce, 0x29, 0xba, 0x1f, 0x63, 0x57, 0xf7, 0xa4,
+	0x83, 0x12, 0x57, 0xca, 0x2b, 0x86, 0xf6, 0xe3, 0xfb, 0x64, 0x6b, 0x87, 0x5b, 0x1e, 0xcd, 0x0a,
+	0x87, 0x37, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xe9, 0x2a, 0x59, 0xfa, 0xf4, 0x0f, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto b/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
deleted file mode 100644
index 6cf2557c69b88e1b437a98434c910685ffbd9c07..0000000000000000000000000000000000000000
--- a/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
+++ /dev/null
@@ -1,320 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.devtools.clouderrorreporting.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/common.proto"; // from google/devtools/clouderrorreporting/v1beta1/common.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ErrorStatsServiceProto";
-option java_package = "com.google.devtools.clouderrorreporting.v1beta1";
-
-
-// An API for retrieving and managing error statistics as well as data for
-// individual events.
-service ErrorStatsService {
-  // Lists the specified groups.
-  rpc ListGroupStats(ListGroupStatsRequest) returns (ListGroupStatsResponse) {
-    option (google.api.http) = { get: "/v1beta1/{project_name=projects/*}/groupStats" };
-  }
-
-  // Lists the specified events.
-  rpc ListEvents(ListEventsRequest) returns (ListEventsResponse) {
-    option (google.api.http) = { get: "/v1beta1/{project_name=projects/*}/events" };
-  }
-
-  // Deletes all error events of a given project.
-  rpc DeleteEvents(DeleteEventsRequest) returns (DeleteEventsResponse) {
-    option (google.api.http) = { delete: "/v1beta1/{project_name=projects/*}/events" };
-  }
-}
-
-// Specifies a set of `ErrorGroupStats` to return.
-message ListGroupStatsRequest {
-  // [Required] The resource name of the Google Cloud Platform project. Written
-  // as <code>projects/</code> plus the
-  // <a href="https://support.google.com/cloud/answer/6158840">Google Cloud
-  // Platform project ID</a>.
-  //
-  // Example: <code>projects/my-project-123</code>.
-  string project_name = 1;
-
-  // [Optional] List all <code>ErrorGroupStats</code> with these IDs.
-  repeated string group_id = 2;
-
-  // [Optional] List only <code>ErrorGroupStats</code> which belong to a service
-  // context that matches the filter.
-  // Data for all service contexts is returned if this field is not specified.
-  ServiceContextFilter service_filter = 3;
-
-  // [Required] List data for the given time range.
-  // Only <code>ErrorGroupStats</code> with a non-zero count in the given time
-  // range are returned, unless the request contains an explicit group_id list.
-  // If a group_id list is given, also <code>ErrorGroupStats</code> with zero
-  // occurrences are returned.
-  QueryTimeRange time_range = 5;
-
-  // [Optional] The preferred duration for a single returned `TimedCount`.
-  // If not set, no timed counts are returned.
-  google.protobuf.Duration timed_count_duration = 6;
-
-  // [Optional] The alignment of the timed counts to be returned.
-  // Default is `ALIGNMENT_EQUAL_AT_END`.
-  TimedCountAlignment alignment = 7;
-
-  // [Optional] Time where the timed counts shall be aligned if rounded
-  // alignment is chosen. Default is 00:00 UTC.
-  google.protobuf.Timestamp alignment_time = 8;
-
-  // [Optional] The sort order in which the results are returned.
-  // Default is `COUNT_DESC`.
-  ErrorGroupOrder order = 9;
-
-  // [Optional] The maximum number of results to return per response.
-  // Default is 20.
-  int32 page_size = 11;
-
-  // [Optional] A `next_page_token` provided by a previous response. To view
-  // additional results, pass this token along with the identical query
-  // parameters as the first request.
-  string page_token = 12;
-}
-
-// Contains a set of requested error group stats.
-message ListGroupStatsResponse {
-  // The error group stats which match the given request.
-  repeated ErrorGroupStats error_group_stats = 1;
-
-  // If non-empty, more results are available.
-  // Pass this token, along with the same query parameters as the first
-  // request, to view the next page of results.
-  string next_page_token = 2;
-}
-
-// Data extracted for a specific group based on certain filter criteria,
-// such as a given time period and/or service filter.
-message ErrorGroupStats {
-  // Group data that is independent of the filter criteria.
-  ErrorGroup group = 1;
-
-  // Approximate total number of events in the given group that match
-  // the filter criteria.
-  int64 count = 2;
-
-  // Approximate number of affected users in the given group that
-  // match the filter criteria.
-  // Users are distinguished by data in the `ErrorContext` of the
-  // individual error events, such as their login name or their remote
-  // IP address in case of HTTP requests.
-  // The number of affected users can be zero even if the number of
-  // errors is non-zero if no data was provided from which the
-  // affected user could be deduced.
-  // Users are counted based on data in the request
-  // context that was provided in the error report. If more users are
-  // implicitly affected, such as due to a crash of the whole service,
-  // this is not reflected here.
-  int64 affected_users_count = 3;
-
-  // Approximate number of occurrences over time.
-  // Timed counts returned by ListGroups are guaranteed to be:
-  //
-  // - Inside the requested time interval
-  // - Non-overlapping, and
-  // - Ordered by ascending time.
-  repeated TimedCount timed_counts = 4;
-
-  // Approximate first occurrence that was ever seen for this group
-  // and which matches the given filter criteria, ignoring the
-  // time_range that was specified in the request.
-  google.protobuf.Timestamp first_seen_time = 5;
-
-  // Approximate last occurrence that was ever seen for this group and
-  // which matches the given filter criteria, ignoring the time_range
-  // that was specified in the request.
-  google.protobuf.Timestamp last_seen_time = 6;
-
-  // Service contexts with a non-zero error count for the given filter
-  // criteria. This list can be truncated if multiple services are affected.
-  // Refer to `num_affected_services` for the total count.
-  repeated ServiceContext affected_services = 7;
-
-  // The total number of services with a non-zero error count for the given
-  // filter criteria.
-  int32 num_affected_services = 8;
-
-  // An arbitrary event that is chosen as representative for the whole group.
-  // The representative event is intended to be used as a quick preview for
-  // the whole group. Events in the group are usually sufficiently similar
-  // to each other such that showing an arbitrary representative provides
-  // insight into the characteristics of the group as a whole.
-  ErrorEvent representative = 9;
-}
-
-// The number of errors in a given time period.
-// All numbers are approximate since the error events are sampled
-// before counting them.
-message TimedCount {
-  // Approximate number of occurrences in the given time period.
-  int64 count = 1;
-
-  // Start of the time period to which `count` refers (included).
-  google.protobuf.Timestamp start_time = 2;
-
-  // End of the time period to which `count` refers (excluded).
-  google.protobuf.Timestamp end_time = 3;
-}
-
-// Specifies a set of error events to return.
-message ListEventsRequest {
-  // [Required] The resource name of the Google Cloud Platform project. Written
-  // as `projects/` plus the
-  // [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).
-  // Example: `projects/my-project-123`.
-  string project_name = 1;
-
-  // [Required] The group for which events shall be returned.
-  string group_id = 2;
-
-  // [Optional] List only ErrorGroups which belong to a service context that
-  // matches the filter.
-  // Data for all service contexts is returned if this field is not specified.
-  ServiceContextFilter service_filter = 3;
-
-  // [Optional] List only data for the given time range.
-  QueryTimeRange time_range = 4;
-
-  // [Optional] The maximum number of results to return per response.
-  int32 page_size = 6;
-
-  // [Optional] A `next_page_token` provided by a previous response.
-  string page_token = 7;
-}
-
-// Contains a set of requested error events.
-message ListEventsResponse {
-  // The error events which match the given request.
-  repeated ErrorEvent error_events = 1;
-
-  // If non-empty, more results are available.
-  // Pass this token, along with the same query parameters as the first
-  // request, to view the next page of results.
-  string next_page_token = 2;
-}
-
-// Requests might be rejected or the resulting timed count durations might be
-// adjusted for lower durations.
-message QueryTimeRange {
-  // The supported time ranges.
-  enum Period {
-    // Do not use.
-    PERIOD_UNSPECIFIED = 0;
-
-    // Retrieve data for the last hour.
-    // Recommended minimum timed count duration: 1 min.
-    PERIOD_1_HOUR = 1;
-
-    // Retrieve data for the last 6 hours.
-    // Recommended minimum timed count duration: 10 min.
-    PERIOD_6_HOURS = 2;
-
-    // Retrieve data for the last day.
-    // Recommended minimum timed count duration: 1 hour.
-    PERIOD_1_DAY = 3;
-
-    // Retrieve data for the last week.
-    // Recommended minimum timed count duration: 6 hours.
-    PERIOD_1_WEEK = 4;
-
-    // Retrieve data for the last 30 days.
-    // Recommended minimum timed count duration: 1 day.
-    PERIOD_30_DAYS = 5;
-  }
-
-  // Restricts the query to the specified time range.
-  Period period = 1;
-}
-
-// Specifies criteria for filtering a subset of service contexts.
-// The fields in the filter correspond to the fields in `ServiceContext`.
-// Only exact, case-sensitive matches are supported.
-// If a field is unset or empty, it matches arbitrary values.
-message ServiceContextFilter {
-  // [Optional] The exact value to match against
-  // [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).
-  string service = 2;
-
-  // [Optional] The exact value to match against
-  // [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).
-  string version = 3;
-}
-
-// Deletes all events in the project.
-message DeleteEventsRequest {
-  // [Required] The resource name of the Google Cloud Platform project. Written
-  // as `projects/` plus the
-  // [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).
-  // Example: `projects/my-project-123`.
-  string project_name = 1;
-}
-
-// Response message for deleting error events.
-message DeleteEventsResponse {
-
-}
-
-// Specifies how the time periods of error group counts are aligned.
-enum TimedCountAlignment {
-  // No alignment specified.
-  ERROR_COUNT_ALIGNMENT_UNSPECIFIED = 0;
-
-  // The time periods shall be consecutive, have width equal to the
-  // requested duration, and be aligned at the `alignment_time` provided in
-  // the request.
-  // The `alignment_time` does not have to be inside the query period but
-  // even if it is outside, only time periods are returned which overlap
-  // with the query period.
-  // A rounded alignment will typically result in a
-  // different size of the first or the last time period.
-  ALIGNMENT_EQUAL_ROUNDED = 1;
-
-  // The time periods shall be consecutive, have width equal to the
-  // requested duration, and be aligned at the end of the requested time
-  // period. This can result in a different size of the
-  // first time period.
-  ALIGNMENT_EQUAL_AT_END = 2;
-}
-
-// A sorting order of error groups.
-enum ErrorGroupOrder {
-  // No group order specified.
-  GROUP_ORDER_UNSPECIFIED = 0;
-
-  // Total count of errors in the given time window in descending order.
-  COUNT_DESC = 1;
-
-  // Timestamp when the group was last seen in the given time window
-  // in descending order.
-  LAST_SEEN_DESC = 2;
-
-  // Timestamp when the group was created in descending order.
-  CREATED_DESC = 3;
-
-  // Number of affected users in the given time window in descending order.
-  AFFECTED_USERS_DESC = 4;
-}
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.pb.go b/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.pb.go
index f3a421a592509fb67339f8f4764c3ee7263e7fcf..e7039c068cdefe81bb4b316c2c6248cae923e75e 100644
--- a/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.pb.go
+++ b/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto
+// source: google/devtools/clouderrorreporting/v1beta1/report_errors_service.proto
 // DO NOT EDIT!
 
-package google_devtools_clouderrorreporting_v1beta1 // import "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1"
+package clouderrorreporting
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/timestamp"
 
 import (
@@ -36,6 +36,13 @@ func (m *ReportErrorEventRequest) String() string            { return proto.Comp
 func (*ReportErrorEventRequest) ProtoMessage()               {}
 func (*ReportErrorEventRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
 
+func (m *ReportErrorEventRequest) GetProjectName() string {
+	if m != nil {
+		return m.ProjectName
+	}
+	return ""
+}
+
 func (m *ReportErrorEventRequest) GetEvent() *ReportedErrorEvent {
 	if m != nil {
 		return m.Event
@@ -89,6 +96,13 @@ func (m *ReportedErrorEvent) GetServiceContext() *ServiceContext {
 	return nil
 }
 
+func (m *ReportedErrorEvent) GetMessage() string {
+	if m != nil {
+		return m.Message
+	}
+	return ""
+}
+
 func (m *ReportedErrorEvent) GetContext() *ErrorContext {
 	if m != nil {
 		return m.Context
@@ -187,43 +201,43 @@ var _ReportErrorsService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto",
+	Metadata: "google/devtools/clouderrorreporting/v1beta1/report_errors_service.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto", fileDescriptor3)
+	proto.RegisterFile("google/devtools/clouderrorreporting/v1beta1/report_errors_service.proto", fileDescriptor3)
 }
 
 var fileDescriptor3 = []byte{
-	// 468 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x93, 0xcd, 0x6e, 0x13, 0x31,
-	0x10, 0xc7, 0xb5, 0xe1, 0xa3, 0xaa, 0x83, 0x00, 0x99, 0x03, 0xab, 0x3d, 0x95, 0x9c, 0x2a, 0x90,
-	0x6c, 0x1a, 0x4e, 0x69, 0x85, 0x2a, 0x15, 0x72, 0xe0, 0x00, 0xaa, 0xb6, 0x20, 0x8e, 0x2b, 0x67,
-	0x33, 0x31, 0x8b, 0xb2, 0x1e, 0x63, 0x3b, 0x11, 0x08, 0x71, 0xe1, 0x15, 0xfa, 0x0a, 0xbc, 0x11,
-	0x2f, 0xc0, 0x81, 0x87, 0xe0, 0x88, 0xd6, 0x1f, 0x10, 0x48, 0x0f, 0x2c, 0x70, 0xcb, 0x78, 0x32,
-	0xbf, 0xff, 0xcc, 0x7f, 0x66, 0xc9, 0x42, 0x22, 0xca, 0x25, 0x30, 0x89, 0x4b, 0xa1, 0x24, 0x43,
-	0x23, 0xb9, 0x04, 0xa5, 0x0d, 0x3a, 0xe4, 0x21, 0x25, 0x74, 0x63, 0xf9, 0x1c, 0xd6, 0x0e, 0x71,
-	0x69, 0x79, 0xbd, 0xc4, 0xd5, 0x1c, 0x8c, 0x41, 0x63, 0x40, 0xa3, 0x71, 0x8d, 0x92, 0x7c, 0x7d,
-	0x30, 0x03, 0x27, 0x0e, 0x78, 0x78, 0xa9, 0x7c, 0xd6, 0x56, 0x16, 0xcc, 0xba, 0xa9, 0x81, 0x79,
-	0x16, 0xbd, 0x17, 0x75, 0x12, 0x88, 0x5d, 0x00, 0x62, 0x11, 0x54, 0x3c, 0xf9, 0xb3, 0xa6, 0x84,
-	0x6e, 0x78, 0x54, 0xa9, 0x51, 0x2d, 0x1a, 0xc9, 0x85, 0x52, 0xe8, 0x84, 0x6b, 0x50, 0xd9, 0xa0,
-	0x5b, 0xbc, 0xfc, 0x8f, 0xf3, 0xd5, 0xd8, 0xb6, 0xa8, 0x22, 0xf8, 0x48, 0x36, 0xee, 0xd5, 0x6a,
-	0xc6, 0x6a, 0x6c, 0x79, 0x80, 0x73, 0x9f, 0x98, 0xad, 0x16, 0x5c, 0xbb, 0x77, 0x1a, 0x2c, 0x77,
-	0x4d, 0x0b, 0xd6, 0x89, 0x56, 0xff, 0xfc, 0x15, 0x8a, 0x47, 0xe7, 0x19, 0xb9, 0x5d, 0x7a, 0xfe,
-	0xb4, 0x93, 0x9a, 0xae, 0x41, 0xb9, 0x12, 0xde, 0xac, 0xc0, 0x3a, 0x7a, 0x87, 0x5c, 0xd3, 0x06,
-	0x5f, 0x43, 0xed, 0x2a, 0x25, 0x5a, 0xc8, 0xb3, 0xbd, 0x6c, 0x7f, 0xb7, 0x1c, 0xc6, 0xb7, 0x67,
-	0xa2, 0x05, 0xfa, 0x82, 0x5c, 0x81, 0xae, 0x24, 0x1f, 0xec, 0x65, 0xfb, 0xc3, 0xf1, 0x31, 0xeb,
-	0x61, 0x2e, 0x0b, 0xba, 0x30, 0xdf, 0x50, 0x0e, 0xb4, 0x51, 0x41, 0xf2, 0xed, 0xa6, 0xac, 0x46,
-	0x65, 0x61, 0xf4, 0x69, 0x40, 0xe8, 0x76, 0x25, 0x9d, 0x10, 0xe2, 0x6b, 0xab, 0x6e, 0x42, 0xdf,
-	0xea, 0x70, 0x5c, 0xa4, 0x76, 0x92, 0x1f, 0xec, 0x79, 0x1a, 0xbf, 0xdc, 0xf5, 0xff, 0xee, 0x62,
-	0x3a, 0x27, 0x37, 0xe2, 0xf2, 0xaa, 0x1a, 0x95, 0x83, 0xb7, 0x69, 0x9c, 0xa3, 0x5e, 0xe3, 0x9c,
-	0x05, 0xc6, 0xa3, 0x80, 0x28, 0xaf, 0xdb, 0x5f, 0x62, 0x9a, 0x93, 0x9d, 0x16, 0xac, 0x15, 0x12,
-	0xf2, 0x4b, 0xde, 0xc8, 0x14, 0xd2, 0x33, 0xb2, 0x93, 0x74, 0x2f, 0x7b, 0xdd, 0x49, 0x2f, 0x5d,
-	0x6f, 0x42, 0x52, 0x4d, 0xa4, 0xf1, 0xb7, 0x8c, 0xdc, 0xda, 0xf0, 0xd0, 0xc6, 0xee, 0xe8, 0x97,
-	0x8c, 0xdc, 0xfc, 0xdd, 0x5b, 0xfa, 0xf8, 0x2f, 0xf6, 0xb6, 0x75, 0x2f, 0xc5, 0xf4, 0x1f, 0x29,
-	0x71, 0xc1, 0xc7, 0x1f, 0x3f, 0x7f, 0x3d, 0x1f, 0x4c, 0x46, 0xf7, 0x7f, 0x9c, 0xfb, 0xfb, 0xcd,
-	0x33, 0x7c, 0x18, 0x03, 0xcb, 0xef, 0x7e, 0xe0, 0x7e, 0x89, 0xf6, 0x30, 0xd0, 0x0f, 0xc3, 0xf5,
-	0x9c, 0x3c, 0x25, 0xdd, 0x07, 0xd2, 0xa7, 0x99, 0x93, 0xfc, 0x02, 0xab, 0x4e, 0xbb, 0xa3, 0x39,
-	0xcd, 0x66, 0x57, 0xfd, 0xf5, 0x3c, 0xf8, 0x1e, 0x00, 0x00, 0xff, 0xff, 0xb3, 0x99, 0xec, 0x95,
-	0xa1, 0x04, 0x00, 0x00,
+	// 475 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x93, 0xcd, 0x6e, 0xd3, 0x40,
+	0x10, 0xc7, 0xe5, 0xf0, 0x51, 0x75, 0x83, 0x00, 0x2d, 0x07, 0x2c, 0x0b, 0x89, 0x12, 0x2e, 0x15,
+	0x48, 0x5e, 0x12, 0x2e, 0xa4, 0x15, 0xaa, 0x94, 0x12, 0xf5, 0x86, 0x2a, 0x17, 0x38, 0x70, 0xc0,
+	0xda, 0x38, 0x83, 0x65, 0x14, 0xef, 0x98, 0xdd, 0x8d, 0x85, 0x84, 0xb8, 0xf0, 0x0a, 0x7d, 0x05,
+	0x4e, 0xbc, 0x4e, 0x5f, 0x80, 0x03, 0x0f, 0xc1, 0x11, 0xed, 0x57, 0x14, 0x48, 0x0e, 0x98, 0x1e,
+	0xc7, 0xe3, 0xf9, 0xfd, 0xff, 0xf3, 0xb1, 0xe4, 0xa4, 0x44, 0x2c, 0x17, 0xc0, 0xe6, 0xd0, 0x6a,
+	0xc4, 0x85, 0x62, 0xc5, 0x02, 0x97, 0x73, 0x90, 0x12, 0xa5, 0x84, 0x06, 0xa5, 0xae, 0x44, 0xc9,
+	0xda, 0xe1, 0x0c, 0x34, 0x1f, 0x32, 0xf7, 0x25, 0xb7, 0x59, 0x95, 0x2b, 0x90, 0x6d, 0x55, 0x40,
+	0xda, 0x48, 0xd4, 0x48, 0x1f, 0x3b, 0x50, 0x1a, 0x40, 0xe9, 0x16, 0x50, 0xea, 0x41, 0xc9, 0x3d,
+	0xaf, 0xca, 0x9b, 0x8a, 0x71, 0x21, 0x50, 0x73, 0x5d, 0xa1, 0x50, 0x0e, 0x95, 0x3c, 0xeb, 0xe2,
+	0xa9, 0xc0, 0xba, 0x46, 0xe1, 0x2b, 0xef, 0xfb, 0x4a, 0x1b, 0xcd, 0x96, 0xef, 0x99, 0xae, 0x6a,
+	0x50, 0x9a, 0xd7, 0x8d, 0xfb, 0x61, 0x70, 0x1e, 0x91, 0xbb, 0x99, 0x65, 0x4c, 0x0d, 0x6e, 0xda,
+	0x82, 0xd0, 0x19, 0x7c, 0x5c, 0x82, 0xd2, 0xf4, 0x01, 0xb9, 0xd1, 0x48, 0xfc, 0x00, 0x85, 0xce,
+	0x05, 0xaf, 0x21, 0x8e, 0xf6, 0xa2, 0xfd, 0xdd, 0xac, 0xef, 0xbf, 0xbd, 0xe4, 0x35, 0xd0, 0xd7,
+	0xe4, 0x1a, 0x98, 0x92, 0xb8, 0xb7, 0x17, 0xed, 0xf7, 0x47, 0x47, 0x69, 0x87, 0xa6, 0x53, 0xa7,
+	0x0b, 0xf3, 0x35, 0x65, 0x47, 0x1b, 0x24, 0x24, 0xde, 0x34, 0xa5, 0x1a, 0x14, 0x0a, 0x06, 0xdf,
+	0x7a, 0x84, 0x6e, 0x56, 0xd2, 0x31, 0x21, 0xb6, 0x36, 0x37, 0x1d, 0x5a, 0xab, 0xfd, 0x51, 0x12,
+	0xec, 0x84, 0xf6, 0xd3, 0x57, 0xa1, 0xfd, 0x6c, 0xd7, 0xfe, 0x6d, 0x62, 0x3a, 0x27, 0xb7, 0xfc,
+	0xea, 0xf2, 0x02, 0x85, 0x86, 0x4f, 0xa1, 0x9d, 0xc3, 0x4e, 0xed, 0x9c, 0x39, 0xc6, 0xb1, 0x43,
+	0x64, 0x37, 0xd5, 0x1f, 0x31, 0x8d, 0xc9, 0x4e, 0x0d, 0x4a, 0xf1, 0x12, 0xe2, 0x2b, 0x76, 0x90,
+	0x21, 0xa4, 0x67, 0x64, 0x27, 0xe8, 0x5e, 0xb5, 0xba, 0xe3, 0x4e, 0xba, 0x76, 0x08, 0x41, 0x35,
+	0x90, 0x46, 0xbf, 0x22, 0x72, 0x67, 0x6d, 0x86, 0xca, 0xbb, 0xa3, 0x3f, 0x22, 0x72, 0xfb, 0xef,
+	0xd9, 0xd2, 0x17, 0xff, 0xb1, 0xb7, 0x8d, 0x7b, 0x49, 0xa6, 0x97, 0xa4, 0xf8, 0x05, 0x1f, 0x7d,
+	0xbd, 0xf8, 0x79, 0xde, 0x1b, 0x0f, 0x9e, 0xac, 0x4e, 0xfa, 0xf3, 0xfa, 0x19, 0x3e, 0xf7, 0x81,
+	0x62, 0x8f, 0xbe, 0x30, 0xbb, 0x44, 0x75, 0xe0, 0xe8, 0x07, 0xee, 0x7a, 0x26, 0x17, 0x11, 0x31,
+	0xaf, 0xa0, 0x8b, 0x9b, 0x49, 0xbc, 0x65, 0x56, 0xa7, 0xe6, 0x6a, 0x4e, 0xa3, 0xb7, 0xef, 0x3c,
+	0xa8, 0xc4, 0x05, 0x17, 0x65, 0x8a, 0xb2, 0x64, 0x25, 0x08, 0x7b, 0x53, 0xcc, 0xa5, 0x78, 0x53,
+	0xa9, 0x7f, 0x7a, 0x9d, 0x87, 0x5b, 0x72, 0xdf, 0x7b, 0x0f, 0x4f, 0x9c, 0xc0, 0xb1, 0x49, 0xba,
+	0x7d, 0x66, 0x2b, 0x87, 0x6f, 0x86, 0x13, 0x53, 0x39, 0xbb, 0x6e, 0x05, 0x9f, 0xfe, 0x0e, 0x00,
+	0x00, 0xff, 0xff, 0x9d, 0xe5, 0xc6, 0x91, 0xa1, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto b/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto
deleted file mode 100644
index 6afc85a0fc6f4eb28f7e22f6ac64f505d9d58041..0000000000000000000000000000000000000000
--- a/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.devtools.clouderrorreporting.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/common.proto"; // from google/devtools/clouderrorreporting/v1beta1/common.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ReportErrorsServiceProto";
-option java_package = "com.google.devtools.clouderrorreporting.v1beta1";
-
-
-// An API for reporting error events.
-service ReportErrorsService {
-  // Report an individual error event.
-  //
-  // This endpoint accepts <strong>either</strong> an OAuth token,
-  // <strong>or</strong> an
-  // <a href="https://support.google.com/cloud/answer/6158862">API key</a>
-  // for authentication. To use an API key, append it to the URL as the value of
-  // a `key` parameter. For example:
-  // <pre>POST https://clouderrorreporting.googleapis.com/v1beta1/projects/example-project/events:report?key=123ABC456</pre>
-  rpc ReportErrorEvent(ReportErrorEventRequest) returns (ReportErrorEventResponse) {
-    option (google.api.http) = { post: "/v1beta1/{project_name=projects/*}/events:report" body: "event" };
-  }
-}
-
-// A request for reporting an individual error event.
-message ReportErrorEventRequest {
-  // [Required] The resource name of the Google Cloud Platform project. Written
-  // as `projects/` plus the
-  // [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).
-  // Example: `projects/my-project-123`.
-  string project_name = 1;
-
-  // [Required] The error event to be reported.
-  ReportedErrorEvent event = 2;
-}
-
-// Response for reporting an individual error event.
-// Data may be added to this message in the future.
-message ReportErrorEventResponse {
-
-}
-
-// An error event which is reported to the Error Reporting system.
-message ReportedErrorEvent {
-  // [Optional] Time when the event occurred.
-  // If not provided, the time when the event was received by the
-  // Error Reporting system will be used.
-  google.protobuf.Timestamp event_time = 1;
-
-  // [Required] The service context in which this error has occurred.
-  ServiceContext service_context = 2;
-
-  // [Required] A message describing the error. The message can contain an
-  // exception stack in one of the supported programming languages and formats.
-  // In that case, the message is parsed and detailed exception information
-  // is returned when retrieving the error event again.
-  string message = 3;
-
-  // [Optional] A description of the context in which the error occurred.
-  ErrorContext context = 4;
-}
diff --git a/googleapis/devtools/cloudtrace/v1/trace.pb.go b/googleapis/devtools/cloudtrace/v1/trace.pb.go
index 7138e1c936fee99bd9720d9f0f3f26d4e09d199d..9e5a80e73f3435ec1f42a7f3d4a662033f5d66db 100644
--- a/googleapis/devtools/cloudtrace/v1/trace.pb.go
+++ b/googleapis/devtools/cloudtrace/v1/trace.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/cloudtrace/v1/trace.proto
+// source: google/devtools/cloudtrace/v1/trace.proto
 // DO NOT EDIT!
 
 /*
-Package google_devtools_cloudtrace_v1 is a generated protocol buffer package.
+Package cloudtrace is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/devtools/cloudtrace/v1/trace.proto
+	google/devtools/cloudtrace/v1/trace.proto
 
 It has these top-level messages:
 	Trace
@@ -17,12 +17,12 @@ It has these top-level messages:
 	GetTraceRequest
 	PatchTracesRequest
 */
-package google_devtools_cloudtrace_v1 // import "google.golang.org/genproto/googleapis/devtools/cloudtrace/v1"
+package cloudtrace
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -129,6 +129,20 @@ func (m *Trace) String() string            { return proto.CompactTextString(m) }
 func (*Trace) ProtoMessage()               {}
 func (*Trace) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Trace) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *Trace) GetTraceId() string {
+	if m != nil {
+		return m.TraceId
+	}
+	return ""
+}
+
 func (m *Trace) GetSpans() []*TraceSpan {
 	if m != nil {
 		return m.Spans
@@ -189,6 +203,27 @@ func (m *TraceSpan) String() string            { return proto.CompactTextString(
 func (*TraceSpan) ProtoMessage()               {}
 func (*TraceSpan) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *TraceSpan) GetSpanId() uint64 {
+	if m != nil {
+		return m.SpanId
+	}
+	return 0
+}
+
+func (m *TraceSpan) GetKind() TraceSpan_SpanKind {
+	if m != nil {
+		return m.Kind
+	}
+	return TraceSpan_SPAN_KIND_UNSPECIFIED
+}
+
+func (m *TraceSpan) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *TraceSpan) GetStartTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -203,6 +238,13 @@ func (m *TraceSpan) GetEndTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *TraceSpan) GetParentSpanId() uint64 {
+	if m != nil {
+		return m.ParentSpanId
+	}
+	return 0
+}
+
 func (m *TraceSpan) GetLabels() map[string]string {
 	if m != nil {
 		return m.Labels
@@ -254,6 +296,34 @@ func (m *ListTracesRequest) String() string            { return proto.CompactTex
 func (*ListTracesRequest) ProtoMessage()               {}
 func (*ListTracesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *ListTracesRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListTracesRequest) GetView() ListTracesRequest_ViewType {
+	if m != nil {
+		return m.View
+	}
+	return ListTracesRequest_VIEW_TYPE_UNSPECIFIED
+}
+
+func (m *ListTracesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListTracesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 func (m *ListTracesRequest) GetStartTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -268,6 +338,20 @@ func (m *ListTracesRequest) GetEndTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *ListTracesRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListTracesRequest) GetOrderBy() string {
+	if m != nil {
+		return m.OrderBy
+	}
+	return ""
+}
+
 // The response message for the `ListTraces` method.
 type ListTracesResponse struct {
 	// List of trace records returned.
@@ -290,6 +374,13 @@ func (m *ListTracesResponse) GetTraces() []*Trace {
 	return nil
 }
 
+func (m *ListTracesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The request message for the `GetTrace` method.
 type GetTraceRequest struct {
 	// ID of the Cloud project where the trace data is stored.
@@ -303,6 +394,20 @@ func (m *GetTraceRequest) String() string            { return proto.CompactTextS
 func (*GetTraceRequest) ProtoMessage()               {}
 func (*GetTraceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *GetTraceRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetTraceRequest) GetTraceId() string {
+	if m != nil {
+		return m.TraceId
+	}
+	return ""
+}
+
 // The request message for the `PatchTraces` method.
 type PatchTracesRequest struct {
 	// ID of the Cloud project where the trace data is stored.
@@ -316,6 +421,13 @@ func (m *PatchTracesRequest) String() string            { return proto.CompactTe
 func (*PatchTracesRequest) ProtoMessage()               {}
 func (*PatchTracesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *PatchTracesRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *PatchTracesRequest) GetTraces() *Traces {
 	if m != nil {
 		return m.Traces
@@ -484,69 +596,67 @@ var _TraceService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/devtools/cloudtrace/v1/trace.proto",
+	Metadata: "google/devtools/cloudtrace/v1/trace.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/cloudtrace/v1/trace.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/devtools/cloudtrace/v1/trace.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 884 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x55, 0x6d, 0x6f, 0xdb, 0x44,
-	0x1c, 0xc7, 0x49, 0xe3, 0x24, 0xff, 0x94, 0x2e, 0x9c, 0x60, 0x64, 0x41, 0x93, 0x8a, 0x35, 0x50,
-	0x04, 0xc2, 0x5e, 0x52, 0x90, 0xe8, 0x78, 0x90, 0xd6, 0xce, 0x03, 0xab, 0x69, 0x6a, 0x39, 0xa1,
-	0x88, 0x57, 0xd6, 0x25, 0xbe, 0x7a, 0xa6, 0xc9, 0x9d, 0xf1, 0x5d, 0x32, 0xd2, 0x69, 0x2f, 0xe0,
-	0x25, 0x6f, 0x11, 0xaf, 0xf8, 0x16, 0x7c, 0x13, 0xc4, 0x57, 0x40, 0xe2, 0x6b, 0xa0, 0xbb, 0xb3,
-	0xd7, 0xa8, 0x15, 0x4b, 0xca, 0xde, 0x44, 0xf7, 0xbf, 0xbb, 0xff, 0xc3, 0xef, 0xe1, 0x62, 0xf8,
-	0x3a, 0x66, 0x2c, 0x9e, 0x12, 0x3b, 0x66, 0x53, 0x4c, 0x63, 0x9b, 0x65, 0xb1, 0x13, 0x13, 0x9a,
-	0x66, 0x4c, 0x30, 0x47, 0x1f, 0xe1, 0x34, 0xe1, 0x4e, 0x44, 0x16, 0x82, 0xb1, 0x29, 0x77, 0x26,
-	0x53, 0x36, 0x8f, 0x44, 0x86, 0x27, 0xc4, 0x59, 0x74, 0x1d, 0xb5, 0xb0, 0xd5, 0x6d, 0x74, 0x37,
-	0xaf, 0x54, 0x5c, 0xb5, 0x2f, 0xaf, 0xda, 0x8b, 0x6e, 0xdb, 0xdb, 0xac, 0x11, 0x4e, 0x13, 0x87,
-	0x93, 0x6c, 0x91, 0x4c, 0xc8, 0x84, 0xd1, 0xb3, 0x24, 0x76, 0x30, 0xa5, 0x4c, 0x60, 0x91, 0x30,
-	0xca, 0x75, 0xa7, 0xf6, 0x5e, 0x9c, 0x88, 0x27, 0xf3, 0xb1, 0x3d, 0x61, 0x33, 0x47, 0x97, 0x73,
-	0xd4, 0xc1, 0x78, 0x7e, 0xe6, 0xa4, 0x62, 0x99, 0x12, 0xee, 0x90, 0x59, 0x2a, 0x96, 0xfa, 0x37,
-	0x4f, 0xfa, 0x6c, 0x7d, 0x92, 0x48, 0x66, 0x84, 0x0b, 0x3c, 0x4b, 0x2f, 0x57, 0x3a, 0xd9, 0xfa,
-	0xc9, 0x80, 0xca, 0x48, 0x22, 0x41, 0x77, 0x01, 0xd2, 0x8c, 0x7d, 0x4f, 0x26, 0x22, 0x4c, 0xa2,
-	0x96, 0xb1, 0x6b, 0x74, 0xea, 0x41, 0x3d, 0xdf, 0xf1, 0x22, 0x74, 0x07, 0x6a, 0x0a, 0xb1, 0x3c,
-	0x2c, 0xa9, 0xc3, 0xaa, 0x8a, 0xbd, 0x08, 0x7d, 0x09, 0x15, 0x9e, 0x62, 0xca, 0x5b, 0xe5, 0xdd,
-	0x72, 0xa7, 0xd1, 0xeb, 0xd8, 0x2f, 0xe5, 0xcb, 0x56, 0xed, 0x86, 0x29, 0xa6, 0x81, 0x4e, 0xb3,
-	0x1e, 0x83, 0xa9, 0xf6, 0x38, 0xfa, 0x1c, 0x4c, 0x75, 0x8d, 0xb7, 0x0c, 0x55, 0xea, 0xde, 0x26,
-	0xa5, 0x82, 0x3c, 0xc7, 0xfa, 0xa7, 0x0c, 0xf5, 0x17, 0xc5, 0xd1, 0xdb, 0x50, 0x95, 0xe5, 0x0b,
-	0x30, 0x66, 0x60, 0xca, 0xd0, 0x8b, 0x90, 0x0b, 0x5b, 0xe7, 0x09, 0xd5, 0x28, 0x76, 0x7a, 0xdd,
-	0x4d, 0xa7, 0xb5, 0xe5, 0xcf, 0x51, 0x42, 0xa3, 0x40, 0xa5, 0x23, 0x04, 0x5b, 0x14, 0xcf, 0x48,
-	0xab, 0xac, 0xc8, 0x50, 0x6b, 0xb4, 0x0f, 0xc0, 0x05, 0xce, 0x44, 0x28, 0x69, 0x6e, 0x6d, 0xed,
-	0x1a, 0x9d, 0x46, 0xaf, 0x5d, 0x34, 0x28, 0x44, 0xb1, 0x47, 0x85, 0x06, 0x41, 0x5d, 0xdd, 0x96,
-	0x31, 0xfa, 0x04, 0x6a, 0x84, 0x46, 0x3a, 0xb1, 0xb2, 0x36, 0xb1, 0x4a, 0x68, 0xa4, 0xd2, 0xee,
-	0xc1, 0x4e, 0x8a, 0x33, 0x42, 0x45, 0x58, 0x80, 0x35, 0x15, 0xd8, 0x6d, 0xbd, 0x3b, 0xd4, 0x90,
-	0xfb, 0x60, 0x4e, 0xf1, 0x98, 0x4c, 0x79, 0xab, 0xaa, 0x78, 0xfd, 0x78, 0x63, 0xd0, 0x7d, 0x95,
-	0xe6, 0x52, 0x91, 0x2d, 0x83, 0xbc, 0x46, 0x7b, 0x1f, 0x1a, 0x2b, 0xdb, 0xa8, 0x09, 0xe5, 0x73,
-	0xb2, 0xcc, 0x1d, 0x23, 0x97, 0xe8, 0x4d, 0xa8, 0x2c, 0xf0, 0x74, 0x4e, 0x72, 0xa3, 0xe8, 0xe0,
-	0x41, 0xe9, 0x53, 0xc3, 0x72, 0xa1, 0x56, 0xd0, 0x88, 0xee, 0xc0, 0x5b, 0x43, 0xff, 0xe1, 0x20,
-	0x3c, 0xf2, 0x06, 0x8f, 0xc2, 0x6f, 0x06, 0x43, 0xdf, 0x3d, 0xf4, 0x1e, 0x7b, 0xee, 0xa3, 0xe6,
-	0x6b, 0x68, 0x07, 0x20, 0xf0, 0x0f, 0xc3, 0xa1, 0x1b, 0x9c, 0xba, 0x41, 0xd3, 0x28, 0xe2, 0xc3,
-	0xbe, 0xe7, 0x0e, 0x46, 0xcd, 0x92, 0xf5, 0x47, 0x19, 0xde, 0xe8, 0x27, 0x5c, 0x68, 0xdb, 0x04,
-	0xe4, 0x87, 0x39, 0xe1, 0x62, 0x9d, 0x83, 0x8f, 0x61, 0x6b, 0x91, 0x90, 0xa7, 0xb9, 0xee, 0xfb,
-	0x6b, 0x28, 0xb8, 0x56, 0xde, 0x3e, 0x4d, 0xc8, 0xd3, 0xd1, 0x32, 0x25, 0x81, 0x2a, 0x83, 0xde,
-	0x81, 0x7a, 0x8a, 0x63, 0x12, 0xf2, 0xe4, 0x42, 0x9b, 0xa0, 0x12, 0xd4, 0xe4, 0xc6, 0x30, 0xb9,
-	0xd0, 0x8f, 0x49, 0x1e, 0x0a, 0x76, 0x4e, 0xa8, 0x32, 0x82, 0x1c, 0x05, 0xc7, 0x64, 0x24, 0x37,
-	0xae, 0xf8, 0xa4, 0xf2, 0x7f, 0x7d, 0x62, 0x6e, 0xee, 0x93, 0xdb, 0x60, 0x9e, 0x25, 0x53, 0x41,
-	0xb2, 0x56, 0x55, 0x0d, 0x93, 0x47, 0xf2, 0x59, 0xb3, 0x2c, 0x22, 0x59, 0x38, 0x5e, 0xb6, 0x6a,
-	0xfa, 0x59, 0xab, 0xf8, 0x60, 0x69, 0x0d, 0xa0, 0x56, 0x40, 0x96, 0x5a, 0x9d, 0x7a, 0xee, 0xb7,
-	0xe1, 0xe8, 0x3b, 0xdf, 0xbd, 0xa2, 0x55, 0x03, 0xaa, 0xc7, 0xde, 0xc0, 0x3b, 0x7e, 0xd8, 0x6f,
-	0x1a, 0x68, 0x1b, 0x6a, 0xc1, 0xc9, 0xc9, 0x48, 0xea, 0xda, 0x2c, 0xc9, 0xe8, 0xf0, 0xe4, 0xd8,
-	0xef, 0xbb, 0x23, 0xb7, 0x59, 0xb6, 0x2e, 0x00, 0xad, 0x92, 0xca, 0x53, 0x46, 0x39, 0x79, 0xb5,
-	0x27, 0x8f, 0xde, 0x87, 0x5b, 0x94, 0xfc, 0x28, 0xc2, 0x15, 0xb2, 0xb5, 0xe7, 0x5e, 0x97, 0xdb,
-	0x7e, 0x41, 0xb8, 0x75, 0x04, 0xb7, 0xbe, 0x22, 0xba, 0xf5, 0x86, 0x6e, 0xf9, 0xef, 0xff, 0x3b,
-	0x2b, 0x03, 0xe4, 0x63, 0x31, 0x79, 0x72, 0x23, 0xf7, 0x7d, 0xf1, 0x02, 0x67, 0x49, 0xa9, 0xf6,
-	0xde, 0x26, 0x38, 0x79, 0x01, 0xb4, 0xf7, 0x67, 0x19, 0xb6, 0xf5, 0xab, 0xd4, 0x9f, 0x10, 0xf4,
-	0xbb, 0x01, 0x70, 0x49, 0x27, 0xba, 0x7f, 0x53, 0x3b, 0xb7, 0xbb, 0x37, 0xc8, 0xd0, 0x5a, 0x59,
-	0x9d, 0x9f, 0xff, 0xfa, 0xfb, 0xd7, 0x92, 0x85, 0x76, 0xe5, 0x17, 0x32, 0x87, 0xc6, 0x9d, 0x67,
-	0x97, 0xb0, 0x9f, 0x3b, 0xb9, 0x2e, 0xbf, 0x19, 0x50, 0x2b, 0x08, 0x47, 0xf6, 0x9a, 0x4e, 0x57,
-	0x94, 0x69, 0x6f, 0x64, 0x01, 0x6b, 0x4f, 0x0d, 0xf3, 0x11, 0xfa, 0x70, 0xdd, 0x30, 0xce, 0xb3,
-	0x42, 0xc8, 0xe7, 0xe8, 0x17, 0x03, 0x1a, 0x2b, 0xda, 0xa1, 0x75, 0x24, 0x5c, 0xd7, 0xb9, 0x7d,
-	0xfb, 0xda, 0x73, 0x73, 0xe5, 0xc7, 0xd8, 0xba, 0xaf, 0xe6, 0xf9, 0xa0, 0xb7, 0x96, 0x9c, 0x07,
-	0xb9, 0xa6, 0x07, 0x5d, 0x78, 0x77, 0xc2, 0x66, 0x2f, 0x9f, 0xe0, 0x00, 0x54, 0x77, 0x5f, 0xf6,
-	0xf2, 0x8d, 0xb1, 0xa9, 0x9a, 0xee, 0xfd, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x53, 0x38, 0x4b, 0x28,
-	0xdd, 0x08, 0x00, 0x00,
+	// 886 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x6e, 0x1b, 0x45,
+	0x14, 0x66, 0xed, 0x78, 0x6d, 0x1f, 0x87, 0xd4, 0x8c, 0x68, 0x71, 0x5d, 0x2a, 0xc2, 0xaa, 0x20,
+	0x03, 0x62, 0xb7, 0x76, 0x41, 0x22, 0xe5, 0x47, 0x6a, 0xdc, 0x6d, 0xb4, 0x8a, 0xe3, 0xac, 0xd6,
+	0x26, 0x08, 0x6e, 0x56, 0x13, 0xef, 0xd4, 0x2c, 0x59, 0xcf, 0x2c, 0x3b, 0x13, 0x17, 0xa7, 0xea,
+	0x05, 0x5c, 0x72, 0x09, 0xe2, 0x8a, 0x37, 0xe0, 0x92, 0x37, 0x41, 0xbc, 0x02, 0x12, 0xaf, 0x81,
+	0x66, 0x66, 0xb7, 0x89, 0x12, 0x35, 0x76, 0xe8, 0x4d, 0x34, 0xe7, 0xcc, 0xf9, 0xfd, 0xbe, 0x6f,
+	0xb2, 0x86, 0xf7, 0xa6, 0x8c, 0x4d, 0x13, 0xe2, 0x44, 0x64, 0x2e, 0x18, 0x4b, 0xb8, 0x33, 0x49,
+	0xd8, 0x71, 0x24, 0x32, 0x3c, 0x21, 0xce, 0xbc, 0xeb, 0xa8, 0x83, 0x9d, 0x66, 0x4c, 0x30, 0x74,
+	0x5b, 0x87, 0xda, 0x45, 0xa8, 0x7d, 0x1a, 0x6a, 0xcf, 0xbb, 0xed, 0x37, 0xf3, 0x4a, 0x38, 0x8d,
+	0x1d, 0x4c, 0x29, 0x13, 0x58, 0xc4, 0x8c, 0x72, 0x9d, 0xdc, 0xbe, 0x95, 0xdf, 0x2a, 0xeb, 0xf0,
+	0xf8, 0xb1, 0x43, 0x66, 0xa9, 0x58, 0xe4, 0x97, 0x6f, 0x9d, 0xbf, 0x14, 0xf1, 0x8c, 0x70, 0x81,
+	0x67, 0xa9, 0x0e, 0xb0, 0x7e, 0x34, 0xa0, 0x32, 0x96, 0x8d, 0xd0, 0x6d, 0x80, 0x34, 0x63, 0xdf,
+	0x91, 0x89, 0x08, 0xe3, 0xa8, 0x65, 0x6c, 0x1a, 0x9d, 0x7a, 0x50, 0xcf, 0x3d, 0x5e, 0x84, 0x6e,
+	0x42, 0x4d, 0x0d, 0x24, 0x2f, 0x4b, 0xea, 0xb2, 0xaa, 0x6c, 0x2f, 0x42, 0x5f, 0x40, 0x85, 0xa7,
+	0x98, 0xf2, 0x56, 0x79, 0xb3, 0xdc, 0x69, 0xf4, 0x3a, 0xf6, 0xa5, 0xeb, 0xd8, 0xaa, 0xdd, 0x28,
+	0xc5, 0x34, 0xd0, 0x69, 0xd6, 0x23, 0x30, 0x95, 0x8f, 0xa3, 0xcf, 0xc0, 0x54, 0x61, 0xbc, 0x65,
+	0xa8, 0x52, 0x77, 0x56, 0x29, 0x15, 0xe4, 0x39, 0xd6, 0xbf, 0x65, 0xa8, 0x3f, 0x2f, 0x8e, 0xde,
+	0x80, 0xaa, 0x2c, 0x5f, 0x2c, 0x63, 0x06, 0xa6, 0x34, 0xbd, 0x08, 0xb9, 0xb0, 0x76, 0x14, 0x53,
+	0xbd, 0xc5, 0x46, 0xaf, 0xbb, 0xea, 0xb4, 0xb6, 0xfc, 0xb3, 0x1b, 0xd3, 0x28, 0x50, 0xe9, 0x08,
+	0xc1, 0x1a, 0xc5, 0x33, 0xd2, 0x2a, 0x2b, 0x30, 0xd4, 0x19, 0x6d, 0x01, 0x70, 0x81, 0x33, 0x11,
+	0x4a, 0x98, 0x5b, 0x6b, 0x9b, 0x46, 0xa7, 0xd1, 0x6b, 0x17, 0x0d, 0x0a, 0x0e, 0xec, 0x71, 0xc1,
+	0x41, 0x50, 0x57, 0xd1, 0xd2, 0x46, 0x1f, 0x43, 0x8d, 0xd0, 0x48, 0x27, 0x56, 0x96, 0x26, 0x56,
+	0x09, 0x8d, 0x54, 0xda, 0x1d, 0xd8, 0x48, 0x71, 0x46, 0xa8, 0x08, 0x8b, 0x65, 0x4d, 0xb5, 0xec,
+	0xba, 0xf6, 0x8e, 0xf4, 0xca, 0x03, 0x30, 0x13, 0x7c, 0x48, 0x12, 0xde, 0xaa, 0x2a, 0x5c, 0x3f,
+	0x5a, 0x79, 0xe9, 0x81, 0x4a, 0x73, 0xa9, 0xc8, 0x16, 0x41, 0x5e, 0xa3, 0xbd, 0x05, 0x8d, 0x33,
+	0x6e, 0xd4, 0x84, 0xf2, 0x11, 0x59, 0xe4, 0x8a, 0x91, 0x47, 0xf4, 0x3a, 0x54, 0xe6, 0x38, 0x39,
+	0x26, 0xb9, 0x50, 0xb4, 0x71, 0xbf, 0xf4, 0x89, 0x61, 0xb9, 0x50, 0x2b, 0x60, 0x44, 0x37, 0xe1,
+	0xfa, 0xc8, 0x7f, 0x30, 0x0c, 0x77, 0xbd, 0xe1, 0xc3, 0xf0, 0xcb, 0xe1, 0xc8, 0x77, 0xfb, 0xde,
+	0x23, 0xcf, 0x7d, 0xd8, 0x7c, 0x05, 0x6d, 0x00, 0x04, 0x7e, 0x3f, 0x1c, 0xb9, 0xc1, 0x81, 0x1b,
+	0x34, 0x8d, 0xc2, 0xee, 0x0f, 0x3c, 0x77, 0x38, 0x6e, 0x96, 0xac, 0x3f, 0xcb, 0xf0, 0xda, 0x20,
+	0xe6, 0x42, 0xcb, 0x26, 0x20, 0xdf, 0x1f, 0x13, 0x2e, 0x96, 0x29, 0x78, 0x0f, 0xd6, 0xe6, 0x31,
+	0x79, 0x92, 0xf3, 0xbe, 0xb5, 0x04, 0x82, 0x0b, 0xe5, 0xed, 0x83, 0x98, 0x3c, 0x19, 0x2f, 0x52,
+	0x12, 0xa8, 0x32, 0xe8, 0x16, 0xd4, 0x53, 0x3c, 0x25, 0x21, 0x8f, 0x4f, 0xb4, 0x08, 0x2a, 0x41,
+	0x4d, 0x3a, 0x46, 0xf1, 0x89, 0x7e, 0x4c, 0xf2, 0x52, 0xb0, 0x23, 0x42, 0x95, 0x10, 0xe4, 0x28,
+	0x78, 0x4a, 0xc6, 0xd2, 0x71, 0x4e, 0x27, 0x95, 0xff, 0xab, 0x13, 0x73, 0x75, 0x9d, 0xdc, 0x00,
+	0xf3, 0x71, 0x9c, 0x08, 0x92, 0xb5, 0xaa, 0x6a, 0x98, 0xdc, 0x92, 0xcf, 0x9a, 0x65, 0x11, 0xc9,
+	0xc2, 0xc3, 0x45, 0xab, 0xa6, 0x9f, 0xb5, 0xb2, 0xb7, 0x17, 0xd6, 0x10, 0x6a, 0xc5, 0xca, 0x92,
+	0xab, 0x03, 0xcf, 0xfd, 0x2a, 0x1c, 0x7f, 0xed, 0xbb, 0xe7, 0xb8, 0x6a, 0x40, 0x75, 0xcf, 0x1b,
+	0x7a, 0x7b, 0x0f, 0x06, 0x4d, 0x03, 0xad, 0x43, 0x2d, 0xd8, 0xdf, 0x1f, 0x4b, 0x5e, 0x9b, 0x25,
+	0x69, 0xf5, 0xf7, 0xf7, 0xfc, 0x81, 0x3b, 0x76, 0x9b, 0x65, 0xeb, 0x04, 0xd0, 0x59, 0x50, 0x79,
+	0xca, 0x28, 0x27, 0x2f, 0xf7, 0xe4, 0xd1, 0xbb, 0x70, 0x8d, 0x92, 0x1f, 0x44, 0x78, 0x06, 0x6c,
+	0xad, 0xb9, 0x57, 0xa5, 0xdb, 0x2f, 0x00, 0xb7, 0x76, 0xe1, 0xda, 0x0e, 0xd1, 0xad, 0x57, 0x54,
+	0xcb, 0x8b, 0xff, 0xdf, 0x59, 0x19, 0x20, 0x1f, 0x8b, 0xc9, 0xb7, 0x57, 0x52, 0xdf, 0xe7, 0xcf,
+	0xf7, 0x2c, 0x29, 0xd6, 0xde, 0x59, 0x65, 0x4f, 0x5e, 0x2c, 0xda, 0xfb, 0xab, 0x0c, 0xeb, 0xfa,
+	0x55, 0x92, 0x6c, 0x1e, 0x4f, 0x08, 0xfa, 0xdd, 0x00, 0x38, 0x85, 0x13, 0xdd, 0xbd, 0xaa, 0x9c,
+	0xdb, 0xdd, 0x2b, 0x64, 0x68, 0xae, 0xac, 0xce, 0x4f, 0x7f, 0xff, 0xf3, 0x6b, 0xc9, 0x42, 0x9b,
+	0xf2, 0x03, 0x96, 0xaf, 0xc6, 0x9d, 0xa7, 0xa7, 0x6b, 0x3f, 0x73, 0x72, 0x5e, 0x7e, 0x33, 0xa0,
+	0x56, 0x00, 0x8e, 0xec, 0x25, 0x9d, 0xce, 0x31, 0xd3, 0x5e, 0x49, 0x02, 0xd6, 0x3d, 0x35, 0xcc,
+	0x87, 0xe8, 0x83, 0x65, 0xc3, 0x38, 0x4f, 0x0b, 0x22, 0x9f, 0xa1, 0x9f, 0x0d, 0x68, 0x9c, 0xe1,
+	0x0e, 0x2d, 0x03, 0xe1, 0x22, 0xcf, 0xed, 0x1b, 0x17, 0x9e, 0x9b, 0x2b, 0x3f, 0xb8, 0xd6, 0x5d,
+	0x35, 0xcf, 0xfb, 0xbd, 0xa5, 0xe0, 0xdc, 0xcf, 0x39, 0xdd, 0xfe, 0xc5, 0x80, 0xb7, 0x27, 0x6c,
+	0x76, 0xf9, 0x08, 0xdb, 0xa0, 0xda, 0xfb, 0xb2, 0x99, 0x6f, 0x7c, 0xb3, 0x93, 0x07, 0x4f, 0x59,
+	0x82, 0xe9, 0xd4, 0x66, 0xd9, 0xd4, 0x99, 0x12, 0xaa, 0x46, 0x71, 0xf4, 0x15, 0x4e, 0x63, 0xfe,
+	0x82, 0x1f, 0x1d, 0x9f, 0x9e, 0x5a, 0x7f, 0x94, 0xae, 0xef, 0xe8, 0x4a, 0x7d, 0xe9, 0xd3, 0x98,
+	0xda, 0x07, 0xdd, 0x43, 0x53, 0xd5, 0xba, 0xf7, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0c, 0xd5,
+	0x26, 0xa6, 0xbf, 0x08, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/cloudtrace/v1/trace.proto b/googleapis/devtools/cloudtrace/v1/trace.proto
deleted file mode 100644
index 8b46b2940c337dfaefdb13d804ae2c7706a88279..0000000000000000000000000000000000000000
--- a/googleapis/devtools/cloudtrace/v1/trace.proto
+++ /dev/null
@@ -1,218 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.devtools.cloudtrace.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "TraceProto";
-option java_package = "com.google.devtools.cloudtrace.v1";
-
-
-// This file describes an API for collecting and viewing traces and spans
-// within a trace.  A Trace is a collection of spans corresponding to a single
-// operation or set of operations for an application. A span is an individual
-// timed event which forms a node of the trace tree. Spans for a single trace
-// may span multiple services.
-service TraceService {
-  // Returns of a list of traces that match the specified filter conditions.
-  rpc ListTraces(ListTracesRequest) returns (ListTracesResponse) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/traces" };
-  }
-
-  // Gets a single trace by its ID.
-  rpc GetTrace(GetTraceRequest) returns (Trace) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/traces/{trace_id}" };
-  }
-
-  // Sends new traces to Stackdriver Trace or updates existing traces. If the ID
-  // of a trace that you send matches that of an existing trace, any fields
-  // in the existing trace and its spans are overwritten by the provided values,
-  // and any new fields provided are merged with the existing trace data. If the
-  // ID does not match, a new trace is created.
-  rpc PatchTraces(PatchTracesRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { patch: "/v1/projects/{project_id}/traces" body: "traces" };
-  }
-}
-
-// A trace describes how long it takes for an application to perform an
-// operation. It consists of a set of spans, each of which represent a single
-// timed event within the operation.
-message Trace {
-  // Project ID of the Cloud project where the trace data is stored.
-  string project_id = 1;
-
-  // Globally unique identifier for the trace. This identifier is a 128-bit
-  // numeric value formatted as a 32-byte hex string.
-  string trace_id = 2;
-
-  // Collection of spans in the trace.
-  repeated TraceSpan spans = 3;
-}
-
-// List of new or updated traces.
-message Traces {
-  // List of traces.
-  repeated Trace traces = 1;
-}
-
-// A span represents a single timed event within a trace. Spans can be nested
-// and form a trace tree. Often, a trace contains a root span that describes the
-// end-to-end latency of an operation and, optionally, one or more subspans for
-// its suboperations. Spans do not need to be contiguous. There may be gaps
-// between spans in a trace.
-message TraceSpan {
-  // Type of span. Can be used to specify additional relationships between spans
-  // in addition to a parent/child relationship.
-  enum SpanKind {
-    // Unspecified.
-    SPAN_KIND_UNSPECIFIED = 0;
-
-    // Indicates that the span covers server-side handling of an RPC or other
-    // remote network request.
-    RPC_SERVER = 1;
-
-    // Indicates that the span covers the client-side wrapper around an RPC or
-    // other remote request.
-    RPC_CLIENT = 2;
-  }
-
-  // Identifier for the span. Must be a 64-bit integer other than 0 and
-  // unique within a trace.
-  fixed64 span_id = 1;
-
-  // Distinguishes between spans generated in a particular context. For example,
-  // two spans with the same name may be distinguished using `RPC_CLIENT`
-  // and `RPC_SERVER` to identify queueing latency associated with the span.
-  SpanKind kind = 2;
-
-  // Name of the trace. The trace name is sanitized and displayed in the
-  // Stackdriver Trace tool in the Google Developers Console.
-  // The name may be a method name or some other per-call site name.
-  // For the same executable and the same call point, a best practice is
-  // to use a consistent name, which makes it easier to correlate
-  // cross-trace spans.
-  string name = 3;
-
-  // Start time of the span in nanoseconds from the UNIX epoch.
-  google.protobuf.Timestamp start_time = 4;
-
-  // End time of the span in nanoseconds from the UNIX epoch.
-  google.protobuf.Timestamp end_time = 5;
-
-  // ID of the parent span, if any. Optional.
-  fixed64 parent_span_id = 6;
-
-  // Collection of labels associated with the span.
-  map<string, string> labels = 7;
-}
-
-// The request message for the `ListTraces` method. All fields are required
-// unless specified.
-message ListTracesRequest {
-  // Type of data returned for traces in the list.
-  enum ViewType {
-    // Default is `MINIMAL` if unspecified.
-    VIEW_TYPE_UNSPECIFIED = 0;
-
-    // Minimal view of the trace record that contains only the project
-    // and trace IDs.
-    MINIMAL = 1;
-
-    // Root span view of the trace record that returns the root spans along
-    // with the minimal trace data.
-    ROOTSPAN = 2;
-
-    // Complete view of the trace record that contains the actual trace data.
-    // This is equivalent to calling the REST `get` or RPC `GetTrace` method
-    // using the ID of each listed trace.
-    COMPLETE = 3;
-  }
-
-  // ID of the Cloud project where the trace data is stored.
-  string project_id = 1;
-
-  // Type of data returned for traces in the list. Optional. Default is
-  // `MINIMAL`.
-  ViewType view = 2;
-
-  // Maximum number of traces to return. If not specified or <= 0, the
-  // implementation selects a reasonable value.  The implementation may
-  // return fewer traces than the requested page size. Optional.
-  int32 page_size = 3;
-
-  // Token identifying the page of results to return. If provided, use the
-  // value of the `next_page_token` field from a previous request. Optional.
-  string page_token = 4;
-
-  // End of the time interval (inclusive) during which the trace data was
-  // collected from the application.
-  google.protobuf.Timestamp start_time = 5;
-
-  // Start of the time interval (inclusive) during which the trace data was
-  // collected from the application.
-  google.protobuf.Timestamp end_time = 6;
-
-  // An optional filter for the request.
-  string filter = 7;
-
-  // Field used to sort the returned traces. Optional.
-  // Can be one of the following:
-  //
-  // *   `trace_id`
-  // *   `name` (`name` field of root span in the trace)
-  // *   `duration` (difference between `end_time` and `start_time` fields of
-  //      the root span)
-  // *   `start` (`start_time` field of the root span)
-  //
-  // Descending order can be specified by appending `desc` to the sort field
-  // (for example, `name desc`).
-  //
-  // Only one sort field is permitted.
-  string order_by = 8;
-}
-
-// The response message for the `ListTraces` method.
-message ListTracesResponse {
-  // List of trace records returned.
-  repeated Trace traces = 1;
-
-  // If defined, indicates that there are more traces that match the request
-  // and that this value should be passed to the next request to continue
-  // retrieving additional traces.
-  string next_page_token = 2;
-}
-
-// The request message for the `GetTrace` method.
-message GetTraceRequest {
-  // ID of the Cloud project where the trace data is stored.
-  string project_id = 1;
-
-  // ID of the trace to return.
-  string trace_id = 2;
-}
-
-// The request message for the `PatchTraces` method.
-message PatchTracesRequest {
-  // ID of the Cloud project where the trace data is stored.
-  string project_id = 1;
-
-  // The body of the message.
-  Traces traces = 2;
-}
diff --git a/googleapis/devtools/source/v1/source_context.pb.go b/googleapis/devtools/source/v1/source_context.pb.go
index d58f9aadd2e5692be88a647d49946e9de2714594..38b77d451eb657f6d4a9d555fc253991873d5196 100644
--- a/googleapis/devtools/source/v1/source_context.pb.go
+++ b/googleapis/devtools/source/v1/source_context.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/source/v1/source_context.proto
+// source: google/devtools/source/v1/source_context.proto
 // DO NOT EDIT!
 
 /*
-Package google_devtools_source_v1 is a generated protocol buffer package.
+Package source is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/devtools/source/v1/source_context.proto
+	google/devtools/source/v1/source_context.proto
 
 It has these top-level messages:
 	SourceContext
@@ -20,12 +20,12 @@ It has these top-level messages:
 	ProjectRepoId
 	CloudWorkspaceId
 */
-package google_devtools_source_v1 // import "google.golang.org/genproto/googleapis/devtools/source/v1"
+package source
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -300,6 +300,20 @@ func (m *AliasContext) String() string            { return proto.CompactTextStri
 func (*AliasContext) ProtoMessage()               {}
 func (*AliasContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *AliasContext) GetKind() AliasContext_Kind {
+	if m != nil {
+		return m.Kind
+	}
+	return AliasContext_ANY
+}
+
+func (m *AliasContext) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // A CloudRepoSourceContext denotes a particular revision in a cloud
 // repo (a repo hosted by the Google Cloud Platform).
 type CloudRepoSourceContext struct {
@@ -479,6 +493,13 @@ func (m *CloudWorkspaceSourceContext) GetWorkspaceId() *CloudWorkspaceId {
 	return nil
 }
 
+func (m *CloudWorkspaceSourceContext) GetSnapshotId() string {
+	if m != nil {
+		return m.SnapshotId
+	}
+	return ""
+}
+
 // A SourceContext referring to a Gerrit project.
 type GerritSourceContext struct {
 	// The URI of a running Gerrit instance.
@@ -527,6 +548,20 @@ func (m *GerritSourceContext) GetRevision() isGerritSourceContext_Revision {
 	return nil
 }
 
+func (m *GerritSourceContext) GetHostUri() string {
+	if m != nil {
+		return m.HostUri
+	}
+	return ""
+}
+
+func (m *GerritSourceContext) GetGerritProject() string {
+	if m != nil {
+		return m.GerritProject
+	}
+	return ""
+}
+
 func (m *GerritSourceContext) GetRevisionId() string {
 	if x, ok := m.GetRevision().(*GerritSourceContext_RevisionId); ok {
 		return x.RevisionId
@@ -648,6 +683,20 @@ func (m *GitSourceContext) String() string            { return proto.CompactText
 func (*GitSourceContext) ProtoMessage()               {}
 func (*GitSourceContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *GitSourceContext) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
+
+func (m *GitSourceContext) GetRevisionId() string {
+	if m != nil {
+		return m.RevisionId
+	}
+	return ""
+}
+
 // A unique identifier for a cloud repo.
 type RepoId struct {
 	// A cloud repository can be identified by either its project ID and
@@ -783,6 +832,20 @@ func (m *ProjectRepoId) String() string            { return proto.CompactTextStr
 func (*ProjectRepoId) ProtoMessage()               {}
 func (*ProjectRepoId) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *ProjectRepoId) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ProjectRepoId) GetRepoName() string {
+	if m != nil {
+		return m.RepoName
+	}
+	return ""
+}
+
 // A CloudWorkspaceId is a unique identifier for a cloud workspace.
 // A cloud workspace is a place associated with a repo where modified files
 // can be stored before they are committed.
@@ -806,6 +869,13 @@ func (m *CloudWorkspaceId) GetRepoId() *RepoId {
 	return nil
 }
 
+func (m *CloudWorkspaceId) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*SourceContext)(nil), "google.devtools.source.v1.SourceContext")
 	proto.RegisterType((*ExtendedSourceContext)(nil), "google.devtools.source.v1.ExtendedSourceContext")
@@ -820,58 +890,56 @@ func init() {
 	proto.RegisterEnum("google.devtools.source.v1.AliasContext_Kind", AliasContext_Kind_name, AliasContext_Kind_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/source/v1/source_context.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/devtools/source/v1/source_context.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 761 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x55, 0x5d, 0x4f, 0xdb, 0x3c,
-	0x14, 0x6e, 0x9a, 0xd2, 0x92, 0x53, 0x0a, 0x95, 0xdf, 0x0f, 0x15, 0x10, 0x02, 0x22, 0xbd, 0x7a,
-	0x91, 0x98, 0x52, 0xd1, 0x69, 0xd3, 0x86, 0x26, 0x6d, 0x94, 0x75, 0x6b, 0x05, 0x14, 0xe4, 0xb1,
-	0xaf, 0xab, 0xca, 0x24, 0x5e, 0xf0, 0x08, 0x71, 0xe4, 0xa4, 0x05, 0xfe, 0xc4, 0xae, 0xf7, 0xe3,
-	0xf6, 0x13, 0x76, 0x39, 0x69, 0xb7, 0x93, 0x9d, 0x04, 0xda, 0x52, 0x42, 0xa5, 0xed, 0x2a, 0xf6,
-	0xe3, 0xf3, 0x3c, 0xe7, 0xf8, 0x7c, 0x38, 0x70, 0xe0, 0x72, 0xee, 0x7a, 0xd4, 0x72, 0xb9, 0x47,
-	0x7c, 0xd7, 0xe2, 0xc2, 0xad, 0xbb, 0xd4, 0x0f, 0x04, 0x8f, 0x78, 0x3d, 0x3e, 0x22, 0x01, 0x0b,
-	0xeb, 0x0e, 0x1d, 0x44, 0x9c, 0x7b, 0x61, 0x3d, 0xe4, 0x7d, 0x61, 0xd3, 0xfa, 0x60, 0x2b, 0x59,
-	0xf5, 0x6c, 0xee, 0x47, 0xf4, 0x32, 0xb2, 0x14, 0x05, 0x2d, 0x26, 0x72, 0xa9, 0xbd, 0x15, 0x5b,
-	0x59, 0x83, 0xad, 0xa5, 0xce, 0x74, 0x9e, 0x48, 0xc0, 0xea, 0x21, 0x15, 0x03, 0x66, 0x53, 0x9b,
-	0xfb, 0x9f, 0x98, 0x5b, 0x27, 0xbe, 0xcf, 0x23, 0x12, 0x31, 0xee, 0x87, 0xb1, 0x17, 0xf3, 0x5b,
-	0x1e, 0x2a, 0x6f, 0x94, 0xf0, 0x6e, 0xec, 0x1d, 0x61, 0x00, 0xdb, 0xe3, 0x7d, 0xa7, 0x27, 0x68,
-	0xc0, 0x6b, 0xda, 0x9a, 0xb6, 0x51, 0x6e, 0x6c, 0x59, 0x77, 0x06, 0x63, 0xed, 0x4a, 0x63, 0x4c,
-	0x03, 0x3e, 0x22, 0xd3, 0xce, 0x61, 0xc3, 0x4e, 0x4f, 0x10, 0x81, 0x85, 0x58, 0xf3, 0x82, 0x8b,
-	0xb3, 0x30, 0x20, 0x36, 0xad, 0xe5, 0x95, 0xf0, 0xe3, 0xfb, 0x84, 0xdf, 0xa7, 0x84, 0x71, 0xf5,
-	0x79, 0x7b, 0xe4, 0x18, 0xb5, 0xa1, 0xe8, 0x52, 0x21, 0x58, 0x54, 0xd3, 0x95, 0xb2, 0x95, 0xa1,
-	0xfc, 0x5a, 0x19, 0x8e, 0x2b, 0x26, 0x7c, 0xf4, 0x1c, 0x74, 0x97, 0x45, 0xb5, 0xa2, 0x92, 0xd9,
-	0xcc, 0x92, 0xb9, 0xad, 0x21, 0x99, 0x4d, 0x03, 0x4a, 0x49, 0x29, 0xcd, 0xef, 0x1a, 0xfc, 0xd3,
-	0xba, 0x8c, 0xa8, 0xef, 0x50, 0x67, 0x34, 0xcd, 0xcd, 0x6b, 0xa3, 0x24, 0xc7, 0x1b, 0x19, 0x9e,
-	0x46, 0xa8, 0x38, 0x25, 0xa2, 0x63, 0x28, 0x7a, 0xe4, 0x84, 0x7a, 0x61, 0x2d, 0xbf, 0xa6, 0x6f,
-	0x94, 0x1b, 0xcf, 0x32, 0x24, 0x26, 0x46, 0x61, 0xed, 0x2b, 0x7a, 0xcb, 0x8f, 0xc4, 0x15, 0x4e,
-	0xb4, 0x96, 0x9e, 0x42, 0x79, 0x08, 0x46, 0x55, 0xd0, 0xcf, 0xe8, 0x95, 0x0a, 0xd2, 0xc0, 0x72,
-	0x89, 0xfe, 0x86, 0x99, 0x01, 0xf1, 0xfa, 0x71, 0x0d, 0x0d, 0x1c, 0x6f, 0xb6, 0xf3, 0x4f, 0x34,
-	0xf3, 0xab, 0x06, 0x73, 0x3b, 0x1e, 0x23, 0x61, 0x7a, 0xcb, 0x17, 0x50, 0x38, 0x63, 0xbe, 0xa3,
-	0xd8, 0xf3, 0x8d, 0x07, 0x19, 0xf1, 0x0d, 0xd3, 0xac, 0x3d, 0xe6, 0x3b, 0x58, 0x31, 0x11, 0x82,
-	0x82, 0x4f, 0xce, 0x53, 0x5f, 0x6a, 0x6d, 0x36, 0xa0, 0x20, 0x2d, 0x50, 0x09, 0xf4, 0x9d, 0xee,
-	0xc7, 0x6a, 0x0e, 0x19, 0x30, 0xf3, 0xaa, 0xf3, 0xa1, 0xf5, 0xb2, 0xaa, 0xa1, 0x32, 0x94, 0x0e,
-	0x0e, 0xdf, 0xed, 0x34, 0xf7, 0x5b, 0xd5, 0xbc, 0xc4, 0x0f, 0x8f, 0xdb, 0x2d, 0x5c, 0x2d, 0x98,
-	0x3f, 0x34, 0xf8, 0x77, 0x72, 0xab, 0xa2, 0x6d, 0x28, 0xc9, 0x5e, 0xef, 0x31, 0x27, 0x29, 0xc5,
-	0x7a, 0x46, 0x9c, 0x92, 0xde, 0x71, 0x70, 0x51, 0xa8, 0x2f, 0x5a, 0x87, 0xb2, 0xa0, 0x03, 0x16,
-	0x32, 0xee, 0x4b, 0xbe, 0x8a, 0xb2, 0x9d, 0xc3, 0x90, 0x82, 0x1d, 0x07, 0xad, 0x02, 0x10, 0x79,
-	0xb9, 0x9e, 0xba, 0x87, 0x9e, 0x58, 0x18, 0x0a, 0xeb, 0x92, 0x73, 0x8a, 0xba, 0x50, 0x89, 0x0d,
-	0xd2, 0x86, 0x28, 0xa8, 0x28, 0xfe, 0x9f, 0x32, 0x5b, 0xed, 0x1c, 0x9e, 0x23, 0x43, 0xfb, 0x26,
-	0xc0, 0x6c, 0xea, 0xde, 0xfc, 0xa2, 0xc1, 0x72, 0xc6, 0x20, 0xa1, 0x2e, 0xcc, 0x5d, 0xcf, 0xe4,
-	0x4d, 0x02, 0x36, 0xa7, 0x1e, 0xcb, 0x8e, 0x83, 0xcb, 0x17, 0x37, 0x1b, 0xb4, 0x0a, 0xe5, 0xd0,
-	0x27, 0x41, 0x78, 0xca, 0xa3, 0xeb, 0x7c, 0x60, 0x48, 0xa1, 0x8e, 0x63, 0xfe, 0xd4, 0xe0, 0xaf,
-	0x09, 0xf3, 0x87, 0x16, 0x61, 0xf6, 0x94, 0x87, 0x51, 0xaf, 0x2f, 0x58, 0xd2, 0x6b, 0x25, 0xb9,
-	0x7f, 0x2b, 0x18, 0xfa, 0x0f, 0xe6, 0xe3, 0xd1, 0xec, 0x05, 0x82, 0x7f, 0xa6, 0x76, 0x94, 0xc8,
-	0x56, 0x62, 0xf4, 0x28, 0x06, 0xc7, 0x4b, 0xa1, 0xdf, 0x5b, 0x8a, 0xc2, 0x14, 0xa5, 0x98, 0xf9,
-	0x73, 0xa5, 0x68, 0x41, 0x75, 0xfc, 0xc5, 0x90, 0xc3, 0xd5, 0x17, 0x5e, 0x3a, 0x5c, 0x7d, 0xe1,
-	0xc9, 0x04, 0xde, 0x6a, 0xa8, 0xe1, 0x3b, 0x98, 0x03, 0x28, 0xc6, 0x3d, 0x88, 0x30, 0x2c, 0x24,
-	0x09, 0xe9, 0x8d, 0xf6, 0x6f, 0xd6, 0x53, 0x92, 0x64, 0x2b, 0x96, 0x68, 0xe7, 0x70, 0x25, 0x18,
-	0x06, 0x10, 0x02, 0xbd, 0x3f, 0xd4, 0xc7, 0x72, 0xd3, 0x2c, 0x40, 0x9e, 0x39, 0xe6, 0x1e, 0x54,
-	0x46, 0xb8, 0x68, 0x05, 0x20, 0x75, 0x9f, 0x78, 0x36, 0xb0, 0x91, 0x20, 0x1d, 0x07, 0x2d, 0x83,
-	0xa1, 0xa2, 0x1a, 0x9a, 0xde, 0x59, 0x09, 0xc8, 0x3c, 0x9b, 0x27, 0x50, 0x1d, 0xef, 0xa3, 0xdf,
-	0x1a, 0xc3, 0x09, 0xaf, 0x44, 0xf3, 0x11, 0xac, 0xd8, 0xfc, 0xfc, 0x6e, 0x8d, 0x26, 0x1a, 0xa9,
-	0xc5, 0x91, 0xfc, 0x1f, 0x1e, 0x69, 0x27, 0x45, 0xf5, 0x63, 0x7c, 0xf8, 0x2b, 0x00, 0x00, 0xff,
-	0xff, 0xee, 0x8d, 0xe8, 0x1b, 0xcf, 0x07, 0x00, 0x00,
+	// 758 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xcb, 0x4e, 0xdb, 0x4c,
+	0x14, 0x8e, 0xe3, 0x90, 0xe0, 0x13, 0x02, 0xd1, 0xfc, 0x17, 0x05, 0x28, 0x02, 0x2c, 0x55, 0x45,
+	0xa2, 0x72, 0x44, 0x2a, 0x55, 0x2d, 0xad, 0x44, 0x09, 0x4d, 0x9b, 0x08, 0x1a, 0xd0, 0x94, 0x5e,
+	0x37, 0x91, 0xb1, 0x47, 0xc6, 0xc5, 0x78, 0xac, 0xb1, 0x13, 0xe0, 0x25, 0xba, 0xee, 0xc3, 0xf5,
+	0x11, 0xba, 0xac, 0xd4, 0x6d, 0x35, 0x17, 0x43, 0x12, 0x82, 0x41, 0x6a, 0x57, 0x9e, 0x39, 0xfe,
+	0xbe, 0xef, 0x9c, 0x39, 0x97, 0x19, 0xb0, 0x3c, 0x4a, 0xbd, 0x80, 0xd4, 0x5d, 0x32, 0x48, 0x28,
+	0x0d, 0xe2, 0x7a, 0x4c, 0xfb, 0xcc, 0x21, 0xf5, 0xc1, 0x86, 0x5a, 0xf5, 0x1c, 0x1a, 0x26, 0xe4,
+	0x3c, 0xb1, 0x22, 0x46, 0x13, 0x8a, 0xe6, 0x25, 0xde, 0x4a, 0xf1, 0x96, 0x44, 0x59, 0x83, 0x8d,
+	0x85, 0x7b, 0x4a, 0xca, 0x8e, 0xfc, 0xba, 0x1d, 0x86, 0x34, 0xb1, 0x13, 0x9f, 0x86, 0xb1, 0x24,
+	0x9a, 0xdf, 0xf3, 0x50, 0x79, 0x2b, 0xb0, 0x3b, 0x52, 0x10, 0x61, 0x00, 0x27, 0xa0, 0x7d, 0xb7,
+	0xc7, 0x48, 0x44, 0x6b, 0xda, 0x8a, 0xb6, 0x56, 0x6e, 0x6c, 0x58, 0x37, 0xea, 0x5b, 0x3b, 0x1c,
+	0x8c, 0x49, 0x44, 0x47, 0x64, 0xda, 0x39, 0x6c, 0x38, 0xe9, 0x1f, 0x64, 0xc3, 0x9c, 0xd4, 0x3c,
+	0xa3, 0xec, 0x24, 0x8e, 0x6c, 0x87, 0xd4, 0xf2, 0x42, 0xf8, 0xf1, 0x6d, 0xc2, 0x1f, 0x52, 0xc2,
+	0xb8, 0xfa, 0xac, 0x33, 0xf2, 0x1b, 0xb5, 0xa1, 0xe8, 0x11, 0xc6, 0xfc, 0xa4, 0xa6, 0x0b, 0x65,
+	0x2b, 0x43, 0xf9, 0xb5, 0x00, 0x8e, 0x2b, 0x2a, 0x3e, 0xda, 0x02, 0xdd, 0xf3, 0x93, 0x5a, 0x51,
+	0xc8, 0xac, 0x67, 0xc9, 0x5c, 0xd7, 0xe0, 0xcc, 0xa6, 0x01, 0x25, 0x55, 0x1d, 0xf3, 0x87, 0x06,
+	0xff, 0xb5, 0xce, 0x13, 0x12, 0xba, 0xc4, 0x1d, 0x4d, 0x73, 0xf3, 0x12, 0xa4, 0x72, 0xbc, 0x96,
+	0xe1, 0x69, 0x84, 0x8a, 0x53, 0x22, 0x3a, 0x84, 0x62, 0x60, 0x1f, 0x91, 0x20, 0xae, 0xe5, 0x57,
+	0xf4, 0xb5, 0x72, 0xe3, 0x79, 0x86, 0xc4, 0xc4, 0x28, 0xac, 0x3d, 0x41, 0x6f, 0x85, 0x09, 0xbb,
+	0xc0, 0x4a, 0x6b, 0xe1, 0x29, 0x94, 0x87, 0xcc, 0xa8, 0x0a, 0xfa, 0x09, 0xb9, 0x10, 0x41, 0x1a,
+	0x98, 0x2f, 0xd1, 0xbf, 0x30, 0x35, 0xb0, 0x83, 0xbe, 0xac, 0xa1, 0x81, 0xe5, 0x66, 0x33, 0xff,
+	0x44, 0x33, 0xbf, 0x69, 0x30, 0xb3, 0x1d, 0xf8, 0x76, 0x9c, 0x9e, 0xf2, 0x05, 0x14, 0x4e, 0xfc,
+	0xd0, 0x15, 0xec, 0xd9, 0xc6, 0xc3, 0x8c, 0xf8, 0x86, 0x69, 0xd6, 0xae, 0x1f, 0xba, 0x58, 0x30,
+	0x11, 0x82, 0x42, 0x68, 0x9f, 0xa6, 0xbe, 0xc4, 0xda, 0x6c, 0x40, 0x81, 0x23, 0x50, 0x09, 0xf4,
+	0xed, 0xee, 0xa7, 0x6a, 0x0e, 0x19, 0x30, 0xf5, 0xaa, 0xf3, 0xb1, 0xf5, 0xb2, 0xaa, 0xa1, 0x32,
+	0x94, 0xde, 0xec, 0xbf, 0xdf, 0x6e, 0xee, 0xb5, 0xaa, 0x79, 0x6e, 0xdf, 0x3f, 0x6c, 0xb7, 0x70,
+	0xb5, 0x60, 0xfe, 0xd4, 0xe0, 0xff, 0xc9, 0xad, 0x8a, 0x36, 0xa1, 0xc4, 0x7b, 0xbd, 0xe7, 0xbb,
+	0xaa, 0x14, 0xab, 0x19, 0x71, 0x72, 0x7a, 0xc7, 0xc5, 0x45, 0x26, 0xbe, 0x68, 0x15, 0xca, 0x8c,
+	0x0c, 0xfc, 0xd8, 0xa7, 0x21, 0xe7, 0x8b, 0x28, 0xdb, 0x39, 0x0c, 0xa9, 0xb1, 0xe3, 0xa2, 0x65,
+	0x00, 0x9b, 0x1f, 0xae, 0x27, 0xce, 0xa1, 0x2b, 0x84, 0x21, 0x6c, 0x5d, 0xfb, 0x94, 0xa0, 0x2e,
+	0x54, 0x24, 0x20, 0x6d, 0x88, 0x82, 0x88, 0xe2, 0xc1, 0x1d, 0xb3, 0xd5, 0xce, 0xe1, 0x19, 0x7b,
+	0x68, 0xdf, 0x04, 0x98, 0x4e, 0xdd, 0x9b, 0x5f, 0x35, 0x58, 0xcc, 0x18, 0x24, 0xd4, 0x85, 0x99,
+	0xcb, 0x99, 0xbc, 0x4a, 0xc0, 0xfa, 0x9d, 0xc7, 0xb2, 0xe3, 0xe2, 0xf2, 0xd9, 0xd5, 0x06, 0x2d,
+	0x43, 0x39, 0x0e, 0xed, 0x28, 0x3e, 0xa6, 0xc9, 0x65, 0x3e, 0x30, 0xa4, 0xa6, 0x8e, 0x6b, 0xfe,
+	0xd2, 0xe0, 0x9f, 0x09, 0xf3, 0x87, 0xe6, 0x61, 0xfa, 0x98, 0xc6, 0x49, 0xaf, 0xcf, 0x7c, 0xd5,
+	0x6b, 0x25, 0xbe, 0x7f, 0xc7, 0x7c, 0x74, 0x1f, 0x66, 0xe5, 0x68, 0xf6, 0x22, 0x46, 0xbf, 0x10,
+	0x27, 0x51, 0xb2, 0x15, 0x69, 0x3d, 0x90, 0xc6, 0xf1, 0x52, 0xe8, 0xb7, 0x96, 0xa2, 0x70, 0x87,
+	0x52, 0x4c, 0xfd, 0xbd, 0x52, 0xb4, 0xa0, 0x3a, 0x7e, 0x63, 0xf0, 0xe1, 0xea, 0xb3, 0x20, 0x1d,
+	0xae, 0x3e, 0x0b, 0x78, 0x02, 0xaf, 0x35, 0xd4, 0xf0, 0x19, 0xcc, 0x01, 0x14, 0x65, 0x0f, 0x22,
+	0x0c, 0x73, 0x2a, 0x21, 0xbd, 0xd1, 0xfe, 0xcd, 0xba, 0x4a, 0x54, 0xb6, 0xa4, 0x44, 0x3b, 0x87,
+	0x2b, 0xd1, 0xb0, 0x01, 0x21, 0xd0, 0xfb, 0x43, 0x7d, 0xcc, 0x37, 0xcd, 0x02, 0xe4, 0x7d, 0xd7,
+	0xdc, 0x85, 0xca, 0x08, 0x17, 0x2d, 0x01, 0xa4, 0xee, 0x95, 0x67, 0x03, 0x1b, 0xca, 0xd2, 0x71,
+	0xd1, 0x22, 0x18, 0x22, 0xaa, 0xa1, 0xe9, 0x9d, 0xe6, 0x06, 0x9e, 0x67, 0xf3, 0x08, 0xaa, 0xe3,
+	0x7d, 0xf4, 0x47, 0x63, 0x38, 0xe1, 0x96, 0x68, 0x0e, 0x60, 0xc9, 0xa1, 0xa7, 0x37, 0x6b, 0x34,
+	0xd1, 0x48, 0x2d, 0x0e, 0xf8, 0x7b, 0x78, 0xa0, 0x7d, 0xde, 0x52, 0x04, 0x8f, 0x06, 0x76, 0xe8,
+	0x59, 0x94, 0x79, 0x75, 0x8f, 0x84, 0xe2, 0xb5, 0xac, 0xcb, 0x5f, 0x76, 0xe4, 0xc7, 0x13, 0x5e,
+	0xe6, 0x67, 0x72, 0x75, 0x54, 0x14, 0xd8, 0x47, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xd7, 0xee,
+	0x6b, 0xa8, 0xc4, 0x07, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/source/v1/source_context.proto b/googleapis/devtools/source/v1/source_context.proto
deleted file mode 100644
index f4fcc9bd3249f584a55a07921828430d165c7c13..0000000000000000000000000000000000000000
--- a/googleapis/devtools/source/v1/source_context.proto
+++ /dev/null
@@ -1,179 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.devtools.source.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "SourceContextProto";
-option java_package = "com.google.devtools.source.v1";
-
-
-// A SourceContext is a reference to a tree of files. A SourceContext together
-// with a path point to a unique revision of a single file or directory.
-message SourceContext {
-  // A SourceContext can refer any one of the following types of repositories.
-  oneof context {
-    // A SourceContext referring to a revision in a cloud repo.
-    CloudRepoSourceContext cloud_repo = 1;
-
-    // A SourceContext referring to a snapshot in a cloud workspace.
-    CloudWorkspaceSourceContext cloud_workspace = 2;
-
-    // A SourceContext referring to a Gerrit project.
-    GerritSourceContext gerrit = 3;
-
-    // A SourceContext referring to any third party Git repo (e.g. GitHub).
-    GitSourceContext git = 6;
-  }
-}
-
-// An ExtendedSourceContext is a SourceContext combined with additional
-// details describing the context.
-message ExtendedSourceContext {
-  // Any source context.
-  SourceContext context = 1;
-
-  // Labels with user defined metadata.
-  map<string, string> labels = 2;
-}
-
-// An alias to a repo revision.
-message AliasContext {
-  // The type of an Alias.
-  enum Kind {
-    // Do not use.
-    ANY = 0;
-
-    // Git tag
-    FIXED = 1;
-
-    // Git branch
-    MOVABLE = 2;
-
-    // OTHER is used to specify non-standard aliases, those not of the kinds
-    // above. For example, if a Git repo has a ref named "refs/foo/bar", it
-    // is considered to be of kind OTHER.
-    OTHER = 4;
-  }
-
-  // The alias kind.
-  Kind kind = 1;
-
-  // The alias name.
-  string name = 2;
-}
-
-// A CloudRepoSourceContext denotes a particular revision in a cloud
-// repo (a repo hosted by the Google Cloud Platform).
-message CloudRepoSourceContext {
-  // The ID of the repo.
-  RepoId repo_id = 1;
-
-  // A revision in a cloud repository can be identified by either its revision
-  // ID or its Alias.
-  oneof revision {
-    // A revision ID.
-    string revision_id = 2;
-
-    // The name of an alias (branch, tag, etc.).
-    string alias_name = 3;
-
-    // An alias, which may be a branch or tag.
-    AliasContext alias_context = 4;
-  }
-}
-
-// A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot.
-message CloudWorkspaceSourceContext {
-  // The ID of the workspace.
-  CloudWorkspaceId workspace_id = 1;
-
-  // The ID of the snapshot.
-  // An empty snapshot_id refers to the most recent snapshot.
-  string snapshot_id = 2;
-}
-
-// A SourceContext referring to a Gerrit project.
-message GerritSourceContext {
-  // The URI of a running Gerrit instance.
-  string host_uri = 1;
-
-  // The full project name within the host. Projects may be nested, so
-  // "project/subproject" is a valid project name.
-  // The "repo name" is hostURI/project.
-  string gerrit_project = 2;
-
-  // A revision in a Gerrit project can be identified by either its revision ID
-  // or its alias.
-  oneof revision {
-    // A revision (commit) ID.
-    string revision_id = 3;
-
-    // The name of an alias (branch, tag, etc.).
-    string alias_name = 4;
-
-    // An alias, which may be a branch or tag.
-    AliasContext alias_context = 5;
-  }
-}
-
-// A GitSourceContext denotes a particular revision in a third party Git
-// repository (e.g. GitHub).
-message GitSourceContext {
-  // Git repository URL.
-  string url = 1;
-
-  // Git commit hash.
-  // required.
-  string revision_id = 2;
-}
-
-// A unique identifier for a cloud repo.
-message RepoId {
-  // A cloud repository can be identified by either its project ID and
-  // repository name combination, or its globally unique identifier.
-  oneof id {
-    // A combination of a project ID and a repo name.
-    ProjectRepoId project_repo_id = 1;
-
-    // A server-assigned, globally unique identifier.
-    string uid = 2;
-  }
-}
-
-// Selects a repo using a Google Cloud Platform project ID
-// (e.g. winged-cargo-31) and a repo name within that project.
-message ProjectRepoId {
-  // The ID of the project.
-  string project_id = 1;
-
-  // The name of the repo. Leave empty for the default repo.
-  string repo_name = 2;
-}
-
-// A CloudWorkspaceId is a unique identifier for a cloud workspace.
-// A cloud workspace is a place associated with a repo where modified files
-// can be stored before they are committed.
-message CloudWorkspaceId {
-  // The ID of the repo containing the workspace.
-  RepoId repo_id = 1;
-
-  // The unique name of the workspace within the repo.  This is the name
-  // chosen by the client in the Source API's CreateWorkspace method.
-  string name = 2;
-}
diff --git a/googleapis/example/library/v1/library.pb.go b/googleapis/example/library/v1/library.pb.go
index 86a9954cdd09fc938bb174fe38179e488ed6adc1..5cb297be4de6792ba80fcd967fdb1685b45e2fc2 100644
--- a/googleapis/example/library/v1/library.pb.go
+++ b/googleapis/example/library/v1/library.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/example/library/v1/library.proto
+// source: google/example/library/v1/library.proto
 // DO NOT EDIT!
 
 /*
-Package google_example_library_v1 is a generated protocol buffer package.
+Package library is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/example/library/v1/library.proto
+	google/example/library/v1/library.proto
 
 It has these top-level messages:
 	Book
@@ -25,12 +25,12 @@ It has these top-level messages:
 	DeleteBookRequest
 	MoveBookRequest
 */
-package google_example_library_v1 // import "google.golang.org/genproto/googleapis/example/library/v1"
+package library
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
 
 import (
@@ -68,6 +68,34 @@ func (m *Book) String() string            { return proto.CompactTextString(m) }
 func (*Book) ProtoMessage()               {}
 func (*Book) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Book) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Book) GetAuthor() string {
+	if m != nil {
+		return m.Author
+	}
+	return ""
+}
+
+func (m *Book) GetTitle() string {
+	if m != nil {
+		return m.Title
+	}
+	return ""
+}
+
+func (m *Book) GetRead() bool {
+	if m != nil {
+		return m.Read
+	}
+	return false
+}
+
 // A Shelf contains a collection of books with a theme.
 type Shelf struct {
 	// The resource name of the shelf.
@@ -83,6 +111,20 @@ func (m *Shelf) String() string            { return proto.CompactTextString(m) }
 func (*Shelf) ProtoMessage()               {}
 func (*Shelf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *Shelf) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Shelf) GetTheme() string {
+	if m != nil {
+		return m.Theme
+	}
+	return ""
+}
+
 // Request message for LibraryService.CreateShelf.
 type CreateShelfRequest struct {
 	// The shelf to create.
@@ -112,6 +154,13 @@ func (m *GetShelfRequest) String() string            { return proto.CompactTextS
 func (*GetShelfRequest) ProtoMessage()               {}
 func (*GetShelfRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *GetShelfRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for LibraryService.ListShelves.
 type ListShelvesRequest struct {
 	// Requested page size. Server may return fewer shelves than requested.
@@ -129,6 +178,20 @@ func (m *ListShelvesRequest) String() string            { return proto.CompactTe
 func (*ListShelvesRequest) ProtoMessage()               {}
 func (*ListShelvesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *ListShelvesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListShelvesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response message for LibraryService.ListShelves.
 type ListShelvesResponse struct {
 	// The list of shelves.
@@ -153,6 +216,13 @@ func (m *ListShelvesResponse) GetShelves() []*Shelf {
 	return nil
 }
 
+func (m *ListShelvesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for LibraryService.DeleteShelf.
 type DeleteShelfRequest struct {
 	// The name of the shelf to delete.
@@ -164,6 +234,13 @@ func (m *DeleteShelfRequest) String() string            { return proto.CompactTe
 func (*DeleteShelfRequest) ProtoMessage()               {}
 func (*DeleteShelfRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *DeleteShelfRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Describes the shelf being removed (other_shelf_name) and updated
 // (name) in this merge.
 type MergeShelvesRequest struct {
@@ -178,6 +255,20 @@ func (m *MergeShelvesRequest) String() string            { return proto.CompactT
 func (*MergeShelvesRequest) ProtoMessage()               {}
 func (*MergeShelvesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *MergeShelvesRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *MergeShelvesRequest) GetOtherShelfName() string {
+	if m != nil {
+		return m.OtherShelfName
+	}
+	return ""
+}
+
 // Request message for LibraryService.CreateBook.
 type CreateBookRequest struct {
 	// The name of the shelf in which the book is created.
@@ -191,6 +282,13 @@ func (m *CreateBookRequest) String() string            { return proto.CompactTex
 func (*CreateBookRequest) ProtoMessage()               {}
 func (*CreateBookRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *CreateBookRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *CreateBookRequest) GetBook() *Book {
 	if m != nil {
 		return m.Book
@@ -209,6 +307,13 @@ func (m *GetBookRequest) String() string            { return proto.CompactTextSt
 func (*GetBookRequest) ProtoMessage()               {}
 func (*GetBookRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *GetBookRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for LibraryService.ListBooks.
 type ListBooksRequest struct {
 	// The name of the shelf whose books we'd like to list.
@@ -228,6 +333,27 @@ func (m *ListBooksRequest) String() string            { return proto.CompactText
 func (*ListBooksRequest) ProtoMessage()               {}
 func (*ListBooksRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *ListBooksRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListBooksRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListBooksRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response message for LibraryService.ListBooks.
 type ListBooksResponse struct {
 	// The list of books.
@@ -252,6 +378,13 @@ func (m *ListBooksResponse) GetBooks() []*Book {
 	return nil
 }
 
+func (m *ListBooksResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for LibraryService.UpdateBook.
 type UpdateBookRequest struct {
 	// The name of the book to update.
@@ -265,6 +398,13 @@ func (m *UpdateBookRequest) String() string            { return proto.CompactTex
 func (*UpdateBookRequest) ProtoMessage()               {}
 func (*UpdateBookRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *UpdateBookRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *UpdateBookRequest) GetBook() *Book {
 	if m != nil {
 		return m.Book
@@ -283,6 +423,13 @@ func (m *DeleteBookRequest) String() string            { return proto.CompactTex
 func (*DeleteBookRequest) ProtoMessage()               {}
 func (*DeleteBookRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *DeleteBookRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Describes what book to move (name) and what shelf we're moving it
 // to (other_shelf_name).
 type MoveBookRequest struct {
@@ -297,6 +444,20 @@ func (m *MoveBookRequest) String() string            { return proto.CompactTextS
 func (*MoveBookRequest) ProtoMessage()               {}
 func (*MoveBookRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
 
+func (m *MoveBookRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *MoveBookRequest) GetOtherShelfName() string {
+	if m != nil {
+		return m.OtherShelfName
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Book)(nil), "google.example.library.v1.Book")
 	proto.RegisterType((*Shelf)(nil), "google.example.library.v1.Shelf")
@@ -758,67 +919,64 @@ var _LibraryService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/example/library/v1/library.proto",
+	Metadata: "google/example/library/v1/library.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/example/library/v1/library.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/example/library/v1/library.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 856 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x55, 0xdd, 0x4e, 0xe3, 0x46,
-	0x14, 0x96, 0x21, 0x81, 0x70, 0xc2, 0x5f, 0x06, 0x84, 0x52, 0x17, 0x4a, 0x3a, 0x02, 0x9a, 0xa6,
-	0xd4, 0x16, 0xa0, 0xf6, 0x22, 0x52, 0x6f, 0xe8, 0x0f, 0xaa, 0x04, 0x6d, 0x94, 0xb4, 0x77, 0x48,
-	0x91, 0x13, 0x06, 0xc7, 0x22, 0xf6, 0xb8, 0xf6, 0x24, 0x22, 0xa0, 0x5e, 0xb4, 0x12, 0x42, 0xda,
-	0xdb, 0x7d, 0x85, 0x7d, 0xa3, 0x7d, 0x85, 0x7d, 0x90, 0xd5, 0xcc, 0xd8, 0x60, 0x12, 0x33, 0xf6,
-	0x5e, 0xec, 0x4d, 0xe4, 0x99, 0x39, 0xf3, 0x9d, 0xef, 0x7c, 0xe7, 0xcc, 0x17, 0xf8, 0xcd, 0xa6,
-	0xd4, 0x1e, 0x12, 0xc3, 0xa6, 0x43, 0xcb, 0xb3, 0x0d, 0x1a, 0xd8, 0xa6, 0x4d, 0x3c, 0x3f, 0xa0,
-	0x8c, 0x9a, 0xf2, 0xc8, 0xf2, 0x9d, 0xd0, 0x24, 0xb7, 0x96, 0xeb, 0x0f, 0x89, 0x39, 0x74, 0x7a,
-	0x81, 0x15, 0x4c, 0xcc, 0xf1, 0x51, 0xfc, 0x69, 0x88, 0x58, 0xf4, 0x45, 0x84, 0x13, 0x05, 0x1a,
-	0xf1, 0xe9, 0xf8, 0x48, 0xff, 0x3d, 0x5f, 0x0a, 0xcb, 0x77, 0xcc, 0x90, 0x04, 0x63, 0xa7, 0x4f,
-	0xfa, 0xd4, 0xbb, 0x76, 0x6c, 0xd3, 0xf2, 0x3c, 0xca, 0x2c, 0xe6, 0x50, 0x2f, 0x94, 0x59, 0xf4,
-	0x13, 0xdb, 0x61, 0x83, 0x51, 0xcf, 0xe8, 0x53, 0xd7, 0x94, 0x70, 0xa6, 0x38, 0xe8, 0x8d, 0xae,
-	0x4d, 0x9f, 0x4d, 0x7c, 0x12, 0x9a, 0xc4, 0xf5, 0xd9, 0x44, 0xfe, 0xca, 0x4b, 0xf8, 0x12, 0x0a,
-	0xa7, 0x94, 0xde, 0x20, 0x04, 0x05, 0xcf, 0x72, 0x49, 0x55, 0xab, 0x69, 0xf5, 0xa5, 0xb6, 0xf8,
-	0x46, 0x5b, 0xb0, 0x60, 0x8d, 0xd8, 0x80, 0x06, 0xd5, 0x39, 0xb1, 0x1b, 0xad, 0xd0, 0x26, 0x14,
-	0x99, 0xc3, 0x86, 0xa4, 0x3a, 0x2f, 0xb6, 0xe5, 0x82, 0x23, 0x04, 0xc4, 0xba, 0xaa, 0x16, 0x6a,
-	0x5a, 0xbd, 0xd4, 0x16, 0xdf, 0xf8, 0x08, 0x8a, 0x9d, 0x01, 0x19, 0x5e, 0xa7, 0xc2, 0x73, 0x98,
-	0x01, 0x71, 0x49, 0x84, 0x2e, 0x17, 0xf8, 0x1c, 0xd0, 0xcf, 0x01, 0xb1, 0x18, 0x11, 0x17, 0xdb,
-	0xe4, 0x9f, 0x11, 0x09, 0x19, 0xfa, 0x11, 0x8a, 0x21, 0x5f, 0x0b, 0x80, 0xf2, 0x71, 0xcd, 0x78,
-	0x55, 0x51, 0x43, 0xde, 0x93, 0xe1, 0x78, 0x1f, 0xd6, 0xce, 0x08, 0x7b, 0x01, 0x95, 0x42, 0x05,
-	0xb7, 0x00, 0x9d, 0x3b, 0xa1, 0x88, 0x1b, 0x93, 0x30, 0x8e, 0xfc, 0x12, 0x96, 0x7c, 0xcb, 0x26,
-	0xdd, 0xd0, 0xb9, 0x93, 0xe1, 0xc5, 0x76, 0x89, 0x6f, 0x74, 0x9c, 0x3b, 0x82, 0x76, 0x00, 0xc4,
-	0x21, 0xa3, 0x37, 0xc4, 0x8b, 0x4a, 0x10, 0xe1, 0x7f, 0xf1, 0x0d, 0x3c, 0x81, 0x8d, 0x17, 0x88,
-	0xa1, 0x4f, 0xbd, 0x90, 0xa0, 0x26, 0x2c, 0x86, 0x72, 0xab, 0xaa, 0xd5, 0xe6, 0x73, 0x55, 0x12,
-	0x5f, 0x40, 0x07, 0xb0, 0xe6, 0x91, 0x5b, 0xd6, 0x9d, 0x49, 0xbb, 0xc2, 0xb7, 0x5b, 0x4f, 0xa9,
-	0xeb, 0x80, 0x7e, 0x21, 0x43, 0x32, 0xa5, 0x60, 0x5a, 0xd9, 0x1d, 0xd8, 0xb8, 0x20, 0x81, 0x4d,
-	0xa6, 0xea, 0x4e, 0x6b, 0x56, 0x1d, 0xd6, 0x29, 0x1b, 0x90, 0xa0, 0x2b, 0x74, 0xed, 0x8a, 0x73,
-	0x99, 0x7d, 0x55, 0xec, 0x8b, 0x5c, 0x7f, 0x70, 0xd0, 0x4b, 0xa8, 0xc8, 0x06, 0xf2, 0xb9, 0x52,
-	0x41, 0x9e, 0x40, 0xa1, 0x47, 0xe9, 0x8d, 0x80, 0x29, 0x1f, 0xef, 0x2a, 0x84, 0x10, 0x48, 0x22,
-	0x18, 0xef, 0xc1, 0xea, 0x19, 0x61, 0x19, 0xd0, 0xb8, 0x07, 0xeb, 0x5c, 0x7d, 0x1e, 0xa6, 0xac,
-	0xea, 0x45, 0x87, 0xe7, 0x94, 0x1d, 0x9e, 0x9f, 0xee, 0x70, 0x00, 0x95, 0x44, 0x8e, 0xa8, 0xbf,
-	0x3f, 0x40, 0x91, 0xd3, 0x8c, 0xbb, 0x9b, 0x59, 0x94, 0x8c, 0xce, 0xdd, 0xda, 0x4b, 0xa8, 0xfc,
-	0xed, 0x5f, 0x7d, 0x2e, 0x6d, 0xbf, 0x81, 0x8a, 0x1c, 0x9c, 0x2c, 0x79, 0xff, 0x84, 0xb5, 0x0b,
-	0x3a, 0xce, 0x24, 0x91, 0x7b, 0x66, 0x8e, 0xdf, 0x95, 0x61, 0xf5, 0x5c, 0x72, 0xea, 0x48, 0x97,
-	0x43, 0x77, 0x50, 0x4e, 0xf8, 0x00, 0xfa, 0x5e, 0x51, 0xc2, 0xac, 0x5f, 0xe8, 0x99, 0xcf, 0x0a,
-	0xeb, 0xff, 0xbf, 0xff, 0xf0, 0x76, 0x6e, 0x13, 0x97, 0xb9, 0x5d, 0x47, 0x4f, 0xac, 0x29, 0x5d,
-	0x03, 0x8d, 0xa1, 0x14, 0xbb, 0x06, 0x6a, 0x28, 0x90, 0xa6, 0xac, 0x25, 0x47, 0xd6, 0x6d, 0x91,
-	0x75, 0x0b, 0x6d, 0xf2, 0xac, 0xf7, 0x5c, 0x91, 0x9f, 0xa2, 0xdc, 0x66, 0xe3, 0x5f, 0xf4, 0x9f,
-	0x06, 0xe5, 0x84, 0x6b, 0x28, 0x8b, 0x9e, 0xf5, 0x2b, 0xdd, 0xc8, 0x1b, 0x2e, 0x87, 0x15, 0x6f,
-	0x08, 0x32, 0x2b, 0x28, 0x29, 0x01, 0x0a, 0xa0, 0x9c, 0x70, 0x0f, 0x25, 0x85, 0x59, 0x97, 0xd1,
-	0xb7, 0xe2, 0xf0, 0xf8, 0x9f, 0xc7, 0xf8, 0x95, 0xff, 0xd9, 0xc4, 0x75, 0x37, 0xd2, 0xeb, 0x7e,
-	0xd4, 0x60, 0x39, 0x69, 0x44, 0x48, 0x55, 0x49, 0x8a, 0x63, 0xe5, 0x10, 0x7e, 0x5f, 0x10, 0xd8,
-	0xc5, 0x7a, 0x1a, 0x81, 0xa6, 0xcb, 0x31, 0x9b, 0x5a, 0x03, 0x3d, 0x68, 0x00, 0xcf, 0xee, 0x85,
-	0x0e, 0x33, 0xa7, 0x2e, 0xf1, 0x06, 0xf4, 0xac, 0x67, 0x86, 0xeb, 0x82, 0x04, 0x4e, 0x27, 0x61,
-	0x0a, 0x2b, 0x68, 0x8a, 0xa7, 0x88, 0xee, 0x61, 0x31, 0xb2, 0x39, 0xf4, 0xad, 0x7a, 0x00, 0x3f,
-	0x89, 0xc0, 0x9e, 0x20, 0xf0, 0x15, 0xda, 0x4e, 0x21, 0x20, 0xf3, 0xf3, 0x76, 0xbc, 0xd1, 0x60,
-	0xe9, 0xc9, 0xda, 0xd0, 0x77, 0x19, 0x53, 0x95, 0x34, 0x59, 0xfd, 0x30, 0x5f, 0x70, 0x34, 0x80,
-	0x58, 0xd0, 0xd9, 0x46, 0x0a, 0x3d, 0xd0, 0x2d, 0xc0, 0xb3, 0x29, 0x29, 0x1b, 0x32, 0xe3, 0x5d,
-	0xaf, 0x4e, 0x63, 0x24, 0x43, 0x43, 0x2d, 0xc3, 0xa3, 0x06, 0xf0, 0xec, 0xb6, 0xca, 0xd4, 0x33,
-	0xa6, 0x9c, 0xdd, 0x8a, 0x86, 0xe0, 0xb0, 0xa7, 0x2b, 0x39, 0x44, 0xd3, 0xf0, 0xa0, 0x41, 0x29,
-	0x36, 0x5c, 0xa5, 0x21, 0x4d, 0xb9, 0x72, 0x36, 0x8b, 0x43, 0xc1, 0xe2, 0x00, 0x7f, 0xad, 0x64,
-	0xe1, 0xd2, 0x31, 0x7f, 0x1d, 0xa7, 0x26, 0xec, 0xf4, 0xa9, 0xfb, 0x3a, 0xe6, 0xe9, 0x72, 0x64,
-	0xe2, 0x2d, 0xae, 0x77, 0x4b, 0xeb, 0x2d, 0x08, 0xe1, 0x4f, 0x3e, 0x06, 0x00, 0x00, 0xff, 0xff,
-	0x2d, 0x39, 0x37, 0x73, 0x49, 0x0b, 0x00, 0x00,
+	// 838 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xdb, 0x4e, 0xdb, 0x48,
+	0x18, 0x96, 0x21, 0x81, 0xf0, 0x87, 0x53, 0x06, 0x84, 0xb2, 0x26, 0x2c, 0xd9, 0x11, 0x87, 0x6c,
+	0x96, 0xb5, 0x05, 0x68, 0xf7, 0x22, 0x55, 0xa5, 0x8a, 0xb6, 0xe2, 0x06, 0xda, 0x28, 0x69, 0x6f,
+	0x2a, 0xa4, 0xc8, 0x81, 0xc1, 0xb1, 0x48, 0x3c, 0xc6, 0x36, 0x11, 0x07, 0xf5, 0xa2, 0x95, 0x10,
+	0x52, 0x6f, 0xfb, 0x0a, 0x7d, 0xa3, 0xbe, 0x42, 0x1f, 0xa4, 0x9a, 0x83, 0xc1, 0x24, 0x66, 0x9c,
+	0x5e, 0xf4, 0xce, 0x33, 0xf3, 0xcd, 0xf7, 0x7f, 0xff, 0x61, 0xbe, 0x04, 0x36, 0x6d, 0x4a, 0xed,
+	0x2e, 0x31, 0xc9, 0xa5, 0xd5, 0xf3, 0xba, 0xc4, 0xec, 0x3a, 0x6d, 0xdf, 0xf2, 0xaf, 0xcc, 0xfe,
+	0x76, 0xf4, 0x69, 0x78, 0x3e, 0x0d, 0x29, 0xfa, 0x43, 0x00, 0x0d, 0x09, 0x34, 0xa2, 0xd3, 0xfe,
+	0xb6, 0x5e, 0x92, 0x1c, 0x96, 0xe7, 0x98, 0x96, 0xeb, 0xd2, 0xd0, 0x0a, 0x1d, 0xea, 0x06, 0xe2,
+	0xa2, 0xbe, 0x2c, 0x4f, 0xf9, 0xaa, 0x7d, 0x71, 0x6a, 0x92, 0x9e, 0x17, 0x4a, 0x56, 0x7c, 0x04,
+	0x99, 0x3d, 0x4a, 0xcf, 0x10, 0x82, 0x8c, 0x6b, 0xf5, 0x48, 0x51, 0x2b, 0x6b, 0x95, 0xa9, 0x06,
+	0xff, 0x46, 0x4b, 0x30, 0x61, 0x5d, 0x84, 0x1d, 0xea, 0x17, 0xc7, 0xf8, 0xae, 0x5c, 0xa1, 0x45,
+	0xc8, 0x86, 0x4e, 0xd8, 0x25, 0xc5, 0x71, 0xbe, 0x2d, 0x16, 0x8c, 0xc1, 0x27, 0xd6, 0x49, 0x31,
+	0x53, 0xd6, 0x2a, 0xb9, 0x06, 0xff, 0xc6, 0xdb, 0x90, 0x6d, 0x76, 0x48, 0xf7, 0x34, 0x91, 0x9e,
+	0xd1, 0x74, 0x48, 0x8f, 0x48, 0x76, 0xb1, 0xc0, 0x07, 0x80, 0x5e, 0xfa, 0xc4, 0x0a, 0x09, 0xbf,
+	0xd8, 0x20, 0xe7, 0x17, 0x24, 0x08, 0xd1, 0xff, 0x90, 0x0d, 0xd8, 0x9a, 0x13, 0xe4, 0x77, 0xca,
+	0xc6, 0x93, 0xc5, 0x30, 0xc4, 0x3d, 0x01, 0xc7, 0xeb, 0x30, 0xb7, 0x4f, 0xc2, 0x47, 0x54, 0x09,
+	0x52, 0x70, 0x1d, 0xd0, 0x81, 0x13, 0x70, 0x5c, 0x9f, 0x04, 0x11, 0x72, 0x19, 0xa6, 0x3c, 0xcb,
+	0x26, 0xad, 0xc0, 0xb9, 0x16, 0xf0, 0x6c, 0x23, 0xc7, 0x36, 0x9a, 0xce, 0x35, 0x41, 0x2b, 0x00,
+	0xfc, 0x30, 0xa4, 0x67, 0xc4, 0x95, 0x29, 0x70, 0xf8, 0x3b, 0xb6, 0x81, 0xaf, 0x60, 0xe1, 0x11,
+	0x63, 0xe0, 0x51, 0x37, 0x20, 0xa8, 0x06, 0x93, 0x81, 0xd8, 0x2a, 0x6a, 0xe5, 0xf1, 0x91, 0x32,
+	0x89, 0x2e, 0xa0, 0x0d, 0x98, 0x73, 0xc9, 0x65, 0xd8, 0x1a, 0x0a, 0x3b, 0xc3, 0xb6, 0xeb, 0xf7,
+	0xa1, 0x2b, 0x80, 0x5e, 0x91, 0x2e, 0x19, 0xa8, 0x60, 0x52, 0xda, 0x4d, 0x58, 0x38, 0x24, 0xbe,
+	0x4d, 0x06, 0xf2, 0x4e, 0x6a, 0x56, 0x05, 0xe6, 0x69, 0xd8, 0x21, 0x7e, 0x8b, 0xd7, 0xb5, 0xc5,
+	0xcf, 0x45, 0xf4, 0x59, 0xbe, 0xcf, 0x63, 0xbd, 0x61, 0xa4, 0x47, 0x50, 0x10, 0x0d, 0x64, 0x73,
+	0xa5, 0xa2, 0xdc, 0x85, 0x4c, 0x9b, 0xd2, 0x33, 0x4e, 0x93, 0xdf, 0x59, 0x55, 0x14, 0x82, 0x33,
+	0x71, 0x30, 0x5e, 0x83, 0xd9, 0x7d, 0x12, 0xa6, 0x50, 0xe3, 0x36, 0xcc, 0xb3, 0xea, 0x33, 0x98,
+	0x32, 0xab, 0x47, 0x1d, 0x1e, 0x53, 0x76, 0x78, 0x7c, 0xb0, 0xc3, 0x3e, 0x14, 0x62, 0x31, 0x64,
+	0x7f, 0xff, 0x83, 0x2c, 0x93, 0x19, 0x75, 0x37, 0x35, 0x29, 0x81, 0x1e, 0xb9, 0xb5, 0x47, 0x50,
+	0x78, 0xef, 0x9d, 0xfc, 0xae, 0xda, 0x6e, 0x42, 0x41, 0x0c, 0x4e, 0x5a, 0x79, 0xdf, 0xc2, 0xdc,
+	0x21, 0xed, 0xa7, 0x8a, 0x18, 0x79, 0x66, 0x76, 0xbe, 0xe5, 0x61, 0xf6, 0x40, 0x68, 0x6a, 0x12,
+	0xbf, 0xef, 0x1c, 0x13, 0x74, 0x0d, 0xf9, 0x98, 0x0f, 0xa0, 0x7f, 0x15, 0x29, 0x0c, 0xfb, 0x85,
+	0x9e, 0xfa, 0xac, 0xb0, 0xfe, 0xf9, 0xfb, 0x8f, 0xaf, 0x63, 0x8b, 0x38, 0xcf, 0x9c, 0x56, 0x3e,
+	0xb1, 0x9a, 0x70, 0x0d, 0xd4, 0x87, 0x5c, 0xe4, 0x1a, 0xa8, 0xaa, 0x60, 0x1a, 0xb0, 0x96, 0x11,
+	0xa2, 0x96, 0x78, 0xd4, 0x25, 0xb4, 0xc8, 0xa2, 0xde, 0xb0, 0x8a, 0x3c, 0x97, 0xb1, 0xcd, 0xea,
+	0x47, 0xf4, 0x49, 0x83, 0x7c, 0xcc, 0x35, 0x94, 0x49, 0x0f, 0xfb, 0x95, 0x6e, 0x8c, 0x0a, 0x17,
+	0xc3, 0x8a, 0x17, 0xb8, 0x98, 0x19, 0x14, 0x2f, 0x01, 0xf2, 0x21, 0x1f, 0x73, 0x0f, 0xa5, 0x84,
+	0x61, 0x97, 0xd1, 0x97, 0x22, 0x78, 0xf4, 0x63, 0x63, 0xbc, 0x66, 0x3f, 0x36, 0x51, 0xde, 0xd5,
+	0xe4, 0xbc, 0xef, 0x34, 0x98, 0x8e, 0x1b, 0x11, 0x52, 0x65, 0x92, 0xe0, 0x58, 0x23, 0x14, 0x7e,
+	0x9d, 0x0b, 0x58, 0xc5, 0x7a, 0x92, 0x80, 0x5a, 0x8f, 0x71, 0xd6, 0xb4, 0x2a, 0xba, 0xd5, 0x00,
+	0x1e, 0xdc, 0x0b, 0x6d, 0xa5, 0x4e, 0x5d, 0xec, 0x0d, 0xe8, 0x69, 0xcf, 0x0c, 0x57, 0xb8, 0x08,
+	0x9c, 0x2c, 0xc2, 0xe4, 0x56, 0x50, 0xe3, 0x4f, 0x11, 0xdd, 0xc0, 0xa4, 0xb4, 0x39, 0xf4, 0xb7,
+	0x7a, 0x00, 0x7f, 0x49, 0xc0, 0x1a, 0x17, 0xf0, 0x27, 0x2a, 0x25, 0x08, 0x10, 0xf1, 0x59, 0x3b,
+	0xbe, 0x68, 0x30, 0x75, 0x6f, 0x6d, 0xe8, 0x9f, 0x94, 0xa9, 0x8a, 0x9b, 0xac, 0xbe, 0x35, 0x1a,
+	0x58, 0x0e, 0x20, 0xe6, 0x72, 0x4a, 0x48, 0x51, 0x0f, 0x74, 0x09, 0xf0, 0x60, 0x4a, 0xca, 0x86,
+	0x0c, 0x79, 0xd7, 0x93, 0xd3, 0x28, 0xcb, 0x50, 0x55, 0x97, 0xe1, 0x4e, 0x03, 0x78, 0x70, 0x5b,
+	0x65, 0xe8, 0x21, 0x53, 0x4e, 0x6f, 0x45, 0x95, 0x6b, 0x58, 0xd3, 0x95, 0x1a, 0xe4, 0x34, 0xdc,
+	0x6a, 0x90, 0x8b, 0x0c, 0x57, 0x69, 0x48, 0x03, 0xae, 0x9c, 0xae, 0x62, 0x8b, 0xab, 0xd8, 0xc0,
+	0x7f, 0x29, 0x55, 0xf4, 0x68, 0x9f, 0xbd, 0x8e, 0xbd, 0x73, 0x58, 0x39, 0xa6, 0xbd, 0xa7, 0x39,
+	0xf7, 0xa6, 0xa5, 0x89, 0xd7, 0x59, 0xbd, 0xeb, 0xda, 0x87, 0x17, 0x12, 0x6a, 0xd3, 0xae, 0xe5,
+	0xda, 0x06, 0xf5, 0x6d, 0xd3, 0x26, 0x2e, 0xef, 0x86, 0x29, 0x8e, 0x2c, 0xcf, 0x09, 0x12, 0xfe,
+	0xfb, 0x3e, 0x93, 0x9f, 0xed, 0x09, 0x0e, 0xde, 0xfd, 0x19, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x13,
+	0xc5, 0x7e, 0x27, 0x0b, 0x00, 0x00,
 }
diff --git a/googleapis/example/library/v1/library.proto b/googleapis/example/library/v1/library.proto
deleted file mode 100644
index 7daa52bd51383095cbeb2b45d3eceaf587e546fc..0000000000000000000000000000000000000000
--- a/googleapis/example/library/v1/library.proto
+++ /dev/null
@@ -1,253 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.example.library.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "LibraryProto";
-option java_package = "com.google.example.library.v1";
-
-
-// This API represents a simple digital library.  It lets you manage Shelf
-// resources and Book resources in the library. It defines the following
-// resource model:
-//
-// - The API has a collection of [Shelf][google.example.library.v1.Shelf]
-//   resources, named `shelves/*`
-//
-// - Each Shelf has a collection of [Book][google.example.library.v1.Book]
-//   resources, named `shelves/*/books/*`
-service LibraryService {
-  // Creates a shelf, and returns the new Shelf.
-  rpc CreateShelf(CreateShelfRequest) returns (Shelf) {
-    option (google.api.http) = { post: "/v1/shelves" body: "shelf" };
-  }
-
-  // Gets a shelf. Returns NOT_FOUND if the shelf does not exist.
-  rpc GetShelf(GetShelfRequest) returns (Shelf) {
-    option (google.api.http) = { get: "/v1/{name=shelves/*}" };
-  }
-
-  // Lists shelves. The order is unspecified but deterministic. Newly created
-  // shelves will not necessarily be added to the end of this list.
-  rpc ListShelves(ListShelvesRequest) returns (ListShelvesResponse) {
-    option (google.api.http) = { get: "/v1/shelves" };
-  }
-
-  // Deletes a shelf. Returns NOT_FOUND if the shelf does not exist.
-  rpc DeleteShelf(DeleteShelfRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{name=shelves/*}" };
-  }
-
-  // Merges two shelves by adding all books from the shelf named
-  // `other_shelf_name` to shelf `name`, and deletes
-  // `other_shelf_name`. Returns the updated shelf.
-  // The book ids of the moved books may not be the same as the original books.
-  //
-  // Returns NOT_FOUND if either shelf does not exist.
-  // This call is a no-op if the specified shelves are the same.
-  rpc MergeShelves(MergeShelvesRequest) returns (Shelf) {
-    option (google.api.http) = { post: "/v1/{name=shelves/*}:merge" body: "*" };
-  }
-
-  // Creates a book, and returns the new Book.
-  rpc CreateBook(CreateBookRequest) returns (Book) {
-    option (google.api.http) = { post: "/v1/{name=shelves/*}/books" body: "book" };
-  }
-
-  // Gets a book. Returns NOT_FOUND if the book does not exist.
-  rpc GetBook(GetBookRequest) returns (Book) {
-    option (google.api.http) = { get: "/v1/{name=shelves/*/books/*}" };
-  }
-
-  // Lists books in a shelf. The order is unspecified but deterministic. Newly
-  // created books will not necessarily be added to the end of this list.
-  // Returns NOT_FOUND if the shelf does not exist.
-  rpc ListBooks(ListBooksRequest) returns (ListBooksResponse) {
-    option (google.api.http) = { get: "/v1/{name=shelves/*}/books" };
-  }
-
-  // Deletes a book. Returns NOT_FOUND if the book does not exist.
-  rpc DeleteBook(DeleteBookRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{name=shelves/*/books/*}" };
-  }
-
-  // Updates a book. Returns INVALID_ARGUMENT if the name of the book
-  // is non-empty and does equal the previous name.
-  rpc UpdateBook(UpdateBookRequest) returns (Book) {
-    option (google.api.http) = { put: "/v1/{name=shelves/*/books/*}" body: "book" };
-  }
-
-  // Moves a book to another shelf, and returns the new book. The book
-  // id of the new book may not be the same as the original book.
-  rpc MoveBook(MoveBookRequest) returns (Book) {
-    option (google.api.http) = { post: "/v1/{name=shelves/*/books/*}:move" body: "*" };
-  }
-}
-
-// A single book in the library.
-message Book {
-  // The resource name of the book.
-  // Book names have the form `shelves/{shelf_id}/books/{book_id}`.
-  // The name is ignored when creating a book.
-  string name = 1;
-
-  // The name of the book author.
-  string author = 2;
-
-  // The title of the book.
-  string title = 3;
-
-  // Value indicating whether the book has been read.
-  bool read = 4;
-}
-
-// A Shelf contains a collection of books with a theme.
-message Shelf {
-  // The resource name of the shelf.
-  // Shelf names have the form `shelves/{shelf_id}`.
-  // The name is ignored when creating a shelf.
-  string name = 1;
-
-  // The theme of the shelf
-  string theme = 2;
-}
-
-// Request message for LibraryService.CreateShelf.
-message CreateShelfRequest {
-  // The shelf to create.
-  Shelf shelf = 1;
-}
-
-// Request message for LibraryService.GetShelf.
-message GetShelfRequest {
-  // The name of the shelf to retrieve.
-  string name = 1;
-}
-
-// Request message for LibraryService.ListShelves.
-message ListShelvesRequest {
-  // Requested page size. Server may return fewer shelves than requested.
-  // If unspecified, server will pick an appropriate default.
-  int32 page_size = 1;
-
-  // A token identifying a page of results the server should return.
-  // Typically, this is the value of
-  // [ListShelvesResponse.next_page_token][google.example.library.v1.ListShelvesResponse.next_page_token]
-  // returned from the previous call to `ListShelves` method.
-  string page_token = 2;
-}
-
-// Response message for LibraryService.ListShelves.
-message ListShelvesResponse {
-  // The list of shelves.
-  repeated Shelf shelves = 1;
-
-  // A token to retrieve next page of results.
-  // Pass this value in the
-  // [ListShelvesRequest.page_token][google.example.library.v1.ListShelvesRequest.page_token]
-  // field in the subsequent call to `ListShelves` method to retrieve the next
-  // page of results.
-  string next_page_token = 2;
-}
-
-// Request message for LibraryService.DeleteShelf.
-message DeleteShelfRequest {
-  // The name of the shelf to delete.
-  string name = 1;
-}
-
-// Describes the shelf being removed (other_shelf_name) and updated
-// (name) in this merge.
-message MergeShelvesRequest {
-  // The name of the shelf we're adding books to.
-  string name = 1;
-
-  // The name of the shelf we're removing books from and deleting.
-  string other_shelf_name = 2;
-}
-
-// Request message for LibraryService.CreateBook.
-message CreateBookRequest {
-  // The name of the shelf in which the book is created.
-  string name = 1;
-
-  // The book to create.
-  Book book = 2;
-}
-
-// Request message for LibraryService.GetBook.
-message GetBookRequest {
-  // The name of the book to retrieve.
-  string name = 1;
-}
-
-// Request message for LibraryService.ListBooks.
-message ListBooksRequest {
-  // The name of the shelf whose books we'd like to list.
-  string name = 1;
-
-  // Requested page size. Server may return fewer books than requested.
-  // If unspecified, server will pick an appropriate default.
-  int32 page_size = 2;
-
-  // A token identifying a page of results the server should return.
-  // Typically, this is the value of
-  // [ListBooksResponse.next_page_token][google.example.library.v1.ListBooksResponse.next_page_token].
-  // returned from the previous call to `ListBooks` method.
-  string page_token = 3;
-}
-
-// Response message for LibraryService.ListBooks.
-message ListBooksResponse {
-  // The list of books.
-  repeated Book books = 1;
-
-  // A token to retrieve next page of results.
-  // Pass this value in the
-  // [ListBooksRequest.page_token][google.example.library.v1.ListBooksRequest.page_token]
-  // field in the subsequent call to `ListBooks` method to retrieve the next
-  // page of results.
-  string next_page_token = 2;
-}
-
-// Request message for LibraryService.UpdateBook.
-message UpdateBookRequest {
-  // The name of the book to update.
-  string name = 1;
-
-  // The book to update with. The name must match or be empty.
-  Book book = 2;
-}
-
-// Request message for LibraryService.DeleteBook.
-message DeleteBookRequest {
-  // The name of the book to delete.
-  string name = 1;
-}
-
-// Describes what book to move (name) and what shelf we're moving it
-// to (other_shelf_name).
-message MoveBookRequest {
-  // The name of the book to move.
-  string name = 1;
-
-  // The name of the destination shelf.
-  string other_shelf_name = 2;
-}
diff --git a/googleapis/genomics/v1/annotations.pb.go b/googleapis/genomics/v1/annotations.pb.go
index 6ca6b41549f7381f4bad4696e1126097e3e93576..eeee219f27625117aba5869e58696a89c2ea6093 100644
--- a/googleapis/genomics/v1/annotations.pb.go
+++ b/googleapis/genomics/v1/annotations.pb.go
@@ -1,23 +1,23 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/annotations.proto
+// source: google/genomics/v1/annotations.proto
 // DO NOT EDIT!
 
 /*
-Package google_genomics_v1 is a generated protocol buffer package.
+Package genomics is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/genomics/v1/annotations.proto
-	google.golang.org/genproto/googleapis/genomics/v1/cigar.proto
-	google.golang.org/genproto/googleapis/genomics/v1/datasets.proto
-	google.golang.org/genproto/googleapis/genomics/v1/operations.proto
-	google.golang.org/genproto/googleapis/genomics/v1/position.proto
-	google.golang.org/genproto/googleapis/genomics/v1/range.proto
-	google.golang.org/genproto/googleapis/genomics/v1/readalignment.proto
-	google.golang.org/genproto/googleapis/genomics/v1/readgroup.proto
-	google.golang.org/genproto/googleapis/genomics/v1/readgroupset.proto
-	google.golang.org/genproto/googleapis/genomics/v1/reads.proto
-	google.golang.org/genproto/googleapis/genomics/v1/references.proto
-	google.golang.org/genproto/googleapis/genomics/v1/variants.proto
+	google/genomics/v1/annotations.proto
+	google/genomics/v1/cigar.proto
+	google/genomics/v1/datasets.proto
+	google/genomics/v1/operations.proto
+	google/genomics/v1/position.proto
+	google/genomics/v1/range.proto
+	google/genomics/v1/readalignment.proto
+	google/genomics/v1/readgroup.proto
+	google/genomics/v1/readgroupset.proto
+	google/genomics/v1/reads.proto
+	google/genomics/v1/references.proto
+	google/genomics/v1/variants.proto
 
 It has these top-level messages:
 	AnnotationSet
@@ -112,14 +112,14 @@ It has these top-level messages:
 	StreamVariantsRequest
 	StreamVariantsResponse
 */
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
-import google_protobuf2 "google.golang.org/genproto/protobuf"
+import google_protobuf2 "google.golang.org/genproto/protobuf/field_mask"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/struct"
 import google_protobuf4 "github.com/golang/protobuf/ptypes/wrappers"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
@@ -386,6 +386,48 @@ func (m *AnnotationSet) String() string            { return proto.CompactTextStr
 func (*AnnotationSet) ProtoMessage()               {}
 func (*AnnotationSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *AnnotationSet) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *AnnotationSet) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
+func (m *AnnotationSet) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
+func (m *AnnotationSet) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *AnnotationSet) GetSourceUri() string {
+	if m != nil {
+		return m.SourceUri
+	}
+	return ""
+}
+
+func (m *AnnotationSet) GetType() AnnotationType {
+	if m != nil {
+		return m.Type
+	}
+	return AnnotationType_ANNOTATION_TYPE_UNSPECIFIED
+}
+
 func (m *AnnotationSet) GetInfo() map[string]*google_protobuf3.ListValue {
 	if m != nil {
 		return m.Info
@@ -457,6 +499,69 @@ func (m *Annotation) GetValue() isAnnotation_Value {
 	return nil
 }
 
+func (m *Annotation) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Annotation) GetAnnotationSetId() string {
+	if m != nil {
+		return m.AnnotationSetId
+	}
+	return ""
+}
+
+func (m *Annotation) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Annotation) GetReferenceId() string {
+	if m != nil {
+		return m.ReferenceId
+	}
+	return ""
+}
+
+func (m *Annotation) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *Annotation) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *Annotation) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *Annotation) GetReverseStrand() bool {
+	if m != nil {
+		return m.ReverseStrand
+	}
+	return false
+}
+
+func (m *Annotation) GetType() AnnotationType {
+	if m != nil {
+		return m.Type
+	}
+	return AnnotationType_ANNOTATION_TYPE_UNSPECIFIED
+}
+
 func (m *Annotation) GetVariant() *VariantAnnotation {
 	if x, ok := m.GetValue().(*Annotation_Variant); ok {
 		return x.Variant
@@ -582,6 +687,41 @@ func (m *VariantAnnotation) String() string            { return proto.CompactTex
 func (*VariantAnnotation) ProtoMessage()               {}
 func (*VariantAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *VariantAnnotation) GetType() VariantAnnotation_Type {
+	if m != nil {
+		return m.Type
+	}
+	return VariantAnnotation_TYPE_UNSPECIFIED
+}
+
+func (m *VariantAnnotation) GetEffect() VariantAnnotation_Effect {
+	if m != nil {
+		return m.Effect
+	}
+	return VariantAnnotation_EFFECT_UNSPECIFIED
+}
+
+func (m *VariantAnnotation) GetAlternateBases() string {
+	if m != nil {
+		return m.AlternateBases
+	}
+	return ""
+}
+
+func (m *VariantAnnotation) GetGeneId() string {
+	if m != nil {
+		return m.GeneId
+	}
+	return ""
+}
+
+func (m *VariantAnnotation) GetTranscriptIds() []string {
+	if m != nil {
+		return m.TranscriptIds
+	}
+	return nil
+}
+
 func (m *VariantAnnotation) GetConditions() []*VariantAnnotation_ClinicalCondition {
 	if m != nil {
 		return m.Conditions
@@ -589,6 +729,13 @@ func (m *VariantAnnotation) GetConditions() []*VariantAnnotation_ClinicalConditi
 	return nil
 }
 
+func (m *VariantAnnotation) GetClinicalSignificance() VariantAnnotation_ClinicalSignificance {
+	if m != nil {
+		return m.ClinicalSignificance
+	}
+	return VariantAnnotation_CLINICAL_SIGNIFICANCE_UNSPECIFIED
+}
+
 type VariantAnnotation_ClinicalCondition struct {
 	// A set of names for the condition.
 	Names []string `protobuf:"bytes,1,rep,name=names" json:"names,omitempty"`
@@ -609,6 +756,13 @@ func (*VariantAnnotation_ClinicalCondition) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{2, 0}
 }
 
+func (m *VariantAnnotation_ClinicalCondition) GetNames() []string {
+	if m != nil {
+		return m.Names
+	}
+	return nil
+}
+
 func (m *VariantAnnotation_ClinicalCondition) GetExternalIds() []*ExternalId {
 	if m != nil {
 		return m.ExternalIds
@@ -616,6 +770,20 @@ func (m *VariantAnnotation_ClinicalCondition) GetExternalIds() []*ExternalId {
 	return nil
 }
 
+func (m *VariantAnnotation_ClinicalCondition) GetConceptId() string {
+	if m != nil {
+		return m.ConceptId
+	}
+	return ""
+}
+
+func (m *VariantAnnotation_ClinicalCondition) GetOmimId() string {
+	if m != nil {
+		return m.OmimId
+	}
+	return ""
+}
+
 // A transcript represents the assertion that a particular region of the
 // reference genome may be transcribed as RNA.
 type Transcript struct {
@@ -657,6 +825,13 @@ func (m *Transcript) String() string            { return proto.CompactTextString
 func (*Transcript) ProtoMessage()               {}
 func (*Transcript) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *Transcript) GetGeneId() string {
+	if m != nil {
+		return m.GeneId
+	}
+	return ""
+}
+
 func (m *Transcript) GetExons() []*Transcript_Exon {
 	if m != nil {
 		return m.Exons
@@ -701,6 +876,20 @@ func (m *Transcript_Exon) String() string            { return proto.CompactTextS
 func (*Transcript_Exon) ProtoMessage()               {}
 func (*Transcript_Exon) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3, 0} }
 
+func (m *Transcript_Exon) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *Transcript_Exon) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
 func (m *Transcript_Exon) GetFrame() *google_protobuf4.Int32Value {
 	if m != nil {
 		return m.Frame
@@ -724,6 +913,20 @@ func (m *Transcript_CodingSequence) String() string            { return proto.Co
 func (*Transcript_CodingSequence) ProtoMessage()               {}
 func (*Transcript_CodingSequence) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3, 1} }
 
+func (m *Transcript_CodingSequence) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *Transcript_CodingSequence) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
 type ExternalId struct {
 	// The name of the source of this data.
 	SourceName string `protobuf:"bytes,1,opt,name=source_name,json=sourceName" json:"source_name,omitempty"`
@@ -736,6 +939,20 @@ func (m *ExternalId) String() string            { return proto.CompactTextString
 func (*ExternalId) ProtoMessage()               {}
 func (*ExternalId) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *ExternalId) GetSourceName() string {
+	if m != nil {
+		return m.SourceName
+	}
+	return ""
+}
+
+func (m *ExternalId) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 type CreateAnnotationSetRequest struct {
 	// The annotation set to create.
 	AnnotationSet *AnnotationSet `protobuf:"bytes,1,opt,name=annotation_set,json=annotationSet" json:"annotation_set,omitempty"`
@@ -763,6 +980,13 @@ func (m *GetAnnotationSetRequest) String() string            { return proto.Comp
 func (*GetAnnotationSetRequest) ProtoMessage()               {}
 func (*GetAnnotationSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *GetAnnotationSetRequest) GetAnnotationSetId() string {
+	if m != nil {
+		return m.AnnotationSetId
+	}
+	return ""
+}
+
 type UpdateAnnotationSetRequest struct {
 	// The ID of the annotation set to be updated.
 	AnnotationSetId string `protobuf:"bytes,1,opt,name=annotation_set_id,json=annotationSetId" json:"annotation_set_id,omitempty"`
@@ -781,6 +1005,13 @@ func (m *UpdateAnnotationSetRequest) String() string            { return proto.C
 func (*UpdateAnnotationSetRequest) ProtoMessage()               {}
 func (*UpdateAnnotationSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *UpdateAnnotationSetRequest) GetAnnotationSetId() string {
+	if m != nil {
+		return m.AnnotationSetId
+	}
+	return ""
+}
+
 func (m *UpdateAnnotationSetRequest) GetAnnotationSet() *AnnotationSet {
 	if m != nil {
 		return m.AnnotationSet
@@ -805,6 +1036,13 @@ func (m *DeleteAnnotationSetRequest) String() string            { return proto.C
 func (*DeleteAnnotationSetRequest) ProtoMessage()               {}
 func (*DeleteAnnotationSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *DeleteAnnotationSetRequest) GetAnnotationSetId() string {
+	if m != nil {
+		return m.AnnotationSetId
+	}
+	return ""
+}
+
 type SearchAnnotationSetsRequest struct {
 	// Required. The dataset IDs to search within. Caller must have `READ` access
 	// to these datasets.
@@ -832,6 +1070,48 @@ func (m *SearchAnnotationSetsRequest) String() string            { return proto.
 func (*SearchAnnotationSetsRequest) ProtoMessage()               {}
 func (*SearchAnnotationSetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *SearchAnnotationSetsRequest) GetDatasetIds() []string {
+	if m != nil {
+		return m.DatasetIds
+	}
+	return nil
+}
+
+func (m *SearchAnnotationSetsRequest) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
+func (m *SearchAnnotationSetsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *SearchAnnotationSetsRequest) GetTypes() []AnnotationType {
+	if m != nil {
+		return m.Types
+	}
+	return nil
+}
+
+func (m *SearchAnnotationSetsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchAnnotationSetsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 type SearchAnnotationSetsResponse struct {
 	// The matching annotation sets.
 	AnnotationSets []*AnnotationSet `protobuf:"bytes,1,rep,name=annotation_sets,json=annotationSets" json:"annotation_sets,omitempty"`
@@ -853,6 +1133,13 @@ func (m *SearchAnnotationSetsResponse) GetAnnotationSets() []*AnnotationSet {
 	return nil
 }
 
+func (m *SearchAnnotationSetsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 type CreateAnnotationRequest struct {
 	// The annotation to be created.
 	Annotation *Annotation `protobuf:"bytes,1,opt,name=annotation" json:"annotation,omitempty"`
@@ -896,6 +1183,13 @@ func (m *BatchCreateAnnotationsRequest) GetAnnotations() []*Annotation {
 	return nil
 }
 
+func (m *BatchCreateAnnotationsRequest) GetRequestId() string {
+	if m != nil {
+		return m.RequestId
+	}
+	return ""
+}
+
 type BatchCreateAnnotationsResponse struct {
 	// The resulting per-annotation entries, ordered consistently with the
 	// original request.
@@ -952,6 +1246,13 @@ func (m *GetAnnotationRequest) String() string            { return proto.Compact
 func (*GetAnnotationRequest) ProtoMessage()               {}
 func (*GetAnnotationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
 
+func (m *GetAnnotationRequest) GetAnnotationId() string {
+	if m != nil {
+		return m.AnnotationId
+	}
+	return ""
+}
+
 type UpdateAnnotationRequest struct {
 	// The ID of the annotation to be updated.
 	AnnotationId string `protobuf:"bytes,1,opt,name=annotation_id,json=annotationId" json:"annotation_id,omitempty"`
@@ -971,6 +1272,13 @@ func (m *UpdateAnnotationRequest) String() string            { return proto.Comp
 func (*UpdateAnnotationRequest) ProtoMessage()               {}
 func (*UpdateAnnotationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
 
+func (m *UpdateAnnotationRequest) GetAnnotationId() string {
+	if m != nil {
+		return m.AnnotationId
+	}
+	return ""
+}
+
 func (m *UpdateAnnotationRequest) GetAnnotation() *Annotation {
 	if m != nil {
 		return m.Annotation
@@ -995,6 +1303,13 @@ func (m *DeleteAnnotationRequest) String() string            { return proto.Comp
 func (*DeleteAnnotationRequest) ProtoMessage()               {}
 func (*DeleteAnnotationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
 
+func (m *DeleteAnnotationRequest) GetAnnotationId() string {
+	if m != nil {
+		return m.AnnotationId
+	}
+	return ""
+}
+
 type SearchAnnotationsRequest struct {
 	// Required. The annotation sets to search within. The caller must have
 	// `READ` access to these annotation sets.
@@ -1052,6 +1367,13 @@ func (m *SearchAnnotationsRequest) GetReference() isSearchAnnotationsRequest_Ref
 	return nil
 }
 
+func (m *SearchAnnotationsRequest) GetAnnotationSetIds() []string {
+	if m != nil {
+		return m.AnnotationSetIds
+	}
+	return nil
+}
+
 func (m *SearchAnnotationsRequest) GetReferenceId() string {
 	if x, ok := m.GetReference().(*SearchAnnotationsRequest_ReferenceId); ok {
 		return x.ReferenceId
@@ -1066,6 +1388,34 @@ func (m *SearchAnnotationsRequest) GetReferenceName() string {
 	return ""
 }
 
+func (m *SearchAnnotationsRequest) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *SearchAnnotationsRequest) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *SearchAnnotationsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchAnnotationsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*SearchAnnotationsRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _SearchAnnotationsRequest_OneofMarshaler, _SearchAnnotationsRequest_OneofUnmarshaler, _SearchAnnotationsRequest_OneofSizer, []interface{}{
@@ -1153,6 +1503,13 @@ func (m *SearchAnnotationsResponse) GetAnnotations() []*Annotation {
 	return nil
 }
 
+func (m *SearchAnnotationsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*AnnotationSet)(nil), "google.genomics.v1.AnnotationSet")
 	proto.RegisterType((*Annotation)(nil), "google.genomics.v1.Annotation")
@@ -1724,152 +2081,148 @@ var _AnnotationServiceV1_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1/annotations.proto",
+	Metadata: "google/genomics/v1/annotations.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/annotations.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/genomics/v1/annotations.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 2215 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x6f, 0xdb, 0xc8,
-	0x15, 0x0f, 0xf5, 0x69, 0x3f, 0xd9, 0x32, 0x3d, 0xf1, 0xda, 0x5a, 0xb9, 0x9b, 0x38, 0xcc, 0x26,
-	0x31, 0xdc, 0x44, 0xda, 0x28, 0xfd, 0xc8, 0x66, 0xbb, 0xe9, 0xca, 0x34, 0x6d, 0x4f, 0x57, 0xa6,
-	0x04, 0x92, 0x72, 0xe1, 0x13, 0x41, 0x53, 0x23, 0x85, 0x88, 0x4d, 0xaa, 0x24, 0xed, 0xc6, 0x5b,
-	0x2c, 0xb0, 0x58, 0x6c, 0xd1, 0x53, 0x2f, 0xbb, 0x7b, 0xef, 0xa5, 0x40, 0xfb, 0x3f, 0xf4, 0x52,
-	0xa0, 0xf7, 0xf6, 0x50, 0xf4, 0x3f, 0xe8, 0x65, 0xaf, 0x3d, 0x15, 0xe8, 0xa5, 0x98, 0x21, 0x25,
-	0x51, 0x14, 0x65, 0xc9, 0x0d, 0xd0, 0x8b, 0x4d, 0x3e, 0xce, 0x7b, 0xf3, 0x9b, 0xdf, 0xbc, 0x4f,
-	0x81, 0xd8, 0x73, 0x9c, 0xde, 0x19, 0xa9, 0xf4, 0x9c, 0x33, 0xc3, 0xee, 0x55, 0x1c, 0xb7, 0x57,
-	0xed, 0x11, 0xbb, 0xef, 0x3a, 0xbe, 0x53, 0x0d, 0x3e, 0x19, 0x7d, 0xcb, 0xa3, 0x32, 0xe7, 0xdc,
-	0x32, 0xbd, 0xea, 0xe5, 0xd3, 0xaa, 0x61, 0xdb, 0x8e, 0x6f, 0xf8, 0x96, 0x63, 0x7b, 0x15, 0xb6,
-	0x10, 0xa1, 0x81, 0x91, 0x70, 0x55, 0xe5, 0xf2, 0x69, 0x19, 0xcf, 0x67, 0xd8, 0xe8, 0x5b, 0x55,
-	0x8f, 0xb8, 0x97, 0x96, 0x49, 0x4c, 0xc7, 0xee, 0x5a, 0xbd, 0x49, 0xf3, 0xe5, 0x67, 0x3d, 0xcb,
-	0x7f, 0x75, 0x71, 0x5a, 0x31, 0x9d, 0xf3, 0x6a, 0x60, 0xae, 0xca, 0x3e, 0x9c, 0x5e, 0x74, 0xab,
-	0x7d, 0xff, 0xaa, 0x4f, 0xbc, 0x2a, 0x39, 0xef, 0xfb, 0x57, 0xc1, 0xdf, 0x50, 0xe9, 0x07, 0xd7,
-	0xec, 0x3f, 0xd4, 0xee, 0x5a, 0xe4, 0xac, 0xa3, 0x9f, 0x1b, 0xde, 0xeb, 0x50, 0xeb, 0x87, 0xb3,
-	0xb7, 0xf2, 0x7c, 0xf7, 0xc2, 0xf4, 0xc3, 0x7f, 0xa1, 0xda, 0x87, 0xb3, 0xd5, 0x7e, 0xe9, 0x1a,
-	0xfd, 0x3e, 0x71, 0x47, 0x0f, 0xa1, 0xea, 0xc7, 0xf3, 0xf1, 0xe4, 0xf6, 0xcd, 0xaa, 0xe7, 0x1b,
-	0xfe, 0x85, 0x17, 0xfe, 0x0b, 0xd4, 0x85, 0xef, 0x52, 0xb0, 0x5c, 0x1f, 0x32, 0xa6, 0x12, 0x1f,
-	0x15, 0x21, 0x65, 0x75, 0x4a, 0xdc, 0x16, 0xb7, 0xbd, 0xa8, 0xa4, 0xac, 0x0e, 0x7a, 0x0f, 0xa0,
-	0x63, 0xf8, 0x86, 0x47, 0x7c, 0xdd, 0xea, 0x94, 0x52, 0x4c, 0xbe, 0x18, 0x4a, 0x70, 0x07, 0x6d,
-	0x03, 0xef, 0x92, 0x2e, 0x71, 0x89, 0x6d, 0x12, 0x3d, 0x5c, 0x94, 0x66, 0x8b, 0x8a, 0x43, 0xb9,
-	0xca, 0x56, 0x22, 0xc8, 0xd8, 0xc6, 0x39, 0x29, 0x65, 0xd8, 0x57, 0xf6, 0x4c, 0x8d, 0x7b, 0xce,
-	0x85, 0x6b, 0x12, 0xfd, 0xc2, 0xb5, 0x4a, 0xd9, 0xc0, 0x78, 0x20, 0x69, 0xbb, 0x16, 0xfa, 0x11,
-	0x64, 0xe8, 0xe9, 0x4b, 0xb9, 0x2d, 0x6e, 0xbb, 0x58, 0x13, 0x2a, 0x93, 0x7e, 0x52, 0x19, 0x81,
-	0xd7, 0xae, 0xfa, 0x44, 0x61, 0xeb, 0xd1, 0x4f, 0x21, 0x63, 0xd9, 0x5d, 0xa7, 0xb4, 0xba, 0x95,
-	0xde, 0x2e, 0xd4, 0xbe, 0x7f, 0xbd, 0x9e, 0x4a, 0xfc, 0x0a, 0xb6, 0xbb, 0x8e, 0x64, 0xfb, 0xee,
-	0x95, 0xc2, 0x14, 0xcb, 0x2a, 0x2c, 0x0e, 0x45, 0x88, 0x87, 0xf4, 0x6b, 0x72, 0x15, 0x52, 0x42,
-	0x1f, 0xd1, 0x07, 0x90, 0xbd, 0x34, 0xce, 0x2e, 0x08, 0xa3, 0xa3, 0x50, 0x2b, 0x0f, 0x36, 0x18,
-	0x5c, 0x5a, 0xa5, 0x61, 0x79, 0xfe, 0x31, 0x5d, 0xa1, 0x04, 0x0b, 0x5f, 0xa4, 0x9e, 0x73, 0xc2,
-	0x5f, 0x33, 0x00, 0xa3, 0x6d, 0x27, 0x88, 0xde, 0x81, 0xd5, 0x91, 0xef, 0xea, 0x63, 0x7c, 0xaf,
-	0x18, 0x51, 0xb4, 0x11, 0x2e, 0xd3, 0x11, 0x2e, 0xef, 0xc1, 0xd2, 0xe8, 0x26, 0xac, 0x4e, 0xc8,
-	0x73, 0x61, 0x28, 0xc3, 0x1d, 0xf4, 0x00, 0x46, 0x97, 0xa2, 0x33, 0x03, 0x01, 0xe5, 0xcb, 0x43,
-	0xa9, 0x4c, 0x2d, 0xad, 0x41, 0xd6, 0xf3, 0x0d, 0xd7, 0x67, 0xbc, 0xa7, 0x95, 0xe0, 0x85, 0xd2,
-	0x40, 0xec, 0x4e, 0x29, 0xcf, 0x64, 0xf4, 0x31, 0x30, 0x77, 0x49, 0x5c, 0x8f, 0xe8, 0x9e, 0xef,
-	0x1a, 0x76, 0xa7, 0xb4, 0xb0, 0xc5, 0x6d, 0x2f, 0x50, 0x73, 0x4c, 0xaa, 0x32, 0xe1, 0xf0, 0x16,
-	0x17, 0x6f, 0x78, 0x8b, 0x75, 0xc8, 0x5f, 0x1a, 0xae, 0x65, 0xd8, 0x7e, 0x09, 0x18, 0xcf, 0x0f,
-	0x92, 0x54, 0x8f, 0x83, 0x25, 0x23, 0x0b, 0x87, 0xb7, 0x94, 0x81, 0x1e, 0xfa, 0x04, 0x80, 0x62,
-	0xf0, 0x4c, 0xd7, 0xea, 0xfb, 0xa5, 0x02, 0xb3, 0x72, 0x27, 0xc9, 0x8a, 0x36, 0x5c, 0x75, 0x78,
-	0x4b, 0x89, 0xe8, 0xa0, 0x9f, 0x84, 0xae, 0xb4, 0xc4, 0x5c, 0x69, 0xfb, 0x7a, 0xf0, 0xff, 0x17,
-	0x3f, 0xda, 0xcd, 0x87, 0x5a, 0xc2, 0x7f, 0x16, 0x61, 0x75, 0xe2, 0xf8, 0xe8, 0x65, 0x48, 0x37,
-	0xc7, 0xe8, 0xde, 0x99, 0x8b, 0xb3, 0x4a, 0x84, 0xf6, 0x3d, 0xc8, 0x91, 0x6e, 0x97, 0x98, 0x3e,
-	0x43, 0x55, 0xac, 0x3d, 0x9e, 0xcf, 0x82, 0xc4, 0x74, 0x94, 0x50, 0x17, 0x3d, 0x82, 0x15, 0xe3,
-	0xcc, 0x27, 0xae, 0x6d, 0xf8, 0x44, 0x3f, 0x35, 0x3c, 0xe2, 0x0d, 0xd2, 0xc2, 0x50, 0xbc, 0x4b,
-	0xa5, 0x68, 0x03, 0xf2, 0x3d, 0x62, 0x47, 0x3c, 0x36, 0x47, 0x5f, 0x03, 0x67, 0x1d, 0xdd, 0x83,
-	0x6e, 0x75, 0xbc, 0x52, 0x76, 0x2b, 0x4d, 0x9d, 0x75, 0x24, 0xc5, 0x1d, 0x0f, 0xfd, 0x1c, 0xc0,
-	0x74, 0xec, 0x8e, 0xc5, 0x32, 0x7e, 0x29, 0xc7, 0xae, 0xe9, 0xc7, 0xf3, 0x41, 0x16, 0xcf, 0x2c,
-	0xdb, 0x32, 0x8d, 0x33, 0x71, 0xa0, 0xaf, 0x44, 0x4c, 0x21, 0x07, 0xde, 0x31, 0xc3, 0x05, 0xba,
-	0x67, 0xf5, 0x6c, 0xab, 0x6b, 0x99, 0x86, 0x6d, 0x12, 0x16, 0x01, 0xc5, 0xda, 0x8b, 0x9b, 0xed,
-	0xa1, 0x46, 0x2c, 0x28, 0x6b, 0x66, 0x82, 0xb4, 0xfc, 0x7b, 0x0e, 0x56, 0x27, 0x20, 0xd1, 0x60,
-	0xa4, 0x91, 0xea, 0x95, 0x38, 0x76, 0xfa, 0xe0, 0x05, 0xd5, 0x61, 0x89, 0xbc, 0x61, 0x3c, 0x9e,
-	0x31, 0x6a, 0x52, 0xec, 0xdc, 0x89, 0xae, 0x2d, 0x85, 0xeb, 0x70, 0x47, 0x29, 0x90, 0xe1, 0xb3,
-	0x47, 0x73, 0xaf, 0xe9, 0xd8, 0x26, 0xe9, 0x47, 0x72, 0xf6, 0x62, 0x28, 0xc1, 0x1d, 0x7a, 0x2f,
-	0xce, 0xb9, 0x75, 0x1e, 0xb9, 0x17, 0xfa, 0x8a, 0x3b, 0xc2, 0xe7, 0x90, 0xa1, 0xde, 0x82, 0xd6,
-	0x80, 0xd7, 0x4e, 0x5a, 0x92, 0xde, 0x96, 0xd5, 0x96, 0x24, 0xe2, 0x7d, 0x2c, 0xed, 0xf1, 0xb7,
-	0x50, 0x11, 0x80, 0x49, 0x9b, 0xda, 0xa1, 0xa4, 0xf0, 0x1c, 0x5a, 0x86, 0x45, 0x2c, 0xab, 0x92,
-	0xa2, 0xe1, 0xa6, 0xcc, 0xa7, 0xd0, 0x12, 0x2c, 0xec, 0x49, 0x0d, 0x89, 0xbd, 0xa5, 0x11, 0x0f,
-	0x4b, 0x6a, 0x7b, 0x57, 0xd5, 0xb0, 0xd6, 0x66, 0x92, 0x0c, 0xca, 0x43, 0x5a, 0x95, 0x5b, 0x7c,
-	0x96, 0xda, 0x51, 0x35, 0xa5, 0x2d, 0x6a, 0x6d, 0xa5, 0xde, 0xe0, 0x73, 0xf4, 0x83, 0x28, 0x1f,
-	0xf3, 0x79, 0xe1, 0x2f, 0x1c, 0xe4, 0x02, 0x5f, 0x43, 0xeb, 0x80, 0xa4, 0xfd, 0x7d, 0x49, 0xd4,
-	0x62, 0x18, 0x78, 0x58, 0x0a, 0xe5, 0x03, 0x14, 0x45, 0x80, 0x7d, 0xa5, 0x7e, 0x24, 0xa9, 0x87,
-	0x78, 0x5f, 0xe3, 0x53, 0xa8, 0x0c, 0xeb, 0xec, 0x5d, 0x6f, 0x29, 0x92, 0x2a, 0x29, 0xc7, 0x58,
-	0x3e, 0xd0, 0xb1, 0xbc, 0x27, 0x35, 0xf8, 0x34, 0x42, 0x50, 0x54, 0x4f, 0xe4, 0xa6, 0x7c, 0x72,
-	0xd4, 0x6c, 0xab, 0x3a, 0x45, 0x93, 0x41, 0xef, 0xc0, 0xaa, 0xdc, 0x94, 0x63, 0xe2, 0x2c, 0x3d,
-	0x9c, 0xaa, 0x35, 0x5b, 0xfa, 0x41, 0x1d, 0xcb, 0x7c, 0x6e, 0xf8, 0xda, 0x68, 0xaa, 0x2a, 0x9f,
-	0xa7, 0x9b, 0xa8, 0xad, 0x06, 0x16, 0x25, 0x5d, 0xc5, 0x9a, 0xa4, 0xef, 0x61, 0x55, 0x69, 0xb7,
-	0xd8, 0x39, 0x17, 0x84, 0x3f, 0xa7, 0x60, 0x2d, 0xc9, 0x35, 0xd0, 0x03, 0xb8, 0x27, 0x36, 0xb0,
-	0x8c, 0xc5, 0x7a, 0x43, 0x57, 0xf1, 0x81, 0x8c, 0xf7, 0xb1, 0x58, 0x97, 0xc5, 0x38, 0xcd, 0x77,
-	0x61, 0x33, 0x79, 0x59, 0x84, 0xf7, 0xb6, 0x2c, 0x4a, 0x8a, 0x46, 0xa1, 0xa5, 0x10, 0x40, 0x6e,
-	0x57, 0x92, 0xf1, 0x01, 0x65, 0x7d, 0x15, 0x96, 0x1b, 0xf8, 0x53, 0xa9, 0x71, 0xa2, 0x87, 0x22,
-	0x76, 0xbe, 0x50, 0xd4, 0xaa, 0x6b, 0x87, 0xcd, 0x03, 0x49, 0xc6, 0x62, 0x70, 0x09, 0x91, 0xf7,
-	0x1c, 0xd5, 0xdc, 0x53, 0xda, 0x07, 0xba, 0x22, 0xa9, 0xad, 0xa6, 0xac, 0x4a, 0x7c, 0x9e, 0xde,
-	0xc1, 0x21, 0x56, 0xb5, 0xa6, 0xd8, 0x3c, 0x6a, 0xd5, 0x35, 0xbc, 0x8b, 0x1b, 0x58, 0x3b, 0xe1,
-	0x17, 0xd0, 0x06, 0xdc, 0x16, 0x9b, 0xf2, 0xbe, 0xa4, 0xa8, 0xba, 0x2a, 0xc9, 0x2a, 0xd6, 0xf0,
-	0x31, 0xfd, 0xb0, 0x88, 0x56, 0xa0, 0xa0, 0x60, 0xf5, 0x53, 0x7d, 0xbf, 0x2e, 0x6a, 0x4d, 0x85,
-	0x07, 0x2a, 0xa8, 0xab, 0x6a, 0x53, 0xc4, 0x75, 0xc6, 0x4d, 0x81, 0xed, 0xaa, 0x34, 0x35, 0x49,
-	0xd4, 0xf0, 0xb1, 0xc4, 0x2f, 0x51, 0x70, 0x47, 0xed, 0x86, 0x86, 0x5b, 0x0d, 0x49, 0x57, 0xa4,
-	0x56, 0x53, 0xd1, 0xa4, 0x3d, 0x7e, 0x59, 0xf8, 0x47, 0x0a, 0x60, 0x94, 0xb6, 0xa3, 0x79, 0x84,
-	0x1b, 0xcb, 0x23, 0x1f, 0x42, 0x96, 0xbc, 0xa1, 0xb9, 0x21, 0x88, 0x91, 0xfb, 0xd7, 0xa7, 0xff,
-	0x8a, 0xf4, 0xc6, 0xb1, 0x95, 0x40, 0x03, 0x1d, 0xc3, 0x8a, 0xe9, 0x74, 0x2c, 0xbb, 0xa7, 0x7b,
-	0xe4, 0x17, 0x17, 0xb4, 0x3e, 0xb2, 0x38, 0x29, 0xd4, 0x9e, 0xcc, 0x30, 0x22, 0x32, 0x2d, 0x35,
-	0x54, 0x52, 0x8a, 0xe6, 0xd8, 0x7b, 0xd9, 0x80, 0x0c, 0xdd, 0x66, 0x54, 0x68, 0xb9, 0x84, 0x42,
-	0x9b, 0x1a, 0x15, 0xda, 0xa7, 0x90, 0xed, 0xba, 0x83, 0x7a, 0x5f, 0xa8, 0x6d, 0x4e, 0xd4, 0x09,
-	0x6c, 0xfb, 0xcf, 0x6a, 0x61, 0xa1, 0x60, 0x2b, 0xcb, 0xcf, 0xa1, 0x38, 0x0e, 0x62, 0xde, 0xcd,
-	0x84, 0x8f, 0x01, 0x46, 0x29, 0x03, 0xdd, 0x85, 0x42, 0xd8, 0xa1, 0xb1, 0x7e, 0x21, 0xa0, 0x36,
-	0x6c, 0xda, 0x58, 0xb3, 0x10, 0xb4, 0x31, 0xa9, 0x41, 0x1b, 0x23, 0x74, 0xa1, 0x2c, 0xba, 0xc4,
-	0xf0, 0xc9, 0x58, 0x87, 0xa5, 0x50, 0x14, 0x9e, 0x8f, 0x0e, 0xa1, 0x38, 0xde, 0xe4, 0x30, 0x8b,
-	0x85, 0xda, 0xbd, 0x99, 0x3d, 0x9a, 0xb2, 0x3c, 0xd6, 0x04, 0x09, 0x12, 0x6c, 0x1c, 0x10, 0x3f,
-	0x71, 0x93, 0xc4, 0x4e, 0x8a, 0x4b, 0xec, 0xa4, 0x84, 0xbf, 0x71, 0x50, 0x6e, 0xf7, 0x3b, 0xd3,
-	0xf0, 0xde, 0xc0, 0x54, 0xc2, 0xd9, 0x52, 0xff, 0xdb, 0xd9, 0xd0, 0x47, 0x50, 0xb8, 0x60, 0x98,
-	0xd8, 0x6c, 0x11, 0xde, 0xfa, 0x64, 0x77, 0xb0, 0x4f, 0xc7, 0x8f, 0x23, 0xc3, 0x7b, 0xad, 0x40,
-	0xb0, 0x9c, 0x3e, 0x0b, 0x87, 0x50, 0xde, 0x23, 0x67, 0xe4, 0xed, 0x0f, 0x24, 0xfc, 0x8b, 0x83,
-	0x4d, 0x95, 0x18, 0xae, 0xf9, 0x6a, 0xcc, 0x94, 0x37, 0xb0, 0x75, 0x17, 0x0a, 0xa3, 0xd1, 0x60,
-	0x50, 0xa0, 0x60, 0x38, 0x1b, 0x78, 0x89, 0xc3, 0x41, 0xea, 0xda, 0xe1, 0x20, 0xda, 0xd0, 0x3e,
-	0x87, 0x2c, 0x9b, 0x7d, 0x4a, 0x99, 0xad, 0xf4, 0x9c, 0x8d, 0x63, 0xa0, 0x40, 0x4b, 0x5b, 0xdf,
-	0xe8, 0x11, 0xdd, 0x77, 0x5e, 0x13, 0x7b, 0x30, 0x56, 0x50, 0x89, 0x46, 0x05, 0x68, 0x13, 0xd8,
-	0x8b, 0xee, 0x59, 0x9f, 0x05, 0xb3, 0x45, 0x56, 0x59, 0xa0, 0x02, 0xd5, 0xfa, 0x8c, 0x08, 0x5f,
-	0x73, 0xf0, 0xbd, 0xe4, 0x43, 0x7b, 0x7d, 0xc7, 0xf6, 0x08, 0xfa, 0x19, 0xac, 0x8c, 0x33, 0x18,
-	0x9c, 0x7c, 0xae, 0x7b, 0x2e, 0x8e, 0x51, 0xec, 0xa1, 0x87, 0xb0, 0x62, 0x93, 0x37, 0xbe, 0x1e,
-	0x41, 0x1b, 0xf0, 0xb3, 0x4c, 0xc5, 0xad, 0x01, 0x62, 0xe1, 0x04, 0x36, 0xe2, 0x41, 0x35, 0xb8,
-	0x84, 0x97, 0x00, 0x23, 0xa3, 0x61, 0x34, 0xdd, 0xb9, 0x1e, 0x89, 0x12, 0xd1, 0x10, 0xbe, 0xe0,
-	0xe0, 0xbd, 0x5d, 0xc3, 0x37, 0x5f, 0xc5, 0x37, 0x18, 0x5e, 0xf3, 0x27, 0x50, 0x88, 0x0c, 0xd5,
-	0xe1, 0x61, 0x67, 0x6d, 0x11, 0x55, 0xa1, 0xf7, 0xe1, 0x06, 0xc6, 0x22, 0x33, 0x64, 0x28, 0xc1,
-	0x1d, 0xe1, 0x3b, 0x0e, 0xee, 0x4c, 0x83, 0x10, 0x92, 0xae, 0x40, 0x9e, 0xd8, 0xbe, 0x6b, 0x91,
-	0xc1, 0xfe, 0xcf, 0x93, 0xf6, 0xbf, 0xde, 0x48, 0x25, 0xe8, 0xcc, 0x07, 0x86, 0xca, 0x1e, 0x64,
-	0x83, 0xc6, 0x7c, 0x07, 0x72, 0xc1, 0x50, 0x1c, 0xd2, 0x87, 0x06, 0xb6, 0xdd, 0xbe, 0x59, 0x51,
-	0xd9, 0x17, 0x25, 0x5c, 0x11, 0xa3, 0x3b, 0x75, 0x63, 0xba, 0x3f, 0x82, 0xb5, 0xb1, 0xb4, 0x35,
-	0x20, 0xf9, 0x3e, 0x44, 0x72, 0xc0, 0x28, 0x26, 0x97, 0x46, 0x42, 0xdc, 0x11, 0xfe, 0xc4, 0xc1,
-	0x46, 0x3c, 0x59, 0xdd, 0xc4, 0xc0, 0xdb, 0xa2, 0x7f, 0xbb, 0xc4, 0xf4, 0x12, 0x36, 0xe2, 0x89,
-	0xe9, 0x46, 0xa7, 0xff, 0x4d, 0x0a, 0x4a, 0xf1, 0xc8, 0x1c, 0x3a, 0xe9, 0x63, 0x40, 0x13, 0x79,
-	0x6d, 0x90, 0x92, 0xf8, 0x58, 0x62, 0xf3, 0xd0, 0xfd, 0xd8, 0xac, 0xcc, 0x5c, 0xf2, 0xf0, 0xd6,
-	0xf8, 0xb4, 0xfc, 0x68, 0x62, 0x5a, 0x4e, 0x87, 0xcb, 0xa6, 0xcd, 0xcb, 0x99, 0x84, 0xca, 0x9a,
-	0x1d, 0x95, 0xf1, 0xf1, 0xb4, 0x94, 0xbb, 0x36, 0x2d, 0xe5, 0xc7, 0xd3, 0xd2, 0x6e, 0x01, 0x16,
-	0x87, 0x9b, 0x0a, 0xbf, 0xe6, 0xe0, 0xdd, 0x04, 0x26, 0xc2, 0x58, 0x79, 0xfb, 0x78, 0x9d, 0x33,
-	0x2d, 0xed, 0x10, 0x28, 0x8e, 0x27, 0x60, 0xda, 0x97, 0xd6, 0x65, 0xb9, 0xa9, 0xb1, 0x5e, 0x4e,
-	0x4f, 0x98, 0x0f, 0x0a, 0x90, 0x3f, 0x90, 0x64, 0x49, 0xc1, 0x22, 0xcf, 0xd1, 0x97, 0xe3, 0xba,
-	0x82, 0xeb, 0x32, 0xed, 0xc9, 0x17, 0x20, 0x43, 0xbf, 0xf0, 0x69, 0x36, 0x43, 0x28, 0x75, 0x59,
-	0x15, 0x15, 0xdc, 0xd2, 0xf8, 0x4c, 0xed, 0xab, 0x65, 0xb8, 0x1d, 0xcd, 0xa3, 0xec, 0xe7, 0xbe,
-	0xe3, 0xa7, 0xe8, 0x5b, 0x0e, 0x6e, 0x27, 0xf4, 0x1a, 0xa8, 0x92, 0x74, 0xd6, 0xe9, 0x4d, 0x49,
-	0x79, 0x76, 0xe2, 0x16, 0x76, 0xbe, 0xfc, 0xfb, 0x3f, 0xbf, 0x49, 0xbd, 0x2f, 0xa0, 0xd8, 0x2f,
-	0x98, 0xc4, 0xf7, 0x5e, 0xc4, 0xaa, 0x3e, 0xfa, 0x9a, 0x03, 0x3e, 0xde, 0x9a, 0xa0, 0xc4, 0x1f,
-	0xa1, 0xa6, 0x34, 0x30, 0xf3, 0x00, 0xaa, 0x30, 0x40, 0xdb, 0xe8, 0xe1, 0x24, 0xa0, 0xea, 0xaf,
-	0x26, 0x22, 0xe1, 0x73, 0xf4, 0x47, 0x0e, 0x6e, 0x27, 0xf4, 0x39, 0xc9, 0x5c, 0x4d, 0x6f, 0x88,
-	0xe6, 0x81, 0xf6, 0x92, 0x41, 0x7b, 0x5e, 0x9e, 0x13, 0xda, 0x04, 0x7f, 0xbf, 0xe5, 0xe0, 0x76,
-	0x42, 0x07, 0x93, 0x0c, 0x75, 0x7a, 0xab, 0x53, 0x5e, 0x9f, 0xc8, 0x4b, 0xd2, 0x79, 0xdf, 0xbf,
-	0x1a, 0x50, 0xb7, 0x33, 0x2f, 0x75, 0xbf, 0xe3, 0x60, 0x2d, 0xa9, 0x23, 0x40, 0xd5, 0x24, 0x40,
-	0xd7, 0x34, 0x4c, 0xe5, 0x0f, 0xe6, 0x57, 0x08, 0x62, 0x59, 0x78, 0x9f, 0x61, 0xbd, 0x23, 0xbc,
-	0x9b, 0x80, 0xd5, 0x63, 0x8a, 0x2f, 0xb8, 0x1d, 0xf4, 0x15, 0x07, 0x7c, 0xdc, 0xbf, 0x93, 0x3d,
-	0x6e, 0x4a, 0x17, 0x51, 0x9e, 0x91, 0x1e, 0x84, 0xfb, 0x0c, 0xc7, 0x7b, 0xc2, 0x4a, 0x0c, 0xc7,
-	0x8b, 0x68, 0x75, 0xf8, 0x03, 0x07, 0xeb, 0xc9, 0x25, 0x18, 0x3d, 0xbd, 0x49, 0xb9, 0x0e, 0x20,
-	0xd5, 0x6e, 0x5e, 0xe1, 0x85, 0x87, 0x0c, 0xe6, 0x96, 0xb0, 0x19, 0x87, 0x79, 0x3a, 0xd2, 0xa3,
-	0x84, 0x7d, 0xc9, 0xc1, 0xf2, 0x58, 0xf0, 0xa1, 0xed, 0x99, 0xf1, 0x39, 0x2f, 0x55, 0x8f, 0x18,
-	0x86, 0x7b, 0xe8, 0x6e, 0x0c, 0xc3, 0x98, 0x6f, 0x51, 0xbf, 0xfa, 0x96, 0x03, 0x3e, 0x1e, 0x69,
-	0xc9, 0xb7, 0x36, 0xa5, 0xe6, 0xcf, 0x84, 0xf2, 0x8c, 0x41, 0x79, 0x52, 0x9e, 0x05, 0x65, 0xec,
-	0x16, 0xbf, 0xe0, 0x80, 0x8f, 0x47, 0x55, 0x32, 0xac, 0x29, 0xd5, 0x7c, 0x6a, 0xe0, 0x85, 0xcc,
-	0xec, 0xcc, 0x64, 0xe6, 0x1b, 0x0e, 0x56, 0x27, 0xea, 0x1b, 0x7a, 0x3c, 0x4f, 0xf4, 0x0c, 0xdd,
-	0xe7, 0xc9, 0x9c, 0xab, 0x43, 0xcf, 0xb9, 0xc7, 0xb0, 0x6d, 0x0a, 0xeb, 0x71, 0x6c, 0xc3, 0x28,
-	0xdb, 0xad, 0xc2, 0xba, 0xe9, 0x9c, 0x27, 0x98, 0xdd, 0xe5, 0x23, 0x16, 0x5b, 0xf4, 0xcc, 0x2d,
-	0xee, 0xdf, 0x1c, 0x77, 0x9a, 0x63, 0xe7, 0x7f, 0xf6, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa7,
-	0x0c, 0x54, 0xd2, 0x25, 0x1b, 0x00, 0x00,
+	// 2188 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x59, 0xcd, 0x6f, 0xdb, 0xc8,
+	0x15, 0x0f, 0xf5, 0x69, 0x3f, 0xd9, 0x32, 0x3d, 0xf1, 0xda, 0x5a, 0x39, 0x1f, 0x0e, 0xf3, 0x65,
+	0xb8, 0x89, 0xbc, 0x51, 0x80, 0x36, 0x75, 0xda, 0x74, 0x65, 0x9a, 0xb6, 0xa7, 0xab, 0x50, 0xc2,
+	0x90, 0x72, 0xe1, 0x5e, 0x08, 0x86, 0x1a, 0x7b, 0x89, 0xd8, 0x94, 0x4a, 0xd2, 0x6e, 0xbc, 0xc5,
+	0x02, 0x8b, 0xc5, 0x16, 0x3d, 0xf5, 0xb2, 0xbb, 0xf7, 0x5e, 0x0a, 0xb4, 0xff, 0x43, 0x2f, 0x05,
+	0x7a, 0x6f, 0x0f, 0x45, 0xff, 0x83, 0x5e, 0xf6, 0xda, 0x53, 0x81, 0x5e, 0x8a, 0x19, 0x92, 0x12,
+	0x45, 0x51, 0xb6, 0xdc, 0x00, 0xbd, 0x71, 0xde, 0xbc, 0xf7, 0xe6, 0x37, 0xbf, 0x99, 0xf7, 0x31,
+	0x12, 0x3c, 0x38, 0xee, 0xf5, 0x8e, 0x4f, 0xe8, 0xe6, 0x31, 0x75, 0x7a, 0xa7, 0xb6, 0xe5, 0x6d,
+	0x9e, 0x3f, 0xdb, 0x34, 0x1d, 0xa7, 0xe7, 0x9b, 0xbe, 0xdd, 0x73, 0xbc, 0x5a, 0xdf, 0xed, 0xf9,
+	0x3d, 0x84, 0x02, 0xad, 0x5a, 0xa4, 0x55, 0x3b, 0x7f, 0x56, 0xbd, 0x15, 0x5a, 0x9a, 0x7d, 0x7b,
+	0xdc, 0xa2, 0xba, 0x1a, 0xce, 0xf2, 0xd1, 0x9b, 0xb3, 0xa3, 0x4d, 0x7a, 0xda, 0xf7, 0x2f, 0xc2,
+	0xc9, 0xb5, 0xe4, 0xe4, 0x91, 0x4d, 0x4f, 0xba, 0xc6, 0xa9, 0xe9, 0xbd, 0x0d, 0x35, 0x6e, 0x25,
+	0x35, 0x3c, 0xdf, 0x3d, 0xb3, 0xfc, 0x70, 0xf6, 0x4e, 0x72, 0xf6, 0x97, 0xae, 0xd9, 0xef, 0x53,
+	0x37, 0x5a, 0x7c, 0x25, 0x9c, 0x77, 0xfb, 0xd6, 0xa6, 0xe7, 0x9b, 0xfe, 0x59, 0x38, 0x21, 0x7d,
+	0x97, 0x81, 0xf9, 0xc6, 0x00, 0xab, 0x46, 0x7d, 0x54, 0x86, 0x8c, 0xdd, 0xad, 0x08, 0x6b, 0xc2,
+	0xfa, 0x2c, 0xc9, 0xd8, 0x5d, 0x74, 0x1b, 0xa0, 0x6b, 0xfa, 0xa6, 0x47, 0x7d, 0xc3, 0xee, 0x56,
+	0x32, 0x5c, 0x3e, 0x1b, 0x4a, 0x70, 0x17, 0xad, 0x83, 0xe8, 0xd2, 0x23, 0xea, 0x52, 0xc7, 0xa2,
+	0x46, 0xa8, 0x94, 0xe5, 0x4a, 0xe5, 0x81, 0x5c, 0xe3, 0x9a, 0x08, 0x72, 0x8e, 0x79, 0x4a, 0x2b,
+	0x39, 0x3e, 0xcb, 0xbf, 0x99, 0x73, 0xaf, 0x77, 0xe6, 0x5a, 0xd4, 0x38, 0x73, 0xed, 0x4a, 0x3e,
+	0x70, 0x1e, 0x48, 0x3a, 0xae, 0x8d, 0xbe, 0x0f, 0x39, 0xff, 0xa2, 0x4f, 0x2b, 0x85, 0x35, 0x61,
+	0xbd, 0x5c, 0x97, 0x6a, 0xe3, 0xa4, 0xd7, 0x86, 0xe0, 0xf5, 0x8b, 0x3e, 0x25, 0x5c, 0x1f, 0xfd,
+	0x04, 0x72, 0xb6, 0x73, 0xd4, 0xab, 0x2c, 0xae, 0x65, 0xd7, 0x4b, 0xf5, 0xef, 0x5d, 0x6e, 0xa7,
+	0x51, 0xbf, 0x86, 0x9d, 0xa3, 0x9e, 0xe2, 0xf8, 0xee, 0x05, 0xe1, 0x86, 0x55, 0x0d, 0x66, 0x07,
+	0x22, 0x24, 0x42, 0xf6, 0x2d, 0xbd, 0x08, 0x29, 0x61, 0x9f, 0xe8, 0x23, 0xc8, 0x9f, 0x9b, 0x27,
+	0x67, 0x94, 0xd3, 0x51, 0xaa, 0x57, 0xa3, 0x05, 0x22, 0xfa, 0x6b, 0x4d, 0xdb, 0xf3, 0x0f, 0x98,
+	0x06, 0x09, 0x14, 0xb7, 0x32, 0x2f, 0x04, 0xe9, 0xaf, 0x39, 0x80, 0xe1, 0xb2, 0x63, 0x44, 0x6f,
+	0xc0, 0xe2, 0xf0, 0xd6, 0x18, 0x23, 0x7c, 0x2f, 0x98, 0x71, 0xb4, 0x31, 0x2e, 0xb3, 0x31, 0x2e,
+	0xef, 0xc1, 0xdc, 0xf0, 0x24, 0xec, 0x6e, 0xc8, 0x73, 0x69, 0x20, 0xc3, 0x5d, 0xf4, 0x10, 0x86,
+	0x87, 0x62, 0x70, 0x07, 0x01, 0xe5, 0xf3, 0x03, 0xa9, 0xca, 0x3c, 0x2d, 0x41, 0xde, 0xf3, 0x4d,
+	0xd7, 0xe7, 0xbc, 0x67, 0x49, 0x30, 0x60, 0x34, 0x50, 0xa7, 0x5b, 0x29, 0x72, 0x19, 0xfb, 0x0c,
+	0xdc, 0x9d, 0x53, 0xd7, 0xa3, 0x86, 0xe7, 0xbb, 0xa6, 0xd3, 0xad, 0xcc, 0xac, 0x09, 0xeb, 0x33,
+	0xcc, 0x1d, 0x97, 0x6a, 0x5c, 0x38, 0x38, 0xc5, 0xd9, 0x6b, 0x9e, 0x62, 0x03, 0x8a, 0xe7, 0xa6,
+	0x6b, 0x9b, 0x8e, 0x5f, 0x01, 0xce, 0xf3, 0xc3, 0x34, 0xd3, 0x83, 0x40, 0x65, 0xe8, 0x61, 0xff,
+	0x06, 0x89, 0xec, 0xd0, 0xc7, 0x00, 0x0c, 0x83, 0x67, 0xb9, 0x76, 0xdf, 0xaf, 0x94, 0xb8, 0x97,
+	0x3b, 0x69, 0x5e, 0xf4, 0x81, 0xd6, 0xfe, 0x0d, 0x12, 0xb3, 0x41, 0x3f, 0x0a, 0xaf, 0xd2, 0x1c,
+	0xbf, 0x4a, 0xeb, 0x97, 0x83, 0xff, 0xbf, 0xdc, 0xa3, 0xed, 0x62, 0x68, 0x25, 0xfd, 0x67, 0x16,
+	0x16, 0xc7, 0xb6, 0x8f, 0x5e, 0x85, 0x74, 0x0b, 0x9c, 0xee, 0x8d, 0xa9, 0x38, 0xab, 0xc5, 0x68,
+	0xdf, 0x81, 0x02, 0x3d, 0x3a, 0xa2, 0x96, 0xcf, 0x51, 0x95, 0xeb, 0x4f, 0xa6, 0xf3, 0xa0, 0x70,
+	0x1b, 0x12, 0xda, 0xa2, 0xc7, 0xb0, 0x60, 0x9e, 0xf8, 0xd4, 0x75, 0x4c, 0x9f, 0x1a, 0x6f, 0x4c,
+	0x8f, 0x7a, 0x51, 0x5a, 0x18, 0x88, 0xb7, 0x99, 0x14, 0xad, 0x40, 0xf1, 0x98, 0x3a, 0xb1, 0x1b,
+	0x5b, 0x60, 0xc3, 0xe0, 0xb2, 0x0e, 0xcf, 0xc1, 0xb0, 0xbb, 0x5e, 0x25, 0xbf, 0x96, 0x65, 0x97,
+	0x75, 0x28, 0xc5, 0x5d, 0x0f, 0xfd, 0x0c, 0xc0, 0xea, 0x39, 0x5d, 0x9b, 0xe7, 0xda, 0x4a, 0x81,
+	0x1f, 0xd3, 0x0f, 0xa6, 0x83, 0x2c, 0x9f, 0xd8, 0x8e, 0x6d, 0x99, 0x27, 0x72, 0x64, 0x4f, 0x62,
+	0xae, 0x50, 0x0f, 0x3e, 0xb0, 0x42, 0x05, 0xc3, 0xb3, 0x8f, 0x1d, 0xfb, 0xc8, 0xb6, 0x4c, 0xc7,
+	0xa2, 0x3c, 0x02, 0xca, 0xf5, 0xad, 0xeb, 0xad, 0xa1, 0xc5, 0x3c, 0x90, 0x25, 0x2b, 0x45, 0x5a,
+	0xfd, 0xbd, 0x00, 0x8b, 0x63, 0x90, 0x58, 0x30, 0xb2, 0x48, 0xf5, 0x2a, 0x02, 0xdf, 0x7d, 0x30,
+	0x40, 0x0d, 0x98, 0xa3, 0xef, 0x38, 0x8f, 0x27, 0x9c, 0x9a, 0x0c, 0xdf, 0x77, 0xea, 0xd5, 0x56,
+	0x42, 0x3d, 0xdc, 0x25, 0x25, 0x3a, 0xf8, 0xf6, 0x58, 0xee, 0xb5, 0x7a, 0x8e, 0x45, 0xfb, 0xb1,
+	0x9c, 0x3d, 0x1b, 0x4a, 0x70, 0x97, 0x9d, 0x4b, 0xef, 0xd4, 0x3e, 0x8d, 0x9d, 0x0b, 0x1b, 0xe2,
+	0xae, 0xf4, 0x39, 0xe4, 0xd8, 0x6d, 0x41, 0x4b, 0x20, 0xea, 0x87, 0x6d, 0xc5, 0xe8, 0xa8, 0x5a,
+	0x5b, 0x91, 0xf1, 0x2e, 0x56, 0x76, 0xc4, 0x1b, 0xa8, 0x0c, 0xc0, 0xa5, 0x2d, 0x7d, 0x5f, 0x21,
+	0xa2, 0x80, 0xe6, 0x61, 0x16, 0xab, 0x9a, 0x42, 0x74, 0xdc, 0x52, 0xc5, 0x0c, 0x9a, 0x83, 0x99,
+	0x1d, 0xa5, 0xa9, 0xf0, 0x51, 0x16, 0x89, 0x30, 0xa7, 0x75, 0xb6, 0x35, 0x1d, 0xeb, 0x1d, 0x2e,
+	0xc9, 0xa1, 0x22, 0x64, 0x35, 0xb5, 0x2d, 0xe6, 0x99, 0x1f, 0x4d, 0x27, 0x1d, 0x59, 0xef, 0x90,
+	0x46, 0x53, 0x2c, 0xb0, 0x09, 0x59, 0x3d, 0x10, 0x8b, 0xd2, 0x5f, 0x04, 0x28, 0x04, 0x77, 0x0d,
+	0x2d, 0x03, 0x52, 0x76, 0x77, 0x15, 0x59, 0x4f, 0x60, 0x10, 0x61, 0x2e, 0x94, 0x47, 0x28, 0xca,
+	0x00, 0xbb, 0xa4, 0xf1, 0x5a, 0xd1, 0xf6, 0xf1, 0xae, 0x2e, 0x66, 0x50, 0x15, 0x96, 0xf9, 0xd8,
+	0x68, 0x13, 0x45, 0x53, 0xc8, 0x01, 0x56, 0xf7, 0x0c, 0xac, 0xee, 0x28, 0x4d, 0x31, 0x8b, 0x10,
+	0x94, 0xb5, 0x43, 0xb5, 0xa5, 0x1e, 0xbe, 0x6e, 0x75, 0x34, 0x83, 0xa1, 0xc9, 0xa1, 0x0f, 0x60,
+	0x51, 0x6d, 0xa9, 0x09, 0x71, 0x9e, 0x6d, 0x4e, 0xd3, 0x5b, 0x6d, 0x63, 0xaf, 0x81, 0x55, 0xb1,
+	0x30, 0x18, 0x36, 0x5b, 0x9a, 0x26, 0x16, 0xd9, 0x22, 0x5a, 0xbb, 0x89, 0x65, 0xc5, 0xd0, 0xb0,
+	0xae, 0x18, 0x3b, 0x58, 0x23, 0x9d, 0x36, 0xdf, 0xe7, 0x8c, 0xf4, 0xe7, 0x0c, 0x2c, 0xa5, 0x5d,
+	0x0d, 0xf4, 0x10, 0xee, 0xc9, 0x4d, 0xac, 0x62, 0xb9, 0xd1, 0x34, 0x34, 0xbc, 0xa7, 0xe2, 0x5d,
+	0x2c, 0x37, 0x54, 0x39, 0x49, 0xf3, 0x5d, 0x58, 0x4d, 0x57, 0x8b, 0xf1, 0xde, 0x51, 0x65, 0x85,
+	0xe8, 0x0c, 0x5a, 0x06, 0x01, 0x14, 0xb6, 0x15, 0x15, 0xef, 0x31, 0xd6, 0x17, 0x61, 0xbe, 0x89,
+	0x3f, 0x51, 0x9a, 0x87, 0x46, 0x28, 0xe2, 0xfb, 0x0b, 0x45, 0xed, 0x86, 0xbe, 0xdf, 0xda, 0x53,
+	0x54, 0x2c, 0x07, 0x87, 0x10, 0x1b, 0x17, 0x98, 0xe5, 0x0e, 0xe9, 0xec, 0x19, 0x44, 0xd1, 0xda,
+	0x2d, 0x55, 0x53, 0xc4, 0x22, 0x3b, 0x83, 0x7d, 0xac, 0xe9, 0x2d, 0xb9, 0xf5, 0xba, 0xdd, 0xd0,
+	0xf1, 0x36, 0x6e, 0x62, 0xfd, 0x50, 0x9c, 0x41, 0x2b, 0x70, 0x53, 0x6e, 0xa9, 0xbb, 0x0a, 0xd1,
+	0x0c, 0x4d, 0x51, 0x35, 0xac, 0xe3, 0x03, 0x36, 0x31, 0x8b, 0x16, 0xa0, 0x44, 0xb0, 0xf6, 0x89,
+	0xb1, 0xdb, 0x90, 0xf5, 0x16, 0x11, 0x81, 0x09, 0x1a, 0x9a, 0xd6, 0x92, 0x71, 0x83, 0x73, 0x53,
+	0xe2, 0xab, 0x92, 0x96, 0xae, 0xc8, 0x3a, 0x3e, 0x50, 0xc4, 0x39, 0x06, 0xee, 0x75, 0xa7, 0xa9,
+	0xe3, 0x76, 0x53, 0x31, 0x88, 0xd2, 0x6e, 0x11, 0x5d, 0xd9, 0x11, 0xe7, 0xa5, 0x7f, 0x64, 0x00,
+	0x86, 0x69, 0x3b, 0x9e, 0x47, 0x84, 0x91, 0x3c, 0xf2, 0x43, 0xc8, 0xd3, 0x77, 0x2c, 0x37, 0x04,
+	0x31, 0x72, 0xff, 0xf2, 0xf4, 0x5f, 0x53, 0xde, 0xf5, 0x1c, 0x12, 0x58, 0xa0, 0x03, 0x58, 0xb0,
+	0x7a, 0x5d, 0xdb, 0x39, 0x36, 0x3c, 0xfa, 0x8b, 0x33, 0x56, 0x1f, 0x79, 0x9c, 0x94, 0xea, 0x4f,
+	0xaf, 0x70, 0x22, 0x73, 0x2b, 0x2d, 0x34, 0x22, 0x65, 0x6b, 0x64, 0x5c, 0x35, 0x21, 0xc7, 0x96,
+	0x19, 0x16, 0x5a, 0x21, 0xa5, 0xd0, 0x66, 0x86, 0x85, 0xf6, 0x19, 0xe4, 0x8f, 0xdc, 0xa8, 0xde,
+	0x97, 0xea, 0xab, 0x63, 0x75, 0x02, 0x3b, 0xfe, 0xf3, 0x7a, 0x58, 0x28, 0xb8, 0x66, 0xf5, 0x05,
+	0x94, 0x47, 0x41, 0x4c, 0xbb, 0x98, 0xf4, 0x63, 0x80, 0x61, 0xca, 0x40, 0x77, 0xa1, 0x14, 0x76,
+	0x68, 0xbc, 0x5f, 0x08, 0xa8, 0x0d, 0x9b, 0x36, 0xde, 0x2c, 0x04, 0x6d, 0x4c, 0x26, 0x6a, 0x63,
+	0xa4, 0x23, 0xa8, 0xca, 0x2e, 0x35, 0x7d, 0x3a, 0xd2, 0x61, 0x11, 0x86, 0xc2, 0xf3, 0xd1, 0x3e,
+	0x94, 0x47, 0x9b, 0x1c, 0xee, 0xb1, 0x54, 0xbf, 0x77, 0x65, 0x8f, 0x46, 0xe6, 0x47, 0x9a, 0x20,
+	0x49, 0x81, 0x95, 0x3d, 0xea, 0xa7, 0x2e, 0x92, 0xda, 0x49, 0x09, 0xa9, 0x9d, 0x94, 0xf4, 0x37,
+	0x01, 0xaa, 0x9d, 0x7e, 0x77, 0x12, 0xde, 0x6b, 0xb8, 0x4a, 0xd9, 0x5b, 0xe6, 0x7f, 0xdb, 0x1b,
+	0x7a, 0x09, 0xa5, 0x33, 0x8e, 0x89, 0xbf, 0x00, 0xc2, 0x53, 0x1f, 0xef, 0x0e, 0x76, 0xd9, 0x23,
+	0xe1, 0xb5, 0xe9, 0xbd, 0x25, 0x10, 0xa8, 0xb3, 0x6f, 0x69, 0x1f, 0xaa, 0x3b, 0xf4, 0x84, 0xbe,
+	0xff, 0x86, 0xa4, 0x7f, 0x09, 0xb0, 0xaa, 0x51, 0xd3, 0xb5, 0x3e, 0x1d, 0x71, 0xe5, 0x45, 0xbe,
+	0xee, 0x42, 0x69, 0xf8, 0x34, 0x88, 0x0a, 0x14, 0x0c, 0xde, 0x06, 0x5e, 0xea, 0xe3, 0x20, 0x73,
+	0xe9, 0xe3, 0x20, 0xde, 0xd0, 0xbe, 0x80, 0x3c, 0x6b, 0x48, 0xbc, 0x4a, 0x6e, 0x2d, 0x3b, 0x65,
+	0xe3, 0x18, 0x18, 0xb0, 0xd2, 0xd6, 0x37, 0x8f, 0xa9, 0xe1, 0xf7, 0xde, 0x52, 0x27, 0x7a, 0x56,
+	0x30, 0x89, 0xce, 0x04, 0x68, 0x15, 0xf8, 0xc0, 0xf0, 0xec, 0xcf, 0x82, 0xb7, 0x45, 0x9e, 0xcc,
+	0x30, 0x81, 0x66, 0x7f, 0x46, 0xa5, 0xaf, 0x05, 0xb8, 0x95, 0xbe, 0x69, 0xaf, 0xdf, 0x73, 0x3c,
+	0x8a, 0x7e, 0x0a, 0x0b, 0xa3, 0x0c, 0x06, 0x3b, 0x9f, 0xea, 0x9c, 0xcb, 0x23, 0x14, 0x7b, 0xe8,
+	0x11, 0x2c, 0x38, 0xf4, 0x9d, 0x6f, 0xc4, 0xd0, 0x06, 0xfc, 0xcc, 0x33, 0x71, 0x3b, 0x42, 0x2c,
+	0x1d, 0xc2, 0x4a, 0x32, 0xa8, 0xa2, 0x43, 0x78, 0x05, 0x30, 0x74, 0x1a, 0x46, 0xd3, 0x9d, 0xcb,
+	0x91, 0x90, 0x98, 0x85, 0xf4, 0x85, 0x00, 0xb7, 0xb7, 0x4d, 0xdf, 0xfa, 0x34, 0xb9, 0xc0, 0xe0,
+	0x98, 0x3f, 0x86, 0x52, 0xec, 0x39, 0x1b, 0x6e, 0xf6, 0xaa, 0x25, 0xe2, 0x26, 0xec, 0x3c, 0xdc,
+	0xc0, 0x59, 0xec, 0x0d, 0x19, 0x4a, 0x70, 0x57, 0xfa, 0x4e, 0x80, 0x3b, 0x93, 0x20, 0x84, 0xa4,
+	0x13, 0x28, 0x52, 0xc7, 0x77, 0x6d, 0x1a, 0xad, 0xff, 0x22, 0x6d, 0xfd, 0xcb, 0x9d, 0xd4, 0x82,
+	0xce, 0x3c, 0x72, 0x54, 0xf5, 0x20, 0x1f, 0x34, 0xe6, 0x1b, 0x50, 0x08, 0x1e, 0xc5, 0x21, 0x7d,
+	0x28, 0xf2, 0xed, 0xf6, 0xad, 0x9a, 0xc6, 0x67, 0x48, 0xa8, 0x91, 0xa0, 0x3b, 0x73, 0x6d, 0xba,
+	0x5f, 0xc2, 0xd2, 0x48, 0xda, 0x8a, 0x48, 0xbe, 0x0f, 0xb1, 0x1c, 0x30, 0x8c, 0xc9, 0xb9, 0xa1,
+	0x10, 0x77, 0xa5, 0x3f, 0x09, 0xb0, 0x92, 0x4c, 0x56, 0xd7, 0x71, 0xf0, 0xbe, 0xe8, 0xdf, 0x2f,
+	0x31, 0xbd, 0x82, 0x95, 0x64, 0x62, 0xba, 0xd6, 0xee, 0x7f, 0x93, 0x81, 0x4a, 0x32, 0x32, 0x07,
+	0x97, 0xf4, 0x09, 0xa0, 0xb1, 0xbc, 0x16, 0xa5, 0x24, 0x31, 0x91, 0xd8, 0x3c, 0x74, 0x3f, 0xf1,
+	0x56, 0xe6, 0x57, 0x72, 0xff, 0xc6, 0xe8, 0x6b, 0xf9, 0xf1, 0xd8, 0x6b, 0x39, 0x1b, 0xaa, 0x4d,
+	0x7a, 0x2f, 0xe7, 0x52, 0x2a, 0x6b, 0x7e, 0x58, 0xc6, 0x47, 0xd3, 0x52, 0xe1, 0xd2, 0xb4, 0x54,
+	0x1c, 0x4d, 0x4b, 0xdb, 0x25, 0x98, 0x1d, 0x2c, 0x2a, 0xfd, 0x5a, 0x80, 0x0f, 0x53, 0x98, 0x08,
+	0x63, 0xe5, 0xfd, 0xe3, 0x75, 0xca, 0xb4, 0xb4, 0x41, 0xa1, 0x3c, 0x9a, 0x80, 0x59, 0x5f, 0xda,
+	0x50, 0xd5, 0x96, 0xce, 0x7b, 0x39, 0x23, 0xe5, 0x7d, 0x50, 0x82, 0xe2, 0x9e, 0xa2, 0x2a, 0x04,
+	0xcb, 0xa2, 0xc0, 0x06, 0x07, 0x0d, 0x82, 0x1b, 0x2a, 0xeb, 0xc9, 0x67, 0x20, 0xc7, 0x66, 0xc4,
+	0x2c, 0x7f, 0x43, 0x90, 0x86, 0xaa, 0xc9, 0x04, 0xb7, 0x75, 0x31, 0x57, 0xff, 0x6a, 0x1e, 0x6e,
+	0xc6, 0xf3, 0xa8, 0x7b, 0x6e, 0x5b, 0xf4, 0xe0, 0x19, 0xfa, 0x56, 0x80, 0x9b, 0x29, 0xbd, 0x06,
+	0xaa, 0xa5, 0xed, 0x75, 0x72, 0x53, 0x52, 0xbd, 0x3a, 0x71, 0x4b, 0x1b, 0x5f, 0xfe, 0xfd, 0x9f,
+	0xdf, 0x64, 0x1e, 0x48, 0x28, 0xf1, 0x73, 0x20, 0xf5, 0xbd, 0xad, 0x44, 0xd5, 0x47, 0x5f, 0x0b,
+	0x20, 0x26, 0x5b, 0x13, 0x94, 0xfa, 0x23, 0xd4, 0x84, 0x06, 0x66, 0x1a, 0x40, 0x35, 0x0e, 0x68,
+	0x1d, 0x3d, 0x1a, 0x07, 0xb4, 0xf9, 0xab, 0xb1, 0x48, 0xf8, 0x1c, 0xfd, 0x51, 0x80, 0x9b, 0x29,
+	0x7d, 0x4e, 0x3a, 0x57, 0x93, 0x1b, 0xa2, 0x69, 0xa0, 0xbd, 0xe2, 0xd0, 0x5e, 0x54, 0xa7, 0x84,
+	0x36, 0xc6, 0xdf, 0x6f, 0x05, 0xb8, 0x99, 0xd2, 0xc1, 0xa4, 0x43, 0x9d, 0xdc, 0xea, 0x54, 0x97,
+	0xc7, 0xf2, 0x92, 0x72, 0xda, 0xf7, 0x2f, 0x22, 0xea, 0x36, 0xa6, 0xa5, 0xee, 0x77, 0x02, 0x2c,
+	0xa5, 0x75, 0x04, 0x68, 0x33, 0x0d, 0xd0, 0x25, 0x0d, 0x53, 0xf5, 0xa3, 0xe9, 0x0d, 0x82, 0x58,
+	0x96, 0x1e, 0x70, 0xac, 0x77, 0xa4, 0x0f, 0x53, 0xb0, 0x7a, 0xdc, 0x70, 0x4b, 0xd8, 0x40, 0x5f,
+	0x09, 0x20, 0x26, 0xef, 0x77, 0xfa, 0x8d, 0x9b, 0xd0, 0x45, 0x54, 0xaf, 0x48, 0x0f, 0xd2, 0x7d,
+	0x8e, 0xe3, 0xb6, 0xb4, 0x90, 0xc0, 0xb1, 0x15, 0xaf, 0x0e, 0x7f, 0x10, 0x60, 0x39, 0xbd, 0x04,
+	0xa3, 0x67, 0xd7, 0x29, 0xd7, 0x01, 0xa4, 0xfa, 0xf5, 0x2b, 0xbc, 0xf4, 0x88, 0xc3, 0x5c, 0x93,
+	0x56, 0x93, 0x30, 0xdf, 0x0c, 0xed, 0x18, 0x61, 0x5f, 0x0a, 0x30, 0x3f, 0x12, 0x7c, 0x68, 0xfd,
+	0xca, 0xf8, 0x9c, 0x96, 0xaa, 0xc7, 0x1c, 0xc3, 0x3d, 0x74, 0x37, 0x81, 0x61, 0xe4, 0x6e, 0xb1,
+	0x7b, 0xf5, 0xad, 0x00, 0x62, 0x32, 0xd2, 0xd2, 0x4f, 0x6d, 0x42, 0xcd, 0xbf, 0x12, 0xca, 0x73,
+	0x0e, 0xe5, 0x69, 0xf5, 0x2a, 0x28, 0x23, 0xa7, 0xf8, 0x85, 0x00, 0x62, 0x32, 0xaa, 0xd2, 0x61,
+	0x4d, 0xa8, 0xe6, 0x13, 0x03, 0x2f, 0x64, 0x66, 0xe3, 0x4a, 0x66, 0xbe, 0x11, 0x60, 0x71, 0xac,
+	0xbe, 0xa1, 0x27, 0xd3, 0x44, 0xcf, 0xe0, 0xfa, 0x3c, 0x9d, 0x52, 0x3b, 0xbc, 0x39, 0xf7, 0x38,
+	0xb6, 0x55, 0x69, 0x39, 0x89, 0x6d, 0x10, 0x65, 0xdb, 0x6f, 0x61, 0xd9, 0xea, 0x9d, 0xa6, 0xb8,
+	0xdd, 0x16, 0x63, 0x1e, 0xdb, 0x6c, 0xcf, 0x6d, 0xe1, 0xe7, 0x5b, 0x91, 0x5e, 0xef, 0xc4, 0x74,
+	0x8e, 0x6b, 0x3d, 0xf7, 0x78, 0xf3, 0x98, 0x3a, 0x9c, 0x91, 0xcd, 0x60, 0xca, 0xec, 0xdb, 0x5e,
+	0xfc, 0x6f, 0xa6, 0x97, 0xd1, 0xf7, 0xbf, 0x05, 0xe1, 0x4d, 0x81, 0x6b, 0x3e, 0xff, 0x6f, 0x00,
+	0x00, 0x00, 0xff, 0xff, 0xf4, 0x94, 0x75, 0x44, 0x8f, 0x1a, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/annotations.proto b/googleapis/genomics/v1/annotations.proto
deleted file mode 100644
index 38c07afb1b2c2369ca5318ca72462289baf17d78..0000000000000000000000000000000000000000
--- a/googleapis/genomics/v1/annotations.proto
+++ /dev/null
@@ -1,671 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "AnnotationsProto";
-option java_package = "com.google.genomics.v1";
-
-
-// This service provides storage and positional retrieval of genomic
-// reference annotations, including variant annotations.
-service AnnotationServiceV1 {
-  // Creates a new annotation set. Caller must have WRITE permission for the
-  // associated dataset.
-  //
-  // The following fields are required:
-  //
-  //   * [datasetId][google.genomics.v1.AnnotationSet.dataset_id]
-  //   * [referenceSetId][google.genomics.v1.AnnotationSet.reference_set_id]
-  //
-  // All other fields may be optionally specified, unless documented as being
-  // server-generated (for example, the `id` field).
-  rpc CreateAnnotationSet(CreateAnnotationSetRequest) returns (AnnotationSet) {
-    option (google.api.http) = { post: "/v1/annotationsets" body: "annotation_set" };
-  }
-
-  // Gets an annotation set. Caller must have READ permission for
-  // the associated dataset.
-  rpc GetAnnotationSet(GetAnnotationSetRequest) returns (AnnotationSet) {
-    option (google.api.http) = { get: "/v1/annotationsets/{annotation_set_id}" };
-  }
-
-  // Updates an annotation set. The update must respect all mutability
-  // restrictions and other invariants described on the annotation set resource.
-  // Caller must have WRITE permission for the associated dataset.
-  rpc UpdateAnnotationSet(UpdateAnnotationSetRequest) returns (AnnotationSet) {
-    option (google.api.http) = { put: "/v1/annotationsets/{annotation_set_id}" body: "annotation_set" };
-  }
-
-  // Deletes an annotation set. Caller must have WRITE permission
-  // for the associated annotation set.
-  rpc DeleteAnnotationSet(DeleteAnnotationSetRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/annotationsets/{annotation_set_id}" };
-  }
-
-  // Searches for annotation sets that match the given criteria. Annotation sets
-  // are returned in an unspecified order. This order is consistent, such that
-  // two queries for the same content (regardless of page size) yield annotation
-  // sets in the same order across their respective streams of paginated
-  // responses. Caller must have READ permission for the queried datasets.
-  rpc SearchAnnotationSets(SearchAnnotationSetsRequest) returns (SearchAnnotationSetsResponse) {
-    option (google.api.http) = { post: "/v1/annotationsets/search" body: "*" };
-  }
-
-  // Creates a new annotation. Caller must have WRITE permission
-  // for the associated annotation set.
-  //
-  // The following fields are required:
-  //
-  // * [annotationSetId][google.genomics.v1.Annotation.annotation_set_id]
-  // * [referenceName][google.genomics.v1.Annotation.reference_name] or
-  //   [referenceId][google.genomics.v1.Annotation.reference_id]
-  //
-  // ### Transcripts
-  //
-  // For annotations of type TRANSCRIPT, the following fields of
-  // [transcript][google.genomics.v1.Annotation.transcript] must be provided:
-  //
-  // * [exons.start][google.genomics.v1.Transcript.Exon.start]
-  // * [exons.end][google.genomics.v1.Transcript.Exon.end]
-  //
-  // All other fields may be optionally specified, unless documented as being
-  // server-generated (for example, the `id` field). The annotated
-  // range must be no longer than 100Mbp (mega base pairs). See the
-  // [Annotation resource][google.genomics.v1.Annotation]
-  // for additional restrictions on each field.
-  rpc CreateAnnotation(CreateAnnotationRequest) returns (Annotation) {
-    option (google.api.http) = { post: "/v1/annotations" body: "annotation" };
-  }
-
-  // Creates one or more new annotations atomically. All annotations must
-  // belong to the same annotation set. Caller must have WRITE
-  // permission for this annotation set. For optimal performance, batch
-  // positionally adjacent annotations together.
-  //
-  // If the request has a systemic issue, such as an attempt to write to
-  // an inaccessible annotation set, the entire RPC will fail accordingly. For
-  // lesser data issues, when possible an error will be isolated to the
-  // corresponding batch entry in the response; the remaining well formed
-  // annotations will be created normally.
-  //
-  // For details on the requirements for each individual annotation resource,
-  // see
-  // [CreateAnnotation][google.genomics.v1.AnnotationServiceV1.CreateAnnotation].
-  rpc BatchCreateAnnotations(BatchCreateAnnotationsRequest) returns (BatchCreateAnnotationsResponse) {
-    option (google.api.http) = { post: "/v1/annotations:batchCreate" body: "*" };
-  }
-
-  // Gets an annotation. Caller must have READ permission
-  // for the associated annotation set.
-  rpc GetAnnotation(GetAnnotationRequest) returns (Annotation) {
-    option (google.api.http) = { get: "/v1/annotations/{annotation_id}" };
-  }
-
-  // Updates an annotation. Caller must have
-  // WRITE permission for the associated dataset.
-  rpc UpdateAnnotation(UpdateAnnotationRequest) returns (Annotation) {
-    option (google.api.http) = { put: "/v1/annotations/{annotation_id}" body: "annotation" };
-  }
-
-  // Deletes an annotation. Caller must have WRITE permission for
-  // the associated annotation set.
-  rpc DeleteAnnotation(DeleteAnnotationRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/annotations/{annotation_id}" };
-  }
-
-  // Searches for annotations that match the given criteria. Results are
-  // ordered by genomic coordinate (by reference sequence, then position).
-  // Annotations with equivalent genomic coordinates are returned in an
-  // unspecified order. This order is consistent, such that two queries for the
-  // same content (regardless of page size) yield annotations in the same order
-  // across their respective streams of paginated responses. Caller must have
-  // READ permission for the queried annotation sets.
-  rpc SearchAnnotations(SearchAnnotationsRequest) returns (SearchAnnotationsResponse) {
-    option (google.api.http) = { post: "/v1/annotations/search" body: "*" };
-  }
-}
-
-// An annotation set is a logical grouping of annotations that share consistent
-// type information and provenance. Examples of annotation sets include 'all
-// genes from refseq', and 'all variant annotations from ClinVar'.
-message AnnotationSet {
-  // The server-generated annotation set ID, unique across all annotation sets.
-  string id = 1;
-
-  // The dataset to which this annotation set belongs.
-  string dataset_id = 2;
-
-  // The ID of the reference set that defines the coordinate space for this
-  // set's annotations.
-  string reference_set_id = 3;
-
-  // The display name for this annotation set.
-  string name = 4;
-
-  // The source URI describing the file from which this annotation set was
-  // generated, if any.
-  string source_uri = 5;
-
-  // The type of annotations contained within this set.
-  AnnotationType type = 6;
-
-  // A map of additional read alignment information. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 17;
-}
-
-// An annotation describes a region of reference genome. The value of an
-// annotation may be one of several canonical types, supplemented by arbitrary
-// info tags. An annotation is not inherently associated with a specific
-// sample or individual (though a client could choose to use annotations in
-// this way). Example canonical annotation types are `GENE` and
-// `VARIANT`.
-message Annotation {
-  // The server-generated annotation ID, unique across all annotations.
-  string id = 1;
-
-  // The annotation set to which this annotation belongs.
-  string annotation_set_id = 2;
-
-  // The display name of this annotation.
-  string name = 3;
-
-  // The ID of the Google Genomics reference associated with this range.
-  string reference_id = 4;
-
-  // The display name corresponding to the reference specified by
-  // `referenceId`, for example `chr1`, `1`, or `chrX`.
-  string reference_name = 5;
-
-  // The start position of the range on the reference, 0-based inclusive.
-  int64 start = 6;
-
-  // The end position of the range on the reference, 0-based exclusive.
-  int64 end = 7;
-
-  // Whether this range refers to the reverse strand, as opposed to the forward
-  // strand. Note that regardless of this field, the start/end position of the
-  // range always refer to the forward strand.
-  bool reverse_strand = 8;
-
-  // The data type for this annotation. Must match the containing annotation
-  // set's type.
-  AnnotationType type = 9;
-
-  oneof value {
-    // A variant annotation, which describes the effect of a variant on the
-    // genome, the coding sequence, and/or higher level consequences at the
-    // organism level e.g. pathogenicity. This field is only set for annotations
-    // of type `VARIANT`.
-    VariantAnnotation variant = 10;
-
-    // A transcript value represents the assertion that a particular region of
-    // the reference genome may be transcribed as RNA. An alternative splicing
-    // pattern would be represented as a separate transcript object. This field
-    // is only set for annotations of type `TRANSCRIPT`.
-    Transcript transcript = 11;
-  }
-
-  // A map of additional read alignment information. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 12;
-}
-
-message VariantAnnotation {
-  message ClinicalCondition {
-    // A set of names for the condition.
-    repeated string names = 1;
-
-    // The set of external IDs for this condition.
-    repeated ExternalId external_ids = 2;
-
-    // The MedGen concept id associated with this gene.
-    // Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
-    string concept_id = 3;
-
-    // The OMIM id for this condition.
-    // Search for these IDs at http://omim.org/
-    string omim_id = 4;
-  }
-
-  enum Type {
-    TYPE_UNSPECIFIED = 0;
-
-    // `TYPE_OTHER` should be used when no other Type will suffice.
-    // Further explanation of the variant type may be included in the
-    // [info][google.genomics.v1.Annotation.info] field.
-    TYPE_OTHER = 1;
-
-    // `INSERTION` indicates an insertion.
-    INSERTION = 2;
-
-    // `DELETION` indicates a deletion.
-    DELETION = 3;
-
-    // `SUBSTITUTION` indicates a block substitution of
-    // two or more nucleotides.
-    SUBSTITUTION = 4;
-
-    // `SNP` indicates a single nucleotide polymorphism.
-    SNP = 5;
-
-    // `STRUCTURAL` indicates a large structural variant,
-    // including chromosomal fusions, inversions, etc.
-    STRUCTURAL = 6;
-
-    // `CNV` indicates a variation in copy number.
-    CNV = 7;
-  }
-
-  enum Effect {
-    EFFECT_UNSPECIFIED = 0;
-
-    // `EFFECT_OTHER` should be used when no other Effect
-    // will suffice.
-    EFFECT_OTHER = 1;
-
-    // `FRAMESHIFT` indicates a mutation in which the insertion or
-    // deletion of nucleotides resulted in a frameshift change.
-    FRAMESHIFT = 2;
-
-    // `FRAME_PRESERVING_INDEL` indicates a mutation in which a
-    // multiple of three nucleotides has been inserted or deleted, resulting
-    // in no change to the reading frame of the coding sequence.
-    FRAME_PRESERVING_INDEL = 3;
-
-    // `SYNONYMOUS_SNP` indicates a single nucleotide polymorphism
-    // mutation that results in no amino acid change.
-    SYNONYMOUS_SNP = 4;
-
-    // `NONSYNONYMOUS_SNP` indicates a single nucleotide
-    // polymorphism mutation that results in an amino acid change.
-    NONSYNONYMOUS_SNP = 5;
-
-    // `STOP_GAIN` indicates a mutation that leads to the creation
-    // of a stop codon at the variant site. Frameshift mutations creating
-    // downstream stop codons do not count as `STOP_GAIN`.
-    STOP_GAIN = 6;
-
-    // `STOP_LOSS` indicates a mutation that eliminates a
-    // stop codon at the variant site.
-    STOP_LOSS = 7;
-
-    // `SPLICE_SITE_DISRUPTION` indicates that this variant is
-    // found in a splice site for the associated transcript, and alters the
-    // normal splicing pattern.
-    SPLICE_SITE_DISRUPTION = 8;
-  }
-
-  enum ClinicalSignificance {
-    CLINICAL_SIGNIFICANCE_UNSPECIFIED = 0;
-
-    // `OTHER` should be used when no other clinical significance
-    // value will suffice.
-    CLINICAL_SIGNIFICANCE_OTHER = 1;
-
-    UNCERTAIN = 2;
-
-    BENIGN = 3;
-
-    LIKELY_BENIGN = 4;
-
-    LIKELY_PATHOGENIC = 5;
-
-    PATHOGENIC = 6;
-
-    DRUG_RESPONSE = 7;
-
-    HISTOCOMPATIBILITY = 8;
-
-    CONFERS_SENSITIVITY = 9;
-
-    RISK_FACTOR = 10;
-
-    ASSOCIATION = 11;
-
-    PROTECTIVE = 12;
-
-    // `MULTIPLE_REPORTED` should be used when multiple clinical
-    // signficances are reported for a variant. The original clinical
-    // significance values may be provided in the `info` field.
-    MULTIPLE_REPORTED = 13;
-  }
-
-  // Type has been adapted from ClinVar's list of variant types.
-  Type type = 1;
-
-  // Effect of the variant on the coding sequence.
-  Effect effect = 2;
-
-  // The alternate allele for this variant. If multiple alternate alleles
-  // exist at this location, create a separate variant for each one, as they
-  // may represent distinct conditions.
-  string alternate_bases = 3;
-
-  // Google annotation ID of the gene affected by this variant. This should
-  // be provided when the variant is created.
-  string gene_id = 4;
-
-  // Google annotation IDs of the transcripts affected by this variant. These
-  // should be provided when the variant is created.
-  repeated string transcript_ids = 5;
-
-  // The set of conditions associated with this variant.
-  // A condition describes the way a variant influences human health.
-  repeated ClinicalCondition conditions = 6;
-
-  // Describes the clinical significance of a variant.
-  // It is adapted from the ClinVar controlled vocabulary for clinical
-  // significance described at:
-  // http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
-  ClinicalSignificance clinical_significance = 7;
-}
-
-// A transcript represents the assertion that a particular region of the
-// reference genome may be transcribed as RNA.
-message Transcript {
-  message Exon {
-    // The start position of the exon on this annotation's reference sequence,
-    // 0-based inclusive. Note that this is relative to the reference start, and
-    // **not** the containing annotation start.
-    int64 start = 1;
-
-    // The end position of the exon on this annotation's reference sequence,
-    // 0-based exclusive. Note that this is relative to the reference start, and
-    // *not* the containing annotation start.
-    int64 end = 2;
-
-    // The frame of this exon. Contains a value of 0, 1, or 2, which indicates
-    // the offset of the first coding base of the exon within the reading frame
-    // of the coding DNA sequence, if any. This field is dependent on the
-    // strandedness of this annotation (see
-    // [Annotation.reverse_strand][google.genomics.v1.Annotation.reverse_strand]).
-    // For forward stranded annotations, this offset is relative to the
-    // [exon.start][google.genomics.v1.Transcript.Exon.start]. For reverse
-    // strand annotations, this offset is relative to the
-    // [exon.end][google.genomics.v1.Transcript.Exon.end] `- 1`.
-    //
-    // Unset if this exon does not intersect the coding sequence. Upon creation
-    // of a transcript, the frame must be populated for all or none of the
-    // coding exons.
-    google.protobuf.Int32Value frame = 3;
-  }
-
-  message CodingSequence {
-    // The start of the coding sequence on this annotation's reference sequence,
-    // 0-based inclusive. Note that this position is relative to the reference
-    // start, and *not* the containing annotation start.
-    int64 start = 1;
-
-    // The end of the coding sequence on this annotation's reference sequence,
-    // 0-based exclusive. Note that this position is relative to the reference
-    // start, and *not* the containing annotation start.
-    int64 end = 2;
-  }
-
-  // The annotation ID of the gene from which this transcript is transcribed.
-  string gene_id = 1;
-
-  // The <a href="http://en.wikipedia.org/wiki/Exon">exons</a> that compose
-  // this transcript. This field should be unset for genomes where transcript
-  // splicing does not occur, for example prokaryotes.
-  //
-  // Introns are regions of the transcript that are not included in the
-  // spliced RNA product. Though not explicitly modeled here, intron ranges can
-  // be deduced; all regions of this transcript that are not exons are introns.
-  //
-  // Exonic sequences do not necessarily code for a translational product
-  // (amino acids). Only the regions of exons bounded by the
-  // [codingSequence][google.genomics.v1.Transcript.coding_sequence] correspond
-  // to coding DNA sequence.
-  //
-  // Exons are ordered by start position and may not overlap.
-  repeated Exon exons = 2;
-
-  // The range of the coding sequence for this transcript, if any. To determine
-  // the exact ranges of coding sequence, intersect this range with those of the
-  // [exons][google.genomics.v1.Transcript.exons], if any. If there are any
-  // [exons][google.genomics.v1.Transcript.exons], the
-  // [codingSequence][google.genomics.v1.Transcript.coding_sequence] must start
-  // and end within them.
-  //
-  // Note that in some cases, the reference genome will not exactly match the
-  // observed mRNA transcript e.g. due to variance in the source genome from
-  // reference. In these cases,
-  // [exon.frame][google.genomics.v1.Transcript.Exon.frame] will not necessarily
-  // match the expected reference reading frame and coding exon reference bases
-  // cannot necessarily be concatenated to produce the original transcript mRNA.
-  CodingSequence coding_sequence = 3;
-}
-
-message ExternalId {
-  // The name of the source of this data.
-  string source_name = 1;
-
-  // The id used by the source of this data.
-  string id = 2;
-}
-
-message CreateAnnotationSetRequest {
-  // The annotation set to create.
-  AnnotationSet annotation_set = 1;
-}
-
-message GetAnnotationSetRequest {
-  // The ID of the annotation set to be retrieved.
-  string annotation_set_id = 1;
-}
-
-message UpdateAnnotationSetRequest {
-  // The ID of the annotation set to be updated.
-  string annotation_set_id = 1;
-
-  // The new annotation set.
-  AnnotationSet annotation_set = 2;
-
-  // An optional mask specifying which fields to update. Mutable fields are
-  // [name][google.genomics.v1.AnnotationSet.name],
-  // [source_uri][google.genomics.v1.AnnotationSet.source_uri], and
-  // [info][google.genomics.v1.AnnotationSet.info]. If unspecified, all
-  // mutable fields will be updated.
-  google.protobuf.FieldMask update_mask = 3;
-}
-
-message DeleteAnnotationSetRequest {
-  // The ID of the annotation set to be deleted.
-  string annotation_set_id = 1;
-}
-
-message SearchAnnotationSetsRequest {
-  // Required. The dataset IDs to search within. Caller must have `READ` access
-  // to these datasets.
-  repeated string dataset_ids = 1;
-
-  // If specified, only annotation sets associated with the given reference set
-  // are returned.
-  string reference_set_id = 2;
-
-  // Only return annotations sets for which a substring of the name matches this
-  // string (case insensitive).
-  string name = 3;
-
-  // If specified, only annotation sets that have any of these types are
-  // returned.
-  repeated AnnotationType types = 4;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 5;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 128. The maximum value is 1024.
-  int32 page_size = 6;
-}
-
-message SearchAnnotationSetsResponse {
-  // The matching annotation sets.
-  repeated AnnotationSet annotation_sets = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-message CreateAnnotationRequest {
-  // The annotation to be created.
-  Annotation annotation = 1;
-}
-
-message BatchCreateAnnotationsRequest {
-  // The annotations to be created. At most 4096 can be specified in a single
-  // request.
-  repeated Annotation annotations = 1;
-
-  // A unique request ID which enables the server to detect duplicated requests.
-  // If provided, duplicated requests will result in the same response; if not
-  // provided, duplicated requests may result in duplicated data. For a given
-  // annotation set, callers should not reuse `request_id`s when writing
-  // different batches of annotations - behavior in this case is undefined.
-  // A common approach is to use a UUID. For batch jobs where worker crashes are
-  // a possibility, consider using some unique variant of a worker or run ID.
-  string request_id = 2;
-}
-
-message BatchCreateAnnotationsResponse {
-  message Entry {
-    // The creation status.
-    google.rpc.Status status = 1;
-
-    // The created annotation, if creation was successful.
-    Annotation annotation = 2;
-  }
-
-  // The resulting per-annotation entries, ordered consistently with the
-  // original request.
-  repeated Entry entries = 1;
-}
-
-message GetAnnotationRequest {
-  // The ID of the annotation to be retrieved.
-  string annotation_id = 1;
-}
-
-message UpdateAnnotationRequest {
-  // The ID of the annotation to be updated.
-  string annotation_id = 1;
-
-  // The new annotation.
-  Annotation annotation = 2;
-
-  // An optional mask specifying which fields to update. Mutable fields are
-  // [name][google.genomics.v1.Annotation.name],
-  // [variant][google.genomics.v1.Annotation.variant],
-  // [transcript][google.genomics.v1.Annotation.transcript], and
-  // [info][google.genomics.v1.Annotation.info]. If unspecified, all mutable
-  // fields will be updated.
-  google.protobuf.FieldMask update_mask = 3;
-}
-
-message DeleteAnnotationRequest {
-  // The ID of the annotation to be deleted.
-  string annotation_id = 1;
-}
-
-message SearchAnnotationsRequest {
-  // Required. The annotation sets to search within. The caller must have
-  // `READ` access to these annotation sets.
-  // All queried annotation sets must have the same type.
-  repeated string annotation_set_ids = 1;
-
-  // Required. `reference_id` or `reference_name` must be set.
-  oneof reference {
-    // The ID of the reference to query.
-    string reference_id = 2;
-
-    // The name of the reference to query, within the reference set associated
-    // with this query.
-    string reference_name = 3;
-  }
-
-  // The start position of the range on the reference, 0-based inclusive. If
-  // specified,
-  // [referenceId][google.genomics.v1.SearchAnnotationsRequest.reference_id] or
-  // [referenceName][google.genomics.v1.SearchAnnotationsRequest.reference_name]
-  // must be specified. Defaults to 0.
-  int64 start = 4;
-
-  // The end position of the range on the reference, 0-based exclusive. If
-  // [referenceId][google.genomics.v1.SearchAnnotationsRequest.reference_id] or
-  // [referenceName][google.genomics.v1.SearchAnnotationsRequest.reference_name]
-  // must be specified, Defaults to the length of the reference.
-  int64 end = 5;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 6;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 256. The maximum value is 2048.
-  int32 page_size = 7;
-}
-
-message SearchAnnotationsResponse {
-  // The matching annotations.
-  repeated Annotation annotations = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-// When an [Annotation][google.genomics.v1.Annotation] or
-// [AnnotationSet][google.genomics.v1.AnnotationSet] is created, if `type` is
-// not specified it will be set to `GENERIC`.
-enum AnnotationType {
-  ANNOTATION_TYPE_UNSPECIFIED = 0;
-
-  // A `GENERIC` annotation type should be used when no other annotation
-  // type will suffice. This represents an untyped annotation of the reference
-  // genome.
-  GENERIC = 1;
-
-  // A `VARIANT` annotation type.
-  VARIANT = 2;
-
-  // A `GENE` annotation type represents the existence of a gene at the
-  // associated reference coordinates. The start coordinate is typically the
-  // gene's transcription start site and the end is typically the end of the
-  // gene's last exon.
-  GENE = 3;
-
-  // A `TRANSCRIPT` annotation type represents the assertion that a
-  // particular region of the reference genome may be transcribed as RNA.
-  TRANSCRIPT = 4;
-}
diff --git a/googleapis/genomics/v1/cigar.pb.go b/googleapis/genomics/v1/cigar.pb.go
index 3c4fe575abb22f61c6cd17a9a397309b33105a55..2824a05ad089f2a87eeecffdd3dfee9de49a5dbe 100644
--- a/googleapis/genomics/v1/cigar.pb.go
+++ b/googleapis/genomics/v1/cigar.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/cigar.proto
+// source: google/genomics/v1/cigar.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -113,39 +113,57 @@ func (m *CigarUnit) String() string            { return proto.CompactTextString(
 func (*CigarUnit) ProtoMessage()               {}
 func (*CigarUnit) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *CigarUnit) GetOperation() CigarUnit_Operation {
+	if m != nil {
+		return m.Operation
+	}
+	return CigarUnit_OPERATION_UNSPECIFIED
+}
+
+func (m *CigarUnit) GetOperationLength() int64 {
+	if m != nil {
+		return m.OperationLength
+	}
+	return 0
+}
+
+func (m *CigarUnit) GetReferenceSequence() string {
+	if m != nil {
+		return m.ReferenceSequence
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*CigarUnit)(nil), "google.genomics.v1.CigarUnit")
 	proto.RegisterEnum("google.genomics.v1.CigarUnit_Operation", CigarUnit_Operation_name, CigarUnit_Operation_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/cigar.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/genomics/v1/cigar.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 371 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x51, 0x4f, 0xaf, 0x93, 0x40,
-	0x10, 0x77, 0xcb, 0xb3, 0xef, 0x31, 0x89, 0xef, 0x6d, 0xd7, 0xd4, 0x54, 0x4f, 0x4d, 0x2f, 0xb6,
-	0x07, 0x21, 0xd5, 0xb3, 0x07, 0x0a, 0x5b, 0xbb, 0x91, 0x02, 0x02, 0x3d, 0x13, 0x24, 0xdb, 0x75,
-	0x93, 0x76, 0x17, 0x01, 0xfb, 0xb5, 0xfc, 0x46, 0x7e, 0x0e, 0x8f, 0x06, 0xda, 0xd2, 0x83, 0x1e,
-	0xbc, 0xcd, 0xfc, 0xfe, 0xcd, 0x64, 0x06, 0x3e, 0x0a, 0xad, 0xc5, 0x81, 0x5b, 0x42, 0x1f, 0x72,
-	0x25, 0x2c, 0x5d, 0x09, 0x5b, 0x70, 0x55, 0x56, 0xba, 0xd1, 0xf6, 0x99, 0xca, 0x4b, 0x59, 0xb7,
-	0x98, 0x3e, 0xca, 0xa2, 0xb6, 0x4f, 0x4b, 0xbb, 0x90, 0x22, 0xaf, 0xac, 0x4e, 0x42, 0xc8, 0xd5,
-	0x7e, 0xe1, 0xad, 0xd3, 0xf2, 0x0d, 0xfb, 0xbf, 0xc8, 0xbc, 0x94, 0x76, 0xcd, 0xab, 0x93, 0x2c,
-	0x78, 0xa1, 0xd5, 0x5e, 0x0a, 0x3b, 0x57, 0x4a, 0x37, 0x79, 0x23, 0xb5, 0xaa, 0xcf, 0xf1, 0xb3,
-	0x5f, 0x03, 0x30, 0xdd, 0x76, 0xdc, 0x4e, 0xc9, 0x86, 0x50, 0x30, 0x75, 0xc9, 0xab, 0x4e, 0x31,
-	0x41, 0x53, 0x34, 0x7f, 0x7c, 0xff, 0xd6, 0xfa, 0x7b, 0x01, 0xab, 0x77, 0x58, 0xe1, 0x55, 0x1e,
-	0xdf, 0x9c, 0x64, 0x01, 0xb8, 0x6f, 0xb2, 0x03, 0x57, 0xa2, 0xf9, 0x36, 0x19, 0x4c, 0xd1, 0xdc,
-	0x88, 0x9f, 0x7a, 0xdc, 0xef, 0x60, 0xf2, 0x0e, 0x48, 0xc5, 0xf7, 0xbc, 0xe2, 0xaa, 0xe0, 0x59,
-	0xcd, 0xbf, 0xff, 0x68, 0x8b, 0x89, 0x31, 0x45, 0x73, 0x33, 0x1e, 0xf5, 0x4c, 0x72, 0x21, 0x66,
-	0x3f, 0x11, 0x98, 0xfd, 0x48, 0xf2, 0x1a, 0xc6, 0x61, 0x44, 0x63, 0x27, 0x65, 0x61, 0x90, 0xed,
-	0x82, 0x24, 0xa2, 0x2e, 0x5b, 0x33, 0xea, 0xe1, 0x67, 0xe4, 0x25, 0x3c, 0x39, 0x3e, 0xfb, 0x14,
-	0x6c, 0x69, 0x90, 0x66, 0x5b, 0x27, 0x75, 0x37, 0x18, 0x11, 0x80, 0x21, 0x0b, 0x12, 0x1a, 0xa7,
-	0x78, 0xd0, 0xd6, 0x1e, 0xf5, 0x69, 0x4a, 0xb1, 0x41, 0x1e, 0xe0, 0x2e, 0xf9, 0xcc, 0x22, 0x7c,
-	0x47, 0x5e, 0x80, 0xe9, 0xfa, 0x2c, 0xca, 0x92, 0x70, 0x9d, 0xe2, 0xe7, 0x7d, 0xbb, 0x71, 0x62,
-	0x0f, 0x0f, 0xc9, 0x3d, 0x18, 0x91, 0xe3, 0xe1, 0x7b, 0x42, 0xe0, 0x31, 0xa1, 0x5f, 0x76, 0x34,
-	0x70, 0xe9, 0x25, 0xfc, 0x81, 0x8c, 0x61, 0x74, 0xc3, 0x58, 0x72, 0x86, 0xcd, 0xd5, 0x02, 0x5e,
-	0x15, 0xfa, 0xf8, 0x8f, 0x23, 0xae, 0xa0, 0xbb, 0x62, 0xd4, 0xbe, 0x21, 0x42, 0xbf, 0x11, 0xfa,
-	0x3a, 0xec, 0x5e, 0xf2, 0xe1, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfa, 0x86, 0x00, 0x39, 0x32,
-	0x02, 0x00, 0x00,
+	// 367 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x51, 0xcf, 0x0e, 0x93, 0x30,
+	0x1c, 0xb6, 0x63, 0x6e, 0xe3, 0x97, 0xb8, 0x75, 0x35, 0x33, 0xd3, 0x18, 0xb3, 0xec, 0xe2, 0x3c,
+	0x08, 0x99, 0xde, 0xf4, 0xc4, 0xa0, 0x73, 0x8d, 0x0c, 0x10, 0xd8, 0xc5, 0x0b, 0x41, 0x52, 0x91,
+	0x64, 0x6b, 0x11, 0x70, 0xaf, 0xe5, 0x1b, 0xf9, 0x1c, 0x1e, 0x0d, 0x30, 0x98, 0x89, 0xde, 0xbe,
+	0x7e, 0xff, 0x9a, 0xfc, 0x3e, 0x78, 0x91, 0x4a, 0x99, 0x9e, 0xb9, 0x9e, 0x72, 0x21, 0x2f, 0x59,
+	0x52, 0xea, 0xd7, 0xad, 0x9e, 0x64, 0x69, 0x5c, 0x68, 0x79, 0x21, 0x2b, 0x49, 0x48, 0xab, 0x6b,
+	0x9d, 0xae, 0x5d, 0xb7, 0xcf, 0x9e, 0xdf, 0x32, 0x71, 0x9e, 0xe9, 0xb1, 0x10, 0xb2, 0x8a, 0xab,
+	0x4c, 0x8a, 0xb2, 0x4d, 0xac, 0x7f, 0x0d, 0x40, 0x35, 0xeb, 0x86, 0x93, 0xc8, 0x2a, 0x42, 0x41,
+	0x95, 0x39, 0x2f, 0x1a, 0xc7, 0x12, 0xad, 0xd0, 0x66, 0xfa, 0xe6, 0xa5, 0xf6, 0x6f, 0xa7, 0xd6,
+	0x27, 0x34, 0xb7, 0xb3, 0xfb, 0xf7, 0x24, 0x79, 0x05, 0xb8, 0x7f, 0x44, 0x67, 0x2e, 0xd2, 0xea,
+	0xdb, 0x72, 0xb0, 0x42, 0x1b, 0xc5, 0x9f, 0xf5, 0xbc, 0xdd, 0xd0, 0xe4, 0x35, 0x90, 0x82, 0x7f,
+	0xe5, 0x05, 0x17, 0x09, 0x8f, 0x4a, 0xfe, 0xfd, 0x47, 0x0d, 0x96, 0xca, 0x0a, 0x6d, 0x54, 0x7f,
+	0xde, 0x2b, 0xc1, 0x4d, 0x58, 0xff, 0x44, 0xa0, 0xf6, 0x5f, 0x92, 0xa7, 0xb0, 0x70, 0x3d, 0xea,
+	0x1b, 0x21, 0x73, 0x9d, 0xe8, 0xe4, 0x04, 0x1e, 0x35, 0xd9, 0x9e, 0x51, 0x0b, 0x3f, 0x20, 0x8f,
+	0x61, 0x66, 0xd8, 0xec, 0x83, 0x73, 0xa4, 0x4e, 0x18, 0x1d, 0x8d, 0xd0, 0x3c, 0x60, 0x44, 0x00,
+	0x46, 0xcc, 0x09, 0xa8, 0x1f, 0xe2, 0x41, 0x8d, 0x2d, 0x6a, 0xd3, 0x90, 0x62, 0x85, 0x4c, 0x60,
+	0x18, 0x7c, 0x64, 0x1e, 0x1e, 0x92, 0x47, 0xa0, 0x9a, 0x36, 0xf3, 0xa2, 0xc0, 0xdd, 0x87, 0xf8,
+	0x61, 0xff, 0x3c, 0x18, 0xbe, 0x85, 0x47, 0x64, 0x0c, 0x8a, 0x67, 0x58, 0x78, 0x4c, 0x08, 0x4c,
+	0x03, 0xfa, 0xe9, 0x44, 0x1d, 0x93, 0xde, 0xca, 0x27, 0x64, 0x01, 0xf3, 0x3b, 0xc7, 0x82, 0x96,
+	0x56, 0x77, 0x1c, 0x9e, 0x24, 0xf2, 0xf2, 0x9f, 0x23, 0xee, 0xa0, 0xb9, 0xa2, 0x57, 0xcf, 0xe0,
+	0xa1, 0xcf, 0xef, 0x3a, 0x87, 0x3c, 0xc7, 0x22, 0xd5, 0x64, 0x91, 0xd6, 0x2b, 0x37, 0x23, 0xe9,
+	0xad, 0x14, 0xe7, 0x59, 0xf9, 0xf7, 0xf2, 0xef, 0x3b, 0xfc, 0x1b, 0xa1, 0x2f, 0xa3, 0xc6, 0xf9,
+	0xf6, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x98, 0xcc, 0xce, 0xde, 0x22, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/cigar.proto b/googleapis/genomics/v1/cigar.proto
deleted file mode 100644
index 33f1b5a1e04b5b3da62f148e10309d66697abfce..0000000000000000000000000000000000000000
--- a/googleapis/genomics/v1/cigar.proto
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "CigarProto";
-option java_package = "com.google.genomics.v1";
-
-
-// A single CIGAR operation.
-message CigarUnit {
-  // Describes the different types of CIGAR alignment operations that exist.
-  // Used wherever CIGAR alignments are used.
-  enum Operation {
-    OPERATION_UNSPECIFIED = 0;
-
-    // An alignment match indicates that a sequence can be aligned to the
-    // reference without evidence of an INDEL. Unlike the
-    // `SEQUENCE_MATCH` and `SEQUENCE_MISMATCH` operators,
-    // the `ALIGNMENT_MATCH` operator does not indicate whether the
-    // reference and read sequences are an exact match. This operator is
-    // equivalent to SAM's `M`.
-    ALIGNMENT_MATCH = 1;
-
-    // The insert operator indicates that the read contains evidence of bases
-    // being inserted into the reference. This operator is equivalent to SAM's
-    // `I`.
-    INSERT = 2;
-
-    // The delete operator indicates that the read contains evidence of bases
-    // being deleted from the reference. This operator is equivalent to SAM's
-    // `D`.
-    DELETE = 3;
-
-    // The skip operator indicates that this read skips a long segment of the
-    // reference, but the bases have not been deleted. This operator is commonly
-    // used when working with RNA-seq data, where reads may skip long segments
-    // of the reference between exons. This operator is equivalent to SAM's
-    // `N`.
-    SKIP = 4;
-
-    // The soft clip operator indicates that bases at the start/end of a read
-    // have not been considered during alignment. This may occur if the majority
-    // of a read maps, except for low quality bases at the start/end of a read.
-    // This operator is equivalent to SAM's `S`. Bases that are soft
-    // clipped will still be stored in the read.
-    CLIP_SOFT = 5;
-
-    // The hard clip operator indicates that bases at the start/end of a read
-    // have been omitted from this alignment. This may occur if this linear
-    // alignment is part of a chimeric alignment, or if the read has been
-    // trimmed (for example, during error correction or to trim poly-A tails for
-    // RNA-seq). This operator is equivalent to SAM's `H`.
-    CLIP_HARD = 6;
-
-    // The pad operator indicates that there is padding in an alignment. This
-    // operator is equivalent to SAM's `P`.
-    PAD = 7;
-
-    // This operator indicates that this portion of the aligned sequence exactly
-    // matches the reference. This operator is equivalent to SAM's `=`.
-    SEQUENCE_MATCH = 8;
-
-    // This operator indicates that this portion of the aligned sequence is an
-    // alignment match to the reference, but a sequence mismatch. This can
-    // indicate a SNP or a read error. This operator is equivalent to SAM's
-    // `X`.
-    SEQUENCE_MISMATCH = 9;
-  }
-
-  Operation operation = 1;
-
-  // The number of genomic bases that the operation runs for. Required.
-  int64 operation_length = 2;
-
-  // `referenceSequence` is only used at mismatches
-  // (`SEQUENCE_MISMATCH`) and deletions (`DELETE`).
-  // Filling this field replaces SAM's MD tag. If the relevant information is
-  // not available, this field is unset.
-  string reference_sequence = 3;
-}
diff --git a/googleapis/genomics/v1/datasets.pb.go b/googleapis/genomics/v1/datasets.pb.go
index 49bc147aff108afb7ccc6c5397d29a46e2be026e..5de0e9399e3140093823a7fe021e53269cea0517 100644
--- a/googleapis/genomics/v1/datasets.pb.go
+++ b/googleapis/genomics/v1/datasets.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/datasets.proto
+// source: google/genomics/v1/datasets.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_iam_v11 "google.golang.org/genproto/googleapis/iam/v1"
 import google_iam_v1 "google.golang.org/genproto/googleapis/iam/v1"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
-import google_protobuf2 "google.golang.org/genproto/protobuf"
+import google_protobuf2 "google.golang.org/genproto/protobuf/field_mask"
 import google_protobuf6 "github.com/golang/protobuf/ptypes/timestamp"
 
 import (
@@ -44,6 +44,27 @@ func (m *Dataset) String() string            { return proto.CompactTextString(m)
 func (*Dataset) ProtoMessage()               {}
 func (*Dataset) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
+func (m *Dataset) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Dataset) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *Dataset) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Dataset) GetCreateTime() *google_protobuf6.Timestamp {
 	if m != nil {
 		return m.CreateTime
@@ -69,6 +90,27 @@ func (m *ListDatasetsRequest) String() string            { return proto.CompactT
 func (*ListDatasetsRequest) ProtoMessage()               {}
 func (*ListDatasetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
 
+func (m *ListDatasetsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListDatasetsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListDatasetsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // The dataset list response.
 type ListDatasetsResponse struct {
 	// The list of matching Datasets.
@@ -91,6 +133,13 @@ func (m *ListDatasetsResponse) GetDatasets() []*Dataset {
 	return nil
 }
 
+func (m *ListDatasetsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 type CreateDatasetRequest struct {
 	// The dataset to be created. Must contain projectId and name.
 	Dataset *Dataset `protobuf:"bytes,1,opt,name=dataset" json:"dataset,omitempty"`
@@ -125,6 +174,13 @@ func (m *UpdateDatasetRequest) String() string            { return proto.Compact
 func (*UpdateDatasetRequest) ProtoMessage()               {}
 func (*UpdateDatasetRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
 
+func (m *UpdateDatasetRequest) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
 func (m *UpdateDatasetRequest) GetDataset() *Dataset {
 	if m != nil {
 		return m.Dataset
@@ -149,6 +205,13 @@ func (m *DeleteDatasetRequest) String() string            { return proto.Compact
 func (*DeleteDatasetRequest) ProtoMessage()               {}
 func (*DeleteDatasetRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
 
+func (m *DeleteDatasetRequest) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
 type UndeleteDatasetRequest struct {
 	// The ID of the dataset to be undeleted.
 	DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId" json:"dataset_id,omitempty"`
@@ -159,6 +222,13 @@ func (m *UndeleteDatasetRequest) String() string            { return proto.Compa
 func (*UndeleteDatasetRequest) ProtoMessage()               {}
 func (*UndeleteDatasetRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
 
+func (m *UndeleteDatasetRequest) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
 type GetDatasetRequest struct {
 	// The ID of the dataset.
 	DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId" json:"dataset_id,omitempty"`
@@ -169,6 +239,13 @@ func (m *GetDatasetRequest) String() string            { return proto.CompactTex
 func (*GetDatasetRequest) ProtoMessage()               {}
 func (*GetDatasetRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
 
+func (m *GetDatasetRequest) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Dataset)(nil), "google.genomics.v1.Dataset")
 	proto.RegisterType((*ListDatasetsRequest)(nil), "google.genomics.v1.ListDatasetsRequest")
@@ -641,64 +718,61 @@ var _DatasetServiceV1_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1/datasets.proto",
+	Metadata: "google/genomics/v1/datasets.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/datasets.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/genomics/v1/datasets.proto", fileDescriptor2) }
 
 var fileDescriptor2 = []byte{
-	// 813 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x96, 0x41, 0x4f, 0xe3, 0x46,
-	0x14, 0xc7, 0xe5, 0x40, 0x0b, 0x79, 0x10, 0x68, 0xa7, 0x29, 0x4d, 0x83, 0x90, 0xa8, 0xd5, 0x42,
-	0x9a, 0x52, 0x5b, 0x09, 0x45, 0xa8, 0x41, 0x48, 0x15, 0xa5, 0x45, 0x91, 0x8a, 0x14, 0x05, 0xe8,
-	0x35, 0x1a, 0xec, 0xc1, 0x9d, 0x12, 0x7b, 0x5c, 0xcf, 0x04, 0x0a, 0x94, 0x0b, 0x37, 0xce, 0xfd,
-	0x00, 0x95, 0x7a, 0xdb, 0xcf, 0xb3, 0x5f, 0x61, 0x3f, 0xc4, 0x1e, 0x57, 0x33, 0x1e, 0x27, 0x4e,
-	0x62, 0x42, 0x58, 0xed, 0x05, 0x59, 0x6f, 0xde, 0x7b, 0xbf, 0xff, 0x9b, 0xf7, 0xb7, 0x09, 0xfc,
-	0xe4, 0x31, 0xe6, 0x75, 0x89, 0xe5, 0xb1, 0x2e, 0x0e, 0x3c, 0x8b, 0x45, 0x9e, 0xed, 0x91, 0x20,
-	0x8c, 0x98, 0x60, 0x76, 0x7c, 0x84, 0x43, 0xca, 0x65, 0x8c, 0xf9, 0xd4, 0xe1, 0xf6, 0x55, 0xcd,
-	0x76, 0xb1, 0xc0, 0x9c, 0x08, 0x6e, 0xa9, 0x2c, 0x84, 0x92, 0x0e, 0x3a, 0xc5, 0xba, 0xaa, 0x95,
-	0x9b, 0xd3, 0x75, 0xc5, 0x21, 0xb5, 0x39, 0x89, 0xae, 0xa8, 0x43, 0x1c, 0x16, 0x5c, 0x50, 0xcf,
-	0xc6, 0x41, 0xc0, 0x04, 0x16, 0x94, 0x05, 0xba, 0x7d, 0x79, 0x7f, 0xba, 0x56, 0x14, 0xfb, 0x52,
-	0x1b, 0xc5, 0x7e, 0x27, 0x64, 0x5d, 0xea, 0xdc, 0xe8, 0xf2, 0x1f, 0x5f, 0x54, 0x3e, 0x54, 0xba,
-	0xed, 0x51, 0xf1, 0x47, 0xef, 0xdc, 0x72, 0x98, 0x6f, 0xc7, 0xe5, 0xb6, 0x3a, 0x38, 0xef, 0x5d,
-	0xd8, 0xa1, 0xb8, 0x09, 0x09, 0xb7, 0x89, 0x1f, 0x8a, 0x9b, 0xf8, 0xaf, 0x2e, 0xfa, 0x61, 0x02,
-	0xaf, 0x5f, 0x7d, 0x41, 0x49, 0xd7, 0xed, 0xf8, 0x98, 0x5f, 0xea, 0xaa, 0xbd, 0xe7, 0x51, 0x82,
-	0xfa, 0x84, 0x0b, 0xec, 0x87, 0x83, 0xa7, 0xb8, 0xd8, 0x7c, 0x34, 0x60, 0xee, 0x30, 0xde, 0x09,
-	0x5a, 0x82, 0x1c, 0x75, 0x4b, 0xc6, 0xba, 0x51, 0xc9, 0xb7, 0x73, 0xd4, 0x45, 0x6b, 0x00, 0x61,
-	0xc4, 0xfe, 0x24, 0x8e, 0xe8, 0x50, 0xb7, 0x94, 0x53, 0xf1, 0xbc, 0x8e, 0x34, 0x5d, 0x84, 0x60,
-	0x36, 0xc0, 0x3e, 0x29, 0xcd, 0xa8, 0x03, 0xf5, 0x8c, 0xf6, 0x60, 0xc1, 0x89, 0x08, 0x16, 0xa4,
-	0x23, 0x41, 0xa5, 0xd9, 0x75, 0xa3, 0xb2, 0x50, 0x2f, 0x5b, 0x7a, 0xae, 0x44, 0x96, 0x75, 0x9a,
-	0xa8, 0x68, 0x43, 0x9c, 0x2e, 0x03, 0x66, 0x08, 0x9f, 0xfd, 0x46, 0xb9, 0xd0, 0x72, 0x78, 0x9b,
-	0xfc, 0xd5, 0x23, 0x5c, 0x8c, 0xc8, 0x30, 0x46, 0x65, 0xac, 0x42, 0x3e, 0xc4, 0x1e, 0xe9, 0x70,
-	0x7a, 0x4b, 0x94, 0xc8, 0x8f, 0xda, 0xf3, 0x32, 0x70, 0x42, 0x6f, 0x89, 0xaa, 0x95, 0x87, 0x82,
-	0x5d, 0x92, 0x40, 0x2b, 0x55, 0xe9, 0xa7, 0x32, 0x60, 0x5e, 0x43, 0x71, 0x98, 0xc8, 0x43, 0x16,
-	0x70, 0x82, 0x76, 0x61, 0x3e, 0x31, 0x6a, 0xc9, 0x58, 0x9f, 0xa9, 0x2c, 0xd4, 0x57, 0xad, 0x71,
-	0xa7, 0x5a, 0xba, 0xae, 0xdd, 0x4f, 0x46, 0x1b, 0xb0, 0x1c, 0x90, 0xbf, 0x45, 0x27, 0x05, 0x8d,
-	0xef, 0xad, 0x20, 0xc3, 0xad, 0x3e, 0xf8, 0x18, 0x8a, 0x3f, 0xab, 0xc1, 0x93, 0x16, 0x7a, 0xd6,
-	0x1d, 0x98, 0xd3, 0xbd, 0xd4, 0xa0, 0xcf, 0x70, 0x93, 0x5c, 0xf3, 0x95, 0x01, 0xc5, 0xb3, 0xd0,
-	0x1d, 0xef, 0xb7, 0x06, 0xa0, 0x73, 0x52, 0x77, 0xa7, 0x23, 0x4d, 0x37, 0x8d, 0xcb, 0x4d, 0x8f,
-	0x93, 0x5b, 0xee, 0x29, 0x9a, 0xb2, 0xa1, 0xba, 0xd6, 0xac, 0x2d, 0xff, 0x2a, 0x9d, 0x7a, 0x8c,
-	0xf9, 0x65, 0x1b, 0xe2, 0x74, 0xf9, 0x6c, 0xee, 0x40, 0xf1, 0x90, 0x74, 0xc9, 0x0b, 0xa5, 0x9a,
-	0xbb, 0xb0, 0x72, 0x16, 0xb8, 0xef, 0x51, 0x58, 0x87, 0x4f, 0x8f, 0x88, 0x78, 0x51, 0x4d, 0xfd,
-	0xbf, 0x3c, 0x7c, 0xa2, 0x2b, 0x4e, 0xe2, 0x4f, 0xcc, 0xef, 0x35, 0x74, 0x0d, 0x8b, 0x69, 0xb3,
-	0xa0, 0xcd, 0xac, 0xbb, 0xca, 0x30, 0x70, 0xb9, 0xf2, 0x7c, 0x62, 0xec, 0x3b, 0xb3, 0xf8, 0xf0,
-	0xfa, 0xcd, 0xbf, 0xb9, 0x25, 0xb4, 0x98, 0xfe, 0x54, 0xa2, 0x1e, 0x14, 0x86, 0xcc, 0x82, 0x32,
-	0x1b, 0x66, 0xf9, 0xa9, 0x3c, 0x69, 0x9f, 0xe6, 0x9a, 0xa2, 0x7d, 0x61, 0x0e, 0xd1, 0x1a, 0xfd,
-	0x2d, 0x73, 0x80, 0xc1, 0xc5, 0xa1, 0x6f, 0xb2, 0x3a, 0x8d, 0x5d, 0xec, 0x64, 0xe0, 0x57, 0x0a,
-	0xb8, 0x8a, 0xbe, 0x4c, 0x03, 0xed, 0xbb, 0xc1, 0x26, 0xee, 0xd1, 0x83, 0x01, 0x85, 0x21, 0x27,
-	0x67, 0x0f, 0x9b, 0x65, 0xf6, 0xc9, 0xec, 0xaa, 0x62, 0x7f, 0x5d, 0x7f, 0x9a, 0x3d, 0x98, 0x5c,
-	0x40, 0x61, 0xc8, 0xa2, 0xd9, 0x1a, 0xb2, 0x5c, 0x5c, 0x5e, 0x19, 0x7b, 0x0b, 0x7e, 0x91, 0x1f,
-	0xf8, 0x64, 0xf4, 0xea, 0x84, 0xd1, 0x1f, 0x0d, 0x58, 0x1e, 0xb1, 0x38, 0xaa, 0x66, 0x0e, 0x9f,
-	0xf9, 0x1e, 0x4c, 0x1e, 0xff, 0x7b, 0xc5, 0xdf, 0x34, 0xcd, 0xa7, 0xc7, 0xef, 0xe9, 0xb6, 0x0d,
-	0xa3, 0x8a, 0xfe, 0x81, 0xc5, 0x13, 0x22, 0x9a, 0xd8, 0x6f, 0xa9, 0x7f, 0x6a, 0xc8, 0x4c, 0x7a,
-	0x53, 0xec, 0xcb, 0xb6, 0xe9, 0xc3, 0x84, 0xff, 0xf9, 0x48, 0x4e, 0x7c, 0x6a, 0xd6, 0x14, 0xf9,
-	0x3b, 0x73, 0x43, 0x92, 0xef, 0x22, 0xc2, 0x59, 0x2f, 0x72, 0xc8, 0x7e, 0x5f, 0x43, 0xf5, 0xbe,
-	0xc1, 0x53, 0xdd, 0x34, 0xfd, 0x68, 0x12, 0xfd, 0xe8, 0x83, 0xd2, 0xbd, 0x11, 0xfa, 0xff, 0x06,
-	0xa0, 0x53, 0xc2, 0x55, 0x90, 0x44, 0x3e, 0xe5, 0x5c, 0xfe, 0xa2, 0x18, 0x78, 0x40, 0x03, 0xc6,
-	0x53, 0x12, 0x29, 0xdf, 0x4e, 0x91, 0xa9, 0x5f, 0xf8, 0x5d, 0x25, 0xaf, 0x66, 0x6e, 0x3d, 0x2d,
-	0x4f, 0x8c, 0x55, 0x37, 0x8c, 0xea, 0xc1, 0x16, 0xac, 0x38, 0xcc, 0xcf, 0xd8, 0xf8, 0x41, 0x21,
-	0xf9, 0xaa, 0xb4, 0xa4, 0x03, 0x5b, 0xc6, 0x5b, 0xc3, 0x38, 0xff, 0x58, 0xb9, 0x71, 0xfb, 0x5d,
-	0x00, 0x00, 0x00, 0xff, 0xff, 0xba, 0x65, 0x28, 0x36, 0xb1, 0x09, 0x00, 0x00,
+	// 786 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xd1, 0x4e, 0x13, 0x4d,
+	0x14, 0xce, 0x16, 0xfe, 0x1f, 0x7a, 0xa0, 0xa0, 0x63, 0xc5, 0xda, 0x8a, 0x96, 0x8d, 0x42, 0xad,
+	0xba, 0x4d, 0x6b, 0x08, 0x49, 0x89, 0x37, 0x88, 0x12, 0x12, 0x49, 0x9a, 0x02, 0x5e, 0x78, 0xd3,
+	0x0c, 0xdd, 0xa1, 0x8e, 0x74, 0x77, 0xd6, 0x9d, 0x29, 0x28, 0xc8, 0x0d, 0x77, 0x5c, 0xfb, 0x00,
+	0x26, 0xde, 0xf9, 0x3c, 0xbe, 0x82, 0x0f, 0xe1, 0xa5, 0x99, 0xd9, 0xd9, 0x76, 0xdb, 0x2e, 0x05,
+	0x8c, 0x77, 0xdb, 0x73, 0xbe, 0x73, 0xbe, 0xef, 0xcc, 0xf9, 0x76, 0xba, 0xb0, 0xd0, 0x62, 0xac,
+	0xd5, 0x26, 0xa5, 0x16, 0x71, 0x99, 0x43, 0x9b, 0xbc, 0x74, 0x58, 0x2e, 0xd9, 0x58, 0x60, 0x4e,
+	0x04, 0xb7, 0x3c, 0x9f, 0x09, 0x86, 0x50, 0x00, 0xb1, 0x42, 0x88, 0x75, 0x58, 0xce, 0xde, 0xd3,
+	0x65, 0xd8, 0xa3, 0x25, 0xec, 0xba, 0x4c, 0x60, 0x41, 0x99, 0xab, 0x2b, 0xb2, 0xf7, 0x75, 0x96,
+	0x62, 0x47, 0xf6, 0xa3, 0xd8, 0x69, 0x78, 0xac, 0x4d, 0x9b, 0x9f, 0x75, 0x3e, 0xdb, 0x9f, 0xef,
+	0xcb, 0xe5, 0x74, 0x4e, 0xfd, 0xda, 0xeb, 0xec, 0x97, 0x88, 0xe3, 0x89, 0x30, 0x99, 0x1f, 0x4c,
+	0xee, 0x53, 0xd2, 0xb6, 0x1b, 0x0e, 0xe6, 0x07, 0x1a, 0xf1, 0x60, 0x10, 0x21, 0xa8, 0x43, 0xb8,
+	0xc0, 0x8e, 0x17, 0x00, 0xcc, 0x73, 0x03, 0x26, 0xd6, 0x83, 0x01, 0xd1, 0x0c, 0x24, 0xa8, 0x9d,
+	0x31, 0xf2, 0x46, 0x21, 0x59, 0x4f, 0x50, 0x1b, 0xcd, 0x03, 0x78, 0x3e, 0xfb, 0x40, 0x9a, 0xa2,
+	0x41, 0xed, 0x4c, 0x42, 0xc5, 0x93, 0x3a, 0xb2, 0x69, 0x23, 0x04, 0xe3, 0x2e, 0x76, 0x48, 0x66,
+	0x4c, 0x25, 0xd4, 0x33, 0x5a, 0x85, 0xa9, 0xa6, 0x4f, 0xb0, 0x20, 0x0d, 0x49, 0x94, 0x19, 0xcf,
+	0x1b, 0x85, 0xa9, 0x4a, 0xd6, 0xd2, 0x47, 0x16, 0xaa, 0xb0, 0x76, 0x42, 0x15, 0x75, 0x08, 0xe0,
+	0x32, 0x60, 0x7a, 0x70, 0xeb, 0x0d, 0xe5, 0x42, 0xcb, 0xe1, 0x75, 0xf2, 0xb1, 0x43, 0xb8, 0x18,
+	0x90, 0x61, 0x0c, 0xca, 0xc8, 0x41, 0xd2, 0xc3, 0x2d, 0xd2, 0xe0, 0xf4, 0x98, 0x28, 0x91, 0xff,
+	0xd5, 0x27, 0x65, 0x60, 0x9b, 0x1e, 0x13, 0x55, 0x2b, 0x93, 0x82, 0x1d, 0x10, 0x57, 0x2b, 0x55,
+	0xf0, 0x1d, 0x19, 0x30, 0x8f, 0x20, 0xdd, 0xcf, 0xc8, 0x3d, 0xe6, 0x72, 0x82, 0x56, 0x60, 0x32,
+	0xdc, 0x7a, 0xc6, 0xc8, 0x8f, 0x15, 0xa6, 0x2a, 0x39, 0x6b, 0x78, 0xed, 0x96, 0xae, 0xab, 0x77,
+	0xc1, 0x68, 0x11, 0x66, 0x5d, 0xf2, 0x49, 0x34, 0x22, 0xa4, 0xc1, 0xb9, 0xa5, 0x64, 0xb8, 0xd6,
+	0x25, 0xde, 0x82, 0xf4, 0x4b, 0x35, 0x78, 0xd8, 0x42, 0xcf, 0xba, 0x0c, 0x13, 0xba, 0x97, 0x1a,
+	0xf4, 0x12, 0xde, 0x10, 0x6b, 0xfe, 0x30, 0x20, 0xbd, 0xeb, 0xd9, 0xc3, 0xfd, 0xe6, 0x01, 0x34,
+	0x26, 0x72, 0x76, 0x3a, 0xb2, 0x69, 0x47, 0xe9, 0x12, 0x57, 0xa7, 0x93, 0x5b, 0xee, 0x28, 0x36,
+	0x65, 0x35, 0x75, 0xac, 0x71, 0x5b, 0x7e, 0x2d, 0xdd, 0xb8, 0x85, 0xf9, 0x41, 0x1d, 0x02, 0xb8,
+	0x7c, 0x36, 0x97, 0x21, 0xbd, 0x4e, 0xda, 0xe4, 0x9a, 0x52, 0xcd, 0x15, 0x98, 0xdb, 0x75, 0xed,
+	0xbf, 0x28, 0xac, 0xc0, 0xcd, 0x0d, 0x22, 0xae, 0x55, 0x53, 0xf9, 0x96, 0x84, 0x1b, 0xba, 0x62,
+	0x9b, 0xf8, 0x87, 0xb4, 0x49, 0xde, 0x96, 0xd1, 0x11, 0x4c, 0x47, 0xcd, 0x82, 0x96, 0xe2, 0xce,
+	0x2a, 0xc6, 0xc0, 0xd9, 0xc2, 0xe5, 0xc0, 0xc0, 0x77, 0x66, 0xfa, 0xec, 0xe7, 0xaf, 0xaf, 0x89,
+	0x19, 0x34, 0x1d, 0xbd, 0x77, 0x50, 0x07, 0x52, 0x7d, 0x66, 0x41, 0xb1, 0x0d, 0xe3, 0xfc, 0x94,
+	0x1d, 0xb5, 0x4f, 0x73, 0x5e, 0xb1, 0xdd, 0x31, 0xfb, 0xd8, 0xaa, 0xdd, 0x2d, 0x73, 0x80, 0xde,
+	0xc1, 0xa1, 0x47, 0x71, 0x9d, 0x86, 0x0e, 0x76, 0x34, 0xe1, 0x82, 0x22, 0xcc, 0xa1, 0xbb, 0x51,
+	0xc2, 0xd2, 0x49, 0x6f, 0x13, 0xa7, 0xe8, 0xcc, 0x80, 0x54, 0x9f, 0x93, 0xe3, 0x87, 0x8d, 0x33,
+	0xfb, 0x68, 0xee, 0xa2, 0xe2, 0x7e, 0x58, 0xb9, 0x98, 0xbb, 0x37, 0xb9, 0x80, 0x54, 0x9f, 0x45,
+	0xe3, 0x35, 0xc4, 0xb9, 0x38, 0x3b, 0x37, 0xf4, 0x16, 0xbc, 0x92, 0x17, 0x76, 0x38, 0x7a, 0x71,
+	0xc4, 0xe8, 0xe7, 0x06, 0xcc, 0x0e, 0x58, 0x1c, 0x15, 0x63, 0x87, 0x8f, 0x7d, 0x0f, 0x46, 0x8f,
+	0xff, 0x4c, 0xf1, 0x2f, 0x99, 0xe6, 0xc5, 0xe3, 0x77, 0x74, 0xdb, 0xaa, 0x51, 0x44, 0x5f, 0x60,
+	0x7a, 0x9b, 0x88, 0x4d, 0xec, 0xd4, 0xd4, 0x9f, 0x11, 0x32, 0xc3, 0xde, 0x14, 0x3b, 0xb2, 0x6d,
+	0x34, 0x19, 0xf2, 0xdf, 0x1e, 0xc0, 0x04, 0x59, 0xb3, 0xac, 0x98, 0x9f, 0x98, 0x8b, 0x92, 0xf9,
+	0xc4, 0x27, 0x9c, 0x75, 0xfc, 0x26, 0x79, 0xd1, 0xd5, 0x50, 0x3c, 0xad, 0xf2, 0x48, 0x37, 0xcd,
+	0xbe, 0x31, 0x8a, 0x7d, 0xe3, 0x9f, 0xb2, 0xb7, 0x06, 0xd8, 0xbf, 0x1b, 0x80, 0x76, 0x08, 0x57,
+	0x41, 0xe2, 0x3b, 0x94, 0x73, 0xf9, 0x5f, 0xde, 0xf3, 0x80, 0x26, 0x18, 0x86, 0x84, 0x52, 0x1e,
+	0x5f, 0x01, 0xa9, 0x5f, 0xf8, 0x15, 0x25, 0xaf, 0x6c, 0x3e, 0xbd, 0x58, 0x9e, 0x18, 0xaa, 0xae,
+	0x1a, 0xc5, 0xb5, 0xf7, 0x30, 0xd7, 0x64, 0x4e, 0xcc, 0xc6, 0xd7, 0x52, 0xe1, 0xad, 0x52, 0x93,
+	0x0e, 0xac, 0x19, 0xef, 0xaa, 0x21, 0x88, 0xb5, 0xb1, 0xdb, 0xb2, 0x98, 0xdf, 0x92, 0x9f, 0x37,
+	0xca, 0x9f, 0xa5, 0x20, 0x85, 0x3d, 0xca, 0xa3, 0x9f, 0x3c, 0xab, 0xe1, 0xf3, 0x6f, 0xc3, 0xd8,
+	0xfb, 0x5f, 0x21, 0x9f, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x87, 0x48, 0x07, 0xbb, 0x1b, 0x09,
+	0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/datasets.proto b/googleapis/genomics/v1/datasets.proto
deleted file mode 100644
index 7f5e74853487795fe96730a869ae094759b90eb6..0000000000000000000000000000000000000000
--- a/googleapis/genomics/v1/datasets.proto
+++ /dev/null
@@ -1,211 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/iam/v1/iam_policy.proto"; // from google/iam/v1/iam_policy.proto
-import "google.golang.org/genproto/googleapis/iam/v1/policy.proto"; // from google/iam/v1/policy.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "DatasetsProto";
-option java_package = "com.google.genomics.v1";
-
-
-// This service manages datasets, which are collections of genomic data.
-service DatasetServiceV1 {
-  // Lists datasets within a project.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc ListDatasets(ListDatasetsRequest) returns (ListDatasetsResponse) {
-    option (google.api.http) = { get: "/v1/datasets" };
-  }
-
-  // Creates a new dataset.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc CreateDataset(CreateDatasetRequest) returns (Dataset) {
-    option (google.api.http) = { post: "/v1/datasets" body: "dataset" };
-  }
-
-  // Gets a dataset by ID.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc GetDataset(GetDatasetRequest) returns (Dataset) {
-    option (google.api.http) = { get: "/v1/datasets/{dataset_id}" };
-  }
-
-  // Updates a dataset.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // This method supports patch semantics.
-  rpc UpdateDataset(UpdateDatasetRequest) returns (Dataset) {
-    option (google.api.http) = { patch: "/v1/datasets/{dataset_id}" body: "dataset" };
-  }
-
-  // Deletes a dataset and all of its contents (all read group sets,
-  // reference sets, variant sets, call sets, annotation sets, etc.)
-  // This is reversible (up to one week after the deletion) via
-  // the
-  // [datasets.undelete][google.genomics.v1.DatasetServiceV1.UndeleteDataset]
-  // operation.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc DeleteDataset(DeleteDatasetRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/datasets/{dataset_id}" };
-  }
-
-  // Undeletes a dataset by restoring a dataset which was deleted via this API.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // This operation is only possible for a week after the deletion occurred.
-  rpc UndeleteDataset(UndeleteDatasetRequest) returns (Dataset) {
-    option (google.api.http) = { post: "/v1/datasets/{dataset_id}:undelete" body: "*" };
-  }
-
-  // Sets the access control policy on the specified dataset. Replaces any
-  // existing policy.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // See <a href="/iam/docs/managing-policies#setting_a_policy">Setting a
-  // Policy</a> for more information.
-  rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
-    option (google.api.http) = { post: "/v1/{resource=datasets/*}:setIamPolicy" body: "*" };
-  }
-
-  // Gets the access control policy for the dataset. This is empty if the
-  // policy or resource does not exist.
-  //
-  // See <a href="/iam/docs/managing-policies#getting_a_policy">Getting a
-  // Policy</a> for more information.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
-    option (google.api.http) = { post: "/v1/{resource=datasets/*}:getIamPolicy" body: "*" };
-  }
-
-  // Returns permissions that a caller has on the specified resource.
-  // See <a href="/iam/docs/managing-policies#testing_permissions">Testing
-  // Permissions</a> for more information.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
-    option (google.api.http) = { post: "/v1/{resource=datasets/*}:testIamPermissions" body: "*" };
-  }
-}
-
-// A Dataset is a collection of genomic data.
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-message Dataset {
-  // The server-generated dataset ID, unique across all datasets.
-  string id = 1;
-
-  // The Google Developers Console project ID that this dataset belongs to.
-  string project_id = 2;
-
-  // The dataset name.
-  string name = 3;
-
-  // The time this dataset was created, in seconds from the epoch.
-  google.protobuf.Timestamp create_time = 4;
-}
-
-// The dataset list request.
-message ListDatasetsRequest {
-  // Required. The project to list datasets for.
-  string project_id = 1;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 50. The maximum value is 1024.
-  int32 page_size = 2;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 3;
-}
-
-// The dataset list response.
-message ListDatasetsResponse {
-  // The list of matching Datasets.
-  repeated Dataset datasets = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-message CreateDatasetRequest {
-  // The dataset to be created. Must contain projectId and name.
-  Dataset dataset = 1;
-}
-
-message UpdateDatasetRequest {
-  // The ID of the dataset to be updated.
-  string dataset_id = 1;
-
-  // The new dataset data.
-  Dataset dataset = 2;
-
-  // An optional mask specifying which fields to update. At this time, the only
-  // mutable field is [name][google.genomics.v1.Dataset.name]. The only
-  // acceptable value is "name". If unspecified, all mutable fields will be
-  // updated.
-  google.protobuf.FieldMask update_mask = 3;
-}
-
-message DeleteDatasetRequest {
-  // The ID of the dataset to be deleted.
-  string dataset_id = 1;
-}
-
-message UndeleteDatasetRequest {
-  // The ID of the dataset to be undeleted.
-  string dataset_id = 1;
-}
-
-message GetDatasetRequest {
-  // The ID of the dataset.
-  string dataset_id = 1;
-}
diff --git a/googleapis/genomics/v1/operations.pb.go b/googleapis/genomics/v1/operations.pb.go
index da1ffd783c47a627a783b2cffa594bbc2b42f567..5ef0d265adc7605a2c969e88c99efbdb7ab92af0 100644
--- a/googleapis/genomics/v1/operations.pb.go
+++ b/googleapis/genomics/v1/operations.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/operations.proto
+// source: google/genomics/v1/operations.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf5 "github.com/golang/protobuf/ptypes/any"
 import google_protobuf6 "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -46,6 +46,13 @@ func (m *OperationMetadata) String() string            { return proto.CompactTex
 func (*OperationMetadata) ProtoMessage()               {}
 func (*OperationMetadata) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
 
+func (m *OperationMetadata) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *OperationMetadata) GetCreateTime() *google_protobuf6.Timestamp {
 	if m != nil {
 		return m.CreateTime
@@ -81,6 +88,13 @@ func (m *OperationMetadata) GetEvents() []*OperationEvent {
 	return nil
 }
 
+func (m *OperationMetadata) GetClientId() string {
+	if m != nil {
+		return m.ClientId
+	}
+	return ""
+}
+
 func (m *OperationMetadata) GetRuntimeMetadata() *google_protobuf5.Any {
 	if m != nil {
 		return m.RuntimeMetadata
@@ -118,41 +132,45 @@ func (m *OperationEvent) GetEndTime() *google_protobuf6.Timestamp {
 	return nil
 }
 
+func (m *OperationEvent) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*OperationMetadata)(nil), "google.genomics.v1.OperationMetadata")
 	proto.RegisterType((*OperationEvent)(nil), "google.genomics.v1.OperationEvent")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/operations.proto", fileDescriptor3)
-}
+func init() { proto.RegisterFile("google/genomics/v1/operations.proto", fileDescriptor3) }
 
 var fileDescriptor3 = []byte{
-	// 415 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x91, 0xc1, 0x8b, 0x13, 0x31,
-	0x14, 0xc6, 0xc9, 0x56, 0xdb, 0xce, 0x2b, 0xb8, 0x1a, 0x44, 0x86, 0x8a, 0x50, 0x7a, 0xea, 0x29,
-	0x61, 0x57, 0x3c, 0xe8, 0x1e, 0xc4, 0x82, 0x87, 0x1e, 0xc4, 0x65, 0xf0, 0x5e, 0xd2, 0xcc, 0xdb,
-	0x18, 0xe9, 0x24, 0x31, 0x49, 0x0b, 0xfd, 0x7f, 0xbc, 0xf9, 0x0f, 0x7a, 0x94, 0x64, 0x66, 0xd6,
-	0xd5, 0x15, 0x5b, 0x3c, 0x14, 0xca, 0xcb, 0xf7, 0xfb, 0xbe, 0x37, 0xdf, 0x83, 0xa5, 0xb2, 0x56,
-	0x6d, 0x91, 0x29, 0xbb, 0x15, 0x46, 0x31, 0xeb, 0x15, 0x57, 0x68, 0x9c, 0xb7, 0xd1, 0xf2, 0xf6,
-	0x49, 0x38, 0x1d, 0xd2, 0xcc, 0x36, 0x5a, 0x06, 0xbe, 0xbf, 0xe0, 0xd6, 0xa1, 0x17, 0x51, 0x5b,
-	0x13, 0x58, 0xd6, 0x51, 0xda, 0x7b, 0x74, 0x22, 0xb6, 0xbf, 0x98, 0xae, 0x4e, 0xf3, 0x15, 0x4e,
-	0xf3, 0x80, 0x7e, 0xaf, 0x25, 0x4a, 0x6b, 0x6e, 0xb4, 0xe2, 0xc2, 0x18, 0x1b, 0xef, 0xda, 0x4f,
-	0xb9, 0xd2, 0xf1, 0xf3, 0x6e, 0xc3, 0xa4, 0x6d, 0x78, 0x6b, 0xc7, 0xf3, 0xc3, 0x66, 0x77, 0xc3,
-	0x5d, 0x3c, 0x38, 0x0c, 0x5c, 0x98, 0x43, 0xfa, 0x75, 0xc0, 0xd5, 0x71, 0x20, 0xea, 0x06, 0x43,
-	0x14, 0x8d, 0xfb, 0xf5, 0xaf, 0x85, 0xe7, 0xdf, 0x07, 0xf0, 0xe4, 0x63, 0xff, 0x85, 0x1f, 0x30,
-	0x8a, 0x5a, 0x44, 0x41, 0x5f, 0x00, 0x38, 0x6f, 0xbf, 0xa0, 0x8c, 0x6b, 0x5d, 0x97, 0x64, 0x46,
-	0x16, 0x45, 0x55, 0x74, 0x93, 0x55, 0x4d, 0xaf, 0x60, 0x22, 0x3d, 0x8a, 0x88, 0xeb, 0x64, 0x57,
-	0x9e, 0xcd, 0xc8, 0x62, 0x72, 0x39, 0x65, 0x5d, 0x07, 0x7d, 0x38, 0xfb, 0xd4, 0x67, 0x55, 0xd0,
-	0xca, 0xd3, 0x80, 0xbe, 0x06, 0x08, 0x51, 0xf8, 0xd8, 0xb2, 0x83, 0xa3, 0x6c, 0x91, 0xd5, 0x19,
-	0x7d, 0x05, 0x63, 0x34, 0x75, 0x0b, 0x3e, 0x38, 0x0a, 0x8e, 0xd0, 0xd4, 0x19, 0x63, 0x30, 0xf2,
-	0xf8, 0x75, 0x87, 0x21, 0x96, 0x0f, 0x33, 0xf5, 0xf4, 0x1e, 0xf5, 0xce, 0x1c, 0xaa, 0x5e, 0x44,
-	0xdf, 0xc0, 0x10, 0xf7, 0x68, 0x62, 0x28, 0x87, 0xb3, 0xc1, 0x62, 0x72, 0x39, 0x67, 0xf7, 0x2f,
-	0xce, 0x6e, 0x4b, 0x7b, 0x9f, 0xa4, 0x55, 0x47, 0xd0, 0xe7, 0x50, 0xc8, 0xad, 0x46, 0x93, 0x8b,
-	0x1b, 0xe5, 0xe2, 0xc6, 0xed, 0x60, 0x55, 0xd3, 0xb7, 0xf0, 0xd8, 0xef, 0x4c, 0x5a, 0x7f, 0xdd,
-	0x74, 0x55, 0x97, 0xe3, 0x7f, 0x6c, 0x74, 0xde, 0xa9, 0xfb, 0xbb, 0xcc, 0xbf, 0x11, 0x78, 0xf4,
-	0x7b, 0xf0, 0x1f, 0x75, 0x92, 0xff, 0xad, 0xf3, 0xec, 0xf4, 0x3a, 0x67, 0x30, 0xa9, 0x31, 0x48,
-	0xaf, 0x5d, 0xda, 0x22, 0x5f, 0xb0, 0xa8, 0xee, 0x8e, 0x96, 0x0c, 0x9e, 0x49, 0xdb, 0xfc, 0xa5,
-	0xb5, 0xe5, 0xf9, 0xed, 0xf6, 0xe1, 0x3a, 0x45, 0x5c, 0x93, 0x1f, 0x84, 0x6c, 0x86, 0x39, 0xee,
-	0xe5, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x33, 0x68, 0x2e, 0x11, 0x9e, 0x03, 0x00, 0x00,
+	// 398 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0xc1, 0xab, 0xd3, 0x40,
+	0x10, 0xc6, 0xd9, 0x57, 0x6d, 0x9b, 0x09, 0xf8, 0x74, 0x11, 0x89, 0x55, 0x31, 0xd4, 0x4b, 0x4f,
+	0x1b, 0xde, 0x13, 0x0f, 0xbe, 0x1e, 0xc4, 0x82, 0x87, 0x1e, 0xc4, 0x12, 0x3c, 0x79, 0x29, 0xdb,
+	0x64, 0x0c, 0x5b, 0x9a, 0xdd, 0xb8, 0xbb, 0x2d, 0xf4, 0xff, 0xf1, 0xe6, 0x3f, 0xe8, 0x51, 0xb2,
+	0xd9, 0x2d, 0xb5, 0x15, 0x2b, 0xde, 0x92, 0x99, 0xef, 0xb7, 0xf3, 0xf1, 0x0d, 0x03, 0xaf, 0x2a,
+	0xa5, 0xaa, 0x0d, 0x66, 0x15, 0x4a, 0x55, 0x8b, 0xc2, 0x64, 0xbb, 0x9b, 0x4c, 0x35, 0xa8, 0xb9,
+	0x15, 0x4a, 0x1a, 0xd6, 0x68, 0x65, 0x15, 0xa5, 0x9d, 0x88, 0x05, 0x11, 0xdb, 0xdd, 0x8c, 0x9e,
+	0x7b, 0x90, 0x37, 0x22, 0xe3, 0x52, 0x2a, 0x7b, 0x4c, 0x8c, 0x9e, 0xfa, 0xae, 0xfb, 0x5b, 0x6d,
+	0xbf, 0x66, 0x5c, 0xee, 0x7d, 0xeb, 0xe5, 0x69, 0xcb, 0x8a, 0x1a, 0x8d, 0xe5, 0x75, 0xd3, 0x09,
+	0xc6, 0x3f, 0x7a, 0xf0, 0xe8, 0x53, 0xb0, 0xf0, 0x11, 0x2d, 0x2f, 0xb9, 0xe5, 0xf4, 0x05, 0x40,
+	0xa3, 0xd5, 0x1a, 0x0b, 0xbb, 0x14, 0x65, 0x42, 0x52, 0x32, 0x89, 0xf2, 0xc8, 0x57, 0xe6, 0x25,
+	0x9d, 0x42, 0x5c, 0x68, 0xe4, 0x16, 0x97, 0xed, 0x73, 0xc9, 0x55, 0x4a, 0x26, 0xf1, 0xed, 0x88,
+	0x79, 0xe3, 0x61, 0x16, 0xfb, 0x1c, 0x66, 0xe5, 0xd0, 0xc9, 0xdb, 0x02, 0x7d, 0x0b, 0x60, 0x2c,
+	0xd7, 0xb6, 0x63, 0x7b, 0x17, 0xd9, 0xc8, 0xa9, 0x1d, 0xfa, 0x06, 0x86, 0x28, 0xcb, 0x0e, 0xbc,
+	0x77, 0x11, 0x1c, 0xa0, 0x2c, 0x1d, 0xc6, 0x60, 0xa0, 0xf1, 0xdb, 0x16, 0x8d, 0x4d, 0xee, 0x3b,
+	0xea, 0xf1, 0x19, 0xf5, 0x5e, 0xee, 0xf3, 0x20, 0xa2, 0x77, 0xd0, 0xc7, 0x1d, 0x4a, 0x6b, 0x92,
+	0x7e, 0xda, 0x9b, 0xc4, 0xb7, 0x63, 0x76, 0xbe, 0x12, 0x76, 0x08, 0xed, 0x43, 0x2b, 0xcd, 0x3d,
+	0x41, 0x9f, 0x41, 0x54, 0x6c, 0x04, 0x4a, 0x17, 0xdc, 0xc0, 0x05, 0x37, 0xec, 0x0a, 0xf3, 0x92,
+	0xbe, 0x83, 0x87, 0x7a, 0x2b, 0x5b, 0xfb, 0xcb, 0xda, 0x47, 0x9d, 0x0c, 0xff, 0xe2, 0xe8, 0xda,
+	0xab, 0xc3, 0x5e, 0xc6, 0xdf, 0x09, 0x3c, 0xf8, 0x7d, 0xf0, 0x49, 0x9c, 0xe4, 0x7f, 0xe3, 0xbc,
+	0xfa, 0xf7, 0x38, 0x53, 0x88, 0x4b, 0x34, 0x85, 0x16, 0x4d, 0xeb, 0xc2, 0x6d, 0x30, 0xca, 0x8f,
+	0x4b, 0xb3, 0x35, 0x3c, 0x29, 0x54, 0xfd, 0x87, 0xd4, 0x66, 0xd7, 0x07, 0xf7, 0x66, 0xd1, 0x8e,
+	0x58, 0x90, 0x2f, 0x77, 0x41, 0xa6, 0x36, 0x5c, 0x56, 0x4c, 0xe9, 0xaa, 0xbd, 0x0f, 0x67, 0x20,
+	0xeb, 0x5a, 0xbc, 0x11, 0xe6, 0xf8, 0x66, 0xa6, 0xe1, 0xfb, 0x27, 0x21, 0xab, 0xbe, 0x53, 0xbe,
+	0xfe, 0x15, 0x00, 0x00, 0xff, 0xff, 0xaa, 0x39, 0xad, 0x2f, 0x5c, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/operations.proto b/googleapis/genomics/v1/operations.proto
deleted file mode 100644
index fc5128589845217ab82763236037628c4b7bbccf..0000000000000000000000000000000000000000
--- a/googleapis/genomics/v1/operations.proto
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "OperationsProto";
-option java_package = "com.google.genomics.v1";
-
-
-// Metadata describing an [Operation][google.longrunning.Operation].
-message OperationMetadata {
-  // The Google Cloud Project in which the job is scoped.
-  string project_id = 1;
-
-  // The time at which the job was submitted to the Genomics service.
-  google.protobuf.Timestamp create_time = 2;
-
-  // The time at which the job began to run.
-  google.protobuf.Timestamp start_time = 3;
-
-  // The time at which the job stopped running.
-  google.protobuf.Timestamp end_time = 4;
-
-  // The original request that started the operation. Note that this will be in
-  // current version of the API. If the operation was started with v1beta2 API
-  // and a GetOperation is performed on v1 API, a v1 request will be returned.
-  google.protobuf.Any request = 5;
-
-  // Optional event messages that were generated during the job's execution.
-  // This also contains any warnings that were generated during import
-  // or export.
-  repeated OperationEvent events = 6;
-
-  // Optionally provided by the caller when submitting the request that creates
-  // the operation.
-  string client_id = 7;
-
-  // Runtime metadata on this Operation.
-  google.protobuf.Any runtime_metadata = 8;
-}
-
-// An event that occurred during an [Operation][google.longrunning.Operation].
-message OperationEvent {
-  // Optional time of when event started.
-  google.protobuf.Timestamp start_time = 1;
-
-  // Optional time of when event finished. An event can have a start time and no
-  // finish time. If an event has a finish time, there must be a start time.
-  google.protobuf.Timestamp end_time = 2;
-
-  // Required description of event.
-  string description = 3;
-}
diff --git a/googleapis/genomics/v1/position.pb.go b/googleapis/genomics/v1/position.pb.go
index 13332c0b7f801e3adbba91accd6c32fc7de84b88..928185c64fcbcb495149ebff7c9042a2bd2a237b 100644
--- a/googleapis/genomics/v1/position.pb.go
+++ b/googleapis/genomics/v1/position.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/position.proto
+// source: google/genomics/v1/position.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -33,28 +33,47 @@ func (m *Position) String() string            { return proto.CompactTextString(m
 func (*Position) ProtoMessage()               {}
 func (*Position) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
 
-func init() {
-	proto.RegisterType((*Position)(nil), "google.genomics.v1.Position")
+func (m *Position) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *Position) GetPosition() int64 {
+	if m != nil {
+		return m.Position
+	}
+	return 0
+}
+
+func (m *Position) GetReverseStrand() bool {
+	if m != nil {
+		return m.ReverseStrand
+	}
+	return false
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/position.proto", fileDescriptor4)
+	proto.RegisterType((*Position)(nil), "google.genomics.v1.Position")
 }
 
+func init() { proto.RegisterFile("google/genomics/v1/position.proto", fileDescriptor4) }
+
 var fileDescriptor4 = []byte{
 	// 223 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x8f, 0xb1, 0x6a, 0xc3, 0x30,
-	0x10, 0x86, 0x51, 0x03, 0xc5, 0x15, 0xa4, 0x83, 0x87, 0x62, 0x32, 0x99, 0x42, 0xc1, 0x43, 0x91,
-	0x08, 0x7d, 0x81, 0x92, 0xad, 0x4b, 0x31, 0xe9, 0x03, 0x84, 0xab, 0x7a, 0x11, 0x82, 0xf8, 0x4e,
-	0x48, 0x42, 0xcf, 0xde, 0xb1, 0x48, 0x8e, 0xbd, 0x74, 0xc9, 0xa8, 0x4f, 0x3f, 0x9f, 0x3e, 0xc9,
-	0x77, 0xcb, 0x6c, 0x2f, 0xa8, 0x2c, 0x5f, 0x80, 0xac, 0xe2, 0x60, 0xb5, 0x45, 0xf2, 0x81, 0x13,
-	0xeb, 0xf9, 0x0a, 0xbc, 0x8b, 0x85, 0xf1, 0xe4, 0x4c, 0xd4, 0x79, 0xaf, 0x3d, 0x47, 0x97, 0x1c,
-	0x93, 0xaa, 0xab, 0xb6, 0x5d, 0x0c, 0xd7, 0x89, 0xca, 0xfb, 0xdd, 0xc7, 0x6d, 0x56, 0xf0, 0x4e,
-	0x47, 0x0c, 0xd9, 0x19, 0x34, 0x4c, 0x67, 0x67, 0x35, 0x10, 0x71, 0x82, 0x62, 0x8f, 0xb3, 0xfe,
-	0x39, 0xc9, 0x66, 0xbc, 0x3e, 0xd8, 0xbe, 0xc8, 0xc7, 0x80, 0x67, 0x0c, 0x48, 0x06, 0x4f, 0x04,
-	0x13, 0x76, 0xa2, 0x17, 0xc3, 0xc3, 0x71, 0xbb, 0xd2, 0x4f, 0x98, 0xb0, 0xdd, 0xc9, 0x66, 0x69,
-	0xec, 0xee, 0x7a, 0x31, 0x6c, 0x8e, 0xeb, 0x79, 0x56, 0x64, 0x0c, 0x11, 0x4f, 0x31, 0x05, 0xa0,
-	0x9f, 0x6e, 0xd3, 0x8b, 0xa1, 0x29, 0x8a, 0x4a, 0xbf, 0x2a, 0x3c, 0xbc, 0xca, 0x27, 0xc3, 0x93,
-	0xfa, 0xff, 0xb5, 0xc3, 0x76, 0xa9, 0x19, 0x4b, 0xde, 0x28, 0x7e, 0x85, 0xf8, 0xbe, 0xaf, 0xa9,
-	0x6f, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc7, 0x54, 0xea, 0x40, 0x4d, 0x01, 0x00, 0x00,
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x90, 0x41, 0x4b, 0x03, 0x31,
+	0x14, 0x84, 0x89, 0x05, 0x59, 0x03, 0xf5, 0xb0, 0x07, 0x59, 0x8a, 0x87, 0x55, 0x10, 0xf6, 0x94,
+	0x50, 0xbc, 0xe9, 0xad, 0x3f, 0x40, 0x96, 0x7a, 0xf3, 0x52, 0x9e, 0xeb, 0x33, 0x06, 0xba, 0xef,
+	0x85, 0x24, 0xec, 0x6f, 0xf7, 0x28, 0x49, 0x9a, 0x22, 0xf4, 0x96, 0x4c, 0x66, 0x26, 0x1f, 0x23,
+	0x1f, 0x0c, 0xb3, 0x39, 0xa2, 0x36, 0x48, 0x3c, 0xdb, 0x29, 0xe8, 0x65, 0xab, 0x1d, 0x07, 0x1b,
+	0x2d, 0x93, 0x72, 0x9e, 0x23, 0xb7, 0x6d, 0xb1, 0xa8, 0x6a, 0x51, 0xcb, 0x76, 0x73, 0x7f, 0x8a,
+	0x81, 0xb3, 0x1a, 0x88, 0x38, 0x42, 0x0a, 0x84, 0x92, 0x78, 0x8c, 0xb2, 0x19, 0x4f, 0x1d, 0xed,
+	0x93, 0xbc, 0xf5, 0xf8, 0x8d, 0x1e, 0x69, 0xc2, 0x03, 0xc1, 0x8c, 0x9d, 0xe8, 0xc5, 0x70, 0xb3,
+	0x5f, 0x9f, 0xd5, 0x37, 0x98, 0xb1, 0xdd, 0xc8, 0xa6, 0x7e, 0xdb, 0x5d, 0xf5, 0x62, 0x58, 0xed,
+	0xcf, 0xf7, 0x52, 0xb1, 0xa0, 0x0f, 0x78, 0x08, 0xd1, 0x03, 0x7d, 0x75, 0xab, 0x5e, 0x0c, 0x4d,
+	0xaa, 0xc8, 0xea, 0x7b, 0x16, 0x77, 0x3f, 0xf2, 0x6e, 0xe2, 0x59, 0x5d, 0xd2, 0xee, 0xd6, 0x95,
+	0x66, 0x4c, 0x78, 0xa3, 0xf8, 0x78, 0xa9, 0x26, 0x3e, 0x02, 0x19, 0xc5, 0xde, 0xa4, 0x01, 0x32,
+	0xbc, 0x2e, 0x4f, 0xe0, 0x6c, 0xf8, 0x3f, 0xca, 0x6b, 0x3d, 0xff, 0x0a, 0xf1, 0x79, 0x9d, 0x9d,
+	0xcf, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x5c, 0xc6, 0x22, 0xea, 0x3d, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/position.proto b/googleapis/genomics/v1/position.proto
deleted file mode 100644
index 1172a1e200bdbc150c124a667fde692b72971ce1..0000000000000000000000000000000000000000
--- a/googleapis/genomics/v1/position.proto
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "PositionProto";
-option java_package = "com.google.genomics.v1";
-
-
-// An abstraction for referring to a genomic position, in relation to some
-// already known reference. For now, represents a genomic position as a
-// reference name, a base number on that reference (0-based), and a
-// determination of forward or reverse strand.
-message Position {
-  // The name of the reference in whatever reference set is being used.
-  string reference_name = 1;
-
-  // The 0-based offset from the start of the forward strand for that reference.
-  int64 position = 2;
-
-  // Whether this position is on the reverse strand, as opposed to the forward
-  // strand.
-  bool reverse_strand = 3;
-}
diff --git a/googleapis/genomics/v1/range.pb.go b/googleapis/genomics/v1/range.pb.go
index c438db981bd4c02b79bb30da144d441cff3ce13d..196bcecb6031f751ee64341b6a2780823ed46376 100644
--- a/googleapis/genomics/v1/range.pb.go
+++ b/googleapis/genomics/v1/range.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/range.proto
+// source: google/genomics/v1/range.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -30,28 +30,47 @@ func (m *Range) String() string            { return proto.CompactTextString(m) }
 func (*Range) ProtoMessage()               {}
 func (*Range) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
 
-func init() {
-	proto.RegisterType((*Range)(nil), "google.genomics.v1.Range")
+func (m *Range) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *Range) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *Range) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/range.proto", fileDescriptor5)
+	proto.RegisterType((*Range)(nil), "google.genomics.v1.Range")
 }
 
+func init() { proto.RegisterFile("google/genomics/v1/range.proto", fileDescriptor5) }
+
 var fileDescriptor5 = []byte{
-	// 212 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x8e, 0x31, 0x4b, 0x04, 0x31,
-	0x10, 0x85, 0x89, 0xcb, 0x09, 0x06, 0x14, 0x09, 0x22, 0x8b, 0xd5, 0x21, 0x08, 0x67, 0x93, 0x70,
-	0x58, 0xdb, 0x5c, 0x67, 0x23, 0xc7, 0x16, 0xb6, 0x32, 0xc6, 0xd9, 0x21, 0xb0, 0x99, 0x59, 0x92,
-	0xb0, 0xbf, 0xdd, 0x52, 0x92, 0x55, 0x1b, 0x9b, 0xeb, 0x66, 0xde, 0x9b, 0x79, 0xdf, 0xd3, 0xcf,
-	0x24, 0x42, 0x13, 0x5a, 0x92, 0x09, 0x98, 0xac, 0x24, 0x72, 0x84, 0x3c, 0x27, 0x29, 0xe2, 0x56,
-	0x0b, 0xe6, 0x90, 0xab, 0x26, 0x31, 0xf8, 0xec, 0x96, 0xbd, 0x4b, 0xc0, 0x84, 0xb6, 0x9d, 0x18,
-	0xf3, 0xfb, 0xfe, 0xe3, 0xdb, 0x65, 0x7f, 0xf7, 0x72, 0x5a, 0x24, 0xcc, 0xc1, 0x65, 0x4c, 0x4b,
-	0xf0, 0xe8, 0x85, 0xc7, 0x40, 0x0e, 0x98, 0xa5, 0x40, 0x09, 0xc2, 0x79, 0x8d, 0xbf, 0x7f, 0xd3,
-	0x9b, 0xa1, 0xd2, 0xcc, 0x83, 0xbe, 0x4a, 0x38, 0x62, 0x42, 0xf6, 0xf8, 0xce, 0x10, 0xb1, 0x57,
-	0x5b, 0xb5, 0xbb, 0x18, 0x2e, 0xff, 0xd4, 0x57, 0x88, 0x68, 0x6e, 0xf4, 0x26, 0x17, 0x48, 0xa5,
-	0x3f, 0xdb, 0xaa, 0x5d, 0x37, 0xac, 0x8b, 0xb9, 0xd6, 0x1d, 0xf2, 0x67, 0xdf, 0x35, 0xad, 0x8e,
-	0x87, 0x47, 0x7d, 0xeb, 0x25, 0xda, 0xff, 0xe5, 0x0f, 0xba, 0xf1, 0x8e, 0x95, 0x7e, 0x54, 0x5f,
-	0x4a, 0x7d, 0x9c, 0xb7, 0x26, 0x4f, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x33, 0x75, 0x3d, 0xcd,
-	0x29, 0x01, 0x00, 0x00,
+	// 209 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x4f, 0x4d, 0x4b, 0xc4, 0x30,
+	0x10, 0x25, 0x96, 0x15, 0x0c, 0x28, 0x12, 0x44, 0x8a, 0x88, 0x2c, 0x82, 0xb0, 0xa7, 0x84, 0xe2,
+	0x4d, 0x6f, 0xfd, 0x01, 0x52, 0x7a, 0xf0, 0xe0, 0x45, 0xc6, 0x3a, 0x86, 0x40, 0x33, 0x53, 0x92,
+	0xd0, 0xdf, 0xee, 0x51, 0x92, 0x58, 0x11, 0xf6, 0x36, 0x79, 0x1f, 0x79, 0xef, 0xc9, 0x3b, 0xcb,
+	0x6c, 0x67, 0x34, 0x16, 0x89, 0xbd, 0x9b, 0xa2, 0x59, 0x3b, 0x13, 0x80, 0x2c, 0xea, 0x25, 0x70,
+	0x62, 0xa5, 0x2a, 0xaf, 0x37, 0x5e, 0xaf, 0xdd, 0xcd, 0xed, 0xaf, 0x07, 0x16, 0x67, 0x80, 0x88,
+	0x13, 0x24, 0xc7, 0x14, 0xab, 0xe3, 0xfe, 0x55, 0xee, 0xc6, 0xfc, 0x81, 0x7a, 0x90, 0x17, 0x01,
+	0xbf, 0x30, 0x20, 0x4d, 0xf8, 0x4e, 0xe0, 0xb1, 0x15, 0x7b, 0x71, 0x38, 0x1b, 0xcf, 0xff, 0xd0,
+	0x17, 0xf0, 0xa8, 0xae, 0xe4, 0x2e, 0x26, 0x08, 0xa9, 0x3d, 0xd9, 0x8b, 0x43, 0x33, 0xd6, 0x87,
+	0xba, 0x94, 0x0d, 0xd2, 0x67, 0xdb, 0x14, 0x2c, 0x9f, 0x3d, 0xca, 0xeb, 0x89, 0xbd, 0x3e, 0xee,
+	0xd3, 0xcb, 0x92, 0x37, 0xe4, 0xf4, 0x41, 0xbc, 0x3d, 0x6d, 0x0a, 0x9e, 0x81, 0xac, 0xe6, 0x60,
+	0xf3, 0xb8, 0xd2, 0xcd, 0x54, 0x0a, 0x16, 0x17, 0xff, 0x0f, 0x7e, 0xde, 0xee, 0x6f, 0x21, 0x3e,
+	0x4e, 0x8b, 0xf2, 0xf1, 0x27, 0x00, 0x00, 0xff, 0xff, 0xb7, 0x3e, 0xf1, 0x62, 0x19, 0x01, 0x00,
+	0x00,
 }
diff --git a/googleapis/genomics/v1/range.proto b/googleapis/genomics/v1/range.proto
deleted file mode 100644
index 2ba75d377cc29b7ce4a891ead6ddb300e163184e..0000000000000000000000000000000000000000
--- a/googleapis/genomics/v1/range.proto
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "RangeProto";
-option java_package = "com.google.genomics.v1";
-
-
-// A 0-based half-open genomic coordinate range for search requests.
-message Range {
-  // The reference sequence name, for example `chr1`,
-  // `1`, or `chrX`.
-  string reference_name = 1;
-
-  // The start position of the range on the reference, 0-based inclusive.
-  int64 start = 2;
-
-  // The end position of the range on the reference, 0-based exclusive.
-  int64 end = 3;
-}
diff --git a/googleapis/genomics/v1/readalignment.pb.go b/googleapis/genomics/v1/readalignment.pb.go
index 6367d683da1b9c42c8ef09ba3701524c2402cdbc..15b2fc531b7b0825036a9e6319c4d9d6ac62e3a2 100644
--- a/googleapis/genomics/v1/readalignment.pb.go
+++ b/googleapis/genomics/v1/readalignment.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/readalignment.proto
+// source: google/genomics/v1/readalignment.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/struct"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -43,6 +43,13 @@ func (m *LinearAlignment) GetPosition() *Position {
 	return nil
 }
 
+func (m *LinearAlignment) GetMappingQuality() int32 {
+	if m != nil {
+		return m.MappingQuality
+	}
+	return 0
+}
+
 func (m *LinearAlignment) GetCigar() []*CigarUnit {
 	if m != nil {
 		return m.Cigar
@@ -213,6 +220,76 @@ func (m *Read) String() string            { return proto.CompactTextString(m) }
 func (*Read) ProtoMessage()               {}
 func (*Read) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{1} }
 
+func (m *Read) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Read) GetReadGroupId() string {
+	if m != nil {
+		return m.ReadGroupId
+	}
+	return ""
+}
+
+func (m *Read) GetReadGroupSetId() string {
+	if m != nil {
+		return m.ReadGroupSetId
+	}
+	return ""
+}
+
+func (m *Read) GetFragmentName() string {
+	if m != nil {
+		return m.FragmentName
+	}
+	return ""
+}
+
+func (m *Read) GetProperPlacement() bool {
+	if m != nil {
+		return m.ProperPlacement
+	}
+	return false
+}
+
+func (m *Read) GetDuplicateFragment() bool {
+	if m != nil {
+		return m.DuplicateFragment
+	}
+	return false
+}
+
+func (m *Read) GetFragmentLength() int32 {
+	if m != nil {
+		return m.FragmentLength
+	}
+	return 0
+}
+
+func (m *Read) GetReadNumber() int32 {
+	if m != nil {
+		return m.ReadNumber
+	}
+	return 0
+}
+
+func (m *Read) GetNumberReads() int32 {
+	if m != nil {
+		return m.NumberReads
+	}
+	return 0
+}
+
+func (m *Read) GetFailedVendorQualityChecks() bool {
+	if m != nil {
+		return m.FailedVendorQualityChecks
+	}
+	return false
+}
+
 func (m *Read) GetAlignment() *LinearAlignment {
 	if m != nil {
 		return m.Alignment
@@ -220,6 +297,34 @@ func (m *Read) GetAlignment() *LinearAlignment {
 	return nil
 }
 
+func (m *Read) GetSecondaryAlignment() bool {
+	if m != nil {
+		return m.SecondaryAlignment
+	}
+	return false
+}
+
+func (m *Read) GetSupplementaryAlignment() bool {
+	if m != nil {
+		return m.SupplementaryAlignment
+	}
+	return false
+}
+
+func (m *Read) GetAlignedSequence() string {
+	if m != nil {
+		return m.AlignedSequence
+	}
+	return ""
+}
+
+func (m *Read) GetAlignedQuality() []int32 {
+	if m != nil {
+		return m.AlignedQuality
+	}
+	return nil
+}
+
 func (m *Read) GetNextMatePosition() *Position {
 	if m != nil {
 		return m.NextMatePosition
@@ -239,54 +344,51 @@ func init() {
 	proto.RegisterType((*Read)(nil), "google.genomics.v1.Read")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/readalignment.proto", fileDescriptor6)
-}
+func init() { proto.RegisterFile("google/genomics/v1/readalignment.proto", fileDescriptor6) }
 
 var fileDescriptor6 = []byte{
-	// 703 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x94, 0xdd, 0x4e, 0x1b, 0x47,
-	0x14, 0xc7, 0xb5, 0x36, 0xa6, 0x78, 0x0c, 0xb6, 0x99, 0x4a, 0x74, 0x6b, 0x51, 0xd5, 0x35, 0x17,
-	0x35, 0x17, 0xdd, 0x2d, 0xa0, 0xb6, 0xa8, 0x52, 0x94, 0x00, 0x22, 0x91, 0x23, 0x82, 0x9c, 0x45,
-	0xe1, 0x76, 0x35, 0xde, 0x3d, 0x5e, 0x46, 0xec, 0xce, 0x0c, 0x33, 0xb3, 0x56, 0xfc, 0x48, 0x79,
-	0xb7, 0x3c, 0x40, 0x2e, 0xa3, 0x99, 0xfd, 0x70, 0x48, 0x7c, 0x01, 0x57, 0xa0, 0xff, 0xf9, 0x9d,
-	0xff, 0x9c, 0x3d, 0x1f, 0x46, 0x97, 0x09, 0xe7, 0x49, 0x0a, 0x5e, 0xc2, 0x53, 0xc2, 0x12, 0x8f,
-	0xcb, 0xc4, 0x4f, 0x80, 0x09, 0xc9, 0x35, 0xf7, 0x8b, 0x10, 0x11, 0x54, 0x19, 0x8d, 0x67, 0x34,
-	0x52, 0xfe, 0xe2, 0xc8, 0x97, 0x40, 0x62, 0x92, 0xd2, 0x84, 0x65, 0xc0, 0xb4, 0x67, 0x51, 0x8c,
-	0x2b, 0x9b, 0x92, 0xf3, 0x16, 0x47, 0x83, 0xc9, 0xd3, 0xac, 0x89, 0xa0, 0xbe, 0x02, 0xb9, 0xa0,
-	0x11, 0x44, 0x9c, 0xcd, 0x69, 0xe2, 0x13, 0xc6, 0xb8, 0x26, 0x9a, 0x72, 0xa6, 0x0a, 0xfb, 0xc1,
-	0x8b, 0xe7, 0x57, 0x19, 0xd1, 0x84, 0xc8, 0x32, 0xfd, 0xd5, 0xf3, 0xd3, 0x05, 0x57, 0xd4, 0x54,
-	0x50, 0x3a, 0xfc, 0x93, 0x50, 0x7d, 0x97, 0xcf, 0xbc, 0x88, 0x67, 0x7e, 0xe1, 0xe2, 0xdb, 0xc0,
-	0x2c, 0x9f, 0xfb, 0x42, 0x2f, 0x05, 0x28, 0x5f, 0x69, 0x99, 0x47, 0xba, 0xfc, 0x53, 0xa4, 0x8d,
-	0x3e, 0x39, 0xa8, 0x77, 0x45, 0x19, 0x10, 0x79, 0x56, 0x35, 0x0c, 0x9f, 0xa2, 0xad, 0xca, 0xdc,
-	0x75, 0x86, 0xce, 0xb8, 0x73, 0xbc, 0xef, 0xfd, 0xd8, 0x3d, 0x6f, 0x5a, 0x32, 0x41, 0x4d, 0xe3,
-	0x3f, 0x51, 0x2f, 0x23, 0x42, 0x50, 0x96, 0x84, 0x0f, 0x39, 0x49, 0xa9, 0x5e, 0xba, 0x8d, 0xa1,
-	0x33, 0x6e, 0x05, 0xdd, 0x52, 0x7e, 0x5f, 0xa8, 0xf8, 0x04, 0xb5, 0xec, 0xe7, 0xbb, 0xcd, 0x61,
-	0x73, 0xdc, 0x39, 0xfe, 0x6d, 0x9d, 0xff, 0x85, 0x01, 0x3e, 0x30, 0xaa, 0x83, 0x82, 0x1d, 0x7d,
-	0xde, 0x44, 0x1b, 0x01, 0x90, 0x18, 0x77, 0x51, 0x83, 0xc6, 0xb6, 0xb4, 0x76, 0xd0, 0xa0, 0x31,
-	0x1e, 0xa1, 0x1d, 0x33, 0xf2, 0x30, 0x91, 0x3c, 0x17, 0x21, 0x8d, 0xed, 0xa3, 0xed, 0xa0, 0x63,
-	0xc4, 0x37, 0x46, 0x9b, 0xc4, 0xf8, 0x10, 0xed, 0x7e, 0xc3, 0x28, 0xd0, 0x86, 0x6b, 0x5a, 0xae,
-	0x5b, 0x73, 0x37, 0xa0, 0x27, 0x31, 0x3e, 0x40, 0x3b, 0x73, 0x49, 0x12, 0xd3, 0x8b, 0x90, 0x91,
-	0x0c, 0xdc, 0x0d, 0x8b, 0x6d, 0x57, 0xe2, 0x35, 0xc9, 0x00, 0x1f, 0xa2, 0xbe, 0x90, 0x5c, 0x80,
-	0x0c, 0x45, 0x4a, 0x22, 0x30, 0xba, 0xdb, 0x1a, 0x3a, 0xe3, 0xad, 0xa0, 0x57, 0xe8, 0xd3, 0x4a,
-	0xc6, 0x7f, 0x21, 0x1c, 0xe7, 0x22, 0xa5, 0x11, 0xd1, 0x10, 0x56, 0x26, 0xee, 0xa6, 0x85, 0x77,
-	0xeb, 0xc8, 0xeb, 0x32, 0x60, 0x9a, 0x58, 0x3f, 0x9f, 0x02, 0x4b, 0xf4, 0x9d, 0xfb, 0x53, 0xd1,
-	0xc4, 0x4a, 0xbe, 0xb2, 0x2a, 0xfe, 0x1d, 0xd9, 0x2f, 0x0c, 0x59, 0x9e, 0xcd, 0x40, 0xba, 0x5b,
-	0x16, 0x42, 0x46, 0xba, 0xb6, 0x0a, 0xfe, 0x03, 0x6d, 0x17, 0xb1, 0xd0, 0x88, 0xca, 0x6d, 0x5b,
-	0xa2, 0x53, 0x68, 0xa6, 0x93, 0x0a, 0xbf, 0x44, 0xfb, 0x73, 0x42, 0x53, 0x88, 0xc3, 0x05, 0xb0,
-	0x98, 0xcb, 0x6a, 0x6e, 0x61, 0x74, 0x07, 0xd1, 0xbd, 0x72, 0x91, 0xad, 0xf2, 0xd7, 0x82, 0xb9,
-	0xb5, 0x48, 0x39, 0xc3, 0x0b, 0x0b, 0xe0, 0x33, 0xd4, 0xae, 0x4f, 0xcd, 0xed, 0xd8, 0x6d, 0x39,
-	0x58, 0x37, 0xcd, 0xef, 0x96, 0x2c, 0x58, 0x65, 0x61, 0x1f, 0xfd, 0xac, 0xcc, 0x65, 0xc5, 0x44,
-	0x2e, 0xc3, 0x95, 0xd9, 0xb6, 0x7d, 0x1a, 0xd7, 0xa1, 0xd5, 0x82, 0xfe, 0x87, 0x7e, 0x51, 0xb9,
-	0x10, 0xa9, 0x6d, 0xef, 0xe3, 0xa4, 0x1d, 0x9b, 0xb4, 0xf7, 0x28, 0xbc, 0x4a, 0x3c, 0x44, 0x7d,
-	0x8b, 0x42, 0x1c, 0x2a, 0x78, 0xc8, 0x81, 0x45, 0xe0, 0x76, 0xed, 0x70, 0x7b, 0xa5, 0x7e, 0x53,
-	0xca, 0x66, 0x0a, 0x15, 0x5a, 0xad, 0x72, 0x6f, 0xd8, 0x34, 0x53, 0x28, 0xe5, 0x6a, 0x95, 0xdf,
-	0x22, 0xcc, 0xe0, 0xa3, 0x0e, 0x33, 0x33, 0xdd, 0xfa, 0x6e, 0xfa, 0x4f, 0xb8, 0x9b, 0xbe, 0xc9,
-	0x7b, 0x47, 0x34, 0x54, 0x0a, 0xfe, 0x17, 0x6d, 0x50, 0x36, 0xe7, 0xee, 0xae, 0xbd, 0x8a, 0xd1,
-	0xba, 0x6c, 0x33, 0x36, 0x6f, 0xc2, 0xe6, 0xfc, 0x92, 0x69, 0xb9, 0x0c, 0x2c, 0x3f, 0xb8, 0x41,
-	0xed, 0x5a, 0xc2, 0x7d, 0xd4, 0xbc, 0x87, 0x65, 0x79, 0x1e, 0xe6, 0x5f, 0xfc, 0x37, 0x6a, 0x2d,
-	0x48, 0x9a, 0x83, 0xbd, 0x8b, 0xce, 0xf1, 0xa0, 0xf2, 0xad, 0x7e, 0x20, 0xbc, 0x2b, 0xaa, 0xf4,
-	0xad, 0x21, 0x82, 0x02, 0xfc, 0xbf, 0x71, 0xea, 0x9c, 0x1f, 0xa1, 0xbd, 0x88, 0x67, 0x6b, 0x6a,
-	0x38, 0xc7, 0xa6, 0x88, 0xba, 0xab, 0x53, 0xe3, 0x32, 0x75, 0xbe, 0x38, 0xce, 0x6c, 0xd3, 0x3a,
-	0x9e, 0x7c, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xb5, 0xa0, 0xb1, 0xbc, 0xb4, 0x05, 0x00, 0x00,
+	// 683 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0xcd, 0x4e, 0xdb, 0x4a,
+	0x14, 0xc7, 0xe5, 0x84, 0x70, 0xc9, 0x09, 0x24, 0x61, 0xae, 0xc4, 0xf5, 0x8d, 0xb8, 0xb7, 0x21,
+	0x48, 0x6d, 0x58, 0xd4, 0x2e, 0x20, 0xb5, 0x88, 0x2e, 0x2a, 0x40, 0x6d, 0x45, 0x45, 0x51, 0x6a,
+	0x54, 0x16, 0xdd, 0x58, 0x83, 0x7d, 0x62, 0x46, 0xd8, 0x33, 0xc6, 0x1e, 0x47, 0xcd, 0x23, 0xf5,
+	0xdd, 0xfa, 0x00, 0x5d, 0x56, 0x33, 0xf6, 0x38, 0xd0, 0x66, 0xd1, 0x5d, 0xf2, 0x3f, 0xbf, 0xf3,
+	0xe1, 0xf3, 0x31, 0xf0, 0x34, 0x12, 0x22, 0x8a, 0xd1, 0x8d, 0x90, 0x8b, 0x84, 0x05, 0xb9, 0x3b,
+	0xdb, 0x77, 0x33, 0xa4, 0x21, 0x8d, 0x59, 0xc4, 0x13, 0xe4, 0xd2, 0x49, 0x33, 0x21, 0x05, 0x21,
+	0x25, 0xe7, 0x18, 0xce, 0x99, 0xed, 0x0f, 0xb6, 0x2b, 0x5f, 0x9a, 0x32, 0x97, 0x72, 0x2e, 0x24,
+	0x95, 0x4c, 0xf0, 0xbc, 0xf4, 0x18, 0xfc, 0xbf, 0x24, 0x72, 0xc0, 0x22, 0x9a, 0x55, 0xf6, 0x9d,
+	0x25, 0xf6, 0x54, 0xe4, 0x4c, 0xc5, 0xa8, 0x10, 0x93, 0x40, 0xff, 0xbb, 0x29, 0xa6, 0x6e, 0x2e,
+	0xb3, 0x22, 0xa8, 0x4a, 0x1a, 0x7d, 0xb3, 0xa0, 0x77, 0xc1, 0x38, 0xd2, 0xec, 0xc4, 0x14, 0x4b,
+	0x8e, 0x60, 0xcd, 0xc4, 0xb0, 0xad, 0xa1, 0x35, 0xee, 0x1c, 0x6c, 0x3b, 0xbf, 0x57, 0xee, 0x4c,
+	0x2a, 0xc6, 0xab, 0x69, 0xf2, 0x0c, 0x7a, 0x09, 0x4d, 0x53, 0xc6, 0x23, 0xff, 0xbe, 0xa0, 0x31,
+	0x93, 0x73, 0xbb, 0x31, 0xb4, 0xc6, 0x2d, 0xaf, 0x5b, 0xc9, 0x9f, 0x4a, 0x95, 0x1c, 0x42, 0x4b,
+	0x7f, 0x86, 0xdd, 0x1c, 0x36, 0xc7, 0x9d, 0x83, 0xff, 0x96, 0xc5, 0x3f, 0x53, 0xc0, 0x67, 0xce,
+	0xa4, 0x57, 0xb2, 0xa3, 0xef, 0xab, 0xb0, 0xe2, 0x21, 0x0d, 0x49, 0x17, 0x1a, 0x2c, 0xd4, 0xa5,
+	0xb5, 0xbd, 0x06, 0x0b, 0xc9, 0x08, 0x36, 0x54, 0xbb, 0xfd, 0x28, 0x13, 0x45, 0xea, 0xb3, 0x50,
+	0x27, 0x6d, 0x7b, 0x1d, 0x25, 0xbe, 0x57, 0xda, 0x79, 0x48, 0xf6, 0x60, 0xf3, 0x01, 0x93, 0xa3,
+	0x54, 0x5c, 0x53, 0x73, 0xdd, 0x9a, 0xbb, 0x42, 0x79, 0x1e, 0x92, 0x5d, 0xd8, 0x98, 0x66, 0x34,
+	0x52, 0xbd, 0xf0, 0x39, 0x4d, 0xd0, 0x5e, 0xd1, 0xd8, 0xba, 0x11, 0x2f, 0x69, 0x82, 0x64, 0x0f,
+	0xfa, 0x69, 0x26, 0x52, 0xcc, 0xfc, 0x34, 0xa6, 0x01, 0x2a, 0xdd, 0x6e, 0x0d, 0xad, 0xf1, 0x9a,
+	0xd7, 0x2b, 0xf5, 0x89, 0x91, 0xc9, 0x73, 0x20, 0x61, 0x91, 0xc6, 0x2c, 0xa0, 0x12, 0x7d, 0x13,
+	0xc4, 0x5e, 0xd5, 0xf0, 0x66, 0x6d, 0x79, 0x57, 0x19, 0x54, 0x13, 0xeb, 0xf4, 0x31, 0xf2, 0x48,
+	0xde, 0xda, 0x7f, 0x95, 0x4d, 0x34, 0xf2, 0x85, 0x56, 0xc9, 0x13, 0xd0, 0x5f, 0xe8, 0xf3, 0x22,
+	0xb9, 0xc1, 0xcc, 0x5e, 0xd3, 0x10, 0x28, 0xe9, 0x52, 0x2b, 0x64, 0x07, 0xd6, 0x4b, 0x9b, 0xaf,
+	0xc4, 0xdc, 0x6e, 0x6b, 0xa2, 0x53, 0x6a, 0xaa, 0x93, 0x39, 0x79, 0x03, 0xdb, 0x53, 0xca, 0x62,
+	0x0c, 0xfd, 0x19, 0xf2, 0x50, 0x64, 0x66, 0x6e, 0x7e, 0x70, 0x8b, 0xc1, 0x5d, 0x6e, 0x83, 0xae,
+	0xf2, 0xdf, 0x92, 0xb9, 0xd6, 0x48, 0x35, 0xc3, 0x33, 0x0d, 0x90, 0x13, 0x68, 0xd7, 0x6b, 0x6e,
+	0x77, 0xf4, 0xb6, 0xec, 0x2e, 0x9b, 0xe6, 0x2f, 0x4b, 0xe6, 0x2d, 0xbc, 0x88, 0x0b, 0x7f, 0xe7,
+	0x18, 0x08, 0x1e, 0xd2, 0x6c, 0xee, 0x2f, 0x82, 0xad, 0xeb, 0xd4, 0xa4, 0x36, 0x2d, 0x16, 0xf4,
+	0x15, 0xfc, 0x93, 0x17, 0x69, 0x1a, 0xeb, 0xf6, 0x3e, 0x76, 0xda, 0xd0, 0x4e, 0x5b, 0x8f, 0xcc,
+	0x0b, 0xc7, 0x3d, 0xe8, 0x6b, 0x14, 0x43, 0x3f, 0xc7, 0xfb, 0x02, 0x79, 0x80, 0x76, 0x57, 0x0f,
+	0xb7, 0x57, 0xe9, 0x57, 0x95, 0xac, 0xa6, 0x60, 0x50, 0xb3, 0xca, 0xbd, 0x61, 0x53, 0x4d, 0xa1,
+	0x92, 0xcd, 0x2a, 0x7f, 0x00, 0xc2, 0xf1, 0xab, 0xf4, 0x13, 0x35, 0xdd, 0xfa, 0x6e, 0xfa, 0x7f,
+	0x70, 0x37, 0x7d, 0xe5, 0xf7, 0x91, 0x4a, 0x34, 0x0a, 0x79, 0x09, 0x2b, 0x8c, 0x4f, 0x85, 0xbd,
+	0xa9, 0xaf, 0x62, 0xb4, 0xcc, 0x5b, 0x8d, 0xcd, 0x39, 0xe7, 0x53, 0xf1, 0x96, 0xcb, 0x6c, 0xee,
+	0x69, 0x7e, 0x70, 0x05, 0xed, 0x5a, 0x22, 0x7d, 0x68, 0xde, 0xe1, 0xbc, 0x3a, 0x0f, 0xf5, 0x93,
+	0xbc, 0x80, 0xd6, 0x8c, 0xc6, 0x05, 0xea, 0xbb, 0xe8, 0x1c, 0x0c, 0x4c, 0x5c, 0xf3, 0x24, 0x38,
+	0x17, 0x2c, 0x97, 0xd7, 0x8a, 0xf0, 0x4a, 0xf0, 0xb8, 0x71, 0x64, 0x9d, 0x26, 0xb0, 0x15, 0x88,
+	0x64, 0x49, 0x0d, 0xa7, 0x44, 0x15, 0x51, 0x77, 0x75, 0xa2, 0xa2, 0x4c, 0xac, 0x2f, 0xc7, 0x86,
+	0x14, 0x31, 0xe5, 0x91, 0x23, 0xb2, 0x48, 0x3d, 0x4b, 0x3a, 0x87, 0x5b, 0x9a, 0x68, 0xca, 0xf2,
+	0x87, 0x4f, 0xd5, 0x6b, 0xf3, 0xfb, 0x87, 0x65, 0xdd, 0xac, 0x6a, 0xf2, 0xf0, 0x67, 0x00, 0x00,
+	0x00, 0xff, 0xff, 0xd0, 0xe1, 0xf6, 0x57, 0x4d, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/readalignment.proto b/googleapis/genomics/v1/readalignment.proto
deleted file mode 100644
index bd9dd44576681498b98deddbab03e53dd9d0b20d..0000000000000000000000000000000000000000
--- a/googleapis/genomics/v1/readalignment.proto
+++ /dev/null
@@ -1,220 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/genomics/v1/cigar.proto"; // from google/genomics/v1/cigar.proto
-import "google.golang.org/genproto/googleapis/genomics/v1/position.proto"; // from google/genomics/v1/position.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "ReadAlignmentProto";
-option java_package = "com.google.genomics.v1";
-
-
-// A linear alignment can be represented by one CIGAR string. Describes the
-// mapped position and local alignment of the read to the reference.
-message LinearAlignment {
-  // The position of this alignment.
-  Position position = 1;
-
-  // The mapping quality of this alignment. Represents how likely
-  // the read maps to this position as opposed to other locations.
-  //
-  // Specifically, this is -10 log10 Pr(mapping position is wrong), rounded to
-  // the nearest integer.
-  int32 mapping_quality = 2;
-
-  // Represents the local alignment of this sequence (alignment matches, indels,
-  // etc) against the reference.
-  repeated CigarUnit cigar = 3;
-}
-
-// A read alignment describes a linear alignment of a string of DNA to a
-// [reference sequence][google.genomics.v1.Reference], in addition to metadata
-// about the fragment (the molecule of DNA sequenced) and the read (the bases
-// which were read by the sequencer). A read is equivalent to a line in a SAM
-// file. A read belongs to exactly one read group and exactly one
-// [read group set][google.genomics.v1.ReadGroupSet].
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-//
-// ### Reverse-stranded reads
-//
-// Mapped reads (reads having a non-null `alignment`) can be aligned to either
-// the forward or the reverse strand of their associated reference. Strandedness
-// of a mapped read is encoded by `alignment.position.reverseStrand`.
-//
-// If we consider the reference to be a forward-stranded coordinate space of
-// `[0, reference.length)` with `0` as the left-most position and
-// `reference.length` as the right-most position, reads are always aligned left
-// to right. That is, `alignment.position.position` always refers to the
-// left-most reference coordinate and `alignment.cigar` describes the alignment
-// of this read to the reference from left to right. All per-base fields such as
-// `alignedSequence` and `alignedQuality` share this same left-to-right
-// orientation; this is true of reads which are aligned to either strand. For
-// reverse-stranded reads, this means that `alignedSequence` is the reverse
-// complement of the bases that were originally reported by the sequencing
-// machine.
-//
-// ### Generating a reference-aligned sequence string
-//
-// When interacting with mapped reads, it's often useful to produce a string
-// representing the local alignment of the read to reference. The following
-// pseudocode demonstrates one way of doing this:
-//
-//     out = ""
-//     offset = 0
-//     for c in read.alignment.cigar {
-//       switch c.operation {
-//       case "ALIGNMENT_MATCH", "SEQUENCE_MATCH", "SEQUENCE_MISMATCH":
-//         out += read.alignedSequence[offset:offset+c.operationLength]
-//         offset += c.operationLength
-//         break
-//       case "CLIP_SOFT", "INSERT":
-//         offset += c.operationLength
-//         break
-//       case "PAD":
-//         out += repeat("*", c.operationLength)
-//         break
-//       case "DELETE":
-//         out += repeat("-", c.operationLength)
-//         break
-//       case "SKIP":
-//         out += repeat(" ", c.operationLength)
-//         break
-//       case "CLIP_HARD":
-//         break
-//       }
-//     }
-//     return out
-//
-// ### Converting to SAM's CIGAR string
-//
-// The following pseudocode generates a SAM CIGAR string from the
-// `cigar` field. Note that this is a lossy conversion
-// (`cigar.referenceSequence` is lost).
-//
-//     cigarMap = {
-//       "ALIGNMENT_MATCH": "M",
-//       "INSERT": "I",
-//       "DELETE": "D",
-//       "SKIP": "N",
-//       "CLIP_SOFT": "S",
-//       "CLIP_HARD": "H",
-//       "PAD": "P",
-//       "SEQUENCE_MATCH": "=",
-//       "SEQUENCE_MISMATCH": "X",
-//     }
-//     cigarStr = ""
-//     for c in read.alignment.cigar {
-//       cigarStr += c.operationLength + cigarMap[c.operation]
-//     }
-//     return cigarStr
-message Read {
-  // The server-generated read ID, unique across all reads. This is different
-  // from the `fragmentName`.
-  string id = 1;
-
-  // The ID of the read group this read belongs to. A read belongs to exactly
-  // one read group. This is a server-generated ID which is distinct from SAM's
-  // RG tag (for that value, see
-  // [ReadGroup.name][google.genomics.v1.ReadGroup.name]).
-  string read_group_id = 2;
-
-  // The ID of the read group set this read belongs to. A read belongs to
-  // exactly one read group set.
-  string read_group_set_id = 3;
-
-  // The fragment name. Equivalent to QNAME (query template name) in SAM.
-  string fragment_name = 4;
-
-  // The orientation and the distance between reads from the fragment are
-  // consistent with the sequencing protocol (SAM flag 0x2).
-  bool proper_placement = 5;
-
-  // The fragment is a PCR or optical duplicate (SAM flag 0x400).
-  bool duplicate_fragment = 6;
-
-  // The observed length of the fragment, equivalent to TLEN in SAM.
-  int32 fragment_length = 7;
-
-  // The read number in sequencing. 0-based and less than numberReads. This
-  // field replaces SAM flag 0x40 and 0x80.
-  int32 read_number = 8;
-
-  // The number of reads in the fragment (extension to SAM flag 0x1).
-  int32 number_reads = 9;
-
-  // Whether this read did not pass filters, such as platform or vendor quality
-  // controls (SAM flag 0x200).
-  bool failed_vendor_quality_checks = 10;
-
-  // The linear alignment for this alignment record. This field is null for
-  // unmapped reads.
-  LinearAlignment alignment = 11;
-
-  // Whether this alignment is secondary. Equivalent to SAM flag 0x100.
-  // A secondary alignment represents an alternative to the primary alignment
-  // for this read. Aligners may return secondary alignments if a read can map
-  // ambiguously to multiple coordinates in the genome. By convention, each read
-  // has one and only one alignment where both `secondaryAlignment`
-  // and `supplementaryAlignment` are false.
-  bool secondary_alignment = 12;
-
-  // Whether this alignment is supplementary. Equivalent to SAM flag 0x800.
-  // Supplementary alignments are used in the representation of a chimeric
-  // alignment. In a chimeric alignment, a read is split into multiple
-  // linear alignments that map to different reference contigs. The first
-  // linear alignment in the read will be designated as the representative
-  // alignment; the remaining linear alignments will be designated as
-  // supplementary alignments. These alignments may have different mapping
-  // quality scores. In each linear alignment in a chimeric alignment, the read
-  // will be hard clipped. The `alignedSequence` and
-  // `alignedQuality` fields in the alignment record will only
-  // represent the bases for its respective linear alignment.
-  bool supplementary_alignment = 13;
-
-  // The bases of the read sequence contained in this alignment record,
-  // **without CIGAR operations applied** (equivalent to SEQ in SAM).
-  // `alignedSequence` and `alignedQuality` may be
-  // shorter than the full read sequence and quality. This will occur if the
-  // alignment is part of a chimeric alignment, or if the read was trimmed. When
-  // this occurs, the CIGAR for this read will begin/end with a hard clip
-  // operator that will indicate the length of the excised sequence.
-  string aligned_sequence = 14;
-
-  // The quality of the read sequence contained in this alignment record
-  // (equivalent to QUAL in SAM).
-  // `alignedSequence` and `alignedQuality` may be shorter than the full read
-  // sequence and quality. This will occur if the alignment is part of a
-  // chimeric alignment, or if the read was trimmed. When this occurs, the CIGAR
-  // for this read will begin/end with a hard clip operator that will indicate
-  // the length of the excised sequence.
-  repeated int32 aligned_quality = 15;
-
-  // The mapping of the primary alignment of the
-  // `(readNumber+1)%numberReads` read in the fragment. It replaces
-  // mate position and mate strand in SAM.
-  Position next_mate_position = 16;
-
-  // A map of additional read alignment information. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 17;
-}
diff --git a/googleapis/genomics/v1/readgroup.pb.go b/googleapis/genomics/v1/readgroup.pb.go
index 622bec36679e1c221ef40ee542b5a31ea1a152ce..21e4920f78ae54136999a1eb6ea9e7e5fd31780b 100644
--- a/googleapis/genomics/v1/readgroup.pb.go
+++ b/googleapis/genomics/v1/readgroup.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/readgroup.proto
+// source: google/genomics/v1/readgroup.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/struct"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -51,6 +51,41 @@ func (m *ReadGroup) String() string            { return proto.CompactTextString(
 func (*ReadGroup) ProtoMessage()               {}
 func (*ReadGroup) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0} }
 
+func (m *ReadGroup) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *ReadGroup) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
+func (m *ReadGroup) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ReadGroup) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *ReadGroup) GetSampleId() string {
+	if m != nil {
+		return m.SampleId
+	}
+	return ""
+}
+
 func (m *ReadGroup) GetExperiment() *ReadGroup_Experiment {
 	if m != nil {
 		return m.Experiment
@@ -58,6 +93,13 @@ func (m *ReadGroup) GetExperiment() *ReadGroup_Experiment {
 	return nil
 }
 
+func (m *ReadGroup) GetPredictedInsertSize() int32 {
+	if m != nil {
+		return m.PredictedInsertSize
+	}
+	return 0
+}
+
 func (m *ReadGroup) GetPrograms() []*ReadGroup_Program {
 	if m != nil {
 		return m.Programs
@@ -65,6 +107,13 @@ func (m *ReadGroup) GetPrograms() []*ReadGroup_Program {
 	return nil
 }
 
+func (m *ReadGroup) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
 func (m *ReadGroup) GetInfo() map[string]*google_protobuf3.ListValue {
 	if m != nil {
 		return m.Info
@@ -94,6 +143,34 @@ func (m *ReadGroup_Experiment) String() string            { return proto.Compact
 func (*ReadGroup_Experiment) ProtoMessage()               {}
 func (*ReadGroup_Experiment) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0, 0} }
 
+func (m *ReadGroup_Experiment) GetLibraryId() string {
+	if m != nil {
+		return m.LibraryId
+	}
+	return ""
+}
+
+func (m *ReadGroup_Experiment) GetPlatformUnit() string {
+	if m != nil {
+		return m.PlatformUnit
+	}
+	return ""
+}
+
+func (m *ReadGroup_Experiment) GetSequencingCenter() string {
+	if m != nil {
+		return m.SequencingCenter
+	}
+	return ""
+}
+
+func (m *ReadGroup_Experiment) GetInstrumentModel() string {
+	if m != nil {
+		return m.InstrumentModel
+	}
+	return ""
+}
+
 type ReadGroup_Program struct {
 	// The command line used to run this program.
 	CommandLine string `protobuf:"bytes,1,opt,name=command_line,json=commandLine" json:"command_line,omitempty"`
@@ -114,54 +191,86 @@ func (m *ReadGroup_Program) String() string            { return proto.CompactTex
 func (*ReadGroup_Program) ProtoMessage()               {}
 func (*ReadGroup_Program) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0, 1} }
 
+func (m *ReadGroup_Program) GetCommandLine() string {
+	if m != nil {
+		return m.CommandLine
+	}
+	return ""
+}
+
+func (m *ReadGroup_Program) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *ReadGroup_Program) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ReadGroup_Program) GetPrevProgramId() string {
+	if m != nil {
+		return m.PrevProgramId
+	}
+	return ""
+}
+
+func (m *ReadGroup_Program) GetVersion() string {
+	if m != nil {
+		return m.Version
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*ReadGroup)(nil), "google.genomics.v1.ReadGroup")
 	proto.RegisterType((*ReadGroup_Experiment)(nil), "google.genomics.v1.ReadGroup.Experiment")
 	proto.RegisterType((*ReadGroup_Program)(nil), "google.genomics.v1.ReadGroup.Program")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/readgroup.proto", fileDescriptor7)
-}
+func init() { proto.RegisterFile("google/genomics/v1/readgroup.proto", fileDescriptor7) }
 
 var fileDescriptor7 = []byte{
-	// 604 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x53, 0xdd, 0x8a, 0xd3, 0x40,
-	0x14, 0x26, 0xdd, 0xdf, 0x9e, 0xee, 0x4f, 0x1d, 0x51, 0x42, 0x45, 0xa8, 0x8a, 0x5a, 0x11, 0x13,
-	0xb7, 0x22, 0x88, 0x5e, 0xed, 0xca, 0xa2, 0x81, 0x15, 0x96, 0x2c, 0x7a, 0x1b, 0xa6, 0x99, 0xd3,
-	0x38, 0x98, 0xcc, 0xc4, 0x99, 0x49, 0xb1, 0xfb, 0x18, 0x3e, 0x85, 0xcf, 0xe2, 0x13, 0x79, 0x29,
-	0x33, 0x99, 0xa6, 0x0b, 0x2e, 0x8b, 0x57, 0x9d, 0x7e, 0xdf, 0x39, 0xdf, 0xf9, 0xf9, 0x4e, 0xe0,
-	0xb8, 0x90, 0xb2, 0x28, 0x31, 0x2a, 0x64, 0x49, 0x45, 0x11, 0x49, 0x55, 0xc4, 0x05, 0x8a, 0x5a,
-	0x49, 0x23, 0xe3, 0x96, 0xa2, 0x35, 0xd7, 0x16, 0x93, 0x15, 0xcf, 0x75, 0xbc, 0x38, 0x8a, 0x15,
-	0x52, 0x56, 0x28, 0xd9, 0xd4, 0x91, 0x0b, 0x23, 0x64, 0x25, 0xe1, 0x63, 0xa2, 0xc5, 0xd1, 0x28,
-	0xf9, 0x3f, 0x59, 0x5a, 0xf3, 0x58, 0xa3, 0x5a, 0xf0, 0x1c, 0x73, 0x29, 0xe6, 0xbc, 0x88, 0xa9,
-	0x10, 0xd2, 0x50, 0xc3, 0xa5, 0xd0, 0xad, 0xfc, 0xe8, 0x75, 0xc1, 0xcd, 0xd7, 0x66, 0x16, 0xe5,
-	0xb2, 0x8a, 0x5b, 0xb9, 0xd8, 0x11, 0xb3, 0x66, 0x1e, 0xd7, 0x66, 0x59, 0xa3, 0x8e, 0xb5, 0x51,
-	0x4d, 0x6e, 0xfc, 0x4f, 0x9b, 0xf6, 0xf0, 0xf7, 0x36, 0xf4, 0x53, 0xa4, 0xec, 0x83, 0xed, 0x94,
-	0x1c, 0x40, 0x8f, 0xb3, 0x30, 0x18, 0x07, 0x93, 0x7e, 0xda, 0xe3, 0x8c, 0xdc, 0x07, 0x60, 0xd4,
-	0x50, 0x8d, 0x26, 0xe3, 0x2c, 0xec, 0x39, 0xbc, 0xef, 0x91, 0x84, 0x11, 0x02, 0x9b, 0x82, 0x56,
-	0x18, 0x6e, 0x38, 0xc2, 0xbd, 0xc9, 0x18, 0x06, 0x0c, 0x75, 0xae, 0x78, 0x6d, 0xbb, 0x0b, 0x37,
-	0x1d, 0x75, 0x15, 0x22, 0xf7, 0xa0, 0xaf, 0x69, 0x55, 0x97, 0x68, 0x35, 0xb7, 0x1c, 0xbf, 0xdb,
-	0x02, 0x09, 0x23, 0x1f, 0x01, 0xf0, 0x47, 0x8d, 0x8a, 0x57, 0x28, 0x4c, 0xb8, 0x3d, 0x0e, 0x26,
-	0x83, 0xe9, 0x24, 0xfa, 0x77, 0x75, 0x51, 0xd7, 0x74, 0x74, 0xda, 0xc5, 0xa7, 0x57, 0x72, 0xc9,
-	0x14, 0xee, 0xd4, 0x0a, 0x19, 0xcf, 0x0d, 0xb2, 0x8c, 0x0b, 0x8d, 0xca, 0x64, 0x9a, 0x5f, 0x62,
-	0xb8, 0x33, 0x0e, 0x26, 0x5b, 0xe9, 0xed, 0x8e, 0x4c, 0x1c, 0x77, 0xc1, 0x2f, 0x91, 0x1c, 0xc3,
-	0x6e, 0xad, 0x64, 0xa1, 0x68, 0xa5, 0x43, 0x18, 0x6f, 0x4c, 0x06, 0xd3, 0xc7, 0x37, 0xd7, 0x3e,
-	0x6f, 0xa3, 0xd3, 0x2e, 0x8d, 0x4c, 0x60, 0xa8, 0x70, 0x8e, 0x0a, 0x45, 0x8e, 0x99, 0x5f, 0xdc,
-	0xc0, 0x0d, 0x79, 0xd0, 0xe1, 0x17, 0x6e, 0x7b, 0xef, 0x60, 0x93, 0x8b, 0xb9, 0x0c, 0xf7, 0x5c,
-	0xa1, 0xa7, 0x37, 0x17, 0x4a, 0xc4, 0x5c, 0x9e, 0x0a, 0xa3, 0x96, 0xa9, 0x4b, 0x1a, 0xfd, 0x0a,
-	0x00, 0xd6, 0x83, 0x5b, 0xa3, 0x4a, 0x3e, 0x53, 0x54, 0x2d, 0xb3, 0xce, 0xc0, 0xbe, 0x47, 0x12,
-	0x46, 0x1e, 0xc1, 0x7e, 0x5d, 0x52, 0x33, 0x97, 0xaa, 0xca, 0x1a, 0xc1, 0x8d, 0xb7, 0x72, 0x6f,
-	0x05, 0x7e, 0x16, 0xdc, 0x90, 0xe7, 0x70, 0x4b, 0xe3, 0xf7, 0x06, 0x45, 0xce, 0x45, 0x91, 0xe5,
-	0x28, 0x0c, 0x2a, 0x6f, 0xed, 0x70, 0x4d, 0xbc, 0x77, 0x38, 0x79, 0x06, 0x43, 0x2e, 0xec, 0x25,
-	0xd9, 0xf2, 0x59, 0x25, 0x19, 0x96, 0xde, 0xeb, 0xc3, 0x35, 0xfe, 0xc9, 0xc2, 0xa3, 0x9f, 0x01,
-	0xec, 0xf8, 0x3d, 0x91, 0x07, 0xb0, 0x97, 0xcb, 0xaa, 0xa2, 0x82, 0x65, 0x25, 0x17, 0xe8, 0x3b,
-	0x1d, 0x78, 0xec, 0x8c, 0x0b, 0xf4, 0x37, 0xd8, 0xeb, 0x6e, 0xf0, 0xba, 0x23, 0x7b, 0x02, 0x87,
-	0xb5, 0xc2, 0x45, 0xe6, 0xb7, 0x6e, 0x67, 0x6e, 0x8b, 0xef, 0x5b, 0xd8, 0x17, 0x4b, 0x18, 0x09,
-	0x61, 0x67, 0x81, 0x4a, 0xdb, 0x43, 0x6c, 0x0f, 0x6d, 0xf5, 0x77, 0x74, 0x01, 0xfd, 0x6e, 0xa5,
-	0x64, 0x08, 0x1b, 0xdf, 0x70, 0xe9, 0x9b, 0xb1, 0x4f, 0xf2, 0x12, 0xb6, 0x16, 0xb4, 0x6c, 0xd0,
-	0xf5, 0x31, 0x98, 0x8e, 0x56, 0xe6, 0xac, 0x3e, 0xa9, 0xe8, 0x8c, 0x6b, 0xf3, 0xc5, 0x46, 0xa4,
-	0x6d, 0xe0, 0xdb, 0xde, 0x9b, 0xe0, 0xe4, 0x05, 0xdc, 0xcd, 0x65, 0x75, 0x8d, 0x91, 0x27, 0x07,
-	0x9d, 0x93, 0xe7, 0x56, 0xe1, 0x3c, 0xf8, 0x13, 0x04, 0xb3, 0x6d, 0xa7, 0xf6, 0xea, 0x6f, 0x00,
-	0x00, 0x00, 0xff, 0xff, 0xe4, 0x3f, 0xff, 0x3d, 0x5d, 0x04, 0x00, 0x00,
+	// 585 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x54, 0xcb, 0x6e, 0xd4, 0x30,
+	0x14, 0x55, 0xa6, 0xcf, 0xb9, 0xd3, 0xc7, 0x60, 0x04, 0x8a, 0x06, 0x90, 0x86, 0x22, 0x60, 0x10,
+	0x52, 0x42, 0x87, 0x0d, 0x6a, 0x57, 0x14, 0x55, 0x10, 0xa9, 0x48, 0x55, 0x2a, 0x58, 0xb0, 0x89,
+	0xdc, 0xf8, 0x4e, 0x64, 0x91, 0xd8, 0xc1, 0x76, 0x46, 0xb4, 0x9f, 0xc1, 0x57, 0xf0, 0x2d, 0x7c,
+	0x11, 0x4b, 0x64, 0xc7, 0x49, 0x47, 0xa2, 0xea, 0xce, 0x39, 0xe7, 0x5c, 0xdf, 0xc7, 0xb9, 0x0e,
+	0x1c, 0x14, 0x52, 0x16, 0x25, 0xc6, 0x05, 0x0a, 0x59, 0xf1, 0x5c, 0xc7, 0xcb, 0xc3, 0x58, 0x21,
+	0x65, 0x85, 0x92, 0x4d, 0x1d, 0xd5, 0x4a, 0x1a, 0x49, 0x48, 0xab, 0x89, 0x3a, 0x4d, 0xb4, 0x3c,
+	0x9c, 0x3c, 0xf6, 0x71, 0xb4, 0xe6, 0x31, 0x15, 0x42, 0x1a, 0x6a, 0xb8, 0x14, 0xba, 0x8d, 0xe8,
+	0x59, 0xf7, 0x75, 0xd9, 0x2c, 0x62, 0x6d, 0x54, 0x93, 0x9b, 0x96, 0x3d, 0xf8, 0xb3, 0x09, 0xc3,
+	0x14, 0x29, 0xfb, 0x68, 0x73, 0x90, 0x3d, 0x18, 0x70, 0x16, 0x06, 0xd3, 0x60, 0x36, 0x4c, 0x07,
+	0x9c, 0x91, 0x27, 0x00, 0x8c, 0x1a, 0xaa, 0xd1, 0x64, 0x9c, 0x85, 0x03, 0x87, 0x0f, 0x3d, 0x92,
+	0x30, 0x42, 0x60, 0x5d, 0xd0, 0x0a, 0xc3, 0x35, 0x47, 0xb8, 0x33, 0x99, 0xc2, 0x88, 0xa1, 0xce,
+	0x15, 0xaf, 0x6d, 0x11, 0xe1, 0xba, 0xa3, 0x56, 0x21, 0xf2, 0x08, 0x86, 0x9a, 0x56, 0x75, 0x89,
+	0xf6, 0xce, 0x0d, 0xc7, 0x6f, 0xb7, 0x40, 0xc2, 0xc8, 0x27, 0x00, 0xfc, 0x59, 0xa3, 0xe2, 0x15,
+	0x0a, 0x13, 0x6e, 0x4e, 0x83, 0xd9, 0x68, 0x3e, 0x8b, 0xfe, 0x6f, 0x3a, 0xea, 0x8b, 0x8e, 0x4e,
+	0x7b, 0x7d, 0xba, 0x12, 0x4b, 0xe6, 0xf0, 0xa0, 0x56, 0xc8, 0x78, 0x6e, 0x90, 0x65, 0x5c, 0x68,
+	0x54, 0x26, 0xd3, 0xfc, 0x1a, 0xc3, 0xad, 0x69, 0x30, 0xdb, 0x48, 0xef, 0xf7, 0x64, 0xe2, 0xb8,
+	0x0b, 0x7e, 0x8d, 0xe4, 0x3d, 0x6c, 0xd7, 0x4a, 0x16, 0x8a, 0x56, 0x3a, 0x84, 0xe9, 0xda, 0x6c,
+	0x34, 0x7f, 0x7e, 0x77, 0xee, 0xf3, 0x56, 0x9d, 0xf6, 0x61, 0x64, 0x06, 0x63, 0x85, 0x0b, 0x54,
+	0x28, 0x72, 0xcc, 0xfc, 0xe0, 0x46, 0xae, 0xc9, 0xbd, 0x1e, 0xbf, 0x70, 0xd3, 0x3b, 0x86, 0x75,
+	0x2e, 0x16, 0x32, 0xdc, 0x71, 0x89, 0x5e, 0xde, 0x9d, 0x28, 0x11, 0x0b, 0x79, 0x2a, 0x8c, 0xba,
+	0x4a, 0x5d, 0xd0, 0xe4, 0x77, 0x00, 0x70, 0xd3, 0xb8, 0x35, 0xaa, 0xe4, 0x97, 0x8a, 0xaa, 0xab,
+	0xac, 0x37, 0x70, 0xe8, 0x91, 0x84, 0x91, 0x67, 0xb0, 0x5b, 0x97, 0xd4, 0x2c, 0xa4, 0xaa, 0xb2,
+	0x46, 0x70, 0xe3, 0xad, 0xdc, 0xe9, 0xc0, 0x2f, 0x82, 0x1b, 0xf2, 0x1a, 0xee, 0x69, 0xfc, 0xd1,
+	0xa0, 0xc8, 0xb9, 0x28, 0xb2, 0x1c, 0x85, 0x41, 0xe5, 0xad, 0x1d, 0xdf, 0x10, 0x1f, 0x1c, 0x4e,
+	0x5e, 0xc1, 0x98, 0x0b, 0xbb, 0x49, 0x36, 0x7d, 0x56, 0x49, 0x86, 0xa5, 0xf7, 0x7a, 0xff, 0x06,
+	0xff, 0x6c, 0xe1, 0xc9, 0xaf, 0x00, 0xb6, 0xfc, 0x9c, 0xc8, 0x53, 0xd8, 0xc9, 0x65, 0x55, 0x51,
+	0xc1, 0xb2, 0x92, 0x0b, 0xf4, 0x95, 0x8e, 0x3c, 0x76, 0xc6, 0x05, 0xfa, 0x1d, 0x1c, 0xf4, 0x3b,
+	0x78, 0xdb, 0x92, 0xbd, 0x80, 0xfd, 0x5a, 0xe1, 0x32, 0xf3, 0x53, 0xb7, 0x3d, 0xb7, 0xc9, 0x77,
+	0x2d, 0xec, 0x93, 0x25, 0x8c, 0x84, 0xb0, 0xb5, 0x44, 0xa5, 0xed, 0x22, 0xb6, 0x8b, 0xd6, 0x7d,
+	0x4e, 0x2e, 0x60, 0xd8, 0x8f, 0x94, 0x8c, 0x61, 0xed, 0x3b, 0x5e, 0xf9, 0x62, 0xec, 0x91, 0xbc,
+	0x81, 0x8d, 0x25, 0x2d, 0x1b, 0x74, 0x75, 0x8c, 0xe6, 0x93, 0xce, 0x9c, 0xee, 0x11, 0x45, 0x67,
+	0x5c, 0x9b, 0xaf, 0x56, 0x91, 0xb6, 0xc2, 0xa3, 0xc1, 0xbb, 0xe0, 0x84, 0xc3, 0xc3, 0x5c, 0x56,
+	0xb7, 0x18, 0x79, 0xb2, 0xd7, 0x3b, 0x79, 0x6e, 0x6f, 0x38, 0x0f, 0xbe, 0x1d, 0x75, 0x2a, 0x59,
+	0x52, 0x51, 0x44, 0x52, 0x15, 0xf6, 0xdd, 0xbb, 0xfb, 0xe3, 0x96, 0xa2, 0x35, 0xd7, 0xab, 0xff,
+	0x82, 0xe3, 0xee, 0xfc, 0x37, 0x08, 0x2e, 0x37, 0x9d, 0xf2, 0xed, 0xbf, 0x00, 0x00, 0x00, 0xff,
+	0xff, 0x37, 0xed, 0xaa, 0xaa, 0x34, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/readgroup.proto b/googleapis/genomics/v1/readgroup.proto
deleted file mode 100644
index a0516e906033da845e842c5610d67918860a8cc2..0000000000000000000000000000000000000000
--- a/googleapis/genomics/v1/readgroup.proto
+++ /dev/null
@@ -1,105 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "ReadGroupProto";
-option java_package = "com.google.genomics.v1";
-
-
-// A read group is all the data that's processed the same way by the sequencer.
-message ReadGroup {
-  message Experiment {
-    // A client-supplied library identifier; a library is a collection of DNA
-    // fragments which have been prepared for sequencing from a sample. This
-    // field is important for quality control as error or bias can be introduced
-    // during sample preparation.
-    string library_id = 1;
-
-    // The platform unit used as part of this experiment, for example
-    // flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
-    // @RG PU field in the SAM spec.
-    string platform_unit = 2;
-
-    // The sequencing center used as part of this experiment.
-    string sequencing_center = 3;
-
-    // The instrument model used as part of this experiment. This maps to
-    // sequencing technology in the SAM spec.
-    string instrument_model = 4;
-  }
-
-  message Program {
-    // The command line used to run this program.
-    string command_line = 1;
-
-    // The user specified locally unique ID of the program. Used along with
-    // `prevProgramId` to define an ordering between programs.
-    string id = 2;
-
-    // The display name of the program. This is typically the colloquial name of
-    // the tool used, for example 'bwa' or 'picard'.
-    string name = 3;
-
-    // The ID of the program run before this one.
-    string prev_program_id = 4;
-
-    // The version of the program run.
-    string version = 5;
-  }
-
-  // The server-generated read group ID, unique for all read groups.
-  // Note: This is different than the @RG ID field in the SAM spec. For that
-  // value, see [name][google.genomics.v1.ReadGroup.name].
-  string id = 1;
-
-  // The dataset to which this read group belongs.
-  string dataset_id = 2;
-
-  // The read group name. This corresponds to the @RG ID field in the SAM spec.
-  string name = 3;
-
-  // A free-form text description of this read group.
-  string description = 4;
-
-  // A client-supplied sample identifier for the reads in this read group.
-  string sample_id = 5;
-
-  // The experiment used to generate this read group.
-  Experiment experiment = 6;
-
-  // The predicted insert size of this read group. The insert size is the length
-  // the sequenced DNA fragment from end-to-end, not including the adapters.
-  int32 predicted_insert_size = 7;
-
-  // The programs used to generate this read group. Programs are always
-  // identical for all read groups within a read group set. For this reason,
-  // only the first read group in a returned set will have this field
-  // populated.
-  repeated Program programs = 10;
-
-  // The reference set the reads in this read group are aligned to.
-  string reference_set_id = 11;
-
-  // A map of additional read group information. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 12;
-}
diff --git a/googleapis/genomics/v1/readgroupset.pb.go b/googleapis/genomics/v1/readgroupset.pb.go
index 8fe6c5edfb135eb2f1d3167b31efe39eb8f7195b..3fff0e52ee791ecbbe05d871ce0228a9c2ce020d 100644
--- a/googleapis/genomics/v1/readgroupset.pb.go
+++ b/googleapis/genomics/v1/readgroupset.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/readgroupset.proto
+// source: google/genomics/v1/readgroupset.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/struct"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -50,6 +50,41 @@ func (m *ReadGroupSet) String() string            { return proto.CompactTextStri
 func (*ReadGroupSet) ProtoMessage()               {}
 func (*ReadGroupSet) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{0} }
 
+func (m *ReadGroupSet) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *ReadGroupSet) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
+func (m *ReadGroupSet) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
+func (m *ReadGroupSet) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ReadGroupSet) GetFilename() string {
+	if m != nil {
+		return m.Filename
+	}
+	return ""
+}
+
 func (m *ReadGroupSet) GetReadGroups() []*ReadGroup {
 	if m != nil {
 		return m.ReadGroups
@@ -68,35 +103,31 @@ func init() {
 	proto.RegisterType((*ReadGroupSet)(nil), "google.genomics.v1.ReadGroupSet")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/readgroupset.proto", fileDescriptor8)
-}
+func init() { proto.RegisterFile("google/genomics/v1/readgroupset.proto", fileDescriptor8) }
 
 var fileDescriptor8 = []byte{
-	// 387 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x91, 0x4f, 0x8b, 0xdb, 0x30,
-	0x10, 0xc5, 0xb1, 0xf3, 0xa7, 0x8d, 0x52, 0x42, 0xaa, 0x43, 0x31, 0x86, 0x40, 0xe8, 0x29, 0xf4,
-	0x20, 0x25, 0x29, 0x85, 0xd2, 0x43, 0xa0, 0xa1, 0xa5, 0x04, 0x7a, 0x08, 0x36, 0xf4, 0x1a, 0x14,
-	0x7b, 0xac, 0x8a, 0xda, 0x92, 0x91, 0x64, 0x43, 0xbe, 0x73, 0x3f, 0xc0, 0x1e, 0x17, 0xcb, 0x7f,
-	0x58, 0xd8, 0x65, 0x59, 0xd8, 0x93, 0xc7, 0x6f, 0xde, 0xfc, 0x78, 0x9a, 0x41, 0x3f, 0xb8, 0x52,
-	0x3c, 0x07, 0xc2, 0x55, 0xce, 0x24, 0x27, 0x4a, 0x73, 0xca, 0x41, 0x96, 0x5a, 0x59, 0x45, 0xdb,
-	0x16, 0x2b, 0x85, 0x69, 0x34, 0x55, 0x88, 0xc4, 0xd0, 0x7a, 0x47, 0x35, 0xb0, 0x94, 0x6b, 0x55,
-	0x95, 0x06, 0x2c, 0x71, 0x4e, 0x8c, 0x7b, 0x4a, 0x67, 0x23, 0xf5, 0x2e, 0x3c, 0xbd, 0x8c, 0xcc,
-	0x4a, 0x41, 0x0d, 0xe8, 0x5a, 0x24, 0x90, 0x28, 0x99, 0x09, 0x4e, 0x99, 0x94, 0xca, 0x32, 0x2b,
-	0x94, 0x34, 0x2d, 0x3e, 0xfc, 0xfe, 0x8a, 0x90, 0x1d, 0xe2, 0x0b, 0x17, 0xf6, 0x6f, 0x75, 0x25,
-	0x89, 0x2a, 0x68, 0x8b, 0xa1, 0xae, 0x71, 0xad, 0x32, 0x5a, 0xda, 0x5b, 0x09, 0x86, 0x1a, 0xab,
-	0xab, 0xc4, 0x76, 0x9f, 0x76, 0xec, 0xe3, 0x7f, 0x1f, 0xbd, 0x8b, 0x80, 0xa5, 0xbf, 0x1a, 0x54,
-	0x0c, 0x16, 0x2f, 0x90, 0x2f, 0xd2, 0xc0, 0x5b, 0x7b, 0x9b, 0x59, 0xe4, 0x8b, 0x14, 0xaf, 0x10,
-	0x4a, 0x99, 0x65, 0x06, 0xec, 0x45, 0xa4, 0x81, 0xef, 0xf4, 0x59, 0xa7, 0x9c, 0x52, 0xbc, 0x41,
-	0x4b, 0x0d, 0x19, 0x68, 0x90, 0x09, 0x5c, 0x3a, 0xd3, 0xc8, 0x99, 0x16, 0x83, 0x1e, 0x3b, 0x27,
-	0x46, 0x63, 0xc9, 0x0a, 0x08, 0xc6, 0xae, 0xeb, 0x6a, 0x1c, 0xa2, 0xb7, 0x99, 0xc8, 0xc1, 0xe9,
-	0x13, 0xa7, 0x0f, 0xff, 0xf8, 0x80, 0xe6, 0xcd, 0x1b, 0x2f, 0xed, 0x25, 0x82, 0xe9, 0x7a, 0xb4,
-	0x99, 0xef, 0x57, 0xe4, 0xf1, 0x21, 0xc8, 0x90, 0x3f, 0x42, 0xba, 0x2f, 0x0d, 0x3e, 0xa0, 0xb1,
-	0x90, 0x99, 0x0a, 0xde, 0xb8, 0xc1, 0x4f, 0xcf, 0x0e, 0xc6, 0x60, 0xc9, 0x49, 0x66, 0xea, 0xa7,
-	0xb4, 0xfa, 0x16, 0xb9, 0xb9, 0x30, 0x46, 0xb3, 0x41, 0xc2, 0x4b, 0x34, 0xfa, 0x07, 0xb7, 0x6e,
-	0x2d, 0x4d, 0x89, 0xb7, 0x68, 0x52, 0xb3, 0xbc, 0x02, 0xb7, 0x92, 0xf9, 0x3e, 0xec, 0xf9, 0xfd,
-	0xd2, 0xc9, 0x6f, 0x61, 0xec, 0x9f, 0xc6, 0x11, 0xb5, 0xc6, 0x6f, 0xfe, 0x57, 0xef, 0xb8, 0x45,
-	0x1f, 0x12, 0x55, 0x3c, 0x91, 0xe5, 0xf8, 0xfe, 0x61, 0x98, 0x73, 0x03, 0x39, 0x7b, 0x77, 0x9e,
-	0x77, 0x9d, 0x3a, 0xe0, 0xe7, 0xfb, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdf, 0xc2, 0x82, 0x2e, 0xc8,
-	0x02, 0x00, 0x00,
+	// 367 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0x4f, 0x8b, 0xdb, 0x30,
+	0x10, 0xc5, 0xb1, 0xf3, 0xa7, 0xcd, 0xa4, 0x84, 0x54, 0x87, 0x62, 0x4c, 0x03, 0x21, 0x50, 0x08,
+	0x3d, 0xc8, 0x4d, 0x7a, 0x29, 0x29, 0xe4, 0x10, 0x28, 0x25, 0xb0, 0x87, 0x60, 0xc3, 0x1e, 0xf6,
+	0x12, 0x14, 0x7b, 0x6c, 0xc4, 0x3a, 0x92, 0x91, 0xe4, 0x40, 0xbe, 0xf3, 0x7e, 0x80, 0x3d, 0x2e,
+	0x96, 0xff, 0x10, 0xd8, 0x25, 0xb7, 0xd1, 0xd3, 0xef, 0x8d, 0x46, 0x6f, 0xe0, 0x47, 0x26, 0x65,
+	0x96, 0x63, 0x90, 0xa1, 0x90, 0x67, 0x1e, 0xeb, 0xe0, 0xb2, 0x0a, 0x14, 0xb2, 0x24, 0x53, 0xb2,
+	0x2c, 0x34, 0x1a, 0x5a, 0x28, 0x69, 0x24, 0x21, 0x35, 0x46, 0x5b, 0x8c, 0x5e, 0x56, 0xfe, 0xf7,
+	0xc6, 0xca, 0x0a, 0x1e, 0x30, 0x21, 0xa4, 0x61, 0x86, 0x4b, 0xa1, 0x6b, 0x87, 0xbf, 0xb8, 0xd7,
+	0xb8, 0x61, 0xda, 0x0e, 0xf6, 0x74, 0x2a, 0xd3, 0x40, 0x1b, 0x55, 0xc6, 0xcd, 0x9b, 0x8b, 0x17,
+	0x17, 0xbe, 0x84, 0xc8, 0x92, 0xff, 0x95, 0x23, 0x42, 0x43, 0x26, 0xe0, 0xf2, 0xc4, 0x73, 0xe6,
+	0xce, 0x72, 0x14, 0xba, 0x3c, 0x21, 0x33, 0x80, 0x84, 0x19, 0xa6, 0xd1, 0x1c, 0x79, 0xe2, 0xb9,
+	0x56, 0x1f, 0x35, 0xca, 0x3e, 0x21, 0x4b, 0x98, 0x2a, 0x4c, 0x51, 0xa1, 0x88, 0xf1, 0xd8, 0x40,
+	0x3d, 0x0b, 0x4d, 0x3a, 0x3d, 0xb2, 0x24, 0x81, 0xbe, 0x60, 0x67, 0xf4, 0xfa, 0xf6, 0xd6, 0xd6,
+	0xc4, 0x87, 0xcf, 0x29, 0xcf, 0xd1, 0xea, 0x03, 0xab, 0x77, 0x67, 0xb2, 0x85, 0x71, 0xf5, 0x95,
+	0x63, 0x1d, 0x92, 0x37, 0x9c, 0xf7, 0x96, 0xe3, 0xf5, 0x8c, 0xbe, 0xcf, 0x88, 0x76, 0xf3, 0x87,
+	0xa0, 0xda, 0x52, 0x93, 0x2d, 0xf4, 0xb9, 0x48, 0xa5, 0xf7, 0xc9, 0x1a, 0x7f, 0xde, 0x35, 0x46,
+	0x68, 0xe8, 0x5e, 0xa4, 0xf2, 0x9f, 0x30, 0xea, 0x1a, 0x5a, 0x9f, 0x1f, 0xc1, 0xa8, 0x93, 0xc8,
+	0x14, 0x7a, 0xcf, 0x78, 0x6d, 0x62, 0xa9, 0x4a, 0xf2, 0x0b, 0x06, 0x17, 0x96, 0x97, 0x68, 0x23,
+	0x19, 0xaf, 0xfd, 0xb6, 0x7f, 0x1b, 0x33, 0x7d, 0xe0, 0xda, 0x3c, 0x56, 0x44, 0x58, 0x83, 0x1b,
+	0xf7, 0x8f, 0xb3, 0xcb, 0xe1, 0x5b, 0x2c, 0xcf, 0x1f, 0xcc, 0xb2, 0xfb, 0x7a, 0x3b, 0xcc, 0xa1,
+	0x6a, 0x72, 0x70, 0x9e, 0x36, 0x2d, 0x28, 0x73, 0x26, 0x32, 0x2a, 0x55, 0x56, 0xad, 0xda, 0x3e,
+	0x11, 0xd4, 0x57, 0xac, 0xe0, 0xfa, 0x76, 0xfd, 0x7f, 0xdb, 0xfa, 0xd5, 0x71, 0x4e, 0x43, 0x4b,
+	0xfe, 0x7e, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x1f, 0xa9, 0x2f, 0xa5, 0x80, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/readgroupset.proto b/googleapis/genomics/v1/readgroupset.proto
deleted file mode 100644
index 091fbd4369c3b4d03a2f83845f8ec8e77e7ced07..0000000000000000000000000000000000000000
--- a/googleapis/genomics/v1/readgroupset.proto
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/genomics/v1/readgroup.proto"; // from google/genomics/v1/readgroup.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "ReadGroupSetProto";
-option java_package = "com.google.genomics.v1";
-
-
-// A read group set is a logical collection of read groups, which are
-// collections of reads produced by a sequencer. A read group set typically
-// models reads corresponding to one sample, sequenced one way, and aligned one
-// way.
-//
-// * A read group set belongs to one dataset.
-// * A read group belongs to one read group set.
-// * A read belongs to one read group.
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-message ReadGroupSet {
-  // The server-generated read group set ID, unique for all read group sets.
-  string id = 1;
-
-  // The dataset to which this read group set belongs.
-  string dataset_id = 2;
-
-  // The reference set to which the reads in this read group set are aligned.
-  string reference_set_id = 3;
-
-  // The read group set name. By default this will be initialized to the sample
-  // name of the sequenced data contained in this set.
-  string name = 4;
-
-  // The filename of the original source file for this read group set, if any.
-  string filename = 5;
-
-  // The read groups in this set. There are typically 1-10 read groups in a read
-  // group set.
-  repeated ReadGroup read_groups = 6;
-
-  // A map of additional read group set information.
-  map<string, google.protobuf.ListValue> info = 7;
-}
diff --git a/googleapis/genomics/v1/reads.pb.go b/googleapis/genomics/v1/reads.pb.go
index 957b3a87a264d83a36f4fa86142088ca7b208b54..2315bd0a17b58e07bf26715dd1e2c662af6e01e0 100644
--- a/googleapis/genomics/v1/reads.pb.go
+++ b/googleapis/genomics/v1/reads.pb.go
@@ -1,16 +1,16 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/reads.proto
+// source: google/genomics/v1/reads.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
-import google_protobuf2 "google.golang.org/genproto/protobuf"
+import google_protobuf2 "google.golang.org/genproto/protobuf/field_mask"
 
 import (
 	context "golang.org/x/net/context"
@@ -81,6 +81,34 @@ func (m *SearchReadGroupSetsRequest) String() string            { return proto.C
 func (*SearchReadGroupSetsRequest) ProtoMessage()               {}
 func (*SearchReadGroupSetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{0} }
 
+func (m *SearchReadGroupSetsRequest) GetDatasetIds() []string {
+	if m != nil {
+		return m.DatasetIds
+	}
+	return nil
+}
+
+func (m *SearchReadGroupSetsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *SearchReadGroupSetsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchReadGroupSetsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // The read group set search response.
 type SearchReadGroupSetsResponse struct {
 	// The list of matching read group sets.
@@ -103,6 +131,13 @@ func (m *SearchReadGroupSetsResponse) GetReadGroupSets() []*ReadGroupSet {
 	return nil
 }
 
+func (m *SearchReadGroupSetsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The read group set import request.
 type ImportReadGroupSetsRequest struct {
 	// Required. The ID of the dataset these read group sets will belong to. The
@@ -127,6 +162,34 @@ func (m *ImportReadGroupSetsRequest) String() string            { return proto.C
 func (*ImportReadGroupSetsRequest) ProtoMessage()               {}
 func (*ImportReadGroupSetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{2} }
 
+func (m *ImportReadGroupSetsRequest) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
+func (m *ImportReadGroupSetsRequest) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
+func (m *ImportReadGroupSetsRequest) GetSourceUris() []string {
+	if m != nil {
+		return m.SourceUris
+	}
+	return nil
+}
+
+func (m *ImportReadGroupSetsRequest) GetPartitionStrategy() ImportReadGroupSetsRequest_PartitionStrategy {
+	if m != nil {
+		return m.PartitionStrategy
+	}
+	return ImportReadGroupSetsRequest_PARTITION_STRATEGY_UNSPECIFIED
+}
+
 // The read group set import response.
 type ImportReadGroupSetsResponse struct {
 	// IDs of the read group sets that were created.
@@ -138,6 +201,13 @@ func (m *ImportReadGroupSetsResponse) String() string            { return proto.
 func (*ImportReadGroupSetsResponse) ProtoMessage()               {}
 func (*ImportReadGroupSetsResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{3} }
 
+func (m *ImportReadGroupSetsResponse) GetReadGroupSetIds() []string {
+	if m != nil {
+		return m.ReadGroupSetIds
+	}
+	return nil
+}
+
 // The read group set export request.
 type ExportReadGroupSetRequest struct {
 	// Required. The Google Developers Console project ID that owns this
@@ -161,6 +231,34 @@ func (m *ExportReadGroupSetRequest) String() string            { return proto.Co
 func (*ExportReadGroupSetRequest) ProtoMessage()               {}
 func (*ExportReadGroupSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{4} }
 
+func (m *ExportReadGroupSetRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ExportReadGroupSetRequest) GetExportUri() string {
+	if m != nil {
+		return m.ExportUri
+	}
+	return ""
+}
+
+func (m *ExportReadGroupSetRequest) GetReadGroupSetId() string {
+	if m != nil {
+		return m.ReadGroupSetId
+	}
+	return ""
+}
+
+func (m *ExportReadGroupSetRequest) GetReferenceNames() []string {
+	if m != nil {
+		return m.ReferenceNames
+	}
+	return nil
+}
+
 type UpdateReadGroupSetRequest struct {
 	// The ID of the read group set to be updated. The caller must have WRITE
 	// permissions to the dataset associated with this read group set.
@@ -183,6 +281,13 @@ func (m *UpdateReadGroupSetRequest) String() string            { return proto.Co
 func (*UpdateReadGroupSetRequest) ProtoMessage()               {}
 func (*UpdateReadGroupSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{5} }
 
+func (m *UpdateReadGroupSetRequest) GetReadGroupSetId() string {
+	if m != nil {
+		return m.ReadGroupSetId
+	}
+	return ""
+}
+
 func (m *UpdateReadGroupSetRequest) GetReadGroupSet() *ReadGroupSet {
 	if m != nil {
 		return m.ReadGroupSet
@@ -208,6 +313,13 @@ func (m *DeleteReadGroupSetRequest) String() string            { return proto.Co
 func (*DeleteReadGroupSetRequest) ProtoMessage()               {}
 func (*DeleteReadGroupSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{6} }
 
+func (m *DeleteReadGroupSetRequest) GetReadGroupSetId() string {
+	if m != nil {
+		return m.ReadGroupSetId
+	}
+	return ""
+}
+
 type GetReadGroupSetRequest struct {
 	// The ID of the read group set.
 	ReadGroupSetId string `protobuf:"bytes,1,opt,name=read_group_set_id,json=readGroupSetId" json:"read_group_set_id,omitempty"`
@@ -218,6 +330,13 @@ func (m *GetReadGroupSetRequest) String() string            { return proto.Compa
 func (*GetReadGroupSetRequest) ProtoMessage()               {}
 func (*GetReadGroupSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{7} }
 
+func (m *GetReadGroupSetRequest) GetReadGroupSetId() string {
+	if m != nil {
+		return m.ReadGroupSetId
+	}
+	return ""
+}
+
 type ListCoverageBucketsRequest struct {
 	// Required. The ID of the read group set over which coverage is requested.
 	ReadGroupSetId string `protobuf:"bytes,1,opt,name=read_group_set_id,json=readGroupSetId" json:"read_group_set_id,omitempty"`
@@ -253,6 +372,55 @@ func (m *ListCoverageBucketsRequest) String() string            { return proto.C
 func (*ListCoverageBucketsRequest) ProtoMessage()               {}
 func (*ListCoverageBucketsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{8} }
 
+func (m *ListCoverageBucketsRequest) GetReadGroupSetId() string {
+	if m != nil {
+		return m.ReadGroupSetId
+	}
+	return ""
+}
+
+func (m *ListCoverageBucketsRequest) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *ListCoverageBucketsRequest) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *ListCoverageBucketsRequest) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *ListCoverageBucketsRequest) GetTargetBucketWidth() int64 {
+	if m != nil {
+		return m.TargetBucketWidth
+	}
+	return 0
+}
+
+func (m *ListCoverageBucketsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListCoverageBucketsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // A bucket over which read coverage has been precomputed. A bucket corresponds
 // to a specific range of the reference sequence.
 type CoverageBucket struct {
@@ -275,6 +443,13 @@ func (m *CoverageBucket) GetRange() *Range {
 	return nil
 }
 
+func (m *CoverageBucket) GetMeanCoverage() float32 {
+	if m != nil {
+		return m.MeanCoverage
+	}
+	return 0
+}
+
 type ListCoverageBucketsResponse struct {
 	// The length of each coverage bucket in base pairs. Note that buckets at the
 	// end of a reference sequence may be shorter. This value is omitted if the
@@ -297,6 +472,13 @@ func (m *ListCoverageBucketsResponse) String() string            { return proto.
 func (*ListCoverageBucketsResponse) ProtoMessage()               {}
 func (*ListCoverageBucketsResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{10} }
 
+func (m *ListCoverageBucketsResponse) GetBucketWidth() int64 {
+	if m != nil {
+		return m.BucketWidth
+	}
+	return 0
+}
+
 func (m *ListCoverageBucketsResponse) GetCoverageBuckets() []*CoverageBucket {
 	if m != nil {
 		return m.CoverageBuckets
@@ -304,6 +486,13 @@ func (m *ListCoverageBucketsResponse) GetCoverageBuckets() []*CoverageBucket {
 	return nil
 }
 
+func (m *ListCoverageBucketsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The read search request.
 type SearchReadsRequest struct {
 	// The IDs of the read groups sets within which to search for reads. All
@@ -339,6 +528,55 @@ func (m *SearchReadsRequest) String() string            { return proto.CompactTe
 func (*SearchReadsRequest) ProtoMessage()               {}
 func (*SearchReadsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{11} }
 
+func (m *SearchReadsRequest) GetReadGroupSetIds() []string {
+	if m != nil {
+		return m.ReadGroupSetIds
+	}
+	return nil
+}
+
+func (m *SearchReadsRequest) GetReadGroupIds() []string {
+	if m != nil {
+		return m.ReadGroupIds
+	}
+	return nil
+}
+
+func (m *SearchReadsRequest) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *SearchReadsRequest) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *SearchReadsRequest) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *SearchReadsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchReadsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // The read search response.
 type SearchReadsResponse struct {
 	// The list of matching alignments sorted by mapped genomic coordinate,
@@ -364,6 +602,13 @@ func (m *SearchReadsResponse) GetAlignments() []*Read {
 	return nil
 }
 
+func (m *SearchReadsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The stream reads request.
 type StreamReadsRequest struct {
 	// The Google Developers Console project ID or number which will be billed
@@ -410,6 +655,55 @@ func (m *StreamReadsRequest) String() string            { return proto.CompactTe
 func (*StreamReadsRequest) ProtoMessage()               {}
 func (*StreamReadsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{13} }
 
+func (m *StreamReadsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *StreamReadsRequest) GetReadGroupSetId() string {
+	if m != nil {
+		return m.ReadGroupSetId
+	}
+	return ""
+}
+
+func (m *StreamReadsRequest) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *StreamReadsRequest) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *StreamReadsRequest) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *StreamReadsRequest) GetShard() int32 {
+	if m != nil {
+		return m.Shard
+	}
+	return 0
+}
+
+func (m *StreamReadsRequest) GetTotalShards() int32 {
+	if m != nil {
+		return m.TotalShards
+	}
+	return 0
+}
+
 type StreamReadsResponse struct {
 	Alignments []*Read `protobuf:"bytes,1,rep,name=alignments" json:"alignments,omitempty"`
 }
@@ -545,7 +839,7 @@ var _StreamingReadService_serviceDesc = grpc.ServiceDesc{
 			ServerStreams: true,
 		},
 	},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1/reads.proto",
+	Metadata: "google/genomics/v1/reads.proto",
 }
 
 // Client API for ReadServiceV1 service
@@ -1020,98 +1314,95 @@ var _ReadServiceV1_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1/reads.proto",
+	Metadata: "google/genomics/v1/reads.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/reads.proto", fileDescriptor9)
-}
+func init() { proto.RegisterFile("google/genomics/v1/reads.proto", fileDescriptor9) }
 
 var fileDescriptor9 = []byte{
-	// 1358 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x57, 0xcf, 0x6f, 0x1b, 0xc5,
-	0x17, 0xff, 0x8e, 0x1d, 0xb7, 0xcd, 0x73, 0x93, 0x38, 0xe3, 0x7e, 0x8b, 0xe3, 0x28, 0x34, 0x6c,
-	0x69, 0x9b, 0x06, 0xea, 0x25, 0x2e, 0xa8, 0x28, 0xa8, 0x12, 0x49, 0xeb, 0x04, 0xa3, 0xa4, 0xb5,
-	0xd6, 0x09, 0x88, 0xd3, 0x6a, 0xe2, 0x9d, 0x6c, 0x96, 0xd8, 0xbb, 0xcb, 0xce, 0x38, 0xfd, 0xa5,
-	0x5e, 0x7a, 0x03, 0x09, 0x38, 0x20, 0x4e, 0x5c, 0xb9, 0x72, 0x44, 0xfc, 0x11, 0x9c, 0x10, 0x17,
-	0xfe, 0x00, 0xc4, 0x1f, 0xc0, 0x89, 0x23, 0x9a, 0xd9, 0xdd, 0x78, 0xd7, 0x3b, 0x4e, 0x9c, 0x56,
-	0xe2, 0x12, 0x79, 0xdf, 0xbc, 0xf9, 0xcc, 0xe7, 0xfd, 0x7e, 0x81, 0xbb, 0xb6, 0xe7, 0xd9, 0x5d,
-	0x5a, 0xb3, 0xbd, 0x2e, 0x71, 0xed, 0x9a, 0x17, 0xd8, 0xba, 0x4d, 0x5d, 0x3f, 0xf0, 0xb8, 0xa7,
-	0x87, 0x47, 0xc4, 0x77, 0x98, 0x90, 0x79, 0x3d, 0xa7, 0xc3, 0xf4, 0xa3, 0x15, 0x3d, 0xa0, 0xc4,
-	0x62, 0x35, 0xa9, 0x82, 0x71, 0x7c, 0x3d, 0x3a, 0xaf, 0x1d, 0xad, 0x54, 0x9b, 0xe3, 0x41, 0x12,
-	0xdf, 0xd1, 0x19, 0x0d, 0x8e, 0x9c, 0x0e, 0xed, 0x78, 0xee, 0xbe, 0x63, 0xeb, 0xc4, 0x75, 0x3d,
-	0x4e, 0xb8, 0xe3, 0xb9, 0x11, 0x7c, 0xf5, 0x65, 0xd8, 0x11, 0xd7, 0xa6, 0xd1, 0xf5, 0xc6, 0xcb,
-	0x19, 0x47, 0xba, 0x8e, 0xed, 0xf6, 0xa8, 0xcb, 0x23, 0x98, 0xfb, 0x2f, 0x07, 0x63, 0x07, 0x5e,
-	0xdf, 0x67, 0x34, 0x46, 0x59, 0x1f, 0x0f, 0xa5, 0xeb, 0xb9, 0x76, 0xd0, 0x77, 0x5d, 0xc7, 0xb5,
-	0x75, 0xcf, 0xa7, 0x41, 0xca, 0x1f, 0xb7, 0x6d, 0x87, 0x1f, 0xf4, 0xf7, 0x6a, 0x1d, 0xaf, 0xa7,
-	0x87, 0x38, 0xba, 0x3c, 0xd8, 0xeb, 0xef, 0xeb, 0x3e, 0x7f, 0xe2, 0x53, 0xa6, 0xd3, 0x9e, 0xcf,
-	0x9f, 0x84, 0x7f, 0xa3, 0x4b, 0xef, 0x9e, 0xf0, 0xf0, 0xf1, 0xed, 0x7d, 0x87, 0x76, 0x2d, 0xb3,
-	0x47, 0xd8, 0x61, 0x78, 0x4b, 0xfb, 0x1a, 0x41, 0xb5, 0x4d, 0x49, 0xd0, 0x39, 0x30, 0x28, 0xb1,
-	0x36, 0x85, 0x2d, 0x6d, 0xca, 0x99, 0x41, 0xbf, 0xe8, 0x53, 0xc6, 0xf1, 0x15, 0x28, 0x5a, 0x84,
-	0x13, 0x46, 0xb9, 0xe9, 0x58, 0xac, 0x82, 0x16, 0xf3, 0x4b, 0x93, 0x06, 0x44, 0xa2, 0xa6, 0xc5,
-	0x30, 0x86, 0x09, 0x97, 0xf4, 0x68, 0x25, 0xbf, 0x88, 0x96, 0x26, 0x0d, 0xf9, 0x1b, 0x2f, 0x00,
-	0xf8, 0xc4, 0xa6, 0x26, 0xf7, 0x0e, 0xa9, 0x5b, 0xc9, 0xc9, 0x93, 0x49, 0x21, 0xd9, 0x11, 0x02,
-	0x3c, 0x0f, 0xf2, 0xc3, 0x64, 0xce, 0x53, 0x5a, 0x99, 0x58, 0x44, 0x4b, 0x05, 0xe3, 0x82, 0x10,
-	0xb4, 0x9d, 0xa7, 0x54, 0xfb, 0x16, 0xc1, 0xbc, 0x92, 0x0f, 0xf3, 0x3d, 0x97, 0x51, 0xfc, 0x11,
-	0xcc, 0x08, 0xa7, 0x9b, 0xd2, 0xeb, 0x26, 0xa3, 0x3c, 0x24, 0x55, 0xac, 0x2f, 0xd6, 0xb2, 0x39,
-	0x5a, 0x4b, 0x62, 0x18, 0x53, 0x41, 0x12, 0x11, 0x5f, 0x87, 0x19, 0x97, 0x3e, 0xe6, 0x66, 0x86,
-	0xea, 0x94, 0x10, 0xb7, 0x62, 0xba, 0xda, 0x1f, 0x39, 0xa8, 0x36, 0x7b, 0xbe, 0x17, 0x70, 0xa5,
-	0x87, 0x16, 0x00, 0x06, 0x1e, 0xaa, 0xa0, 0xd0, 0xd8, 0x63, 0x07, 0xe1, 0x25, 0x28, 0x05, 0x74,
-	0x9f, 0x06, 0xd4, 0xed, 0x50, 0x33, 0x52, 0x9a, 0x90, 0x4a, 0xd3, 0xc7, 0xf2, 0xb6, 0xd4, 0xbc,
-	0x02, 0x45, 0xe6, 0xf5, 0x83, 0x0e, 0x35, 0xfb, 0x81, 0xc3, 0x2a, 0xb9, 0xd0, 0xd5, 0xa1, 0x68,
-	0x37, 0x70, 0x18, 0xf6, 0x00, 0xfb, 0x24, 0xe0, 0x8e, 0xc8, 0x14, 0x93, 0xf1, 0x80, 0x70, 0x6a,
-	0x3f, 0xa9, 0x14, 0x16, 0xd1, 0xd2, 0x74, 0xfd, 0x43, 0x95, 0xf5, 0xa3, 0x59, 0xd7, 0x5a, 0x31,
-	0x50, 0x3b, 0xc2, 0x31, 0x66, 0xfd, 0x61, 0x91, 0x66, 0xc2, 0x6c, 0x46, 0x0f, 0x6b, 0xf0, 0x7a,
-	0x6b, 0xcd, 0xd8, 0x69, 0xee, 0x34, 0x1f, 0x3e, 0x30, 0xdb, 0x3b, 0xc6, 0xda, 0x4e, 0x63, 0xf3,
-	0x33, 0x73, 0xf7, 0x41, 0xbb, 0xd5, 0xb8, 0xd7, 0xdc, 0x68, 0x36, 0xee, 0x97, 0xfe, 0x87, 0x5f,
-	0x83, 0x72, 0xab, 0x61, 0x98, 0x1b, 0xcd, 0xad, 0x86, 0x29, 0x7e, 0xb4, 0xd7, 0xb6, 0x5b, 0x5b,
-	0x8d, 0x12, 0xc2, 0x53, 0x30, 0xb9, 0xdd, 0x30, 0x36, 0x1b, 0xe6, 0xda, 0xd6, 0x56, 0x29, 0xa7,
-	0x7d, 0x0c, 0xf3, 0x4a, 0x8e, 0x51, 0xac, 0xdf, 0x02, 0x9c, 0x8e, 0x75, 0x22, 0x07, 0x67, 0x92,
-	0xc1, 0x6c, 0x5a, 0x4c, 0xfb, 0x09, 0xc1, 0x5c, 0xe3, 0xf1, 0x30, 0x58, 0x22, 0x4a, 0x7e, 0xe0,
-	0x7d, 0x4e, 0x3b, 0xc9, 0x28, 0x45, 0x92, 0xa6, 0x25, 0x8e, 0xa9, 0xbc, 0x2b, 0x7c, 0x1f, 0x67,
-	0x6c, 0x28, 0xd9, 0x0d, 0x1c, 0x7c, 0x13, 0x66, 0x33, 0x44, 0xa2, 0x8c, 0x9f, 0x4e, 0xf3, 0xc0,
-	0x37, 0x44, 0x7e, 0xc6, 0xf1, 0x16, 0xd5, 0xc0, 0x2a, 0x13, 0x92, 0xf0, 0x20, 0xdc, 0x0f, 0x84,
-	0x54, 0xfb, 0x15, 0xc1, 0xdc, 0xae, 0x6f, 0x11, 0x4e, 0x55, 0x7c, 0x95, 0x2f, 0x22, 0xe5, 0x8b,
-	0x1b, 0x30, 0x9d, 0x56, 0x95, 0xfc, 0xc7, 0x29, 0x88, 0x8b, 0x49, 0x24, 0xfc, 0x01, 0x14, 0xfb,
-	0x92, 0x8f, 0x6c, 0x0f, 0xd2, 0xbc, 0x62, 0xbd, 0x1a, 0x83, 0xc4, 0x1d, 0xa4, 0xb6, 0x21, 0x3a,
-	0xc8, 0x36, 0x61, 0x87, 0x06, 0x84, 0xea, 0xe2, 0xb7, 0xb6, 0x01, 0x73, 0xf7, 0x69, 0x97, 0xbe,
-	0xaa, 0x31, 0xda, 0x3d, 0xb8, 0xbc, 0x49, 0xf9, 0x2b, 0x82, 0xbc, 0xc8, 0x41, 0x75, 0xcb, 0x61,
-	0xfc, 0x9e, 0x77, 0x44, 0x03, 0x62, 0xd3, 0xf5, 0x7e, 0xe7, 0x30, 0x51, 0xb1, 0x67, 0xf0, 0xed,
-	0x35, 0x98, 0x4e, 0x47, 0x33, 0x8a, 0xfa, 0x54, 0x2a, 0x98, 0xf8, 0x12, 0x14, 0x18, 0x27, 0x01,
-	0x97, 0x95, 0x9d, 0x37, 0xc2, 0x0f, 0x5c, 0x82, 0x3c, 0x75, 0x2d, 0x59, 0xa0, 0x79, 0x43, 0xfc,
-	0xc4, 0x35, 0x28, 0x73, 0x12, 0xd8, 0x94, 0x9b, 0x7b, 0x92, 0x92, 0xf9, 0xc8, 0xb1, 0xf8, 0x41,
-	0xe5, 0x9c, 0xd4, 0x98, 0x0d, 0x8f, 0x42, 0xb2, 0x9f, 0x8a, 0x83, 0xa1, 0x46, 0x7a, 0xfe, 0xc4,
-	0x46, 0x7a, 0x61, 0xa8, 0x91, 0xee, 0xc3, 0x74, 0xda, 0x7e, 0xac, 0x43, 0x41, 0x4e, 0x4d, 0x69,
-	0x6b, 0xb1, 0x3e, 0xa7, 0xcc, 0x0f, 0xa1, 0x60, 0x84, 0x7a, 0xf8, 0x2a, 0x4c, 0xf5, 0x28, 0x71,
-	0xcd, 0x4e, 0x84, 0x23, 0x13, 0x2b, 0x67, 0x5c, 0x14, 0xc2, 0x18, 0x5b, 0xfb, 0x05, 0xc1, 0xbc,
-	0xd2, 0xd9, 0x51, 0x11, 0xbf, 0x01, 0x17, 0x53, 0xc6, 0x22, 0x69, 0x6c, 0x71, 0x2f, 0x61, 0xe6,
-	0x36, 0x94, 0xe2, 0x27, 0x22, 0xc7, 0x84, 0xed, 0xaf, 0x58, 0xd7, 0x54, 0x1c, 0xd3, 0x2f, 0x19,
-	0x33, 0x9d, 0xf4, 0xcb, 0xaa, 0xc6, 0x9e, 0x57, 0x35, 0xf6, 0xbf, 0x11, 0xe0, 0xc1, 0xa8, 0x39,
-	0x4e, 0x8f, 0xb3, 0x74, 0x1d, 0xfc, 0x66, 0xaa, 0xf8, 0x84, 0x62, 0x41, 0x2a, 0x0e, 0x4a, 0x4b,
-	0x68, 0x65, 0xd3, 0xe8, 0xfc, 0x89, 0x69, 0x74, 0x41, 0x91, 0x46, 0x93, 0x83, 0x34, 0x4a, 0xa7,
-	0x45, 0xfe, 0x4c, 0xf3, 0xf5, 0x11, 0x94, 0x53, 0x36, 0x47, 0x51, 0x7a, 0x1f, 0xe0, 0x78, 0x1d,
-	0x8a, 0x27, 0x6a, 0x65, 0x54, 0x03, 0x31, 0x12, 0xba, 0x63, 0x8f, 0xd1, 0xbf, 0x84, 0xb7, 0x79,
-	0x40, 0x49, 0x2f, 0xe5, 0xed, 0x53, 0x1a, 0xb3, 0xb2, 0x56, 0x73, 0xff, 0x45, 0xad, 0x0a, 0xbd,
-	0x03, 0x12, 0x58, 0xb2, 0x3a, 0x0b, 0x46, 0xf8, 0x21, 0xb2, 0x99, 0x7b, 0x9c, 0x74, 0x4d, 0xf9,
-	0xc9, 0x64, 0x1c, 0x0b, 0x46, 0x51, 0xca, 0xda, 0x52, 0xa4, 0x3d, 0x84, 0x72, 0xca, 0xce, 0x57,
-	0xf5, 0x70, 0xfd, 0x7b, 0x04, 0x97, 0x42, 0x44, 0xc7, 0xb5, 0xc5, 0x69, 0x3b, 0x5c, 0xa7, 0xf1,
-	0x73, 0x28, 0x26, 0x5e, 0xc2, 0xd7, 0x55, 0x68, 0x59, 0x97, 0x57, 0x6f, 0x9c, 0xaa, 0x17, 0x52,
-	0xd6, 0xe6, 0x5f, 0xfc, 0xfe, 0xe7, 0x77, 0xb9, 0xff, 0x6b, 0xa5, 0xe3, 0x7f, 0x07, 0x56, 0x99,
-	0x54, 0x5b, 0x45, 0xcb, 0xef, 0xa0, 0xfa, 0x6f, 0x93, 0x30, 0x95, 0xa0, 0xf3, 0xc9, 0x0a, 0xfe,
-	0x12, 0x41, 0x59, 0x31, 0xd0, 0x71, 0xed, 0x6c, 0xdb, 0x49, 0x75, 0x21, 0xd6, 0x4f, 0x6c, 0xc9,
-	0xb5, 0x87, 0xf1, 0x96, 0xac, 0x5d, 0x95, 0xbc, 0x16, 0xb4, 0xca, 0xf0, 0x0a, 0xce, 0x56, 0x1d,
-	0x09, 0xba, 0x8a, 0x96, 0xf1, 0x0f, 0x08, 0x70, 0x76, 0x1f, 0xc0, 0xb7, 0x54, 0x54, 0x46, 0xee,
-	0x0d, 0xa7, 0x31, 0xb9, 0x23, 0x99, 0xac, 0x68, 0x6f, 0x67, 0x98, 0xe8, 0xcf, 0x32, 0x79, 0xfb,
-	0x7c, 0x35, 0xdc, 0x28, 0x22, 0x76, 0x65, 0xc5, 0x9a, 0xab, 0xf6, 0xd4, 0xe8, 0xfd, 0xbc, 0xaa,
-	0x8f, 0xad, 0x1f, 0xc5, 0x74, 0xb4, 0xef, 0x74, 0x26, 0xaf, 0x09, 0x76, 0x3f, 0x22, 0xc0, 0xd9,
-	0xdd, 0x44, 0xed, 0xbb, 0x91, 0x3b, 0x4c, 0xf5, 0xd4, 0x05, 0x44, 0xbb, 0x2b, 0xc9, 0xdc, 0xa9,
-	0x5f, 0x1b, 0xcf, 0x7d, 0x43, 0x7b, 0x0e, 0xfe, 0x0a, 0x01, 0xce, 0x6e, 0x1d, 0x6a, 0x9a, 0x23,
-	0xb7, 0x93, 0xea, 0xe5, 0xcc, 0x8a, 0xd3, 0x10, 0xff, 0x55, 0x69, 0xb7, 0x24, 0xb9, 0x1b, 0xcb,
-	0xe3, 0x91, 0xc3, 0xdf, 0x20, 0x98, 0x19, 0x5a, 0x5d, 0xf0, 0xb2, 0x8a, 0x89, 0x7a, 0xbf, 0x19,
-	0xc3, 0x5b, 0x11, 0x21, 0x3c, 0x26, 0xa1, 0x9f, 0x11, 0x94, 0x15, 0x83, 0x59, 0x9d, 0x62, 0xa3,
-	0xd7, 0x25, 0x75, 0x8a, 0x9d, 0x30, 0xf1, 0xe3, 0xa8, 0xe2, 0xf7, 0xc6, 0xe2, 0xa9, 0xc7, 0xe3,
-	0x3b, 0x9a, 0xfc, 0xf8, 0x19, 0x14, 0x13, 0x13, 0x6a, 0x44, 0x57, 0xcb, 0x8c, 0xed, 0x11, 0x5d,
-	0x2d, 0x3b, 0xea, 0x14, 0x5d, 0x6d, 0x90, 0xf9, 0xeb, 0x37, 0xe1, 0x72, 0xc7, 0xeb, 0x29, 0xa0,
-	0xd6, 0x41, 0xa2, 0xb4, 0x44, 0x8e, 0xb4, 0xd0, 0x3f, 0x08, 0xed, 0x9d, 0x93, 0xf9, 0x72, 0xfb,
-	0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x77, 0xa2, 0x5d, 0x97, 0x5b, 0x11, 0x00, 0x00,
+	// 1333 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xcf, 0x6f, 0x1b, 0xc5,
+	0x17, 0xff, 0x8e, 0x1d, 0xb7, 0xcd, 0x73, 0x93, 0x38, 0xe3, 0x7e, 0x8b, 0xe3, 0x90, 0x36, 0x6c,
+	0x69, 0x1b, 0x02, 0xb5, 0x89, 0x11, 0x2a, 0x4a, 0x85, 0x44, 0xda, 0x3a, 0xc1, 0x28, 0x69, 0xad,
+	0x75, 0x02, 0x82, 0xcb, 0x6a, 0x62, 0x4f, 0xb6, 0x4b, 0xec, 0xdd, 0x65, 0x66, 0x9c, 0xfe, 0x52,
+	0x2f, 0xbd, 0x81, 0x04, 0x1c, 0x10, 0x27, 0xae, 0x5c, 0x39, 0x22, 0xfe, 0x08, 0x4e, 0x88, 0x0b,
+	0x7f, 0x00, 0xe2, 0x0f, 0xe0, 0xc4, 0x11, 0xcd, 0xec, 0x6e, 0xbc, 0xeb, 0x9d, 0x6d, 0x1c, 0x55,
+	0xe2, 0xb6, 0xfb, 0xe6, 0xb3, 0x6f, 0x3e, 0xef, 0xf7, 0x5b, 0xb8, 0x64, 0x7b, 0x9e, 0xdd, 0xa7,
+	0x75, 0x9b, 0xba, 0xde, 0xc0, 0xe9, 0xf2, 0xfa, 0xd1, 0x5a, 0x9d, 0x51, 0xd2, 0xe3, 0x35, 0x9f,
+	0x79, 0xc2, 0xc3, 0x38, 0x38, 0xaf, 0x45, 0xe7, 0xb5, 0xa3, 0xb5, 0xea, 0xab, 0xe1, 0x37, 0xc4,
+	0x77, 0xea, 0xc4, 0x75, 0x3d, 0x41, 0x84, 0xe3, 0xb9, 0xe1, 0x17, 0x55, 0xad, 0x46, 0xe2, 0xda,
+	0x34, 0x3c, 0xbf, 0x96, 0x71, 0x23, 0xe9, 0x3b, 0xb6, 0x3b, 0xa0, 0xae, 0x08, 0x71, 0x57, 0x33,
+	0x70, 0x36, 0xf3, 0x86, 0x3e, 0xa7, 0x11, 0xec, 0x4a, 0x08, 0xeb, 0x7b, 0xae, 0xcd, 0x86, 0xae,
+	0xeb, 0xb8, 0x76, 0xdd, 0xf3, 0x29, 0x4b, 0x70, 0x5a, 0x0c, 0x41, 0xea, 0x6d, 0x7f, 0x78, 0x50,
+	0xa7, 0x03, 0x5f, 0x3c, 0x0e, 0x0f, 0x97, 0xc7, 0x0f, 0x0f, 0x1c, 0xda, 0xef, 0x59, 0x03, 0xc2,
+	0x0f, 0x03, 0x84, 0xf1, 0x35, 0x82, 0x6a, 0x87, 0x12, 0xd6, 0x7d, 0x60, 0x52, 0xd2, 0xdb, 0x92,
+	0x04, 0x3a, 0x54, 0x70, 0x93, 0x7e, 0x31, 0xa4, 0x5c, 0xe0, 0xcb, 0x50, 0xec, 0x11, 0x41, 0x38,
+	0x15, 0x96, 0xd3, 0xe3, 0x15, 0xb4, 0x9c, 0x5f, 0x99, 0x36, 0x21, 0x14, 0xb5, 0x7a, 0x1c, 0x63,
+	0x98, 0x72, 0xc9, 0x80, 0x56, 0xf2, 0xcb, 0x68, 0x65, 0xda, 0x54, 0xcf, 0x78, 0x09, 0xc0, 0x27,
+	0x36, 0xb5, 0x84, 0x77, 0x48, 0xdd, 0x4a, 0x4e, 0x9d, 0x4c, 0x4b, 0xc9, 0xae, 0x14, 0xe0, 0x45,
+	0x50, 0x2f, 0x16, 0x77, 0x9e, 0xd0, 0xca, 0xd4, 0x32, 0x5a, 0x29, 0x98, 0xe7, 0xa4, 0xa0, 0xe3,
+	0x3c, 0xa1, 0xc6, 0xb7, 0x08, 0x16, 0xb5, 0x7c, 0xb8, 0xef, 0xb9, 0x9c, 0xe2, 0x0f, 0x61, 0x4e,
+	0x7a, 0xca, 0x52, 0xae, 0xb2, 0x38, 0x15, 0x01, 0xa9, 0x62, 0x63, 0xb9, 0x96, 0x0e, 0x67, 0x2d,
+	0xae, 0xc3, 0x9c, 0x61, 0x71, 0x8d, 0xf8, 0x1a, 0xcc, 0xb9, 0xf4, 0x91, 0xb0, 0x52, 0x54, 0x67,
+	0xa4, 0xb8, 0x1d, 0xd1, 0x35, 0xfe, 0xc8, 0x41, 0xb5, 0x35, 0xf0, 0x3d, 0x26, 0xb4, 0x1e, 0x5a,
+	0x02, 0x18, 0x79, 0xa8, 0x82, 0x02, 0x63, 0x8f, 0x1d, 0x84, 0x57, 0xa0, 0xc4, 0xe8, 0x01, 0x65,
+	0xd4, 0xed, 0x52, 0x2b, 0x04, 0x4d, 0x29, 0xd0, 0xec, 0xb1, 0xbc, 0xa3, 0x90, 0x97, 0xa1, 0xc8,
+	0xbd, 0x21, 0xeb, 0x52, 0x6b, 0xc8, 0x1c, 0x5e, 0xc9, 0x05, 0xae, 0x0e, 0x44, 0x7b, 0xcc, 0xe1,
+	0xd8, 0x03, 0xec, 0x13, 0x26, 0x1c, 0x19, 0x7d, 0x8b, 0x0b, 0x46, 0x04, 0xb5, 0x1f, 0x57, 0x0a,
+	0xcb, 0x68, 0x65, 0xb6, 0xf1, 0x81, 0xce, 0xfa, 0x6c, 0xd6, 0xb5, 0x76, 0xa4, 0xa8, 0x13, 0xea,
+	0x31, 0xe7, 0xfd, 0x71, 0x91, 0x61, 0xc1, 0x7c, 0x0a, 0x87, 0x0d, 0xb8, 0xd4, 0xde, 0x30, 0x77,
+	0x5b, 0xbb, 0xad, 0xfb, 0xf7, 0xac, 0xce, 0xae, 0xb9, 0xb1, 0xdb, 0xdc, 0xfa, 0xd4, 0xda, 0xbb,
+	0xd7, 0x69, 0x37, 0xef, 0xb4, 0x36, 0x5b, 0xcd, 0xbb, 0xa5, 0xff, 0xe1, 0x57, 0xa0, 0xdc, 0x6e,
+	0x9a, 0xd6, 0x66, 0x6b, 0xbb, 0x69, 0xc9, 0x87, 0xce, 0xc6, 0x4e, 0x7b, 0xbb, 0x59, 0x42, 0x78,
+	0x06, 0xa6, 0x77, 0x9a, 0xe6, 0x56, 0xd3, 0xda, 0xd8, 0xde, 0x2e, 0xe5, 0x8c, 0x8f, 0x60, 0x51,
+	0xcb, 0x31, 0x8c, 0xf5, 0x9b, 0x80, 0x93, 0xb1, 0x8e, 0xe5, 0xe0, 0x5c, 0x3c, 0x98, 0xad, 0x1e,
+	0x37, 0x7e, 0x42, 0xb0, 0xd0, 0x7c, 0x34, 0xae, 0x2c, 0x16, 0x25, 0x9f, 0x79, 0x9f, 0xd3, 0x6e,
+	0x3c, 0x4a, 0xa1, 0xa4, 0xd5, 0x93, 0xc7, 0x54, 0x7d, 0x2b, 0x7d, 0x1f, 0x65, 0x6c, 0x20, 0xd9,
+	0x63, 0x0e, 0x7e, 0x03, 0xe6, 0x53, 0x44, 0xc2, 0x8c, 0x9f, 0x4d, 0xf2, 0xc0, 0xd7, 0x65, 0x7e,
+	0x46, 0xf1, 0x96, 0xd5, 0xc0, 0x2b, 0x53, 0x8a, 0xf0, 0x28, 0xdc, 0xf7, 0xa4, 0xd4, 0xf8, 0x15,
+	0xc1, 0xc2, 0x9e, 0xdf, 0x23, 0x82, 0xea, 0xf8, 0x6a, 0x6f, 0x44, 0xda, 0x1b, 0x37, 0x61, 0x36,
+	0x09, 0x55, 0xfc, 0x27, 0x29, 0x88, 0xf3, 0x71, 0x4d, 0xf8, 0x16, 0x14, 0x87, 0x8a, 0x8f, 0x6a,
+	0x0f, 0xca, 0xbc, 0x62, 0xa3, 0x1a, 0x29, 0x89, 0x3a, 0x48, 0x6d, 0x53, 0x76, 0x90, 0x1d, 0xc2,
+	0x0f, 0x4d, 0x08, 0xe0, 0xf2, 0xd9, 0xd8, 0x84, 0x85, 0xbb, 0xb4, 0x4f, 0x5f, 0xd6, 0x18, 0xe3,
+	0x0e, 0x5c, 0xdc, 0xa2, 0xe2, 0x25, 0x95, 0x3c, 0xcf, 0x41, 0x75, 0xdb, 0xe1, 0xe2, 0x8e, 0x77,
+	0x44, 0x19, 0xb1, 0xe9, 0xed, 0x61, 0xf7, 0x30, 0x56, 0xb1, 0xa7, 0xf0, 0xed, 0x55, 0x98, 0x4d,
+	0x46, 0x33, 0x8c, 0xfa, 0x4c, 0x22, 0x98, 0xf8, 0x02, 0x14, 0xb8, 0x20, 0x4c, 0xa8, 0xca, 0xce,
+	0x9b, 0xc1, 0x0b, 0x2e, 0x41, 0x9e, 0xba, 0x3d, 0x55, 0xa0, 0x79, 0x53, 0x3e, 0xe2, 0x1a, 0x94,
+	0x05, 0x61, 0x36, 0x15, 0xd6, 0xbe, 0xa2, 0x64, 0x3d, 0x74, 0x7a, 0xe2, 0x41, 0xe5, 0x8c, 0x42,
+	0xcc, 0x07, 0x47, 0x01, 0xd9, 0x4f, 0xe4, 0xc1, 0x58, 0x23, 0x3d, 0xfb, 0xc2, 0x46, 0x7a, 0x6e,
+	0xac, 0x91, 0x1e, 0xc0, 0x6c, 0xd2, 0x7e, 0x5c, 0x87, 0x82, 0x1a, 0x56, 0xca, 0xd6, 0x62, 0x63,
+	0x41, 0x9b, 0x1f, 0x12, 0x60, 0x06, 0x38, 0x7c, 0x05, 0x66, 0x06, 0x94, 0xb8, 0x56, 0x37, 0xd4,
+	0xa3, 0x12, 0x2b, 0x67, 0x9e, 0x97, 0xc2, 0x48, 0xb7, 0xf1, 0x0b, 0x82, 0x45, 0xad, 0xb3, 0xc3,
+	0x22, 0x7e, 0x0d, 0xce, 0x27, 0x8c, 0x45, 0xca, 0xd8, 0xe2, 0x7e, 0xcc, 0xcc, 0x1d, 0x28, 0x45,
+	0x57, 0x84, 0x8e, 0x09, 0xda, 0x5f, 0xb1, 0x61, 0xe8, 0x38, 0x26, 0x6f, 0x32, 0xe7, 0xba, 0xc9,
+	0x9b, 0x75, 0x8d, 0x3d, 0xaf, 0x6b, 0xec, 0x7f, 0x23, 0xc0, 0xa3, 0x51, 0x73, 0x9c, 0x1e, 0xa7,
+	0xe9, 0x3a, 0xf8, 0xf5, 0x44, 0xf1, 0x49, 0x60, 0x41, 0x01, 0x47, 0xa5, 0x25, 0x51, 0xe9, 0x34,
+	0x3a, 0xfb, 0xc2, 0x34, 0x3a, 0xa7, 0x49, 0xa3, 0xe9, 0x51, 0x1a, 0x25, 0xd3, 0x22, 0x7f, 0xaa,
+	0xf9, 0xfa, 0x10, 0xca, 0x09, 0x9b, 0xc3, 0x28, 0xbd, 0x07, 0x70, 0xbc, 0xa4, 0x44, 0x13, 0xb5,
+	0x92, 0xd5, 0x40, 0xcc, 0x18, 0x76, 0xe2, 0x31, 0xfa, 0x97, 0xf4, 0xb6, 0x60, 0x94, 0x0c, 0x12,
+	0xde, 0x3e, 0xa1, 0x31, 0x6b, 0x6b, 0x35, 0xf7, 0x5f, 0xd4, 0xaa, 0xc4, 0x3d, 0x20, 0xac, 0xa7,
+	0xaa, 0xb3, 0x60, 0x06, 0x2f, 0x32, 0x9b, 0x85, 0x27, 0x48, 0xdf, 0x52, 0xaf, 0x5c, 0xc5, 0xb1,
+	0x60, 0x16, 0x95, 0xac, 0xa3, 0x44, 0xc6, 0x7d, 0x28, 0x27, 0xec, 0x7c, 0x59, 0x0f, 0x37, 0xbe,
+	0x47, 0x70, 0x21, 0xd0, 0xe8, 0xb8, 0xb6, 0x3c, 0xed, 0x50, 0x76, 0xe4, 0x74, 0x29, 0x7e, 0x06,
+	0xc5, 0xd8, 0x4d, 0xf8, 0x9a, 0x4e, 0x5b, 0xda, 0xe5, 0xd5, 0xeb, 0x27, 0xe2, 0x02, 0xca, 0xc6,
+	0xe2, 0xf3, 0xdf, 0xff, 0xfc, 0x2e, 0xf7, 0x7f, 0xa3, 0x74, 0xbc, 0x39, 0xaf, 0x73, 0x05, 0x5b,
+	0x47, 0xab, 0x6f, 0xa3, 0xc6, 0x6f, 0xd3, 0x30, 0x13, 0xa3, 0xf3, 0xf1, 0x1a, 0xfe, 0x12, 0x41,
+	0x59, 0x33, 0xd0, 0x71, 0xed, 0x74, 0xdb, 0x49, 0x75, 0x29, 0xc2, 0xc7, 0x36, 0xdf, 0xda, 0xfd,
+	0x68, 0xf3, 0x35, 0xae, 0x28, 0x5e, 0x4b, 0x46, 0x65, 0x7c, 0x6f, 0xe6, 0xeb, 0x8e, 0x52, 0xba,
+	0x8e, 0x56, 0xf1, 0x0f, 0x08, 0x70, 0x7a, 0x1f, 0xc0, 0x37, 0x74, 0x54, 0x32, 0xf7, 0x86, 0x93,
+	0x98, 0xdc, 0x54, 0x4c, 0xd6, 0x8c, 0xb7, 0x52, 0x4c, 0xea, 0x4f, 0x53, 0x79, 0xfb, 0x6c, 0x3d,
+	0xd8, 0x28, 0x42, 0x76, 0x65, 0xcd, 0x9a, 0xab, 0xf7, 0x54, 0xf6, 0x7e, 0x5e, 0xad, 0x4f, 0x8c,
+	0x0f, 0x63, 0x9a, 0xed, 0xbb, 0x3a, 0x57, 0x9f, 0x49, 0x76, 0x3f, 0x22, 0xc0, 0xe9, 0xdd, 0x44,
+	0xef, 0xbb, 0xcc, 0x1d, 0xa6, 0x7a, 0xe2, 0x02, 0x62, 0xbc, 0xaf, 0xc8, 0xdc, 0x6c, 0x5c, 0x9d,
+	0xcc, 0x7d, 0x63, 0x7b, 0x0e, 0xfe, 0x0a, 0x01, 0x4e, 0x6f, 0x1d, 0x7a, 0x9a, 0x99, 0xdb, 0x49,
+	0xf5, 0x62, 0x6a, 0xc5, 0x69, 0xca, 0x3f, 0x28, 0xe3, 0x86, 0x22, 0x77, 0x7d, 0x75, 0x32, 0x72,
+	0xf8, 0x1b, 0x04, 0x73, 0x63, 0xab, 0x0b, 0x5e, 0xd5, 0x31, 0xd1, 0xef, 0x37, 0x13, 0x78, 0x2b,
+	0x24, 0x84, 0x27, 0x24, 0xf4, 0x33, 0x82, 0xb2, 0x66, 0x30, 0xeb, 0x53, 0x2c, 0x7b, 0x5d, 0xd2,
+	0xa7, 0xd8, 0x0b, 0x26, 0x7e, 0x14, 0x55, 0xfc, 0xee, 0x44, 0x3c, 0xeb, 0xd1, 0xf8, 0x0e, 0x27,
+	0x3f, 0x7e, 0x0a, 0xc5, 0xd8, 0x84, 0xca, 0xe8, 0x6a, 0xa9, 0xb1, 0x9d, 0xd1, 0xd5, 0xd2, 0xa3,
+	0x4e, 0xd3, 0xd5, 0x46, 0x99, 0x7f, 0x9b, 0xc2, 0xc5, 0xae, 0x37, 0xd0, 0xa8, 0xba, 0x0d, 0x4a,
+	0x4b, 0x5b, 0xe6, 0x48, 0x1b, 0x7d, 0xb6, 0x1e, 0x21, 0xbc, 0x3e, 0x71, 0xed, 0x9a, 0xc7, 0x6c,
+	0xf9, 0x33, 0xaf, 0x32, 0xa8, 0x1e, 0x1c, 0x11, 0xdf, 0xe1, 0xf1, 0x1f, 0xfc, 0x5b, 0xd1, 0xf3,
+	0x3f, 0x08, 0xed, 0x9f, 0x51, 0xc8, 0x77, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x1b, 0x9b, 0xce,
+	0x6e, 0xa3, 0x10, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/reads.proto b/googleapis/genomics/v1/reads.proto
deleted file mode 100644
index c590fa34d395800f28b34718e0d9406fa5e0fb8b..0000000000000000000000000000000000000000
--- a/googleapis/genomics/v1/reads.proto
+++ /dev/null
@@ -1,460 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/genomics/v1/range.proto"; // from google/genomics/v1/range.proto
-import "google.golang.org/genproto/googleapis/genomics/v1/readalignment.proto"; // from google/genomics/v1/readalignment.proto
-import "google.golang.org/genproto/googleapis/genomics/v1/readgroupset.proto"; // from google/genomics/v1/readgroupset.proto
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "ReadsProto";
-option java_package = "com.google.genomics.v1";
-
-
-service StreamingReadService {
-  // Returns a stream of all the reads matching the search request, ordered
-  // by reference name, position, and ID.
-  rpc StreamReads(StreamReadsRequest) returns (stream StreamReadsResponse) {
-    option (google.api.http) = { post: "/v1/reads:stream" body: "*" };
-  }
-}
-
-// The Readstore. A data store for DNA sequencing Reads.
-service ReadServiceV1 {
-  // Creates read group sets by asynchronously importing the provided
-  // information.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // The caller must have WRITE permissions to the dataset.
-  //
-  // ## Notes on [BAM](https://samtools.github.io/hts-specs/SAMv1.pdf) import
-  //
-  // - Tags will be converted to strings - tag types are not preserved
-  // - Comments (`@CO`) in the input file header will not be preserved
-  // - Original header order of references (`@SQ`) will not be preserved
-  // - Any reverse stranded unmapped reads will be reverse complemented, and
-  // their qualities (also the "BQ" and "OQ" tags, if any) will be reversed
-  // - Unmapped reads will be stripped of positional information (reference name
-  // and position)
-  rpc ImportReadGroupSets(ImportReadGroupSetsRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/readgroupsets:import" body: "*" };
-  }
-
-  // Exports a read group set to a BAM file in Google Cloud Storage.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Note that currently there may be some differences between exported BAM
-  // files and the original BAM file at the time of import. See
-  // [ImportReadGroupSets][google.genomics.v1.ReadServiceV1.ImportReadGroupSets]
-  // for caveats.
-  rpc ExportReadGroupSet(ExportReadGroupSetRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/readgroupsets/{read_group_set_id}:export" body: "*" };
-  }
-
-  // Searches for read group sets matching the criteria.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.searchReadGroupSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/readmethods.avdl#L135).
-  rpc SearchReadGroupSets(SearchReadGroupSetsRequest) returns (SearchReadGroupSetsResponse) {
-    option (google.api.http) = { post: "/v1/readgroupsets/search" body: "*" };
-  }
-
-  // Updates a read group set.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // This method supports patch semantics.
-  rpc UpdateReadGroupSet(UpdateReadGroupSetRequest) returns (ReadGroupSet) {
-    option (google.api.http) = { patch: "/v1/readgroupsets/{read_group_set_id}" body: "read_group_set" };
-  }
-
-  // Deletes a read group set.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc DeleteReadGroupSet(DeleteReadGroupSetRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/readgroupsets/{read_group_set_id}" };
-  }
-
-  // Gets a read group set by ID.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc GetReadGroupSet(GetReadGroupSetRequest) returns (ReadGroupSet) {
-    option (google.api.http) = { get: "/v1/readgroupsets/{read_group_set_id}" };
-  }
-
-  // Lists fixed width coverage buckets for a read group set, each of which
-  // correspond to a range of a reference sequence. Each bucket summarizes
-  // coverage information across its corresponding genomic range.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Coverage is defined as the number of reads which are aligned to a given
-  // base in the reference sequence. Coverage buckets are available at several
-  // precomputed bucket widths, enabling retrieval of various coverage 'zoom
-  // levels'. The caller must have READ permissions for the target read group
-  // set.
-  rpc ListCoverageBuckets(ListCoverageBucketsRequest) returns (ListCoverageBucketsResponse) {
-    option (google.api.http) = { get: "/v1/readgroupsets/{read_group_set_id}/coveragebuckets" };
-  }
-
-  // Gets a list of reads for one or more read group sets.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Reads search operates over a genomic coordinate space of reference sequence
-  // & position defined over the reference sequences to which the requested
-  // read group sets are aligned.
-  //
-  // If a target positional range is specified, search returns all reads whose
-  // alignment to the reference genome overlap the range. A query which
-  // specifies only read group set IDs yields all reads in those read group
-  // sets, including unmapped reads.
-  //
-  // All reads returned (including reads on subsequent pages) are ordered by
-  // genomic coordinate (by reference sequence, then position). Reads with
-  // equivalent genomic coordinates are returned in an unspecified order. This
-  // order is consistent, such that two queries for the same content (regardless
-  // of page size) yield reads in the same order across their respective streams
-  // of paginated responses.
-  //
-  // Implements
-  // [GlobalAllianceApi.searchReads](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/readmethods.avdl#L85).
-  rpc SearchReads(SearchReadsRequest) returns (SearchReadsResponse) {
-    option (google.api.http) = { post: "/v1/reads/search" body: "*" };
-  }
-}
-
-// The read group set search request.
-message SearchReadGroupSetsRequest {
-  // Restricts this query to read group sets within the given datasets. At least
-  // one ID must be provided.
-  repeated string dataset_ids = 1;
-
-  // Only return read group sets for which a substring of the name matches this
-  // string.
-  string name = 3;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 2;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 256. The maximum value is 1024.
-  int32 page_size = 4;
-}
-
-// The read group set search response.
-message SearchReadGroupSetsResponse {
-  // The list of matching read group sets.
-  repeated ReadGroupSet read_group_sets = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-// The read group set import request.
-message ImportReadGroupSetsRequest {
-  enum PartitionStrategy {
-    PARTITION_STRATEGY_UNSPECIFIED = 0;
-
-    // In most cases, this strategy yields one read group set per file. This is
-    // the default behavior.
-    //
-    // Allocate one read group set per file per sample. For BAM files, read
-    // groups are considered to share a sample if they have identical sample
-    // names. Furthermore, all reads for each file which do not belong to a read
-    // group, if any, will be grouped into a single read group set per-file.
-    PER_FILE_PER_SAMPLE = 1;
-
-    // Includes all read groups in all imported files into a single read group
-    // set. Requires that the headers for all imported files are equivalent. All
-    // reads which do not belong to a read group, if any, will be grouped into a
-    // separate read group set.
-    MERGE_ALL = 2;
-  }
-
-  // Required. The ID of the dataset these read group sets will belong to. The
-  // caller must have WRITE permissions to this dataset.
-  string dataset_id = 1;
-
-  // The reference set to which the imported read group sets are aligned to, if
-  // any. The reference names of this reference set must be a superset of those
-  // found in the imported file headers. If no reference set id is provided, a
-  // best effort is made to associate with a matching reference set.
-  string reference_set_id = 4;
-
-  // A list of URIs pointing at [BAM
-  // files](https://samtools.github.io/hts-specs/SAMv1.pdf)
-  // in Google Cloud Storage.
-  repeated string source_uris = 2;
-
-  // The partition strategy describes how read groups are partitioned into read
-  // group sets.
-  PartitionStrategy partition_strategy = 5;
-}
-
-// The read group set import response.
-message ImportReadGroupSetsResponse {
-  // IDs of the read group sets that were created.
-  repeated string read_group_set_ids = 1;
-}
-
-// The read group set export request.
-message ExportReadGroupSetRequest {
-  // Required. The Google Developers Console project ID that owns this
-  // export. The caller must have WRITE access to this project.
-  string project_id = 1;
-
-  // Required. A Google Cloud Storage URI for the exported BAM file.
-  // The currently authenticated user must have write access to the new file.
-  // An error will be returned if the URI already contains data.
-  string export_uri = 2;
-
-  // Required. The ID of the read group set to export. The caller must have
-  // READ access to this read group set.
-  string read_group_set_id = 3;
-
-  // The reference names to export. If this is not specified, all reference
-  // sequences, including unmapped reads, are exported.
-  // Use `*` to export only unmapped reads.
-  repeated string reference_names = 4;
-}
-
-message UpdateReadGroupSetRequest {
-  // The ID of the read group set to be updated. The caller must have WRITE
-  // permissions to the dataset associated with this read group set.
-  string read_group_set_id = 1;
-
-  // The new read group set data. See `updateMask` for details on mutability of
-  // fields.
-  ReadGroupSet read_group_set = 2;
-
-  // An optional mask specifying which fields to update. Supported fields:
-  //
-  // * [name][google.genomics.v1.ReadGroupSet.name].
-  // * [referenceSetId][google.genomics.v1.ReadGroupSet.reference_set_id].
-  //
-  // Leaving `updateMask` unset is equivalent to specifying all mutable
-  // fields.
-  google.protobuf.FieldMask update_mask = 3;
-}
-
-message DeleteReadGroupSetRequest {
-  // The ID of the read group set to be deleted. The caller must have WRITE
-  // permissions to the dataset associated with this read group set.
-  string read_group_set_id = 1;
-}
-
-message GetReadGroupSetRequest {
-  // The ID of the read group set.
-  string read_group_set_id = 1;
-}
-
-message ListCoverageBucketsRequest {
-  // Required. The ID of the read group set over which coverage is requested.
-  string read_group_set_id = 1;
-
-  // The name of the reference to query, within the reference set associated
-  // with this query. Optional.
-  string reference_name = 3;
-
-  // The start position of the range on the reference, 0-based inclusive. If
-  // specified, `referenceName` must also be specified. Defaults to 0.
-  int64 start = 4;
-
-  // The end position of the range on the reference, 0-based exclusive. If
-  // specified, `referenceName` must also be specified. If unset or 0, defaults
-  // to the length of the reference.
-  int64 end = 5;
-
-  // The desired width of each reported coverage bucket in base pairs. This
-  // will be rounded down to the nearest precomputed bucket width; the value
-  // of which is returned as `bucketWidth` in the response. Defaults
-  // to infinity (each bucket spans an entire reference sequence) or the length
-  // of the target range, if specified. The smallest precomputed
-  // `bucketWidth` is currently 2048 base pairs; this is subject to
-  // change.
-  int64 target_bucket_width = 6;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 7;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 1024. The maximum value is 2048.
-  int32 page_size = 8;
-}
-
-// A bucket over which read coverage has been precomputed. A bucket corresponds
-// to a specific range of the reference sequence.
-message CoverageBucket {
-  // The genomic coordinate range spanned by this bucket.
-  Range range = 1;
-
-  // The average number of reads which are aligned to each individual
-  // reference base in this bucket.
-  float mean_coverage = 2;
-}
-
-message ListCoverageBucketsResponse {
-  // The length of each coverage bucket in base pairs. Note that buckets at the
-  // end of a reference sequence may be shorter. This value is omitted if the
-  // bucket width is infinity (the default behaviour, with no range or
-  // `targetBucketWidth`).
-  int64 bucket_width = 1;
-
-  // The coverage buckets. The list of buckets is sparse; a bucket with 0
-  // overlapping reads is not returned. A bucket never crosses more than one
-  // reference sequence. Each bucket has width `bucketWidth`, unless
-  // its end is the end of the reference sequence.
-  repeated CoverageBucket coverage_buckets = 2;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 3;
-}
-
-// The read search request.
-message SearchReadsRequest {
-  // The IDs of the read groups sets within which to search for reads. All
-  // specified read group sets must be aligned against a common set of reference
-  // sequences; this defines the genomic coordinates for the query. Must specify
-  // one of `readGroupSetIds` or `readGroupIds`.
-  repeated string read_group_set_ids = 1;
-
-  // The IDs of the read groups within which to search for reads. All specified
-  // read groups must belong to the same read group sets. Must specify one of
-  // `readGroupSetIds` or `readGroupIds`.
-  repeated string read_group_ids = 5;
-
-  // The reference sequence name, for example `chr1`, `1`, or `chrX`. If set to
-  // `*`, only unmapped reads are returned. If unspecified, all reads (mapped
-  // and unmapped) are returned.
-  string reference_name = 7;
-
-  // The start position of the range on the reference, 0-based inclusive. If
-  // specified, `referenceName` must also be specified.
-  int64 start = 8;
-
-  // The end position of the range on the reference, 0-based exclusive. If
-  // specified, `referenceName` must also be specified.
-  int64 end = 9;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 3;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 256. The maximum value is 2048.
-  int32 page_size = 4;
-}
-
-// The read search response.
-message SearchReadsResponse {
-  // The list of matching alignments sorted by mapped genomic coordinate,
-  // if any, ascending in position within the same reference. Unmapped reads,
-  // which have no position, are returned contiguously and are sorted in
-  // ascending lexicographic order by fragment name.
-  repeated Read alignments = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-// The stream reads request.
-message StreamReadsRequest {
-  // The Google Developers Console project ID or number which will be billed
-  // for this access. The caller must have WRITE access to this project.
-  // Required.
-  string project_id = 1;
-
-  // The ID of the read group set from which to stream reads.
-  string read_group_set_id = 2;
-
-  // The reference sequence name, for example `chr1`,
-  // `1`, or `chrX`. If set to *, only unmapped reads are
-  // returned.
-  string reference_name = 3;
-
-  // The start position of the range on the reference, 0-based inclusive. If
-  // specified, `referenceName` must also be specified.
-  int64 start = 4;
-
-  // The end position of the range on the reference, 0-based exclusive. If
-  // specified, `referenceName` must also be specified.
-  int64 end = 5;
-
-  // Restricts results to a shard containing approximately `1/totalShards`
-  // of the normal response payload for this query. Results from a sharded
-  // request are disjoint from those returned by all queries which differ only
-  // in their shard parameter. A shard may yield 0 results; this is especially
-  // likely for large values of `totalShards`.
-  //
-  // Valid values are `[0, totalShards)`.
-  int32 shard = 6;
-
-  // Specifying `totalShards` causes a disjoint subset of the normal response
-  // payload to be returned for each query with a unique `shard` parameter
-  // specified. A best effort is made to yield equally sized shards. Sharding
-  // can be used to distribute processing amongst workers, where each worker is
-  // assigned a unique `shard` number and all workers specify the same
-  // `totalShards` number. The union of reads returned for all sharded queries
-  // `[0, totalShards)` is equal to those returned by a single unsharded query.
-  //
-  // Queries for different values of `totalShards` with common divisors will
-  // share shard boundaries. For example, streaming `shard` 2 of 5
-  // `totalShards` yields the same results as streaming `shard`s 4 and 5 of 10
-  // `totalShards`. This property can be leveraged for adaptive retries.
-  int32 total_shards = 7;
-}
-
-message StreamReadsResponse {
-  repeated Read alignments = 1;
-}
diff --git a/googleapis/genomics/v1/references.pb.go b/googleapis/genomics/v1/references.pb.go
index fce0a3c0a726c24faeea556d9deb26fa8ef2d993..1570575059aff3f3c7c77cd13e448d7a37caee46 100644
--- a/googleapis/genomics/v1/references.pb.go
+++ b/googleapis/genomics/v1/references.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/references.proto
+// source: google/genomics/v1/references.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -52,6 +52,55 @@ func (m *Reference) String() string            { return proto.CompactTextString(
 func (*Reference) ProtoMessage()               {}
 func (*Reference) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{0} }
 
+func (m *Reference) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Reference) GetLength() int64 {
+	if m != nil {
+		return m.Length
+	}
+	return 0
+}
+
+func (m *Reference) GetMd5Checksum() string {
+	if m != nil {
+		return m.Md5Checksum
+	}
+	return ""
+}
+
+func (m *Reference) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Reference) GetSourceUri() string {
+	if m != nil {
+		return m.SourceUri
+	}
+	return ""
+}
+
+func (m *Reference) GetSourceAccessions() []string {
+	if m != nil {
+		return m.SourceAccessions
+	}
+	return nil
+}
+
+func (m *Reference) GetNcbiTaxonId() int32 {
+	if m != nil {
+		return m.NcbiTaxonId
+	}
+	return 0
+}
+
 // A reference set is a set of references which typically comprise a reference
 // assembly for a species, such as `GRCh38` which is representative
 // of the human genome. A reference set defines a common coordinate space for
@@ -94,6 +143,62 @@ func (m *ReferenceSet) String() string            { return proto.CompactTextStri
 func (*ReferenceSet) ProtoMessage()               {}
 func (*ReferenceSet) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{1} }
 
+func (m *ReferenceSet) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *ReferenceSet) GetReferenceIds() []string {
+	if m != nil {
+		return m.ReferenceIds
+	}
+	return nil
+}
+
+func (m *ReferenceSet) GetMd5Checksum() string {
+	if m != nil {
+		return m.Md5Checksum
+	}
+	return ""
+}
+
+func (m *ReferenceSet) GetNcbiTaxonId() int32 {
+	if m != nil {
+		return m.NcbiTaxonId
+	}
+	return 0
+}
+
+func (m *ReferenceSet) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *ReferenceSet) GetAssemblyId() string {
+	if m != nil {
+		return m.AssemblyId
+	}
+	return ""
+}
+
+func (m *ReferenceSet) GetSourceUri() string {
+	if m != nil {
+		return m.SourceUri
+	}
+	return ""
+}
+
+func (m *ReferenceSet) GetSourceAccessions() []string {
+	if m != nil {
+		return m.SourceAccessions
+	}
+	return nil
+}
+
 type SearchReferenceSetsRequest struct {
 	// If present, return reference sets for which the
 	// [md5checksum][google.genomics.v1.ReferenceSet.md5checksum] matches exactly.
@@ -120,6 +225,41 @@ func (m *SearchReferenceSetsRequest) String() string            { return proto.C
 func (*SearchReferenceSetsRequest) ProtoMessage()               {}
 func (*SearchReferenceSetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{2} }
 
+func (m *SearchReferenceSetsRequest) GetMd5Checksums() []string {
+	if m != nil {
+		return m.Md5Checksums
+	}
+	return nil
+}
+
+func (m *SearchReferenceSetsRequest) GetAccessions() []string {
+	if m != nil {
+		return m.Accessions
+	}
+	return nil
+}
+
+func (m *SearchReferenceSetsRequest) GetAssemblyId() string {
+	if m != nil {
+		return m.AssemblyId
+	}
+	return ""
+}
+
+func (m *SearchReferenceSetsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchReferenceSetsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 type SearchReferenceSetsResponse struct {
 	// The matching references sets.
 	ReferenceSets []*ReferenceSet `protobuf:"bytes,1,rep,name=reference_sets,json=referenceSets" json:"reference_sets,omitempty"`
@@ -141,6 +281,13 @@ func (m *SearchReferenceSetsResponse) GetReferenceSets() []*ReferenceSet {
 	return nil
 }
 
+func (m *SearchReferenceSetsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 type GetReferenceSetRequest struct {
 	// The ID of the reference set.
 	ReferenceSetId string `protobuf:"bytes,1,opt,name=reference_set_id,json=referenceSetId" json:"reference_set_id,omitempty"`
@@ -151,6 +298,13 @@ func (m *GetReferenceSetRequest) String() string            { return proto.Compa
 func (*GetReferenceSetRequest) ProtoMessage()               {}
 func (*GetReferenceSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{4} }
 
+func (m *GetReferenceSetRequest) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
 type SearchReferencesRequest struct {
 	// If present, return references for which the
 	// [md5checksum][google.genomics.v1.Reference.md5checksum] matches exactly.
@@ -176,6 +330,41 @@ func (m *SearchReferencesRequest) String() string            { return proto.Comp
 func (*SearchReferencesRequest) ProtoMessage()               {}
 func (*SearchReferencesRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{5} }
 
+func (m *SearchReferencesRequest) GetMd5Checksums() []string {
+	if m != nil {
+		return m.Md5Checksums
+	}
+	return nil
+}
+
+func (m *SearchReferencesRequest) GetAccessions() []string {
+	if m != nil {
+		return m.Accessions
+	}
+	return nil
+}
+
+func (m *SearchReferencesRequest) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
+func (m *SearchReferencesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchReferencesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 type SearchReferencesResponse struct {
 	// The matching references.
 	References []*Reference `protobuf:"bytes,1,rep,name=references" json:"references,omitempty"`
@@ -197,6 +386,13 @@ func (m *SearchReferencesResponse) GetReferences() []*Reference {
 	return nil
 }
 
+func (m *SearchReferencesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 type GetReferenceRequest struct {
 	// The ID of the reference.
 	ReferenceId string `protobuf:"bytes,1,opt,name=reference_id,json=referenceId" json:"reference_id,omitempty"`
@@ -207,6 +403,13 @@ func (m *GetReferenceRequest) String() string            { return proto.CompactT
 func (*GetReferenceRequest) ProtoMessage()               {}
 func (*GetReferenceRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{7} }
 
+func (m *GetReferenceRequest) GetReferenceId() string {
+	if m != nil {
+		return m.ReferenceId
+	}
+	return ""
+}
+
 type ListBasesRequest struct {
 	// The ID of the reference.
 	ReferenceId string `protobuf:"bytes,1,opt,name=reference_id,json=referenceId" json:"reference_id,omitempty"`
@@ -230,6 +433,41 @@ func (m *ListBasesRequest) String() string            { return proto.CompactText
 func (*ListBasesRequest) ProtoMessage()               {}
 func (*ListBasesRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{8} }
 
+func (m *ListBasesRequest) GetReferenceId() string {
+	if m != nil {
+		return m.ReferenceId
+	}
+	return ""
+}
+
+func (m *ListBasesRequest) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *ListBasesRequest) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *ListBasesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListBasesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 type ListBasesResponse struct {
 	// The offset position (0-based) of the given `sequence` from the
 	// start of this `Reference`. This value will differ for each page
@@ -248,6 +486,27 @@ func (m *ListBasesResponse) String() string            { return proto.CompactTex
 func (*ListBasesResponse) ProtoMessage()               {}
 func (*ListBasesResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{9} }
 
+func (m *ListBasesResponse) GetOffset() int64 {
+	if m != nil {
+		return m.Offset
+	}
+	return 0
+}
+
+func (m *ListBasesResponse) GetSequence() string {
+	if m != nil {
+		return m.Sequence
+	}
+	return ""
+}
+
+func (m *ListBasesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Reference)(nil), "google.genomics.v1.Reference")
 	proto.RegisterType((*ReferenceSet)(nil), "google.genomics.v1.ReferenceSet")
@@ -542,66 +801,65 @@ var _ReferenceServiceV1_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1/references.proto",
+	Metadata: "google/genomics/v1/references.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/references.proto", fileDescriptor10)
-}
+func init() { proto.RegisterFile("google/genomics/v1/references.proto", fileDescriptor10) }
 
 var fileDescriptor10 = []byte{
-	// 847 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0x41, 0x6f, 0x1b, 0x45,
-	0x14, 0xd6, 0x78, 0x63, 0x37, 0x7e, 0x76, 0x12, 0xf7, 0x15, 0xc2, 0xca, 0x55, 0xa8, 0xd9, 0x34,
-	0xc5, 0x6a, 0x2a, 0xaf, 0x52, 0x84, 0x84, 0x90, 0x38, 0xe0, 0x4b, 0x65, 0x89, 0x43, 0xb4, 0x29,
-	0x5c, 0xad, 0xcd, 0xee, 0x64, 0x33, 0x6a, 0x3c, 0x63, 0x76, 0x26, 0x51, 0x69, 0x95, 0x03, 0x48,
-	0x1c, 0x81, 0x03, 0x17, 0x10, 0xbf, 0x85, 0x13, 0x3f, 0x81, 0x13, 0xe2, 0xca, 0x8f, 0xe0, 0x88,
-	0x66, 0x76, 0x6c, 0x4f, 0xd6, 0x4b, 0x6c, 0xa9, 0xbd, 0x79, 0xbe, 0x79, 0xf3, 0xde, 0xf7, 0x7d,
-	0x6f, 0xde, 0x78, 0x61, 0x98, 0x09, 0x91, 0x5d, 0xd0, 0x41, 0x26, 0x2e, 0x62, 0x9e, 0x0d, 0x44,
-	0x9e, 0x85, 0x19, 0xe5, 0xd3, 0x5c, 0x28, 0x11, 0x16, 0x5b, 0xf1, 0x94, 0x49, 0x8d, 0x89, 0x09,
-	0x4b, 0x64, 0x78, 0x75, 0x14, 0xe6, 0xf4, 0x8c, 0xe6, 0x94, 0x27, 0x54, 0x0e, 0x4c, 0x1c, 0xe2,
-	0x2c, 0x87, 0x0d, 0x1a, 0x5c, 0x1d, 0x75, 0x47, 0xeb, 0xe5, 0x8d, 0xa7, 0x2c, 0x94, 0x34, 0xbf,
-	0x62, 0x09, 0x4d, 0x04, 0x3f, 0x63, 0x59, 0x18, 0x73, 0x2e, 0x54, 0xac, 0x98, 0xe0, 0x36, 0x7d,
-	0xf0, 0x17, 0x81, 0x66, 0x34, 0xab, 0x89, 0xdb, 0x50, 0x63, 0xa9, 0x4f, 0x7a, 0xa4, 0xdf, 0x8c,
-	0x6a, 0x2c, 0xc5, 0x5d, 0x68, 0x5c, 0x50, 0x9e, 0xa9, 0x73, 0xbf, 0xd6, 0x23, 0x7d, 0x2f, 0xb2,
-	0x2b, 0xec, 0x41, 0x6b, 0x92, 0x7e, 0x9c, 0x9c, 0xd3, 0xe4, 0x85, 0xbc, 0x9c, 0xf8, 0x9e, 0x39,
-	0xe0, 0x42, 0x88, 0xb0, 0xc1, 0xe3, 0x09, 0xf5, 0x37, 0xcc, 0x96, 0xf9, 0x8d, 0x7b, 0x00, 0x52,
-	0x5c, 0xe6, 0x09, 0x1d, 0x5f, 0xe6, 0xcc, 0xaf, 0x9b, 0x9d, 0x66, 0x81, 0x7c, 0x99, 0x33, 0x3c,
-	0x84, 0xbb, 0x76, 0x3b, 0x4e, 0x12, 0x2a, 0xa5, 0x66, 0xe9, 0x37, 0x7a, 0x5e, 0xbf, 0x19, 0x75,
-	0x8a, 0x8d, 0xcf, 0xe7, 0x38, 0x06, 0xb0, 0xc5, 0x93, 0x53, 0x36, 0x56, 0xf1, 0x4b, 0xc1, 0xc7,
-	0x2c, 0xf5, 0xef, 0xf4, 0x48, 0xbf, 0x1e, 0xb5, 0x34, 0xf8, 0x5c, 0x63, 0xa3, 0x34, 0xf8, 0xa5,
-	0x06, 0xed, 0xb9, 0xb6, 0x13, 0xaa, 0x96, 0xe4, 0xed, 0xc3, 0xd6, 0xdc, 0xef, 0x31, 0x4b, 0xa5,
-	0x5f, 0x33, 0xd5, 0xda, 0x73, 0x70, 0x94, 0xca, 0x35, 0xb4, 0x2e, 0x71, 0xd9, 0x58, 0xe2, 0xa2,
-	0xb3, 0xa4, 0x54, 0x26, 0x39, 0x9b, 0x6a, 0xf7, 0xad, 0x78, 0x17, 0xc2, 0x07, 0xd0, 0x8a, 0xa5,
-	0xa4, 0x93, 0xd3, 0x8b, 0x6f, 0x74, 0x8e, 0x86, 0x89, 0x80, 0x19, 0x34, 0x4a, 0x4b, 0xf6, 0xdd,
-	0x59, 0xcb, 0xbe, 0xcd, 0x6a, 0xfb, 0x82, 0xdf, 0x09, 0x74, 0x4f, 0x68, 0x9c, 0x27, 0xe7, 0xae,
-	0x41, 0x32, 0xa2, 0x5f, 0x5f, 0x52, 0xa9, 0x30, 0x80, 0xb6, 0x23, 0x50, 0xfa, 0xa4, 0xf0, 0xc5,
-	0xc5, 0xf0, 0x7d, 0x00, 0xa7, 0x50, 0xe1, 0x9c, 0x83, 0x94, 0xf5, 0x78, 0x55, 0x7a, 0xa6, 0x71,
-	0x46, 0xc7, 0x4a, 0xbc, 0xa0, 0xdc, 0x5e, 0x94, 0xa6, 0x46, 0x9e, 0x6b, 0x00, 0xef, 0x83, 0x59,
-	0x8c, 0x25, 0x7b, 0x45, 0x8d, 0x5f, 0xf5, 0x68, 0x53, 0x03, 0x27, 0xec, 0x15, 0x0d, 0x7e, 0x24,
-	0x70, 0xbf, 0x92, 0xbf, 0x9c, 0x0a, 0x2e, 0x29, 0x3e, 0x83, 0xed, 0x45, 0x67, 0x25, 0x55, 0x85,
-	0x84, 0xd6, 0xd3, 0xde, 0x60, 0x79, 0x9c, 0x06, 0x6e, 0x8a, 0x68, 0x71, 0x23, 0x74, 0x42, 0x7c,
-	0x04, 0x3b, 0x9c, 0xbe, 0x54, 0x63, 0x87, 0x69, 0xcd, 0x30, 0xdd, 0xd2, 0xf0, 0xf1, 0x8c, 0x6d,
-	0x30, 0x84, 0xdd, 0x67, 0x54, 0xdd, 0xc8, 0x64, 0xbd, 0xec, 0x43, 0xe7, 0x06, 0x95, 0xf1, 0xfc,
-	0x0a, 0x6e, 0xbb, 0xa5, 0x46, 0x69, 0xf0, 0x07, 0x81, 0xf7, 0x4a, 0xa2, 0xde, 0x6a, 0x47, 0xaa,
-	0x98, 0x78, 0x55, 0x4c, 0xde, 0xa8, 0x35, 0xdf, 0x12, 0xf0, 0x97, 0x55, 0xd8, 0xbe, 0x7c, 0x06,
-	0xb0, 0x78, 0xe1, 0x6c, 0x4f, 0xf6, 0x6e, 0xed, 0x49, 0xe4, 0x1c, 0x58, 0xbb, 0x1b, 0x9f, 0xc0,
-	0x3d, 0xb7, 0x1b, 0x33, 0x13, 0x3f, 0x80, 0xb6, 0x3b, 0xef, 0xb6, 0x0d, 0x2d, 0x67, 0xdc, 0x83,
-	0x5f, 0x09, 0x74, 0xbe, 0x60, 0x52, 0x0d, 0x63, 0xb9, 0x30, 0x7f, 0xf5, 0x39, 0x7c, 0x07, 0xea,
-	0x52, 0xc5, 0xb9, 0xb2, 0x0f, 0x65, 0xb1, 0xc0, 0x0e, 0x78, 0x94, 0x17, 0x26, 0x7b, 0x91, 0xfe,
-	0xf9, 0x46, 0xce, 0x0a, 0xb8, 0xeb, 0x50, 0xb3, 0x8e, 0xee, 0x42, 0x43, 0x9c, 0x9d, 0x49, 0xaa,
-	0x0c, 0x2b, 0x2f, 0xb2, 0x2b, 0xec, 0xc2, 0xa6, 0xd4, 0xf4, 0x79, 0x42, 0xad, 0x47, 0xf3, 0x75,
-	0x95, 0x8d, 0x5e, 0x85, 0x8d, 0x4f, 0xff, 0xae, 0x03, 0x3a, 0x57, 0xda, 0xfc, 0x93, 0x7c, 0x75,
-	0x84, 0xbf, 0x11, 0xb8, 0x57, 0x31, 0x7c, 0x38, 0xa8, 0x6a, 0xe4, 0xff, 0xbf, 0x32, 0xdd, 0x70,
-	0xed, 0xf8, 0x42, 0x6b, 0xb0, 0xff, 0xdd, 0x9f, 0xff, 0xfc, 0x5c, 0xdb, 0x0b, 0xfc, 0x9b, 0xff,
-	0x94, 0x54, 0xc9, 0x50, 0x9a, 0x63, 0x9f, 0x92, 0xc7, 0xf8, 0x03, 0x81, 0x9d, 0xd2, 0x28, 0xe2,
-	0xe3, 0xaa, 0x4a, 0xd5, 0xf3, 0xda, 0x5d, 0xf9, 0x44, 0x04, 0x4f, 0x0c, 0x8d, 0x47, 0xf8, 0x70,
-	0x99, 0xc6, 0xeb, 0xf2, 0x80, 0x5d, 0xe3, 0x4f, 0x04, 0x3a, 0xe5, 0x79, 0xc0, 0xc3, 0x35, 0xa4,
-	0xcf, 0x7d, 0x7a, 0xb2, 0x5e, 0xb0, 0x35, 0xa9, 0x67, 0xd8, 0x75, 0x83, 0x77, 0x6f, 0xb2, 0x73,
-	0x1c, 0xba, 0x86, 0xb6, 0xab, 0x1d, 0x3f, 0x5c, 0xe5, 0xce, 0x8c, 0xc8, 0xed, 0x93, 0x1a, 0x1c,
-	0x98, 0xca, 0x0f, 0x70, 0xaf, 0x54, 0xf9, 0xb5, 0x3b, 0x3c, 0xd7, 0xf8, 0x3d, 0x81, 0xe6, 0xfc,
-	0x1e, 0xe3, 0xc3, 0xaa, 0x9c, 0xe5, 0x09, 0xec, 0x1e, 0xac, 0x88, 0xb2, 0xda, 0x0f, 0x0d, 0x83,
-	0x03, 0xdc, 0xbf, 0x95, 0x41, 0x78, 0xaa, 0x0f, 0x0d, 0x07, 0xb0, 0x9b, 0x88, 0x49, 0x45, 0xe2,
-	0xe1, 0xce, 0xc2, 0xd6, 0x63, 0xfd, 0x95, 0x74, 0x4c, 0xfe, 0x25, 0xe4, 0xb4, 0x61, 0xbe, 0x98,
-	0x3e, 0xfa, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xae, 0x49, 0x82, 0x46, 0xd6, 0x09, 0x00, 0x00,
+	// 851 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x41, 0x6f, 0x1b, 0x45,
+	0x14, 0xd6, 0x78, 0x63, 0x37, 0x7e, 0x76, 0x12, 0xf7, 0x15, 0xc2, 0xca, 0x25, 0xd4, 0x6c, 0x9a,
+	0x62, 0x35, 0x95, 0x57, 0x29, 0x42, 0x42, 0x45, 0x1c, 0xc8, 0xa5, 0x8a, 0xc4, 0x21, 0xda, 0x14,
+	0x0e, 0x5c, 0x56, 0x9b, 0xdd, 0x89, 0x33, 0x34, 0xde, 0x31, 0x3b, 0x93, 0xa8, 0xb4, 0xca, 0x01,
+	0x24, 0x8e, 0xc0, 0x81, 0x0b, 0x88, 0xdf, 0xc2, 0x89, 0x9f, 0xc0, 0x09, 0x71, 0xe5, 0x47, 0x70,
+	0x44, 0x33, 0x3b, 0xbb, 0x1e, 0xaf, 0x97, 0xd8, 0x52, 0xb9, 0xed, 0x7c, 0xf3, 0xe6, 0xcd, 0xf7,
+	0x7d, 0x6f, 0xde, 0xec, 0xc0, 0xee, 0x98, 0xf3, 0xf1, 0x05, 0xf5, 0xc7, 0x34, 0xe5, 0x13, 0x16,
+	0x0b, 0xff, 0xea, 0xc0, 0xcf, 0xe8, 0x19, 0xcd, 0x68, 0x1a, 0x53, 0x31, 0x9a, 0x66, 0x5c, 0x72,
+	0xc4, 0x3c, 0x68, 0x54, 0x04, 0x8d, 0xae, 0x0e, 0xfa, 0x6f, 0x9b, 0x85, 0xd1, 0x94, 0xf9, 0x51,
+	0x9a, 0x72, 0x19, 0x49, 0xc6, 0x53, 0xb3, 0xc2, 0xfb, 0x93, 0x40, 0x3b, 0x28, 0xd2, 0xe0, 0x26,
+	0x34, 0x58, 0xe2, 0x92, 0x01, 0x19, 0xb6, 0x83, 0x06, 0x4b, 0x70, 0x1b, 0x5a, 0x17, 0x34, 0x1d,
+	0xcb, 0x73, 0xb7, 0x31, 0x20, 0x43, 0x27, 0x30, 0x23, 0x1c, 0x40, 0x67, 0x92, 0x7c, 0x10, 0x9f,
+	0xd3, 0xf8, 0xb9, 0xb8, 0x9c, 0xb8, 0x8e, 0x5e, 0x60, 0x43, 0x88, 0xb0, 0x96, 0x46, 0x13, 0xea,
+	0xae, 0xe9, 0x29, 0xfd, 0x8d, 0x3b, 0x00, 0x82, 0x5f, 0x66, 0x31, 0x0d, 0x2f, 0x33, 0xe6, 0x36,
+	0xf5, 0x4c, 0x3b, 0x47, 0x3e, 0xcb, 0x18, 0xee, 0xc3, 0x6d, 0x33, 0x1d, 0xc5, 0x31, 0x15, 0x42,
+	0xb1, 0x74, 0x5b, 0x03, 0x67, 0xd8, 0x0e, 0x7a, 0xf9, 0xc4, 0x27, 0x25, 0x8e, 0x1e, 0x6c, 0xa4,
+	0xf1, 0x29, 0x0b, 0x65, 0xf4, 0x82, 0xa7, 0x21, 0x4b, 0xdc, 0x5b, 0x03, 0x32, 0x6c, 0x06, 0x1d,
+	0x05, 0x3e, 0x53, 0xd8, 0x51, 0xe2, 0xfd, 0xdc, 0x80, 0x6e, 0xa9, 0xed, 0x84, 0xca, 0x05, 0x79,
+	0xbb, 0xb0, 0x51, 0x5a, 0x18, 0xb2, 0x44, 0xb8, 0x0d, 0xbd, 0x5b, 0xb7, 0x04, 0x8f, 0x12, 0xb1,
+	0x82, 0xd6, 0x05, 0x2e, 0x6b, 0x0b, 0x5c, 0x54, 0x96, 0x84, 0x8a, 0x38, 0x63, 0x53, 0xe5, 0xbe,
+	0x11, 0x6f, 0x43, 0x78, 0x0f, 0x3a, 0x91, 0x10, 0x74, 0x72, 0x7a, 0xf1, 0xb5, 0xca, 0xd1, 0xd2,
+	0x11, 0x50, 0x40, 0x47, 0x49, 0xc5, 0xbe, 0x5b, 0x2b, 0xd9, 0xb7, 0x5e, 0x6f, 0x9f, 0xf7, 0x1b,
+	0x81, 0xfe, 0x09, 0x8d, 0xb2, 0xf8, 0xdc, 0x36, 0x48, 0x04, 0xf4, 0xab, 0x4b, 0x2a, 0x24, 0x7a,
+	0xd0, 0xb5, 0x04, 0x0a, 0x97, 0xe4, 0xbe, 0xd8, 0x18, 0xbe, 0x03, 0x60, 0x6d, 0x94, 0x3b, 0x67,
+	0x21, 0x55, 0x3d, 0x4e, 0x9d, 0x9e, 0x69, 0x34, 0xa6, 0xa1, 0xe4, 0xcf, 0x69, 0x6a, 0x0e, 0x4a,
+	0x5b, 0x21, 0xcf, 0x14, 0x80, 0x77, 0x41, 0x0f, 0x42, 0xc1, 0x5e, 0x52, 0xed, 0x57, 0x33, 0x58,
+	0x57, 0xc0, 0x09, 0x7b, 0x49, 0xbd, 0x1f, 0x08, 0xdc, 0xad, 0xe5, 0x2f, 0xa6, 0x3c, 0x15, 0x14,
+	0x9f, 0xc2, 0xe6, 0xac, 0xb2, 0x82, 0xca, 0x5c, 0x42, 0xe7, 0xf1, 0x60, 0xb4, 0xd8, 0x21, 0x23,
+	0x3b, 0x45, 0x30, 0x3b, 0x11, 0x2a, 0x21, 0x3e, 0x80, 0xad, 0x94, 0xbe, 0x90, 0xa1, 0xc5, 0xb4,
+	0xa1, 0x99, 0x6e, 0x28, 0xf8, 0xb8, 0x60, 0xeb, 0x1d, 0xc2, 0xf6, 0x53, 0x2a, 0xe7, 0x32, 0x19,
+	0x2f, 0x87, 0xd0, 0x9b, 0xa3, 0x12, 0x96, 0x47, 0x70, 0xd3, 0xde, 0xea, 0x28, 0xf1, 0x7e, 0x27,
+	0xf0, 0x56, 0x45, 0xd4, 0xff, 0x5a, 0x91, 0x3a, 0x26, 0x4e, 0x1d, 0x93, 0xd7, 0x2a, 0xcd, 0x37,
+	0x04, 0xdc, 0x45, 0x15, 0xa6, 0x2e, 0x1f, 0x03, 0xcc, 0x2e, 0x2d, 0x53, 0x93, 0x9d, 0x1b, 0x6b,
+	0x12, 0x58, 0x0b, 0x56, 0xae, 0xc6, 0x87, 0x70, 0xc7, 0xae, 0x46, 0x61, 0xe2, 0xbb, 0xd0, 0xb5,
+	0xfb, 0xdd, 0x94, 0xa1, 0x63, 0xb5, 0xbb, 0xf7, 0x0b, 0x81, 0xde, 0xa7, 0x4c, 0xc8, 0xc3, 0x48,
+	0xcc, 0xcc, 0x5f, 0xbe, 0x0e, 0xdf, 0x80, 0xa6, 0x90, 0x51, 0x26, 0xcd, 0x45, 0x99, 0x0f, 0xb0,
+	0x07, 0x0e, 0x4d, 0x73, 0x93, 0x9d, 0x40, 0x7d, 0xbe, 0x96, 0xb3, 0x1c, 0x6e, 0x5b, 0xd4, 0x8c,
+	0xa3, 0xdb, 0xd0, 0xe2, 0x67, 0x67, 0x82, 0x4a, 0xcd, 0xca, 0x09, 0xcc, 0x08, 0xfb, 0xb0, 0x2e,
+	0x14, 0xfd, 0x34, 0xa6, 0xc6, 0xa3, 0x72, 0x5c, 0x67, 0xa3, 0x53, 0x63, 0xe3, 0xe3, 0xbf, 0x9a,
+	0x80, 0xd6, 0x91, 0xce, 0xae, 0x58, 0x4c, 0x3f, 0x3f, 0xc0, 0x5f, 0x09, 0xdc, 0xa9, 0x69, 0x3e,
+	0x1c, 0xd5, 0x15, 0xf2, 0xbf, 0x6f, 0x99, 0xbe, 0xbf, 0x72, 0x7c, 0xae, 0xd5, 0xdb, 0xfd, 0xf6,
+	0x8f, 0xbf, 0x7f, 0x6a, 0xec, 0x78, 0xee, 0xfc, 0xcf, 0x8f, 0x4a, 0xe1, 0x0b, 0xbd, 0xec, 0x09,
+	0x79, 0x88, 0xdf, 0x13, 0xd8, 0xaa, 0xb4, 0x22, 0x3e, 0xac, 0xdb, 0xa9, 0xbe, 0x5f, 0xfb, 0x4b,
+	0xaf, 0x08, 0xef, 0x91, 0xa6, 0xf1, 0x00, 0xef, 0x2f, 0xd2, 0x78, 0x55, 0x6d, 0xb0, 0x6b, 0xfc,
+	0x91, 0x40, 0xaf, 0xda, 0x0f, 0xb8, 0xbf, 0x82, 0xf4, 0xd2, 0xa7, 0x47, 0xab, 0x05, 0x1b, 0x93,
+	0x06, 0x9a, 0x5d, 0xdf, 0x7b, 0x73, 0x9e, 0x9d, 0xe5, 0xd0, 0x35, 0x74, 0x6d, 0xed, 0xf8, 0xde,
+	0x32, 0x77, 0x0a, 0x22, 0x37, 0x77, 0xaa, 0xb7, 0xa7, 0x77, 0xbe, 0x87, 0x3b, 0x95, 0x9d, 0x5f,
+	0xd9, 0xcd, 0x73, 0x8d, 0xdf, 0x11, 0x68, 0x97, 0xe7, 0x18, 0xef, 0xd7, 0xe5, 0xac, 0x76, 0x60,
+	0x7f, 0x6f, 0x49, 0x94, 0xd1, 0xbe, 0xaf, 0x19, 0xec, 0xe1, 0xee, 0x8d, 0x0c, 0xfc, 0x53, 0xb5,
+	0xe8, 0xf0, 0x4b, 0xd8, 0x8e, 0xf9, 0xa4, 0x26, 0xf1, 0xe1, 0xd6, 0xcc, 0xd6, 0x63, 0xf5, 0x4a,
+	0x3a, 0x26, 0x5f, 0x3c, 0x29, 0xc2, 0xf8, 0x45, 0x94, 0x8e, 0x47, 0x3c, 0x1b, 0xab, 0x97, 0x98,
+	0x7e, 0x43, 0xf9, 0xf9, 0x54, 0x34, 0x65, 0xc2, 0x7e, 0x9d, 0x7d, 0x54, 0x7c, 0xff, 0x43, 0xc8,
+	0x69, 0x4b, 0x47, 0xbe, 0xff, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd7, 0x9f, 0xb6, 0x11, 0xc6,
+	0x09, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/references.proto b/googleapis/genomics/v1/references.proto
deleted file mode 100644
index ae44c47251c3cba55ede012d1ee45893e84eda30..0000000000000000000000000000000000000000
--- a/googleapis/genomics/v1/references.proto
+++ /dev/null
@@ -1,281 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "ReferencesProto";
-option java_package = "com.google.genomics.v1";
-
-
-service ReferenceServiceV1 {
-  // Searches for reference sets which match the given criteria.
-  //
-  // For the definitions of references and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.searchReferenceSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L71)
-  rpc SearchReferenceSets(SearchReferenceSetsRequest) returns (SearchReferenceSetsResponse) {
-    option (google.api.http) = { post: "/v1/referencesets/search" body: "*" };
-  }
-
-  // Gets a reference set.
-  //
-  // For the definitions of references and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.getReferenceSet](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L83).
-  rpc GetReferenceSet(GetReferenceSetRequest) returns (ReferenceSet) {
-    option (google.api.http) = { get: "/v1/referencesets/{reference_set_id}" };
-  }
-
-  // Searches for references which match the given criteria.
-  //
-  // For the definitions of references and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.searchReferences](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L146).
-  rpc SearchReferences(SearchReferencesRequest) returns (SearchReferencesResponse) {
-    option (google.api.http) = { post: "/v1/references/search" body: "*" };
-  }
-
-  // Gets a reference.
-  //
-  // For the definitions of references and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.getReference](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L158).
-  rpc GetReference(GetReferenceRequest) returns (Reference) {
-    option (google.api.http) = { get: "/v1/references/{reference_id}" };
-  }
-
-  // Lists the bases in a reference, optionally restricted to a range.
-  //
-  // For the definitions of references and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.getReferenceBases](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L221).
-  rpc ListBases(ListBasesRequest) returns (ListBasesResponse) {
-    option (google.api.http) = { get: "/v1/references/{reference_id}/bases" };
-  }
-}
-
-// A reference is a canonical assembled DNA sequence, intended to act as a
-// reference coordinate space for other genomic annotations. A single reference
-// might represent the human chromosome 1 or mitochandrial DNA, for instance. A
-// reference belongs to one or more reference sets.
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-message Reference {
-  // The server-generated reference ID, unique across all references.
-  string id = 1;
-
-  // The length of this reference's sequence.
-  int64 length = 2;
-
-  // MD5 of the upper-case sequence excluding all whitespace characters (this
-  // is equivalent to SQ:M5 in SAM). This value is represented in lower case
-  // hexadecimal format.
-  string md5checksum = 3;
-
-  // The name of this reference, for example `22`.
-  string name = 4;
-
-  // The URI from which the sequence was obtained. Typically specifies a FASTA
-  // format file.
-  string source_uri = 5;
-
-  // All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally
-  // with a version number, for example `GCF_000001405.26`.
-  repeated string source_accessions = 6;
-
-  // ID from http://www.ncbi.nlm.nih.gov/taxonomy. For example, 9606 for human.
-  int32 ncbi_taxon_id = 7;
-}
-
-// A reference set is a set of references which typically comprise a reference
-// assembly for a species, such as `GRCh38` which is representative
-// of the human genome. A reference set defines a common coordinate space for
-// comparing reference-aligned experimental data. A reference set contains 1 or
-// more references.
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-message ReferenceSet {
-  // The server-generated reference set ID, unique across all reference sets.
-  string id = 1;
-
-  // The IDs of the reference objects that are part of this set.
-  // `Reference.md5checksum` must be unique within this set.
-  repeated string reference_ids = 2;
-
-  // Order-independent MD5 checksum which identifies this reference set. The
-  // checksum is computed by sorting all lower case hexidecimal string
-  // `reference.md5checksum` (for all reference in this set) in
-  // ascending lexicographic order, concatenating, and taking the MD5 of that
-  // value. The resulting value is represented in lower case hexadecimal format.
-  string md5checksum = 3;
-
-  // ID from http://www.ncbi.nlm.nih.gov/taxonomy (for example, 9606 for human)
-  // indicating the species which this reference set is intended to model. Note
-  // that contained references may specify a different `ncbiTaxonId`, as
-  // assemblies may contain reference sequences which do not belong to the
-  // modeled species, for example EBV in a human reference genome.
-  int32 ncbi_taxon_id = 4;
-
-  // Free text description of this reference set.
-  string description = 5;
-
-  // Public id of this reference set, such as `GRCh37`.
-  string assembly_id = 6;
-
-  // The URI from which the references were obtained.
-  string source_uri = 7;
-
-  // All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally
-  // with a version number, for example `NC_000001.11`.
-  repeated string source_accessions = 8;
-}
-
-message SearchReferenceSetsRequest {
-  // If present, return reference sets for which the
-  // [md5checksum][google.genomics.v1.ReferenceSet.md5checksum] matches exactly.
-  repeated string md5checksums = 1;
-
-  // If present, return reference sets for which a prefix of any of
-  // [sourceAccessions][google.genomics.v1.ReferenceSet.source_accessions]
-  // match any of these strings. Accession numbers typically have a main number
-  // and a version, for example `NC_000001.11`.
-  repeated string accessions = 2;
-
-  // If present, return reference sets for which a substring of their
-  // `assemblyId` matches this string (case insensitive).
-  string assembly_id = 3;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 4;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 1024. The maximum value is 4096.
-  int32 page_size = 5;
-}
-
-message SearchReferenceSetsResponse {
-  // The matching references sets.
-  repeated ReferenceSet reference_sets = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-message GetReferenceSetRequest {
-  // The ID of the reference set.
-  string reference_set_id = 1;
-}
-
-message SearchReferencesRequest {
-  // If present, return references for which the
-  // [md5checksum][google.genomics.v1.Reference.md5checksum] matches exactly.
-  repeated string md5checksums = 1;
-
-  // If present, return references for which a prefix of any of
-  // [sourceAccessions][google.genomics.v1.Reference.source_accessions] match
-  // any of these strings. Accession numbers typically have a main number and a
-  // version, for example `GCF_000001405.26`.
-  repeated string accessions = 2;
-
-  // If present, return only references which belong to this reference set.
-  string reference_set_id = 3;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 4;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 1024. The maximum value is 4096.
-  int32 page_size = 5;
-}
-
-message SearchReferencesResponse {
-  // The matching references.
-  repeated Reference references = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-message GetReferenceRequest {
-  // The ID of the reference.
-  string reference_id = 1;
-}
-
-message ListBasesRequest {
-  // The ID of the reference.
-  string reference_id = 1;
-
-  // The start position (0-based) of this query. Defaults to 0.
-  int64 start = 2;
-
-  // The end position (0-based, exclusive) of this query. Defaults to the length
-  // of this reference.
-  int64 end = 3;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 4;
-
-  // The maximum number of bases to return in a single page. If unspecified,
-  // defaults to 200Kbp (kilo base pairs). The maximum value is 10Mbp (mega base
-  // pairs).
-  int32 page_size = 5;
-}
-
-message ListBasesResponse {
-  // The offset position (0-based) of the given `sequence` from the
-  // start of this `Reference`. This value will differ for each page
-  // in a paginated request.
-  int64 offset = 1;
-
-  // A substring of the bases that make up this reference.
-  string sequence = 2;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 3;
-}
diff --git a/googleapis/genomics/v1/variants.pb.go b/googleapis/genomics/v1/variants.pb.go
index f404a6b26c36ad4cebff2881b649427c8d440cb7..ae6f5cc01459d64047a43ce4ac99c1c464a97a7c 100644
--- a/googleapis/genomics/v1/variants.pb.go
+++ b/googleapis/genomics/v1/variants.pb.go
@@ -1,16 +1,16 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/variants.proto
+// source: google/genomics/v1/variants.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
-import google_protobuf2 "google.golang.org/genproto/protobuf"
+import google_protobuf2 "google.golang.org/genproto/protobuf/field_mask"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/struct"
 
 import (
@@ -175,6 +175,48 @@ func (m *VariantSetMetadata) String() string            { return proto.CompactTe
 func (*VariantSetMetadata) ProtoMessage()               {}
 func (*VariantSetMetadata) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{0} }
 
+func (m *VariantSetMetadata) GetKey() string {
+	if m != nil {
+		return m.Key
+	}
+	return ""
+}
+
+func (m *VariantSetMetadata) GetValue() string {
+	if m != nil {
+		return m.Value
+	}
+	return ""
+}
+
+func (m *VariantSetMetadata) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *VariantSetMetadata) GetType() VariantSetMetadata_Type {
+	if m != nil {
+		return m.Type
+	}
+	return VariantSetMetadata_TYPE_UNSPECIFIED
+}
+
+func (m *VariantSetMetadata) GetNumber() string {
+	if m != nil {
+		return m.Number
+	}
+	return ""
+}
+
+func (m *VariantSetMetadata) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func (m *VariantSetMetadata) GetInfo() map[string]*google_protobuf3.ListValue {
 	if m != nil {
 		return m.Info
@@ -219,6 +261,27 @@ func (m *VariantSet) String() string            { return proto.CompactTextString
 func (*VariantSet) ProtoMessage()               {}
 func (*VariantSet) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{1} }
 
+func (m *VariantSet) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
+func (m *VariantSet) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *VariantSet) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
 func (m *VariantSet) GetReferenceBounds() []*ReferenceBound {
 	if m != nil {
 		return m.ReferenceBounds
@@ -233,6 +296,20 @@ func (m *VariantSet) GetMetadata() []*VariantSetMetadata {
 	return nil
 }
 
+func (m *VariantSet) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *VariantSet) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 // A variant represents a change in DNA sequence relative to a reference
 // sequence. For example, a variant could represent a SNP or an insertion.
 // Variants belong to a variant set.
@@ -289,6 +366,83 @@ func (m *Variant) String() string            { return proto.CompactTextString(m)
 func (*Variant) ProtoMessage()               {}
 func (*Variant) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{2} }
 
+func (m *Variant) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
+func (m *Variant) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Variant) GetNames() []string {
+	if m != nil {
+		return m.Names
+	}
+	return nil
+}
+
+func (m *Variant) GetCreated() int64 {
+	if m != nil {
+		return m.Created
+	}
+	return 0
+}
+
+func (m *Variant) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *Variant) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *Variant) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *Variant) GetReferenceBases() string {
+	if m != nil {
+		return m.ReferenceBases
+	}
+	return ""
+}
+
+func (m *Variant) GetAlternateBases() []string {
+	if m != nil {
+		return m.AlternateBases
+	}
+	return nil
+}
+
+func (m *Variant) GetQuality() float64 {
+	if m != nil {
+		return m.Quality
+	}
+	return 0
+}
+
+func (m *Variant) GetFilter() []string {
+	if m != nil {
+		return m.Filter
+	}
+	return nil
+}
+
 func (m *Variant) GetInfo() map[string]*google_protobuf3.ListValue {
 	if m != nil {
 		return m.Info
@@ -348,6 +502,41 @@ func (m *VariantCall) String() string            { return proto.CompactTextStrin
 func (*VariantCall) ProtoMessage()               {}
 func (*VariantCall) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{3} }
 
+func (m *VariantCall) GetCallSetId() string {
+	if m != nil {
+		return m.CallSetId
+	}
+	return ""
+}
+
+func (m *VariantCall) GetCallSetName() string {
+	if m != nil {
+		return m.CallSetName
+	}
+	return ""
+}
+
+func (m *VariantCall) GetGenotype() []int32 {
+	if m != nil {
+		return m.Genotype
+	}
+	return nil
+}
+
+func (m *VariantCall) GetPhaseset() string {
+	if m != nil {
+		return m.Phaseset
+	}
+	return ""
+}
+
+func (m *VariantCall) GetGenotypeLikelihood() []float64 {
+	if m != nil {
+		return m.GenotypeLikelihood
+	}
+	return nil
+}
+
 func (m *VariantCall) GetInfo() map[string]*google_protobuf3.ListValue {
 	if m != nil {
 		return m.Info
@@ -385,6 +574,41 @@ func (m *CallSet) String() string            { return proto.CompactTextString(m)
 func (*CallSet) ProtoMessage()               {}
 func (*CallSet) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{4} }
 
+func (m *CallSet) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *CallSet) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *CallSet) GetSampleId() string {
+	if m != nil {
+		return m.SampleId
+	}
+	return ""
+}
+
+func (m *CallSet) GetVariantSetIds() []string {
+	if m != nil {
+		return m.VariantSetIds
+	}
+	return nil
+}
+
+func (m *CallSet) GetCreated() int64 {
+	if m != nil {
+		return m.Created
+	}
+	return 0
+}
+
 func (m *CallSet) GetInfo() map[string]*google_protobuf3.ListValue {
 	if m != nil {
 		return m.Info
@@ -407,6 +631,20 @@ func (m *ReferenceBound) String() string            { return proto.CompactTextSt
 func (*ReferenceBound) ProtoMessage()               {}
 func (*ReferenceBound) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{5} }
 
+func (m *ReferenceBound) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *ReferenceBound) GetUpperBound() int64 {
+	if m != nil {
+		return m.UpperBound
+	}
+	return 0
+}
+
 // The variant data import request.
 type ImportVariantsRequest struct {
 	// Required. The variant set to which variant data should be imported.
@@ -439,6 +677,34 @@ func (m *ImportVariantsRequest) String() string            { return proto.Compac
 func (*ImportVariantsRequest) ProtoMessage()               {}
 func (*ImportVariantsRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{6} }
 
+func (m *ImportVariantsRequest) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
+func (m *ImportVariantsRequest) GetSourceUris() []string {
+	if m != nil {
+		return m.SourceUris
+	}
+	return nil
+}
+
+func (m *ImportVariantsRequest) GetFormat() ImportVariantsRequest_Format {
+	if m != nil {
+		return m.Format
+	}
+	return ImportVariantsRequest_FORMAT_UNSPECIFIED
+}
+
+func (m *ImportVariantsRequest) GetNormalizeReferenceNames() bool {
+	if m != nil {
+		return m.NormalizeReferenceNames
+	}
+	return false
+}
+
 func (m *ImportVariantsRequest) GetInfoMergeConfig() map[string]InfoMergeOperation {
 	if m != nil {
 		return m.InfoMergeConfig
@@ -457,6 +723,13 @@ func (m *ImportVariantsResponse) String() string            { return proto.Compa
 func (*ImportVariantsResponse) ProtoMessage()               {}
 func (*ImportVariantsResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{7} }
 
+func (m *ImportVariantsResponse) GetCallSetIds() []string {
+	if m != nil {
+		return m.CallSetIds
+	}
+	return nil
+}
+
 // The CreateVariantSet request
 type CreateVariantSetRequest struct {
 	// Required. The variant set to be created. Must have a valid `datasetId`.
@@ -503,6 +776,48 @@ func (m *ExportVariantSetRequest) String() string            { return proto.Comp
 func (*ExportVariantSetRequest) ProtoMessage()               {}
 func (*ExportVariantSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{9} }
 
+func (m *ExportVariantSetRequest) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
+func (m *ExportVariantSetRequest) GetCallSetIds() []string {
+	if m != nil {
+		return m.CallSetIds
+	}
+	return nil
+}
+
+func (m *ExportVariantSetRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ExportVariantSetRequest) GetFormat() ExportVariantSetRequest_Format {
+	if m != nil {
+		return m.Format
+	}
+	return ExportVariantSetRequest_FORMAT_UNSPECIFIED
+}
+
+func (m *ExportVariantSetRequest) GetBigqueryDataset() string {
+	if m != nil {
+		return m.BigqueryDataset
+	}
+	return ""
+}
+
+func (m *ExportVariantSetRequest) GetBigqueryTable() string {
+	if m != nil {
+		return m.BigqueryTable
+	}
+	return ""
+}
+
 // The variant set request.
 type GetVariantSetRequest struct {
 	// Required. The ID of the variant set.
@@ -514,6 +829,13 @@ func (m *GetVariantSetRequest) String() string            { return proto.Compact
 func (*GetVariantSetRequest) ProtoMessage()               {}
 func (*GetVariantSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{10} }
 
+func (m *GetVariantSetRequest) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
 // The search variant sets request.
 type SearchVariantSetsRequest struct {
 	// Exactly one dataset ID must be provided here. Only variant sets which
@@ -533,6 +855,27 @@ func (m *SearchVariantSetsRequest) String() string            { return proto.Com
 func (*SearchVariantSetsRequest) ProtoMessage()               {}
 func (*SearchVariantSetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{11} }
 
+func (m *SearchVariantSetsRequest) GetDatasetIds() []string {
+	if m != nil {
+		return m.DatasetIds
+	}
+	return nil
+}
+
+func (m *SearchVariantSetsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchVariantSetsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // The search variant sets response.
 type SearchVariantSetsResponse struct {
 	// The variant sets belonging to the requested dataset.
@@ -555,6 +898,13 @@ func (m *SearchVariantSetsResponse) GetVariantSets() []*VariantSet {
 	return nil
 }
 
+func (m *SearchVariantSetsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The delete variant set request.
 type DeleteVariantSetRequest struct {
 	// The ID of the variant set to be deleted.
@@ -566,6 +916,13 @@ func (m *DeleteVariantSetRequest) String() string            { return proto.Comp
 func (*DeleteVariantSetRequest) ProtoMessage()               {}
 func (*DeleteVariantSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{13} }
 
+func (m *DeleteVariantSetRequest) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
 type UpdateVariantSetRequest struct {
 	// The ID of the variant to be updated (must already exist).
 	VariantSetId string `protobuf:"bytes,1,opt,name=variant_set_id,json=variantSetId" json:"variant_set_id,omitempty"`
@@ -588,6 +945,13 @@ func (m *UpdateVariantSetRequest) String() string            { return proto.Comp
 func (*UpdateVariantSetRequest) ProtoMessage()               {}
 func (*UpdateVariantSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{14} }
 
+func (m *UpdateVariantSetRequest) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
 func (m *UpdateVariantSetRequest) GetVariantSet() *VariantSet {
 	if m != nil {
 		return m.VariantSet
@@ -641,6 +1005,69 @@ func (m *SearchVariantsRequest) String() string            { return proto.Compac
 func (*SearchVariantsRequest) ProtoMessage()               {}
 func (*SearchVariantsRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{15} }
 
+func (m *SearchVariantsRequest) GetVariantSetIds() []string {
+	if m != nil {
+		return m.VariantSetIds
+	}
+	return nil
+}
+
+func (m *SearchVariantsRequest) GetVariantName() string {
+	if m != nil {
+		return m.VariantName
+	}
+	return ""
+}
+
+func (m *SearchVariantsRequest) GetCallSetIds() []string {
+	if m != nil {
+		return m.CallSetIds
+	}
+	return nil
+}
+
+func (m *SearchVariantsRequest) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *SearchVariantsRequest) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *SearchVariantsRequest) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *SearchVariantsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchVariantsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *SearchVariantsRequest) GetMaxCalls() int32 {
+	if m != nil {
+		return m.MaxCalls
+	}
+	return 0
+}
+
 // The variant search response.
 type SearchVariantsResponse struct {
 	// The list of matching Variants.
@@ -663,6 +1090,13 @@ func (m *SearchVariantsResponse) GetVariants() []*Variant {
 	return nil
 }
 
+func (m *SearchVariantsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 type CreateVariantRequest struct {
 	// The variant to be created.
 	Variant *Variant `protobuf:"bytes,1,opt,name=variant" json:"variant,omitempty"`
@@ -697,6 +1131,13 @@ func (m *UpdateVariantRequest) String() string            { return proto.Compact
 func (*UpdateVariantRequest) ProtoMessage()               {}
 func (*UpdateVariantRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{18} }
 
+func (m *UpdateVariantRequest) GetVariantId() string {
+	if m != nil {
+		return m.VariantId
+	}
+	return ""
+}
+
 func (m *UpdateVariantRequest) GetVariant() *Variant {
 	if m != nil {
 		return m.Variant
@@ -721,6 +1162,13 @@ func (m *DeleteVariantRequest) String() string            { return proto.Compact
 func (*DeleteVariantRequest) ProtoMessage()               {}
 func (*DeleteVariantRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{19} }
 
+func (m *DeleteVariantRequest) GetVariantId() string {
+	if m != nil {
+		return m.VariantId
+	}
+	return ""
+}
+
 type GetVariantRequest struct {
 	// The ID of the variant.
 	VariantId string `protobuf:"bytes,1,opt,name=variant_id,json=variantId" json:"variant_id,omitempty"`
@@ -731,6 +1179,13 @@ func (m *GetVariantRequest) String() string            { return proto.CompactTex
 func (*GetVariantRequest) ProtoMessage()               {}
 func (*GetVariantRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{20} }
 
+func (m *GetVariantRequest) GetVariantId() string {
+	if m != nil {
+		return m.VariantId
+	}
+	return ""
+}
+
 type MergeVariantsRequest struct {
 	// The destination variant set.
 	VariantSetId string `protobuf:"bytes,1,opt,name=variant_set_id,json=variantSetId" json:"variant_set_id,omitempty"`
@@ -746,6 +1201,13 @@ func (m *MergeVariantsRequest) String() string            { return proto.Compact
 func (*MergeVariantsRequest) ProtoMessage()               {}
 func (*MergeVariantsRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{21} }
 
+func (m *MergeVariantsRequest) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
 func (m *MergeVariantsRequest) GetVariants() []*Variant {
 	if m != nil {
 		return m.Variants
@@ -782,6 +1244,34 @@ func (m *SearchCallSetsRequest) String() string            { return proto.Compac
 func (*SearchCallSetsRequest) ProtoMessage()               {}
 func (*SearchCallSetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{22} }
 
+func (m *SearchCallSetsRequest) GetVariantSetIds() []string {
+	if m != nil {
+		return m.VariantSetIds
+	}
+	return nil
+}
+
+func (m *SearchCallSetsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *SearchCallSetsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchCallSetsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // The call set search response.
 type SearchCallSetsResponse struct {
 	// The list of matching call sets.
@@ -804,6 +1294,13 @@ func (m *SearchCallSetsResponse) GetCallSets() []*CallSet {
 	return nil
 }
 
+func (m *SearchCallSetsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 type CreateCallSetRequest struct {
 	// The call set to be created.
 	CallSet *CallSet `protobuf:"bytes,1,opt,name=call_set,json=callSet" json:"call_set,omitempty"`
@@ -838,6 +1335,13 @@ func (m *UpdateCallSetRequest) String() string            { return proto.Compact
 func (*UpdateCallSetRequest) ProtoMessage()               {}
 func (*UpdateCallSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{25} }
 
+func (m *UpdateCallSetRequest) GetCallSetId() string {
+	if m != nil {
+		return m.CallSetId
+	}
+	return ""
+}
+
 func (m *UpdateCallSetRequest) GetCallSet() *CallSet {
 	if m != nil {
 		return m.CallSet
@@ -862,6 +1366,13 @@ func (m *DeleteCallSetRequest) String() string            { return proto.Compact
 func (*DeleteCallSetRequest) ProtoMessage()               {}
 func (*DeleteCallSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{26} }
 
+func (m *DeleteCallSetRequest) GetCallSetId() string {
+	if m != nil {
+		return m.CallSetId
+	}
+	return ""
+}
+
 type GetCallSetRequest struct {
 	// The ID of the call set.
 	CallSetId string `protobuf:"bytes,1,opt,name=call_set_id,json=callSetId" json:"call_set_id,omitempty"`
@@ -872,6 +1383,13 @@ func (m *GetCallSetRequest) String() string            { return proto.CompactTex
 func (*GetCallSetRequest) ProtoMessage()               {}
 func (*GetCallSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{27} }
 
+func (m *GetCallSetRequest) GetCallSetId() string {
+	if m != nil {
+		return m.CallSetId
+	}
+	return ""
+}
+
 // The stream variants request.
 type StreamVariantsRequest struct {
 	// The Google Developers Console project ID or number which will be billed
@@ -898,6 +1416,48 @@ func (m *StreamVariantsRequest) String() string            { return proto.Compac
 func (*StreamVariantsRequest) ProtoMessage()               {}
 func (*StreamVariantsRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{28} }
 
+func (m *StreamVariantsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *StreamVariantsRequest) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
+func (m *StreamVariantsRequest) GetCallSetIds() []string {
+	if m != nil {
+		return m.CallSetIds
+	}
+	return nil
+}
+
+func (m *StreamVariantsRequest) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *StreamVariantsRequest) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *StreamVariantsRequest) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
 type StreamVariantsResponse struct {
 	Variants []*Variant `protobuf:"bytes,1,rep,name=variants" json:"variants,omitempty"`
 }
@@ -1051,7 +1611,7 @@ var _StreamingVariantService_serviceDesc = grpc.ServiceDesc{
 			ServerStreams: true,
 		},
 	},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1/variants.proto",
+	Metadata: "google/genomics/v1/variants.proto",
 }
 
 // Client API for VariantServiceV1 service
@@ -2092,162 +2652,158 @@ var _VariantServiceV1_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1/variants.proto",
+	Metadata: "google/genomics/v1/variants.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/variants.proto", fileDescriptor11)
-}
+func init() { proto.RegisterFile("google/genomics/v1/variants.proto", fileDescriptor11) }
 
 var fileDescriptor11 = []byte{
-	// 2369 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x59, 0x5f, 0x6f, 0x1b, 0xc7,
-	0x11, 0xef, 0x1d, 0x49, 0x89, 0x1c, 0x8a, 0x14, 0xbd, 0x51, 0xa4, 0x0b, 0x13, 0xdb, 0xca, 0xc1,
-	0x76, 0x14, 0xd5, 0x25, 0x6d, 0xba, 0x4a, 0x53, 0x35, 0xa9, 0x2b, 0xd1, 0x94, 0xc2, 0x42, 0x22,
-	0x95, 0x13, 0xed, 0xd6, 0x05, 0x0a, 0xe2, 0x44, 0xae, 0xe8, 0xb3, 0xc9, 0x3b, 0xfa, 0xee, 0xa8,
-	0x5a, 0x36, 0xfc, 0xd0, 0xf4, 0x1f, 0x02, 0x14, 0x28, 0xd0, 0x00, 0x7d, 0xea, 0x6b, 0x1f, 0x8a,
-	0x16, 0xfd, 0x06, 0xfe, 0x06, 0x6d, 0x5f, 0x8a, 0x7e, 0x83, 0x7e, 0x88, 0x3e, 0x16, 0xbb, 0xb7,
-	0x7b, 0xbc, 0x3b, 0x2e, 0x8f, 0x94, 0x83, 0x04, 0x7d, 0xb1, 0xb9, 0xb3, 0xb3, 0x33, 0xb3, 0x33,
-	0xbf, 0x99, 0x9d, 0x39, 0xc1, 0x0f, 0x7a, 0x96, 0xd5, 0xeb, 0xe3, 0x52, 0xcf, 0xea, 0xeb, 0x66,
-	0xaf, 0x64, 0xd9, 0xbd, 0x72, 0x0f, 0x9b, 0x43, 0xdb, 0x72, 0xad, 0xb2, 0xb7, 0xa5, 0x0f, 0x0d,
-	0x87, 0xd0, 0xac, 0x81, 0xd1, 0x71, 0xca, 0x67, 0xb7, 0xcb, 0x67, 0xba, 0x6d, 0xe8, 0xa6, 0xeb,
-	0x94, 0x28, 0x17, 0x42, 0x5c, 0x02, 0x63, 0x29, 0x9d, 0xdd, 0x2e, 0xd6, 0xe7, 0x93, 0xaa, 0x0f,
-	0x8d, 0xb2, 0x83, 0xed, 0x33, 0xa3, 0x83, 0x3b, 0x96, 0x79, 0x6a, 0xf4, 0xca, 0xba, 0x69, 0x5a,
-	0xae, 0xee, 0x1a, 0x96, 0xc9, 0xc4, 0x17, 0x77, 0xe7, 0x13, 0xd5, 0xb7, 0xcc, 0x9e, 0x3d, 0x32,
-	0x4d, 0xc3, 0xec, 0x95, 0xad, 0x21, 0xb6, 0x43, 0x32, 0xee, 0xf4, 0x0c, 0xf7, 0xd1, 0xe8, 0xa4,
-	0xd4, 0xb1, 0x06, 0x65, 0x4f, 0x4e, 0x99, 0x6e, 0x9c, 0x8c, 0x4e, 0xcb, 0x43, 0xf7, 0x7c, 0x88,
-	0x9d, 0x32, 0x1e, 0x0c, 0xdd, 0x73, 0xef, 0x5f, 0x76, 0xe8, 0xdb, 0x31, 0x8a, 0xfd, 0xd3, 0xa7,
-	0x06, 0xee, 0x77, 0xdb, 0x03, 0xdd, 0x79, 0xc2, 0x4e, 0x6d, 0xcd, 0x56, 0xe5, 0xb8, 0xf6, 0xa8,
-	0xe3, 0xb2, 0xff, 0xbc, 0x63, 0xea, 0xab, 0x04, 0xa0, 0x07, 0x9e, 0x5f, 0x8f, 0xb1, 0x7b, 0x88,
-	0x5d, 0xbd, 0xab, 0xbb, 0x3a, 0x2a, 0x40, 0xe2, 0x09, 0x3e, 0x57, 0xa4, 0x75, 0x69, 0x23, 0xa3,
-	0x91, 0x9f, 0x68, 0x05, 0x52, 0x67, 0x7a, 0x7f, 0x84, 0x15, 0x99, 0xd2, 0xbc, 0x05, 0xca, 0x83,
-	0x6c, 0x74, 0x95, 0x24, 0x25, 0xc9, 0x46, 0x17, 0xdd, 0x85, 0x24, 0xd1, 0xa5, 0xa4, 0xd6, 0xa5,
-	0x8d, 0x7c, 0xe5, 0x9b, 0xa5, 0xc9, 0x10, 0x95, 0x26, 0xb5, 0x95, 0x5a, 0xe7, 0x43, 0xac, 0xd1,
-	0x83, 0x68, 0x15, 0x16, 0xcc, 0xd1, 0xe0, 0x04, 0xdb, 0x4a, 0x9a, 0x0a, 0x65, 0x2b, 0xb4, 0x0e,
-	0xd9, 0x2e, 0x76, 0x3a, 0xb6, 0x31, 0x24, 0xfe, 0x55, 0x16, 0xe9, 0x66, 0x90, 0x84, 0xee, 0x41,
-	0xd2, 0x30, 0x4f, 0x2d, 0x25, 0xb1, 0x9e, 0xd8, 0xc8, 0x56, 0x6e, 0xcd, 0xa9, 0xba, 0x6e, 0x9e,
-	0x5a, 0x35, 0xd3, 0xb5, 0xcf, 0x35, 0x7a, 0xba, 0x78, 0x0c, 0x19, 0x9f, 0x24, 0xf0, 0xc2, 0xad,
-	0xa0, 0x17, 0xb2, 0x95, 0x22, 0xd7, 0xc2, 0x5d, 0x5d, 0x3a, 0x30, 0x1c, 0xf7, 0x01, 0xe1, 0x60,
-	0x1e, 0xda, 0x96, 0x3f, 0x94, 0xd4, 0x87, 0x90, 0x24, 0x57, 0x44, 0x2b, 0x50, 0x68, 0x3d, 0x3c,
-	0xaa, 0xb5, 0xef, 0x37, 0x8e, 0x8f, 0x6a, 0xd5, 0xfa, 0x5e, 0xbd, 0x76, 0xaf, 0xf0, 0x0d, 0x94,
-	0x85, 0xc5, 0x7a, 0xa3, 0x55, 0xdb, 0xaf, 0x69, 0x05, 0x09, 0x65, 0x20, 0xb5, 0x77, 0xd0, 0xdc,
-	0x69, 0x15, 0x64, 0x94, 0x86, 0xe4, 0xde, 0xc1, 0xce, 0x7e, 0x21, 0x81, 0x72, 0x90, 0xa9, 0x7e,
-	0xb2, 0xa3, 0xed, 0x54, 0x5b, 0x35, 0xad, 0x90, 0x44, 0x00, 0x0b, 0xc7, 0x2d, 0xad, 0xde, 0xd8,
-	0x2f, 0xa4, 0xd4, 0xbf, 0xc9, 0x00, 0xe3, 0x6b, 0xa1, 0xcb, 0x00, 0xe4, 0x5a, 0x0e, 0x76, 0xdb,
-	0x46, 0x97, 0x19, 0x9e, 0x61, 0x94, 0x7a, 0x97, 0x85, 0x4b, 0xf6, 0xc3, 0xb5, 0x01, 0x05, 0x1b,
-	0x9f, 0x62, 0x1b, 0x9b, 0x1d, 0xdc, 0x66, 0x87, 0x16, 0xe8, 0x6e, 0xde, 0xa7, 0x1f, 0xd3, 0x93,
-	0x87, 0x41, 0xce, 0x13, 0x6b, 0x64, 0x76, 0x1d, 0x25, 0x45, 0x3d, 0xad, 0x8a, 0x3c, 0xad, 0x71,
-	0xde, 0x5d, 0xc2, 0xaa, 0x2d, 0xdb, 0xa1, 0xb5, 0x83, 0x76, 0x21, 0x3d, 0x60, 0x21, 0x50, 0x92,
-	0x54, 0xcc, 0x8d, 0xf9, 0x02, 0xa6, 0xf9, 0xe7, 0x10, 0x82, 0xa4, 0xa9, 0x0f, 0x30, 0xc3, 0x02,
-	0xfd, 0x1d, 0x85, 0x49, 0x7a, 0x02, 0x26, 0xea, 0xe7, 0x49, 0x58, 0x64, 0x62, 0xd1, 0x35, 0xc8,
-	0xb3, 0x9a, 0xc2, 0x2f, 0xbf, 0x4c, 0x0f, 0x2c, 0x9d, 0xf9, 0x7a, 0x05, 0x4e, 0x5b, 0x81, 0x14,
-	0xd1, 0xe5, 0x50, 0xa4, 0x65, 0x34, 0x6f, 0x81, 0x14, 0x58, 0xec, 0xd8, 0x58, 0x77, 0x71, 0x57,
-	0x59, 0x5a, 0x97, 0x36, 0x12, 0x1a, 0x5f, 0xa2, 0xeb, 0x30, 0x76, 0x66, 0x9b, 0x5a, 0x9c, 0xa7,
-	0xb2, 0x72, 0x3e, 0xb5, 0x41, 0x4c, 0x5f, 0x81, 0x94, 0xe3, 0xea, 0xb6, 0xab, 0x14, 0xe8, 0x71,
-	0x6f, 0x41, 0x20, 0x88, 0xcd, 0xae, 0x92, 0xa3, 0x34, 0xf2, 0x13, 0xbd, 0x07, 0xcb, 0x81, 0x48,
-	0xe8, 0x0e, 0x76, 0x26, 0x42, 0xb6, 0x4b, 0xa8, 0x84, 0x51, 0xef, 0xbb, 0xd8, 0x36, 0x75, 0x97,
-	0x33, 0x2e, 0x52, 0x8b, 0xf3, 0x3e, 0xd9, 0x63, 0x54, 0x60, 0xf1, 0xe9, 0x48, 0xef, 0x1b, 0xee,
-	0x39, 0x75, 0x98, 0xa4, 0xf1, 0x25, 0xc9, 0xc6, 0x53, 0x83, 0x30, 0x2b, 0x19, 0x7a, 0x92, 0xad,
-	0xd0, 0x77, 0x59, 0xae, 0x01, 0x0d, 0xdd, 0xf5, 0x98, 0xd0, 0x45, 0x13, 0x0c, 0x6d, 0x41, 0xaa,
-	0xa3, 0xf7, 0xfb, 0x8e, 0x92, 0xa5, 0x67, 0xaf, 0xc6, 0x9c, 0xad, 0xea, 0xfd, 0xbe, 0xe6, 0x71,
-	0x7f, 0x35, 0x79, 0xf9, 0x4f, 0x19, 0xb2, 0x01, 0x5d, 0xe8, 0x0a, 0x64, 0x89, 0x36, 0x0e, 0x06,
-	0x0f, 0x3d, 0x19, 0x42, 0xf2, 0x90, 0xa0, 0x42, 0xce, 0xdf, 0xa7, 0x81, 0xcc, 0x78, 0xf8, 0x62,
-	0x1c, 0x34, 0x8c, 0x45, 0x48, 0x93, 0xab, 0xd0, 0x2a, 0x48, 0xdc, 0x9d, 0xd2, 0xfc, 0x35, 0xd9,
-	0x1b, 0x3e, 0x22, 0x2e, 0xc7, 0x2e, 0xad, 0x90, 0x19, 0xcd, 0x5f, 0xa3, 0x32, 0xbc, 0xc1, 0xf9,
-	0xda, 0x7d, 0xe3, 0x09, 0xee, 0x1b, 0x8f, 0x2c, 0x8b, 0x64, 0x63, 0x62, 0x43, 0xd2, 0x10, 0xdf,
-	0x3a, 0xf0, 0x77, 0xd0, 0xc7, 0x2c, 0x06, 0x32, 0xf5, 0xe3, 0xfb, 0x33, 0xfc, 0xf8, 0xf5, 0x14,
-	0xba, 0x3f, 0xca, 0xb0, 0x58, 0xf5, 0x9c, 0xc1, 0xd2, 0x46, 0xf2, 0xd3, 0x86, 0xa7, 0xab, 0x1c,
-	0x48, 0xd7, 0xb7, 0x21, 0xe3, 0xe8, 0x83, 0x61, 0x1f, 0x13, 0x77, 0x7b, 0x79, 0x9c, 0xf6, 0x08,
-	0xf5, 0x2e, 0xba, 0x01, 0xcb, 0xe1, 0xec, 0x74, 0xa8, 0x37, 0x32, 0x5a, 0x2e, 0x98, 0x9e, 0xa1,
-	0xcc, 0x4b, 0x85, 0x33, 0x8f, 0xc3, 0x34, 0x39, 0x1d, 0xa6, 0xcc, 0xda, 0xaf, 0xc7, 0x3d, 0x3f,
-	0x86, 0x7c, 0xb8, 0x30, 0x0a, 0x6a, 0x83, 0x24, 0xaa, 0x0d, 0x57, 0x21, 0x3b, 0x1a, 0x0e, 0xb1,
-	0xed, 0x55, 0x5e, 0xaa, 0x34, 0xa1, 0x01, 0x25, 0x51, 0x39, 0xea, 0x6f, 0x93, 0xf0, 0x66, 0x7d,
-	0x30, 0xb4, 0x6c, 0x97, 0xc5, 0xdc, 0xd1, 0xf0, 0xd3, 0x11, 0x76, 0x44, 0x35, 0x4e, 0x12, 0xd4,
-	0xb8, 0xab, 0x90, 0x75, 0xac, 0x91, 0xdd, 0xc1, 0xed, 0x91, 0x6d, 0x38, 0x14, 0x53, 0x19, 0x0d,
-	0x3c, 0xd2, 0x7d, 0xdb, 0x70, 0xd0, 0x27, 0xb0, 0x70, 0x6a, 0xd9, 0x03, 0xdd, 0x55, 0x12, 0xf4,
-	0x69, 0x17, 0xbe, 0xaf, 0x42, 0x0b, 0x4a, 0x7b, 0xf4, 0x9c, 0xc6, 0xce, 0xa3, 0x6d, 0x78, 0xcb,
-	0x24, 0xbf, 0xfa, 0xc6, 0x73, 0xdc, 0x0e, 0x5f, 0xde, 0xa1, 0x01, 0x4c, 0x6b, 0x6b, 0x3e, 0x83,
-	0x16, 0x74, 0x83, 0x83, 0x1e, 0xc3, 0x25, 0x12, 0x9d, 0xf6, 0x00, 0xdb, 0x3d, 0xdc, 0xf6, 0x5a,
-	0x37, 0x0a, 0x8a, 0x6c, 0xe5, 0xfb, 0xf3, 0x1b, 0x44, 0x02, 0x7b, 0x48, 0x24, 0x54, 0xa9, 0x00,
-	0x2f, 0xec, 0xcb, 0x46, 0x98, 0x5a, 0x7c, 0x0c, 0x2b, 0x22, 0x46, 0x01, 0x18, 0x3e, 0x0a, 0x82,
-	0x21, 0x2f, 0x7e, 0xc9, 0x7c, 0x51, 0x4d, 0xde, 0x23, 0x06, 0x81, 0xd1, 0x80, 0x05, 0xcf, 0x4b,
-	0x68, 0x15, 0xd0, 0x5e, 0x53, 0x3b, 0xdc, 0x69, 0x45, 0x9a, 0x84, 0x3c, 0x00, 0xa3, 0x3f, 0xa8,
-	0xee, 0x15, 0x24, 0xf4, 0x0e, 0x28, 0x6c, 0x5d, 0x6d, 0x1e, 0x1e, 0x1d, 0xd4, 0x5a, 0xb5, 0xf6,
-	0x7e, 0xad, 0xd1, 0x3c, 0xac, 0x57, 0x8f, 0x0b, 0xb2, 0xba, 0x0d, 0xab, 0xd1, 0xab, 0x3b, 0x43,
-	0xcb, 0x74, 0xc8, 0x03, 0xb9, 0x14, 0x28, 0x71, 0x8e, 0x22, 0x79, 0x91, 0xf6, 0x6b, 0x9c, 0xa3,
-	0xfe, 0x04, 0xd6, 0xaa, 0x34, 0x7f, 0xc6, 0x8f, 0x2f, 0xc7, 0xd2, 0x5d, 0xc8, 0x06, 0xb0, 0x44,
-	0x5d, 0x90, 0xad, 0x5c, 0x89, 0x7f, 0xb8, 0x35, 0x18, 0x03, 0x4d, 0xfd, 0xb7, 0x0c, 0x6b, 0xb5,
-	0x67, 0x01, 0xc3, 0x02, 0xc2, 0xe7, 0x03, 0x6a, 0xd4, 0x7e, 0x39, 0x6a, 0x3f, 0x69, 0x81, 0x86,
-	0xb6, 0xf5, 0x18, 0x77, 0xa8, 0x8c, 0x84, 0x57, 0xc3, 0x19, 0xa5, 0xde, 0x45, 0x3f, 0xf4, 0x81,
-	0x9c, 0xa4, 0xd1, 0xaa, 0x88, 0xcc, 0x9f, 0x62, 0x63, 0x14, 0xca, 0xef, 0x43, 0xe1, 0xc4, 0xe8,
-	0x3d, 0x1d, 0x61, 0xfb, 0xbc, 0xcd, 0x9a, 0x2c, 0x56, 0xd7, 0x97, 0x39, 0xfd, 0x9e, 0x47, 0x26,
-	0x89, 0xee, 0xb3, 0xba, 0xfa, 0x49, 0x1f, 0xb3, 0x47, 0x3b, 0xc7, 0xa9, 0x2d, 0x42, 0x54, 0xb7,
-	0x66, 0x02, 0xe1, 0x0d, 0x58, 0x66, 0xf4, 0xdd, 0xfa, 0xfe, 0xa7, 0xf7, 0x6b, 0xda, 0xc3, 0x82,
-	0xa4, 0x7e, 0x04, 0x2b, 0xfb, 0xf8, 0x75, 0x7d, 0xaa, 0xfe, 0x0c, 0x94, 0x63, 0xac, 0xdb, 0x9d,
-	0x47, 0x63, 0x01, 0x7e, 0xf9, 0xb8, 0x0a, 0xd9, 0x71, 0x43, 0xe9, 0xc3, 0xc5, 0xef, 0x28, 0x3d,
-	0x77, 0xeb, 0x3d, 0xdc, 0x76, 0xad, 0x27, 0xd8, 0x64, 0xc5, 0x3d, 0x43, 0x28, 0x2d, 0x42, 0x20,
-	0x15, 0x9e, 0x6e, 0x3b, 0xc6, 0x73, 0x4c, 0x83, 0x91, 0xd2, 0xd2, 0x84, 0x70, 0x6c, 0x3c, 0xc7,
-	0xea, 0xaf, 0x25, 0x78, 0x4b, 0xa0, 0x99, 0x41, 0x75, 0x07, 0x96, 0x02, 0xc6, 0x7b, 0xba, 0x67,
-	0xc3, 0x2d, 0x3b, 0xbe, 0x9a, 0x43, 0x9e, 0x10, 0x13, 0x3f, 0x73, 0xdb, 0x13, 0x16, 0xe6, 0x08,
-	0xf9, 0x88, 0x5b, 0xa9, 0xde, 0x85, 0xb5, 0x7b, 0xb8, 0x8f, 0x45, 0x98, 0x9f, 0xcf, 0x85, 0xaf,
-	0x24, 0x58, 0xbb, 0x3f, 0xec, 0xea, 0xaf, 0x2d, 0x21, 0x9a, 0x5b, 0xf2, 0x45, 0x73, 0x0b, 0x7d,
-	0x8f, 0xbc, 0x11, 0xc4, 0x02, 0x3a, 0x15, 0x52, 0x1c, 0x8a, 0x1e, 0xa6, 0x3d, 0x32, 0x38, 0x1e,
-	0xea, 0xce, 0x13, 0xf2, 0x7e, 0x10, 0x76, 0xf2, 0x5b, 0xfd, 0xab, 0x0c, 0x6f, 0x86, 0x22, 0xe1,
-	0x03, 0x40, 0xf0, 0x0a, 0x4b, 0xa2, 0x57, 0xf8, 0xdd, 0x71, 0xb4, 0x02, 0xcf, 0x3c, 0xbf, 0x53,
-	0xc3, 0x6b, 0xce, 0xc3, 0xb9, 0x9b, 0x98, 0xc8, 0xdd, 0xc9, 0xe7, 0x30, 0x19, 0xdb, 0x2a, 0xa7,
-	0x04, 0xad, 0xf2, 0xc2, 0xb8, 0x55, 0x0e, 0x63, 0x73, 0x31, 0x16, 0x9b, 0xe9, 0x30, 0x36, 0xc9,
-	0xe6, 0x40, 0x7f, 0xd6, 0xf6, 0x7a, 0xd5, 0x8c, 0xb7, 0x39, 0xd0, 0x9f, 0x91, 0x7e, 0xc1, 0x51,
-	0xcf, 0x61, 0x35, 0xea, 0x2d, 0x06, 0xda, 0xef, 0x40, 0x9a, 0x7f, 0xa6, 0x60, 0x80, 0x7d, 0x3b,
-	0x26, 0x86, 0x9a, 0xcf, 0x3c, 0x37, 0x54, 0x0f, 0x61, 0x25, 0x54, 0x9e, 0x79, 0x9c, 0xb6, 0x60,
-	0x91, 0xc9, 0x62, 0x75, 0x39, 0x56, 0x2f, 0xe7, 0x55, 0xff, 0x2c, 0xc1, 0x4a, 0x08, 0xb8, 0x5c,
-	0xde, 0x65, 0xe0, 0xe0, 0x0a, 0x4c, 0x92, 0x8c, 0x52, 0xef, 0x06, 0xd5, 0xc9, 0xf3, 0xab, 0x8b,
-	0x82, 0x34, 0x71, 0x21, 0x90, 0x6e, 0xc1, 0x4a, 0x28, 0x4b, 0xe7, 0x33, 0x55, 0xad, 0xc0, 0xa5,
-	0x71, 0x71, 0x9c, 0xf3, 0xcc, 0xdf, 0x65, 0x58, 0xa1, 0xcf, 0xf5, 0xeb, 0xb5, 0x53, 0x41, 0x14,
-	0xc8, 0x17, 0x41, 0x81, 0x21, 0x6a, 0x70, 0xbc, 0x2f, 0x1a, 0x1f, 0x8b, 0x24, 0x88, 0x6c, 0xfc,
-	0x3f, 0xec, 0x6f, 0x7e, 0x27, 0xf1, 0xf2, 0xc2, 0xfa, 0xed, 0x0b, 0x97, 0x17, 0xd1, 0xf4, 0x10,
-	0x4e, 0xef, 0x44, 0x6c, 0x7a, 0x27, 0x23, 0x4f, 0xcf, 0x73, 0x9e, 0xc1, 0x63, 0x83, 0x58, 0x06,
-	0x7f, 0x08, 0x19, 0x5e, 0xa5, 0x62, 0x53, 0x98, 0x1d, 0xd4, 0xd2, 0xac, 0x7e, 0xcd, 0x9f, 0xc2,
-	0x0d, 0x9e, 0xc2, 0x5c, 0x04, 0xf3, 0xc5, 0x07, 0x90, 0xe6, 0x9a, 0xe3, 0x72, 0x98, 0x9f, 0x5a,
-	0x64, 0x8a, 0xd5, 0xbf, 0xf8, 0x39, 0x1c, 0x11, 0x18, 0x99, 0x67, 0xa5, 0xe8, 0x3c, 0x1b, 0x54,
-	0x28, 0xcf, 0xaf, 0xf0, 0xcb, 0x65, 0xf1, 0x07, 0x3c, 0x8b, 0x2f, 0x66, 0xac, 0x7a, 0x87, 0xa6,
-	0xf1, 0x05, 0x0f, 0xfd, 0x83, 0x00, 0xcf, 0xb5, 0xb1, 0x3e, 0x88, 0x26, 0x72, 0xb8, 0x4d, 0x94,
-	0xa2, 0x6d, 0xe2, 0x64, 0x9e, 0xcb, 0x73, 0x74, 0xa3, 0x5f, 0xf5, 0x8b, 0xa6, 0x7e, 0x0a, 0xab,
-	0xd1, 0xeb, 0x7c, 0xc9, 0x87, 0x67, 0xf3, 0xa7, 0x80, 0x26, 0x93, 0x17, 0x5d, 0x83, 0xf5, 0x7a,
-	0x63, 0xaf, 0xd9, 0x3e, 0xac, 0x69, 0xfb, 0xb5, 0x76, 0xf3, 0xa8, 0xa6, 0xed, 0xb4, 0xea, 0xcd,
-	0xc6, 0xe4, 0x54, 0x52, 0xdf, 0x6f, 0x34, 0xb5, 0x5a, 0xbb, 0x51, 0xfb, 0x51, 0x41, 0x42, 0x97,
-	0x20, 0x77, 0xd8, 0x7c, 0x50, 0x6b, 0xb7, 0x9a, 0xed, 0xea, 0xce, 0xc1, 0xc1, 0x71, 0x41, 0xae,
-	0xfc, 0x49, 0x82, 0x35, 0xcf, 0x64, 0xc3, 0xec, 0xf9, 0xad, 0x0b, 0xfd, 0xf4, 0x8e, 0x3e, 0x97,
-	0x20, 0x1f, 0xbe, 0x0e, 0x12, 0x7e, 0xc7, 0x10, 0x46, 0xb0, 0xb8, 0x39, 0x0f, 0xab, 0xe7, 0x1d,
-	0xf5, 0xca, 0x67, 0xff, 0xfa, 0xcf, 0x17, 0xb2, 0xa2, 0xbe, 0x11, 0xfc, 0x3b, 0xc2, 0xb6, 0x43,
-	0x99, 0xb7, 0xa5, 0xcd, 0x5b, 0x52, 0xe5, 0x15, 0x82, 0x42, 0xd8, 0xbc, 0x07, 0xb7, 0xd1, 0x73,
-	0xc8, 0x87, 0xe7, 0x28, 0xb1, 0x7d, 0xc2, 0x31, 0xb3, 0x78, 0x99, 0xb3, 0x06, 0xfe, 0x44, 0x50,
-	0xf2, 0x3d, 0x3c, 0xc5, 0x24, 0x83, 0x8a, 0xda, 0x96, 0x36, 0xd1, 0xaf, 0x24, 0x28, 0x44, 0x07,
-	0x31, 0x24, 0xfc, 0xa2, 0x3e, 0x65, 0x5c, 0x2b, 0xce, 0xe8, 0x1e, 0xd5, 0x6b, 0xd4, 0x82, 0x2b,
-	0xea, 0x72, 0xd0, 0x02, 0xec, 0x3a, 0xdb, 0xc1, 0x4e, 0x14, 0xfd, 0x5e, 0x82, 0x42, 0x74, 0x1e,
-	0x12, 0xdb, 0x31, 0x65, 0x6a, 0x9a, 0xe5, 0x88, 0x0a, 0x35, 0xe3, 0xa6, 0xfa, 0x5e, 0xc4, 0x8c,
-	0xf2, 0x8b, 0x70, 0x06, 0xbe, 0xdc, 0xc6, 0xcf, 0xb8, 0x73, 0x7e, 0x21, 0x41, 0x2e, 0x34, 0xf1,
-	0xa0, 0x0d, 0x91, 0x45, 0xa2, 0xa1, 0x68, 0xa6, 0x5b, 0x36, 0xa8, 0x3d, 0x2a, 0x5a, 0x9f, 0x65,
-	0x0f, 0xfa, 0x42, 0x82, 0x4b, 0x13, 0xf3, 0x0b, 0xba, 0x29, 0xc4, 0xe5, 0x94, 0x01, 0xab, 0xf8,
-	0xad, 0x39, 0xb9, 0x19, 0x90, 0xdf, 0xa5, 0xc6, 0xbd, 0xad, 0xae, 0x46, 0x8d, 0x73, 0xe8, 0x11,
-	0xe2, 0x9b, 0x9f, 0x4b, 0x50, 0x88, 0x4e, 0x33, 0xe2, 0x80, 0x4d, 0x99, 0x79, 0x8a, 0xab, 0x13,
-	0xa5, 0xbc, 0x36, 0x18, 0xba, 0xe7, 0xdc, 0x33, 0x9b, 0xb3, 0x3d, 0xf3, 0x07, 0x09, 0x0a, 0xd1,
-	0x79, 0x48, 0x6c, 0xc3, 0x94, 0xa9, 0x69, 0x66, 0x94, 0xb6, 0xa8, 0x2d, 0xe5, 0xca, 0x4c, 0x5b,
-	0xc2, 0x68, 0xfe, 0x0d, 0x29, 0x39, 0xa1, 0xd6, 0x7d, 0x4a, 0xc9, 0x11, 0x0d, 0x43, 0x53, 0x4a,
-	0x8e, 0x70, 0x12, 0x10, 0xe7, 0x77, 0x20, 0x4c, 0x23, 0xc8, 0x85, 0x12, 0x57, 0x8c, 0x60, 0x51,
-	0xaf, 0x5f, 0x8c, 0xab, 0xec, 0xea, 0x65, 0xaa, 0x77, 0x4d, 0x5d, 0x0a, 0xd5, 0x15, 0xbf, 0x03,
-	0xff, 0x4c, 0x82, 0x5c, 0xc8, 0xe7, 0x62, 0xbd, 0xa2, 0x99, 0x20, 0x5e, 0xef, 0x26, 0xd5, 0x7b,
-	0xad, 0xf2, 0x56, 0xe8, 0xbe, 0x2f, 0xc6, 0x5d, 0xf6, 0xcb, 0xb1, 0x11, 0x2e, 0xe4, 0x42, 0xd8,
-	0x13, 0xdb, 0x20, 0x6a, 0xf6, 0xa7, 0x62, 0x93, 0x25, 0xc6, 0xe6, 0x74, 0xf5, 0xc8, 0x01, 0x18,
-	0x17, 0x04, 0x74, 0x3d, 0xbe, 0x60, 0xcc, 0x75, 0x67, 0xa6, 0x14, 0xc5, 0x28, 0x1d, 0x42, 0x2e,
-	0xd4, 0xa4, 0x8b, 0xaf, 0x2a, 0xea, 0xe3, 0xa7, 0x5e, 0x95, 0x47, 0x18, 0x85, 0x22, 0x4c, 0x47,
-	0x06, 0x02, 0xac, 0x31, 0xc4, 0x79, 0x6f, 0x1b, 0x07, 0xf1, 0x48, 0x43, 0x1e, 0x07, 0xf1, 0x68,
-	0xab, 0x1c, 0x86, 0x38, 0x9d, 0x94, 0xc3, 0x95, 0xe8, 0x8c, 0x43, 0x9c, 0xff, 0x4d, 0x20, 0x06,
-	0xe2, 0xe1, 0xc6, 0xae, 0x18, 0xd7, 0x88, 0xfa, 0x7a, 0x97, 0x82, 0x7a, 0xb7, 0xfd, 0x5e, 0x16,
-	0xfd, 0xd2, 0xc7, 0x78, 0xac, 0x62, 0x51, 0xcf, 0x1c, 0xaf, 0xf8, 0x26, 0x55, 0x7c, 0xa3, 0x52,
-	0x0c, 0x5d, 0xf8, 0x45, 0xa0, 0x07, 0x7c, 0x19, 0x30, 0x63, 0xc4, 0x51, 0x1e, 0x6b, 0x85, 0xa8,
-	0x19, 0x9e, 0x1a, 0x7a, 0x95, 0x1a, 0xf0, 0xce, 0x66, 0x8c, 0x01, 0xc8, 0xa5, 0x30, 0xe7, 0x3a,
-	0xa7, 0xc1, 0xfc, 0x22, 0xd7, 0x66, 0x5a, 0x51, 0x8c, 0xd6, 0xdd, 0x9b, 0xb0, 0xda, 0xb1, 0x06,
-	0x02, 0x29, 0xbb, 0x39, 0x8e, 0xeb, 0x23, 0x72, 0x97, 0x23, 0xe9, 0xbf, 0x92, 0x74, 0xb2, 0x40,
-	0xef, 0x75, 0xe7, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x72, 0x79, 0xf0, 0x06, 0x22, 0x00,
-	0x00,
+	// 2348 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xdd, 0x6e, 0x1b, 0xc7,
+	0xf5, 0xff, 0xef, 0x92, 0x94, 0xc8, 0x43, 0x91, 0x5a, 0x4f, 0x14, 0x69, 0x43, 0x7f, 0xc9, 0xfb,
+	0xb7, 0x1d, 0x45, 0x75, 0x45, 0x9b, 0x81, 0xd3, 0x54, 0x49, 0x6a, 0x48, 0x34, 0xa5, 0xb0, 0x90,
+	0x48, 0x65, 0x45, 0xbb, 0x75, 0x80, 0x82, 0x58, 0x91, 0x23, 0x7a, 0x6d, 0x72, 0x97, 0xde, 0x5d,
+	0xaa, 0x96, 0x0d, 0x5f, 0x34, 0xfd, 0x42, 0x80, 0x02, 0x05, 0x1a, 0xa0, 0x57, 0xbd, 0xed, 0x45,
+	0xd1, 0xa2, 0x6f, 0xe0, 0x37, 0x68, 0x7b, 0x53, 0xf4, 0x0d, 0xfa, 0x10, 0xbd, 0x2c, 0x66, 0x76,
+	0x66, 0xb9, 0xbb, 0x1c, 0xae, 0x28, 0x07, 0x09, 0x7a, 0xc7, 0x39, 0x73, 0x66, 0xce, 0xd7, 0xef,
+	0x9c, 0x39, 0x67, 0x25, 0xb8, 0xd6, 0xb3, 0xed, 0x5e, 0x1f, 0x97, 0x7b, 0xd8, 0xb2, 0x07, 0x66,
+	0xc7, 0x2d, 0x9f, 0xdc, 0x29, 0x9f, 0x18, 0x8e, 0x69, 0x58, 0x9e, 0xbb, 0x31, 0x74, 0x6c, 0xcf,
+	0x46, 0xc8, 0x67, 0xd9, 0xe0, 0x2c, 0x1b, 0x27, 0x77, 0x4a, 0x97, 0xd8, 0x31, 0x63, 0x68, 0x96,
+	0x0d, 0xcb, 0xb2, 0x3d, 0xc3, 0x33, 0x6d, 0x8b, 0x9d, 0x28, 0xfd, 0x3f, 0xdb, 0xed, 0xdb, 0x56,
+	0xcf, 0x19, 0x59, 0x96, 0x69, 0xf5, 0xca, 0xf6, 0x10, 0x3b, 0x11, 0xa6, 0x8b, 0x8c, 0x89, 0xae,
+	0x8e, 0x46, 0xc7, 0x65, 0x3c, 0x18, 0x7a, 0xa7, 0x6c, 0x73, 0x35, 0xbe, 0x79, 0x6c, 0xe2, 0x7e,
+	0xb7, 0x3d, 0x30, 0xdc, 0xa7, 0x8c, 0xe3, 0x52, 0x9c, 0xc3, 0xf5, 0x9c, 0x51, 0xc7, 0xf3, 0x77,
+	0xb5, 0xd7, 0x29, 0x40, 0x0f, 0x7d, 0x33, 0x0e, 0xb1, 0xb7, 0x8f, 0x3d, 0xa3, 0x6b, 0x78, 0x06,
+	0x52, 0x20, 0xf5, 0x14, 0x9f, 0xaa, 0xd2, 0xaa, 0xb4, 0x96, 0xd3, 0xc9, 0x4f, 0xb4, 0x04, 0x99,
+	0x13, 0xa3, 0x3f, 0xc2, 0xaa, 0x4c, 0x69, 0xfe, 0x02, 0x15, 0x41, 0x36, 0xbb, 0x6a, 0x9a, 0x92,
+	0x64, 0xb3, 0x8b, 0xee, 0x41, 0xda, 0x3b, 0x1d, 0x62, 0x35, 0xb3, 0x2a, 0xad, 0x15, 0x2b, 0xdf,
+	0xd9, 0x98, 0xf4, 0xc8, 0xc6, 0xa4, 0xb4, 0x8d, 0xd6, 0xe9, 0x10, 0xeb, 0xf4, 0x20, 0x5a, 0x86,
+	0x39, 0x6b, 0x34, 0x38, 0xc2, 0x8e, 0x9a, 0xa5, 0x97, 0xb2, 0x15, 0x5a, 0x85, 0x7c, 0x17, 0xbb,
+	0x1d, 0xc7, 0x1c, 0x12, 0xd7, 0xa8, 0xf3, 0x74, 0x33, 0x4c, 0x42, 0xf7, 0x21, 0x6d, 0x5a, 0xc7,
+	0xb6, 0x9a, 0x5a, 0x4d, 0xad, 0xe5, 0x2b, 0xb7, 0x67, 0x14, 0x5d, 0xb7, 0x8e, 0xed, 0x9a, 0xe5,
+	0x39, 0xa7, 0x3a, 0x3d, 0x5d, 0x3a, 0x84, 0x5c, 0x40, 0x12, 0x78, 0xe1, 0x76, 0xd8, 0x0b, 0xf9,
+	0x4a, 0x89, 0x4b, 0xe1, 0xce, 0xdd, 0xd8, 0x33, 0x5d, 0xef, 0x21, 0xe1, 0x60, 0x1e, 0xda, 0x94,
+	0x3f, 0x94, 0xb4, 0x47, 0x90, 0x26, 0x26, 0xa2, 0x25, 0x50, 0x5a, 0x8f, 0x0e, 0x6a, 0xed, 0x07,
+	0x8d, 0xc3, 0x83, 0x5a, 0xb5, 0xbe, 0x53, 0xaf, 0xdd, 0x57, 0xfe, 0x0f, 0xe5, 0x61, 0xbe, 0xde,
+	0x68, 0xd5, 0x76, 0x6b, 0xba, 0x22, 0xa1, 0x1c, 0x64, 0x76, 0xf6, 0x9a, 0x5b, 0x2d, 0x45, 0x46,
+	0x59, 0x48, 0xef, 0xec, 0x6d, 0xed, 0x2a, 0x29, 0x54, 0x80, 0x5c, 0xf5, 0xd3, 0x2d, 0x7d, 0xab,
+	0xda, 0xaa, 0xe9, 0x4a, 0x1a, 0x01, 0xcc, 0x1d, 0xb6, 0xf4, 0x7a, 0x63, 0x57, 0xc9, 0x68, 0x7f,
+	0x95, 0x01, 0xc6, 0x66, 0xa1, 0xcb, 0x00, 0xc4, 0x2c, 0x17, 0x7b, 0x6d, 0xb3, 0xcb, 0x14, 0xcf,
+	0x31, 0x4a, 0xbd, 0xcb, 0xc2, 0x25, 0x07, 0xe1, 0x5a, 0x03, 0xc5, 0xc1, 0xc7, 0xd8, 0xc1, 0x56,
+	0x07, 0xb7, 0xd9, 0xa1, 0x39, 0xba, 0x5b, 0x0c, 0xe8, 0x87, 0xf4, 0xe4, 0x7e, 0x98, 0xf3, 0xc8,
+	0x1e, 0x59, 0x5d, 0x57, 0xcd, 0x50, 0x4f, 0x6b, 0x22, 0x4f, 0xeb, 0x9c, 0x77, 0x9b, 0xb0, 0xea,
+	0x8b, 0x4e, 0x64, 0xed, 0xa2, 0x6d, 0xc8, 0x0e, 0x58, 0x08, 0xd4, 0x34, 0xbd, 0xe6, 0xe6, 0x6c,
+	0x01, 0xd3, 0x83, 0x73, 0x08, 0x41, 0xda, 0x32, 0x06, 0x98, 0x61, 0x81, 0xfe, 0x8e, 0xc3, 0x24,
+	0x3b, 0x01, 0x13, 0xed, 0xcb, 0x34, 0xcc, 0xb3, 0x6b, 0xd1, 0x75, 0x28, 0xb2, 0x14, 0xe6, 0xc6,
+	0x2f, 0xd2, 0x03, 0x0b, 0x27, 0x81, 0x5c, 0x81, 0xd3, 0x96, 0x20, 0x43, 0x64, 0xb9, 0x14, 0x69,
+	0x39, 0xdd, 0x5f, 0x20, 0x15, 0xe6, 0x3b, 0x0e, 0x36, 0x3c, 0xdc, 0x55, 0x17, 0x56, 0xa5, 0xb5,
+	0x94, 0xce, 0x97, 0xe8, 0x06, 0x8c, 0x9d, 0xd9, 0xa6, 0x1a, 0x17, 0xe9, 0x5d, 0x85, 0x80, 0xda,
+	0x20, 0xaa, 0x2f, 0x41, 0xc6, 0xf5, 0x0c, 0xc7, 0x53, 0x15, 0x7a, 0xdc, 0x5f, 0x10, 0x08, 0x62,
+	0xab, 0xab, 0x16, 0x28, 0x8d, 0xfc, 0x44, 0xef, 0xc2, 0x62, 0x28, 0x12, 0x86, 0x8b, 0xdd, 0x89,
+	0x90, 0x6d, 0x13, 0x2a, 0x61, 0x34, 0xfa, 0x1e, 0x76, 0x2c, 0xc3, 0xe3, 0x8c, 0xf3, 0x54, 0xe3,
+	0x62, 0x40, 0xf6, 0x19, 0x55, 0x98, 0x7f, 0x36, 0x32, 0xfa, 0xa6, 0x77, 0x4a, 0x1d, 0x26, 0xe9,
+	0x7c, 0x49, 0xb2, 0xf1, 0xd8, 0x24, 0xcc, 0x6a, 0x8e, 0x9e, 0x64, 0x2b, 0xf4, 0x7d, 0x96, 0x6b,
+	0x40, 0x43, 0x77, 0x23, 0x21, 0x74, 0xf1, 0x04, 0x43, 0x77, 0x21, 0xd3, 0x31, 0xfa, 0x7d, 0x57,
+	0xcd, 0xd3, 0xb3, 0x57, 0x13, 0xce, 0x56, 0x8d, 0x7e, 0x5f, 0xf7, 0xb9, 0xbf, 0x99, 0xbc, 0xfc,
+	0x87, 0x0c, 0xf9, 0x90, 0x2c, 0x74, 0x05, 0xf2, 0x44, 0x1a, 0x07, 0x83, 0x8f, 0x9e, 0x1c, 0x21,
+	0xf9, 0x48, 0xd0, 0xa0, 0x10, 0xec, 0xd3, 0x40, 0xe6, 0x7c, 0x7c, 0x31, 0x0e, 0x1a, 0xc6, 0x12,
+	0x64, 0x89, 0x29, 0xb4, 0x0a, 0x12, 0x77, 0x67, 0xf4, 0x60, 0x4d, 0xf6, 0x86, 0x8f, 0x89, 0xcb,
+	0xb1, 0x47, 0x2b, 0x64, 0x4e, 0x0f, 0xd6, 0xa8, 0x0c, 0x6f, 0x71, 0xbe, 0x76, 0xdf, 0x7c, 0x8a,
+	0xfb, 0xe6, 0x63, 0xdb, 0x26, 0xd9, 0x98, 0x5a, 0x93, 0x74, 0xc4, 0xb7, 0xf6, 0x82, 0x1d, 0xf4,
+	0x09, 0x8b, 0x81, 0x4c, 0xfd, 0xf8, 0xde, 0x19, 0x7e, 0xfc, 0x76, 0x0a, 0xdd, 0x1f, 0x64, 0x98,
+	0xaf, 0xfa, 0xce, 0x60, 0x69, 0x23, 0x05, 0x69, 0xc3, 0xd3, 0x55, 0x0e, 0xa5, 0xeb, 0x45, 0xc8,
+	0xb9, 0xc6, 0x60, 0xd8, 0xc7, 0xc4, 0xdd, 0x7e, 0x1e, 0x67, 0x7d, 0x42, 0xbd, 0x8b, 0x6e, 0xc2,
+	0x62, 0x34, 0x3b, 0x5d, 0xea, 0x8d, 0x9c, 0x5e, 0x08, 0xa7, 0x67, 0x24, 0xf3, 0x32, 0xd1, 0xcc,
+	0xe3, 0x30, 0x4d, 0x4f, 0x87, 0x29, 0xd3, 0xf6, 0xdb, 0x71, 0xcf, 0x8f, 0xa1, 0x18, 0x2d, 0x8c,
+	0x82, 0xda, 0x20, 0x89, 0x6a, 0xc3, 0x55, 0xc8, 0x8f, 0x86, 0x43, 0xec, 0xf8, 0x95, 0x97, 0x0a,
+	0x4d, 0xe9, 0x40, 0x49, 0xf4, 0x1e, 0xed, 0x37, 0x69, 0x78, 0xbb, 0x3e, 0x18, 0xda, 0x8e, 0xc7,
+	0x62, 0xee, 0xea, 0xf8, 0xd9, 0x08, 0xbb, 0xa2, 0x1a, 0x27, 0x09, 0x6a, 0xdc, 0x55, 0xc8, 0xbb,
+	0xf6, 0xc8, 0xe9, 0xe0, 0xf6, 0xc8, 0x31, 0x5d, 0x8a, 0xa9, 0x9c, 0x0e, 0x3e, 0xe9, 0x81, 0x63,
+	0xba, 0xe8, 0x53, 0x98, 0x3b, 0xb6, 0x9d, 0x81, 0xe1, 0xa9, 0x29, 0xfa, 0xb4, 0x0b, 0xdf, 0x57,
+	0xa1, 0x06, 0x1b, 0x3b, 0xf4, 0x9c, 0xce, 0xce, 0xa3, 0x4d, 0x78, 0xc7, 0x22, 0xbf, 0xfa, 0xe6,
+	0x0b, 0xdc, 0x8e, 0x1a, 0xef, 0xd2, 0x00, 0x66, 0xf5, 0x95, 0x80, 0x41, 0x0f, 0xbb, 0xc1, 0x45,
+	0x4f, 0xe0, 0x02, 0x89, 0x4e, 0x7b, 0x80, 0x9d, 0x1e, 0x6e, 0x77, 0x6c, 0xeb, 0xd8, 0xec, 0x51,
+	0x50, 0xe4, 0x2b, 0x3f, 0x98, 0x5d, 0x21, 0x12, 0xd8, 0x7d, 0x72, 0x43, 0x95, 0x5e, 0xe0, 0x87,
+	0x7d, 0xd1, 0x8c, 0x52, 0x4b, 0x4f, 0x60, 0x49, 0xc4, 0x28, 0x00, 0xc3, 0xc7, 0x61, 0x30, 0x14,
+	0xc5, 0x2f, 0x59, 0x70, 0x55, 0x93, 0xb7, 0x77, 0x61, 0x60, 0x34, 0x60, 0xce, 0xf7, 0x12, 0x5a,
+	0x06, 0xb4, 0xd3, 0xd4, 0xf7, 0xb7, 0x5a, 0xb1, 0x26, 0xa1, 0x08, 0xc0, 0xe8, 0x0f, 0xab, 0x3b,
+	0x8a, 0x84, 0x2e, 0x81, 0xca, 0xd6, 0xd5, 0xe6, 0xfe, 0xc1, 0x5e, 0xad, 0x55, 0x6b, 0xef, 0xd6,
+	0x1a, 0xcd, 0xfd, 0x7a, 0xf5, 0x50, 0x91, 0xb5, 0x4d, 0x58, 0x8e, 0x9b, 0xee, 0x0e, 0x6d, 0xcb,
+	0x25, 0x0f, 0xe4, 0x42, 0xa8, 0xc4, 0xb9, 0xaa, 0xe4, 0x47, 0x3a, 0xa8, 0x71, 0xae, 0xf6, 0x39,
+	0xac, 0x54, 0x69, 0xfe, 0x8c, 0x1f, 0x5f, 0x8e, 0xa5, 0x7b, 0x90, 0x0f, 0x61, 0x89, 0xba, 0x20,
+	0x5f, 0xb9, 0x92, 0xfc, 0x70, 0xeb, 0x30, 0x06, 0x9a, 0xf6, 0x2f, 0x19, 0x56, 0x6a, 0xcf, 0x43,
+	0x8a, 0x85, 0x2e, 0x9f, 0x0d, 0xa8, 0x71, 0xfd, 0xe5, 0xb8, 0xfe, 0xa4, 0x05, 0x1a, 0x3a, 0xf6,
+	0x13, 0xdc, 0xa1, 0x77, 0xa4, 0xfc, 0x1a, 0xce, 0x28, 0xf5, 0x2e, 0xfa, 0x61, 0x00, 0xe4, 0x34,
+	0x8d, 0x56, 0x45, 0xa4, 0xfe, 0x14, 0x1d, 0xe3, 0x50, 0x7e, 0x0f, 0x94, 0x23, 0xb3, 0xf7, 0x6c,
+	0x84, 0x9d, 0xd3, 0x36, 0x6b, 0xb2, 0x58, 0x5d, 0x5f, 0xe4, 0xf4, 0xfb, 0x3e, 0x99, 0x24, 0x7a,
+	0xc0, 0xea, 0x19, 0x47, 0x7d, 0xcc, 0x1e, 0xed, 0x02, 0xa7, 0xb6, 0x08, 0x51, 0xbb, 0x7b, 0x26,
+	0x10, 0xde, 0x82, 0x45, 0x46, 0xdf, 0xae, 0xef, 0x7e, 0xf6, 0xa0, 0xa6, 0x3f, 0x52, 0x24, 0xed,
+	0x63, 0x58, 0xda, 0xc5, 0x6f, 0xea, 0x53, 0xed, 0xa7, 0xa0, 0x1e, 0x62, 0xc3, 0xe9, 0x3c, 0x1e,
+	0x5f, 0x10, 0x94, 0x8f, 0xab, 0x90, 0x1f, 0x37, 0x94, 0x01, 0x5c, 0x82, 0x8e, 0xd2, 0x77, 0xb7,
+	0xd1, 0xc3, 0x6d, 0xcf, 0x7e, 0x8a, 0x2d, 0x56, 0xdc, 0x73, 0x84, 0xd2, 0x22, 0x04, 0x52, 0xe1,
+	0xe9, 0xb6, 0x6b, 0xbe, 0xc0, 0x34, 0x18, 0x19, 0x3d, 0x4b, 0x08, 0x87, 0xe6, 0x0b, 0xac, 0xfd,
+	0x4a, 0x82, 0x77, 0x04, 0x92, 0x19, 0x54, 0xb7, 0x60, 0x21, 0xa4, 0xbc, 0x2f, 0xfb, 0x6c, 0xb8,
+	0xe5, 0xc7, 0xa6, 0xb9, 0xe4, 0x09, 0xb1, 0xf0, 0x73, 0xaf, 0x3d, 0xa1, 0x61, 0x81, 0x90, 0x0f,
+	0xb8, 0x96, 0xda, 0x3d, 0x58, 0xb9, 0x8f, 0xfb, 0x58, 0x84, 0xf9, 0xd9, 0x5c, 0xf8, 0x5a, 0x82,
+	0x95, 0x07, 0xc3, 0xae, 0xf1, 0xc6, 0x37, 0xc4, 0x73, 0x4b, 0x3e, 0x6f, 0x6e, 0xa1, 0x8f, 0xc8,
+	0x1b, 0x41, 0x34, 0xa0, 0xc3, 0x1f, 0xc5, 0xa1, 0xe8, 0x61, 0xda, 0x21, 0xf3, 0xe1, 0xbe, 0xe1,
+	0x3e, 0x25, 0xef, 0x07, 0x61, 0x27, 0xbf, 0xb5, 0xbf, 0xc8, 0xf0, 0x76, 0x24, 0x12, 0x01, 0x00,
+	0x04, 0xaf, 0xb0, 0x24, 0x7a, 0x85, 0xaf, 0x8d, 0xa3, 0x15, 0x7a, 0xe6, 0xb9, 0x4d, 0x0d, 0xbf,
+	0x39, 0x8f, 0xe6, 0x6e, 0x6a, 0x22, 0x77, 0x27, 0x9f, 0xc3, 0x74, 0x62, 0xab, 0x9c, 0x11, 0xb4,
+	0xca, 0x73, 0xe3, 0x56, 0x39, 0x8a, 0xcd, 0xf9, 0x44, 0x6c, 0x66, 0xa3, 0xd8, 0x24, 0x9b, 0x03,
+	0xe3, 0x79, 0xdb, 0xef, 0x55, 0x73, 0xfe, 0xe6, 0xc0, 0x78, 0x4e, 0xfa, 0x05, 0x57, 0x3b, 0x85,
+	0xe5, 0xb8, 0xb7, 0x18, 0x68, 0xbf, 0x07, 0x59, 0xfe, 0x55, 0x80, 0x01, 0xf6, 0x62, 0x42, 0x0c,
+	0xf5, 0x80, 0x79, 0x66, 0xa8, 0xee, 0xc3, 0x52, 0xa4, 0x3c, 0xf3, 0x38, 0xdd, 0x85, 0x79, 0x76,
+	0x17, 0xab, 0xcb, 0x89, 0x72, 0x39, 0xaf, 0xf6, 0x27, 0x09, 0x96, 0x22, 0xc0, 0xe5, 0xf7, 0x5d,
+	0x06, 0x0e, 0xae, 0xd0, 0x24, 0xc9, 0x28, 0xf5, 0x6e, 0x58, 0x9c, 0x3c, 0xbb, 0xb8, 0x38, 0x48,
+	0x53, 0xe7, 0x02, 0xe9, 0x5d, 0x58, 0x8a, 0x64, 0xe9, 0x6c, 0xaa, 0x6a, 0x15, 0xb8, 0x30, 0x2e,
+	0x8e, 0x33, 0x9e, 0xf9, 0x9b, 0x0c, 0x4b, 0xf4, 0xb9, 0x7e, 0xb3, 0x76, 0x2a, 0x8c, 0x02, 0xf9,
+	0x3c, 0x28, 0x30, 0x45, 0x0d, 0x8e, 0xff, 0x45, 0xe3, 0x13, 0xd1, 0x0d, 0x22, 0x1d, 0xff, 0x07,
+	0xfb, 0x9b, 0xdf, 0x4a, 0xbc, 0xbc, 0xb0, 0x7e, 0xfb, 0xdc, 0xe5, 0x45, 0x34, 0x3d, 0x44, 0xd3,
+	0x3b, 0x95, 0x98, 0xde, 0xe9, 0xd8, 0xd3, 0xf3, 0x82, 0x67, 0xf0, 0x58, 0x21, 0x96, 0xc1, 0x1f,
+	0x42, 0x8e, 0x57, 0xa9, 0xc4, 0x14, 0x66, 0x07, 0xf5, 0x2c, 0xab, 0x5f, 0xb3, 0xa7, 0x70, 0x83,
+	0xa7, 0x30, 0xbf, 0x82, 0xf9, 0xe2, 0x03, 0xc8, 0x72, 0xc9, 0x49, 0x39, 0xcc, 0x4f, 0xcd, 0x33,
+	0xc1, 0xda, 0x9f, 0x83, 0x1c, 0x8e, 0x5d, 0x18, 0x9b, 0x67, 0xa5, 0xf8, 0x3c, 0x1b, 0x16, 0x28,
+	0xcf, 0x2e, 0xf0, 0xeb, 0x65, 0xf1, 0x07, 0x3c, 0x8b, 0xcf, 0xa7, 0xac, 0xf6, 0x3e, 0x4d, 0xe3,
+	0x73, 0x1e, 0xfa, 0x3b, 0x01, 0x9e, 0xe7, 0x60, 0x63, 0x10, 0x4f, 0xe4, 0x68, 0x9b, 0x28, 0xc5,
+	0xdb, 0xc4, 0xc9, 0x3c, 0x97, 0x67, 0xe8, 0x46, 0xbf, 0xe9, 0x17, 0x4d, 0xfb, 0x0c, 0x96, 0xe3,
+	0xe6, 0x7c, 0xcd, 0x87, 0x67, 0xfd, 0x27, 0x80, 0x26, 0x93, 0x17, 0x5d, 0x87, 0xd5, 0x7a, 0x63,
+	0xa7, 0xd9, 0xde, 0xaf, 0xe9, 0xbb, 0xb5, 0x76, 0xf3, 0xa0, 0xa6, 0x6f, 0xb5, 0xea, 0xcd, 0xc6,
+	0xe4, 0x54, 0x52, 0xdf, 0x6d, 0x34, 0xf5, 0x5a, 0xbb, 0x51, 0xfb, 0x91, 0x22, 0xa1, 0x0b, 0x50,
+	0xd8, 0x6f, 0x3e, 0xac, 0xb5, 0x5b, 0xcd, 0x76, 0x75, 0x6b, 0x6f, 0xef, 0x50, 0x91, 0x2b, 0x7f,
+	0x94, 0x60, 0xc5, 0x57, 0xd9, 0xb4, 0x7a, 0x41, 0xeb, 0xe2, 0x9c, 0x98, 0x1d, 0x8c, 0xbe, 0x94,
+	0xa0, 0x18, 0x35, 0x07, 0x09, 0xbf, 0x63, 0x08, 0x23, 0x58, 0x5a, 0x9f, 0x85, 0xd5, 0xf7, 0x8e,
+	0x76, 0xe5, 0x8b, 0x7f, 0xfe, 0xfb, 0x2b, 0x59, 0xd5, 0xde, 0x0a, 0x7f, 0xb6, 0xdf, 0x74, 0x29,
+	0xf3, 0xa6, 0xb4, 0x7e, 0x5b, 0xaa, 0xbc, 0x46, 0xa0, 0x44, 0xd5, 0x7b, 0x78, 0x07, 0xbd, 0x80,
+	0x62, 0x74, 0x8e, 0x12, 0xeb, 0x27, 0x1c, 0x33, 0x4b, 0x97, 0x39, 0x6b, 0xe8, 0xeb, 0xfe, 0x46,
+	0xe0, 0xe1, 0x29, 0x2a, 0x99, 0xf4, 0xaa, 0x4d, 0x69, 0x1d, 0xfd, 0x52, 0x02, 0x25, 0x3e, 0x88,
+	0x21, 0xe1, 0x17, 0xf5, 0x29, 0xe3, 0x5a, 0xe9, 0x8c, 0xee, 0x51, 0xbb, 0x4e, 0x35, 0xb8, 0xa2,
+	0x2d, 0x86, 0x35, 0xc0, 0x9e, 0xbb, 0x19, 0xee, 0x44, 0xd1, 0xef, 0x24, 0x50, 0xe2, 0xf3, 0x90,
+	0x58, 0x8f, 0x29, 0x53, 0xd3, 0x59, 0x8e, 0xa8, 0x50, 0x35, 0x6e, 0x69, 0xef, 0xc6, 0xd4, 0x28,
+	0xbf, 0x8c, 0x66, 0xe0, 0xab, 0x4d, 0xfc, 0x9c, 0x3b, 0xe7, 0xe7, 0x12, 0x14, 0x22, 0x13, 0x0f,
+	0x5a, 0x13, 0x69, 0x24, 0x1a, 0x8a, 0xce, 0x74, 0xcb, 0x1a, 0xd5, 0x47, 0x43, 0xab, 0x67, 0xe9,
+	0x83, 0xbe, 0x92, 0xe0, 0xc2, 0xc4, 0xfc, 0x82, 0x6e, 0x09, 0x71, 0x39, 0x65, 0xc0, 0x2a, 0x7d,
+	0x77, 0x46, 0x6e, 0x06, 0xe4, 0x6b, 0x54, 0xb9, 0x8b, 0xda, 0x72, 0x5c, 0x39, 0x97, 0x1e, 0x21,
+	0xbe, 0xf9, 0x99, 0x04, 0x4a, 0x7c, 0x9a, 0x11, 0x07, 0x6c, 0xca, 0xcc, 0x53, 0x5a, 0x9e, 0x28,
+	0xe5, 0xb5, 0xc1, 0xd0, 0x3b, 0xe5, 0x9e, 0x59, 0x3f, 0xdb, 0x33, 0xbf, 0x97, 0x40, 0x89, 0xcf,
+	0x43, 0x62, 0x1d, 0xa6, 0x4c, 0x4d, 0x67, 0x46, 0xe9, 0x2e, 0xd5, 0xa5, 0x5c, 0x39, 0x53, 0x97,
+	0x28, 0x9a, 0x7f, 0x4d, 0x4a, 0x4e, 0xa4, 0x75, 0x9f, 0x52, 0x72, 0x44, 0xc3, 0xd0, 0x94, 0x92,
+	0x23, 0x9c, 0x04, 0xc4, 0xf9, 0x1d, 0x0a, 0xd3, 0x08, 0x0a, 0x91, 0xc4, 0x15, 0x23, 0x58, 0xd4,
+	0xeb, 0x97, 0x92, 0x2a, 0xbb, 0x76, 0x99, 0xca, 0x5d, 0xd1, 0x16, 0x22, 0x75, 0x25, 0xe8, 0xc0,
+	0xbf, 0x90, 0xa0, 0x10, 0xf1, 0xb9, 0x58, 0xae, 0x68, 0x26, 0x48, 0x96, 0xbb, 0x4e, 0xe5, 0x5e,
+	0xaf, 0xbc, 0x13, 0xb1, 0xf7, 0xe5, 0xb8, 0xcb, 0x7e, 0x35, 0x56, 0xc2, 0x83, 0x42, 0x04, 0x7b,
+	0x62, 0x1d, 0x44, 0xcd, 0xfe, 0x54, 0x6c, 0xb2, 0xc4, 0x58, 0x9f, 0x2e, 0x1e, 0xb9, 0x00, 0xe3,
+	0x82, 0x80, 0x6e, 0x24, 0x17, 0x8c, 0x99, 0x6c, 0x66, 0x42, 0x51, 0x82, 0xd0, 0x21, 0x14, 0x22,
+	0x4d, 0xba, 0xd8, 0x54, 0x51, 0x1f, 0x3f, 0xd5, 0x54, 0x1e, 0x61, 0x14, 0x89, 0x30, 0x1d, 0x19,
+	0x08, 0xb0, 0xc6, 0x10, 0xe7, 0xbd, 0x6d, 0x12, 0xc4, 0x63, 0x0d, 0x79, 0x12, 0xc4, 0xe3, 0xad,
+	0x72, 0x14, 0xe2, 0x74, 0x52, 0x8e, 0x56, 0xa2, 0x13, 0x0e, 0x71, 0xfe, 0x37, 0x81, 0x04, 0x88,
+	0x47, 0x1b, 0xbb, 0x52, 0x52, 0x23, 0x1a, 0xc8, 0x5d, 0x08, 0xcb, 0xdd, 0x0c, 0x7a, 0x59, 0xf4,
+	0x8b, 0x00, 0xe3, 0x89, 0x82, 0x45, 0x3d, 0x73, 0xb2, 0xe0, 0x5b, 0x54, 0xf0, 0xcd, 0x4a, 0x29,
+	0x62, 0xf0, 0xcb, 0x50, 0x0f, 0xf8, 0x2a, 0xa4, 0xc6, 0x88, 0xa3, 0x3c, 0x51, 0x0b, 0x51, 0x33,
+	0x3c, 0x35, 0xf4, 0x1a, 0x55, 0xe0, 0xd2, 0x7a, 0x82, 0x02, 0xc8, 0xa3, 0x30, 0xe7, 0x32, 0xa7,
+	0xc1, 0xfc, 0x3c, 0x66, 0x33, 0xa9, 0x28, 0x41, 0xea, 0xf6, 0x63, 0x58, 0xee, 0xd8, 0x03, 0xc1,
+	0x2d, 0xdb, 0x05, 0x8e, 0xeb, 0x03, 0x62, 0xcb, 0x81, 0xf4, 0xf9, 0x26, 0x67, 0xb2, 0xfb, 0x86,
+	0xd5, 0xdb, 0xb0, 0x9d, 0x5e, 0xb9, 0x87, 0x2d, 0x6a, 0x69, 0xd9, 0xdf, 0x32, 0x86, 0xa6, 0x1b,
+	0xfe, 0x4f, 0x8b, 0x8f, 0xf8, 0xef, 0xff, 0x48, 0xd2, 0xd1, 0x1c, 0xe5, 0x7c, 0xff, 0xbf, 0x01,
+	0x00, 0x00, 0xff, 0xff, 0x7e, 0x5e, 0x37, 0xc0, 0x92, 0x21, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/variants.proto b/googleapis/genomics/v1/variants.proto
deleted file mode 100644
index 1b8743652f7bba16846da7d6ca0bd2facdb0a6cb..0000000000000000000000000000000000000000
--- a/googleapis/genomics/v1/variants.proto
+++ /dev/null
@@ -1,902 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "VariantsProto";
-option java_package = "com.google.genomics.v1";
-
-
-service StreamingVariantService {
-  // Returns a stream of all the variants matching the search request, ordered
-  // by reference name, position, and ID.
-  rpc StreamVariants(StreamVariantsRequest) returns (stream StreamVariantsResponse) {
-    option (google.api.http) = { post: "/v1/variants:stream" body: "*" };
-  }
-}
-
-service VariantServiceV1 {
-  // Creates variant data by asynchronously importing the provided information.
-  //
-  // For the definitions of variant sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // The variants for import will be merged with any existing variant that
-  // matches its reference sequence, start, end, reference bases, and
-  // alternative bases. If no such variant exists, a new one will be created.
-  //
-  // When variants are merged, the call information from the new variant
-  // is added to the existing variant, and Variant info fields are merged
-  // as specified in
-  // [infoMergeConfig][google.genomics.v1.ImportVariantsRequest.info_merge_config].
-  // As a special case, for single-sample VCF files, QUAL and FILTER fields will
-  // be moved to the call level; these are sometimes interpreted in a
-  // call-specific context.
-  // Imported VCF headers are appended to the metadata already in a variant set.
-  rpc ImportVariants(ImportVariantsRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/variants:import" body: "*" };
-  }
-
-  // Creates a new variant set.
-  //
-  // For the definitions of variant sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // The provided variant set must have a valid `datasetId` set - all other
-  // fields are optional. Note that the `id` field will be ignored, as this is
-  // assigned by the server.
-  rpc CreateVariantSet(CreateVariantSetRequest) returns (VariantSet) {
-    option (google.api.http) = { post: "/v1/variantsets" body: "variant_set" };
-  }
-
-  // Exports variant set data to an external destination.
-  //
-  // For the definitions of variant sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc ExportVariantSet(ExportVariantSetRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/variantsets/{variant_set_id}:export" body: "*" };
-  }
-
-  // Gets a variant set by ID.
-  //
-  // For the definitions of variant sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc GetVariantSet(GetVariantSetRequest) returns (VariantSet) {
-    option (google.api.http) = { get: "/v1/variantsets/{variant_set_id}" };
-  }
-
-  // Returns a list of all variant sets matching search criteria.
-  //
-  // For the definitions of variant sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.searchVariantSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L49).
-  rpc SearchVariantSets(SearchVariantSetsRequest) returns (SearchVariantSetsResponse) {
-    option (google.api.http) = { post: "/v1/variantsets/search" body: "*" };
-  }
-
-  // Deletes a variant set including all variants, call sets, and calls within.
-  // This is not reversible.
-  //
-  // For the definitions of variant sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc DeleteVariantSet(DeleteVariantSetRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/variantsets/{variant_set_id}" };
-  }
-
-  // Updates a variant set using patch semantics.
-  //
-  // For the definitions of variant sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc UpdateVariantSet(UpdateVariantSetRequest) returns (VariantSet) {
-    option (google.api.http) = { patch: "/v1/variantsets/{variant_set_id}" body: "variant_set" };
-  }
-
-  // Gets a list of variants matching the criteria.
-  //
-  // For the definitions of variants and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.searchVariants](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L126).
-  rpc SearchVariants(SearchVariantsRequest) returns (SearchVariantsResponse) {
-    option (google.api.http) = { post: "/v1/variants/search" body: "*" };
-  }
-
-  // Creates a new variant.
-  //
-  // For the definitions of variants and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc CreateVariant(CreateVariantRequest) returns (Variant) {
-    option (google.api.http) = { post: "/v1/variants" body: "variant" };
-  }
-
-  // Updates a variant.
-  //
-  // For the definitions of variants and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // This method supports patch semantics. Returns the modified variant without
-  // its calls.
-  rpc UpdateVariant(UpdateVariantRequest) returns (Variant) {
-    option (google.api.http) = { patch: "/v1/variants/{variant_id}" body: "variant" };
-  }
-
-  // Deletes a variant.
-  //
-  // For the definitions of variants and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc DeleteVariant(DeleteVariantRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/variants/{variant_id}" };
-  }
-
-  // Gets a variant by ID.
-  //
-  // For the definitions of variants and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc GetVariant(GetVariantRequest) returns (Variant) {
-    option (google.api.http) = { get: "/v1/variants/{variant_id}" };
-  }
-
-  // Merges the given variants with existing variants.
-  //
-  // For the definitions of variants and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Each variant will be
-  // merged with an existing variant that matches its reference sequence,
-  // start, end, reference bases, and alternative bases. If no such variant
-  // exists, a new one will be created.
-  //
-  // When variants are merged, the call information from the new variant
-  // is added to the existing variant. Variant info fields are merged as
-  // specified in the
-  // [infoMergeConfig][google.genomics.v1.MergeVariantsRequest.info_merge_config]
-  // field of the MergeVariantsRequest.
-  //
-  // Please exercise caution when using this method!  It is easy to introduce
-  // mistakes in existing variants and difficult to back out of them.  For
-  // example,
-  // suppose you were trying to merge a new variant with an existing one and
-  // both
-  // variants contain calls that belong to callsets with the same callset ID.
-  //
-  //     // Existing variant - irrelevant fields trimmed for clarity
-  //     {
-  //         "variantSetId": "10473108253681171589",
-  //         "referenceName": "1",
-  //         "start": "10582",
-  //         "referenceBases": "G",
-  //         "alternateBases": [
-  //             "A"
-  //         ],
-  //         "calls": [
-  //             {
-  //                 "callSetId": "10473108253681171589-0",
-  //                 "callSetName": "CALLSET0",
-  //                 "genotype": [
-  //                     0,
-  //                     1
-  //                 ],
-  //             }
-  //         ]
-  //     }
-  //
-  //     // New variant with conflicting call information
-  //     {
-  //         "variantSetId": "10473108253681171589",
-  //         "referenceName": "1",
-  //         "start": "10582",
-  //         "referenceBases": "G",
-  //         "alternateBases": [
-  //             "A"
-  //         ],
-  //         "calls": [
-  //             {
-  //                 "callSetId": "10473108253681171589-0",
-  //                 "callSetName": "CALLSET0",
-  //                 "genotype": [
-  //                     1,
-  //                     1
-  //                 ],
-  //             }
-  //         ]
-  //     }
-  //
-  // The resulting merged variant would overwrite the existing calls with those
-  // from the new variant:
-  //
-  //     {
-  //         "variantSetId": "10473108253681171589",
-  //         "referenceName": "1",
-  //         "start": "10582",
-  //         "referenceBases": "G",
-  //         "alternateBases": [
-  //             "A"
-  //         ],
-  //         "calls": [
-  //             {
-  //                 "callSetId": "10473108253681171589-0",
-  //                 "callSetName": "CALLSET0",
-  //                 "genotype": [
-  //                     1,
-  //                     1
-  //                 ],
-  //             }
-  //         ]
-  //     }
-  //
-  // This may be the desired outcome, but it is up to the user to determine if
-  // if that is indeed the case.
-  rpc MergeVariants(MergeVariantsRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/variants:merge" body: "*" };
-  }
-
-  // Gets a list of call sets matching the criteria.
-  //
-  // For the definitions of call sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.searchCallSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L178).
-  rpc SearchCallSets(SearchCallSetsRequest) returns (SearchCallSetsResponse) {
-    option (google.api.http) = { post: "/v1/callsets/search" body: "*" };
-  }
-
-  // Creates a new call set.
-  //
-  // For the definitions of call sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc CreateCallSet(CreateCallSetRequest) returns (CallSet) {
-    option (google.api.http) = { post: "/v1/callsets" body: "call_set" };
-  }
-
-  // Updates a call set.
-  //
-  // For the definitions of call sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // This method supports patch semantics.
-  rpc UpdateCallSet(UpdateCallSetRequest) returns (CallSet) {
-    option (google.api.http) = { patch: "/v1/callsets/{call_set_id}" body: "call_set" };
-  }
-
-  // Deletes a call set.
-  //
-  // For the definitions of call sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc DeleteCallSet(DeleteCallSetRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/callsets/{call_set_id}" };
-  }
-
-  // Gets a call set by ID.
-  //
-  // For the definitions of call sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc GetCallSet(GetCallSetRequest) returns (CallSet) {
-    option (google.api.http) = { get: "/v1/callsets/{call_set_id}" };
-  }
-}
-
-// Metadata describes a single piece of variant call metadata.
-// These data include a top level key and either a single value string (value)
-// or a list of key-value pairs (info.)
-// Value and info are mutually exclusive.
-message VariantSetMetadata {
-  enum Type {
-    TYPE_UNSPECIFIED = 0;
-
-    INTEGER = 1;
-
-    FLOAT = 2;
-
-    FLAG = 3;
-
-    CHARACTER = 4;
-
-    STRING = 5;
-  }
-
-  // The top-level key.
-  string key = 1;
-
-  // The value field for simple metadata
-  string value = 2;
-
-  // User-provided ID field, not enforced by this API.
-  // Two or more pieces of structured metadata with identical
-  // id and key fields are considered equivalent.
-  string id = 4;
-
-  // The type of data. Possible types include: Integer, Float,
-  // Flag, Character, and String.
-  Type type = 5;
-
-  // The number of values that can be included in a field described by this
-  // metadata.
-  string number = 8;
-
-  // A textual description of this metadata.
-  string description = 7;
-
-  // Remaining structured metadata key-value pairs. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 3;
-}
-
-// A variant set is a collection of call sets and variants. It contains summary
-// statistics of those contents. A variant set belongs to a dataset.
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-message VariantSet {
-  // The dataset to which this variant set belongs.
-  string dataset_id = 1;
-
-  // The server-generated variant set ID, unique across all variant sets.
-  string id = 2;
-
-  // The reference set to which the variant set is mapped. The reference set
-  // describes the alignment provenance of the variant set, while the
-  // `referenceBounds` describe the shape of the actual variant data. The
-  // reference set's reference names are a superset of those found in the
-  // `referenceBounds`.
-  //
-  // For example, given a variant set that is mapped to the GRCh38 reference set
-  // and contains a single variant on reference 'X', `referenceBounds` would
-  // contain only an entry for 'X', while the associated reference set
-  // enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc.
-  string reference_set_id = 6;
-
-  // A list of all references used by the variants in a variant set
-  // with associated coordinate upper bounds for each one.
-  repeated ReferenceBound reference_bounds = 5;
-
-  // The metadata associated with this variant set.
-  repeated VariantSetMetadata metadata = 4;
-
-  // User-specified, mutable name.
-  string name = 7;
-
-  // A textual description of this variant set.
-  string description = 8;
-}
-
-// A variant represents a change in DNA sequence relative to a reference
-// sequence. For example, a variant could represent a SNP or an insertion.
-// Variants belong to a variant set.
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-//
-// Each of the calls on a variant represent a determination of genotype with
-// respect to that variant. For example, a call might assign probability of 0.32
-// to the occurrence of a SNP named rs1234 in a sample named NA12345. A call
-// belongs to a call set, which contains related calls typically from one
-// sample.
-message Variant {
-  // The ID of the variant set this variant belongs to.
-  string variant_set_id = 15;
-
-  // The server-generated variant ID, unique across all variants.
-  string id = 2;
-
-  // Names for the variant, for example a RefSNP ID.
-  repeated string names = 3;
-
-  // The date this variant was created, in milliseconds from the epoch.
-  int64 created = 12;
-
-  // The reference on which this variant occurs.
-  // (such as `chr20` or `X`)
-  string reference_name = 14;
-
-  // The position at which this variant occurs (0-based).
-  // This corresponds to the first base of the string of reference bases.
-  int64 start = 16;
-
-  // The end position (0-based) of this variant. This corresponds to the first
-  // base after the last base in the reference allele. So, the length of
-  // the reference allele is (end - start). This is useful for variants
-  // that don't explicitly give alternate bases, for example large deletions.
-  int64 end = 13;
-
-  // The reference bases for this variant. They start at the given
-  // position.
-  string reference_bases = 6;
-
-  // The bases that appear instead of the reference bases.
-  repeated string alternate_bases = 7;
-
-  // A measure of how likely this variant is to be real.
-  // A higher value is better.
-  double quality = 8;
-
-  // A list of filters (normally quality filters) this variant has failed.
-  // `PASS` indicates this variant has passed all filters.
-  repeated string filter = 9;
-
-  // A map of additional variant information. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 10;
-
-  // The variant calls for this particular variant. Each one represents the
-  // determination of genotype with respect to this variant.
-  repeated VariantCall calls = 11;
-}
-
-// A call represents the determination of genotype with respect to a particular
-// variant. It may include associated information such as quality and phasing.
-// For example, a call might assign a probability of 0.32 to the occurrence of
-// a SNP named rs1234 in a call set with the name NA12345.
-message VariantCall {
-  // The ID of the call set this variant call belongs to.
-  string call_set_id = 8;
-
-  // The name of the call set this variant call belongs to.
-  string call_set_name = 9;
-
-  // The genotype of this variant call. Each value represents either the value
-  // of the `referenceBases` field or a 1-based index into
-  // `alternateBases`. If a variant had a `referenceBases`
-  // value of `T` and an `alternateBases`
-  // value of `["A", "C"]`, and the `genotype` was
-  // `[2, 1]`, that would mean the call
-  // represented the heterozygous value `CA` for this variant.
-  // If the `genotype` was instead `[0, 1]`, the
-  // represented value would be `TA`. Ordering of the
-  // genotype values is important if the `phaseset` is present.
-  // If a genotype is not called (that is, a `.` is present in the
-  // GT string) -1 is returned.
-  repeated int32 genotype = 7;
-
-  // If this field is present, this variant call's genotype ordering implies
-  // the phase of the bases and is consistent with any other variant calls in
-  // the same reference sequence which have the same phaseset value.
-  // When importing data from VCF, if the genotype data was phased but no
-  // phase set was specified this field will be set to `*`.
-  string phaseset = 5;
-
-  // The genotype likelihoods for this variant call. Each array entry
-  // represents how likely a specific genotype is for this call. The value
-  // ordering is defined by the GL tag in the VCF spec.
-  // If Phred-scaled genotype likelihood scores (PL) are available and
-  // log10(P) genotype likelihood scores (GL) are not, PL scores are converted
-  // to GL scores.  If both are available, PL scores are stored in `info`.
-  repeated double genotype_likelihood = 6;
-
-  // A map of additional variant call information. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 2;
-}
-
-// A call set is a collection of variant calls, typically for one sample. It
-// belongs to a variant set.
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-message CallSet {
-  // The server-generated call set ID, unique across all call sets.
-  string id = 1;
-
-  // The call set name.
-  string name = 2;
-
-  // The sample ID this call set corresponds to.
-  string sample_id = 7;
-
-  // The IDs of the variant sets this call set belongs to. This field must
-  // have exactly length one, as a call set belongs to a single variant set.
-  // This field is repeated for compatibility with the
-  // [GA4GH 0.5.1
-  // API](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variants.avdl#L76).
-  repeated string variant_set_ids = 6;
-
-  // The date this call set was created in milliseconds from the epoch.
-  int64 created = 5;
-
-  // A map of additional call set information. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 4;
-}
-
-// ReferenceBound records an upper bound for the starting coordinate of
-// variants in a particular reference.
-message ReferenceBound {
-  // The name of the reference associated with this reference bound.
-  string reference_name = 1;
-
-  // An upper bound (inclusive) on the starting coordinate of any
-  // variant in the reference sequence.
-  int64 upper_bound = 2;
-}
-
-// The variant data import request.
-message ImportVariantsRequest {
-  enum Format {
-    FORMAT_UNSPECIFIED = 0;
-
-    // VCF (Variant Call Format). The VCF files should be uncompressed. gVCF is
-    // also supported.
-    FORMAT_VCF = 1;
-
-    // Complete Genomics masterVarBeta format. The masterVarBeta files should
-    // be bzip2 compressed.
-    FORMAT_COMPLETE_GENOMICS = 2;
-  }
-
-  // Required. The variant set to which variant data should be imported.
-  string variant_set_id = 1;
-
-  // A list of URIs referencing variant files in Google Cloud Storage. URIs can
-  // include wildcards [as described
-  // here](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames).
-  // Note that recursive wildcards ('**') are not supported.
-  repeated string source_uris = 2;
-
-  // The format of the variant data being imported. If unspecified, defaults to
-  // to `VCF`.
-  Format format = 3;
-
-  // Convert reference names to the canonical representation.
-  // hg19 haploytypes (those reference names containing "_hap")
-  // are not modified in any way.
-  // All other reference names are modified according to the following rules:
-  // The reference name is capitalized.
-  // The "chr" prefix is dropped for all autosomes and sex chromsomes.
-  // For example "chr17" becomes "17" and "chrX" becomes "X".
-  // All mitochondrial chromosomes ("chrM", "chrMT", etc) become "MT".
-  bool normalize_reference_names = 5;
-
-  // A mapping between info field keys and the InfoMergeOperations to
-  // be performed on them. This is plumbed down to the MergeVariantRequests
-  // generated by the resulting import job.
-  map<string, InfoMergeOperation> info_merge_config = 6;
-}
-
-// The variant data import response.
-message ImportVariantsResponse {
-  // IDs of the call sets created during the import.
-  repeated string call_set_ids = 1;
-}
-
-// The CreateVariantSet request
-message CreateVariantSetRequest {
-  // Required. The variant set to be created. Must have a valid `datasetId`.
-  VariantSet variant_set = 1;
-}
-
-// The variant data export request.
-message ExportVariantSetRequest {
-  enum Format {
-    FORMAT_UNSPECIFIED = 0;
-
-    // Export the data to Google BigQuery.
-    FORMAT_BIGQUERY = 1;
-  }
-
-  // Required. The ID of the variant set that contains variant data which
-  // should be exported. The caller must have READ access to this variant set.
-  string variant_set_id = 1;
-
-  // If provided, only variant call information from the specified call sets
-  // will be exported. By default all variant calls are exported.
-  repeated string call_set_ids = 2;
-
-  // Required. The Google Cloud project ID that owns the destination
-  // BigQuery dataset. The caller must have WRITE access to this project.  This
-  // project will also own the resulting export job.
-  string project_id = 3;
-
-  // The format for the exported data.
-  Format format = 4;
-
-  // Required. The BigQuery dataset to export data to. This dataset must already
-  // exist. Note that this is distinct from the Genomics concept of "dataset".
-  string bigquery_dataset = 5;
-
-  // Required. The BigQuery table to export data to.
-  // If the table doesn't exist, it will be created. If it already exists, it
-  // will be overwritten.
-  string bigquery_table = 6;
-}
-
-// The variant set request.
-message GetVariantSetRequest {
-  // Required. The ID of the variant set.
-  string variant_set_id = 1;
-}
-
-// The search variant sets request.
-message SearchVariantSetsRequest {
-  // Exactly one dataset ID must be provided here. Only variant sets which
-  // belong to this dataset will be returned.
-  repeated string dataset_ids = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 2;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 1024.
-  int32 page_size = 3;
-}
-
-// The search variant sets response.
-message SearchVariantSetsResponse {
-  // The variant sets belonging to the requested dataset.
-  repeated VariantSet variant_sets = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-// The delete variant set request.
-message DeleteVariantSetRequest {
-  // The ID of the variant set to be deleted.
-  string variant_set_id = 1;
-}
-
-message UpdateVariantSetRequest {
-  // The ID of the variant to be updated (must already exist).
-  string variant_set_id = 1;
-
-  // The new variant data. Only the variant_set.metadata will be considered
-  // for update.
-  VariantSet variant_set = 2;
-
-  // An optional mask specifying which fields to update. Supported fields:
-  //
-  // * [metadata][google.genomics.v1.VariantSet.metadata].
-  // * [name][google.genomics.v1.VariantSet.name].
-  // * [description][google.genomics.v1.VariantSet.description].
-  //
-  // Leaving `updateMask` unset is equivalent to specifying all mutable
-  // fields.
-  google.protobuf.FieldMask update_mask = 5;
-}
-
-// The variant search request.
-message SearchVariantsRequest {
-  // At most one variant set ID must be provided. Only variants from this
-  // variant set will be returned. If omitted, a call set id must be included in
-  // the request.
-  repeated string variant_set_ids = 1;
-
-  // Only return variants which have exactly this name.
-  string variant_name = 2;
-
-  // Only return variant calls which belong to call sets with these ids.
-  // Leaving this blank returns all variant calls. If a variant has no
-  // calls belonging to any of these call sets, it won't be returned at all.
-  repeated string call_set_ids = 3;
-
-  // Required. Only return variants in this reference sequence.
-  string reference_name = 4;
-
-  // The beginning of the window (0-based, inclusive) for which
-  // overlapping variants should be returned. If unspecified, defaults to 0.
-  int64 start = 5;
-
-  // The end of the window, 0-based exclusive. If unspecified or 0, defaults to
-  // the length of the reference.
-  int64 end = 6;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 7;
-
-  // The maximum number of variants to return in a single page. If unspecified,
-  // defaults to 5000. The maximum value is 10000.
-  int32 page_size = 8;
-
-  // The maximum number of calls to return in a single page. Note that this
-  // limit may be exceeded in the event that a matching variant contains more
-  // calls than the requested maximum. If unspecified, defaults to 5000. The
-  // maximum value is 10000.
-  int32 max_calls = 9;
-}
-
-// The variant search response.
-message SearchVariantsResponse {
-  // The list of matching Variants.
-  repeated Variant variants = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-message CreateVariantRequest {
-  // The variant to be created.
-  Variant variant = 1;
-}
-
-message UpdateVariantRequest {
-  // The ID of the variant to be updated.
-  string variant_id = 1;
-
-  // The new variant data.
-  Variant variant = 2;
-
-  // An optional mask specifying which fields to update. At this time, mutable
-  // fields are [names][google.genomics.v1.Variant.names] and
-  // [info][google.genomics.v1.Variant.info]. Acceptable values are "names" and
-  // "info". If unspecified, all mutable fields will be updated.
-  google.protobuf.FieldMask update_mask = 3;
-}
-
-message DeleteVariantRequest {
-  // The ID of the variant to be deleted.
-  string variant_id = 1;
-}
-
-message GetVariantRequest {
-  // The ID of the variant.
-  string variant_id = 1;
-}
-
-message MergeVariantsRequest {
-  // The destination variant set.
-  string variant_set_id = 1;
-
-  // The variants to be merged with existing variants.
-  repeated Variant variants = 2;
-
-  // A mapping between info field keys and the InfoMergeOperations to
-  // be performed on them.
-  map<string, InfoMergeOperation> info_merge_config = 3;
-}
-
-// The call set search request.
-message SearchCallSetsRequest {
-  // Restrict the query to call sets within the given variant sets. At least one
-  // ID must be provided.
-  repeated string variant_set_ids = 1;
-
-  // Only return call sets for which a substring of the name matches this
-  // string.
-  string name = 2;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 3;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 1024.
-  int32 page_size = 4;
-}
-
-// The call set search response.
-message SearchCallSetsResponse {
-  // The list of matching call sets.
-  repeated CallSet call_sets = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-message CreateCallSetRequest {
-  // The call set to be created.
-  CallSet call_set = 1;
-}
-
-message UpdateCallSetRequest {
-  // The ID of the call set to be updated.
-  string call_set_id = 1;
-
-  // The new call set data.
-  CallSet call_set = 2;
-
-  // An optional mask specifying which fields to update. At this time, the only
-  // mutable field is [name][google.genomics.v1.CallSet.name]. The only
-  // acceptable value is "name". If unspecified, all mutable fields will be
-  // updated.
-  google.protobuf.FieldMask update_mask = 3;
-}
-
-message DeleteCallSetRequest {
-  // The ID of the call set to be deleted.
-  string call_set_id = 1;
-}
-
-message GetCallSetRequest {
-  // The ID of the call set.
-  string call_set_id = 1;
-}
-
-// The stream variants request.
-message StreamVariantsRequest {
-  // The Google Developers Console project ID or number which will be billed
-  // for this access. The caller must have WRITE access to this project.
-  // Required.
-  string project_id = 1;
-
-  // The variant set ID from which to stream variants.
-  string variant_set_id = 2;
-
-  // Only return variant calls which belong to call sets with these IDs.
-  // Leaving this blank returns all variant calls.
-  repeated string call_set_ids = 3;
-
-  // Required. Only return variants in this reference sequence.
-  string reference_name = 4;
-
-  // The beginning of the window (0-based, inclusive) for which
-  // overlapping variants should be returned.
-  int64 start = 5;
-
-  // The end of the window (0-based, exclusive) for which overlapping
-  // variants should be returned.
-  int64 end = 6;
-}
-
-message StreamVariantsResponse {
-  repeated Variant variants = 1;
-}
-
-// Operations to be performed during import on Variant info fields.
-// These operations are set for each info field in the info_merge_config
-// map of ImportVariantsRequest, which is plumbed down to the
-// MergeVariantRequests generated by the import job.
-enum InfoMergeOperation {
-  INFO_MERGE_OPERATION_UNSPECIFIED = 0;
-
-  // By default, Variant info fields are persisted if the Variant doesn't
-  // already exist in the variantset.  If the Variant is equivalent to a
-  // Variant already in the variantset, the incoming Variant's info field
-  // is ignored in favor of that of the already persisted Variant.
-  IGNORE_NEW = 1;
-
-  // This operation removes an info field from the incoming Variant
-  // and persists this info field in each of the incoming Variant's Calls.
-  MOVE_TO_CALLS = 2;
-}
diff --git a/googleapis/genomics/v1alpha2/pipelines.pb.go b/googleapis/genomics/v1alpha2/pipelines.pb.go
index a559aabf57174b308849fa1558819c77a7d50539..fc8137a7120547518d42b35a55fa62d61ef031d0 100644
--- a/googleapis/genomics/v1alpha2/pipelines.pb.go
+++ b/googleapis/genomics/v1alpha2/pipelines.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1alpha2/pipelines.proto
+// source: google/genomics/v1alpha2/pipelines.proto
 // DO NOT EDIT!
 
 /*
-Package google_genomics_v1alpha2 is a generated protocol buffer package.
+Package genomics is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/genomics/v1alpha2/pipelines.proto
+	google/genomics/v1alpha2/pipelines.proto
 
 It has these top-level messages:
 	ComputeEngine
@@ -29,12 +29,12 @@ It has these top-level messages:
 	PipelineParameter
 	DockerExecutor
 */
-package google_genomics_v1alpha2 // import "google.golang.org/genproto/googleapis/genomics/v1alpha2"
+package genomics
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/duration"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
@@ -112,6 +112,34 @@ func (m *ComputeEngine) String() string            { return proto.CompactTextStr
 func (*ComputeEngine) ProtoMessage()               {}
 func (*ComputeEngine) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *ComputeEngine) GetInstanceName() string {
+	if m != nil {
+		return m.InstanceName
+	}
+	return ""
+}
+
+func (m *ComputeEngine) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *ComputeEngine) GetMachineType() string {
+	if m != nil {
+		return m.MachineType
+	}
+	return ""
+}
+
+func (m *ComputeEngine) GetDiskNames() []string {
+	if m != nil {
+		return m.DiskNames
+	}
+	return nil
+}
+
 // Runtime metadata that will be populated in the
 // [runtimeMetadata][google.genomics.v1.OperationMetadata.runtime_metadata]
 // field of the Operation associated with a RunPipeline execution.
@@ -195,6 +223,27 @@ func (m *Pipeline) GetExecutor() isPipeline_Executor {
 	return nil
 }
 
+func (m *Pipeline) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *Pipeline) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Pipeline) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func (m *Pipeline) GetInputParameters() []*PipelineParameter {
 	if m != nil {
 		return m.InputParameters
@@ -223,6 +272,13 @@ func (m *Pipeline) GetResources() *PipelineResources {
 	return nil
 }
 
+func (m *Pipeline) GetPipelineId() string {
+	if m != nil {
+		return m.PipelineId
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Pipeline) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _Pipeline_OneofMarshaler, _Pipeline_OneofUnmarshaler, _Pipeline_OneofSizer, []interface{}{
@@ -335,6 +391,13 @@ func (m *RunPipelineArgs) String() string            { return proto.CompactTextS
 func (*RunPipelineArgs) ProtoMessage()               {}
 func (*RunPipelineArgs) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *RunPipelineArgs) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *RunPipelineArgs) GetInputs() map[string]string {
 	if m != nil {
 		return m.Inputs
@@ -356,6 +419,13 @@ func (m *RunPipelineArgs) GetServiceAccount() *ServiceAccount {
 	return nil
 }
 
+func (m *RunPipelineArgs) GetClientId() string {
+	if m != nil {
+		return m.ClientId
+	}
+	return ""
+}
+
 func (m *RunPipelineArgs) GetResources() *PipelineResources {
 	if m != nil {
 		return m.Resources
@@ -522,6 +592,13 @@ func (m *GetPipelineRequest) String() string            { return proto.CompactTe
 func (*GetPipelineRequest) ProtoMessage()               {}
 func (*GetPipelineRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *GetPipelineRequest) GetPipelineId() string {
+	if m != nil {
+		return m.PipelineId
+	}
+	return ""
+}
+
 // A request to list pipelines in a given project. Pipelines can be
 // filtered by name using `namePrefix`: all pipelines with names that
 // begin with `namePrefix` will be returned. Uses standard pagination:
@@ -549,6 +626,34 @@ func (m *ListPipelinesRequest) String() string            { return proto.Compact
 func (*ListPipelinesRequest) ProtoMessage()               {}
 func (*ListPipelinesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *ListPipelinesRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListPipelinesRequest) GetNamePrefix() string {
+	if m != nil {
+		return m.NamePrefix
+	}
+	return ""
+}
+
+func (m *ListPipelinesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListPipelinesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // The response of ListPipelines. Contains at most `pageSize`
 // pipelines. If it contains `pageSize` pipelines, and more pipelines
 // exist, then `nextPageToken` will be populated and should be
@@ -573,6 +678,13 @@ func (m *ListPipelinesResponse) GetPipelines() []*Pipeline {
 	return nil
 }
 
+func (m *ListPipelinesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The request to delete a saved pipeline by ID.
 type DeletePipelineRequest struct {
 	// Caller must have WRITE access to the project in which this pipeline
@@ -585,6 +697,13 @@ func (m *DeletePipelineRequest) String() string            { return proto.Compac
 func (*DeletePipelineRequest) ProtoMessage()               {}
 func (*DeletePipelineRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *DeletePipelineRequest) GetPipelineId() string {
+	if m != nil {
+		return m.PipelineId
+	}
+	return ""
+}
+
 // Request to get controller configuation.  Should only be used
 // by VMs created by the Pipelines Service and not by end users.
 type GetControllerConfigRequest struct {
@@ -598,6 +717,20 @@ func (m *GetControllerConfigRequest) String() string            { return proto.C
 func (*GetControllerConfigRequest) ProtoMessage()               {}
 func (*GetControllerConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *GetControllerConfigRequest) GetOperationId() string {
+	if m != nil {
+		return m.OperationId
+	}
+	return ""
+}
+
+func (m *GetControllerConfigRequest) GetValidationToken() uint64 {
+	if m != nil {
+		return m.ValidationToken
+	}
+	return 0
+}
+
 // Stores the information that the controller will fetch from the
 // server in order to run. Should only be used by VMs created by the
 // Pipelines Service and not by end users.
@@ -617,6 +750,34 @@ func (m *ControllerConfig) String() string            { return proto.CompactText
 func (*ControllerConfig) ProtoMessage()               {}
 func (*ControllerConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *ControllerConfig) GetImage() string {
+	if m != nil {
+		return m.Image
+	}
+	return ""
+}
+
+func (m *ControllerConfig) GetCmd() string {
+	if m != nil {
+		return m.Cmd
+	}
+	return ""
+}
+
+func (m *ControllerConfig) GetGcsLogPath() string {
+	if m != nil {
+		return m.GcsLogPath
+	}
+	return ""
+}
+
+func (m *ControllerConfig) GetMachineType() string {
+	if m != nil {
+		return m.MachineType
+	}
+	return ""
+}
+
 func (m *ControllerConfig) GetVars() map[string]string {
 	if m != nil {
 		return m.Vars
@@ -656,6 +817,13 @@ func (*ControllerConfig_RepeatedString) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{11, 0}
 }
 
+func (m *ControllerConfig_RepeatedString) GetValues() []string {
+	if m != nil {
+		return m.Values
+	}
+	return nil
+}
+
 // Stores the list of events and times they occured for major events in job
 // execution.
 type TimestampEvent struct {
@@ -670,6 +838,13 @@ func (m *TimestampEvent) String() string            { return proto.CompactTextSt
 func (*TimestampEvent) ProtoMessage()               {}
 func (*TimestampEvent) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *TimestampEvent) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func (m *TimestampEvent) GetTimestamp() *google_protobuf4.Timestamp {
 	if m != nil {
 		return m.Timestamp
@@ -692,6 +867,13 @@ func (m *SetOperationStatusRequest) String() string            { return proto.Co
 func (*SetOperationStatusRequest) ProtoMessage()               {}
 func (*SetOperationStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *SetOperationStatusRequest) GetOperationId() string {
+	if m != nil {
+		return m.OperationId
+	}
+	return ""
+}
+
 func (m *SetOperationStatusRequest) GetTimestampEvents() []*TimestampEvent {
 	if m != nil {
 		return m.TimestampEvents
@@ -699,6 +881,27 @@ func (m *SetOperationStatusRequest) GetTimestampEvents() []*TimestampEvent {
 	return nil
 }
 
+func (m *SetOperationStatusRequest) GetErrorCode() google_rpc1.Code {
+	if m != nil {
+		return m.ErrorCode
+	}
+	return google_rpc1.Code_OK
+}
+
+func (m *SetOperationStatusRequest) GetErrorMessage() string {
+	if m != nil {
+		return m.ErrorMessage
+	}
+	return ""
+}
+
+func (m *SetOperationStatusRequest) GetValidationToken() uint64 {
+	if m != nil {
+		return m.ValidationToken
+	}
+	return 0
+}
+
 // A Google Cloud Service Account.
 type ServiceAccount struct {
 	// Email address of the service account. Defaults to `default`,
@@ -718,6 +921,20 @@ func (m *ServiceAccount) String() string            { return proto.CompactTextSt
 func (*ServiceAccount) ProtoMessage()               {}
 func (*ServiceAccount) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
 
+func (m *ServiceAccount) GetEmail() string {
+	if m != nil {
+		return m.Email
+	}
+	return ""
+}
+
+func (m *ServiceAccount) GetScopes() []string {
+	if m != nil {
+		return m.Scopes
+	}
+	return nil
+}
+
 // The logging options for the pipeline run.
 type LoggingOptions struct {
 	// The location in Google Cloud Storage to which the pipeline logs
@@ -736,6 +953,13 @@ func (m *LoggingOptions) String() string            { return proto.CompactTextSt
 func (*LoggingOptions) ProtoMessage()               {}
 func (*LoggingOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
 
+func (m *LoggingOptions) GetGcsPath() string {
+	if m != nil {
+		return m.GcsPath
+	}
+	return ""
+}
+
 // The system resources for the pipeline run.
 type PipelineResources struct {
 	// The minimum number of cores to use. Defaults to 1.
@@ -761,6 +985,27 @@ func (m *PipelineResources) String() string            { return proto.CompactTex
 func (*PipelineResources) ProtoMessage()               {}
 func (*PipelineResources) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
 
+func (m *PipelineResources) GetMinimumCpuCores() int32 {
+	if m != nil {
+		return m.MinimumCpuCores
+	}
+	return 0
+}
+
+func (m *PipelineResources) GetPreemptible() bool {
+	if m != nil {
+		return m.Preemptible
+	}
+	return false
+}
+
+func (m *PipelineResources) GetMinimumRamGb() float64 {
+	if m != nil {
+		return m.MinimumRamGb
+	}
+	return 0
+}
+
 func (m *PipelineResources) GetDisks() []*PipelineResources_Disk {
 	if m != nil {
 		return m.Disks
@@ -768,6 +1013,20 @@ func (m *PipelineResources) GetDisks() []*PipelineResources_Disk {
 	return nil
 }
 
+func (m *PipelineResources) GetZones() []string {
+	if m != nil {
+		return m.Zones
+	}
+	return nil
+}
+
+func (m *PipelineResources) GetBootDiskSizeGb() int32 {
+	if m != nil {
+		return m.BootDiskSizeGb
+	}
+	return 0
+}
+
 // A Google Compute Engine disk resource specification.
 type PipelineResources_Disk struct {
 	// Required. The name of the disk that can be used in the pipeline
@@ -811,6 +1070,55 @@ func (m *PipelineResources_Disk) String() string            { return proto.Compa
 func (*PipelineResources_Disk) ProtoMessage()               {}
 func (*PipelineResources_Disk) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16, 0} }
 
+func (m *PipelineResources_Disk) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *PipelineResources_Disk) GetType() PipelineResources_Disk_Type {
+	if m != nil {
+		return m.Type
+	}
+	return PipelineResources_Disk_TYPE_UNSPECIFIED
+}
+
+func (m *PipelineResources_Disk) GetSizeGb() int32 {
+	if m != nil {
+		return m.SizeGb
+	}
+	return 0
+}
+
+func (m *PipelineResources_Disk) GetSource() string {
+	if m != nil {
+		return m.Source
+	}
+	return ""
+}
+
+func (m *PipelineResources_Disk) GetAutoDelete() bool {
+	if m != nil {
+		return m.AutoDelete
+	}
+	return false
+}
+
+func (m *PipelineResources_Disk) GetReadOnly() bool {
+	if m != nil {
+		return m.ReadOnly
+	}
+	return false
+}
+
+func (m *PipelineResources_Disk) GetMountPoint() string {
+	if m != nil {
+		return m.MountPoint
+	}
+	return ""
+}
+
 // Parameters facilitate setting and delivering data into the
 // pipeline's execution environment. They are defined at create time,
 // with optional defaults, and can be overridden at run time.
@@ -924,6 +1232,27 @@ func (m *PipelineParameter) String() string            { return proto.CompactTex
 func (*PipelineParameter) ProtoMessage()               {}
 func (*PipelineParameter) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
 
+func (m *PipelineParameter) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *PipelineParameter) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *PipelineParameter) GetDefaultValue() string {
+	if m != nil {
+		return m.DefaultValue
+	}
+	return ""
+}
+
 func (m *PipelineParameter) GetLocalCopy() *PipelineParameter_LocalCopy {
 	if m != nil {
 		return m.LocalCopy
@@ -949,6 +1278,20 @@ func (m *PipelineParameter_LocalCopy) String() string            { return proto.
 func (*PipelineParameter_LocalCopy) ProtoMessage()               {}
 func (*PipelineParameter_LocalCopy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17, 0} }
 
+func (m *PipelineParameter_LocalCopy) GetPath() string {
+	if m != nil {
+		return m.Path
+	}
+	return ""
+}
+
+func (m *PipelineParameter_LocalCopy) GetDisk() string {
+	if m != nil {
+		return m.Disk
+	}
+	return ""
+}
+
 // The Docker execuctor specification.
 type DockerExecutor struct {
 	// Required. Image name from either Docker Hub or Google Container Repository.
@@ -965,6 +1308,20 @@ func (m *DockerExecutor) String() string            { return proto.CompactTextSt
 func (*DockerExecutor) ProtoMessage()               {}
 func (*DockerExecutor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
 
+func (m *DockerExecutor) GetImageName() string {
+	if m != nil {
+		return m.ImageName
+	}
+	return ""
+}
+
+func (m *DockerExecutor) GetCmd() string {
+	if m != nil {
+		return m.Cmd
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*ComputeEngine)(nil), "google.genomics.v1alpha2.ComputeEngine")
 	proto.RegisterType((*RuntimeMetadata)(nil), "google.genomics.v1alpha2.RuntimeMetadata")
@@ -1314,142 +1671,139 @@ var _PipelinesV1Alpha2_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1alpha2/pipelines.proto",
+	Metadata: "google/genomics/v1alpha2/pipelines.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1alpha2/pipelines.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/genomics/v1alpha2/pipelines.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 2057 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x6f, 0x23, 0x49,
-	0x15, 0x9f, 0x76, 0x9c, 0xc4, 0xfd, 0x9c, 0x38, 0x9e, 0xda, 0x99, 0x5d, 0x8f, 0x77, 0x57, 0x93,
-	0xe9, 0x81, 0xdd, 0x24, 0x83, 0x6c, 0x26, 0xb3, 0x03, 0x99, 0x20, 0xad, 0x48, 0x1c, 0x4f, 0x62,
-	0x91, 0x49, 0x4c, 0x3b, 0x1b, 0x40, 0x1c, 0x5a, 0x95, 0x76, 0xa5, 0xd3, 0x9b, 0xee, 0xae, 0xa6,
-	0xab, 0x3a, 0x1a, 0x0f, 0x02, 0x09, 0xc4, 0x01, 0xad, 0xe0, 0x02, 0xfb, 0x21, 0x90, 0xf8, 0x26,
-	0x48, 0x9c, 0x38, 0x71, 0xe0, 0xc6, 0x81, 0x8f, 0x00, 0x37, 0x54, 0x55, 0xdd, 0xed, 0x76, 0xec,
-	0x24, 0xb6, 0x84, 0xb8, 0x58, 0x55, 0xaf, 0xeb, 0xfd, 0xea, 0x57, 0xaf, 0x5e, 0xbd, 0x3f, 0x86,
-	0x7d, 0x87, 0x52, 0xc7, 0x23, 0x0d, 0x87, 0x7a, 0x38, 0x70, 0x1a, 0x34, 0x72, 0x9a, 0x0e, 0x09,
-	0xc2, 0x88, 0x72, 0xda, 0x54, 0x9f, 0x70, 0xe8, 0x32, 0x21, 0xa3, 0xbe, 0x6b, 0xb3, 0xe6, 0xd5,
-	0x73, 0xec, 0x85, 0x17, 0x78, 0xb3, 0x19, 0xba, 0x21, 0xf1, 0xdc, 0x80, 0xb0, 0x86, 0x5c, 0x8c,
-	0x6a, 0x29, 0x50, 0xb2, 0xb2, 0x91, 0xae, 0xac, 0x77, 0xa6, 0xdb, 0x02, 0x87, 0x6e, 0x93, 0x91,
-	0xe8, 0xca, 0xb5, 0x89, 0x4d, 0x83, 0x73, 0xd7, 0x69, 0xe2, 0x20, 0xa0, 0x1c, 0x73, 0x97, 0x06,
-	0xc9, 0x26, 0xf5, 0xdd, 0xe9, 0xa0, 0x3c, 0x1a, 0x38, 0x51, 0x1c, 0x04, 0x6e, 0xe0, 0x34, 0x69,
-	0x48, 0xa2, 0x11, 0x8c, 0x57, 0x8e, 0xcb, 0x2f, 0xe2, 0xb3, 0x86, 0x4d, 0xfd, 0xa6, 0xc2, 0x69,
-	0xca, 0x0f, 0x67, 0xf1, 0x79, 0x33, 0xe4, 0x83, 0x90, 0xb0, 0x66, 0x3f, 0x56, 0x2a, 0xd9, 0x20,
-	0x51, 0x7d, 0x71, 0xb7, 0x2a, 0xf1, 0x43, 0x3e, 0x50, 0xbf, 0x89, 0xd2, 0xf7, 0xee, 0x56, 0xe2,
-	0xae, 0x4f, 0x18, 0xc7, 0x7e, 0x38, 0x1c, 0x65, 0x64, 0xa7, 0x3a, 0x70, 0x14, 0xda, 0x4d, 0x9b,
-	0xf6, 0x89, 0xfc, 0x51, 0xaa, 0xc6, 0x57, 0x1a, 0x2c, 0xb7, 0xa8, 0x1f, 0xc6, 0x9c, 0xb4, 0x03,
-	0xc7, 0x0d, 0x08, 0x7a, 0x0a, 0xcb, 0x6e, 0xc0, 0x38, 0x0e, 0x6c, 0x62, 0x05, 0xd8, 0x27, 0x35,
-	0x6d, 0x55, 0x5b, 0xd3, 0xcd, 0xa5, 0x54, 0x78, 0x84, 0x7d, 0x82, 0x10, 0x14, 0xdf, 0xd1, 0x80,
-	0xd4, 0x0a, 0xf2, 0x9b, 0x1c, 0xa3, 0x27, 0xb0, 0xe4, 0x63, 0xfb, 0xc2, 0x0d, 0x88, 0x25, 0x08,
-	0xd7, 0xe6, 0xe4, 0xb7, 0x72, 0x22, 0x3b, 0x19, 0x84, 0x04, 0x7d, 0x0c, 0xd0, 0x77, 0xd9, 0xa5,
-	0xc4, 0x65, 0xb5, 0xe2, 0xea, 0xdc, 0x9a, 0x6e, 0xea, 0x42, 0x22, 0x40, 0x99, 0x81, 0x61, 0xc5,
-	0x8c, 0x03, 0x71, 0xba, 0x37, 0x84, 0xe3, 0x3e, 0xe6, 0x18, 0x1d, 0x41, 0xc5, 0x56, 0xf4, 0x2c,
-	0x22, 0xf9, 0x49, 0x3a, 0xe5, 0xcd, 0x4f, 0x1b, 0x37, 0x79, 0x52, 0x63, 0xe4, 0x38, 0xe6, 0xb2,
-	0x9d, 0x9f, 0x1a, 0x7f, 0x9d, 0x83, 0x52, 0x37, 0x71, 0x4a, 0x41, 0x27, 0x8c, 0xe8, 0x97, 0xc4,
-	0xe6, 0x96, 0xdb, 0x4f, 0xce, 0xa9, 0x27, 0x92, 0x4e, 0x5f, 0x1c, 0x52, 0x1a, 0x20, 0x39, 0xa4,
-	0x18, 0xa3, 0x55, 0x28, 0xf7, 0x09, 0xb3, 0x23, 0x37, 0x14, 0x37, 0x9e, 0x9e, 0x31, 0x27, 0x42,
-	0xa7, 0x50, 0x75, 0x83, 0x30, 0xe6, 0x56, 0x88, 0x23, 0xec, 0x13, 0x4e, 0x22, 0x56, 0x2b, 0xad,
-	0xce, 0xad, 0x95, 0x37, 0x9f, 0xdd, 0xcc, 0x39, 0xa5, 0xd4, 0x4d, 0x75, 0xcc, 0x15, 0x09, 0x92,
-	0xcd, 0x19, 0xfa, 0x31, 0xdc, 0xa7, 0x31, 0xbf, 0x06, 0xac, 0xcf, 0x0e, 0x5c, 0x55, 0x28, 0x39,
-	0xe4, 0x5d, 0x58, 0xe8, 0x53, 0xfb, 0x92, 0x44, 0xb5, 0x79, 0x69, 0xdb, 0xb5, 0x9b, 0xe1, 0xf6,
-	0xe4, 0xba, 0xf6, 0x5b, 0x62, 0xc7, 0x9c, 0x46, 0x07, 0xf7, 0xcc, 0x44, 0x13, 0x75, 0x40, 0x8f,
-	0x08, 0xa3, 0x71, 0x64, 0x13, 0x56, 0x5b, 0x90, 0x30, 0x53, 0xb0, 0x32, 0x53, 0x15, 0x73, 0xa8,
-	0x8d, 0x1e, 0x43, 0x39, 0x0d, 0x1b, 0xe2, 0x5a, 0x16, 0xa5, 0x89, 0x21, 0x15, 0x75, 0xfa, 0xbb,
-	0x00, 0x25, 0x92, 0x30, 0x30, 0x7e, 0x04, 0x0f, 0x5b, 0x11, 0xc1, 0x9c, 0x0c, 0x21, 0x7f, 0x16,
-	0x13, 0xc6, 0xd1, 0xe7, 0x50, 0x4a, 0x55, 0x12, 0x97, 0x31, 0xa6, 0xe0, 0x93, 0xe9, 0x18, 0x7f,
-	0x9e, 0x97, 0xce, 0x98, 0x7e, 0xd9, 0x89, 0x1c, 0x76, 0x97, 0xbf, 0xbc, 0x81, 0x05, 0x79, 0x69,
-	0xac, 0x56, 0x90, 0xd7, 0xf2, 0xf2, 0xe6, 0x0d, 0xaf, 0x21, 0x37, 0x3a, 0x52, 0xaf, 0x1d, 0xf0,
-	0x68, 0x60, 0x26, 0x20, 0xa8, 0x0b, 0x8b, 0xea, 0xaa, 0x58, 0x6d, 0x4e, 0xe2, 0x7d, 0x67, 0x7a,
-	0xbc, 0x63, 0xa5, 0xa8, 0x00, 0x53, 0x18, 0xf4, 0x43, 0x58, 0x49, 0x62, 0xa7, 0x85, 0x6d, 0x9b,
-	0xc6, 0x01, 0xaf, 0x15, 0xef, 0xba, 0xf1, 0x9e, 0x52, 0xd8, 0x51, 0xeb, 0xcd, 0x0a, 0x1b, 0x99,
-	0xa3, 0x0f, 0x41, 0xb7, 0x3d, 0x97, 0x04, 0xd2, 0x22, 0xf3, 0xd2, 0x22, 0x25, 0x25, 0xe8, 0xf4,
-	0xff, 0x97, 0x4e, 0xb1, 0x0b, 0x8b, 0x1e, 0x75, 0x1c, 0x37, 0x70, 0xa4, 0x43, 0xdc, 0x4a, 0xf9,
-	0x50, 0x2d, 0x3c, 0x96, 0xef, 0x91, 0x99, 0xa9, 0x22, 0x3a, 0x83, 0x27, 0x97, 0x84, 0x84, 0xd6,
-	0x95, 0x6f, 0x61, 0xcf, 0xbd, 0x22, 0x16, 0x0d, 0xac, 0x73, 0xec, 0x7a, 0x71, 0x44, 0xac, 0x34,
-	0x86, 0xd7, 0x4a, 0x12, 0xfd, 0x51, 0x8a, 0x9e, 0x06, 0xe1, 0xc6, 0x5e, 0xb2, 0xc0, 0xfc, 0x48,
-	0x60, 0x9c, 0xfa, 0x3b, 0x02, 0xe1, 0x38, 0x78, 0xad, 0xf4, 0xd3, 0xaf, 0xf5, 0x57, 0x50, 0xce,
-	0xdd, 0x25, 0xaa, 0xc2, 0xdc, 0x25, 0x19, 0x24, 0xae, 0x22, 0x86, 0xe8, 0x01, 0xcc, 0x5f, 0x61,
-	0x2f, 0x4e, 0xa3, 0x8a, 0x9a, 0x6c, 0x17, 0xb6, 0xb4, 0xfa, 0x36, 0x2c, 0xe5, 0xaf, 0x6d, 0x16,
-	0x5d, 0xe3, 0x5f, 0x1a, 0xa0, 0x9c, 0x0f, 0xa4, 0x8f, 0xe0, 0xc9, 0xe8, 0x53, 0x92, 0x50, 0x07,
-	0xf7, 0xf2, 0x8f, 0x09, 0xf5, 0x00, 0x91, 0xf0, 0x82, 0xf8, 0x24, 0xc2, 0x9e, 0x95, 0xbd, 0x98,
-	0xc2, 0xb4, 0x2f, 0xe6, 0xe0, 0x9e, 0x79, 0x3f, 0xd3, 0xcf, 0x02, 0xeb, 0x11, 0x2c, 0x67, 0xfb,
-	0xe2, 0xc8, 0x61, 0x32, 0x4e, 0x96, 0x37, 0xd7, 0xa7, 0x76, 0x60, 0x73, 0x29, 0xcc, 0xcd, 0xc4,
-	0x8b, 0xcf, 0x1e, 0xe6, 0x4b, 0x40, 0xfb, 0x84, 0x5f, 0x3f, 0xe9, 0xe3, 0x09, 0x27, 0xcd, 0x9f,
-	0xd3, 0xf8, 0x83, 0x06, 0x0f, 0x0e, 0x5d, 0x96, 0x29, 0xb2, 0x54, 0xf3, 0x8e, 0x47, 0xfd, 0x18,
-	0xca, 0x22, 0xf0, 0x5b, 0x61, 0x44, 0xce, 0xdd, 0xb7, 0x89, 0xe5, 0x41, 0x88, 0xba, 0x52, 0x22,
-	0x5e, 0x40, 0x88, 0x1d, 0x62, 0x31, 0xf7, 0x9d, 0xca, 0x79, 0xf3, 0x66, 0x49, 0x08, 0x7a, 0xee,
-	0x3b, 0x95, 0x61, 0xc4, 0x47, 0x4e, 0x2f, 0x49, 0x20, 0x1f, 0x9b, 0x00, 0xc7, 0x0e, 0x39, 0x11,
-	0x02, 0xe3, 0x57, 0x1a, 0x3c, 0xbc, 0x46, 0x8a, 0x85, 0x34, 0x60, 0x04, 0x7d, 0x1f, 0xf4, 0xac,
-	0x76, 0xaa, 0x69, 0xf2, 0xf9, 0x4f, 0x13, 0xbf, 0x86, 0x4a, 0xe8, 0x13, 0x58, 0x09, 0xc8, 0x5b,
-	0x91, 0x2d, 0xb2, 0xfd, 0x15, 0xf9, 0x65, 0x21, 0xee, 0x66, 0x1c, 0xb6, 0xe0, 0xe1, 0x1e, 0xf1,
-	0xc8, 0x78, 0x04, 0xbd, 0xd3, 0xa4, 0x5f, 0x42, 0x7d, 0x9f, 0xf0, 0x16, 0x0d, 0x78, 0x44, 0x3d,
-	0x8f, 0x44, 0x2d, 0x59, 0x90, 0x0d, 0x7d, 0x6f, 0x29, 0xab, 0xaa, 0x86, 0xfa, 0xe5, 0x4c, 0xd6,
-	0xe9, 0xa3, 0x75, 0xa8, 0x5e, 0x61, 0xcf, 0xed, 0xab, 0x35, 0x43, 0x8e, 0x45, 0x73, 0x65, 0x28,
-	0x57, 0x2c, 0xff, 0xbe, 0x00, 0xd5, 0xeb, 0x3b, 0x89, 0xf7, 0xe0, 0xfa, 0xd8, 0x49, 0x4b, 0x14,
-	0x35, 0x11, 0xef, 0xc6, 0xf6, 0xfb, 0xc9, 0x61, 0xc5, 0x10, 0xad, 0xc2, 0x92, 0x63, 0x33, 0xcb,
-	0xa3, 0x8e, 0x15, 0x62, 0x7e, 0x91, 0x64, 0x6d, 0x70, 0x6c, 0x76, 0x48, 0x9d, 0x2e, 0xe6, 0x17,
-	0x63, 0xb5, 0x4b, 0x71, 0xbc, 0x76, 0x39, 0x80, 0xe2, 0x15, 0x8e, 0x58, 0x6d, 0x5e, 0x5e, 0xc6,
-	0x67, 0xb7, 0xd5, 0x1f, 0xa3, 0x34, 0x1b, 0xa7, 0x38, 0x4a, 0x22, 0xb1, 0x44, 0x40, 0x3f, 0x80,
-	0x79, 0x51, 0xf3, 0x88, 0x90, 0x78, 0x47, 0x9a, 0x18, 0x83, 0xda, 0x13, 0x7a, 0x0a, 0x4b, 0x61,
-	0xa0, 0x9f, 0x42, 0x59, 0x9c, 0x2d, 0x8d, 0xb2, 0x8b, 0x12, 0x72, 0x7b, 0x06, 0xc8, 0x7d, 0x9b,
-	0xf5, 0x94, 0xb2, 0xc2, 0x15, 0x66, 0x49, 0x04, 0xe8, 0x0b, 0xd0, 0x25, 0xb8, 0x1b, 0x5c, 0xa6,
-	0x45, 0xcc, 0xd6, 0x8c, 0xd0, 0x42, 0x55, 0x01, 0x97, 0x9c, 0x64, 0x5a, 0x5f, 0x83, 0x8a, 0x49,
-	0x42, 0x91, 0xb5, 0xfb, 0x3d, 0x1e, 0x89, 0xd0, 0xfc, 0x3e, 0x2c, 0xc8, 0x60, 0xa6, 0x7c, 0x5d,
-	0x37, 0x93, 0x59, 0xfd, 0xbb, 0xa0, 0x67, 0xd6, 0x9b, 0x29, 0x98, 0x6e, 0x01, 0x0c, 0x6d, 0x35,
-	0x93, 0xe6, 0x5b, 0x58, 0xb9, 0x66, 0x92, 0x09, 0xea, 0xc7, 0x79, 0xf5, 0xf2, 0xe6, 0xab, 0x19,
-	0x8c, 0x32, 0x7a, 0xf2, 0xfc, 0xce, 0x57, 0xb0, 0x3c, 0x62, 0xb1, 0xff, 0xd3, 0xbe, 0x86, 0x07,
-	0x95, 0x93, 0xb4, 0xa3, 0x68, 0x5f, 0x91, 0x80, 0x5f, 0xaf, 0x72, 0xb5, 0xf1, 0x2a, 0x77, 0x0b,
-	0xf4, 0xac, 0x0b, 0x49, 0xc8, 0xd4, 0xc7, 0x72, 0x66, 0x86, 0x6a, 0x0e, 0x17, 0x1b, 0x5f, 0x17,
-	0xe0, 0x51, 0x8f, 0xf0, 0xe3, 0x34, 0x0e, 0xf4, 0x38, 0xe6, 0x31, 0x9b, 0x21, 0x6a, 0xf4, 0xa0,
-	0x9a, 0xa1, 0x59, 0x44, 0xf0, 0x4d, 0x0b, 0xae, 0x5b, 0x6a, 0x82, 0xd1, 0x03, 0x9a, 0x2b, 0x7c,
-	0x64, 0xce, 0x50, 0x13, 0x80, 0x44, 0x11, 0x8d, 0x2c, 0xd1, 0x1b, 0xc9, 0x00, 0x51, 0xd9, 0xac,
-	0xa6, 0x70, 0x51, 0x68, 0x37, 0x5a, 0xb4, 0x4f, 0x4c, 0x5d, 0xae, 0x11, 0x43, 0xd1, 0x26, 0x29,
-	0x05, 0x9f, 0x30, 0x26, 0x62, 0x90, 0x0a, 0x19, 0x4b, 0x52, 0xf8, 0x46, 0xc9, 0x26, 0x06, 0xb8,
-	0xf9, 0xc9, 0x01, 0xee, 0x73, 0xa8, 0x8c, 0x96, 0x5a, 0xc2, 0x45, 0x89, 0x8f, 0x5d, 0x2f, 0x8d,
-	0x6e, 0x72, 0x22, 0x5e, 0x0a, 0xb3, 0x69, 0x48, 0xd4, 0x99, 0x75, 0x33, 0x99, 0x19, 0xcf, 0xa0,
-	0x32, 0x5a, 0xf7, 0xa0, 0x47, 0x20, 0x5e, 0x9c, 0x8a, 0x78, 0x0a, 0x62, 0xd1, 0xb1, 0x99, 0x08,
-	0x77, 0xc6, 0x3f, 0x8a, 0x70, 0x7f, 0xac, 0xdc, 0x42, 0x1b, 0x70, 0xdf, 0x77, 0x03, 0xd7, 0x8f,
-	0x7d, 0xcb, 0x0e, 0x63, 0xcb, 0xa6, 0x91, 0x7c, 0x8f, 0x22, 0xa3, 0xad, 0x24, 0x1f, 0x5a, 0x61,
-	0xdc, 0x12, 0x62, 0xe1, 0x21, 0x61, 0x44, 0x44, 0x07, 0xeb, 0x9e, 0x79, 0xca, 0x1d, 0x4b, 0x66,
-	0x5e, 0x84, 0xbe, 0x01, 0x95, 0x14, 0x2d, 0xc2, 0xbe, 0xe5, 0x9c, 0x49, 0xab, 0x6a, 0xe6, 0x52,
-	0x22, 0x35, 0xb1, 0xbf, 0x7f, 0x86, 0x5e, 0xa7, 0xb1, 0xb0, 0x28, 0x6f, 0xf0, 0xdb, 0x33, 0x94,
-	0x87, 0x32, 0x18, 0xa6, 0x61, 0xf0, 0x01, 0xcc, 0x8b, 0x26, 0x54, 0x85, 0x67, 0xdd, 0x54, 0x13,
-	0xb4, 0x0e, 0xf7, 0xcf, 0x28, 0xe5, 0x96, 0x6c, 0x3a, 0x45, 0x82, 0x16, 0x34, 0x16, 0xe4, 0x89,
-	0x2a, 0xe2, 0x83, 0x40, 0x10, 0x79, 0x7a, 0xff, 0xac, 0xfe, 0x97, 0x02, 0x14, 0xc5, 0x34, 0xeb,
-	0xfa, 0xb4, 0x5c, 0xd7, 0xd7, 0x81, 0xa2, 0x4c, 0x0b, 0x05, 0xe9, 0x17, 0x2f, 0x67, 0x25, 0xd9,
-	0x10, 0x09, 0xc4, 0x94, 0x10, 0xe8, 0x03, 0x58, 0x4c, 0x89, 0xa8, 0x62, 0x61, 0x81, 0x49, 0x02,
-	0xf2, 0x62, 0xa5, 0x4e, 0xe2, 0x49, 0xc9, 0x4c, 0xa4, 0x61, 0x1c, 0x73, 0x6a, 0xf5, 0x65, 0x92,
-	0x96, 0xec, 0x4b, 0x26, 0x08, 0x91, 0x4a, 0xdb, 0xa2, 0x00, 0x89, 0x08, 0xee, 0x5b, 0x34, 0xf0,
-	0x06, 0xb2, 0x38, 0x2e, 0x99, 0x25, 0x21, 0x38, 0x0e, 0xbc, 0x81, 0xd0, 0xf6, 0x85, 0x37, 0x59,
-	0x21, 0x75, 0x03, 0x2e, 0xab, 0x5b, 0xdd, 0x04, 0x29, 0xea, 0x0a, 0x89, 0xd1, 0x83, 0xa2, 0x4c,
-	0x6f, 0x0f, 0xa0, 0x7a, 0xf2, 0x93, 0x6e, 0xdb, 0xfa, 0xe2, 0xa8, 0xd7, 0x6d, 0xb7, 0x3a, 0xaf,
-	0x3b, 0xed, 0xbd, 0xea, 0x3d, 0x84, 0xa0, 0xd2, 0x6d, 0x9b, 0xbd, 0x4e, 0xef, 0xa4, 0x7d, 0x74,
-	0x62, 0x1d, 0xec, 0xed, 0x55, 0xb5, 0x6b, 0xb2, 0x5e, 0x6f, 0xaf, 0x5a, 0x40, 0xcb, 0xa0, 0x1f,
-	0x1e, 0xb7, 0x76, 0x0e, 0xe5, 0x74, 0xce, 0xf8, 0x8f, 0x36, 0xf4, 0xaf, 0xac, 0xd1, 0x9c, 0x68,
-	0xd9, 0x6b, 0x91, 0xa6, 0x30, 0x1e, 0x69, 0x9e, 0xc2, 0x72, 0x9f, 0x9c, 0xe3, 0xd8, 0xe3, 0x96,
-	0x0a, 0x7d, 0xaa, 0xcb, 0x58, 0x4a, 0x84, 0xa7, 0x42, 0x86, 0x4e, 0x00, 0x3c, 0x6a, 0x63, 0xcf,
-	0xb2, 0x69, 0x38, 0x48, 0x5a, 0x8d, 0x97, 0x33, 0x74, 0xc5, 0x8d, 0x43, 0xa1, 0xdd, 0xa2, 0xe1,
-	0xc0, 0xd4, 0xbd, 0x74, 0x58, 0x7f, 0x01, 0x7a, 0x26, 0x17, 0xec, 0x73, 0x4f, 0x49, 0x8e, 0x85,
-	0x4c, 0xb8, 0x56, 0xfa, 0x0f, 0x81, 0x18, 0x1b, 0x3b, 0x50, 0x19, 0xed, 0x92, 0x45, 0x11, 0x28,
-	0x2b, 0x93, 0xfc, 0xdf, 0x29, 0xba, 0x94, 0xc8, 0xff, 0x52, 0xc6, 0xea, 0x95, 0xcd, 0xdf, 0x96,
-	0x86, 0xe6, 0x63, 0xa7, 0xcf, 0x77, 0x24, 0x69, 0xf4, 0x3b, 0x0d, 0x2a, 0xa3, 0xbd, 0x2e, 0x6a,
-	0xde, 0x12, 0xff, 0x27, 0x75, 0xc5, 0xf5, 0x29, 0x6a, 0x48, 0xe3, 0x9b, 0xbf, 0xfe, 0xdb, 0x3f,
-	0xff, 0x58, 0x78, 0x6c, 0xbc, 0x37, 0xe1, 0x6f, 0xbc, 0xed, 0xac, 0x0e, 0x47, 0xbf, 0x84, 0x72,
-	0xae, 0x68, 0x47, 0xdf, 0x9a, 0xaa, 0xb6, 0x4f, 0x79, 0x7c, 0x9c, 0xae, 0xce, 0xfd, 0x09, 0xd7,
-	0xc8, 0x52, 0x82, 0x61, 0x48, 0x0a, 0x1f, 0x19, 0x1f, 0x4c, 0xa2, 0x10, 0xc5, 0xc1, 0xb6, 0xb6,
-	0x81, 0xbe, 0xd2, 0xa0, 0x9c, 0x6b, 0x04, 0x6e, 0x23, 0x30, 0xde, 0x2f, 0x4c, 0x65, 0x88, 0x75,
-	0xc9, 0xe2, 0x29, 0x7a, 0x32, 0x81, 0x45, 0xf3, 0xe7, 0xb9, 0xda, 0xf8, 0x17, 0xe8, 0xf7, 0x1a,
-	0x2c, 0x8f, 0x14, 0xf2, 0xa8, 0x71, 0x4b, 0x7f, 0x3a, 0xa1, 0x0d, 0xa9, 0x37, 0xa7, 0x5e, 0xaf,
-	0x3a, 0x04, 0xe3, 0x43, 0xc9, 0xee, 0x21, 0x9a, 0x74, 0x4d, 0xe8, 0x37, 0x1a, 0x54, 0x46, 0xab,
-	0xfa, 0xdb, 0x7c, 0x65, 0x62, 0xfd, 0x5f, 0x7f, 0x7f, 0x2c, 0x9f, 0xb7, 0xfd, 0x90, 0x0f, 0x52,
-	0xb3, 0x6c, 0x4c, 0x61, 0x96, 0x3f, 0x69, 0xf0, 0xde, 0x84, 0x16, 0x01, 0x7d, 0x76, 0xeb, 0x5d,
-	0xdd, 0xd0, 0x51, 0xd4, 0x37, 0xa6, 0xaf, 0x76, 0x8c, 0xa6, 0x24, 0xb9, 0x8e, 0x3e, 0x9d, 0xe4,
-	0x41, 0xce, 0x04, 0x4a, 0x5f, 0x6b, 0x80, 0xc6, 0xcb, 0x12, 0xf4, 0xe2, 0xb6, 0x7f, 0x46, 0x6e,
-	0x28, 0x62, 0x6e, 0xb4, 0xdc, 0x73, 0x49, 0xea, 0x59, 0xfd, 0x93, 0x49, 0xa4, 0xd8, 0x18, 0xdc,
-	0xb6, 0xb6, 0xb1, 0xdb, 0x80, 0x0f, 0x6c, 0xea, 0x4f, 0x22, 0xb1, 0x5b, 0xc9, 0x7c, 0xa2, 0x2b,
-	0xb6, 0xe9, 0x6a, 0xff, 0xd6, 0xb4, 0xb3, 0x05, 0xb9, 0xe5, 0x8b, 0xff, 0x06, 0x00, 0x00, 0xff,
-	0xff, 0x0b, 0x4c, 0xf5, 0x4a, 0xb2, 0x17, 0x00, 0x00,
+	// 2039 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x6f, 0xdb, 0xc8,
+	0x15, 0x0f, 0x65, 0xd9, 0x16, 0x9f, 0x6c, 0x59, 0x99, 0x4d, 0x36, 0x8a, 0x92, 0x6d, 0x1c, 0xa6,
+	0xdd, 0xb5, 0x9d, 0x42, 0x6a, 0x9c, 0x4d, 0xeb, 0x75, 0x81, 0xc5, 0xda, 0xb2, 0x62, 0x0b, 0x75,
+	0x6c, 0x95, 0xf2, 0xba, 0xff, 0x0e, 0xc4, 0x98, 0x1a, 0xd3, 0x5c, 0x93, 0x1c, 0x96, 0x43, 0x1a,
+	0x51, 0x8a, 0x16, 0x68, 0xd1, 0x43, 0xb1, 0x68, 0x2f, 0xed, 0x7e, 0x88, 0x02, 0xfd, 0x26, 0x05,
+	0x7a, 0xea, 0xa9, 0x87, 0xde, 0x7a, 0xe8, 0x47, 0x68, 0x6f, 0xc5, 0xcc, 0x70, 0xa8, 0xbf, 0xb6,
+	0x25, 0xa0, 0xd8, 0xdb, 0xcc, 0x9b, 0x79, 0x3f, 0xfe, 0xe6, 0xcd, 0x7b, 0x6f, 0xde, 0x23, 0xac,
+	0x39, 0x94, 0x3a, 0x1e, 0xa9, 0x3b, 0x24, 0xa0, 0xbe, 0x6b, 0xb3, 0xfa, 0xd5, 0x0b, 0xec, 0x85,
+	0x17, 0x78, 0xb3, 0x1e, 0xba, 0x21, 0xf1, 0xdc, 0x80, 0xb0, 0x5a, 0x18, 0xd1, 0x98, 0xa2, 0x8a,
+	0xdc, 0x59, 0x53, 0x3b, 0x6b, 0x6a, 0x67, 0xf5, 0x71, 0x8a, 0x81, 0x43, 0xb7, 0x8e, 0x83, 0x80,
+	0xc6, 0x38, 0x76, 0x69, 0x90, 0xea, 0x55, 0x9f, 0xa5, 0xab, 0x1e, 0x0d, 0x9c, 0x28, 0x09, 0x02,
+	0x37, 0x70, 0xea, 0x34, 0x24, 0xd1, 0xd0, 0xa6, 0x6f, 0xa4, 0x9b, 0xc4, 0xec, 0x2c, 0x39, 0xaf,
+	0x77, 0x13, 0xb9, 0x21, 0x5d, 0x7f, 0x34, 0xba, 0x4e, 0xfc, 0x30, 0xee, 0xa5, 0x8b, 0x4f, 0x46,
+	0x17, 0x63, 0xd7, 0x27, 0x2c, 0xc6, 0x7e, 0x98, 0x6e, 0xb8, 0x9f, 0x6e, 0x88, 0x42, 0xbb, 0x6e,
+	0xd3, 0x2e, 0x91, 0x62, 0xe3, 0x4b, 0x0d, 0x96, 0x1b, 0xd4, 0x0f, 0x93, 0x98, 0x34, 0x03, 0xc7,
+	0x0d, 0x08, 0x7a, 0x06, 0xcb, 0x6e, 0xc0, 0x62, 0x1c, 0xd8, 0xc4, 0x0a, 0xb0, 0x4f, 0x2a, 0xda,
+	0xaa, 0xb6, 0xa6, 0x9b, 0x4b, 0x4a, 0x78, 0x84, 0x7d, 0x82, 0x10, 0xe4, 0xdf, 0xd1, 0x80, 0x54,
+	0x72, 0x62, 0x4d, 0x8c, 0xd1, 0x53, 0x58, 0xf2, 0xb1, 0x7d, 0xe1, 0x06, 0xc4, 0x8a, 0x7b, 0x21,
+	0xa9, 0xcc, 0x89, 0xb5, 0x62, 0x2a, 0x3b, 0xe9, 0x85, 0x04, 0x7d, 0x00, 0xd0, 0x75, 0xd9, 0xa5,
+	0xc0, 0x65, 0x95, 0xfc, 0xea, 0xdc, 0x9a, 0x6e, 0xea, 0x5c, 0xc2, 0x41, 0x99, 0x81, 0x61, 0xc5,
+	0x4c, 0x02, 0xce, 0xfc, 0x0d, 0x89, 0x71, 0x17, 0xc7, 0x18, 0x1d, 0x41, 0xc9, 0x96, 0xf4, 0x2c,
+	0x22, 0xf8, 0x09, 0x3a, 0xc5, 0xcd, 0x8f, 0x6a, 0xd7, 0x5d, 0x45, 0x6d, 0xe8, 0x38, 0xe6, 0xb2,
+	0x3d, 0x38, 0x35, 0xfe, 0x36, 0x07, 0x85, 0x76, 0x7a, 0xab, 0x9c, 0x4e, 0x18, 0xd1, 0x2f, 0x88,
+	0x1d, 0x5b, 0x6e, 0x37, 0x3d, 0xa7, 0x9e, 0x4a, 0x5a, 0x5d, 0x7e, 0x48, 0x61, 0x80, 0xf4, 0x90,
+	0x7c, 0x8c, 0x56, 0xa1, 0xd8, 0x25, 0xcc, 0x8e, 0xdc, 0x90, 0xdf, 0x8c, 0x3a, 0xe3, 0x80, 0x08,
+	0x9d, 0x42, 0xd9, 0x0d, 0xc2, 0x24, 0xb6, 0x42, 0x1c, 0x61, 0x9f, 0xc4, 0x24, 0x62, 0x95, 0xc2,
+	0xea, 0xdc, 0x5a, 0x71, 0xf3, 0xf9, 0xf5, 0x9c, 0x15, 0xa5, 0xb6, 0xd2, 0x31, 0x57, 0x04, 0x48,
+	0x36, 0x67, 0xe8, 0xc7, 0x70, 0x97, 0x26, 0xf1, 0x08, 0xb0, 0x3e, 0x3b, 0x70, 0x59, 0xa2, 0x0c,
+	0x20, 0xef, 0xc2, 0x42, 0x97, 0xda, 0x97, 0x24, 0xaa, 0xcc, 0x0b, 0xdb, 0xae, 0x5d, 0x0f, 0xb7,
+	0x27, 0xf6, 0x35, 0xdf, 0x12, 0x3b, 0x89, 0x69, 0x74, 0x70, 0xc7, 0x4c, 0x35, 0x51, 0x0b, 0xf4,
+	0x88, 0x30, 0x9a, 0x44, 0x36, 0x61, 0x95, 0x05, 0x01, 0x33, 0x05, 0x2b, 0x53, 0xa9, 0x98, 0x7d,
+	0x6d, 0xf4, 0x04, 0x8a, 0x2a, 0xee, 0xf8, 0xb5, 0x2c, 0x0a, 0x13, 0x83, 0x12, 0xb5, 0xba, 0xbb,
+	0x00, 0x05, 0x92, 0x32, 0x30, 0x7e, 0x04, 0xf7, 0x1b, 0x11, 0xc1, 0x31, 0xe9, 0x43, 0xfe, 0x3c,
+	0x21, 0x2c, 0x46, 0x9f, 0x42, 0x41, 0xa9, 0xa4, 0x2e, 0x63, 0x4c, 0xc1, 0x27, 0xd3, 0x31, 0xfe,
+	0x32, 0x2f, 0x9c, 0x51, 0xad, 0xec, 0x44, 0x0e, 0xbb, 0xcd, 0x5f, 0xde, 0xc0, 0x82, 0xb8, 0x34,
+	0x56, 0xc9, 0x89, 0x6b, 0x79, 0x75, 0xfd, 0x07, 0x47, 0x90, 0x6b, 0x2d, 0xa1, 0xd7, 0x0c, 0xe2,
+	0xa8, 0x67, 0xa6, 0x20, 0xa8, 0x0d, 0x8b, 0xf2, 0xaa, 0x58, 0x65, 0x4e, 0xe0, 0x7d, 0x77, 0x7a,
+	0xbc, 0x63, 0xa9, 0x28, 0x01, 0x15, 0x0c, 0xfa, 0x21, 0xac, 0x30, 0x12, 0x5d, 0xb9, 0x36, 0xb1,
+	0xb0, 0x6d, 0xd3, 0x24, 0x88, 0x2b, 0xf9, 0xdb, 0x6e, 0xbc, 0x23, 0x15, 0x76, 0xe4, 0x7e, 0xb3,
+	0xc4, 0x86, 0xe6, 0xe8, 0x11, 0xe8, 0xb6, 0xe7, 0x92, 0x40, 0x58, 0x64, 0x5e, 0x58, 0xa4, 0x20,
+	0x05, 0xad, 0xee, 0xff, 0xd3, 0x29, 0x76, 0x61, 0xd1, 0xa3, 0x8e, 0xe3, 0x06, 0x8e, 0x70, 0x88,
+	0x1b, 0x29, 0x1f, 0xca, 0x8d, 0xc7, 0x22, 0x1e, 0x99, 0xa9, 0x14, 0xd1, 0x19, 0x3c, 0xbd, 0x24,
+	0x24, 0xb4, 0xae, 0x7c, 0x0b, 0x7b, 0xee, 0x15, 0xb1, 0x68, 0x60, 0x9d, 0x63, 0xd7, 0x4b, 0x22,
+	0x62, 0xa9, 0x5c, 0x5b, 0x29, 0x08, 0xf4, 0x87, 0x0a, 0x5d, 0xe5, 0xd3, 0xda, 0x5e, 0xba, 0xc1,
+	0x7c, 0xcc, 0x31, 0x4e, 0xfd, 0x1d, 0x8e, 0x70, 0x1c, 0xbc, 0x96, 0xfa, 0x6a, 0xb5, 0xfa, 0x09,
+	0x14, 0x07, 0xee, 0x12, 0x95, 0x61, 0xee, 0x92, 0xf4, 0x52, 0x57, 0xe1, 0x43, 0x74, 0x0f, 0xe6,
+	0xaf, 0xb0, 0x97, 0xa8, 0xac, 0x22, 0x27, 0xdb, 0xb9, 0x2d, 0xad, 0xba, 0x0d, 0x4b, 0x83, 0xd7,
+	0x36, 0x8b, 0xae, 0xf1, 0x6f, 0x0d, 0xd0, 0x80, 0x0f, 0xa8, 0x20, 0x78, 0x3a, 0x1c, 0x4a, 0x02,
+	0xea, 0xe0, 0xce, 0x60, 0x30, 0xa1, 0x0e, 0x20, 0x12, 0x5e, 0x10, 0x9f, 0x44, 0xd8, 0xb3, 0xb2,
+	0x88, 0xc9, 0x4d, 0x1b, 0x31, 0x07, 0x77, 0xcc, 0xbb, 0x99, 0x7e, 0x96, 0x58, 0x8f, 0x60, 0x39,
+	0xfb, 0x2e, 0x8e, 0x1c, 0x26, 0xf2, 0x64, 0x71, 0x73, 0x7d, 0x6a, 0x07, 0x36, 0x97, 0xc2, 0x81,
+	0x19, 0x8f, 0xf8, 0x2c, 0x30, 0x5f, 0x01, 0xda, 0x27, 0xf1, 0xe8, 0x49, 0x9f, 0x4c, 0x38, 0xe9,
+	0xe0, 0x39, 0x8d, 0x3f, 0x6a, 0x70, 0xef, 0xd0, 0x65, 0x99, 0x22, 0x53, 0x9a, 0xb7, 0x04, 0xf5,
+	0x13, 0x28, 0xf2, 0xc4, 0x6f, 0x85, 0x11, 0x39, 0x77, 0xdf, 0xa6, 0x96, 0x07, 0x2e, 0x6a, 0x0b,
+	0x09, 0x8f, 0x80, 0x10, 0x3b, 0xc4, 0x62, 0xee, 0x3b, 0xf9, 0xe6, 0xcd, 0x9b, 0x05, 0x2e, 0xe8,
+	0xb8, 0xef, 0xe4, 0x0b, 0xc3, 0x17, 0x63, 0x7a, 0x49, 0x02, 0x11, 0x6c, 0x1c, 0x1c, 0x3b, 0xe4,
+	0x84, 0x0b, 0x8c, 0x5f, 0x6b, 0x70, 0x7f, 0x84, 0x14, 0x0b, 0x69, 0xc0, 0x08, 0xfa, 0x0c, 0xf4,
+	0xac, 0xf8, 0xa8, 0x68, 0x22, 0xfc, 0xa7, 0xc9, 0x5f, 0x7d, 0x25, 0xf4, 0x21, 0xac, 0x04, 0xe4,
+	0x2d, 0x7f, 0x2d, 0xb2, 0xef, 0x4b, 0xf2, 0xcb, 0x5c, 0xdc, 0xce, 0x38, 0x6c, 0xc1, 0xfd, 0x3d,
+	0xe2, 0x91, 0xf1, 0x0c, 0x7a, 0xab, 0x49, 0xbf, 0x80, 0xea, 0x3e, 0x89, 0x1b, 0x34, 0x88, 0x23,
+	0xea, 0x79, 0x24, 0x6a, 0xd0, 0xe0, 0xdc, 0x75, 0xfa, 0xbe, 0xb7, 0x94, 0x95, 0x38, 0x7d, 0xfd,
+	0x62, 0x26, 0x6b, 0x75, 0xd1, 0x3a, 0x94, 0xaf, 0xb0, 0xe7, 0x76, 0xe5, 0x9e, 0x3e, 0xc7, 0xbc,
+	0xb9, 0xd2, 0x97, 0x4b, 0x96, 0xff, 0x58, 0x80, 0xf2, 0xe8, 0x97, 0x78, 0x3c, 0xb8, 0x3e, 0x76,
+	0x54, 0x89, 0x22, 0x27, 0x3c, 0x6e, 0x6c, 0xbf, 0x9b, 0x1e, 0x96, 0x0f, 0xd1, 0x2a, 0x2c, 0x39,
+	0x36, 0xb3, 0x3c, 0xea, 0x58, 0x21, 0x8e, 0x2f, 0xd2, 0x57, 0x1b, 0x1c, 0x9b, 0x1d, 0x52, 0xa7,
+	0x8d, 0xe3, 0x8b, 0xb1, 0xda, 0x25, 0x3f, 0x5e, 0xbb, 0x1c, 0x40, 0xfe, 0x0a, 0x47, 0xac, 0x32,
+	0x2f, 0x2e, 0xe3, 0xe3, 0x9b, 0xea, 0x8f, 0x61, 0x9a, 0xb5, 0x53, 0x1c, 0xa5, 0x99, 0x58, 0x20,
+	0xa0, 0x1f, 0xc0, 0x3c, 0xaf, 0x79, 0x78, 0x4a, 0xbc, 0xe5, 0x99, 0x18, 0x83, 0xda, 0xe3, 0x7a,
+	0x12, 0x4b, 0x62, 0xa0, 0x9f, 0x41, 0x91, 0x9f, 0x4d, 0x65, 0xd9, 0x45, 0x01, 0xb9, 0x3d, 0x03,
+	0xe4, 0xbe, 0xcd, 0x3a, 0x52, 0x59, 0xe2, 0x72, 0xb3, 0xa4, 0x02, 0xf4, 0x39, 0xe8, 0x02, 0xdc,
+	0x0d, 0x2e, 0x55, 0x11, 0xb3, 0x35, 0x23, 0x34, 0x57, 0x95, 0xc0, 0x05, 0x27, 0x9d, 0x56, 0xd7,
+	0xa0, 0x64, 0x92, 0x90, 0xbf, 0xda, 0xdd, 0x4e, 0x1c, 0xf1, 0xd4, 0xfc, 0x3e, 0x2c, 0x88, 0x64,
+	0x26, 0x7d, 0x5d, 0x37, 0xd3, 0x59, 0xf5, 0x7b, 0xa0, 0x67, 0xd6, 0x9b, 0x29, 0x99, 0x6e, 0x01,
+	0xf4, 0x6d, 0x35, 0x93, 0xe6, 0x5b, 0x58, 0x19, 0x31, 0xc9, 0x04, 0xf5, 0xe3, 0x41, 0xf5, 0xe2,
+	0xe6, 0x27, 0x33, 0x18, 0x65, 0xf8, 0xe4, 0x83, 0x5f, 0xbe, 0x82, 0xe5, 0x21, 0x8b, 0x7d, 0x4d,
+	0xdf, 0x35, 0x3c, 0x28, 0x9d, 0xa8, 0x6e, 0xa1, 0x79, 0x45, 0x82, 0x78, 0xb4, 0xca, 0xd5, 0xc6,
+	0xab, 0xdc, 0x2d, 0xd0, 0xb3, 0x0e, 0x23, 0x25, 0x53, 0x1d, 0x7b, 0x33, 0x33, 0x54, 0xb3, 0xbf,
+	0xd9, 0xf8, 0x2a, 0x07, 0x0f, 0x3b, 0x24, 0x3e, 0x56, 0x79, 0xa0, 0x13, 0xe3, 0x38, 0x61, 0x33,
+	0x64, 0x8d, 0x0e, 0x94, 0x33, 0x34, 0x8b, 0x70, 0xbe, 0xaa, 0xe0, 0xba, 0xa1, 0x26, 0x18, 0x3e,
+	0xa0, 0xb9, 0x12, 0x0f, 0xcd, 0x19, 0xaa, 0x03, 0x90, 0x28, 0xa2, 0x91, 0xc5, 0x7b, 0x23, 0x91,
+	0x20, 0x4a, 0x9b, 0x65, 0x05, 0x17, 0x85, 0x76, 0xad, 0x41, 0xbb, 0xc4, 0xd4, 0xc5, 0x1e, 0x3e,
+	0xe4, 0x6d, 0x92, 0x54, 0xf0, 0x09, 0x63, 0x3c, 0x07, 0xc9, 0x94, 0xb1, 0x24, 0x84, 0x6f, 0xa4,
+	0x6c, 0x62, 0x82, 0x9b, 0x9f, 0x9c, 0xe0, 0x3e, 0x85, 0xd2, 0x70, 0xa9, 0xc5, 0x5d, 0x94, 0xf8,
+	0xd8, 0xf5, 0x54, 0x76, 0x13, 0x13, 0x1e, 0x29, 0xcc, 0xa6, 0x21, 0x91, 0x67, 0xd6, 0xcd, 0x74,
+	0x66, 0x3c, 0x87, 0xd2, 0x70, 0xdd, 0x83, 0x1e, 0x02, 0x8f, 0x38, 0x99, 0xf1, 0x24, 0xc4, 0xa2,
+	0x63, 0x33, 0x9e, 0xee, 0x8c, 0x7f, 0xe6, 0xe1, 0xee, 0x58, 0xb9, 0x85, 0x36, 0xe0, 0xae, 0xef,
+	0x06, 0xae, 0x9f, 0xf8, 0x96, 0x1d, 0x26, 0x96, 0x4d, 0x23, 0x11, 0x8f, 0xfc, 0x45, 0x5b, 0x49,
+	0x17, 0x1a, 0x61, 0xd2, 0xe0, 0x62, 0xee, 0x21, 0x61, 0x44, 0x78, 0x07, 0xea, 0x9e, 0x79, 0xd2,
+	0x1d, 0x0b, 0xe6, 0xa0, 0x08, 0x7d, 0x13, 0x4a, 0x0a, 0x2d, 0xc2, 0xbe, 0xe5, 0x9c, 0x09, 0xab,
+	0x6a, 0xe6, 0x52, 0x2a, 0x35, 0xb1, 0xbf, 0x7f, 0x86, 0x5e, 0xab, 0x5c, 0x98, 0x17, 0x37, 0xf8,
+	0x9d, 0x19, 0xca, 0x43, 0x91, 0x0c, 0x55, 0x1a, 0xbc, 0x07, 0xf3, 0xbc, 0x09, 0x95, 0xe9, 0x59,
+	0x37, 0xe5, 0x04, 0xad, 0xc3, 0xdd, 0x33, 0x4a, 0x63, 0x4b, 0x34, 0x9d, 0xfc, 0x81, 0xe6, 0x34,
+	0x16, 0xc4, 0x89, 0x4a, 0x7c, 0x81, 0x23, 0xf0, 0x77, 0x7a, 0xff, 0xac, 0xfa, 0xd7, 0x1c, 0xe4,
+	0xf9, 0x34, 0xeb, 0xfa, 0xb4, 0x81, 0xae, 0xaf, 0x05, 0x79, 0xf1, 0x2c, 0xe4, 0x84, 0x5f, 0xbc,
+	0x9a, 0x95, 0x64, 0x8d, 0x3f, 0x20, 0xa6, 0x80, 0x40, 0x0f, 0x60, 0x51, 0x11, 0x91, 0xc5, 0xc2,
+	0x02, 0x13, 0x04, 0xc4, 0xc5, 0x0a, 0x9d, 0xd4, 0x93, 0xd2, 0x19, 0x7f, 0x86, 0x71, 0x12, 0x53,
+	0xab, 0x2b, 0x1e, 0x69, 0xc1, 0xbe, 0x60, 0x02, 0x17, 0xc9, 0x67, 0x9b, 0x17, 0x20, 0x11, 0xc1,
+	0x5d, 0x8b, 0x06, 0x5e, 0x4f, 0x14, 0xc7, 0x05, 0xb3, 0xc0, 0x05, 0xc7, 0x81, 0xd7, 0xe3, 0xda,
+	0x3e, 0xf7, 0x26, 0x2b, 0xa4, 0x6e, 0x10, 0x8b, 0xea, 0x56, 0x37, 0x41, 0x88, 0xda, 0x5c, 0x62,
+	0x74, 0x20, 0x2f, 0x9e, 0xb7, 0x7b, 0x50, 0x3e, 0xf9, 0x49, 0xbb, 0x69, 0x7d, 0x7e, 0xd4, 0x69,
+	0x37, 0x1b, 0xad, 0xd7, 0xad, 0xe6, 0x5e, 0xf9, 0x0e, 0x42, 0x50, 0x6a, 0x37, 0xcd, 0x4e, 0xab,
+	0x73, 0xd2, 0x3c, 0x3a, 0xb1, 0x0e, 0xf6, 0xf6, 0xca, 0xda, 0x88, 0xac, 0xd3, 0xd9, 0x2b, 0xe7,
+	0xd0, 0x32, 0xe8, 0x87, 0xc7, 0x8d, 0x9d, 0x43, 0x31, 0x9d, 0x33, 0xfe, 0xab, 0xf5, 0xfd, 0x2b,
+	0x6b, 0x34, 0x27, 0x5a, 0x76, 0x24, 0xd3, 0xe4, 0xc6, 0x33, 0xcd, 0x33, 0x58, 0xee, 0x92, 0x73,
+	0x9c, 0x78, 0xb1, 0x25, 0x53, 0x9f, 0xec, 0x32, 0x96, 0x52, 0xe1, 0x29, 0x97, 0xa1, 0x13, 0x00,
+	0x8f, 0xda, 0xd8, 0xb3, 0x6c, 0x1a, 0xf6, 0xd2, 0x56, 0xe3, 0xd5, 0x0c, 0x5d, 0x71, 0xed, 0x90,
+	0x6b, 0x37, 0x68, 0xd8, 0x33, 0x75, 0x4f, 0x0d, 0xab, 0x2f, 0x41, 0xcf, 0xe4, 0x9c, 0xfd, 0x40,
+	0x28, 0x89, 0x31, 0x97, 0x71, 0xd7, 0x52, 0x7f, 0x08, 0xf8, 0xd8, 0xd8, 0x81, 0xd2, 0x70, 0x97,
+	0xcc, 0x8b, 0x40, 0x51, 0x99, 0x0c, 0xfe, 0x4e, 0xd1, 0x85, 0x44, 0xfc, 0x4b, 0x19, 0xab, 0x57,
+	0x36, 0x7f, 0x57, 0xe8, 0x9b, 0x8f, 0x9d, 0xbe, 0xd8, 0x11, 0xa4, 0xd1, 0xef, 0x35, 0x28, 0x0d,
+	0xf7, 0xba, 0xa8, 0x7e, 0x43, 0xfe, 0x9f, 0xd4, 0x15, 0x57, 0xa7, 0xa8, 0x21, 0x8d, 0x6f, 0xfd,
+	0xe6, 0xef, 0xff, 0xfa, 0x53, 0xee, 0x89, 0xf1, 0xde, 0x84, 0xff, 0x60, 0xdb, 0x59, 0x1d, 0x8e,
+	0x7e, 0x05, 0xc5, 0x81, 0xa2, 0x1d, 0x7d, 0x7b, 0xaa, 0xda, 0x5e, 0xf1, 0xf8, 0x40, 0xed, 0x1e,
+	0xf8, 0x23, 0x56, 0xcb, 0x9e, 0x04, 0xc3, 0x10, 0x14, 0x1e, 0x1b, 0x0f, 0x26, 0x51, 0x88, 0x92,
+	0x60, 0x5b, 0xdb, 0x40, 0x5f, 0x6a, 0x50, 0x1c, 0x68, 0x04, 0x6e, 0x22, 0x30, 0xde, 0x2f, 0x4c,
+	0x65, 0x88, 0x75, 0xc1, 0xe2, 0x19, 0x7a, 0x3a, 0x81, 0x45, 0xfd, 0x17, 0x03, 0xb5, 0xf1, 0x2f,
+	0xd1, 0x1f, 0x34, 0x58, 0x1e, 0x2a, 0xe4, 0x51, 0xed, 0x86, 0xfe, 0x74, 0x42, 0x1b, 0x52, 0xad,
+	0x4f, 0xbd, 0x5f, 0x76, 0x08, 0xc6, 0x23, 0xc1, 0xee, 0x3e, 0x9a, 0x74, 0x4d, 0xe8, 0xb7, 0x1a,
+	0x94, 0x86, 0xab, 0xfa, 0x9b, 0x7c, 0x65, 0x62, 0xfd, 0x5f, 0x7d, 0x7f, 0xec, 0x3d, 0x6f, 0xfa,
+	0x61, 0xdc, 0x53, 0x66, 0xd9, 0x98, 0xc2, 0x2c, 0x7f, 0xd6, 0xe0, 0xbd, 0x09, 0x2d, 0x02, 0xfa,
+	0xf8, 0xc6, 0xbb, 0xba, 0xa6, 0xa3, 0xa8, 0x6e, 0x4c, 0x5f, 0xed, 0x18, 0x75, 0x41, 0x72, 0x1d,
+	0x7d, 0x34, 0xc9, 0x83, 0x9c, 0x09, 0x94, 0xbe, 0xd2, 0x00, 0x8d, 0x97, 0x25, 0xe8, 0xe5, 0x4d,
+	0x7f, 0x46, 0xae, 0x29, 0x62, 0xae, 0xb5, 0xdc, 0x0b, 0x41, 0xea, 0x79, 0xf5, 0xc3, 0x49, 0xa4,
+	0xd8, 0x18, 0xdc, 0xb6, 0xb6, 0xb1, 0x1b, 0xc2, 0x03, 0x9b, 0xfa, 0x93, 0x48, 0xec, 0x96, 0x32,
+	0x9f, 0x68, 0xf3, 0xcf, 0xb4, 0xb5, 0x9f, 0x7e, 0xa6, 0xb6, 0x51, 0x0f, 0x07, 0x4e, 0x8d, 0x46,
+	0x4e, 0xdd, 0x21, 0x81, 0x20, 0x51, 0x97, 0x4b, 0x38, 0x74, 0xd9, 0xf8, 0x7f, 0xee, 0xef, 0x2b,
+	0xc9, 0x7f, 0x34, 0xed, 0x6c, 0x41, 0xec, 0x7f, 0xf9, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x72,
+	0x40, 0xab, 0xc0, 0x16, 0x17, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1alpha2/pipelines.proto b/googleapis/genomics/v1alpha2/pipelines.proto
deleted file mode 100644
index 2fa9417c88d992be9c1509648221910340503e12..0000000000000000000000000000000000000000
--- a/googleapis/genomics/v1alpha2/pipelines.proto
+++ /dev/null
@@ -1,590 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.genomics.v1alpha2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-import "google.golang.org/genproto/googleapis/rpc/code/code.proto"; // from google/rpc/code.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "PipelinesProto";
-option java_package = "com.google.genomics.v1a";
-
-
-// A service for running genomics pipelines.
-service PipelinesV1Alpha2 {
-  // Creates a pipeline that can be run later. Create takes a Pipeline that
-  // has all fields other than `pipelineId` populated, and then returns
-  // the same pipeline with `pipelineId` populated. This id can be used
-  // to run the pipeline.
-  //
-  // Caller must have WRITE permission to the project.
-  rpc CreatePipeline(CreatePipelineRequest) returns (Pipeline) {
-    option (google.api.http) = { post: "/v1alpha2/pipelines" body: "pipeline" };
-  }
-
-  // Runs a pipeline. If `pipelineId` is specified in the request, then
-  // run a saved pipeline. If `ephemeralPipeline` is specified, then run
-  // that pipeline once without saving a copy.
-  //
-  // The caller must have READ permission to the project where the pipeline
-  // is stored and WRITE permission to the project where the pipeline will be
-  // run, as VMs will be created and storage will be used.
-  rpc RunPipeline(RunPipelineRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1alpha2/pipelines:run" body: "*" };
-  }
-
-  // Retrieves a pipeline based on ID.
-  //
-  // Caller must have READ permission to the project.
-  rpc GetPipeline(GetPipelineRequest) returns (Pipeline) {
-    option (google.api.http) = { get: "/v1alpha2/pipelines/{pipeline_id}" };
-  }
-
-  // Lists pipelines.
-  //
-  // Caller must have READ permission to the project.
-  rpc ListPipelines(ListPipelinesRequest) returns (ListPipelinesResponse) {
-    option (google.api.http) = { get: "/v1alpha2/pipelines" };
-  }
-
-  // Deletes a pipeline based on ID.
-  //
-  // Caller must have WRITE permission to the project.
-  rpc DeletePipeline(DeletePipelineRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1alpha2/pipelines/{pipeline_id}" };
-  }
-
-  // Gets controller configuration information. Should only be called
-  // by VMs created by the Pipelines Service and not by end users.
-  rpc GetControllerConfig(GetControllerConfigRequest) returns (ControllerConfig) {
-    option (google.api.http) = { get: "/v1alpha2/pipelines:getControllerConfig" };
-  }
-
-  // Sets status of a given operation. All timestamps are sent on each
-  // call, and the whole series of events is replaced, in case
-  // intermediate calls are lost. Should only be called by VMs created
-  // by the Pipelines Service and not by end users.
-  rpc SetOperationStatus(SetOperationStatusRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { put: "/v1alpha2/pipelines:setOperationStatus" body: "*" };
-  }
-}
-
-// Describes a Compute Engine resource that is being managed by a running
-// [pipeline][google.genomics.v1alpha2.Pipeline].
-message ComputeEngine {
-  // The instance on which the operation is running.
-  string instance_name = 1;
-
-  // The availability zone in which the instance resides.
-  string zone = 2;
-
-  // The machine type of the instance.
-  string machine_type = 3;
-
-  // The names of the disks that were created for this pipeline.
-  repeated string disk_names = 4;
-}
-
-// Runtime metadata that will be populated in the
-// [runtimeMetadata][google.genomics.v1.OperationMetadata.runtime_metadata]
-// field of the Operation associated with a RunPipeline execution.
-message RuntimeMetadata {
-  // Execution information specific to Google Compute Engine.
-  ComputeEngine compute_engine = 1;
-}
-
-// The pipeline object. Represents a transformation from a set of input
-// parameters to a set of output parameters. The transformation is defined
-// as a docker image and command to run within that image. Each pipeline
-// is run on a Google Compute Engine VM. A pipeline can be created with the
-// `create` method and then later run with the `run` method, or a pipeline can
-// be defined and run all at once with the `run` method.
-message Pipeline {
-  // Required. The project in which to create the pipeline. The caller must have
-  // WRITE access.
-  string project_id = 1;
-
-  // Required. A user specified pipeline name that does not have to be unique.
-  // This name can be used for filtering Pipelines in ListPipelines.
-  string name = 2;
-
-  // User-specified description.
-  string description = 3;
-
-  // Input parameters of the pipeline.
-  repeated PipelineParameter input_parameters = 8;
-
-  // Output parameters of the pipeline.
-  repeated PipelineParameter output_parameters = 9;
-
-  // Required. The executor indicates in which environment the pipeline runs.
-  oneof executor {
-    // Specifies the docker run information.
-    DockerExecutor docker = 5;
-  }
-
-  // Required. Specifies resource requirements for the pipeline run.
-  // Required fields:
-  //
-  // *
-  // [minimumCpuCores][google.genomics.v1alpha2.PipelineResources.minimum_cpu_cores]
-  //
-  // *
-  // [minimumRamGb][google.genomics.v1alpha2.PipelineResources.minimum_ram_gb]
-  PipelineResources resources = 6;
-
-  // Unique pipeline id that is generated by the service when CreatePipeline
-  // is called. Cannot be specified in the Pipeline used in the
-  // CreatePipelineRequest, and will be populated in the response to
-  // CreatePipeline and all subsequent Get and List calls. Indicates that the
-  // service has registered this pipeline.
-  string pipeline_id = 7;
-}
-
-// The request to create a pipeline. The pipeline field here should not have
-// `pipelineId` populated, as that will be populated by the server.
-message CreatePipelineRequest {
-  // The pipeline to create. Should not have `pipelineId` populated.
-  Pipeline pipeline = 1;
-}
-
-// The pipeline run arguments.
-message RunPipelineArgs {
-  // Required. The project in which to run the pipeline. The caller must have
-  // WRITER access to all Google Cloud services and resources (e.g. Google
-  // Compute Engine) will be used.
-  string project_id = 1;
-
-  // Pipeline input arguments; keys are defined in the pipeline documentation.
-  // All input parameters that do not have default values  must be specified.
-  // If parameters with defaults are specified here, the defaults will be
-  // overridden.
-  map<string, string> inputs = 2;
-
-  // Pipeline output arguments; keys are defined in the pipeline
-  // documentation.  All output parameters of without default values
-  // must be specified.  If parameters with defaults are specified
-  // here, the defaults will be overridden.
-  map<string, string> outputs = 3;
-
-  // The Google Cloud Service Account that will be used to access data and
-  // services. By default, the compute service account associated with
-  // `projectId` is used.
-  ServiceAccount service_account = 4;
-
-  // Client-specified pipeline operation identifier.
-  string client_id = 5;
-
-  // Specifies resource requirements/overrides for the pipeline run.
-  PipelineResources resources = 6;
-
-  // Required. Logging options. Used by the service to communicate results
-  // to the user.
-  LoggingOptions logging = 7;
-
-  // How long to keep the VM up after a failure (for example docker command
-  // failed, copying input or output files failed, etc). While the VM is up, one
-  // can ssh into the VM to debug. Default is 0; maximum allowed value is 1 day.
-  google.protobuf.Duration keep_vm_alive_on_failure_duration = 8;
-}
-
-// The request to run a pipeline. If `pipelineId` is specified, it
-// refers to a saved pipeline created with CreatePipeline and set as
-// the `pipelineId` of the returned Pipeline object. If
-// `ephemeralPipeline` is specified, that pipeline is run once
-// with the given args and not saved. It is an error to specify both
-// `pipelineId` and `ephemeralPipeline`. `pipelineArgs`
-// must be specified.
-message RunPipelineRequest {
-  oneof pipeline {
-    // The already created pipeline to run.
-    string pipeline_id = 1;
-
-    // A new pipeline object to run once and then delete.
-    Pipeline ephemeral_pipeline = 2;
-  }
-
-  // The arguments to use when running this pipeline.
-  RunPipelineArgs pipeline_args = 3;
-}
-
-// A request to get a saved pipeline by id.
-message GetPipelineRequest {
-  // Caller must have READ access to the project in which this pipeline
-  // is defined.
-  string pipeline_id = 1;
-}
-
-// A request to list pipelines in a given project. Pipelines can be
-// filtered by name using `namePrefix`: all pipelines with names that
-// begin with `namePrefix` will be returned. Uses standard pagination:
-// `pageSize` indicates how many pipelines to return, and
-// `pageToken` comes from a previous ListPipelinesResponse to
-// indicate offset.
-message ListPipelinesRequest {
-  // Required. The name of the project to search for pipelines. Caller
-  // must have READ access to this project.
-  string project_id = 1;
-
-  // Pipelines with names that match this prefix should be
-  // returned.  If unspecified, all pipelines in the project, up to
-  // `pageSize`, will be returned.
-  string name_prefix = 2;
-
-  // Number of pipelines to return at once. Defaults to 256, and max
-  // is 2048.
-  int32 page_size = 3;
-
-  // Token to use to indicate where to start getting results.
-  // If unspecified, returns the first page of results.
-  string page_token = 4;
-}
-
-// The response of ListPipelines. Contains at most `pageSize`
-// pipelines. If it contains `pageSize` pipelines, and more pipelines
-// exist, then `nextPageToken` will be populated and should be
-// used as the `pageToken` argument to a subsequent ListPipelines
-// request.
-message ListPipelinesResponse {
-  // The matched pipelines.
-  repeated Pipeline pipelines = 1;
-
-  // The token to use to get the next page of results.
-  string next_page_token = 2;
-}
-
-// The request to delete a saved pipeline by ID.
-message DeletePipelineRequest {
-  // Caller must have WRITE access to the project in which this pipeline
-  // is defined.
-  string pipeline_id = 1;
-}
-
-// Request to get controller configuation.  Should only be used
-// by VMs created by the Pipelines Service and not by end users.
-message GetControllerConfigRequest {
-  // The operation to retrieve controller configuration for.
-  string operation_id = 1;
-
-  uint64 validation_token = 2;
-}
-
-// Stores the information that the controller will fetch from the
-// server in order to run. Should only be used by VMs created by the
-// Pipelines Service and not by end users.
-message ControllerConfig {
-  message RepeatedString {
-    repeated string values = 1;
-  }
-
-  string image = 1;
-
-  string cmd = 2;
-
-  string gcs_log_path = 3;
-
-  string machine_type = 4;
-
-  map<string, string> vars = 5;
-
-  map<string, string> disks = 6;
-
-  map<string, RepeatedString> gcs_sources = 7;
-
-  map<string, RepeatedString> gcs_sinks = 8;
-}
-
-// Stores the list of events and times they occured for major events in job
-// execution.
-message TimestampEvent {
-  // String indicating the type of event
-  string description = 1;
-
-  // The time this event occured.
-  google.protobuf.Timestamp timestamp = 2;
-}
-
-// Request to set operation status. Should only be used by VMs
-// created by the Pipelines Service and not by end users.
-message SetOperationStatusRequest {
-  string operation_id = 1;
-
-  repeated TimestampEvent timestamp_events = 2;
-
-  google.rpc.Code error_code = 3;
-
-  string error_message = 4;
-
-  uint64 validation_token = 5;
-}
-
-// A Google Cloud Service Account.
-message ServiceAccount {
-  // Email address of the service account. Defaults to `default`,
-  // which uses the compute service account associated with the project.
-  string email = 1;
-
-  // List of scopes to be enabled for this service account on the
-  // pipeline virtual machine.
-  // The following scopes are automatically included:
-  // * https://www.googleapis.com/auth/genomics
-  // * https://www.googleapis.com/auth/compute
-  // * https://www.googleapis.com/auth/devstorage.full_control
-  repeated string scopes = 2;
-}
-
-// The logging options for the pipeline run.
-message LoggingOptions {
-  // The location in Google Cloud Storage to which the pipeline logs
-  // will be copied. Can be specified as a fully qualified directory
-  // path, in which case logs will be output with a unique identifier
-  // as the filename in that directory, or as a fully specified path,
-  // which must end in `.log`, in which case that path will be
-  // used, and the user must ensure that logs are not
-  // overwritten. Stdout and stderr logs from the run are also
-  // generated and output as `-stdout.log` and `-stderr.log`.
-  string gcs_path = 1;
-}
-
-// The system resources for the pipeline run.
-message PipelineResources {
-  // A Google Compute Engine disk resource specification.
-  message Disk {
-    // The types of disks that may be attached to VMs.
-    enum Type {
-      // Default disk type. Use one of the other options below.
-      TYPE_UNSPECIFIED = 0;
-
-      // Specifies a Google Compute Engine persistent hard disk. See
-      // https://cloud.google.com/compute/docs/disks/#pdspecs for details.
-      PERSISTENT_HDD = 1;
-
-      // Specifies a Google Compute Engine persistent solid-state disk. See
-      // https://cloud.google.com/compute/docs/disks/#pdspecs for details.
-      PERSISTENT_SSD = 2;
-
-      // Specifies a Google Compute Engine local SSD.
-      // See https://cloud.google.com/compute/docs/disks/local-ssd for details.
-      LOCAL_SSD = 3;
-    }
-
-    // Required. The name of the disk that can be used in the pipeline
-    // parameters. Must be 1 - 63 characters.
-    // The name "boot" is reserved for system use.
-    string name = 1;
-
-    // Required. The type of the disk to create.
-    Type type = 2;
-
-    // The size of the disk. Defaults to 500 (GB).
-    // This field is not applicable for local SSD.
-    int32 size_gb = 3;
-
-    // The full or partial URL of the persistent disk to attach. See
-    // https://cloud.google.com/compute/docs/reference/latest/instances#resource
-    // and
-    // https://cloud.google.com/compute/docs/disks/persistent-disks#snapshots
-    // for more details.
-    string source = 4;
-
-    // Specifies whether or not to delete the disk when the pipeline
-    // completes. This field is applicable only for newly created disks. See
-    // https://cloud.google.com/compute/docs/reference/latest/instances#resource
-    // for more details.
-    // By default, `autoDelete` is `false`. `autoDelete` will be enabled if set
-    // to `true` at create time or run time.
-    bool auto_delete = 6;
-
-    // Specifies how a sourced-base persistent disk will be mounted. See
-    // https://cloud.google.com/compute/docs/disks/persistent-disks#use_multi_instances
-    // for more details.
-    // Can only be set at create time.
-    bool read_only = 7;
-
-    // Required at create time and cannot be overridden at run time.
-    // Specifies the path in the docker container where files on
-    // this disk should be located. For example, if `mountPoint`
-    // is `/mnt/disk`, and the parameter has `localPath`
-    // `inputs/file.txt`, the docker container can access the data at
-    // `/mnt/disk/inputs/file.txt`.
-    string mount_point = 8;
-  }
-
-  // The minimum number of cores to use. Defaults to 1.
-  int32 minimum_cpu_cores = 1;
-
-  // At create time means that preemptible machines may be
-  // used for the run. At run time, means they should be used. Cannot
-  // be true at run time if false at create time.
-  // Defaults to `false`.
-  bool preemptible = 2;
-
-  // The minimum amount of RAM to use. Defaults to 3.75 (GB)
-  double minimum_ram_gb = 3;
-
-  // Disks to attach.
-  repeated Disk disks = 4;
-
-  // List of Google Compute Engine availability zones to which resource
-  // creation will restricted. If empty, any zone may be chosen.
-  repeated string zones = 5;
-
-  // The size of the boot disk. Defaults to 10 (GB).
-  int32 boot_disk_size_gb = 6;
-}
-
-// Parameters facilitate setting and delivering data into the
-// pipeline's execution environment. They are defined at create time,
-// with optional defaults, and can be overridden at run time.
-//
-// If `localCopy` is unset, then the parameter specifies a string that
-// is passed as-is into the pipeline, as the value of the environment
-// variable with the given name.  A default value can be optionally
-// specified at create time. The default can be overridden at run time
-// using the inputs map. If no default is given, a value must be
-// supplied at runtime.
-//
-// If `localCopy` is defined, then the parameter specifies a data
-// source or sink, both in Google Cloud Storage and on the Docker container
-// where the pipeline computation is run. The [service account associated with
-// the Pipeline][google.genomics.v1alpha2.RunPipelineArgs.service_account] (by
-// default the project's Compute Engine service account) must have access to the
-// Google Cloud Storage paths.
-//
-// At run time, the Google Cloud Storage paths can be overridden if a default
-// was provided at create time, or must be set otherwise. The pipeline runner
-// should add a key/value pair to either the inputs or outputs map. The
-// indicated data copies will be carried out before/after pipeline execution,
-// just as if the corresponding arguments were provided to `gsutil cp`.
-//
-// For example: Given the following `PipelineParameter`, specified
-// in the `inputParameters` list:
-//
-// ```
-// {name: "input_file", localCopy: {path: "file.txt", disk: "pd1"}}
-// ```
-//
-// where `disk` is defined in the `PipelineResources` object as:
-//
-// ```
-// {name: "pd1", mountPoint: "/mnt/disk/"}
-// ```
-//
-// We create a disk named `pd1`, mount it on the host VM, and map
-// `/mnt/pd1` to `/mnt/disk` in the docker container.  At
-// runtime, an entry for `input_file` would be required in the inputs
-// map, such as:
-//
-// ```
-//   inputs["input_file"] = "gs://my-bucket/bar.txt"
-// ```
-//
-// This would generate the following gsutil call:
-//
-// ```
-//   gsutil cp gs://my-bucket/bar.txt /mnt/pd1/file.txt
-// ```
-//
-// The file `/mnt/pd1/file.txt` maps to `/mnt/disk/file.txt` in the
-// Docker container. Acceptable paths are:
-//
-// <table>
-//   <thead>
-//     <tr><th>Google Cloud storage path</th><th>Local path</th></tr>
-//   </thead>
-//   <tbody>
-//     <tr><td>file</td><td>file</td></tr>
-//     <tr><td>glob</td><td>directory</td></tr>
-//   </tbody>
-// </table>
-//
-// For outputs, the direction of the copy is reversed:
-//
-// ```
-//   gsutil cp /mnt/disk/file.txt gs://my-bucket/bar.txt
-// ```
-//
-// Acceptable paths are:
-//
-// <table>
-//   <thead>
-//     <tr><th>Local path</th><th>Google Cloud Storage path</th></tr>
-//   </thead>
-//   <tbody>
-//     <tr><td>file</td><td>file</td></tr>
-//     <tr>
-//       <td>file</td>
-//       <td>directory - directory must already exist</td>
-//     </tr>
-//     <tr>
-//       <td>glob</td>
-//       <td>directory - directory will be created if it doesn't exist</td></tr>
-//   </tbody>
-// </table>
-//
-// One restriction due to docker limitations, is that for outputs that are found
-// on the boot disk, the local path cannot be a glob and must be a file.
-message PipelineParameter {
-  // LocalCopy defines how a remote file should be copied to and from the VM.
-  message LocalCopy {
-    // Required. The path within the user's docker container where
-    // this input should be localized to and from, relative to the specified
-    // disk's mount point. For example: file.txt,
-    string path = 1;
-
-    // Required. The name of the disk where this parameter is
-    // located. Can be the name of one of the disks specified in the
-    // Resources field, or "boot", which represents the Docker
-    // instance's boot disk and has a mount point of `/`.
-    string disk = 2;
-  }
-
-  // Required. Name of the parameter - the pipeline runner uses this string
-  // as the key to the input and output maps in RunPipeline.
-  string name = 1;
-
-  // Human-readable description.
-  string description = 2;
-
-  // The default value for this parameter. Can be overridden at runtime.
-  // If `localCopy` is present, then this must be a Google Cloud Storage path
-  // beginning with `gs://`.
-  string default_value = 5;
-
-  // If present, this parameter is marked for copying to and from the VM.
-  // `LocalCopy` indicates where on the VM the file should be. The value
-  // given to this parameter (either at runtime or using `defaultValue`)
-  // must be the remote path where the file should be.
-  LocalCopy local_copy = 6;
-}
-
-// The Docker execuctor specification.
-message DockerExecutor {
-  // Required. Image name from either Docker Hub or Google Container Repository.
-  // Users that run pipelines must have READ access to the image.
-  string image_name = 1;
-
-  // Required. The command string to run. Parameters that do not have
-  // `localCopy` specified should be used as environment variables, while
-  // those that do can be accessed at the defined paths.
-  string cmd = 2;
-}
diff --git a/googleapis/iam/admin/v1/iam.pb.go b/googleapis/iam/admin/v1/iam.pb.go
index 611db52bbe4b3dd6f21cc45897c418b9d297f857..48de66263941b3a5990aa915689f49f682ee0843 100644
--- a/googleapis/iam/admin/v1/iam.pb.go
+++ b/googleapis/iam/admin/v1/iam.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/iam/admin/v1/iam.proto
+// source: google/iam/admin/v1/iam.proto
 // DO NOT EDIT!
 
 /*
-Package google_iam_admin_v1 is a generated protocol buffer package.
+Package admin is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/iam/admin/v1/iam.proto
+	google/iam/admin/v1/iam.proto
 
 It has these top-level messages:
 	ServiceAccount
@@ -27,16 +27,16 @@ It has these top-level messages:
 	QueryGrantableRolesRequest
 	QueryGrantableRolesResponse
 */
-package google_iam_admin_v1 // import "google.golang.org/genproto/googleapis/iam/admin/v1"
+package admin
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_iam_v11 "google.golang.org/genproto/googleapis/iam/v1"
 import google_iam_v1 "google.golang.org/genproto/googleapis/iam/v1"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
-import _ "google.golang.org/genproto/protobuf"
+import _ "google.golang.org/genproto/protobuf/field_mask"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
 
 import (
@@ -223,6 +223,55 @@ func (m *ServiceAccount) String() string            { return proto.CompactTextSt
 func (*ServiceAccount) ProtoMessage()               {}
 func (*ServiceAccount) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *ServiceAccount) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ServiceAccount) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ServiceAccount) GetUniqueId() string {
+	if m != nil {
+		return m.UniqueId
+	}
+	return ""
+}
+
+func (m *ServiceAccount) GetEmail() string {
+	if m != nil {
+		return m.Email
+	}
+	return ""
+}
+
+func (m *ServiceAccount) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
+}
+
+func (m *ServiceAccount) GetEtag() []byte {
+	if m != nil {
+		return m.Etag
+	}
+	return nil
+}
+
+func (m *ServiceAccount) GetOauth2ClientId() string {
+	if m != nil {
+		return m.Oauth2ClientId
+	}
+	return ""
+}
+
 // The service account create request.
 type CreateServiceAccountRequest struct {
 	// Required. The resource name of the project associated with the service
@@ -244,6 +293,20 @@ func (m *CreateServiceAccountRequest) String() string            { return proto.
 func (*CreateServiceAccountRequest) ProtoMessage()               {}
 func (*CreateServiceAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *CreateServiceAccountRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *CreateServiceAccountRequest) GetAccountId() string {
+	if m != nil {
+		return m.AccountId
+	}
+	return ""
+}
+
 func (m *CreateServiceAccountRequest) GetServiceAccount() *ServiceAccount {
 	if m != nil {
 		return m.ServiceAccount
@@ -271,6 +334,27 @@ func (m *ListServiceAccountsRequest) String() string            { return proto.C
 func (*ListServiceAccountsRequest) ProtoMessage()               {}
 func (*ListServiceAccountsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *ListServiceAccountsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListServiceAccountsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListServiceAccountsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // The service account list response.
 type ListServiceAccountsResponse struct {
 	// The list of matching service accounts.
@@ -293,6 +377,13 @@ func (m *ListServiceAccountsResponse) GetAccounts() []*ServiceAccount {
 	return nil
 }
 
+func (m *ListServiceAccountsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The service account get request.
 type GetServiceAccountRequest struct {
 	// The resource name of the service account in the following format:
@@ -308,6 +399,13 @@ func (m *GetServiceAccountRequest) String() string            { return proto.Com
 func (*GetServiceAccountRequest) ProtoMessage()               {}
 func (*GetServiceAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *GetServiceAccountRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // The service account delete request.
 type DeleteServiceAccountRequest struct {
 	// The resource name of the service account in the following format:
@@ -323,6 +421,13 @@ func (m *DeleteServiceAccountRequest) String() string            { return proto.
 func (*DeleteServiceAccountRequest) ProtoMessage()               {}
 func (*DeleteServiceAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *DeleteServiceAccountRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // The service account keys list request.
 type ListServiceAccountKeysRequest struct {
 	// The resource name of the service account in the following format:
@@ -343,6 +448,20 @@ func (m *ListServiceAccountKeysRequest) String() string            { return prot
 func (*ListServiceAccountKeysRequest) ProtoMessage()               {}
 func (*ListServiceAccountKeysRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *ListServiceAccountKeysRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListServiceAccountKeysRequest) GetKeyTypes() []ListServiceAccountKeysRequest_KeyType {
+	if m != nil {
+		return m.KeyTypes
+	}
+	return nil
+}
+
 // The service account keys list response.
 type ListServiceAccountKeysResponse struct {
 	// The public keys for the service account.
@@ -380,6 +499,20 @@ func (m *GetServiceAccountKeyRequest) String() string            { return proto.
 func (*GetServiceAccountKeyRequest) ProtoMessage()               {}
 func (*GetServiceAccountKeyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *GetServiceAccountKeyRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *GetServiceAccountKeyRequest) GetPublicKeyType() ServiceAccountPublicKeyType {
+	if m != nil {
+		return m.PublicKeyType
+	}
+	return ServiceAccountPublicKeyType_TYPE_NONE
+}
+
 // Represents a service account key.
 //
 // A service account has two sets of key-pairs: user-managed, and
@@ -425,6 +558,41 @@ func (m *ServiceAccountKey) String() string            { return proto.CompactTex
 func (*ServiceAccountKey) ProtoMessage()               {}
 func (*ServiceAccountKey) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *ServiceAccountKey) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ServiceAccountKey) GetPrivateKeyType() ServiceAccountPrivateKeyType {
+	if m != nil {
+		return m.PrivateKeyType
+	}
+	return ServiceAccountPrivateKeyType_TYPE_UNSPECIFIED
+}
+
+func (m *ServiceAccountKey) GetKeyAlgorithm() ServiceAccountKeyAlgorithm {
+	if m != nil {
+		return m.KeyAlgorithm
+	}
+	return ServiceAccountKeyAlgorithm_KEY_ALG_UNSPECIFIED
+}
+
+func (m *ServiceAccountKey) GetPrivateKeyData() []byte {
+	if m != nil {
+		return m.PrivateKeyData
+	}
+	return nil
+}
+
+func (m *ServiceAccountKey) GetPublicKeyData() []byte {
+	if m != nil {
+		return m.PublicKeyData
+	}
+	return nil
+}
+
 func (m *ServiceAccountKey) GetValidAfterTime() *google_protobuf3.Timestamp {
 	if m != nil {
 		return m.ValidAfterTime
@@ -461,6 +629,27 @@ func (m *CreateServiceAccountKeyRequest) String() string            { return pro
 func (*CreateServiceAccountKeyRequest) ProtoMessage()               {}
 func (*CreateServiceAccountKeyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *CreateServiceAccountKeyRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *CreateServiceAccountKeyRequest) GetPrivateKeyType() ServiceAccountPrivateKeyType {
+	if m != nil {
+		return m.PrivateKeyType
+	}
+	return ServiceAccountPrivateKeyType_TYPE_UNSPECIFIED
+}
+
+func (m *CreateServiceAccountKeyRequest) GetKeyAlgorithm() ServiceAccountKeyAlgorithm {
+	if m != nil {
+		return m.KeyAlgorithm
+	}
+	return ServiceAccountKeyAlgorithm_KEY_ALG_UNSPECIFIED
+}
+
 // The service account key delete request.
 type DeleteServiceAccountKeyRequest struct {
 	// The resource name of the service account key in the following format:
@@ -476,6 +665,13 @@ func (m *DeleteServiceAccountKeyRequest) String() string            { return pro
 func (*DeleteServiceAccountKeyRequest) ProtoMessage()               {}
 func (*DeleteServiceAccountKeyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *DeleteServiceAccountKeyRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // The service account sign blob request.
 type SignBlobRequest struct {
 	// The resource name of the service account in the following format:
@@ -493,6 +689,20 @@ func (m *SignBlobRequest) String() string            { return proto.CompactTextS
 func (*SignBlobRequest) ProtoMessage()               {}
 func (*SignBlobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *SignBlobRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *SignBlobRequest) GetBytesToSign() []byte {
+	if m != nil {
+		return m.BytesToSign
+	}
+	return nil
+}
+
 // The service account sign blob response.
 type SignBlobResponse struct {
 	// The id of the key used to sign the blob.
@@ -506,6 +716,20 @@ func (m *SignBlobResponse) String() string            { return proto.CompactText
 func (*SignBlobResponse) ProtoMessage()               {}
 func (*SignBlobResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *SignBlobResponse) GetKeyId() string {
+	if m != nil {
+		return m.KeyId
+	}
+	return ""
+}
+
+func (m *SignBlobResponse) GetSignature() []byte {
+	if m != nil {
+		return m.Signature
+	}
+	return nil
+}
+
 // A role in the Identity and Access Management API.
 type Role struct {
 	// The name of the role.
@@ -528,6 +752,27 @@ func (m *Role) String() string            { return proto.CompactTextString(m) }
 func (*Role) ProtoMessage()               {}
 func (*Role) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
 
+func (m *Role) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Role) GetTitle() string {
+	if m != nil {
+		return m.Title
+	}
+	return ""
+}
+
+func (m *Role) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 // The grantable role query request.
 type QueryGrantableRolesRequest struct {
 	// Required. The full resource name to query from the list of grantable roles.
@@ -543,6 +788,13 @@ func (m *QueryGrantableRolesRequest) String() string            { return proto.C
 func (*QueryGrantableRolesRequest) ProtoMessage()               {}
 func (*QueryGrantableRolesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
 
+func (m *QueryGrantableRolesRequest) GetFullResourceName() string {
+	if m != nil {
+		return m.FullResourceName
+	}
+	return ""
+}
+
 // The grantable role query response.
 type QueryGrantableRolesResponse struct {
 	// The list of matching roles.
@@ -1135,115 +1387,112 @@ var _IAM_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/iam/admin/v1/iam.proto",
+	Metadata: "google/iam/admin/v1/iam.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/iam/admin/v1/iam.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/iam/admin/v1/iam.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1631 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x6f, 0x1b, 0xc7,
-	0x15, 0xf7, 0xe8, 0x8f, 0x2d, 0x3e, 0x51, 0x14, 0x35, 0xa2, 0x2d, 0x96, 0xb4, 0x0d, 0x75, 0x5b,
-	0xdb, 0x34, 0x61, 0x73, 0x29, 0x4a, 0x6e, 0x6d, 0xb9, 0x6e, 0x4b, 0x51, 0x34, 0xb1, 0xd5, 0x1f,
-	0xb3, 0x4b, 0x0a, 0xb6, 0xd0, 0x16, 0x8b, 0x21, 0x39, 0xa2, 0xb7, 0x5a, 0xee, 0xae, 0x77, 0x97,
-	0x42, 0xe9, 0xc2, 0x97, 0x1e, 0x7a, 0x31, 0x10, 0x20, 0x88, 0x0f, 0x39, 0x39, 0x40, 0x2e, 0xc9,
-	0x2d, 0x97, 0x00, 0x01, 0xf2, 0x35, 0x72, 0xc8, 0x39, 0x40, 0x80, 0x7c, 0x85, 0x1c, 0x83, 0x99,
-	0xdd, 0x95, 0x28, 0x72, 0x49, 0x2d, 0x83, 0x20, 0x17, 0x61, 0xe7, 0xbd, 0x79, 0xef, 0xfd, 0xde,
-	0x7b, 0x33, 0x6f, 0x7e, 0x22, 0xfc, 0xa9, 0x6d, 0x18, 0x6d, 0x8d, 0xe6, 0xda, 0x86, 0x46, 0xf4,
-	0x76, 0xce, 0xb0, 0xda, 0x62, 0x9b, 0xea, 0xa6, 0x65, 0x38, 0x86, 0xe8, 0xaa, 0x88, 0xa9, 0xda,
-	0xa2, 0x4a, 0x3a, 0x22, 0x69, 0x75, 0x54, 0x5d, 0x3c, 0x59, 0x63, 0x8b, 0x1c, 0xdf, 0x81, 0x97,
-	0x3d, 0x6b, 0x26, 0xe1, 0xea, 0xdc, 0xc9, 0x5a, 0x4a, 0x0a, 0xe7, 0x92, 0x98, 0xaa, 0x68, 0x53,
-	0xeb, 0x44, 0x6d, 0xd2, 0xa6, 0xa1, 0x1f, 0xa9, 0x6d, 0x91, 0xe8, 0xba, 0xe1, 0x10, 0x47, 0x35,
-	0x74, 0xdb, 0xf5, 0x9f, 0x7a, 0x12, 0x1e, 0x9d, 0x8b, 0x4b, 0x31, 0x0d, 0x4d, 0x6d, 0xf6, 0x3c,
-	0xf3, 0x47, 0x13, 0x99, 0x9f, 0x33, 0x5d, 0x6f, 0xab, 0xce, 0xcb, 0x6e, 0x23, 0xd7, 0x34, 0x3a,
-	0xa2, 0x6b, 0x2e, 0x72, 0x45, 0xa3, 0x7b, 0x24, 0x9a, 0x4e, 0xcf, 0xa4, 0xb6, 0x48, 0x3b, 0xa6,
-	0xd3, 0x73, 0xff, 0x7a, 0x46, 0x1b, 0x63, 0xe2, 0x9d, 0x5a, 0x1f, 0xa9, 0x54, 0x6b, 0x29, 0x1d,
-	0x62, 0x1f, 0x7b, 0x56, 0x8f, 0x2f, 0x0e, 0xe5, 0xa8, 0x1d, 0x6a, 0x3b, 0xa4, 0x63, 0x9e, 0x7d,
-	0xb9, 0xc6, 0xc2, 0xb7, 0x08, 0x62, 0x35, 0xb7, 0x8a, 0xc5, 0x66, 0xd3, 0xe8, 0xea, 0x0e, 0xc6,
-	0x30, 0xa3, 0x93, 0x0e, 0x4d, 0xa2, 0x55, 0x94, 0x89, 0xc8, 0xfc, 0x1b, 0xdf, 0x00, 0x30, 0x2d,
-	0xe3, 0xdf, 0xb4, 0xe9, 0x28, 0x6a, 0x2b, 0x39, 0xc5, 0x35, 0x11, 0x4f, 0x22, 0xb5, 0x70, 0x1a,
-	0x22, 0x5d, 0x5d, 0x7d, 0xd5, 0xa5, 0x4c, 0x3b, 0xc3, 0xb5, 0x73, 0xae, 0x40, 0x6a, 0xe1, 0x04,
-	0xcc, 0xd2, 0x0e, 0x51, 0xb5, 0xe4, 0x2c, 0x57, 0xb8, 0x0b, 0xfc, 0x5b, 0x88, 0xb6, 0x54, 0xdb,
-	0xd4, 0x48, 0x4f, 0xe1, 0xd1, 0x2e, 0x73, 0xe5, 0xbc, 0x27, 0xdb, 0x67, 0x41, 0x31, 0xcc, 0x50,
-	0x87, 0xb4, 0x93, 0x57, 0x56, 0x51, 0x26, 0x2a, 0xf3, 0x6f, 0x9c, 0x81, 0xb8, 0x41, 0xba, 0xce,
-	0xcb, 0x82, 0xd2, 0xd4, 0x54, 0xaa, 0x73, 0x38, 0x11, 0x6e, 0x1a, 0x73, 0xe5, 0x25, 0x2e, 0x96,
-	0x5a, 0xc2, 0x7b, 0x04, 0xe9, 0x92, 0x45, 0x89, 0x43, 0xcf, 0xe7, 0x27, 0xd3, 0x57, 0x5d, 0x6a,
-	0x8f, 0x4c, 0x93, 0xb8, 0xbb, 0xfa, 0xd2, 0xf4, 0x24, 0x52, 0x0b, 0xef, 0xc2, 0xa2, 0x77, 0xe2,
-	0x14, 0x4f, 0x98, 0x9c, 0x5e, 0x45, 0x99, 0xf9, 0xc2, 0xef, 0x72, 0x01, 0x07, 0x39, 0x37, 0x10,
-	0x37, 0x66, 0x9f, 0x5b, 0x0b, 0x1a, 0xa4, 0x76, 0x55, 0xdb, 0x39, 0xbf, 0xcb, 0x1e, 0x07, 0x2f,
-	0x0d, 0x11, 0x93, 0xb4, 0xa9, 0x62, 0xab, 0xaf, 0x29, 0x47, 0x37, 0x2b, 0xcf, 0x31, 0x41, 0x4d,
-	0x7d, 0xed, 0xb6, 0x88, 0x29, 0x1d, 0xe3, 0x98, 0xea, 0x1c, 0x17, 0x6b, 0x11, 0x69, 0xd3, 0x3a,
-	0x13, 0x08, 0xff, 0x47, 0x90, 0x0e, 0x0c, 0x67, 0x9b, 0x86, 0x6e, 0x53, 0xfc, 0x17, 0x98, 0xf3,
-	0x72, 0xb2, 0x93, 0x68, 0x75, 0x3a, 0x6c, 0x52, 0xa7, 0x46, 0xf8, 0x36, 0x2c, 0xea, 0xf4, 0x3f,
-	0x8e, 0xd2, 0x07, 0xc2, 0x2d, 0xe0, 0x02, 0x13, 0x57, 0x4f, 0x81, 0xe4, 0x20, 0x59, 0xa1, 0x4e,
-	0xe8, 0x9e, 0x08, 0x6b, 0x90, 0xde, 0xa6, 0x1a, 0x9d, 0xa0, 0x8d, 0xec, 0x50, 0xdf, 0x18, 0xce,
-	0x75, 0x87, 0xf6, 0xc6, 0x56, 0xf7, 0x39, 0x44, 0x8e, 0x69, 0x4f, 0xe1, 0x37, 0x26, 0x39, 0xb5,
-	0x3a, 0x9d, 0x89, 0x15, 0x36, 0x03, 0x4b, 0x30, 0xd6, 0x75, 0x6e, 0x87, 0xf6, 0xea, 0x3d, 0x93,
-	0xca, 0x73, 0xc7, 0xee, 0x87, 0x2d, 0x48, 0x70, 0xc5, 0x13, 0xe2, 0x24, 0x24, 0x76, 0xca, 0x87,
-	0x4a, 0xfd, 0xb0, 0x5a, 0x56, 0x0e, 0xf6, 0x6b, 0xd5, 0x72, 0x49, 0x7a, 0x2a, 0x95, 0xb7, 0xe3,
-	0x97, 0x70, 0x1c, 0xa2, 0x07, 0xb5, 0xb2, 0xac, 0xec, 0x15, 0xf7, 0x8b, 0x95, 0xf2, 0x76, 0x1c,
-	0x61, 0x0c, 0xb1, 0xda, 0x61, 0xad, 0x5e, 0xde, 0x3b, 0x95, 0x4d, 0x09, 0xff, 0x84, 0x9b, 0xa3,
-	0xa2, 0x7b, 0x7d, 0xdc, 0x84, 0x99, 0x63, 0xda, 0xf3, 0x7b, 0x78, 0x3b, 0x44, 0x0f, 0x77, 0x68,
-	0x4f, 0xe6, 0x36, 0xc2, 0x5b, 0x04, 0xe9, 0xa1, 0xde, 0x30, 0xf5, 0x98, 0xaa, 0xbd, 0x80, 0x45,
-	0xb3, 0xdb, 0xd0, 0xd4, 0xa6, 0xe2, 0x17, 0x8f, 0xb7, 0x3d, 0x56, 0xc8, 0x87, 0x08, 0x5d, 0xe5,
-	0x96, 0x7e, 0xc5, 0x16, 0xcc, 0xfe, 0xa5, 0xf0, 0xf5, 0x34, 0x2c, 0x0d, 0x41, 0x09, 0xc4, 0xf0,
-	0x0f, 0x88, 0x9b, 0x96, 0x7a, 0x42, 0x1c, 0x3a, 0x08, 0x62, 0x2d, 0x0c, 0x08, 0xd7, 0xd4, 0x47,
-	0x11, 0x33, 0xcf, 0xad, 0x71, 0x1d, 0x16, 0x98, 0x53, 0xa2, 0xb5, 0x0d, 0x4b, 0x75, 0x5e, 0x76,
-	0x92, 0x73, 0xdc, 0xb3, 0x18, 0xae, 0xb2, 0x45, 0xdf, 0x4c, 0x8e, 0x1e, 0xf7, 0xad, 0xd8, 0x1c,
-	0xeb, 0x87, 0xdc, 0x22, 0x0e, 0xe1, 0x77, 0x36, 0xda, 0x1f, 0x7f, 0x9b, 0x38, 0x84, 0xdd, 0xab,
-	0xbe, 0x02, 0xf3, 0x8d, 0xee, 0x40, 0x3c, 0x2b, 0x17, 0xdf, 0xb7, 0x0d, 0xf1, 0x13, 0xa2, 0xa9,
-	0x2d, 0x85, 0x1c, 0x39, 0xd4, 0x52, 0xd8, 0xa0, 0xe7, 0xa3, 0x78, 0xbe, 0x90, 0xf2, 0xa1, 0xfa,
-	0xcf, 0x42, 0xae, 0xee, 0xbf, 0x02, 0x72, 0x8c, 0xdb, 0x14, 0x99, 0x09, 0x13, 0xe2, 0xa7, 0xb0,
-	0xe4, 0x7a, 0x69, 0xd0, 0x23, 0xc3, 0xa2, 0xae, 0x9b, 0xd9, 0x0b, 0xdd, 0x2c, 0x72, 0xa3, 0x2d,
-	0x6e, 0xc3, 0xa4, 0xc2, 0x0f, 0x08, 0x6e, 0x06, 0x4d, 0xdf, 0x0b, 0x4e, 0xd3, 0xaf, 0xdb, 0xc9,
-	0xe9, 0x5f, 0xa0, 0x93, 0xc2, 0x06, 0xdc, 0x0c, 0x9a, 0x4f, 0xe3, 0x13, 0x15, 0x24, 0x58, 0xac,
-	0xa9, 0x6d, 0x7d, 0x4b, 0x33, 0x1a, 0xe3, 0xea, 0x21, 0xc0, 0x42, 0xa3, 0xe7, 0x50, 0x5b, 0x71,
-	0x0c, 0xc5, 0x56, 0xdb, 0xee, 0x48, 0x8d, 0xca, 0xf3, 0x5c, 0x58, 0x37, 0x98, 0x0b, 0xa1, 0x02,
-	0xf1, 0x33, 0x57, 0xde, 0x14, 0xb8, 0x0a, 0x97, 0x59, 0xaa, 0x6a, 0xcb, 0xf3, 0x36, 0x7b, 0x4c,
-	0x7b, 0x52, 0x0b, 0x5f, 0x87, 0x08, 0xf3, 0x42, 0x9c, 0xae, 0x45, 0x3d, 0x57, 0x67, 0x02, 0x41,
-	0x86, 0x19, 0xd9, 0xd0, 0x68, 0x20, 0x90, 0x04, 0xcc, 0x3a, 0xaa, 0xa3, 0x51, 0x6f, 0xa6, 0xbb,
-	0x0b, 0xbc, 0x0a, 0xf3, 0x2d, 0x6a, 0x37, 0x2d, 0xd5, 0x64, 0xac, 0xcb, 0x7b, 0x74, 0xfa, 0x45,
-	0xc2, 0xdf, 0x20, 0xf5, 0xf7, 0x2e, 0xb5, 0x7a, 0x15, 0x8b, 0xe8, 0x0e, 0x69, 0x68, 0x94, 0x45,
-	0x38, 0x1d, 0xc3, 0xf7, 0x00, 0x1f, 0x75, 0x35, 0x4d, 0xb1, 0xa8, 0x6d, 0x74, 0xad, 0x26, 0x55,
-	0xfa, 0xe2, 0xc6, 0x99, 0x46, 0xf6, 0x14, 0x8c, 0x0f, 0x08, 0xfb, 0x90, 0x0e, 0xf4, 0xe5, 0xe5,
-	0x2c, 0xc2, 0xac, 0xc5, 0x04, 0xde, 0xe8, 0xfb, 0x4d, 0x60, 0x5b, 0x99, 0x89, 0xec, 0xee, 0xcb,
-	0x12, 0x48, 0x8d, 0xee, 0x32, 0x5e, 0x81, 0x65, 0x36, 0xaa, 0x8b, 0xbb, 0x95, 0x81, 0x49, 0x9d,
-	0x80, 0xb8, 0xaf, 0x90, 0x6b, 0x45, 0x65, 0x2d, 0x5f, 0xd8, 0x88, 0xa3, 0x41, 0x69, 0x21, 0xbf,
-	0xf1, 0x30, 0x3e, 0x95, 0xd5, 0xe0, 0xfa, 0xb8, 0x23, 0xca, 0xac, 0x02, 0xde, 0x02, 0x5f, 0x5a,
-	0xdd, 0x29, 0xd5, 0xd6, 0x0a, 0xca, 0x53, 0x69, 0xb7, 0x1c, 0x47, 0x78, 0x15, 0xae, 0x73, 0x69,
-	0xe5, 0xd9, 0xb3, 0xca, 0x6e, 0x59, 0x29, 0xc9, 0xe5, 0xed, 0xf2, 0x7e, 0x5d, 0x2a, 0xee, 0xd6,
-	0xdc, 0x1d, 0x53, 0xd9, 0x7f, 0x41, 0x7a, 0xcc, 0x7c, 0xc5, 0x0b, 0x10, 0xe1, 0x0e, 0xf6, 0x9f,
-	0xed, 0x97, 0xe3, 0x97, 0xf0, 0x35, 0xc0, 0x7c, 0xf9, 0xe2, 0x41, 0xfe, 0x91, 0x52, 0x2d, 0xef,
-	0xf9, 0x71, 0x56, 0x60, 0x99, 0xcb, 0xe5, 0xe2, 0x73, 0xa5, 0x7a, 0xb0, 0xb5, 0x2b, 0x95, 0x94,
-	0x9d, 0xf2, 0x61, 0x7c, 0xaa, 0xf0, 0xdd, 0x12, 0x4c, 0x4b, 0xc5, 0x3d, 0xfc, 0x19, 0x82, 0xe5,
-	0x00, 0x2a, 0x81, 0xc5, 0x90, 0xaf, 0xa5, 0xdf, 0xfe, 0x54, 0x3e, 0xbc, 0x81, 0xdb, 0x63, 0xe1,
-	0xfe, 0xff, 0xbe, 0xf9, 0xfe, 0xa3, 0xa9, 0x3b, 0xf8, 0x16, 0x23, 0xdc, 0xff, 0x65, 0xa7, 0xe5,
-	0x89, 0xc7, 0x42, 0x6d, 0x31, 0xfb, 0x46, 0xb4, 0x07, 0x10, 0x7d, 0x8c, 0x60, 0x69, 0xe8, 0x41,
-	0xc3, 0xf7, 0x03, 0xc3, 0x8e, 0x22, 0x25, 0xa9, 0x30, 0x3c, 0x48, 0x10, 0x39, 0xb0, 0xbb, 0xf8,
-	0x4e, 0x10, 0xb0, 0x41, 0x5c, 0x62, 0xf6, 0x0d, 0xfe, 0x04, 0x41, 0x22, 0x68, 0x40, 0xe2, 0xe0,
-	0xa2, 0x8c, 0x61, 0xb2, 0xe1, 0x00, 0xe6, 0x39, 0xc0, 0xac, 0x10, 0xae, 0x72, 0x9b, 0x28, 0x8b,
-	0xdf, 0x21, 0x48, 0x1c, 0x98, 0xad, 0x61, 0x84, 0x61, 0xe2, 0x85, 0x03, 0x55, 0xe0, 0xa0, 0xee,
-	0xa5, 0xc2, 0x56, 0x8d, 0xc1, 0xfa, 0x10, 0x41, 0x22, 0x68, 0xe0, 0x8e, 0x28, 0xdc, 0x18, 0xee,
-	0x98, 0xba, 0x36, 0xf4, 0xa2, 0x95, 0xd9, 0x7f, 0x63, 0x7e, 0x33, 0xb3, 0xa1, 0x9b, 0xf9, 0x15,
-	0x82, 0x6b, 0xc1, 0xbc, 0x0c, 0x17, 0x26, 0xa7, 0x90, 0xa9, 0xf5, 0x89, 0x6c, 0xbc, 0xab, 0xb1,
-	0xc1, 0x41, 0xe7, 0xf0, 0xbd, 0x90, 0xa0, 0x45, 0x46, 0xf9, 0xf0, 0xe7, 0x08, 0x12, 0x41, 0x94,
-	0x6f, 0x44, 0x35, 0xc7, 0xb0, 0xc3, 0x54, 0x48, 0xae, 0x29, 0xfc, 0x81, 0x03, 0xcd, 0xe3, 0x5c,
-	0x38, 0xa0, 0x1c, 0x27, 0x2b, 0xf2, 0x17, 0x08, 0x56, 0x46, 0x50, 0x0a, 0xbc, 0x1e, 0xfa, 0xd2,
-	0xfc, 0x0c, 0xc0, 0x7f, 0xe4, 0x80, 0xd7, 0x84, 0x89, 0x2a, 0xcb, 0x8e, 0xea, 0x7b, 0x04, 0x2b,
-	0x23, 0xb8, 0xc1, 0x08, 0xc4, 0xe3, 0x99, 0xc4, 0xc8, 0x03, 0xeb, 0x95, 0x34, 0x3b, 0x69, 0x49,
-	0xdf, 0x21, 0x98, 0xf3, 0xb9, 0x03, 0xfe, 0x7d, 0x70, 0x39, 0xce, 0xb3, 0x94, 0xd4, 0xad, 0x0b,
-	0x76, 0x79, 0xa7, 0xf1, 0x31, 0x47, 0xf4, 0x40, 0xc8, 0x87, 0xbd, 0xd9, 0xb6, 0xe7, 0x81, 0xd5,
-	0xed, 0x2d, 0x82, 0x68, 0x85, 0x3a, 0x12, 0xe9, 0x54, 0xf9, 0x6f, 0x2a, 0x58, 0xe8, 0x0f, 0xea,
-	0x1e, 0xc3, 0x53, 0xa5, 0x0f, 0xec, 0xea, 0xc0, 0x1e, 0x57, 0x2b, 0xfc, 0x95, 0x03, 0xd9, 0x14,
-	0x1e, 0x72, 0x20, 0x3e, 0xd1, 0xb8, 0x00, 0x4c, 0xbb, 0x3f, 0xf8, 0x07, 0x08, 0xa2, 0xb5, 0x71,
-	0x68, 0x6a, 0xe1, 0xd1, 0x94, 0x38, 0x9a, 0x27, 0x93, 0xa1, 0xb1, 0xfb, 0xfc, 0xb3, 0xf2, 0x7c,
-	0x89, 0x00, 0xd7, 0xa9, 0xcd, 0x85, 0xd4, 0xea, 0xa8, 0xb6, 0xad, 0x1a, 0xba, 0x8d, 0x33, 0x03,
-	0x21, 0x87, 0xb7, 0xf8, 0xe0, 0xee, 0x86, 0xd8, 0xe9, 0xf5, 0x51, 0xe2, 0x80, 0x4b, 0xc2, 0x9f,
-	0x27, 0x01, 0xec, 0x0c, 0xf9, 0x63, 0xb0, 0x3f, 0x45, 0xb0, 0x1c, 0xc0, 0xdf, 0x46, 0xd0, 0x86,
-	0xd1, 0xac, 0x71, 0x04, 0x6d, 0x18, 0x43, 0x0d, 0x85, 0x0c, 0xcf, 0x42, 0x10, 0x6e, 0xb0, 0x2c,
-	0x38, 0xf9, 0xdb, 0x7c, 0x35, 0xbc, 0x7d, 0x13, 0x65, 0xb7, 0x32, 0xb0, 0xd2, 0x34, 0x3a, 0x41,
-	0x01, 0xb6, 0xe6, 0x58, 0x4a, 0xec, 0xde, 0x55, 0xd1, 0x8f, 0x08, 0x35, 0x2e, 0xf3, 0x3b, 0xb8,
-	0xfe, 0x53, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdf, 0xa1, 0xbb, 0xec, 0x02, 0x15, 0x00, 0x00,
+	// 1604 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4b, 0x6f, 0xdb, 0xc6,
+	0x16, 0xce, 0xf8, 0x91, 0x58, 0xc7, 0xb2, 0x2c, 0x8f, 0x95, 0x58, 0x57, 0xb2, 0x7d, 0x75, 0x79,
+	0x6f, 0x12, 0x47, 0x48, 0x24, 0x59, 0x71, 0xee, 0xcd, 0x75, 0x90, 0xb6, 0xb2, 0xac, 0x08, 0xac,
+	0x1f, 0x51, 0x29, 0x19, 0x89, 0xfb, 0x00, 0x31, 0x92, 0xc6, 0x0a, 0x6b, 0x8a, 0x64, 0x48, 0xca,
+	0xa8, 0x52, 0x64, 0xd3, 0x45, 0x37, 0x01, 0x0a, 0x14, 0xcd, 0xa2, 0xab, 0x14, 0xe8, 0xa6, 0xdd,
+	0x75, 0x53, 0xa0, 0x40, 0xff, 0x46, 0x17, 0x5d, 0x17, 0x28, 0xd0, 0xbf, 0xd0, 0x65, 0x31, 0x43,
+	0xd2, 0xd1, 0x83, 0x92, 0xe9, 0xa2, 0xe8, 0x8e, 0x73, 0x9e, 0xdf, 0x9c, 0x33, 0x73, 0xe6, 0x93,
+	0x60, 0xa5, 0xa5, 0xeb, 0x2d, 0x95, 0x66, 0x15, 0xd2, 0xce, 0x92, 0x66, 0x5b, 0xd1, 0xb2, 0x27,
+	0xeb, 0x6c, 0x91, 0x31, 0x4c, 0xdd, 0xd6, 0xf1, 0xa2, 0xa3, 0xce, 0x30, 0x09, 0x57, 0x67, 0x4e,
+	0xd6, 0x13, 0xcb, 0xae, 0x0f, 0x31, 0x94, 0x2c, 0xd1, 0x34, 0xdd, 0x26, 0xb6, 0xa2, 0x6b, 0x96,
+	0xe3, 0x92, 0x58, 0xed, 0x89, 0xe8, 0xc4, 0x92, 0x0d, 0x5d, 0x55, 0x1a, 0x5d, 0x57, 0x9f, 0xe8,
+	0xd7, 0xf7, 0xe9, 0x92, 0xae, 0x8e, 0xaf, 0xea, 0x9d, 0xa3, 0x2c, 0x6d, 0x1b, 0xb6, 0xa7, 0x4c,
+	0x0d, 0x2a, 0x8f, 0x14, 0xaa, 0x36, 0xe5, 0x36, 0xb1, 0x8e, 0x5d, 0x8b, 0x7f, 0x0e, 0x5a, 0xd8,
+	0x4a, 0x9b, 0x5a, 0x36, 0x69, 0x1b, 0x8e, 0x81, 0xf0, 0x33, 0x82, 0x48, 0x95, 0x9a, 0x27, 0x4a,
+	0x83, 0x16, 0x1a, 0x0d, 0xbd, 0xa3, 0xd9, 0x18, 0xc3, 0x94, 0x46, 0xda, 0x34, 0x8e, 0x52, 0x68,
+	0x2d, 0x24, 0xf1, 0x6f, 0xbc, 0x02, 0x60, 0x98, 0xfa, 0x87, 0xb4, 0x61, 0xcb, 0x4a, 0x33, 0x3e,
+	0xc1, 0x35, 0x21, 0x57, 0x22, 0x36, 0x71, 0x12, 0x42, 0x1d, 0x4d, 0x79, 0xda, 0xa1, 0x4c, 0x3b,
+	0xc5, 0xb5, 0x33, 0x8e, 0x40, 0x6c, 0xe2, 0x18, 0x4c, 0xd3, 0x36, 0x51, 0xd4, 0xf8, 0x34, 0x57,
+	0x38, 0x0b, 0xfc, 0x2f, 0x08, 0x37, 0x15, 0xcb, 0x50, 0x49, 0x57, 0xe6, 0xd9, 0x2e, 0x72, 0xe5,
+	0xac, 0x2b, 0xdb, 0x67, 0x49, 0x31, 0x4c, 0x51, 0x9b, 0xb4, 0xe2, 0x97, 0x52, 0x68, 0x2d, 0x2c,
+	0xf1, 0x6f, 0xbc, 0x06, 0x51, 0x9d, 0x74, 0xec, 0x27, 0x79, 0xb9, 0xa1, 0x2a, 0x54, 0xe3, 0x70,
+	0x42, 0xdc, 0x35, 0xe2, 0xc8, 0x8b, 0x5c, 0x2c, 0x36, 0x85, 0x57, 0x08, 0x92, 0x45, 0x93, 0x12,
+	0x9b, 0xf6, 0xef, 0x4f, 0xa2, 0x4f, 0x3b, 0xd4, 0x1a, 0xb9, 0x4d, 0xe2, 0x58, 0xf5, 0x6c, 0xd3,
+	0x95, 0x88, 0x4d, 0xbc, 0x0b, 0xf3, 0x96, 0x13, 0x4b, 0x76, 0x85, 0xf1, 0xc9, 0x14, 0x5a, 0x9b,
+	0xcd, 0xff, 0x3b, 0xe3, 0x73, 0x2a, 0x32, 0x03, 0x79, 0x23, 0x56, 0xdf, 0x5a, 0x50, 0x21, 0xb1,
+	0xab, 0x58, 0x76, 0xbf, 0x95, 0x35, 0x0e, 0x5e, 0x12, 0x42, 0x06, 0x69, 0x51, 0xd9, 0x52, 0x9e,
+	0x51, 0x8e, 0x6e, 0x5a, 0x9a, 0x61, 0x82, 0xaa, 0xf2, 0xcc, 0x69, 0x11, 0x53, 0xda, 0xfa, 0x31,
+	0xd5, 0x38, 0x2e, 0xd6, 0x22, 0xd2, 0xa2, 0x35, 0x26, 0x10, 0x3e, 0x45, 0x90, 0xf4, 0x4d, 0x67,
+	0x19, 0xba, 0x66, 0x51, 0xfc, 0x26, 0xcc, 0xb8, 0x7b, 0xb2, 0xe2, 0x28, 0x35, 0x19, 0x74, 0x53,
+	0xa7, 0x4e, 0xf8, 0x1a, 0xcc, 0x6b, 0xf4, 0x23, 0x5b, 0xee, 0x01, 0xe1, 0x14, 0x70, 0x8e, 0x89,
+	0x2b, 0xa7, 0x40, 0x32, 0x10, 0x2f, 0x53, 0x3b, 0x70, 0x4f, 0x84, 0x75, 0x48, 0x6e, 0x53, 0x95,
+	0x9e, 0xa3, 0x8d, 0xec, 0x50, 0xaf, 0x0c, 0xef, 0x75, 0x87, 0x76, 0xc7, 0x56, 0xf7, 0x11, 0x84,
+	0x8e, 0x69, 0x57, 0xb6, 0xbb, 0x06, 0xb5, 0xe2, 0x13, 0xa9, 0xc9, 0xb5, 0x48, 0x7e, 0xd3, 0xb7,
+	0x04, 0x63, 0x43, 0x67, 0x76, 0x68, 0xb7, 0xd6, 0x35, 0xa8, 0x34, 0x73, 0xec, 0x7c, 0x58, 0x82,
+	0x08, 0x97, 0x5c, 0x21, 0x8e, 0x43, 0x6c, 0xa7, 0x74, 0x28, 0xd7, 0x0e, 0x2b, 0x25, 0xf9, 0x60,
+	0xbf, 0x5a, 0x29, 0x15, 0xc5, 0x07, 0x62, 0x69, 0x3b, 0x7a, 0x01, 0x47, 0x21, 0x7c, 0x50, 0x2d,
+	0x49, 0xf2, 0x5e, 0x61, 0xbf, 0x50, 0x2e, 0x6d, 0x47, 0x11, 0xc6, 0x10, 0xa9, 0x1e, 0x56, 0x6b,
+	0xa5, 0xbd, 0x53, 0xd9, 0x84, 0xf0, 0x3e, 0xac, 0x8e, 0xca, 0xee, 0xf6, 0x71, 0x13, 0xa6, 0x8e,
+	0x69, 0xd7, 0xeb, 0xe1, 0xb5, 0x00, 0x3d, 0xdc, 0xa1, 0x5d, 0x89, 0xfb, 0x08, 0x2f, 0x10, 0x24,
+	0x87, 0x7a, 0xc3, 0xd4, 0x63, 0xaa, 0xf6, 0x18, 0xe6, 0x8d, 0x4e, 0x5d, 0x55, 0x1a, 0xb2, 0x57,
+	0x3c, 0xde, 0xf6, 0x48, 0x3e, 0x17, 0x20, 0x75, 0x85, 0x7b, 0x7a, 0x15, 0x9b, 0x33, 0x7a, 0x97,
+	0xc2, 0x8f, 0x93, 0xb0, 0x30, 0x04, 0xc5, 0x17, 0xc3, 0x7b, 0x10, 0x35, 0x4c, 0xe5, 0x84, 0xd8,
+	0x74, 0x10, 0xc4, 0x7a, 0x10, 0x10, 0x8e, 0xab, 0x87, 0x22, 0x62, 0xf4, 0xad, 0x71, 0x0d, 0xe6,
+	0x58, 0x50, 0xa2, 0xb6, 0x74, 0x53, 0xb1, 0x9f, 0xb4, 0xe3, 0x33, 0x3c, 0x72, 0x36, 0x58, 0x65,
+	0x0b, 0x9e, 0x9b, 0x14, 0x3e, 0xee, 0x59, 0xb1, 0x39, 0xd6, 0x0b, 0xb9, 0x49, 0x6c, 0xc2, 0xef,
+	0x6c, 0xb8, 0x37, 0xff, 0x36, 0xb1, 0x09, 0xbb, 0x57, 0x3d, 0x05, 0xe6, 0x86, 0xce, 0x40, 0x7c,
+	0x5d, 0x2e, 0x6e, 0xb7, 0x0d, 0xd1, 0x13, 0xa2, 0x2a, 0x4d, 0x99, 0x1c, 0xd9, 0xd4, 0x94, 0xd9,
+	0xa0, 0xe7, 0xa3, 0x78, 0x36, 0x9f, 0xf0, 0xa0, 0x7a, 0xaf, 0x40, 0xa6, 0xe6, 0xbd, 0x02, 0x52,
+	0x84, 0xfb, 0x14, 0x98, 0x0b, 0x13, 0xe2, 0x07, 0xb0, 0xe0, 0x44, 0xa9, 0xd3, 0x23, 0xdd, 0xa4,
+	0x4e, 0x98, 0xe9, 0x33, 0xc3, 0xcc, 0x73, 0xa7, 0x2d, 0xee, 0xc3, 0xa4, 0xc2, 0x6f, 0x08, 0x56,
+	0xfd, 0xa6, 0xef, 0x19, 0xa7, 0xe9, 0xef, 0xed, 0xe4, 0xe4, 0x5f, 0xd0, 0x49, 0x61, 0x03, 0x56,
+	0xfd, 0xe6, 0xd3, 0xf8, 0x8d, 0x0a, 0x22, 0xcc, 0x57, 0x95, 0x96, 0xb6, 0xa5, 0xea, 0xf5, 0x71,
+	0xf5, 0x10, 0x60, 0xae, 0xde, 0xb5, 0xa9, 0x25, 0xdb, 0xba, 0x6c, 0x29, 0x2d, 0x67, 0xa4, 0x86,
+	0xa5, 0x59, 0x2e, 0xac, 0xe9, 0x2c, 0x84, 0x50, 0x86, 0xe8, 0xeb, 0x50, 0xee, 0x14, 0xb8, 0x0c,
+	0x17, 0xd9, 0x56, 0x95, 0xa6, 0x1b, 0x6d, 0xfa, 0x98, 0x76, 0xc5, 0x26, 0x5e, 0x86, 0x10, 0x8b,
+	0x42, 0xec, 0x8e, 0x49, 0xdd, 0x50, 0xaf, 0x05, 0x82, 0x04, 0x53, 0x92, 0xae, 0x52, 0x5f, 0x20,
+	0x31, 0x98, 0xb6, 0x15, 0x5b, 0xa5, 0xee, 0x4c, 0x77, 0x16, 0x38, 0x05, 0xb3, 0x4d, 0x6a, 0x35,
+	0x4c, 0xc5, 0x60, 0x7c, 0xc7, 0x7d, 0x74, 0x7a, 0x45, 0xc2, 0xdb, 0x90, 0x78, 0xa7, 0x43, 0xcd,
+	0x6e, 0xd9, 0x24, 0x9a, 0x4d, 0xea, 0x2a, 0x65, 0x19, 0x4e, 0xc7, 0xf0, 0x4d, 0xc0, 0x47, 0x1d,
+	0x55, 0x95, 0x4d, 0x6a, 0xe9, 0x1d, 0xb3, 0x41, 0xe5, 0x9e, 0xbc, 0x51, 0xa6, 0x91, 0x5c, 0x05,
+	0xe3, 0x03, 0xc2, 0x3e, 0x24, 0x7d, 0x63, 0xb9, 0x7b, 0xce, 0xc2, 0xb4, 0xc9, 0x04, 0xee, 0xe8,
+	0xfb, 0x87, 0x6f, 0x5b, 0x99, 0x8b, 0xe4, 0xd8, 0xa5, 0x09, 0x24, 0x46, 0x77, 0x19, 0x2f, 0xc1,
+	0x22, 0x1b, 0xd5, 0x85, 0xdd, 0xf2, 0xc0, 0xa4, 0x8e, 0x41, 0xd4, 0x53, 0x48, 0xd5, 0x82, 0xbc,
+	0x9e, 0xcb, 0x6f, 0x44, 0xd1, 0xa0, 0x34, 0x9f, 0xdb, 0xb8, 0x1b, 0x9d, 0x48, 0xab, 0xb0, 0x3c,
+	0xee, 0x88, 0x32, 0x2f, 0x9f, 0xb7, 0xc0, 0x93, 0x56, 0x76, 0x8a, 0xd5, 0xf5, 0xbc, 0xfc, 0x40,
+	0xdc, 0x2d, 0x45, 0x11, 0x4e, 0xc1, 0x32, 0x97, 0x96, 0x1f, 0x3e, 0x2c, 0xef, 0x96, 0xe4, 0xa2,
+	0x54, 0xda, 0x2e, 0xed, 0xd7, 0xc4, 0xc2, 0x6e, 0xd5, 0xb1, 0x98, 0x48, 0x7f, 0x00, 0xc9, 0x31,
+	0xf3, 0x15, 0xcf, 0x41, 0x88, 0x07, 0xd8, 0x7f, 0xb8, 0x5f, 0x8a, 0x5e, 0xc0, 0x57, 0x00, 0xf3,
+	0xe5, 0xe3, 0x3b, 0xb9, 0xff, 0xcb, 0x95, 0xd2, 0x9e, 0x97, 0x67, 0x09, 0x16, 0xb9, 0x5c, 0x2a,
+	0x3c, 0x92, 0x2b, 0x07, 0x5b, 0xbb, 0x62, 0x51, 0xde, 0x29, 0x1d, 0x46, 0x27, 0xf2, 0xbf, 0x2c,
+	0xc0, 0xa4, 0x58, 0xd8, 0xc3, 0xdf, 0x20, 0x58, 0xf4, 0xa1, 0x12, 0x38, 0x1b, 0xf0, 0xb5, 0xf4,
+	0xda, 0x9f, 0xc8, 0x05, 0x77, 0x70, 0x7a, 0x2c, 0xdc, 0xfa, 0xe4, 0xa7, 0x5f, 0xbf, 0x98, 0xb8,
+	0x8e, 0xaf, 0x32, 0xa2, 0xfc, 0x31, 0x3b, 0x2d, 0xf7, 0x5d, 0x16, 0x6a, 0x65, 0xd3, 0xcf, 0xb3,
+	0xd6, 0x00, 0xa2, 0x2f, 0x11, 0x2c, 0x0c, 0x3d, 0x68, 0xf8, 0x96, 0x6f, 0xda, 0x51, 0xa4, 0x24,
+	0x11, 0x84, 0x07, 0x09, 0x59, 0x0e, 0xec, 0x06, 0xbe, 0xee, 0x07, 0x6c, 0x10, 0x57, 0x36, 0xfd,
+	0x1c, 0x7f, 0x85, 0x20, 0xe6, 0x37, 0x20, 0xb1, 0x7f, 0x51, 0xc6, 0x30, 0xd9, 0x60, 0x00, 0x73,
+	0x1c, 0x60, 0x5a, 0x08, 0x56, 0xb9, 0x4d, 0x94, 0xc6, 0x2f, 0x11, 0xc4, 0x0e, 0x8c, 0xe6, 0x30,
+	0xc2, 0x20, 0xf9, 0x82, 0x81, 0xca, 0x73, 0x50, 0x37, 0x13, 0x41, 0xab, 0xc6, 0x60, 0x7d, 0x8e,
+	0x20, 0xe6, 0x37, 0x70, 0x47, 0x14, 0x6e, 0x0c, 0x77, 0x4c, 0x5c, 0x19, 0x7a, 0xd1, 0x4a, 0xec,
+	0xd7, 0x95, 0xd7, 0xcc, 0x74, 0xe0, 0x66, 0xfe, 0x80, 0xe0, 0x8a, 0x3f, 0x2f, 0xc3, 0xf9, 0xf3,
+	0x53, 0xc8, 0xc4, 0xed, 0x73, 0xf9, 0xb8, 0x57, 0x63, 0x83, 0x83, 0xce, 0xe0, 0x9b, 0x01, 0x41,
+	0x67, 0x19, 0xe5, 0xc3, 0xdf, 0x22, 0x88, 0xf9, 0x51, 0xbe, 0x11, 0xd5, 0x1c, 0xc3, 0x0e, 0x13,
+	0x01, 0xb9, 0xa6, 0xf0, 0x5f, 0x0e, 0x34, 0x87, 0x33, 0xc1, 0x80, 0x72, 0x9c, 0xac, 0xc8, 0xdf,
+	0x21, 0x58, 0x1a, 0x41, 0x29, 0xf0, 0xed, 0xc0, 0x97, 0xe6, 0x4f, 0x00, 0xfe, 0x1f, 0x07, 0xbc,
+	0x2e, 0x9c, 0xab, 0xb2, 0xec, 0xa8, 0xbe, 0x42, 0xb0, 0x34, 0x82, 0x1b, 0x8c, 0x40, 0x3c, 0x9e,
+	0x49, 0x8c, 0x3c, 0xb0, 0x6e, 0x49, 0xd3, 0xe7, 0x2d, 0xe9, 0x4b, 0x04, 0x33, 0x1e, 0x77, 0xc0,
+	0xff, 0xf1, 0x2f, 0x47, 0x3f, 0x4b, 0x49, 0x5c, 0x3d, 0xc3, 0xca, 0x3d, 0x8d, 0xf7, 0x38, 0xa2,
+	0x3b, 0x42, 0x2e, 0xe8, 0xcd, 0xb6, 0xdc, 0x08, 0xac, 0x6e, 0x2f, 0x10, 0x84, 0xcb, 0xd4, 0x16,
+	0x49, 0xbb, 0xc2, 0xff, 0x0b, 0xc1, 0x42, 0x6f, 0x52, 0xe7, 0x18, 0x9e, 0x2a, 0x3d, 0x60, 0x97,
+	0x07, 0x6c, 0x1c, 0xad, 0xf0, 0x16, 0x07, 0xb2, 0x29, 0xdc, 0xe5, 0x40, 0x3c, 0xa2, 0x71, 0x06,
+	0x98, 0x56, 0x6f, 0xf2, 0xcf, 0x10, 0x84, 0xab, 0xe3, 0xd0, 0x54, 0x83, 0xa3, 0x29, 0x72, 0x34,
+	0xf7, 0xcf, 0x87, 0xc6, 0xea, 0x89, 0xcf, 0xca, 0xf3, 0x3d, 0x02, 0x5c, 0xa3, 0x16, 0x17, 0x52,
+	0xb3, 0xad, 0x58, 0x96, 0xa2, 0x6b, 0x16, 0x5e, 0x1b, 0x48, 0x39, 0x6c, 0xe2, 0x81, 0xbb, 0x11,
+	0xc0, 0xd2, 0xed, 0xa3, 0xc8, 0x01, 0x17, 0x85, 0x37, 0xce, 0x03, 0xd8, 0x1e, 0x8a, 0xc7, 0x60,
+	0x7f, 0x8d, 0x60, 0xd1, 0x87, 0xbf, 0x8d, 0xa0, 0x0d, 0xa3, 0x59, 0xe3, 0x08, 0xda, 0x30, 0x86,
+	0x1a, 0x0a, 0x6b, 0x7c, 0x17, 0x82, 0xb0, 0xc2, 0x76, 0xc1, 0xc9, 0xdf, 0xe6, 0xd3, 0x61, 0xf3,
+	0x4d, 0x94, 0xde, 0xaa, 0xc3, 0x52, 0x43, 0x6f, 0xfb, 0x25, 0xd8, 0x9a, 0x61, 0x5b, 0x62, 0xf7,
+	0xae, 0x82, 0xde, 0xbd, 0xeb, 0x1a, 0xb4, 0x74, 0x95, 0x68, 0xad, 0x8c, 0x6e, 0xb6, 0xb2, 0x2d,
+	0xaa, 0xf1, 0x5b, 0x99, 0x75, 0x54, 0xc4, 0x50, 0xac, 0xbe, 0xff, 0x10, 0xef, 0xf1, 0x8f, 0xdf,
+	0x11, 0xaa, 0x5f, 0xe4, 0x76, 0xb7, 0xff, 0x08, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xae, 0xd0, 0x13,
+	0x6a, 0x14, 0x00, 0x00,
 }
diff --git a/googleapis/iam/admin/v1/iam.proto b/googleapis/iam/admin/v1/iam.proto
deleted file mode 100644
index d7236dba9aeb04211ad64c8f5d6a27ab707c80e1..0000000000000000000000000000000000000000
--- a/googleapis/iam/admin/v1/iam.proto
+++ /dev/null
@@ -1,468 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.iam.admin.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/iam/v1/iam_policy.proto"; // from google/iam/v1/iam_policy.proto
-import "google.golang.org/genproto/googleapis/iam/v1/policy.proto"; // from google/iam/v1/policy.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "IamProto";
-option java_package = "com.google.iam.admin.v1";
-
-
-// Creates and manages service account objects.
-//
-// Service account is an account that belongs to your project instead
-// of to an individual end user. It is used to authenticate calls
-// to a Google API.
-//
-// To create a service account, specify the `project_id` and `account_id`
-// for the account.  The `account_id` is unique within the project, and used
-// to generate the service account email address and a stable
-// `unique_id`.
-//
-// All other methods can identify accounts using the format
-// `projects/{project}/serviceAccounts/{account}`.
-// Using `-` as a wildcard for the project will infer the project from
-// the account. The `account` value can be the `email` address or the
-// `unique_id` of the service account.
-service IAM {
-  // Lists [ServiceAccounts][google.iam.admin.v1.ServiceAccount] for a project.
-  rpc ListServiceAccounts(ListServiceAccountsRequest) returns (ListServiceAccountsResponse) {
-    option (google.api.http) = { get: "/v1/{name=projects/*}/serviceAccounts" };
-  }
-
-  // Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
-  rpc GetServiceAccount(GetServiceAccountRequest) returns (ServiceAccount) {
-    option (google.api.http) = { get: "/v1/{name=projects/*/serviceAccounts/*}" };
-  }
-
-  // Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount]
-  // and returns it.
-  rpc CreateServiceAccount(CreateServiceAccountRequest) returns (ServiceAccount) {
-    option (google.api.http) = { post: "/v1/{name=projects/*}/serviceAccounts" body: "*" };
-  }
-
-  // Updates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
-  //
-  // Currently, only the following fields are updatable:
-  // `display_name` .
-  // The `etag` is mandatory.
-  rpc UpdateServiceAccount(ServiceAccount) returns (ServiceAccount) {
-    option (google.api.http) = { put: "/v1/{name=projects/*/serviceAccounts/*}" body: "*" };
-  }
-
-  // Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
-  rpc DeleteServiceAccount(DeleteServiceAccountRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{name=projects/*/serviceAccounts/*}" };
-  }
-
-  // Lists [ServiceAccountKeys][google.iam.admin.v1.ServiceAccountKey].
-  rpc ListServiceAccountKeys(ListServiceAccountKeysRequest) returns (ListServiceAccountKeysResponse) {
-    option (google.api.http) = { get: "/v1/{name=projects/*/serviceAccounts/*}/keys" };
-  }
-
-  // Gets the [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]
-  // by key id.
-  rpc GetServiceAccountKey(GetServiceAccountKeyRequest) returns (ServiceAccountKey) {
-    option (google.api.http) = { get: "/v1/{name=projects/*/serviceAccounts/*/keys/*}" };
-  }
-
-  // Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]
-  // and returns it.
-  rpc CreateServiceAccountKey(CreateServiceAccountKeyRequest) returns (ServiceAccountKey) {
-    option (google.api.http) = { post: "/v1/{name=projects/*/serviceAccounts/*}/keys" body: "*" };
-  }
-
-  // Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
-  rpc DeleteServiceAccountKey(DeleteServiceAccountKeyRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{name=projects/*/serviceAccounts/*/keys/*}" };
-  }
-
-  // Signs a blob using a service account's system-managed private key.
-  rpc SignBlob(SignBlobRequest) returns (SignBlobResponse) {
-    option (google.api.http) = { post: "/v1/{name=projects/*/serviceAccounts/*}:signBlob" body: "*" };
-  }
-
-  // Returns the IAM access control policy for a
-  // [ServiceAccount][google.iam.admin.v1.ServiceAccount].
-  rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
-    option (google.api.http) = { post: "/v1/{resource=projects/*/serviceAccounts/*}:getIamPolicy" body: "" };
-  }
-
-  // Sets the IAM access control policy for a
-  // [ServiceAccount][google.iam.admin.v1.ServiceAccount].
-  rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
-    option (google.api.http) = { post: "/v1/{resource=projects/*/serviceAccounts/*}:setIamPolicy" body: "*" };
-  }
-
-  // Tests the specified permissions against the IAM access control policy
-  // for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
-  rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
-    option (google.api.http) = { post: "/v1/{resource=projects/*/serviceAccounts/*}:testIamPermissions" body: "*" };
-  }
-
-  // Queries roles that can be granted on a particular resource.
-  // A role is grantable if it can be used as the role in a binding for a policy
-  // for that resource.
-  rpc QueryGrantableRoles(QueryGrantableRolesRequest) returns (QueryGrantableRolesResponse) {
-    option (google.api.http) = { post: "/v1/roles:queryGrantableRoles" body: "*" };
-  }
-}
-
-// A service account in the Identity and Access Management API.
-//
-// To create a service account, specify the `project_id` and the `account_id`
-// for the account.  The `account_id` is unique within the project, and is used
-// to generate the service account email address and a stable
-// `unique_id`.
-//
-// If the account already exists, the account's resource name is returned
-// in util::Status's ResourceInfo.resource_name in the format of
-// projects/{project}/serviceAccounts/{email}. The caller can use the name in
-// other methods to access the account.
-//
-// All other methods can identify the service account using the format
-// `projects/{project}/serviceAccounts/{account}`.
-// Using `-` as a wildcard for the project will infer the project from
-// the account. The `account` value can be the `email` address or the
-// `unique_id` of the service account.
-message ServiceAccount {
-  // The resource name of the service account in the following format:
-  // `projects/{project}/serviceAccounts/{account}`.
-  //
-  // Requests using `-` as a wildcard for the project will infer the project
-  // from the `account` and the `account` value can be the `email` address or
-  // the `unique_id` of the service account.
-  //
-  // In responses the resource name will always be in the format
-  // `projects/{project}/serviceAccounts/{email}`.
-  string name = 1;
-
-  // @OutputOnly The id of the project that owns the service account.
-  string project_id = 2;
-
-  // @OutputOnly The unique and stable id of the service account.
-  string unique_id = 4;
-
-  // @OutputOnly The email address of the service account.
-  string email = 5;
-
-  // Optional. A user-specified description of the service account.  Must be
-  // fewer than 100 UTF-8 bytes.
-  string display_name = 6;
-
-  // Used to perform a consistent read-modify-write.
-  bytes etag = 7;
-
-  // @OutputOnly. The OAuth2 client id for the service account.
-  // This is used in conjunction with the OAuth2 clientconfig API to make
-  // three legged OAuth2 (3LO) flows to access the data of Google users.
-  string oauth2_client_id = 9;
-}
-
-// The service account create request.
-message CreateServiceAccountRequest {
-  // Required. The resource name of the project associated with the service
-  // accounts, such as `projects/my-project-123`.
-  string name = 1;
-
-  // Required. The account id that is used to generate the service account
-  // email address and a stable unique id. It is unique within a project,
-  // must be 6-30 characters long, and match the regular expression
-  // `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.
-  string account_id = 2;
-
-  // The [ServiceAccount][google.iam.admin.v1.ServiceAccount] resource to create.
-  // Currently, only the following values are user assignable:
-  // `display_name` .
-  ServiceAccount service_account = 3;
-}
-
-// The service account list request.
-message ListServiceAccountsRequest {
-  // Required. The resource name of the project associated with the service
-  // accounts, such as `projects/my-project-123`.
-  string name = 1;
-
-  // Optional limit on the number of service accounts to include in the
-  // response. Further accounts can subsequently be obtained by including the
-  // [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token]
-  // in a subsequent request.
-  int32 page_size = 2;
-
-  // Optional pagination token returned in an earlier
-  // [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token].
-  string page_token = 3;
-}
-
-// The service account list response.
-message ListServiceAccountsResponse {
-  // The list of matching service accounts.
-  repeated ServiceAccount accounts = 1;
-
-  // To retrieve the next page of results, set
-  // [ListServiceAccountsRequest.page_token][google.iam.admin.v1.ListServiceAccountsRequest.page_token]
-  // to this value.
-  string next_page_token = 2;
-}
-
-// The service account get request.
-message GetServiceAccountRequest {
-  // The resource name of the service account in the following format:
-  // `projects/{project}/serviceAccounts/{account}`.
-  // Using `-` as a wildcard for the project will infer the project from
-  // the account. The `account` value can be the `email` address or the
-  // `unique_id` of the service account.
-  string name = 1;
-}
-
-// The service account delete request.
-message DeleteServiceAccountRequest {
-  // The resource name of the service account in the following format:
-  // `projects/{project}/serviceAccounts/{account}`.
-  // Using `-` as a wildcard for the project will infer the project from
-  // the account. The `account` value can be the `email` address or the
-  // `unique_id` of the service account.
-  string name = 1;
-}
-
-// The service account keys list request.
-message ListServiceAccountKeysRequest {
-  // `KeyType` filters to selectively retrieve certain varieties
-  // of keys.
-  enum KeyType {
-    // Unspecified key type. The presence of this in the
-    // message will immediately result in an error.
-    KEY_TYPE_UNSPECIFIED = 0;
-
-    // User-managed keys (managed and rotated by the user).
-    USER_MANAGED = 1;
-
-    // System-managed keys (managed and rotated by Google).
-    SYSTEM_MANAGED = 2;
-  }
-
-  // The resource name of the service account in the following format:
-  // `projects/{project}/serviceAccounts/{account}`.
-  //
-  // Using `-` as a wildcard for the project, will infer the project from
-  // the account. The `account` value can be the `email` address or the
-  // `unique_id` of the service account.
-  string name = 1;
-
-  // Filters the types of keys the user wants to include in the list
-  // response. Duplicate key types are not allowed. If no key type
-  // is provided, all keys are returned.
-  repeated KeyType key_types = 2;
-}
-
-// The service account keys list response.
-message ListServiceAccountKeysResponse {
-  // The public keys for the service account.
-  repeated ServiceAccountKey keys = 1;
-}
-
-// The service account key get by id request.
-message GetServiceAccountKeyRequest {
-  // The resource name of the service account key in the following format:
-  // `projects/{project}/serviceAccounts/{account}/keys/{key}`.
-  //
-  // Using `-` as a wildcard for the project will infer the project from
-  // the account. The `account` value can be the `email` address or the
-  // `unique_id` of the service account.
-  string name = 1;
-
-  // The output format of the public key requested.
-  // X509_PEM is the default output format.
-  ServiceAccountPublicKeyType public_key_type = 2;
-}
-
-// Represents a service account key.
-//
-// A service account has two sets of key-pairs: user-managed, and
-// system-managed.
-//
-// User-managed key-pairs can be created and deleted by users.  Users are
-// responsible for rotating these keys periodically to ensure security of
-// their service accounts.  Users retain the private key of these key-pairs,
-// and Google retains ONLY the public key.
-//
-// System-managed key-pairs are managed automatically by Google, and rotated
-// daily without user intervention.  The private key never leaves Google's
-// servers to maximize security.
-//
-// Public keys for all service accounts are also published at the OAuth2
-// Service Account API.
-message ServiceAccountKey {
-  // The resource name of the service account key in the following format
-  // `projects/{project}/serviceAccounts/{account}/keys/{key}`.
-  string name = 1;
-
-  // The output format for the private key.
-  // Only provided in `CreateServiceAccountKey` responses, not
-  // in `GetServiceAccountKey` or `ListServiceAccountKey` responses.
-  //
-  // Google never exposes system-managed private keys, and never retains
-  // user-managed private keys.
-  ServiceAccountPrivateKeyType private_key_type = 2;
-
-  // Specifies the algorithm (and possibly key size) for the key.
-  ServiceAccountKeyAlgorithm key_algorithm = 8;
-
-  // The private key data. Only provided in `CreateServiceAccountKey`
-  // responses.
-  bytes private_key_data = 3;
-
-  // The public key data. Only provided in `GetServiceAccountKey` responses.
-  bytes public_key_data = 7;
-
-  // The key can be used after this timestamp.
-  google.protobuf.Timestamp valid_after_time = 4;
-
-  // The key can be used before this timestamp.
-  google.protobuf.Timestamp valid_before_time = 5;
-}
-
-// The service account key create request.
-message CreateServiceAccountKeyRequest {
-  // The resource name of the service account in the following format:
-  // `projects/{project}/serviceAccounts/{account}`.
-  // Using `-` as a wildcard for the project will infer the project from
-  // the account. The `account` value can be the `email` address or the
-  // `unique_id` of the service account.
-  string name = 1;
-
-  // The output format of the private key. `GOOGLE_CREDENTIALS_FILE` is the
-  // default output format.
-  ServiceAccountPrivateKeyType private_key_type = 2;
-
-  // Which type of key and algorithm to use for the key.
-  // The default is currently a 4K RSA key.  However this may change in the
-  // future.
-  ServiceAccountKeyAlgorithm key_algorithm = 3;
-}
-
-// The service account key delete request.
-message DeleteServiceAccountKeyRequest {
-  // The resource name of the service account key in the following format:
-  // `projects/{project}/serviceAccounts/{account}/keys/{key}`.
-  // Using `-` as a wildcard for the project will infer the project from
-  // the account. The `account` value can be the `email` address or the
-  // `unique_id` of the service account.
-  string name = 1;
-}
-
-// The service account sign blob request.
-message SignBlobRequest {
-  // The resource name of the service account in the following format:
-  // `projects/{project}/serviceAccounts/{account}`.
-  // Using `-` as a wildcard for the project will infer the project from
-  // the account. The `account` value can be the `email` address or the
-  // `unique_id` of the service account.
-  string name = 1;
-
-  // The bytes to sign.
-  bytes bytes_to_sign = 2;
-}
-
-// The service account sign blob response.
-message SignBlobResponse {
-  // The id of the key used to sign the blob.
-  string key_id = 1;
-
-  // The signed blob.
-  bytes signature = 2;
-}
-
-// A role in the Identity and Access Management API.
-message Role {
-  // The name of the role.
-  //
-  // When Role is used in CreateRole, the role name must not be set.
-  //
-  // When Role is used in output and other input such as UpdateRole, the role
-  // name is the complete path, e.g., roles/logging.viewer for curated roles
-  // and organizations/{organization-id}/roles/logging.viewer for custom roles.
-  string name = 1;
-
-  // Optional.  A human-readable title for the role.  Typically this
-  // is limited to 100 UTF-8 bytes.
-  string title = 2;
-
-  // Optional.  A human-readable description for the role.
-  string description = 3;
-}
-
-// The grantable role query request.
-message QueryGrantableRolesRequest {
-  // Required. The full resource name to query from the list of grantable roles.
-  //
-  // The name follows the Google Cloud Platform resource format.
-  // For example, a Cloud Platform project with id `my-project` will be named
-  // `//cloudresourcemanager.googleapis.com/projects/my-project`.
-  string full_resource_name = 1;
-}
-
-// The grantable role query response.
-message QueryGrantableRolesResponse {
-  // The list of matching roles.
-  repeated Role roles = 1;
-}
-
-// Supported key algorithms.
-enum ServiceAccountKeyAlgorithm {
-  // An unspecified key algorithm.
-  KEY_ALG_UNSPECIFIED = 0;
-
-  // 1k RSA Key.
-  KEY_ALG_RSA_1024 = 1;
-
-  // 2k RSA Key.
-  KEY_ALG_RSA_2048 = 2;
-}
-
-// Supported private key output formats.
-enum ServiceAccountPrivateKeyType {
-  // Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`.
-  TYPE_UNSPECIFIED = 0;
-
-  // PKCS12 format.
-  // The password for the PKCS12 file is `notasecret`.
-  // For more information, see https://tools.ietf.org/html/rfc7292.
-  TYPE_PKCS12_FILE = 1;
-
-  // Google Credentials File format.
-  TYPE_GOOGLE_CREDENTIALS_FILE = 2;
-}
-
-// Supported public key output formats.
-enum ServiceAccountPublicKeyType {
-  // Unspecified. Returns nothing here.
-  TYPE_NONE = 0;
-
-  // X509 PEM format.
-  TYPE_X509_PEM_FILE = 1;
-
-  // Raw public key.
-  TYPE_RAW_PUBLIC_KEY = 2;
-}
diff --git a/googleapis/iam/v1/iam_policy.pb.go b/googleapis/iam/v1/iam_policy.pb.go
index 5eb9eb0b9966fe85b62fa2ebd4717303b49852df..8f1ab89b109972282c47a3114b600730fd47fafd 100644
--- a/googleapis/iam/v1/iam_policy.pb.go
+++ b/googleapis/iam/v1/iam_policy.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/iam/v1/iam_policy.proto
+// source: google/iam/v1/iam_policy.proto
 // DO NOT EDIT!
 
 /*
-Package google_iam_v1 is a generated protocol buffer package.
+Package iam is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/iam/v1/iam_policy.proto
-	google.golang.org/genproto/googleapis/iam/v1/policy.proto
+	google/iam/v1/iam_policy.proto
+	google/iam/v1/policy.proto
 
 It has these top-level messages:
 	SetIamPolicyRequest
@@ -17,12 +17,12 @@ It has these top-level messages:
 	Policy
 	Binding
 */
-package google_iam_v1 // import "google.golang.org/genproto/googleapis/iam/v1"
+package iam
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -58,6 +58,13 @@ func (m *SetIamPolicyRequest) String() string            { return proto.CompactT
 func (*SetIamPolicyRequest) ProtoMessage()               {}
 func (*SetIamPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *SetIamPolicyRequest) GetResource() string {
+	if m != nil {
+		return m.Resource
+	}
+	return ""
+}
+
 func (m *SetIamPolicyRequest) GetPolicy() *Policy {
 	if m != nil {
 		return m.Policy
@@ -78,6 +85,13 @@ func (m *GetIamPolicyRequest) String() string            { return proto.CompactT
 func (*GetIamPolicyRequest) ProtoMessage()               {}
 func (*GetIamPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *GetIamPolicyRequest) GetResource() string {
+	if m != nil {
+		return m.Resource
+	}
+	return ""
+}
+
 // Request message for `TestIamPermissions` method.
 type TestIamPermissionsRequest struct {
 	// REQUIRED: The resource for which the policy detail is being requested.
@@ -96,6 +110,20 @@ func (m *TestIamPermissionsRequest) String() string            { return proto.Co
 func (*TestIamPermissionsRequest) ProtoMessage()               {}
 func (*TestIamPermissionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *TestIamPermissionsRequest) GetResource() string {
+	if m != nil {
+		return m.Resource
+	}
+	return ""
+}
+
+func (m *TestIamPermissionsRequest) GetPermissions() []string {
+	if m != nil {
+		return m.Permissions
+	}
+	return nil
+}
+
 // Response message for `TestIamPermissions` method.
 type TestIamPermissionsResponse struct {
 	// A subset of `TestPermissionsRequest.permissions` that the caller is
@@ -108,6 +136,13 @@ func (m *TestIamPermissionsResponse) String() string            { return proto.C
 func (*TestIamPermissionsResponse) ProtoMessage()               {}
 func (*TestIamPermissionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *TestIamPermissionsResponse) GetPermissions() []string {
+	if m != nil {
+		return m.Permissions
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*SetIamPolicyRequest)(nil), "google.iam.v1.SetIamPolicyRequest")
 	proto.RegisterType((*GetIamPolicyRequest)(nil), "google.iam.v1.GetIamPolicyRequest")
@@ -134,6 +169,8 @@ type IAMPolicyClient interface {
 	// set.
 	GetIamPolicy(ctx context.Context, in *GetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error)
 	// Returns permissions that a caller has on the specified resource.
+	// If the resource does not exist, this will return an empty set of
+	// permissions, not a NOT_FOUND error.
 	TestIamPermissions(ctx context.Context, in *TestIamPermissionsRequest, opts ...grpc.CallOption) (*TestIamPermissionsResponse, error)
 }
 
@@ -183,6 +220,8 @@ type IAMPolicyServer interface {
 	// set.
 	GetIamPolicy(context.Context, *GetIamPolicyRequest) (*Policy, error)
 	// Returns permissions that a caller has on the specified resource.
+	// If the resource does not exist, this will return an empty set of
+	// permissions, not a NOT_FOUND error.
 	TestIamPermissions(context.Context, *TestIamPermissionsRequest) (*TestIamPermissionsResponse, error)
 }
 
@@ -262,37 +301,36 @@ var _IAMPolicy_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/iam/v1/iam_policy.proto",
+	Metadata: "google/iam/v1/iam_policy.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/iam/v1/iam_policy.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/iam/v1/iam_policy.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 375 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x52, 0xcf, 0x4a, 0xc3, 0x30,
-	0x18, 0x27, 0x1b, 0x0c, 0x97, 0xa9, 0x60, 0x86, 0x30, 0x7b, 0x90, 0x12, 0x3d, 0x74, 0x05, 0x1b,
-	0x36, 0x4f, 0x0e, 0x26, 0xb8, 0xcb, 0xd8, 0x41, 0x18, 0xd3, 0x8b, 0x27, 0x8d, 0x25, 0x86, 0xc0,
-	0x9a, 0xd4, 0x26, 0x1b, 0x88, 0x78, 0xf1, 0x15, 0xf4, 0xe4, 0x6b, 0xf9, 0x0a, 0x3e, 0x84, 0x47,
-	0x69, 0x3b, 0x67, 0xb7, 0x4e, 0xe9, 0xc0, 0x53, 0x69, 0xf2, 0xfd, 0xfe, 0x7e, 0x81, 0x5d, 0xae,
-	0x14, 0x1f, 0x33, 0x8f, 0xab, 0x31, 0x95, 0xdc, 0x53, 0x11, 0x27, 0x9c, 0xc9, 0x30, 0x52, 0x46,
-	0x91, 0xf4, 0x8a, 0x86, 0x42, 0x13, 0x41, 0x03, 0x32, 0x6d, 0xc5, 0x9f, 0xeb, 0x50, 0x8d, 0x85,
-	0xff, 0xe0, 0x25, 0x23, 0x68, 0x6b, 0x06, 0x17, 0x34, 0xf0, 0xa6, 0x2d, 0x6b, 0x50, 0x8c, 0x8d,
-	0x86, 0x82, 0x68, 0x16, 0x4d, 0x85, 0xcf, 0x7c, 0x25, 0xef, 0x04, 0x27, 0x54, 0x4a, 0x65, 0xa8,
-	0x11, 0x4a, 0xea, 0x94, 0xd9, 0x3a, 0x59, 0xcb, 0x58, 0xd6, 0x14, 0xbe, 0x81, 0xf5, 0x0b, 0x66,
-	0x06, 0x34, 0x18, 0x26, 0xa7, 0x23, 0x76, 0x3f, 0x61, 0xda, 0x20, 0x0b, 0x6e, 0x44, 0x4c, 0xab,
-	0x49, 0xe4, 0xb3, 0x06, 0xb0, 0x81, 0x53, 0x1d, 0xcd, 0xff, 0xd1, 0x11, 0xac, 0xa4, 0x14, 0x8d,
-	0x92, 0x0d, 0x9c, 0x5a, 0x7b, 0xd7, 0x5b, 0x08, 0xe6, 0xcd, 0x98, 0x66, 0x43, 0xb8, 0x05, 0xeb,
-	0xfd, 0xf5, 0x14, 0xf0, 0x15, 0xdc, 0xbb, 0x64, 0x3a, 0xc1, 0xb0, 0x28, 0x10, 0x5a, 0xc7, 0x59,
-	0x8b, 0x58, 0xb3, 0x61, 0x2d, 0xfc, 0x41, 0x34, 0x4a, 0x76, 0xd9, 0xa9, 0x8e, 0xb2, 0x47, 0xf8,
-	0x14, 0x5a, 0xab, 0xa8, 0x75, 0xa8, 0xa4, 0xce, 0xe1, 0x41, 0x0e, 0xdf, 0x7e, 0x2d, 0xc3, 0xea,
-	0xe0, 0xec, 0x3c, 0xcd, 0x82, 0x0c, 0xdc, 0xcc, 0xb6, 0x87, 0xf0, 0x52, 0x15, 0x2b, 0xaa, 0xb5,
-	0x56, 0xd7, 0x85, 0x9b, 0xcf, 0xef, 0x1f, 0x2f, 0xa5, 0x03, 0xbc, 0x1f, 0xaf, 0xe8, 0xf1, 0x3b,
-	0x51, 0xd7, 0x75, 0x9f, 0x3a, 0x3a, 0xc3, 0xd2, 0x01, 0x6e, 0xac, 0xda, 0xff, 0x4b, 0xb5, 0xff,
-	0x2f, 0xaa, 0x7c, 0x49, 0xf5, 0x0d, 0x40, 0x94, 0xaf, 0x0e, 0x39, 0x4b, 0xc4, 0xbf, 0x2e, 0xce,
-	0x6a, 0x16, 0x98, 0x4c, 0xf7, 0x80, 0x49, 0x62, 0xab, 0x89, 0x0f, 0xf3, 0xb6, 0x4c, 0x0e, 0xd5,
-	0x01, 0x6e, 0xcf, 0x81, 0x3b, 0xbe, 0x0a, 0x16, 0x05, 0x7a, 0xdb, 0x73, 0xff, 0xc3, 0xf8, 0xad,
-	0x0f, 0xc1, 0x27, 0x00, 0xb7, 0x95, 0xe4, 0xdd, 0x1f, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x17,
-	0xc5, 0x32, 0xda, 0xcd, 0x03, 0x00, 0x00,
+	// 396 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x53, 0xcf, 0x4a, 0xe3, 0x40,
+	0x18, 0x67, 0x52, 0x28, 0xdb, 0xe9, 0xee, 0xc2, 0xa6, 0x2c, 0xd4, 0x20, 0x25, 0x8c, 0x1e, 0xd2,
+	0x80, 0x13, 0x53, 0x6f, 0x15, 0x05, 0xeb, 0x21, 0xf4, 0x20, 0x94, 0x2a, 0x82, 0x5e, 0x74, 0xac,
+	0x43, 0x18, 0x48, 0x32, 0x31, 0x33, 0x2d, 0x88, 0x78, 0xf1, 0x15, 0xf4, 0xe4, 0x23, 0xf8, 0x3a,
+	0xbe, 0x82, 0x0f, 0xe1, 0x51, 0x92, 0x89, 0x35, 0x6d, 0xaa, 0x54, 0xf0, 0x54, 0x3a, 0xf3, 0xfb,
+	0xf7, 0xfd, 0xbe, 0x0c, 0x6c, 0xf9, 0x9c, 0xfb, 0x01, 0x75, 0x18, 0x09, 0x9d, 0x89, 0x9b, 0xfe,
+	0x9c, 0xc5, 0x3c, 0x60, 0xa3, 0x6b, 0x1c, 0x27, 0x5c, 0x72, 0xfd, 0x8f, 0xba, 0xc7, 0x8c, 0x84,
+	0x78, 0xe2, 0x1a, 0xab, 0x39, 0x9c, 0xc4, 0xcc, 0x21, 0x51, 0xc4, 0x25, 0x91, 0x8c, 0x47, 0x42,
+	0x81, 0x0d, 0x63, 0x56, 0xac, 0x28, 0x84, 0xce, 0x61, 0xe3, 0x90, 0xca, 0x3e, 0x09, 0x07, 0xd9,
+	0xe9, 0x90, 0x5e, 0x8d, 0xa9, 0x90, 0xba, 0x01, 0x7f, 0x25, 0x54, 0xf0, 0x71, 0x32, 0xa2, 0x4d,
+	0x60, 0x02, 0xab, 0x36, 0x9c, 0xfe, 0xd7, 0x37, 0x60, 0x55, 0x49, 0x34, 0x35, 0x13, 0x58, 0xf5,
+	0xce, 0x7f, 0x3c, 0x13, 0x06, 0xe7, 0x4a, 0x39, 0x08, 0xb9, 0xb0, 0xe1, 0x7d, 0xcf, 0x01, 0x9d,
+	0xc0, 0x95, 0x23, 0x2a, 0x32, 0x0e, 0x4d, 0x42, 0x26, 0x44, 0x3a, 0xcc, 0x32, 0xd1, 0x4c, 0x58,
+	0x8f, 0x3f, 0x18, 0x4d, 0xcd, 0xac, 0x58, 0xb5, 0x61, 0xf1, 0x08, 0xed, 0x42, 0x63, 0x91, 0xb4,
+	0x88, 0x79, 0x24, 0x4a, 0x7c, 0x50, 0xe2, 0x77, 0x1e, 0x2a, 0xb0, 0xd6, 0xdf, 0x3b, 0x50, 0xb3,
+	0xe8, 0x12, 0xfe, 0x2e, 0xb6, 0xa7, 0xa3, 0xb9, 0x2a, 0x16, 0x54, 0x6b, 0x2c, 0xae, 0x0b, 0xb5,
+	0xef, 0x9e, 0x5f, 0xee, 0xb5, 0x35, 0xd4, 0x4a, 0x57, 0x74, 0xf3, 0x3e, 0xd1, 0x8e, 0x6d, 0xdf,
+	0x76, 0x45, 0x41, 0xa5, 0x0b, 0xec, 0xd4, 0xd5, 0xfb, 0xca, 0xd5, 0xfb, 0x11, 0x57, 0x7f, 0xce,
+	0xf5, 0x11, 0x40, 0xbd, 0x5c, 0x9d, 0x6e, 0xcd, 0x09, 0x7f, 0xba, 0x38, 0xa3, 0xbd, 0x04, 0x52,
+	0xed, 0x01, 0x39, 0x59, 0xac, 0x36, 0x5a, 0x2f, 0xc7, 0x92, 0x25, 0x56, 0x17, 0xd8, 0xbd, 0x18,
+	0xfe, 0x1b, 0xf1, 0x70, 0xd6, 0xa0, 0xf7, 0x77, 0x9a, 0x7f, 0x90, 0x7e, 0xeb, 0x03, 0x70, 0xba,
+	0x99, 0x03, 0x7c, 0x1e, 0x90, 0xc8, 0xc7, 0x3c, 0xf1, 0x1d, 0x9f, 0x46, 0xd9, 0x4b, 0x70, 0xd4,
+	0x15, 0x89, 0x99, 0xc8, 0x1f, 0xca, 0x36, 0x23, 0xe1, 0x2b, 0x00, 0x4f, 0x5a, 0xc3, 0x53, 0xac,
+	0xfd, 0x80, 0x8f, 0x2f, 0x71, 0x9f, 0x84, 0xf8, 0xd8, 0xbd, 0xa8, 0x66, 0xac, 0xad, 0xb7, 0x00,
+	0x00, 0x00, 0xff, 0xff, 0x6c, 0x3a, 0x2b, 0x4d, 0xaa, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/iam/v1/iam_policy.proto b/googleapis/iam/v1/iam_policy.proto
deleted file mode 100644
index ffc1e7142f7cffe4bceb66958a79793c04246aef..0000000000000000000000000000000000000000
--- a/googleapis/iam/v1/iam_policy.proto
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.iam.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/iam/v1/policy.proto"; // from google/iam/v1/policy.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "IamPolicyProto";
-option java_package = "com.google.iam.v1";
-
-
-// ## API Overview
-//
-// Manages Identity and Access Management (IAM) policies.
-//
-// Any implementation of an API that offers access control features
-// implements the google.iam.v1.IAMPolicy interface.
-//
-// ## Data model
-//
-// Access control is applied when a principal (user or service account), takes
-// some action on a resource exposed by a service. Resources, identified by
-// URI-like names, are the unit of access control specification. Service
-// implementations can choose the granularity of access control and the
-// supported permissions for their resources.
-// For example one database service may allow access control to be
-// specified only at the Table level, whereas another might allow access control
-// to also be specified at the Column level.
-//
-// ## Policy Structure
-//
-// See google.iam.v1.Policy
-//
-// This is intentionally not a CRUD style API because access control policies
-// are created and deleted implicitly with the resources to which they are
-// attached.
-service IAMPolicy {
-  // Sets the access control policy on the specified resource. Replaces any
-  // existing policy.
-  rpc SetIamPolicy(SetIamPolicyRequest) returns (Policy) {
-    option (google.api.http) = { post: "/v1/{resource=**}:setIamPolicy" body: "*" };
-  }
-
-  // Gets the access control policy for a resource.
-  // Returns an empty policy if the resource exists and does not have a policy
-  // set.
-  rpc GetIamPolicy(GetIamPolicyRequest) returns (Policy) {
-    option (google.api.http) = { post: "/v1/{resource=**}:getIamPolicy" body: "*" };
-  }
-
-  // Returns permissions that a caller has on the specified resource.
-  rpc TestIamPermissions(TestIamPermissionsRequest) returns (TestIamPermissionsResponse) {
-    option (google.api.http) = { post: "/v1/{resource=**}:testIamPermissions" body: "*" };
-  }
-}
-
-// Request message for `SetIamPolicy` method.
-message SetIamPolicyRequest {
-  // REQUIRED: The resource for which the policy is being specified.
-  // `resource` is usually specified as a path. For example, a Project
-  // resource is specified as `projects/{project}`.
-  string resource = 1;
-
-  // REQUIRED: The complete policy to be applied to the `resource`. The size of
-  // the policy is limited to a few 10s of KB. An empty policy is a
-  // valid policy but certain Cloud Platform services (such as Projects)
-  // might reject them.
-  Policy policy = 2;
-}
-
-// Request message for `GetIamPolicy` method.
-message GetIamPolicyRequest {
-  // REQUIRED: The resource for which the policy is being requested.
-  // `resource` is usually specified as a path. For example, a Project
-  // resource is specified as `projects/{project}`.
-  string resource = 1;
-}
-
-// Request message for `TestIamPermissions` method.
-message TestIamPermissionsRequest {
-  // REQUIRED: The resource for which the policy detail is being requested.
-  // `resource` is usually specified as a path. For example, a Project
-  // resource is specified as `projects/{project}`.
-  string resource = 1;
-
-  // The set of permissions to check for the `resource`. Permissions with
-  // wildcards (such as '*' or 'storage.*') are not allowed. For more
-  // information see
-  // [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
-  repeated string permissions = 2;
-}
-
-// Response message for `TestIamPermissions` method.
-message TestIamPermissionsResponse {
-  // A subset of `TestPermissionsRequest.permissions` that the caller is
-  // allowed.
-  repeated string permissions = 1;
-}
diff --git a/googleapis/iam/v1/policy.pb.go b/googleapis/iam/v1/policy.pb.go
index 9a908bf2b79a3f057fbd850ca66cef7ebdfbb89b..dd2554fb47d6639ccc3724025e973ee2965d4e25 100644
--- a/googleapis/iam/v1/policy.pb.go
+++ b/googleapis/iam/v1/policy.pb.go
@@ -1,12 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/iam/v1/policy.proto
+// source: google/iam/v1/policy.proto
 // DO NOT EDIT!
 
-package google_iam_v1 // import "google.golang.org/genproto/googleapis/iam/v1"
+package iam
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -69,6 +70,13 @@ func (m *Policy) String() string            { return proto.CompactTextString(m)
 func (*Policy) ProtoMessage()               {}
 func (*Policy) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *Policy) GetVersion() int32 {
+	if m != nil {
+		return m.Version
+	}
+	return 0
+}
+
 func (m *Policy) GetBindings() []*Binding {
 	if m != nil {
 		return m.Bindings
@@ -76,6 +84,13 @@ func (m *Policy) GetBindings() []*Binding {
 	return nil
 }
 
+func (m *Policy) GetEtag() []byte {
+	if m != nil {
+		return m.Etag
+	}
+	return nil
+}
+
 // Associates `members` with a `role`.
 type Binding struct {
 	// Role that is assigned to `members`.
@@ -94,6 +109,7 @@ type Binding struct {
 	// * `user:{emailid}`: An email address that represents a specific Google
 	//    account. For example, `alice@gmail.com` or `joe@example.com`.
 	//
+	//
 	// * `serviceAccount:{emailid}`: An email address that represents a service
 	//    account. For example, `my-other-app@appspot.gserviceaccount.com`.
 	//
@@ -112,29 +128,44 @@ func (m *Binding) String() string            { return proto.CompactTextString(m)
 func (*Binding) ProtoMessage()               {}
 func (*Binding) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
+func (m *Binding) GetRole() string {
+	if m != nil {
+		return m.Role
+	}
+	return ""
+}
+
+func (m *Binding) GetMembers() []string {
+	if m != nil {
+		return m.Members
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*Policy)(nil), "google.iam.v1.Policy")
 	proto.RegisterType((*Binding)(nil), "google.iam.v1.Binding")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/iam/v1/policy.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/iam/v1/policy.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 216 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x54, 0x8f, 0xc1, 0x6a, 0x03, 0x21,
-	0x18, 0x84, 0xb1, 0x9b, 0x26, 0x8d, 0x69, 0x0f, 0xf5, 0x50, 0x3c, 0x4a, 0xa0, 0xe0, 0x49, 0x49,
-	0x7a, 0x28, 0xbd, 0xee, 0x13, 0x2c, 0xbe, 0x81, 0x9b, 0xca, 0x8f, 0x45, 0xfd, 0x17, 0x0d, 0x0b,
-	0x7d, 0xf3, 0x1e, 0xcb, 0xba, 0xd9, 0xc0, 0xde, 0xfe, 0xe1, 0x1b, 0x9d, 0x19, 0xfa, 0x05, 0x88,
-	0x10, 0x9c, 0x02, 0x0c, 0x36, 0x81, 0xc2, 0x0c, 0x1a, 0x5c, 0x1a, 0x32, 0x5e, 0x51, 0xcf, 0xc8,
-	0x0e, 0xbe, 0x68, 0x6f, 0xa3, 0x1e, 0x4f, 0x7a, 0xc0, 0xe0, 0x2f, 0xbf, 0xaa, 0x62, 0xf6, 0x72,
-	0x7b, 0xea, 0x6d, 0x54, 0xe3, 0xe9, 0xf8, 0x43, 0xb7, 0x5d, 0xc5, 0x8c, 0xd3, 0xdd, 0xe8, 0x72,
-	0xf1, 0x98, 0x38, 0x11, 0x44, 0x3e, 0x9a, 0x45, 0xb2, 0x33, 0x7d, 0xea, 0x7d, 0xfa, 0xf6, 0x09,
-	0x0a, 0xdf, 0x88, 0x46, 0x1e, 0xce, 0x6f, 0x6a, 0xf5, 0x8b, 0x6a, 0x67, 0x6c, 0xee, 0x3e, 0xc6,
-	0xe8, 0xc6, 0x5d, 0x2d, 0xf0, 0x46, 0x10, 0xf9, 0x6c, 0xea, 0x7d, 0xfc, 0xa4, 0xbb, 0x9b, 0x71,
-	0xc2, 0x19, 0x83, 0xab, 0x49, 0x7b, 0x53, 0xef, 0xa9, 0x40, 0x74, 0xb1, 0x77, 0xb9, 0xf0, 0x07,
-	0xd1, 0xc8, 0xbd, 0x59, 0x64, 0xfb, 0x4e, 0x5f, 0x2f, 0x18, 0xd7, 0x99, 0xed, 0x61, 0xee, 0xdd,
-	0x4d, 0xab, 0x3a, 0xf2, 0x47, 0x48, 0xbf, 0xad, 0x0b, 0x3f, 0xfe, 0x03, 0x00, 0x00, 0xff, 0xff,
-	0xcc, 0x5d, 0xa8, 0xf7, 0x1e, 0x01, 0x00, 0x00,
+	// 261 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0x31, 0x4f, 0xc3, 0x30,
+	0x10, 0x85, 0xe5, 0xb6, 0xb4, 0xd4, 0x85, 0x81, 0x20, 0xa1, 0xa8, 0x62, 0x88, 0x3a, 0x65, 0xb2,
+	0x49, 0x19, 0x18, 0xd8, 0xc2, 0x80, 0xd8, 0xa2, 0x0c, 0x0c, 0x6c, 0x97, 0xd6, 0xb2, 0x0e, 0xc5,
+	0xbe, 0xc8, 0x0e, 0x91, 0xf8, 0x4b, 0xfc, 0x42, 0x46, 0x14, 0x3b, 0x45, 0xea, 0x76, 0xa7, 0xef,
+	0x3d, 0xbd, 0x7b, 0xc7, 0xb7, 0x9a, 0x48, 0xb7, 0x4a, 0x22, 0x18, 0x39, 0x14, 0xb2, 0xa3, 0x16,
+	0x0f, 0xdf, 0xa2, 0x73, 0xd4, 0x53, 0x72, 0x1d, 0x99, 0x40, 0x30, 0x62, 0x28, 0xb6, 0xf7, 0x93,
+	0x14, 0x3a, 0x94, 0x60, 0x2d, 0xf5, 0xd0, 0x23, 0x59, 0x1f, 0xc5, 0xbb, 0x4f, 0xbe, 0xac, 0x82,
+	0x39, 0x49, 0xf9, 0x6a, 0x50, 0xce, 0x23, 0xd9, 0x94, 0x65, 0x2c, 0xbf, 0xa8, 0x4f, 0x6b, 0xb2,
+	0xe7, 0x97, 0x0d, 0xda, 0x23, 0x5a, 0xed, 0xd3, 0x45, 0x36, 0xcf, 0x37, 0xfb, 0x3b, 0x71, 0x96,
+	0x21, 0xca, 0x88, 0xeb, 0x7f, 0x5d, 0x92, 0xf0, 0x85, 0xea, 0x41, 0xa7, 0xf3, 0x8c, 0xe5, 0x57,
+	0x75, 0x98, 0x77, 0x4f, 0x7c, 0x35, 0x09, 0x47, 0xec, 0xa8, 0x55, 0x21, 0x69, 0x5d, 0x87, 0x79,
+	0x3c, 0xc0, 0x28, 0xd3, 0x28, 0xe7, 0xd3, 0x59, 0x36, 0xcf, 0xd7, 0xf5, 0x69, 0x2d, 0x0d, 0xbf,
+	0x39, 0x90, 0x39, 0xcf, 0x2c, 0x37, 0xf1, 0xee, 0x6a, 0xac, 0x51, 0xb1, 0x8f, 0x87, 0x89, 0x6a,
+	0x6a, 0xc1, 0x6a, 0x41, 0x4e, 0x4b, 0xad, 0x6c, 0x28, 0x29, 0x23, 0x82, 0x0e, 0xfd, 0xf4, 0xb0,
+	0x67, 0x04, 0xf3, 0xcb, 0xd8, 0xcf, 0xec, 0xf6, 0x35, 0xba, 0x5e, 0x5a, 0xfa, 0x3a, 0x8a, 0x37,
+	0x30, 0xe2, 0xbd, 0x68, 0x96, 0xc1, 0xf5, 0xf8, 0x17, 0x00, 0x00, 0xff, 0xff, 0xf5, 0x02, 0xb8,
+	0xca, 0x65, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/iam/v1/policy.proto b/googleapis/iam/v1/policy.proto
deleted file mode 100644
index 74d79bb0acab2bdabbabde8781be42a45cf469d3..0000000000000000000000000000000000000000
--- a/googleapis/iam/v1/policy.proto
+++ /dev/null
@@ -1,108 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.iam.v1;
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "PolicyProto";
-option java_package = "com.google.iam.v1";
-
-
-// Defines an Identity and Access Management (IAM) policy. It is used to
-// specify access control policies for Cloud Platform resources.
-//
-//
-// A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
-// `members` to a `role`, where the members can be user accounts, Google groups,
-// Google domains, and service accounts. A `role` is a named list of permissions
-// defined by IAM.
-//
-// **Example**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/owner",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//             "serviceAccount:my-other-app@appspot.gserviceaccount.com",
-//           ]
-//         },
-//         {
-//           "role": "roles/viewer",
-//           "members": ["user:sean@example.com"]
-//         }
-//       ]
-//     }
-//
-// For a description of IAM and its features, see the
-// [IAM developer's guide](https://cloud.google.com/iam).
-message Policy {
-  // Version of the `Policy`. The default version is 0.
-  int32 version = 1;
-
-  // Associates a list of `members` to a `role`.
-  // Multiple `bindings` must not be specified for the same `role`.
-  // `bindings` with no members will result in an error.
-  repeated Binding bindings = 4;
-
-  // `etag` is used for optimistic concurrency control as a way to help
-  // prevent simultaneous updates of a policy from overwriting each other.
-  // It is strongly suggested that systems make use of the `etag` in the
-  // read-modify-write cycle to perform policy updates in order to avoid race
-  // conditions: An `etag` is returned in the response to `getIamPolicy`, and
-  // systems are expected to put that etag in the request to `setIamPolicy` to
-  // ensure that their change will be applied to the same version of the policy.
-  //
-  // If no `etag` is provided in the call to `setIamPolicy`, then the existing
-  // policy is overwritten blindly.
-  bytes etag = 3;
-}
-
-// Associates `members` with a `role`.
-message Binding {
-  // Role that is assigned to `members`.
-  // For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
-  // Required
-  string role = 1;
-
-  // Specifies the identities requesting access for a Cloud Platform resource.
-  // `members` can have the following values:
-  //
-  // * `allUsers`: A special identifier that represents anyone who is
-  //    on the internet; with or without a Google account.
-  //
-  // * `allAuthenticatedUsers`: A special identifier that represents anyone
-  //    who is authenticated with a Google account or a service account.
-  //
-  // * `user:{emailid}`: An email address that represents a specific Google
-  //    account. For example, `alice@gmail.com` or `joe@example.com`.
-  //
-  // * `serviceAccount:{emailid}`: An email address that represents a service
-  //    account. For example, `my-other-app@appspot.gserviceaccount.com`.
-  //
-  // * `group:{emailid}`: An email address that represents a Google group.
-  //    For example, `admins@example.com`.
-  //
-  // * `domain:{domain}`: A Google Apps domain name that represents all the
-  //    users of that domain. For example, `google.com` or `example.com`.
-  //
-  //
-  repeated string members = 2;
-}
diff --git a/googleapis/logging/type/http_request.pb.go b/googleapis/logging/type/http_request.pb.go
index eda476a3eba7ffc758b319eb83f704f8bf014262..f0aa78d580285b4084ef64f775e7ea6fbc774fa9 100644
--- a/googleapis/logging/type/http_request.pb.go
+++ b/googleapis/logging/type/http_request.pb.go
@@ -1,23 +1,23 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/logging/type/http_request.proto
+// source: google/logging/type/http_request.proto
 // DO NOT EDIT!
 
 /*
-Package google_logging_type is a generated protocol buffer package.
+Package ltype is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/logging/type/http_request.proto
-	google.golang.org/genproto/googleapis/logging/type/log_severity.proto
+	google/logging/type/http_request.proto
+	google/logging/type/log_severity.proto
 
 It has these top-level messages:
 	HttpRequest
 */
-package google_logging_type // import "google.golang.org/genproto/googleapis/logging/type"
+package ltype
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -84,6 +84,69 @@ func (m *HttpRequest) String() string            { return proto.CompactTextStrin
 func (*HttpRequest) ProtoMessage()               {}
 func (*HttpRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *HttpRequest) GetRequestMethod() string {
+	if m != nil {
+		return m.RequestMethod
+	}
+	return ""
+}
+
+func (m *HttpRequest) GetRequestUrl() string {
+	if m != nil {
+		return m.RequestUrl
+	}
+	return ""
+}
+
+func (m *HttpRequest) GetRequestSize() int64 {
+	if m != nil {
+		return m.RequestSize
+	}
+	return 0
+}
+
+func (m *HttpRequest) GetStatus() int32 {
+	if m != nil {
+		return m.Status
+	}
+	return 0
+}
+
+func (m *HttpRequest) GetResponseSize() int64 {
+	if m != nil {
+		return m.ResponseSize
+	}
+	return 0
+}
+
+func (m *HttpRequest) GetUserAgent() string {
+	if m != nil {
+		return m.UserAgent
+	}
+	return ""
+}
+
+func (m *HttpRequest) GetRemoteIp() string {
+	if m != nil {
+		return m.RemoteIp
+	}
+	return ""
+}
+
+func (m *HttpRequest) GetServerIp() string {
+	if m != nil {
+		return m.ServerIp
+	}
+	return ""
+}
+
+func (m *HttpRequest) GetReferer() string {
+	if m != nil {
+		return m.Referer
+	}
+	return ""
+}
+
 func (m *HttpRequest) GetLatency() *google_protobuf1.Duration {
 	if m != nil {
 		return m.Latency
@@ -91,45 +154,71 @@ func (m *HttpRequest) GetLatency() *google_protobuf1.Duration {
 	return nil
 }
 
-func init() {
-	proto.RegisterType((*HttpRequest)(nil), "google.logging.type.HttpRequest")
+func (m *HttpRequest) GetCacheLookup() bool {
+	if m != nil {
+		return m.CacheLookup
+	}
+	return false
+}
+
+func (m *HttpRequest) GetCacheHit() bool {
+	if m != nil {
+		return m.CacheHit
+	}
+	return false
+}
+
+func (m *HttpRequest) GetCacheValidatedWithOriginServer() bool {
+	if m != nil {
+		return m.CacheValidatedWithOriginServer
+	}
+	return false
+}
+
+func (m *HttpRequest) GetCacheFillBytes() int64 {
+	if m != nil {
+		return m.CacheFillBytes
+	}
+	return 0
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/type/http_request.proto", fileDescriptor0)
+	proto.RegisterType((*HttpRequest)(nil), "google.logging.type.HttpRequest")
 }
 
+func init() { proto.RegisterFile("google/logging/type/http_request.proto", fileDescriptor0) }
+
 var fileDescriptor0 = []byte{
-	// 482 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x92, 0x4d, 0x8f, 0xd3, 0x3c,
-	0x14, 0x85, 0x95, 0x77, 0x3e, 0xda, 0xba, 0x1f, 0x1a, 0xe5, 0x95, 0xc0, 0x0c, 0x02, 0xca, 0x20,
-	0xa4, 0x6c, 0x88, 0x25, 0x66, 0xc5, 0x92, 0x0a, 0xd0, 0x14, 0x81, 0x18, 0x65, 0x04, 0x2c, 0x23,
-	0x37, 0xbd, 0x75, 0x2c, 0x5c, 0xdb, 0xd8, 0x37, 0x83, 0x3a, 0x7f, 0x83, 0x3f, 0x8c, 0x6c, 0x27,
-	0x88, 0x05, 0x0b, 0x76, 0xf5, 0x73, 0xce, 0xb9, 0xbe, 0x3d, 0x31, 0x79, 0x2b, 0x8c, 0x11, 0x0a,
-	0x4a, 0x61, 0x14, 0xd7, 0xa2, 0x34, 0x4e, 0x30, 0x01, 0xda, 0x3a, 0x83, 0x86, 0x25, 0x89, 0x5b,
-	0xe9, 0x99, 0x32, 0x42, 0x48, 0x2d, 0x18, 0x1e, 0x2c, 0xb0, 0x16, 0xd1, 0xd6, 0x0e, 0xbe, 0x77,
-	0xe0, 0xb1, 0x8c, 0xd6, 0xfc, 0xff, 0x7e, 0x4c, 0xef, 0x2b, 0x83, 0xef, 0x7c, 0xfd, 0x6f, 0xb3,
-	0xb9, 0x95, 0xcc, 0x83, 0xbb, 0x95, 0x0d, 0x34, 0x46, 0xef, 0xa4, 0x60, 0x5c, 0x6b, 0x83, 0x1c,
-	0xa5, 0xd1, 0x3e, 0xcd, 0x3f, 0x7f, 0x25, 0x24, 0xb6, 0xdd, 0xa6, 0x6c, 0xcc, 0x9e, 0xa5, 0x71,
-	0x2c, 0x0a, 0x9b, 0x6e, 0xc7, 0x6c, 0xb8, 0xcc, 0xb3, 0x6d, 0xe7, 0x62, 0xe4, 0xf7, 0x8f, 0x14,
-	0xbd, 0xf8, 0x79, 0x4c, 0xa6, 0x57, 0x88, 0xb6, 0x4a, 0x0b, 0xe7, 0xcf, 0xc9, 0xa2, 0xdf, 0xbd,
-	0xde, 0x03, 0xb6, 0x66, 0x4b, 0xb3, 0x65, 0x56, 0x4c, 0xaa, 0x79, 0x4f, 0x3f, 0x46, 0x98, 0x3f,
-	0x21, 0xd3, 0xc1, 0xd6, 0x39, 0x45, 0xff, 0x8b, 0x1e, 0xd2, 0xa3, 0xcf, 0x4e, 0xe5, 0x4f, 0xc9,
-	0x6c, 0x30, 0x78, 0x79, 0x07, 0xf4, 0x68, 0x99, 0x15, 0x47, 0xd5, 0x10, 0xba, 0x91, 0x77, 0x90,
-	0xdf, 0x23, 0xa7, 0x1e, 0x39, 0x76, 0x9e, 0x1e, 0x2f, 0xb3, 0xe2, 0xa4, 0xea, 0x4f, 0xf9, 0x33,
-	0x32, 0x77, 0xe0, 0xad, 0xd1, 0x1e, 0x52, 0xf6, 0x24, 0x66, 0x67, 0x03, 0x8c, 0xe1, 0x47, 0x84,
-	0x74, 0x1e, 0x5c, 0xcd, 0x05, 0x68, 0xa4, 0xa7, 0xf1, 0xfe, 0x49, 0x20, 0xaf, 0x03, 0xc8, 0x1f,
-	0x92, 0x89, 0x83, 0xbd, 0x41, 0xa8, 0xa5, 0xa5, 0xa3, 0xa8, 0x8e, 0x13, 0x58, 0xdb, 0x20, 0x86,
-	0x46, 0xc1, 0x05, 0x71, 0x9e, 0xc4, 0x04, 0xd6, 0x36, 0xa7, 0x64, 0xe4, 0x60, 0x07, 0x0e, 0x1c,
-	0x1d, 0x47, 0x69, 0x38, 0xe6, 0x97, 0x64, 0xa4, 0x38, 0x82, 0x6e, 0x0e, 0x74, 0xb1, 0xcc, 0x8a,
-	0xe9, 0xcb, 0x07, 0x65, 0xff, 0x09, 0x87, 0xb2, 0xcb, 0x37, 0x7d, 0xb9, 0xd5, 0xe0, 0x0c, 0x3d,
-	0x34, 0xbc, 0x69, 0xa1, 0x56, 0xc6, 0x7c, 0xeb, 0x2c, 0x9d, 0x2e, 0xb3, 0x62, 0x5c, 0x4d, 0x23,
-	0xfb, 0x10, 0x51, 0x58, 0x27, 0x59, 0x5a, 0x89, 0x74, 0x12, 0xf5, 0x71, 0x04, 0x57, 0x12, 0xf3,
-	0xf7, 0xe4, 0x22, 0x89, 0xb7, 0x5c, 0xc9, 0x2d, 0x47, 0xd8, 0xd6, 0x3f, 0x24, 0xb6, 0xb5, 0x71,
-	0x52, 0x48, 0x5d, 0xa7, 0xb5, 0x29, 0x89, 0xa9, 0xc7, 0xd1, 0xf9, 0x65, 0x30, 0x7e, 0x95, 0xd8,
-	0x7e, 0x8a, 0xb6, 0x9b, 0xe8, 0xca, 0x0b, 0x72, 0x96, 0x66, 0xed, 0xa4, 0x52, 0xf5, 0xe6, 0x80,
-	0xe0, 0xe9, 0x2c, 0x76, 0xbb, 0x88, 0xfc, 0x9d, 0x54, 0x6a, 0x15, 0xe8, 0xea, 0x05, 0xb9, 0xdf,
-	0x98, 0x7d, 0xf9, 0x97, 0x67, 0xbb, 0x3a, 0xfb, 0xe3, 0xb5, 0x5c, 0x87, 0xff, 0x7d, 0x9d, 0x6d,
-	0x4e, 0x63, 0x01, 0x97, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x1c, 0x8f, 0x8c, 0x2f, 0x03,
-	0x00, 0x00,
+	// 488 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0x5b, 0x6b, 0x14, 0x31,
+	0x14, 0xc7, 0x99, 0x5e, 0xf6, 0x92, 0xbd, 0x50, 0x22, 0x68, 0x5a, 0xb5, 0xae, 0x15, 0x65, 0x9e,
+	0x66, 0xc0, 0xbe, 0x08, 0x3e, 0xb9, 0x8a, 0xb6, 0x52, 0xb1, 0x4c, 0xbd, 0x80, 0x2f, 0x43, 0x76,
+	0xf7, 0x6c, 0x26, 0x98, 0x9d, 0xc4, 0x24, 0x53, 0xd9, 0xbe, 0xfa, 0x11, 0xfc, 0x16, 0x7e, 0x4a,
+	0x99, 0x93, 0x0c, 0x28, 0xf4, 0x65, 0x21, 0xbf, 0xff, 0xef, 0x3f, 0x67, 0xf6, 0x4c, 0xc8, 0x33,
+	0xa1, 0xb5, 0x50, 0x90, 0x2b, 0x2d, 0x84, 0xac, 0x45, 0xee, 0xb7, 0x06, 0xf2, 0xca, 0x7b, 0x53,
+	0x5a, 0xf8, 0xd1, 0x80, 0xf3, 0x99, 0xb1, 0xda, 0x6b, 0x7a, 0x27, 0x78, 0x59, 0xf4, 0xb2, 0xd6,
+	0x3b, 0x7a, 0x10, 0xcb, 0xdc, 0xc8, 0x9c, 0xd7, 0xb5, 0xf6, 0xdc, 0x4b, 0x5d, 0xbb, 0x50, 0x39,
+	0x3a, 0x8e, 0x29, 0x9e, 0x16, 0xcd, 0x3a, 0x5f, 0x35, 0x16, 0x85, 0x90, 0x9f, 0xfc, 0xde, 0x23,
+	0xa3, 0x33, 0xef, 0x4d, 0x11, 0x06, 0xd1, 0xa7, 0x64, 0x1a, 0x67, 0x96, 0x1b, 0xf0, 0x95, 0x5e,
+	0xb1, 0x64, 0x96, 0xa4, 0xc3, 0x62, 0x12, 0xe9, 0x07, 0x84, 0xf4, 0x11, 0x19, 0x75, 0x5a, 0x63,
+	0x15, 0xdb, 0x41, 0x87, 0x44, 0xf4, 0xd9, 0x2a, 0xfa, 0x98, 0x8c, 0x3b, 0xc1, 0xc9, 0x1b, 0x60,
+	0xbb, 0xb3, 0x24, 0xdd, 0x2d, 0xba, 0xd2, 0x95, 0xbc, 0x01, 0x7a, 0x97, 0xf4, 0x9c, 0xe7, 0xbe,
+	0x71, 0x6c, 0x6f, 0x96, 0xa4, 0xfb, 0x45, 0x3c, 0xd1, 0x27, 0x64, 0x62, 0xc1, 0x19, 0x5d, 0x3b,
+	0x08, 0xdd, 0x7d, 0xec, 0x8e, 0x3b, 0x88, 0xe5, 0x87, 0x84, 0x34, 0x0e, 0x6c, 0xc9, 0x05, 0xd4,
+	0x9e, 0xf5, 0x70, 0xfe, 0xb0, 0x25, 0xaf, 0x5a, 0x40, 0xef, 0x93, 0xa1, 0x85, 0x8d, 0xf6, 0x50,
+	0x4a, 0xc3, 0xfa, 0x98, 0x0e, 0x02, 0x38, 0x37, 0x6d, 0xe8, 0xc0, 0x5e, 0x83, 0x6d, 0xc3, 0x49,
+	0x08, 0x03, 0x38, 0x37, 0x94, 0x91, 0xbe, 0x85, 0x35, 0x58, 0xb0, 0x6c, 0x80, 0x51, 0x77, 0xa4,
+	0xa7, 0xa4, 0xaf, 0xb8, 0x87, 0x7a, 0xb9, 0x65, 0xd3, 0x59, 0x92, 0x8e, 0x9e, 0x1f, 0x66, 0xf1,
+	0x7b, 0x74, 0xcb, 0xcd, 0xde, 0xc4, 0xe5, 0x16, 0x9d, 0xd9, 0xee, 0x61, 0xc9, 0x97, 0x15, 0x94,
+	0x4a, 0xeb, 0xef, 0x8d, 0x61, 0xa3, 0x59, 0x92, 0x0e, 0x8a, 0x11, 0xb2, 0x0b, 0x44, 0xed, 0xeb,
+	0x04, 0xa5, 0x92, 0x9e, 0x0d, 0x31, 0x1f, 0x20, 0x38, 0x93, 0x9e, 0xbe, 0x27, 0x27, 0x21, 0xbc,
+	0xe6, 0x4a, 0xae, 0xb8, 0x87, 0x55, 0xf9, 0x53, 0xfa, 0xaa, 0xd4, 0x56, 0x0a, 0x59, 0x97, 0xe1,
+	0xb5, 0x19, 0xc1, 0xd6, 0x31, 0x9a, 0x5f, 0x3a, 0xf1, 0xab, 0xf4, 0xd5, 0x47, 0xd4, 0xae, 0xd0,
+	0xa2, 0x29, 0x39, 0x08, 0xcf, 0x5a, 0x4b, 0xa5, 0xca, 0xc5, 0xd6, 0x83, 0x63, 0x63, 0xdc, 0xed,
+	0x14, 0xf9, 0x5b, 0xa9, 0xd4, 0xbc, 0xa5, 0xf3, 0x5f, 0x09, 0xb9, 0xb7, 0xd4, 0x9b, 0xec, 0x96,
+	0xfb, 0x36, 0x3f, 0xf8, 0xe7, 0xba, 0x5c, 0xb6, 0x7f, 0xfc, 0x32, 0xf9, 0xf6, 0x22, 0x8a, 0x42,
+	0x2b, 0x5e, 0x8b, 0x4c, 0x5b, 0x91, 0x0b, 0xa8, 0x71, 0x2d, 0x79, 0x88, 0xb8, 0x91, 0xee, 0xbf,
+	0xfb, 0xfd, 0x52, 0xb5, 0xbf, 0x7f, 0x76, 0x0e, 0xdf, 0x85, 0xea, 0x6b, 0xa5, 0x9b, 0x55, 0x76,
+	0x11, 0x27, 0x7d, 0xda, 0x1a, 0x58, 0xf4, 0xf0, 0x01, 0xa7, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff,
+	0x6f, 0xb5, 0x28, 0xee, 0x1f, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/logging/type/http_request.proto b/googleapis/logging/type/http_request.proto
deleted file mode 100644
index 34345b7a7da9503efb3bec769b5dcee50f26ec77..0000000000000000000000000000000000000000
--- a/googleapis/logging/type/http_request.proto
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.logging.type;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "HttpRequestProto";
-option java_package = "com.google.logging.type";
-
-
-// A common proto for logging HTTP requests. Only contains semantics
-// defined by the HTTP specification. Product-specific logging
-// information MUST be defined in a separate message.
-message HttpRequest {
-  // The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`.
-  string request_method = 1;
-
-  // The scheme (http, https), the host name, the path and the query
-  // portion of the URL that was requested.
-  // Example: `"http://example.com/some/info?color=red"`.
-  string request_url = 2;
-
-  // The size of the HTTP request message in bytes, including the request
-  // headers and the request body.
-  int64 request_size = 3;
-
-  // The response code indicating the status of response.
-  // Examples: 200, 404.
-  int32 status = 4;
-
-  // The size of the HTTP response message sent back to the client, in bytes,
-  // including the response headers and the response body.
-  int64 response_size = 5;
-
-  // The user agent sent by the client. Example:
-  // `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)"`.
-  string user_agent = 6;
-
-  // The IP address (IPv4 or IPv6) of the client that issued the HTTP
-  // request. Examples: `"192.168.1.1"`, `"FE80::0202:B3FF:FE1E:8329"`.
-  string remote_ip = 7;
-
-  // The IP address (IPv4 or IPv6) of the origin server that the request was
-  // sent to.
-  string server_ip = 13;
-
-  // The referer URL of the request, as defined in
-  // [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
-  string referer = 8;
-
-  // The request processing latency on the server, from the time the request was
-  // received until the response was sent.
-  google.protobuf.Duration latency = 14;
-
-  // Whether or not a cache lookup was attempted.
-  bool cache_lookup = 11;
-
-  // Whether or not an entity was served from cache
-  // (with or without validation).
-  bool cache_hit = 9;
-
-  // Whether or not the response was validated with the origin server before
-  // being served from cache. This field is only meaningful if `cache_hit` is
-  // True.
-  bool cache_validated_with_origin_server = 10;
-
-  // The number of HTTP response bytes inserted into cache. Set only when a
-  // cache fill was attempted.
-  int64 cache_fill_bytes = 12;
-}
diff --git a/googleapis/logging/type/log_severity.pb.go b/googleapis/logging/type/log_severity.pb.go
index 824c01d32bcb7c2362089024e7b8e6d4e778268d..36cbe9500e5c0e5bb770e627d5fa85ef7c702a8a 100644
--- a/googleapis/logging/type/log_severity.pb.go
+++ b/googleapis/logging/type/log_severity.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/logging/type/log_severity.proto
+// source: google/logging/type/log_severity.proto
 // DO NOT EDIT!
 
-package google_logging_type // import "google.golang.org/genproto/googleapis/logging/type"
+package ltype
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -85,28 +85,27 @@ func init() {
 	proto.RegisterEnum("google.logging.type.LogSeverity", LogSeverity_name, LogSeverity_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/type/log_severity.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/logging/type/log_severity.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 282 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x8f, 0x41, 0x4a, 0xfb, 0x40,
-	0x14, 0x87, 0xff, 0xfd, 0xb7, 0x49, 0xcd, 0x8b, 0xca, 0x30, 0x2e, 0x04, 0x8f, 0x20, 0x98, 0x59,
-	0x78, 0x82, 0x24, 0x9d, 0x86, 0x81, 0x98, 0x94, 0x31, 0x45, 0x5c, 0x49, 0x8c, 0xe3, 0x30, 0x10,
-	0xe7, 0x85, 0x24, 0x14, 0xba, 0xf5, 0x04, 0x1e, 0xc1, 0x03, 0x78, 0x04, 0x0f, 0xe0, 0x11, 0x3c,
-	0x88, 0x07, 0x90, 0xb4, 0x59, 0xb8, 0x70, 0xe1, 0x72, 0xf8, 0x7d, 0x7c, 0xf3, 0x3d, 0xe0, 0x1a,
-	0x51, 0xd7, 0x2a, 0xd0, 0x58, 0x97, 0x56, 0x07, 0xd8, 0x6a, 0xa6, 0x95, 0x6d, 0x5a, 0xec, 0x91,
-	0xed, 0xa7, 0xb2, 0x31, 0x1d, 0xab, 0x51, 0x6b, 0x63, 0x35, 0xeb, 0xb7, 0x8d, 0x1a, 0x1e, 0x77,
-	0x9d, 0xda, 0xa8, 0xd6, 0xf4, 0xdb, 0x60, 0x87, 0xd2, 0x93, 0x51, 0x33, 0x72, 0xc1, 0xc0, 0x9d,
-	0x89, 0xbf, 0xb9, 0xcb, 0xc6, 0xb0, 0x4e, 0xb5, 0x1b, 0x53, 0xa9, 0x0a, 0xed, 0xa3, 0xd1, 0xac,
-	0xb4, 0x16, 0xfb, 0xb2, 0x37, 0x68, 0xbb, 0xbd, 0xff, 0xfc, 0x79, 0x02, 0x7e, 0x8a, 0xfa, 0x7a,
-	0xfc, 0x95, 0xfa, 0x30, 0x5f, 0xf0, 0x65, 0xb8, 0x4e, 0x0b, 0xf2, 0x8f, 0x7a, 0xe0, 0x2c, 0x78,
-	0xb4, 0x4e, 0xc8, 0x03, 0xf5, 0x60, 0x26, 0xb2, 0x65, 0x4e, 0x3e, 0x26, 0xd4, 0x07, 0x37, 0xcb,
-	0x0b, 0x11, 0x73, 0xf2, 0xf6, 0x9f, 0x1e, 0xc2, 0xfc, 0x26, 0x94, 0x99, 0xc8, 0x12, 0xf2, 0x32,
-	0xa5, 0x00, 0x0e, 0x97, 0x32, 0x97, 0xe4, 0x6b, 0x4a, 0x8f, 0xe0, 0x20, 0x96, 0xa2, 0x10, 0x71,
-	0x98, 0x92, 0xcf, 0xd9, 0x30, 0x85, 0x29, 0x97, 0x05, 0x79, 0x77, 0xe8, 0x31, 0x78, 0xfc, 0x8a,
-	0xcb, 0x84, 0x67, 0xf1, 0x2d, 0x79, 0x75, 0xa3, 0x0b, 0x38, 0xad, 0xf0, 0x29, 0xf8, 0xe5, 0xd4,
-	0x88, 0xfc, 0x88, 0x5b, 0x0d, 0xc5, 0xab, 0xc9, 0xbd, 0xbb, 0x4b, 0xbf, 0xfc, 0x0e, 0x00, 0x00,
-	0xff, 0xff, 0x01, 0xa8, 0xad, 0x71, 0x63, 0x01, 0x00, 0x00,
+	// 297 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4b, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0xcf, 0xc9, 0x4f, 0x4f, 0xcf, 0xcc, 0x4b, 0xd7, 0x2f, 0xa9, 0x2c, 0x00, 0x73,
+	0xe2, 0x8b, 0x53, 0xcb, 0x52, 0x8b, 0x32, 0x4b, 0x2a, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85,
+	0x84, 0x21, 0xea, 0xf4, 0xa0, 0xea, 0xf4, 0x40, 0xea, 0xa4, 0x64, 0xa0, 0x9a, 0x13, 0x0b, 0x32,
+	0xf5, 0x13, 0xf3, 0xf2, 0xf2, 0x4b, 0x12, 0x4b, 0x32, 0xf3, 0xf3, 0x8a, 0x21, 0x5a, 0xb4, 0x9a,
+	0x18, 0xb9, 0xb8, 0x7d, 0xf2, 0xd3, 0x83, 0xa1, 0x06, 0x09, 0x71, 0x73, 0xb1, 0xbb, 0xb8, 0xba,
+	0x39, 0x86, 0xfa, 0x84, 0x08, 0x30, 0x08, 0x71, 0x72, 0xb1, 0xba, 0xb8, 0x3a, 0x85, 0xba, 0x0b,
+	0xa4, 0x08, 0x71, 0x72, 0xb1, 0x78, 0xfa, 0xb9, 0xf9, 0x0b, 0x9c, 0x60, 0x14, 0xe2, 0xe6, 0x62,
+	0xf3, 0xf3, 0x0f, 0xf1, 0x74, 0x76, 0x15, 0x58, 0xc3, 0x24, 0xc4, 0xc3, 0xc5, 0x1e, 0xee, 0x18,
+	0xe4, 0xe7, 0xe9, 0xe7, 0x2e, 0x30, 0x81, 0x59, 0x88, 0x8b, 0x8b, 0xd5, 0x35, 0x28, 0xc8, 0x3f,
+	0x48, 0xe0, 0x0b, 0xb3, 0x10, 0x2f, 0x17, 0x87, 0x73, 0x90, 0x67, 0x88, 0xa7, 0xb3, 0xa3, 0x8f,
+	0xc0, 0x0d, 0x16, 0x90, 0x94, 0xa3, 0x8f, 0x6b, 0x50, 0x88, 0xc0, 0x1e, 0x56, 0x21, 0x3e, 0x2e,
+	0x4e, 0x57, 0x5f, 0xd7, 0x20, 0x77, 0x57, 0x3f, 0xe7, 0x48, 0x81, 0x05, 0x6c, 0x4e, 0xcd, 0x8c,
+	0x5c, 0xe2, 0xc9, 0xf9, 0xb9, 0x7a, 0x58, 0x9c, 0xef, 0x24, 0x80, 0xe4, 0xba, 0x00, 0x90, 0x93,
+	0x03, 0x18, 0xa3, 0x2c, 0xa0, 0x0a, 0xd3, 0xf3, 0x73, 0x12, 0xf3, 0xd2, 0xf5, 0xf2, 0x8b, 0xd2,
+	0xf5, 0xd3, 0x53, 0xf3, 0xc0, 0x1e, 0xd2, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xa3, 0x04, 0x97,
+	0x75, 0x0e, 0x88, 0x5c, 0xc5, 0x24, 0xe9, 0x0e, 0xd1, 0xea, 0x9c, 0x93, 0x5f, 0x9a, 0xa2, 0xe7,
+	0x03, 0xb5, 0x29, 0xa4, 0xb2, 0x20, 0x35, 0x89, 0x0d, 0x6c, 0x80, 0x31, 0x20, 0x00, 0x00, 0xff,
+	0xff, 0x1b, 0x91, 0x99, 0x37, 0x6e, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/logging/type/log_severity.proto b/googleapis/logging/type/log_severity.proto
deleted file mode 100644
index bcb451ac39160283c856de13ce55c7179abd60d4..0000000000000000000000000000000000000000
--- a/googleapis/logging/type/log_severity.proto
+++ /dev/null
@@ -1,69 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.logging.type;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "LogSeverityProto";
-option java_package = "com.google.logging.type";
-
-
-// The severity of the event described in a log entry, expressed as one of the
-// standard severity levels listed below.  For your reference, the levels are
-// assigned the listed numeric values. The effect of using numeric values other
-// than those listed is undefined.
-//
-// You can filter for log entries by severity.  For example, the following
-// filter expression will match log entries with severities `INFO`, `NOTICE`,
-// and `WARNING`:
-//
-//     severity > DEBUG AND severity <= WARNING
-//
-// If you are writing log entries, you should map other severity encodings to
-// one of these standard levels. For example, you might map all of Java's FINE,
-// FINER, and FINEST levels to `LogSeverity.DEBUG`. You can preserve the
-// original severity level in the log entry payload if you wish.
-enum LogSeverity {
-  // (0) The log entry has no assigned severity level.
-  DEFAULT = 0;
-
-  // (100) Debug or trace information.
-  DEBUG = 100;
-
-  // (200) Routine information, such as ongoing status or performance.
-  INFO = 200;
-
-  // (300) Normal but significant events, such as start up, shut down, or
-  // a configuration change.
-  NOTICE = 300;
-
-  // (400) Warning events might cause problems.
-  WARNING = 400;
-
-  // (500) Error events are likely to cause problems.
-  ERROR = 500;
-
-  // (600) Critical events cause more severe problems or outages.
-  CRITICAL = 600;
-
-  // (700) A person must take an action immediately.
-  ALERT = 700;
-
-  // (800) One or more systems are unusable.
-  EMERGENCY = 800;
-}
diff --git a/googleapis/logging/v2/log_entry.pb.go b/googleapis/logging/v2/log_entry.pb.go
index 069a7bdc5662fe9ebe55868d6a598b0c8e9544d9..be85190cd6fa930ec0588ccac54ba3dbf03d138f 100644
--- a/googleapis/logging/v2/log_entry.pb.go
+++ b/googleapis/logging/v2/log_entry.pb.go
@@ -1,19 +1,29 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/logging/v2/log_entry.proto
+// source: google/logging/v2/log_entry.proto
 // DO NOT EDIT!
 
 /*
-Package v2 is a generated protocol buffer package.
+Package logging is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/logging/v2/log_entry.proto
-	google.golang.org/genproto/googleapis/logging/v2/logging_config.proto
-	google.golang.org/genproto/googleapis/logging/v2/logging_metrics.proto
-	google.golang.org/genproto/googleapis/logging/v2/logging.proto
+	google/logging/v2/log_entry.proto
+	google/logging/v2/logging.proto
+	google/logging/v2/logging_config.proto
+	google/logging/v2/logging_metrics.proto
 
 It has these top-level messages:
 	LogEntry
 	LogEntryOperation
+	LogEntrySourceLocation
+	DeleteLogRequest
+	WriteLogEntriesRequest
+	WriteLogEntriesResponse
+	ListLogEntriesRequest
+	ListLogEntriesResponse
+	ListMonitoredResourceDescriptorsRequest
+	ListMonitoredResourceDescriptorsResponse
+	ListLogsRequest
+	ListLogsResponse
 	LogSink
 	ListSinksRequest
 	ListSinksResponse
@@ -28,20 +38,13 @@ It has these top-level messages:
 	CreateLogMetricRequest
 	UpdateLogMetricRequest
 	DeleteLogMetricRequest
-	DeleteLogRequest
-	WriteLogEntriesRequest
-	WriteLogEntriesResponse
-	ListLogEntriesRequest
-	ListLogEntriesResponse
-	ListMonitoredResourceDescriptorsRequest
-	ListMonitoredResourceDescriptorsResponse
 */
-package v2 // import "google.golang.org/genproto/googleapis/logging/v2"
+package logging
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_api3 "google.golang.org/genproto/googleapis/api/monitoredres"
 import google_logging_type "google.golang.org/genproto/googleapis/logging/type"
 import google_logging_type1 "google.golang.org/genproto/googleapis/logging/type"
@@ -62,17 +65,22 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 
 // An individual entry in a log.
 type LogEntry struct {
-	// Required. The resource name of the log to which this log entry
-	// belongs. The format of the name is
-	// `"projects/<project-id>/logs/<log-id>"`.  Examples:
-	// `"projects/my-projectid/logs/syslog"`,
-	// `"projects/my-projectid/logs/library.googleapis.com%2Fbook_log"`.
+	// Required. The resource name of the log to which this log entry belongs:
+	//
+	//     "projects/[PROJECT_ID]/logs/[LOG_ID]"
+	//     "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
 	//
-	// The log ID part of resource name must be less than 512 characters
-	// long and can only include the following characters: upper and
-	// lower case alphanumeric characters: [A-Za-z0-9]; and punctuation
-	// characters: forward-slash, underscore, hyphen, and period.
-	// Forward-slash (`/`) characters in the log ID must be URL-encoded.
+	// `[LOG_ID]` must be URL-encoded within `log_name`. Example:
+	// `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`.
+	// `[LOG_ID]` must be less than 512 characters long and can only include the
+	// following characters: upper and lower case alphanumeric characters,
+	// forward-slash, underscore, hyphen, and period.
+	//
+	// For backward compatibility, if `log_name` begins with a forward-slash, such
+	// as `/projects/...`, then the log entry is ingested as usual but the
+	// forward-slash is removed. Listing the log entry will not show the leading
+	// slash and filtering for a log name with a leading slash will never return
+	// any results.
 	LogName string `protobuf:"bytes,12,opt,name=log_name,json=logName" json:"log_name,omitempty"`
 	// Required. The monitored resource associated with this log entry.
 	// Example: a log entry that reports a database error would be
@@ -107,6 +115,14 @@ type LogEntry struct {
 	// Optional. Information about an operation associated with the log entry, if
 	// applicable.
 	Operation *LogEntryOperation `protobuf:"bytes,15,opt,name=operation" json:"operation,omitempty"`
+	// Optional. Resource name of the trace associated with the log entry, if any.
+	// If it contains a relative resource name, the name is assumed to be relative
+	// to `//tracing.googleapis.com`. Example:
+	// `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824`
+	Trace string `protobuf:"bytes,22,opt,name=trace" json:"trace,omitempty"`
+	// Optional. Source code location information associated with the log entry,
+	// if any.
+	SourceLocation *LogEntrySourceLocation `protobuf:"bytes,23,opt,name=source_location,json=sourceLocation" json:"source_location,omitempty"`
 }
 
 func (m *LogEntry) Reset()                    { *m = LogEntry{} }
@@ -139,6 +155,13 @@ func (m *LogEntry) GetPayload() isLogEntry_Payload {
 	return nil
 }
 
+func (m *LogEntry) GetLogName() string {
+	if m != nil {
+		return m.LogName
+	}
+	return ""
+}
+
 func (m *LogEntry) GetResource() *google_api3.MonitoredResource {
 	if m != nil {
 		return m.Resource
@@ -174,6 +197,20 @@ func (m *LogEntry) GetTimestamp() *google_protobuf4.Timestamp {
 	return nil
 }
 
+func (m *LogEntry) GetSeverity() google_logging_type1.LogSeverity {
+	if m != nil {
+		return m.Severity
+	}
+	return google_logging_type1.LogSeverity_DEFAULT
+}
+
+func (m *LogEntry) GetInsertId() string {
+	if m != nil {
+		return m.InsertId
+	}
+	return ""
+}
+
 func (m *LogEntry) GetHttpRequest() *google_logging_type.HttpRequest {
 	if m != nil {
 		return m.HttpRequest
@@ -195,6 +232,20 @@ func (m *LogEntry) GetOperation() *LogEntryOperation {
 	return nil
 }
 
+func (m *LogEntry) GetTrace() string {
+	if m != nil {
+		return m.Trace
+	}
+	return ""
+}
+
+func (m *LogEntry) GetSourceLocation() *LogEntrySourceLocation {
+	if m != nil {
+		return m.SourceLocation
+	}
+	return nil
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*LogEntry) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _LogEntry_OneofMarshaler, _LogEntry_OneofUnmarshaler, _LogEntry_OneofSizer, []interface{}{
@@ -305,54 +356,129 @@ func (m *LogEntryOperation) String() string            { return proto.CompactTex
 func (*LogEntryOperation) ProtoMessage()               {}
 func (*LogEntryOperation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *LogEntryOperation) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *LogEntryOperation) GetProducer() string {
+	if m != nil {
+		return m.Producer
+	}
+	return ""
+}
+
+func (m *LogEntryOperation) GetFirst() bool {
+	if m != nil {
+		return m.First
+	}
+	return false
+}
+
+func (m *LogEntryOperation) GetLast() bool {
+	if m != nil {
+		return m.Last
+	}
+	return false
+}
+
+// Additional information about the source code location that produced the log
+// entry.
+type LogEntrySourceLocation struct {
+	// Optional. Source file name. Depending on the runtime environment, this
+	// might be a simple name or a fully-qualified name.
+	File string `protobuf:"bytes,1,opt,name=file" json:"file,omitempty"`
+	// Optional. Line within the source file. 1-based; 0 indicates no line number
+	// available.
+	Line int64 `protobuf:"varint,2,opt,name=line" json:"line,omitempty"`
+	// Optional. Human-readable name of the function or method being invoked, with
+	// optional context such as the class or package name. This information may be
+	// used in contexts such as the logs viewer, where a file and line number are
+	// less meaningful. The format can vary by language. For example:
+	// `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function`
+	// (Python).
+	Function string `protobuf:"bytes,3,opt,name=function" json:"function,omitempty"`
+}
+
+func (m *LogEntrySourceLocation) Reset()                    { *m = LogEntrySourceLocation{} }
+func (m *LogEntrySourceLocation) String() string            { return proto.CompactTextString(m) }
+func (*LogEntrySourceLocation) ProtoMessage()               {}
+func (*LogEntrySourceLocation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+func (m *LogEntrySourceLocation) GetFile() string {
+	if m != nil {
+		return m.File
+	}
+	return ""
+}
+
+func (m *LogEntrySourceLocation) GetLine() int64 {
+	if m != nil {
+		return m.Line
+	}
+	return 0
+}
+
+func (m *LogEntrySourceLocation) GetFunction() string {
+	if m != nil {
+		return m.Function
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*LogEntry)(nil), "google.logging.v2.LogEntry")
 	proto.RegisterType((*LogEntryOperation)(nil), "google.logging.v2.LogEntryOperation")
+	proto.RegisterType((*LogEntrySourceLocation)(nil), "google.logging.v2.LogEntrySourceLocation")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/v2/log_entry.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/logging/v2/log_entry.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 622 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x54, 0xef, 0x6b, 0x13, 0x31,
-	0x18, 0xde, 0x75, 0xbf, 0xee, 0xd2, 0x6e, 0xba, 0x30, 0xf1, 0xac, 0x08, 0x65, 0x0a, 0xf6, 0x53,
-	0x4e, 0x2a, 0xc2, 0xe6, 0x06, 0x6a, 0x65, 0xb0, 0xc1, 0x74, 0x23, 0xf3, 0x93, 0x20, 0x25, 0xbd,
-	0xcb, 0xd2, 0xe8, 0x5d, 0x72, 0x26, 0xb9, 0x62, 0xff, 0x20, 0xff, 0x47, 0x3f, 0x4a, 0x72, 0xb9,
-	0x76, 0x58, 0x71, 0x1b, 0x7e, 0x28, 0x7d, 0xdf, 0xe4, 0x79, 0x9e, 0xf7, 0xcd, 0xf3, 0x26, 0x07,
-	0xde, 0x32, 0x29, 0x59, 0x4e, 0x11, 0x93, 0x39, 0x11, 0x0c, 0x49, 0xc5, 0x12, 0x46, 0x45, 0xa9,
-	0xa4, 0x91, 0x49, 0xbd, 0x45, 0x4a, 0xae, 0x93, 0x5c, 0x32, 0xc6, 0x05, 0x4b, 0xa6, 0x03, 0x1b,
-	0x8e, 0xa8, 0x30, 0x6a, 0x86, 0x1c, 0x0a, 0xee, 0x78, 0x05, 0x0f, 0x41, 0xd3, 0x41, 0xf7, 0xf4,
-	0x76, 0xa2, 0xa4, 0xe4, 0x89, 0xa6, 0x6a, 0xca, 0x53, 0x9a, 0x4a, 0x71, 0xc5, 0x59, 0x42, 0x84,
-	0x90, 0x86, 0x18, 0x2e, 0x85, 0xae, 0xd5, 0xbb, 0xe7, 0xb7, 0x97, 0x2a, 0xa4, 0xe0, 0x46, 0x2a,
-	0x9a, 0x29, 0xaa, 0x17, 0xc9, 0x48, 0x51, 0x2d, 0x2b, 0x95, 0x52, 0x2f, 0x78, 0x7c, 0xb7, 0x03,
-	0x9b, 0x59, 0x49, 0x93, 0x89, 0x31, 0xe5, 0x48, 0xd1, 0xef, 0x15, 0xd5, 0xe6, 0x3f, 0x64, 0xac,
-	0x73, 0x9a, 0x4e, 0xa9, 0xe2, 0xc6, 0x9b, 0xd7, 0x4d, 0x18, 0x37, 0x93, 0x6a, 0x8c, 0x52, 0x59,
-	0x24, 0xb5, 0x54, 0xe2, 0x36, 0xc6, 0xd5, 0x55, 0x52, 0x5a, 0x92, 0x4e, 0x88, 0x98, 0xd9, 0x9f,
-	0x27, 0xbc, 0xba, 0x99, 0xa0, 0x8d, 0xaa, 0x52, 0xe3, 0xff, 0x3c, 0xed, 0xf0, 0x66, 0x9a, 0xe1,
-	0x05, 0xd5, 0x86, 0x14, 0xe5, 0x22, 0xaa, 0xc9, 0x7b, 0x3f, 0xd7, 0x41, 0x78, 0x26, 0xd9, 0xb1,
-	0x1d, 0x3a, 0x7c, 0x04, 0x42, 0x7b, 0x0e, 0x41, 0x0a, 0x1a, 0x77, 0x7a, 0x41, 0x3f, 0xc2, 0x9b,
-	0xb9, 0x64, 0x1f, 0x49, 0x41, 0xe1, 0x01, 0x08, 0x1b, 0xb3, 0xe3, 0xb0, 0x17, 0xf4, 0xdb, 0x83,
-	0x27, 0xc8, 0xdb, 0x44, 0x4a, 0x8e, 0x3e, 0x34, 0x23, 0xc1, 0x1e, 0x84, 0xe7, 0x70, 0x78, 0x08,
-	0xb6, 0x5c, 0xad, 0x51, 0x49, 0x66, 0xb9, 0x24, 0x59, 0xdc, 0x72, 0xfc, 0xdd, 0x86, 0xdf, 0x34,
-	0x8b, 0xde, 0x89, 0xd9, 0xc9, 0x0a, 0xee, 0xb8, 0xfc, 0xa2, 0xc6, 0xc2, 0xa7, 0xa0, 0x63, 0xe8,
-	0x0f, 0x33, 0xe7, 0xae, 0xda, 0xb6, 0x4e, 0x56, 0x70, 0xdb, 0xae, 0x36, 0xa0, 0x23, 0xd0, 0xf9,
-	0xaa, 0xa5, 0x98, 0x83, 0x36, 0x5c, 0x81, 0x87, 0x4b, 0x05, 0x2e, 0x9d, 0x6d, 0x96, 0x6d, 0xe1,
-	0x0d, 0x7b, 0x1f, 0x44, 0x73, 0x57, 0xe2, 0xc8, 0x51, 0xbb, 0x4b, 0xd4, 0x4f, 0x0d, 0x02, 0x2f,
-	0xc0, 0xf0, 0x08, 0x84, 0xcd, 0xcc, 0x63, 0xd0, 0x0b, 0xfa, 0xdb, 0x83, 0x1e, 0xfa, 0xe3, 0xc5,
-	0x58, 0xff, 0xd1, 0x99, 0x64, 0x97, 0x1e, 0x87, 0xe7, 0x0c, 0xf8, 0x18, 0x44, 0x5c, 0x68, 0xaa,
-	0xcc, 0x88, 0x67, 0xf1, 0x9a, 0xb3, 0x3b, 0xac, 0x17, 0x4e, 0x33, 0xf8, 0x1e, 0x74, 0xae, 0xdf,
-	0xcc, 0x78, 0xd3, 0xf5, 0xf5, 0x77, 0xf9, 0x13, 0x63, 0x4a, 0x5c, 0xe3, 0x70, 0x7b, 0xb2, 0x48,
-	0xe0, 0x1b, 0xb0, 0x91, 0x93, 0x31, 0xcd, 0x75, 0xdc, 0xee, 0xad, 0xf6, 0xdb, 0x83, 0xe7, 0x68,
-	0xe9, 0x3d, 0xa3, 0x66, 0xf8, 0xe8, 0xcc, 0x21, 0x5d, 0x8c, 0x3d, 0x0d, 0x0e, 0x41, 0x24, 0x4b,
-	0xaa, 0xdc, 0xab, 0x8d, 0xef, 0xb9, 0x16, 0x9e, 0xfd, 0x43, 0xe3, 0xbc, 0xc1, 0xe2, 0x05, 0xad,
-	0x7b, 0x00, 0xda, 0xd7, 0xa4, 0xe1, 0x7d, 0xb0, 0xfa, 0x8d, 0xce, 0xe2, 0xc0, 0x9d, 0xd7, 0x86,
-	0x70, 0x17, 0xac, 0x4f, 0x49, 0x5e, 0x51, 0x77, 0x2f, 0x22, 0x5c, 0x27, 0xaf, 0x5b, 0xfb, 0xc1,
-	0x30, 0x02, 0x9b, 0x7e, 0xa4, 0x7b, 0x1c, 0xec, 0x2c, 0x55, 0x81, 0xdb, 0xa0, 0xc5, 0x33, 0x2f,
-	0xd5, 0xe2, 0x19, 0xec, 0x82, 0xb0, 0x54, 0x32, 0xab, 0x52, 0xaa, 0xbc, 0xd8, 0x3c, 0xb7, 0x55,
-	0xae, 0xb8, 0xd2, 0xc6, 0xdd, 0xa0, 0x10, 0xd7, 0x09, 0x84, 0x60, 0x2d, 0x27, 0xda, 0x38, 0xfb,
-	0x43, 0xec, 0xe2, 0xe1, 0x17, 0xf0, 0x20, 0x95, 0xc5, 0xf2, 0x31, 0x87, 0x5b, 0x4d, 0x07, 0x17,
-	0xee, 0x86, 0x06, 0x9f, 0x5f, 0xdc, 0xf5, 0x03, 0xfb, 0x2b, 0x08, 0xc6, 0x1b, 0x6e, 0xff, 0xe5,
-	0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1e, 0x4b, 0x59, 0x17, 0x9e, 0x05, 0x00, 0x00,
+	// 679 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0xd1, 0x6e, 0xd3, 0x3c,
+	0x14, 0xc7, 0x97, 0x76, 0x5f, 0x97, 0xba, 0xdd, 0xf6, 0xcd, 0x1a, 0x5b, 0x56, 0x86, 0x28, 0x1b,
+	0x82, 0x72, 0x93, 0x4a, 0xe5, 0x66, 0x63, 0x93, 0x10, 0x9d, 0x10, 0x43, 0x2a, 0x30, 0x79, 0x88,
+	0x0b, 0x84, 0x54, 0x79, 0x89, 0x9b, 0x19, 0x52, 0x3b, 0x38, 0x4e, 0x45, 0xaf, 0x78, 0x04, 0xde,
+	0x83, 0x27, 0xe4, 0x12, 0xf9, 0xd8, 0xe9, 0x4a, 0x3b, 0xed, 0xee, 0x9c, 0xfa, 0xf7, 0x3f, 0xff,
+	0xe3, 0xe3, 0x93, 0xa2, 0x47, 0x89, 0x94, 0x49, 0xca, 0xba, 0xa9, 0x4c, 0x12, 0x2e, 0x92, 0xee,
+	0xa4, 0x67, 0xc2, 0x21, 0x13, 0x5a, 0x4d, 0xc3, 0x4c, 0x49, 0x2d, 0xf1, 0x96, 0x45, 0x42, 0x87,
+	0x84, 0x93, 0x5e, 0x6b, 0xdf, 0xa9, 0x68, 0xc6, 0xbb, 0x54, 0x08, 0xa9, 0xa9, 0xe6, 0x52, 0xe4,
+	0x56, 0xd0, 0x3a, 0x9c, 0x3b, 0x1d, 0x4b, 0xc1, 0xb5, 0x54, 0x2c, 0x1e, 0x2a, 0x96, 0xcb, 0x42,
+	0x45, 0xcc, 0x41, 0x4f, 0x16, 0x8c, 0xf5, 0x34, 0x63, 0xdd, 0x6b, 0xad, 0xb3, 0xa1, 0x62, 0xdf,
+	0x0b, 0x96, 0xeb, 0xbb, 0x38, 0xd3, 0x62, 0xce, 0x26, 0x4c, 0x71, 0xed, 0xba, 0x6c, 0xed, 0x39,
+	0x0e, 0xb2, 0xab, 0x62, 0xd4, 0xa5, 0xa2, 0x3c, 0xda, 0x5f, 0x3c, 0xca, 0xb5, 0x2a, 0xa2, 0xd2,
+	0xe0, 0xe1, 0xe2, 0xa9, 0xe6, 0x63, 0x96, 0x6b, 0x3a, 0xce, 0x2c, 0x70, 0xf0, 0xab, 0x86, 0xfc,
+	0x81, 0x4c, 0x5e, 0x9b, 0x91, 0xe0, 0x3d, 0xe4, 0x1b, 0x73, 0x41, 0xc7, 0x2c, 0x68, 0xb6, 0xbd,
+	0x4e, 0x9d, 0xac, 0xa5, 0x32, 0x79, 0x4f, 0xc7, 0x0c, 0x1f, 0x23, 0xbf, 0xbc, 0x63, 0xe0, 0xb7,
+	0xbd, 0x4e, 0xa3, 0xf7, 0x20, 0x74, 0xa3, 0xa3, 0x19, 0x0f, 0xdf, 0x95, 0x93, 0x20, 0x0e, 0x22,
+	0x33, 0x1c, 0x9f, 0xa0, 0x75, 0xf0, 0x1a, 0x66, 0x74, 0x9a, 0x4a, 0x1a, 0x07, 0x15, 0xd0, 0x6f,
+	0x97, 0xfa, 0xb2, 0xb7, 0xf0, 0x95, 0x98, 0x9e, 0xaf, 0x90, 0x26, 0xe4, 0x17, 0x96, 0xc5, 0x87,
+	0xa8, 0xa9, 0xd9, 0x0f, 0x3d, 0xd3, 0x56, 0x4d, 0x5b, 0xe7, 0x2b, 0xa4, 0x61, 0x7e, 0x2d, 0xa1,
+	0x53, 0xd4, 0xfc, 0x9a, 0x4b, 0x31, 0x83, 0x6a, 0x60, 0xb0, 0xbb, 0x64, 0x70, 0x09, 0xa3, 0x31,
+	0x6a, 0x83, 0x97, 0xea, 0x23, 0x54, 0x9f, 0x4d, 0x25, 0xa8, 0x83, 0xb4, 0xb5, 0x24, 0xfd, 0x58,
+	0x12, 0xe4, 0x06, 0xc6, 0xa7, 0xc8, 0x2f, 0x1f, 0x2a, 0x40, 0x6d, 0xaf, 0xb3, 0xd1, 0x6b, 0x87,
+	0x0b, 0xfb, 0x64, 0x5e, 0x34, 0x1c, 0xc8, 0xe4, 0xd2, 0x71, 0x64, 0xa6, 0xc0, 0xf7, 0x51, 0x9d,
+	0x8b, 0x9c, 0x29, 0x3d, 0xe4, 0x71, 0xb0, 0x0a, 0xe3, 0xf6, 0xed, 0x0f, 0x6f, 0x63, 0x7c, 0x86,
+	0x9a, 0xf3, 0xfb, 0x12, 0xac, 0x41, 0x5f, 0xb7, 0x97, 0x3f, 0xd7, 0x3a, 0x23, 0x96, 0x23, 0x8d,
+	0xeb, 0x9b, 0x04, 0xbf, 0x44, 0xb5, 0x94, 0x5e, 0xb1, 0x34, 0x0f, 0x1a, 0xed, 0x6a, 0xa7, 0xd1,
+	0x7b, 0x1a, 0x2e, 0x6d, 0x7b, 0x58, 0x3e, 0x7e, 0x38, 0x00, 0x12, 0x62, 0xe2, 0x64, 0xb8, 0x8f,
+	0xea, 0x32, 0x63, 0x0a, 0x3e, 0x80, 0x60, 0x13, 0x5a, 0x78, 0x7c, 0x47, 0x8d, 0x0f, 0x25, 0x4b,
+	0x6e, 0x64, 0x78, 0x1b, 0xfd, 0xa7, 0x15, 0x8d, 0x58, 0xb0, 0x03, 0x57, 0xb4, 0x09, 0x26, 0x68,
+	0xd3, 0xae, 0xc7, 0x30, 0x95, 0x91, 0xad, 0xbf, 0x0b, 0xf5, 0x9f, 0xdd, 0x51, 0xff, 0x12, 0x14,
+	0x03, 0x27, 0x20, 0x1b, 0xf9, 0x3f, 0x79, 0xeb, 0x18, 0x35, 0xe6, 0x2e, 0x81, 0xff, 0x47, 0xd5,
+	0x6f, 0x6c, 0x1a, 0x78, 0x60, 0x6b, 0x42, 0xd3, 0xca, 0x84, 0xa6, 0x05, 0x83, 0x0d, 0xac, 0x13,
+	0x9b, 0xbc, 0xa8, 0x1c, 0x79, 0xfd, 0x3a, 0x5a, 0x73, 0xcb, 0x73, 0xc0, 0xd1, 0xd6, 0xd2, 0x7d,
+	0xf0, 0x06, 0xaa, 0xf0, 0xd8, 0x95, 0xaa, 0xf0, 0x18, 0xb7, 0x90, 0x9f, 0x29, 0x19, 0x17, 0x11,
+	0x53, 0xae, 0xd8, 0x2c, 0x37, 0x2e, 0x23, 0xae, 0x72, 0x0d, 0xbb, 0xea, 0x13, 0x9b, 0x60, 0x8c,
+	0x56, 0x53, 0x9a, 0x6b, 0x78, 0x68, 0x9f, 0x40, 0x7c, 0xf0, 0x05, 0xed, 0xdc, 0x7e, 0x35, 0x43,
+	0x8f, 0x78, 0xca, 0x9c, 0x23, 0xc4, 0x50, 0x81, 0x0b, 0xdb, 0x7c, 0x95, 0x40, 0x6c, 0xfa, 0x18,
+	0x15, 0x22, 0x82, 0xf9, 0x55, 0x6d, 0x1f, 0x65, 0xde, 0xff, 0x89, 0xee, 0x45, 0x72, 0xbc, 0x3c,
+	0xce, 0xfe, 0x7a, 0x69, 0x7a, 0x01, 0x5f, 0x9a, 0xf7, 0xf9, 0xc8, 0x31, 0x89, 0x4c, 0xa9, 0x48,
+	0x42, 0xa9, 0x92, 0x6e, 0xc2, 0x04, 0xec, 0x7e, 0xd7, 0x1e, 0xd1, 0x8c, 0xe7, 0x73, 0x7f, 0xa3,
+	0x27, 0x2e, 0xfc, 0xe3, 0x79, 0xbf, 0x2b, 0xbb, 0x6f, 0xac, 0xfa, 0x2c, 0x95, 0x45, 0x6c, 0xde,
+	0x0a, 0x7c, 0x3e, 0xf5, 0xae, 0x6a, 0x50, 0xe1, 0xf9, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x34,
+	0x32, 0x8a, 0x87, 0x87, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/logging/v2/log_entry.proto b/googleapis/logging/v2/log_entry.proto
deleted file mode 100644
index 709a98fdfa978f1f54da7c65c29f56dfda2e2651..0000000000000000000000000000000000000000
--- a/googleapis/logging/v2/log_entry.proto
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.logging.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto
-import "google.golang.org/genproto/googleapis/logging/type/http_request.proto"; // from google/logging/type/http_request.proto
-import "google.golang.org/genproto/googleapis/logging/type/log_severity.proto"; // from google/logging/type/log_severity.proto
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "LogEntryProto";
-option java_package = "com.google.logging.v2";
-
-option go_package = "google.golang.org/genproto/googleapis/logging/v2";
-
-// An individual entry in a log.
-message LogEntry {
-  // Required. The resource name of the log to which this log entry
-  // belongs. The format of the name is
-  // `"projects/<project-id>/logs/<log-id>"`.  Examples:
-  // `"projects/my-projectid/logs/syslog"`,
-  // `"projects/my-projectid/logs/library.googleapis.com%2Fbook_log"`.
-  //
-  // The log ID part of resource name must be less than 512 characters
-  // long and can only include the following characters: upper and
-  // lower case alphanumeric characters: [A-Za-z0-9]; and punctuation
-  // characters: forward-slash, underscore, hyphen, and period.
-  // Forward-slash (`/`) characters in the log ID must be URL-encoded.
-  string log_name = 12;
-
-  // Required. The monitored resource associated with this log entry.
-  // Example: a log entry that reports a database error would be
-  // associated with the monitored resource designating the particular
-  // database that reported the error.
-  google.api.MonitoredResource resource = 8;
-
-  // Optional. The log entry payload, which can be one of multiple types.
-  oneof payload {
-    // The log entry payload, represented as a protocol buffer.  Some
-    // Google Cloud Platform services use this field for their log
-    // entry payloads.
-    google.protobuf.Any proto_payload = 2;
-
-    // The log entry payload, represented as a Unicode string (UTF-8).
-    string text_payload = 3;
-
-    // The log entry payload, represented as a structure that
-    // is expressed as a JSON object.
-    google.protobuf.Struct json_payload = 6;
-  }
-
-  // Optional. The time the event described by the log entry occurred.  If
-  // omitted, Stackdriver Logging will use the time the log entry is received.
-  google.protobuf.Timestamp timestamp = 9;
-
-  // Optional. The severity of the log entry. The default value is
-  // `LogSeverity.DEFAULT`.
-  google.logging.type.LogSeverity severity = 10;
-
-  // Optional. A unique ID for the log entry. If you provide this
-  // field, the logging service considers other log entries in the
-  // same project with the same ID as duplicates which can be removed.  If
-  // omitted, Stackdriver Logging will generate a unique ID for this
-  // log entry.
-  string insert_id = 4;
-
-  // Optional. Information about the HTTP request associated with this
-  // log entry, if applicable.
-  google.logging.type.HttpRequest http_request = 7;
-
-  // Optional. A set of user-defined (key, value) data that provides additional
-  // information about the log entry.
-  map<string, string> labels = 11;
-
-  // Optional. Information about an operation associated with the log entry, if
-  // applicable.
-  LogEntryOperation operation = 15;
-}
-
-// Additional information about a potentially long-running operation with which
-// a log entry is associated.
-message LogEntryOperation {
-  // Optional. An arbitrary operation identifier. Log entries with the
-  // same identifier are assumed to be part of the same operation.
-  string id = 1;
-
-  // Optional. An arbitrary producer identifier. The combination of
-  // `id` and `producer` must be globally unique.  Examples for `producer`:
-  // `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`.
-  string producer = 2;
-
-  // Optional. Set this to True if this is the first log entry in the operation.
-  bool first = 3;
-
-  // Optional. Set this to True if this is the last log entry in the operation.
-  bool last = 4;
-}
diff --git a/googleapis/logging/v2/logging.pb.go b/googleapis/logging/v2/logging.pb.go
index b9938208f5165d0d649fb3a5a050a6d4377e1dac..4e443f630bd3f591b0652488700c65927a7ec45c 100644
--- a/googleapis/logging/v2/logging.pb.go
+++ b/googleapis/logging/v2/logging.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/logging/v2/logging.proto
+// source: google/logging/v2/logging.proto
 // DO NOT EDIT!
 
-package v2 // import "google.golang.org/genproto/googleapis/logging/v2"
+package logging
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_api3 "google.golang.org/genproto/googleapis/api/monitoredres"
 import _ "github.com/golang/protobuf/ptypes/duration"
 import google_protobuf5 "github.com/golang/protobuf/ptypes/empty"
@@ -26,21 +26,43 @@ var _ = math.Inf
 
 // The parameters to DeleteLog.
 type DeleteLogRequest struct {
-	// Required. The resource name of the log to delete.  Example:
-	// `"projects/my-project/logs/syslog"`.
+	// Required. The resource name of the log to delete:
+	//
+	//     "projects/[PROJECT_ID]/logs/[LOG_ID]"
+	//     "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
+	//
+	// `[LOG_ID]` must be URL-encoded. For example,
+	// `"projects/my-project-id/logs/syslog"`,
+	// `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`.
+	// For more information about log names, see
+	// [LogEntry][google.logging.v2.LogEntry].
 	LogName string `protobuf:"bytes,1,opt,name=log_name,json=logName" json:"log_name,omitempty"`
 }
 
 func (m *DeleteLogRequest) Reset()                    { *m = DeleteLogRequest{} }
 func (m *DeleteLogRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteLogRequest) ProtoMessage()               {}
-func (*DeleteLogRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
+func (*DeleteLogRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+
+func (m *DeleteLogRequest) GetLogName() string {
+	if m != nil {
+		return m.LogName
+	}
+	return ""
+}
 
 // The parameters to WriteLogEntries.
 type WriteLogEntriesRequest struct {
 	// Optional. A default log resource name that is assigned to all log entries
-	// in `entries` that do not specify a value for `log_name`.  Example:
-	// `"projects/my-project/logs/syslog"`.  See
+	// in `entries` that do not specify a value for `log_name`:
+	//
+	//     "projects/[PROJECT_ID]/logs/[LOG_ID]"
+	//     "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
+	//
+	// `[LOG_ID]` must be URL-encoded. For example,
+	// `"projects/my-project-id/logs/syslog"` or
+	// `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`.
+	// For more information about log names, see
 	// [LogEntry][google.logging.v2.LogEntry].
 	LogName string `protobuf:"bytes,1,opt,name=log_name,json=logName" json:"log_name,omitempty"`
 	// Optional. A default monitored resource object that is assigned to all log
@@ -78,7 +100,14 @@ type WriteLogEntriesRequest struct {
 func (m *WriteLogEntriesRequest) Reset()                    { *m = WriteLogEntriesRequest{} }
 func (m *WriteLogEntriesRequest) String() string            { return proto.CompactTextString(m) }
 func (*WriteLogEntriesRequest) ProtoMessage()               {}
-func (*WriteLogEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
+func (*WriteLogEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+
+func (m *WriteLogEntriesRequest) GetLogName() string {
+	if m != nil {
+		return m.LogName
+	}
+	return ""
+}
 
 func (m *WriteLogEntriesRequest) GetResource() *google_api3.MonitoredResource {
 	if m != nil {
@@ -101,6 +130,13 @@ func (m *WriteLogEntriesRequest) GetEntries() []*LogEntry {
 	return nil
 }
 
+func (m *WriteLogEntriesRequest) GetPartialSuccess() bool {
+	if m != nil {
+		return m.PartialSuccess
+	}
+	return false
+}
+
 // Result returned from WriteLogEntries.
 // empty
 type WriteLogEntriesResponse struct {
@@ -109,23 +145,31 @@ type WriteLogEntriesResponse struct {
 func (m *WriteLogEntriesResponse) Reset()                    { *m = WriteLogEntriesResponse{} }
 func (m *WriteLogEntriesResponse) String() string            { return proto.CompactTextString(m) }
 func (*WriteLogEntriesResponse) ProtoMessage()               {}
-func (*WriteLogEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{2} }
+func (*WriteLogEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
 // The parameters to `ListLogEntries`.
 type ListLogEntriesRequest struct {
-	// Deprecated. One or more project identifiers or project numbers from which
-	// to retrieve log entries.  Examples: `"my-project-1A"`, `"1234567890"`. If
-	// present, these project identifiers are converted to resource format and
-	// added to the list of resources in `resourceNames`. Callers should use
-	// `resourceNames` rather than this parameter.
+	// Deprecated. Use `resource_names` instead.  One or more project identifiers
+	// or project numbers from which to retrieve log entries.  Example:
+	// `"my-project-1A"`. If present, these project identifiers are converted to
+	// resource name format and added to the list of resources in
+	// `resource_names`.
 	ProjectIds []string `protobuf:"bytes,1,rep,name=project_ids,json=projectIds" json:"project_ids,omitempty"`
-	// Optional. One or more cloud resources from which to retrieve log entries.
-	// Example: `"projects/my-project-1A"`, `"projects/1234567890"`.  Projects
-	// listed in `projectIds` are added to this list.
+	// Required. Names of one or more resources from which to retrieve log
+	// entries:
+	//
+	//     "projects/[PROJECT_ID]"
+	//     "organizations/[ORGANIZATION_ID]"
+	//
+	// Projects listed in the `project_ids` field are added to this list.
 	ResourceNames []string `protobuf:"bytes,8,rep,name=resource_names,json=resourceNames" json:"resource_names,omitempty"`
 	// Optional. A filter that chooses which log entries to return.  See [Advanced
 	// Logs Filters](/logging/docs/view/advanced_filters).  Only log entries that
-	// match the filter are returned.  An empty filter matches all log entries.
+	// match the filter are returned.  An empty filter matches all log entries in
+	// the resources listed in `resource_names`. Referencing a parent resource
+	// that is not listed in `resource_names` will cause the filter to return no
+	// results.
+	// The maximum length of the filter is 20000 characters.
 	Filter string `protobuf:"bytes,2,opt,name=filter" json:"filter,omitempty"`
 	// Optional. How the results should be sorted.  Presently, the only permitted
 	// values are `"timestamp asc"` (default) and `"timestamp desc"`. The first
@@ -148,22 +192,71 @@ type ListLogEntriesRequest struct {
 func (m *ListLogEntriesRequest) Reset()                    { *m = ListLogEntriesRequest{} }
 func (m *ListLogEntriesRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListLogEntriesRequest) ProtoMessage()               {}
-func (*ListLogEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{3} }
+func (*ListLogEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
+
+func (m *ListLogEntriesRequest) GetProjectIds() []string {
+	if m != nil {
+		return m.ProjectIds
+	}
+	return nil
+}
+
+func (m *ListLogEntriesRequest) GetResourceNames() []string {
+	if m != nil {
+		return m.ResourceNames
+	}
+	return nil
+}
+
+func (m *ListLogEntriesRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListLogEntriesRequest) GetOrderBy() string {
+	if m != nil {
+		return m.OrderBy
+	}
+	return ""
+}
+
+func (m *ListLogEntriesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListLogEntriesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
 
 // Result returned from `ListLogEntries`.
 type ListLogEntriesResponse struct {
 	// A list of log entries.
 	Entries []*LogEntry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
-	// If there might be more results than appear in this response, then
+	// If there might be more results than those appearing in this response, then
 	// `nextPageToken` is included.  To get the next set of results, call this
 	// method again using the value of `nextPageToken` as `pageToken`.
+	//
+	// If a value for `next_page_token` appears and the `entries` field is empty,
+	// it means that the search found no log entries so far but it did not have
+	// time to search all the possible log entries.  Retry the method with this
+	// value for `page_token` to continue the search.  Alternatively, consider
+	// speeding up the search by changing your filter to specify a single log name
+	// or resource type, or to narrow the time range of the search.
 	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
 }
 
 func (m *ListLogEntriesResponse) Reset()                    { *m = ListLogEntriesResponse{} }
 func (m *ListLogEntriesResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListLogEntriesResponse) ProtoMessage()               {}
-func (*ListLogEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{4} }
+func (*ListLogEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
 func (m *ListLogEntriesResponse) GetEntries() []*LogEntry {
 	if m != nil {
@@ -172,6 +265,13 @@ func (m *ListLogEntriesResponse) GetEntries() []*LogEntry {
 	return nil
 }
 
+func (m *ListLogEntriesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The parameters to ListMonitoredResourceDescriptors
 type ListMonitoredResourceDescriptorsRequest struct {
 	// Optional. The maximum number of results to return from this request.
@@ -191,14 +291,28 @@ func (m *ListMonitoredResourceDescriptorsRequest) Reset() {
 func (m *ListMonitoredResourceDescriptorsRequest) String() string { return proto.CompactTextString(m) }
 func (*ListMonitoredResourceDescriptorsRequest) ProtoMessage()    {}
 func (*ListMonitoredResourceDescriptorsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor3, []int{5}
+	return fileDescriptor1, []int{5}
+}
+
+func (m *ListMonitoredResourceDescriptorsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListMonitoredResourceDescriptorsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
 }
 
 // Result returned from ListMonitoredResourceDescriptors.
 type ListMonitoredResourceDescriptorsResponse struct {
 	// A list of resource descriptors.
 	ResourceDescriptors []*google_api3.MonitoredResourceDescriptor `protobuf:"bytes,1,rep,name=resource_descriptors,json=resourceDescriptors" json:"resource_descriptors,omitempty"`
-	// If there might be more results than appear in this response, then
+	// If there might be more results than those appearing in this response, then
 	// `nextPageToken` is included.  To get the next set of results, call this
 	// method again using the value of `nextPageToken` as `pageToken`.
 	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
@@ -210,7 +324,7 @@ func (m *ListMonitoredResourceDescriptorsResponse) Reset() {
 func (m *ListMonitoredResourceDescriptorsResponse) String() string { return proto.CompactTextString(m) }
 func (*ListMonitoredResourceDescriptorsResponse) ProtoMessage()    {}
 func (*ListMonitoredResourceDescriptorsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor3, []int{6}
+	return fileDescriptor1, []int{6}
 }
 
 func (m *ListMonitoredResourceDescriptorsResponse) GetResourceDescriptors() []*google_api3.MonitoredResourceDescriptor {
@@ -220,6 +334,88 @@ func (m *ListMonitoredResourceDescriptorsResponse) GetResourceDescriptors() []*g
 	return nil
 }
 
+func (m *ListMonitoredResourceDescriptorsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+// The parameters to ListLogs.
+type ListLogsRequest struct {
+	// Required. The resource name that owns the logs:
+	//
+	//     "projects/[PROJECT_ID]"
+	//     "organizations/[ORGANIZATION_ID]"
+	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
+	// Optional. The maximum number of results to return from this request.
+	// Non-positive values are ignored.  The presence of `nextPageToken` in the
+	// response indicates that more results might be available.
+	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+	// Optional. If present, then retrieve the next batch of results from the
+	// preceding call to this method.  `pageToken` must be the value of
+	// `nextPageToken` from the previous response.  The values of other method
+	// parameters should be identical to those in the previous call.
+	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+}
+
+func (m *ListLogsRequest) Reset()                    { *m = ListLogsRequest{} }
+func (m *ListLogsRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListLogsRequest) ProtoMessage()               {}
+func (*ListLogsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
+
+func (m *ListLogsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListLogsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListLogsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+// Result returned from ListLogs.
+type ListLogsResponse struct {
+	// A list of log names. For example,
+	// `"projects/my-project/syslog"` or
+	// `"organizations/123/cloudresourcemanager.googleapis.com%2Factivity"`.
+	LogNames []string `protobuf:"bytes,3,rep,name=log_names,json=logNames" json:"log_names,omitempty"`
+	// If there might be more results than those appearing in this response, then
+	// `nextPageToken` is included.  To get the next set of results, call this
+	// method again using the value of `nextPageToken` as `pageToken`.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+}
+
+func (m *ListLogsResponse) Reset()                    { *m = ListLogsResponse{} }
+func (m *ListLogsResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListLogsResponse) ProtoMessage()               {}
+func (*ListLogsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
+
+func (m *ListLogsResponse) GetLogNames() []string {
+	if m != nil {
+		return m.LogNames
+	}
+	return nil
+}
+
+func (m *ListLogsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*DeleteLogRequest)(nil), "google.logging.v2.DeleteLogRequest")
 	proto.RegisterType((*WriteLogEntriesRequest)(nil), "google.logging.v2.WriteLogEntriesRequest")
@@ -228,6 +424,8 @@ func init() {
 	proto.RegisterType((*ListLogEntriesResponse)(nil), "google.logging.v2.ListLogEntriesResponse")
 	proto.RegisterType((*ListMonitoredResourceDescriptorsRequest)(nil), "google.logging.v2.ListMonitoredResourceDescriptorsRequest")
 	proto.RegisterType((*ListMonitoredResourceDescriptorsResponse)(nil), "google.logging.v2.ListMonitoredResourceDescriptorsResponse")
+	proto.RegisterType((*ListLogsRequest)(nil), "google.logging.v2.ListLogsRequest")
+	proto.RegisterType((*ListLogsResponse)(nil), "google.logging.v2.ListLogsResponse")
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -241,18 +439,22 @@ const _ = grpc.SupportPackageIsVersion4
 // Client API for LoggingServiceV2 service
 
 type LoggingServiceV2Client interface {
-	// Deletes a log and all its log entries.
-	// The log will reappear if it receives new entries.
+	// Deletes all the log entries in a log.
+	// The log reappears if it receives new entries.
 	DeleteLog(ctx context.Context, in *DeleteLogRequest, opts ...grpc.CallOption) (*google_protobuf5.Empty, error)
 	// Writes log entries to Stackdriver Logging.  All log entries are
 	// written by this method.
 	WriteLogEntries(ctx context.Context, in *WriteLogEntriesRequest, opts ...grpc.CallOption) (*WriteLogEntriesResponse, error)
-	// Lists log entries.  Use this method to retrieve log entries from Cloud
-	// Logging.  For ways to export log entries, see
+	// Lists log entries.  Use this method to retrieve log entries from
+	// Stackdriver Logging.  For ways to export log entries, see
 	// [Exporting Logs](/logging/docs/export).
 	ListLogEntries(ctx context.Context, in *ListLogEntriesRequest, opts ...grpc.CallOption) (*ListLogEntriesResponse, error)
-	// Lists the monitored resource descriptors used by Stackdriver Logging.
+	// Lists the descriptors for monitored resource types used by Stackdriver
+	// Logging.
 	ListMonitoredResourceDescriptors(ctx context.Context, in *ListMonitoredResourceDescriptorsRequest, opts ...grpc.CallOption) (*ListMonitoredResourceDescriptorsResponse, error)
+	// Lists the logs in projects or organizations.
+	// Only logs that have entries are listed.
+	ListLogs(ctx context.Context, in *ListLogsRequest, opts ...grpc.CallOption) (*ListLogsResponse, error)
 }
 
 type loggingServiceV2Client struct {
@@ -299,21 +501,34 @@ func (c *loggingServiceV2Client) ListMonitoredResourceDescriptors(ctx context.Co
 	return out, nil
 }
 
+func (c *loggingServiceV2Client) ListLogs(ctx context.Context, in *ListLogsRequest, opts ...grpc.CallOption) (*ListLogsResponse, error) {
+	out := new(ListLogsResponse)
+	err := grpc.Invoke(ctx, "/google.logging.v2.LoggingServiceV2/ListLogs", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // Server API for LoggingServiceV2 service
 
 type LoggingServiceV2Server interface {
-	// Deletes a log and all its log entries.
-	// The log will reappear if it receives new entries.
+	// Deletes all the log entries in a log.
+	// The log reappears if it receives new entries.
 	DeleteLog(context.Context, *DeleteLogRequest) (*google_protobuf5.Empty, error)
 	// Writes log entries to Stackdriver Logging.  All log entries are
 	// written by this method.
 	WriteLogEntries(context.Context, *WriteLogEntriesRequest) (*WriteLogEntriesResponse, error)
-	// Lists log entries.  Use this method to retrieve log entries from Cloud
-	// Logging.  For ways to export log entries, see
+	// Lists log entries.  Use this method to retrieve log entries from
+	// Stackdriver Logging.  For ways to export log entries, see
 	// [Exporting Logs](/logging/docs/export).
 	ListLogEntries(context.Context, *ListLogEntriesRequest) (*ListLogEntriesResponse, error)
-	// Lists the monitored resource descriptors used by Stackdriver Logging.
+	// Lists the descriptors for monitored resource types used by Stackdriver
+	// Logging.
 	ListMonitoredResourceDescriptors(context.Context, *ListMonitoredResourceDescriptorsRequest) (*ListMonitoredResourceDescriptorsResponse, error)
+	// Lists the logs in projects or organizations.
+	// Only logs that have entries are listed.
+	ListLogs(context.Context, *ListLogsRequest) (*ListLogsResponse, error)
 }
 
 func RegisterLoggingServiceV2Server(s *grpc.Server, srv LoggingServiceV2Server) {
@@ -392,6 +607,24 @@ func _LoggingServiceV2_ListMonitoredResourceDescriptors_Handler(srv interface{},
 	return interceptor(ctx, in, info, handler)
 }
 
+func _LoggingServiceV2_ListLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListLogsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(LoggingServiceV2Server).ListLogs(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.logging.v2.LoggingServiceV2/ListLogs",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(LoggingServiceV2Server).ListLogs(ctx, req.(*ListLogsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 var _LoggingServiceV2_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "google.logging.v2.LoggingServiceV2",
 	HandlerType: (*LoggingServiceV2Server)(nil),
@@ -412,69 +645,74 @@ var _LoggingServiceV2_serviceDesc = grpc.ServiceDesc{
 			MethodName: "ListMonitoredResourceDescriptors",
 			Handler:    _LoggingServiceV2_ListMonitoredResourceDescriptors_Handler,
 		},
+		{
+			MethodName: "ListLogs",
+			Handler:    _LoggingServiceV2_ListLogs_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/logging/v2/logging.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/v2/logging.proto", fileDescriptor3)
-}
-
-var fileDescriptor3 = []byte{
-	// 852 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x55, 0xcf, 0x6e, 0x1b, 0x45,
-	0x18, 0xd7, 0xd8, 0x49, 0x6a, 0x4f, 0x68, 0x92, 0x0e, 0x8d, 0xd9, 0x3a, 0x54, 0x58, 0x8b, 0x4a,
-	0xb6, 0x96, 0xba, 0x0b, 0xae, 0x2a, 0x91, 0x54, 0x45, 0x28, 0x6a, 0x0f, 0x95, 0x52, 0x88, 0x36,
-	0x08, 0xa4, 0x0a, 0xc9, 0x1a, 0xaf, 0xbf, 0x2c, 0x43, 0x77, 0x77, 0x96, 0x99, 0xb1, 0xc3, 0x16,
-	0x71, 0xe9, 0x81, 0x17, 0xe0, 0x3d, 0x78, 0x0b, 0xae, 0x5c, 0xb8, 0x70, 0x45, 0xe2, 0x21, 0x38,
-	0xa2, 0x99, 0x9d, 0x75, 0x52, 0xdb, 0xc4, 0xdb, 0x5e, 0xec, 0x99, 0x6f, 0x7e, 0xdf, 0x9f, 0xdf,
-	0xf7, 0x6f, 0xf1, 0x67, 0x31, 0xe7, 0x71, 0x02, 0x7e, 0xcc, 0x13, 0x9a, 0xc5, 0x3e, 0x17, 0x71,
-	0x10, 0x43, 0x96, 0x0b, 0xae, 0x78, 0x50, 0x3e, 0xd1, 0x9c, 0xc9, 0x20, 0xe1, 0x71, 0xcc, 0xb2,
-	0x38, 0x98, 0x0e, 0xaa, 0xa3, 0x6f, 0x30, 0xe4, 0x86, 0xd5, 0xaf, 0xa4, 0xd3, 0x41, 0xf7, 0x69,
-	0x3d, 0x93, 0x34, 0x67, 0x81, 0x04, 0x31, 0x65, 0x11, 0x44, 0x3c, 0x3b, 0x63, 0x71, 0x40, 0xb3,
-	0x8c, 0x2b, 0xaa, 0x18, 0xcf, 0x64, 0x69, 0xbd, 0xfb, 0x65, 0x7d, 0x53, 0x29, 0xcf, 0x98, 0xe2,
-	0x02, 0xc6, 0x02, 0xe4, 0xc5, 0x65, 0x28, 0x40, 0xf2, 0x89, 0x88, 0xc0, 0x1a, 0xfc, 0xfc, 0x6d,
-	0xe8, 0x0e, 0x21, 0x53, 0xa2, 0xb0, 0x16, 0x0e, 0x62, 0xa6, 0xbe, 0x9b, 0x8c, 0xfc, 0x88, 0xa7,
-	0x41, 0x69, 0x25, 0x30, 0x0f, 0xa3, 0xc9, 0x59, 0x90, 0xab, 0x22, 0x07, 0x19, 0x8c, 0x27, 0xc2,
-	0xb0, 0x98, 0x1d, 0xac, 0xea, 0xfd, 0xd5, 0xaa, 0x90, 0xe6, 0xaa, 0x28, 0x7f, 0xad, 0xd2, 0xc3,
-	0xd5, 0x4a, 0x8a, 0xa5, 0x20, 0x15, 0x4d, 0xf3, 0x8b, 0x93, 0x55, 0x7e, 0x54, 0x8f, 0xae, 0xc8,
-	0xa3, 0x40, 0x2a, 0xaa, 0x26, 0xd2, 0xfe, 0x95, 0xea, 0xee, 0x3d, 0xbc, 0xf3, 0x18, 0x12, 0x50,
-	0x70, 0xcc, 0xe3, 0x10, 0x7e, 0x98, 0x80, 0x54, 0xe4, 0x16, 0x6e, 0xe9, 0x94, 0x64, 0x34, 0x05,
-	0x07, 0xf5, 0x90, 0xd7, 0x0e, 0xaf, 0x25, 0x3c, 0xfe, 0x82, 0xa6, 0xe0, 0xfe, 0xd5, 0xc0, 0x9d,
-	0x6f, 0x04, 0x33, 0xf0, 0x27, 0x99, 0x12, 0x0c, 0xe4, 0x6a, 0x2d, 0x72, 0x80, 0x5b, 0x55, 0x91,
-	0x9c, 0x46, 0x0f, 0x79, 0x9b, 0x83, 0xdb, 0xbe, 0x0d, 0x9b, 0xe6, 0xcc, 0x7f, 0x56, 0x95, 0x32,
-	0xb4, 0xa0, 0x70, 0x06, 0x27, 0xcf, 0xf0, 0x46, 0x42, 0x47, 0x90, 0x48, 0xa7, 0xd9, 0x6b, 0x7a,
-	0x9b, 0x83, 0x07, 0xfe, 0x42, 0x37, 0xfa, 0xcb, 0x03, 0xf2, 0x8f, 0x8d, 0x9e, 0x16, 0x16, 0xa1,
-	0x35, 0x42, 0x1e, 0xe0, 0x6b, 0x50, 0xa2, 0x9c, 0x35, 0x63, 0x6f, 0x6f, 0x89, 0x3d, 0x6b, 0xaa,
-	0x08, 0x2b, 0x2c, 0xd9, 0xc7, 0xdb, 0x39, 0x15, 0x8a, 0xd1, 0x64, 0x28, 0x27, 0x51, 0x04, 0x52,
-	0x3a, 0xeb, 0x3d, 0xe4, 0xb5, 0xc2, 0x2d, 0x2b, 0x3e, 0x2d, 0xa5, 0xdd, 0x03, 0xbc, 0x79, 0xc9,
-	0x2d, 0xd9, 0xc1, 0xcd, 0x17, 0x50, 0xd8, 0x74, 0xe8, 0x23, 0xb9, 0x89, 0xd7, 0xa7, 0x34, 0x99,
-	0x94, 0x79, 0x68, 0x87, 0xe5, 0xe5, 0xb0, 0xf1, 0x29, 0x72, 0x6f, 0xe1, 0xf7, 0x16, 0x88, 0xc8,
-	0x9c, 0x67, 0x12, 0xdc, 0x3f, 0x10, 0xde, 0x3d, 0x66, 0x52, 0x2d, 0x26, 0xfd, 0x03, 0xbc, 0x99,
-	0x0b, 0xfe, 0x3d, 0x44, 0x6a, 0xc8, 0xc6, 0xd2, 0x41, 0xbd, 0xa6, 0xd7, 0x0e, 0xb1, 0x15, 0x3d,
-	0x1d, 0x4b, 0x72, 0x07, 0x6f, 0x55, 0xb9, 0x34, 0xa5, 0x91, 0x4e, 0xcb, 0x60, 0xae, 0x57, 0x52,
-	0x5d, 0x20, 0x49, 0x3a, 0x78, 0xe3, 0x8c, 0x25, 0x0a, 0x84, 0x8d, 0xcb, 0xde, 0x74, 0x51, 0xb9,
-	0x18, 0x83, 0x18, 0x8e, 0x0a, 0xa7, 0x59, 0x16, 0xd5, 0xdc, 0x8f, 0x0a, 0xb2, 0x87, 0xdb, 0x39,
-	0x8d, 0x61, 0x28, 0xd9, 0x4b, 0x70, 0xd6, 0x7a, 0xc8, 0x5b, 0x0f, 0x5b, 0x5a, 0x70, 0xca, 0x5e,
-	0x02, 0xb9, 0x8d, 0xb1, 0x79, 0x54, 0xfc, 0x05, 0x64, 0x26, 0x57, 0xed, 0xd0, 0xc0, 0xbf, 0xd2,
-	0x02, 0xf7, 0x1c, 0x77, 0xe6, 0xf9, 0x94, 0x54, 0x2f, 0x17, 0x08, 0xbd, 0x41, 0x81, 0x3e, 0xc2,
-	0xdb, 0x19, 0xfc, 0xa8, 0x86, 0x97, 0x9c, 0x96, 0x44, 0xae, 0x6b, 0xf1, 0xc9, 0xcc, 0x31, 0xe0,
-	0x7d, 0xed, 0x78, 0xa1, 0xe3, 0x1e, 0x83, 0x8c, 0x04, 0xcb, 0x15, 0x17, 0xb3, 0xd4, 0xbe, 0xc6,
-	0x0f, 0x5d, 0xc9, 0xaf, 0x31, 0xcf, 0xef, 0x37, 0x84, 0xbd, 0xd5, 0x7e, 0x2c, 0xe5, 0xe7, 0xf8,
-	0xe6, 0xac, 0x44, 0xe3, 0x8b, 0x77, 0xcb, 0x7f, 0xff, 0xca, 0x49, 0xb9, 0xb0, 0x17, 0xbe, 0x2b,
-	0x16, 0x7d, 0xd4, 0xcd, 0xcb, 0xe0, 0xef, 0x35, 0xbc, 0x73, 0x5c, 0x26, 0xf8, 0xb4, 0x5c, 0xd8,
-	0x5f, 0x0f, 0xc8, 0x39, 0x6e, 0xcf, 0x76, 0x03, 0xf9, 0x70, 0x49, 0x1d, 0xe6, 0x37, 0x47, 0xb7,
-	0x53, 0x81, 0xaa, 0xfd, 0xe5, 0x3f, 0xd1, 0x7b, 0xce, 0xbd, 0xf7, 0xea, 0xcf, 0x7f, 0x7e, 0x6d,
-	0xec, 0xf7, 0xef, 0x04, 0xd3, 0xc1, 0x08, 0x14, 0xfd, 0x24, 0xf8, 0xa9, 0xda, 0x15, 0x8f, 0x6c,
-	0xb3, 0xca, 0xa0, 0xaf, 0x17, 0xb1, 0x0c, 0xfa, 0x3f, 0x93, 0x5f, 0x10, 0xde, 0x9e, 0x9b, 0x05,
-	0x72, 0xb7, 0xf6, 0xe0, 0x77, 0xfb, 0x75, 0xa0, 0x76, 0xb4, 0xde, 0x37, 0x91, 0x75, 0xdc, 0x1b,
-	0xfa, 0x43, 0x60, 0xbb, 0xe9, 0xf0, 0x5c, 0x83, 0x0f, 0x51, 0x9f, 0xbc, 0x42, 0x78, 0xeb, 0xf5,
-	0x46, 0x25, 0xde, 0xb2, 0x7e, 0x5c, 0x36, 0x9b, 0xdd, 0xbb, 0x35, 0x90, 0x36, 0x8a, 0x3d, 0x13,
-	0xc5, 0xae, 0xbb, 0x73, 0x39, 0x8a, 0x84, 0x49, 0xa5, 0x83, 0xf8, 0x1d, 0xe1, 0xde, 0xaa, 0x66,
-	0x22, 0x87, 0xff, 0xe3, 0xac, 0x46, 0xa7, 0x77, 0x1f, 0xbe, 0x95, 0xae, 0x0d, 0xdd, 0x33, 0xa1,
-	0xbb, 0xa4, 0xa7, 0x43, 0x4f, 0xaf, 0xd0, 0x38, 0xfa, 0x16, 0xef, 0x46, 0x3c, 0x5d, 0xf4, 0x75,
-	0xf4, 0x8e, 0xed, 0xbc, 0x13, 0xdd, 0x34, 0x27, 0xe8, 0xf9, 0xc7, 0x6f, 0xfa, 0x05, 0xff, 0x17,
-	0xa1, 0xd1, 0x86, 0x79, 0xbf, 0xff, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x21, 0x93, 0x51, 0x60,
-	0xee, 0x08, 0x00, 0x00,
+	Metadata: "google/logging/v2/logging.proto",
+}
+
+func init() { proto.RegisterFile("google/logging/v2/logging.proto", fileDescriptor1) }
+
+var fileDescriptor1 = []byte{
+	// 912 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x4f, 0x6f, 0x1b, 0x45,
+	0x14, 0xd7, 0xd8, 0x4d, 0x6a, 0xbf, 0xd0, 0xc4, 0x1d, 0x1a, 0xc7, 0xb5, 0xd3, 0xc6, 0x6c, 0x28,
+	0xd9, 0x5a, 0xea, 0xae, 0x30, 0xaa, 0xd4, 0xa6, 0xe2, 0x12, 0x5a, 0x21, 0xa4, 0x14, 0x45, 0x1b,
+	0xd4, 0x4a, 0xbd, 0x58, 0x6b, 0xfb, 0x75, 0x35, 0x74, 0xbd, 0xb3, 0xcc, 0x8c, 0x1d, 0xdc, 0xaa,
+	0x1c, 0x7a, 0xe0, 0x0b, 0xf0, 0x2d, 0x38, 0xf0, 0x2d, 0xb8, 0x72, 0xe1, 0xc2, 0x81, 0x23, 0x1f,
+	0x82, 0x23, 0x9a, 0xd9, 0x59, 0xc7, 0xb1, 0x5d, 0xc7, 0xe5, 0xb6, 0xf3, 0xe6, 0x37, 0xef, 0xfd,
+	0xde, 0xef, 0xfd, 0xb1, 0x61, 0x2f, 0xe2, 0x3c, 0x8a, 0xd1, 0x8f, 0x79, 0x14, 0xb1, 0x24, 0xf2,
+	0x47, 0xed, 0xfc, 0xd3, 0x4b, 0x05, 0x57, 0x9c, 0x5e, 0xcf, 0x00, 0x5e, 0x6e, 0x1d, 0xb5, 0xeb,
+	0xbb, 0xf6, 0x4d, 0x98, 0x32, 0x3f, 0x4c, 0x12, 0xae, 0x42, 0xc5, 0x78, 0x22, 0xb3, 0x07, 0xf5,
+	0xfd, 0xa9, 0xdb, 0x01, 0x4f, 0x98, 0xe2, 0x02, 0xfb, 0x1d, 0x81, 0x92, 0x0f, 0x45, 0x0f, 0x2d,
+	0xe8, 0x93, 0x85, 0x61, 0x3b, 0x98, 0x28, 0x31, 0xb6, 0x90, 0xdb, 0x16, 0x62, 0x4e, 0xdd, 0xe1,
+	0x4b, 0xbf, 0x3f, 0x14, 0x26, 0x90, 0xbd, 0x6f, 0xcc, 0xde, 0xe3, 0x20, 0x55, 0xf9, 0xe3, 0xbd,
+	0xd9, 0x4b, 0xc5, 0x06, 0x28, 0x55, 0x38, 0x48, 0x2d, 0x60, 0xc7, 0x02, 0x44, 0xda, 0xf3, 0xa5,
+	0x0a, 0xd5, 0xd0, 0xd2, 0x77, 0xee, 0x41, 0xe5, 0x31, 0xc6, 0xa8, 0xf0, 0x98, 0x47, 0x01, 0xfe,
+	0x30, 0x44, 0xa9, 0xe8, 0x4d, 0x28, 0x69, 0x76, 0x49, 0x38, 0xc0, 0x1a, 0x69, 0x12, 0xb7, 0x1c,
+	0x5c, 0x8d, 0x79, 0xf4, 0x6d, 0x38, 0x40, 0xe7, 0xaf, 0x02, 0x54, 0x9f, 0x0b, 0x66, 0xe0, 0x4f,
+	0x12, 0x25, 0x18, 0xca, 0xcb, 0x5f, 0xd1, 0x87, 0x50, 0xca, 0x05, 0xa9, 0x15, 0x9a, 0xc4, 0xdd,
+	0x68, 0xdf, 0xf2, 0xac, 0xce, 0x61, 0xca, 0xbc, 0xa7, 0xb9, 0x6c, 0x81, 0x05, 0x05, 0x13, 0x38,
+	0x7d, 0x0a, 0xeb, 0x71, 0xd8, 0xc5, 0x58, 0xd6, 0x8a, 0xcd, 0xa2, 0xbb, 0xd1, 0xbe, 0xef, 0xcd,
+	0x15, 0xc8, 0x5b, 0x4c, 0xc8, 0x3b, 0x36, 0xef, 0xb4, 0x71, 0x1c, 0x58, 0x27, 0xf4, 0x3e, 0x5c,
+	0xc5, 0x0c, 0x55, 0xbb, 0x62, 0xfc, 0x35, 0x16, 0xf8, 0xb3, 0xae, 0xc6, 0x41, 0x8e, 0xa5, 0x07,
+	0xb0, 0x95, 0x86, 0x42, 0xb1, 0x30, 0xee, 0xc8, 0x61, 0xaf, 0x87, 0x52, 0xd6, 0xd6, 0x9a, 0xc4,
+	0x2d, 0x05, 0x9b, 0xd6, 0x7c, 0x9a, 0x59, 0xeb, 0x0f, 0x61, 0x63, 0x2a, 0x2c, 0xad, 0x40, 0xf1,
+	0x15, 0x8e, 0xad, 0x1c, 0xfa, 0x93, 0xde, 0x80, 0xb5, 0x51, 0x18, 0x0f, 0x33, 0x1d, 0xca, 0x41,
+	0x76, 0x38, 0x2c, 0x3c, 0x20, 0xce, 0x4d, 0xd8, 0x99, 0x4b, 0x44, 0xa6, 0x3c, 0x91, 0xe8, 0xfc,
+	0x41, 0x60, 0xfb, 0x98, 0x49, 0x35, 0x2f, 0xfa, 0x1e, 0x6c, 0xa4, 0x82, 0x7f, 0x8f, 0x3d, 0xd5,
+	0x61, 0x7d, 0x59, 0x23, 0xcd, 0xa2, 0x5b, 0x0e, 0xc0, 0x9a, 0xbe, 0xe9, 0x4b, 0x7a, 0x07, 0x36,
+	0x73, 0x2d, 0x4d, 0x69, 0x64, 0xad, 0x64, 0x30, 0xd7, 0x72, 0xab, 0x2e, 0x90, 0xa4, 0x55, 0x58,
+	0x7f, 0xc9, 0x62, 0x85, 0xc2, 0xf2, 0xb2, 0x27, 0x5d, 0x54, 0x2e, 0xfa, 0x28, 0x3a, 0xdd, 0x71,
+	0xad, 0x98, 0x15, 0xd5, 0x9c, 0x8f, 0xc6, 0xb4, 0x01, 0xe5, 0x34, 0x8c, 0xb0, 0x23, 0xd9, 0x6b,
+	0xac, 0x5d, 0x69, 0x12, 0x77, 0x2d, 0x28, 0x69, 0xc3, 0x29, 0x7b, 0x8d, 0xf4, 0x16, 0x80, 0xb9,
+	0x54, 0xfc, 0x15, 0x26, 0x46, 0xab, 0x72, 0x60, 0xe0, 0xdf, 0x69, 0x83, 0x73, 0x06, 0xd5, 0xd9,
+	0x7c, 0xb2, 0x54, 0xa7, 0x0b, 0x44, 0x3e, 0xa0, 0x40, 0x9f, 0xc1, 0x56, 0x82, 0x3f, 0xaa, 0xce,
+	0x54, 0xd0, 0x2c, 0x91, 0x6b, 0xda, 0x7c, 0x32, 0x09, 0x8c, 0x70, 0xa0, 0x03, 0xcf, 0x75, 0xdc,
+	0x63, 0x94, 0x3d, 0xc1, 0x52, 0xc5, 0xc5, 0x44, 0xda, 0x0b, 0xf9, 0x91, 0xa5, 0xf9, 0x15, 0x66,
+	0xf3, 0xfb, 0x8d, 0x80, 0x7b, 0x79, 0x1c, 0x9b, 0xf2, 0x0b, 0xb8, 0x31, 0x29, 0x51, 0xff, 0xfc,
+	0xde, 0xe6, 0x7f, 0xb0, 0x74, 0x52, 0xce, 0xfd, 0x05, 0x1f, 0x8b, 0xf9, 0x18, 0x1f, 0xa0, 0xcb,
+	0x96, 0x2d, 0xc8, 0x24, 0xff, 0x2a, 0xac, 0xa7, 0xa1, 0xc0, 0x44, 0xd9, 0xf6, 0xb5, 0xa7, 0x8b,
+	0xba, 0x14, 0x96, 0xea, 0x52, 0x9c, 0xd5, 0xe5, 0x39, 0x54, 0xce, 0xc3, 0xd8, 0xf4, 0x1b, 0x50,
+	0xce, 0xf7, 0x46, 0x36, 0xe4, 0xe5, 0xa0, 0x64, 0x17, 0xc7, 0xca, 0xfc, 0xdb, 0x7f, 0xaf, 0x41,
+	0xe5, 0x38, 0x6b, 0x90, 0x53, 0x14, 0x23, 0xd6, 0xc3, 0x67, 0x6d, 0x7a, 0x06, 0xe5, 0xc9, 0x6e,
+	0xa3, 0xfb, 0x0b, 0xfa, 0x68, 0x76, 0xf3, 0xd5, 0xab, 0x39, 0x28, 0x5f, 0xa4, 0xde, 0x13, 0xbd,
+	0x65, 0x9d, 0x7b, 0xef, 0xfe, 0xfc, 0xe7, 0x97, 0xc2, 0x41, 0xeb, 0x8e, 0x3f, 0x6a, 0x77, 0x51,
+	0x85, 0x9f, 0xfb, 0x6f, 0x72, 0xce, 0x5f, 0xda, 0x61, 0x93, 0x7e, 0x4b, 0xef, 0x74, 0xe9, 0xb7,
+	0xde, 0xd2, 0x9f, 0x09, 0x6c, 0xcd, 0xcc, 0x32, 0xbd, 0xbb, 0xf2, 0xe2, 0xaa, 0xb7, 0x56, 0x81,
+	0xda, 0xd5, 0xb0, 0x6b, 0x98, 0x55, 0x9d, 0xeb, 0xfa, 0x37, 0xc5, 0x4e, 0xc3, 0xe1, 0x99, 0x06,
+	0x1f, 0x92, 0x16, 0x7d, 0x47, 0x60, 0xf3, 0xe2, 0xa0, 0x51, 0x77, 0xd1, 0x3c, 0x2d, 0xda, 0x2d,
+	0xf5, 0xbb, 0x2b, 0x20, 0x2d, 0x8b, 0x86, 0x61, 0xb1, 0xed, 0x54, 0xa6, 0x59, 0xc4, 0x4c, 0x2a,
+	0x4d, 0xe2, 0x77, 0x02, 0xcd, 0xcb, 0x86, 0x81, 0x1e, 0xbe, 0x27, 0xd8, 0x0a, 0x93, 0x5a, 0x7f,
+	0xf4, 0xbf, 0xde, 0x5a, 0xea, 0xae, 0xa1, 0xee, 0xd0, 0xa6, 0xa6, 0x3e, 0x58, 0x46, 0x71, 0x0c,
+	0xa5, 0xbc, 0x79, 0xa9, 0xf3, 0x7e, 0x6d, 0x26, 0xb4, 0xf6, 0x97, 0x62, 0x6c, 0xf8, 0x4f, 0x4d,
+	0xf8, 0xdb, 0x74, 0x57, 0x87, 0x7f, 0x93, 0x8d, 0xd8, 0x54, 0x4b, 0xbd, 0x35, 0x3d, 0x75, 0xf4,
+	0x13, 0x6c, 0xf7, 0xf8, 0x60, 0xde, 0xdf, 0xd1, 0x47, 0xb6, 0xe9, 0x4f, 0x74, 0xbf, 0x9e, 0x90,
+	0x17, 0x0f, 0x2c, 0x24, 0xe2, 0x71, 0x98, 0x44, 0x1e, 0x17, 0x91, 0x1f, 0x61, 0x62, 0xba, 0xd9,
+	0xcf, 0xae, 0xc2, 0x94, 0xc9, 0xa9, 0xff, 0x21, 0x8f, 0xec, 0xe7, 0xbf, 0x84, 0xfc, 0x5a, 0xd8,
+	0xf9, 0x3a, 0x7b, 0xfd, 0x55, 0xcc, 0x87, 0x7d, 0xcf, 0xba, 0xf6, 0x9e, 0xb5, 0xbb, 0xeb, 0xc6,
+	0xc3, 0x17, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x9a, 0x9f, 0x7c, 0xe8, 0x3f, 0x09, 0x00, 0x00,
 }
diff --git a/googleapis/logging/v2/logging.proto b/googleapis/logging/v2/logging.proto
deleted file mode 100644
index 9258cf7a07f90d45f5a1bc597d2b45a845e9c014..0000000000000000000000000000000000000000
--- a/googleapis/logging/v2/logging.proto
+++ /dev/null
@@ -1,190 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.logging.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto
-import "google.golang.org/genproto/googleapis/logging/v2/log_entry.proto"; // from google/logging/v2/log_entry.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "LoggingProto";
-option java_package = "com.google.logging.v2";
-
-option go_package = "google.golang.org/genproto/googleapis/logging/v2";
-
-// Service for ingesting and querying logs.
-service LoggingServiceV2 {
-  // Deletes a log and all its log entries.
-  // The log will reappear if it receives new entries.
-  rpc DeleteLog(DeleteLogRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v2beta1/{log_name=projects/*/logs/*}" };
-  }
-
-  // Writes log entries to Stackdriver Logging.  All log entries are
-  // written by this method.
-  rpc WriteLogEntries(WriteLogEntriesRequest) returns (WriteLogEntriesResponse) {
-    option (google.api.http) = { post: "/v2/entries:write" body: "*" };
-  }
-
-  // Lists log entries.  Use this method to retrieve log entries from Cloud
-  // Logging.  For ways to export log entries, see
-  // [Exporting Logs](/logging/docs/export).
-  rpc ListLogEntries(ListLogEntriesRequest) returns (ListLogEntriesResponse) {
-    option (google.api.http) = { post: "/v2/entries:list" body: "*" };
-  }
-
-  // Lists the monitored resource descriptors used by Stackdriver Logging.
-  rpc ListMonitoredResourceDescriptors(ListMonitoredResourceDescriptorsRequest) returns (ListMonitoredResourceDescriptorsResponse) {
-    option (google.api.http) = { get: "/v2/monitoredResourceDescriptors" };
-  }
-}
-
-// The parameters to DeleteLog.
-message DeleteLogRequest {
-  // Required. The resource name of the log to delete.  Example:
-  // `"projects/my-project/logs/syslog"`.
-  string log_name = 1;
-}
-
-// The parameters to WriteLogEntries.
-message WriteLogEntriesRequest {
-  // Optional. A default log resource name that is assigned to all log entries
-  // in `entries` that do not specify a value for `log_name`.  Example:
-  // `"projects/my-project/logs/syslog"`.  See
-  // [LogEntry][google.logging.v2.LogEntry].
-  string log_name = 1;
-
-  // Optional. A default monitored resource object that is assigned to all log
-  // entries in `entries` that do not specify a value for `resource`. Example:
-  //
-  //     { "type": "gce_instance",
-  //       "labels": {
-  //         "zone": "us-central1-a", "instance_id": "00000000000000000000" }}
-  //
-  // See [LogEntry][google.logging.v2.LogEntry].
-  google.api.MonitoredResource resource = 2;
-
-  // Optional. Default labels that are added to the `labels` field of all log
-  // entries in `entries`. If a log entry already has a label with the same key
-  // as a label in this parameter, then the log entry's label is not changed.
-  // See [LogEntry][google.logging.v2.LogEntry].
-  map<string, string> labels = 3;
-
-  // Required. The log entries to write. Values supplied for the fields
-  // `log_name`, `resource`, and `labels` in this `entries.write` request are
-  // added to those log entries that do not provide their own values for the
-  // fields.
-  //
-  // To improve throughput and to avoid exceeding the
-  // [quota limit](/logging/quota-policy) for calls to `entries.write`,
-  // you should write multiple log entries at once rather than
-  // calling this method for each individual log entry.
-  repeated LogEntry entries = 4;
-
-  // Optional. Whether valid entries should be written even if some other
-  // entries fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any
-  // entry is not written, the response status will be the error associated
-  // with one of the failed entries and include error details in the form of
-  // WriteLogEntriesPartialErrors.
-  bool partial_success = 5;
-}
-
-// Result returned from WriteLogEntries.
-// empty
-message WriteLogEntriesResponse {
-
-}
-
-// The parameters to `ListLogEntries`.
-message ListLogEntriesRequest {
-  // Deprecated. One or more project identifiers or project numbers from which
-  // to retrieve log entries.  Examples: `"my-project-1A"`, `"1234567890"`. If
-  // present, these project identifiers are converted to resource format and
-  // added to the list of resources in `resourceNames`. Callers should use
-  // `resourceNames` rather than this parameter.
-  repeated string project_ids = 1;
-
-  // Optional. One or more cloud resources from which to retrieve log entries.
-  // Example: `"projects/my-project-1A"`, `"projects/1234567890"`.  Projects
-  // listed in `projectIds` are added to this list.
-  repeated string resource_names = 8;
-
-  // Optional. A filter that chooses which log entries to return.  See [Advanced
-  // Logs Filters](/logging/docs/view/advanced_filters).  Only log entries that
-  // match the filter are returned.  An empty filter matches all log entries.
-  string filter = 2;
-
-  // Optional. How the results should be sorted.  Presently, the only permitted
-  // values are `"timestamp asc"` (default) and `"timestamp desc"`. The first
-  // option returns entries in order of increasing values of
-  // `LogEntry.timestamp` (oldest first), and the second option returns entries
-  // in order of decreasing timestamps (newest first).  Entries with equal
-  // timestamps are returned in order of `LogEntry.insertId`.
-  string order_by = 3;
-
-  // Optional. The maximum number of results to return from this request.
-  // Non-positive values are ignored.  The presence of `nextPageToken` in the
-  // response indicates that more results might be available.
-  int32 page_size = 4;
-
-  // Optional. If present, then retrieve the next batch of results from the
-  // preceding call to this method.  `pageToken` must be the value of
-  // `nextPageToken` from the previous response.  The values of other method
-  // parameters should be identical to those in the previous call.
-  string page_token = 5;
-}
-
-// Result returned from `ListLogEntries`.
-message ListLogEntriesResponse {
-  // A list of log entries.
-  repeated LogEntry entries = 1;
-
-  // If there might be more results than appear in this response, then
-  // `nextPageToken` is included.  To get the next set of results, call this
-  // method again using the value of `nextPageToken` as `pageToken`.
-  string next_page_token = 2;
-}
-
-// The parameters to ListMonitoredResourceDescriptors
-message ListMonitoredResourceDescriptorsRequest {
-  // Optional. The maximum number of results to return from this request.
-  // Non-positive values are ignored.  The presence of `nextPageToken` in the
-  // response indicates that more results might be available.
-  int32 page_size = 1;
-
-  // Optional. If present, then retrieve the next batch of results from the
-  // preceding call to this method.  `pageToken` must be the value of
-  // `nextPageToken` from the previous response.  The values of other method
-  // parameters should be identical to those in the previous call.
-  string page_token = 2;
-}
-
-// Result returned from ListMonitoredResourceDescriptors.
-message ListMonitoredResourceDescriptorsResponse {
-  // A list of resource descriptors.
-  repeated google.api.MonitoredResourceDescriptor resource_descriptors = 1;
-
-  // If there might be more results than appear in this response, then
-  // `nextPageToken` is included.  To get the next set of results, call this
-  // method again using the value of `nextPageToken` as `pageToken`.
-  string next_page_token = 2;
-}
diff --git a/googleapis/logging/v2/logging_config.pb.go b/googleapis/logging/v2/logging_config.pb.go
index 49f0f4bcbb9aceb1deddc0824692ef6179609a01..c5cf56c522e3a909a2337ce383410872c5bbd443 100644
--- a/googleapis/logging/v2/logging_config.pb.go
+++ b/googleapis/logging/v2/logging_config.pb.go
@@ -1,15 +1,15 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/logging/v2/logging_config.proto
+// source: google/logging/v2/logging_config.proto
 // DO NOT EDIT!
 
-package v2 // import "google.golang.org/genproto/googleapis/logging/v2"
+package logging
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf5 "github.com/golang/protobuf/ptypes/empty"
-import _ "github.com/golang/protobuf/ptypes/timestamp"
+import google_protobuf4 "github.com/golang/protobuf/ptypes/timestamp"
 
 import (
 	context "golang.org/x/net/context"
@@ -21,13 +21,13 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
-// Available log entry formats. Log entries can be written to Cloud
+// Available log entry formats. Log entries can be written to Stackdriver
 // Logging in either format and can be exported in either format.
 // Version 2 is the preferred format.
 type LogSink_VersionFormat int32
 
 const (
-	// An unspecified version format will default to V2.
+	// An unspecified format version that will default to V2.
 	LogSink_VERSION_FORMAT_UNSPECIFIED LogSink_VersionFormat = 0
 	// `LogEntry` version 2 format.
 	LogSink_V2 LogSink_VersionFormat = 1
@@ -49,60 +49,130 @@ var LogSink_VersionFormat_value = map[string]int32{
 func (x LogSink_VersionFormat) String() string {
 	return proto.EnumName(LogSink_VersionFormat_name, int32(x))
 }
-func (LogSink_VersionFormat) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 0} }
+func (LogSink_VersionFormat) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{0, 0} }
 
-// Describes a sink used to export log entries outside Stackdriver Logging.
+// Describes a sink used to export log entries to one of the following
+// destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a
+// Cloud Pub/Sub topic.  A logs filter controls which log entries are
+// exported. The sink must be created within a project or organization.
 type LogSink struct {
 	// Required. The client-assigned sink identifier, unique within the
 	// project. Example: `"my-syslog-errors-to-pubsub"`.  Sink identifiers are
-	// limited to 1000 characters and can include only the following characters:
-	// `A-Z`, `a-z`, `0-9`, and the special characters `_-.`.  The maximum length
-	// of the name is 100 characters.
+	// limited to 100 characters and can include only the following characters:
+	// upper and lower-case alphanumeric characters, underscores, hyphens, and
+	// periods.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	// Required. The export destination. See
-	// [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs).
-	// Examples:
+	// Required. The export destination:
+	//
+	//     "storage.googleapis.com/[GCS_BUCKET]"
+	//     "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]"
+	//     "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]"
 	//
-	//     "storage.googleapis.com/my-gcs-bucket"
-	//     "bigquery.googleapis.com/projects/my-project-id/datasets/my-dataset"
-	//     "pubsub.googleapis.com/projects/my-project/topics/my-topic"
+	// The sink's `writer_identity`, set when the sink is created, must
+	// have permission to write to the destination or else the log
+	// entries are not exported.  For more information, see
+	// [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs).
 	Destination string `protobuf:"bytes,3,opt,name=destination" json:"destination,omitempty"`
-	// Optional. An [advanced logs filter](/logging/docs/view/advanced_filters).
-	// Only log entries matching the filter are exported. The filter
-	// must be consistent with the log entry format specified by the
-	// `outputVersionFormat` parameter, regardless of the format of the
-	// log entry that was originally written to Stackdriver Logging.
-	// Example filter (V2 format):
+	// Optional.
+	// An [advanced logs filter](/logging/docs/view/advanced_filters).  The only
+	// exported log entries are those that are in the resource owning the sink and
+	// that match the filter. The filter must use the log entry format specified
+	// by the `output_version_format` parameter.  For example, in the v2 format:
 	//
-	//     logName=projects/my-projectid/logs/syslog AND severity>=ERROR
+	//     logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR
 	Filter string `protobuf:"bytes,5,opt,name=filter" json:"filter,omitempty"`
-	// Optional. The log entry version to use for this sink's exported log
-	// entries.  This version does not have to correspond to the version of the
-	// log entry that was written to Stackdriver Logging. If omitted, the
-	// v2 format is used.
+	// Optional. The log entry format to use for this sink's exported log
+	// entries.  The v2 format is used by default.
+	// **The v1 format is deprecated** and should be used only as part of a
+	// migration effort to v2.
+	// See [Migration to the v2 API](/logging/docs/api/v2/migration-to-v2).
 	OutputVersionFormat LogSink_VersionFormat `protobuf:"varint,6,opt,name=output_version_format,json=outputVersionFormat,enum=google.logging.v2.LogSink_VersionFormat" json:"output_version_format,omitempty"`
-	// Output only. The iam identity to which the destination needs to grant write
-	// access.  This may be a service account or a group.
-	// Examples (Do not assume these specific values):
-	//    "serviceAccount:cloud-logs@system.gserviceaccount.com"
-	//    "group:cloud-logs@google.com"
+	// Output only. An IAM identity&mdash;a service account or group&mdash;under
+	// which Stackdriver Logging writes the exported log entries to the sink's
+	// destination.  This field is set by
+	// [sinks.create](/logging/docs/api/reference/rest/v2/projects.sinks/create)
+	// and
+	// [sinks.update](/logging/docs/api/reference/rest/v2/projects.sinks/update),
+	// based on the setting of `unique_writer_identity` in those methods.
 	//
-	//   For GCS destinations, the role "roles/owner" is required on the bucket
-	//   For Cloud Pubsub destinations, the role "roles/pubsub.publisher" is
-	//     required on the topic
-	//   For BigQuery, the role "roles/editor" is required on the dataset
+	// Until you grant this identity write-access to the destination, log entry
+	// exports from this sink will fail. For more information,
+	// see [Granting access for a
+	// resource](/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource).
+	// Consult the destination service's documentation to determine the
+	// appropriate IAM roles to assign to the identity.
 	WriterIdentity string `protobuf:"bytes,8,opt,name=writer_identity,json=writerIdentity" json:"writer_identity,omitempty"`
+	// Optional. The time at which this sink will begin exporting log entries.
+	// Log entries are exported only if their timestamp is not earlier than the
+	// start time.  The default value of this field is the time the sink is
+	// created or updated.
+	StartTime *google_protobuf4.Timestamp `protobuf:"bytes,10,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
+	// Optional. The time at which this sink will stop exporting log entries.  Log
+	// entries are exported only if their timestamp is earlier than the end time.
+	// If this field is not supplied, there is no end time.  If both a start time
+	// and an end time are provided, then the end time must be later than the
+	// start time.
+	EndTime *google_protobuf4.Timestamp `protobuf:"bytes,11,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
 }
 
 func (m *LogSink) Reset()                    { *m = LogSink{} }
 func (m *LogSink) String() string            { return proto.CompactTextString(m) }
 func (*LogSink) ProtoMessage()               {}
-func (*LogSink) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+func (*LogSink) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+
+func (m *LogSink) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *LogSink) GetDestination() string {
+	if m != nil {
+		return m.Destination
+	}
+	return ""
+}
+
+func (m *LogSink) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *LogSink) GetOutputVersionFormat() LogSink_VersionFormat {
+	if m != nil {
+		return m.OutputVersionFormat
+	}
+	return LogSink_VERSION_FORMAT_UNSPECIFIED
+}
+
+func (m *LogSink) GetWriterIdentity() string {
+	if m != nil {
+		return m.WriterIdentity
+	}
+	return ""
+}
+
+func (m *LogSink) GetStartTime() *google_protobuf4.Timestamp {
+	if m != nil {
+		return m.StartTime
+	}
+	return nil
+}
+
+func (m *LogSink) GetEndTime() *google_protobuf4.Timestamp {
+	if m != nil {
+		return m.EndTime
+	}
+	return nil
+}
 
 // The parameters to `ListSinks`.
 type ListSinksRequest struct {
-	// Required. The cloud resource containing the sinks.
-	// Example: `"projects/my-logging-project"`.
+	// Required. The parent resource whose sinks are to be listed.
+	// Examples: `"projects/my-logging-project"`, `"organizations/123456789"`.
 	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
 	// Optional. If present, then retrieve the next batch of results from the
 	// preceding call to this method.  `pageToken` must be the value of
@@ -118,7 +188,28 @@ type ListSinksRequest struct {
 func (m *ListSinksRequest) Reset()                    { *m = ListSinksRequest{} }
 func (m *ListSinksRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListSinksRequest) ProtoMessage()               {}
-func (*ListSinksRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+func (*ListSinksRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+
+func (m *ListSinksRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListSinksRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListSinksRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
 
 // Result returned from `ListSinks`.
 type ListSinksResponse struct {
@@ -133,7 +224,7 @@ type ListSinksResponse struct {
 func (m *ListSinksResponse) Reset()                    { *m = ListSinksResponse{} }
 func (m *ListSinksResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListSinksResponse) ProtoMessage()               {}
-func (*ListSinksResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
+func (*ListSinksResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
 
 func (m *ListSinksResponse) GetSinks() []*LogSink {
 	if m != nil {
@@ -142,9 +233,20 @@ func (m *ListSinksResponse) GetSinks() []*LogSink {
 	return nil
 }
 
+func (m *ListSinksResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The parameters to `GetSink`.
 type GetSinkRequest struct {
-	// Required. The resource name of the sink to return.
+	// Required. The parent resource name of the sink:
+	//
+	//     "projects/[PROJECT_ID]/sinks/[SINK_ID]"
+	//     "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
+	//
 	// Example: `"projects/my-project-id/sinks/my-sink-id"`.
 	SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName" json:"sink_name,omitempty"`
 }
@@ -152,23 +254,52 @@ type GetSinkRequest struct {
 func (m *GetSinkRequest) Reset()                    { *m = GetSinkRequest{} }
 func (m *GetSinkRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetSinkRequest) ProtoMessage()               {}
-func (*GetSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
+func (*GetSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
+
+func (m *GetSinkRequest) GetSinkName() string {
+	if m != nil {
+		return m.SinkName
+	}
+	return ""
+}
 
 // The parameters to `CreateSink`.
 type CreateSinkRequest struct {
-	// Required. The resource in which to create the sink.
-	// Example: `"projects/my-project-id"`.
-	// The new sink must be provided in the request.
+	// Required. The resource in which to create the sink:
+	//
+	//     "projects/[PROJECT_ID]"
+	//     "organizations/[ORGANIZATION_ID]"
+	//
+	// Examples: `"projects/my-logging-project"`, `"organizations/123456789"`.
 	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
 	// Required. The new sink, whose `name` parameter is a sink identifier that
 	// is not already in use.
 	Sink *LogSink `protobuf:"bytes,2,opt,name=sink" json:"sink,omitempty"`
+	// Optional. Determines the kind of IAM identity returned as `writer_identity`
+	// in the new sink.  If this value is omitted or set to false, and if the
+	// sink's parent is a project, then the value returned as `writer_identity` is
+	// `cloud-logs@google.com`, the same identity used before the addition of
+	// writer identities to this API. The sink's destination must be in the same
+	// project as the sink itself.
+	//
+	// If this field is set to true, or if the sink is owned by a non-project
+	// resource such as an organization, then the value of `writer_identity` will
+	// be a unique service account used only for exports from the new sink.  For
+	// more information, see `writer_identity` in [LogSink][google.logging.v2.LogSink].
+	UniqueWriterIdentity bool `protobuf:"varint,3,opt,name=unique_writer_identity,json=uniqueWriterIdentity" json:"unique_writer_identity,omitempty"`
 }
 
 func (m *CreateSinkRequest) Reset()                    { *m = CreateSinkRequest{} }
 func (m *CreateSinkRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateSinkRequest) ProtoMessage()               {}
-func (*CreateSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
+func (*CreateSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
+
+func (m *CreateSinkRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
 
 func (m *CreateSinkRequest) GetSink() *LogSink {
 	if m != nil {
@@ -177,22 +308,52 @@ func (m *CreateSinkRequest) GetSink() *LogSink {
 	return nil
 }
 
+func (m *CreateSinkRequest) GetUniqueWriterIdentity() bool {
+	if m != nil {
+		return m.UniqueWriterIdentity
+	}
+	return false
+}
+
 // The parameters to `UpdateSink`.
 type UpdateSinkRequest struct {
-	// Required. The resource name of the sink to update, including the parent
-	// resource and the sink identifier.  If the sink does not exist, this method
-	// creates the sink.  Example: `"projects/my-project-id/sinks/my-sink-id"`.
+	// Required. The full resource name of the sink to update, including the
+	// parent resource and the sink identifier:
+	//
+	//     "projects/[PROJECT_ID]/sinks/[SINK_ID]"
+	//     "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
+	//
+	// Example: `"projects/my-project-id/sinks/my-sink-id"`.
 	SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName" json:"sink_name,omitempty"`
 	// Required. The updated sink, whose name is the same identifier that appears
-	// as part of `sinkName`.  If `sinkName` does not exist, then
+	// as part of `sink_name`.  If `sink_name` does not exist, then
 	// this method creates a new sink.
 	Sink *LogSink `protobuf:"bytes,2,opt,name=sink" json:"sink,omitempty"`
+	// Optional. See
+	// [sinks.create](/logging/docs/api/reference/rest/v2/projects.sinks/create)
+	// for a description of this field.  When updating a sink, the effect of this
+	// field on the value of `writer_identity` in the updated sink depends on both
+	// the old and new values of this field:
+	//
+	// +   If the old and new values of this field are both false or both true,
+	//     then there is no change to the sink's `writer_identity`.
+	// +   If the old value was false and the new value is true, then
+	//     `writer_identity` is changed to a unique service account.
+	// +   It is an error if the old value was true and the new value is false.
+	UniqueWriterIdentity bool `protobuf:"varint,3,opt,name=unique_writer_identity,json=uniqueWriterIdentity" json:"unique_writer_identity,omitempty"`
 }
 
 func (m *UpdateSinkRequest) Reset()                    { *m = UpdateSinkRequest{} }
 func (m *UpdateSinkRequest) String() string            { return proto.CompactTextString(m) }
 func (*UpdateSinkRequest) ProtoMessage()               {}
-func (*UpdateSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
+func (*UpdateSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
+
+func (m *UpdateSinkRequest) GetSinkName() string {
+	if m != nil {
+		return m.SinkName
+	}
+	return ""
+}
 
 func (m *UpdateSinkRequest) GetSink() *LogSink {
 	if m != nil {
@@ -201,19 +362,38 @@ func (m *UpdateSinkRequest) GetSink() *LogSink {
 	return nil
 }
 
+func (m *UpdateSinkRequest) GetUniqueWriterIdentity() bool {
+	if m != nil {
+		return m.UniqueWriterIdentity
+	}
+	return false
+}
+
 // The parameters to `DeleteSink`.
 type DeleteSinkRequest struct {
-	// Required. The resource name of the sink to delete, including the parent
-	// resource and the sink identifier.  Example:
-	// `"projects/my-project-id/sinks/my-sink-id"`.  It is an error if the sink
-	// does not exist.
+	// Required. The full resource name of the sink to delete, including the
+	// parent resource and the sink identifier:
+	//
+	//     "projects/[PROJECT_ID]/sinks/[SINK_ID]"
+	//     "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
+	//
+	// It is an error if the sink does not exist.  Example:
+	// `"projects/my-project-id/sinks/my-sink-id"`.  It is an error if
+	// the sink does not exist.
 	SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName" json:"sink_name,omitempty"`
 }
 
 func (m *DeleteSinkRequest) Reset()                    { *m = DeleteSinkRequest{} }
 func (m *DeleteSinkRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteSinkRequest) ProtoMessage()               {}
-func (*DeleteSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
+func (*DeleteSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
+
+func (m *DeleteSinkRequest) GetSinkName() string {
+	if m != nil {
+		return m.SinkName
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*LogSink)(nil), "google.logging.v2.LogSink")
@@ -241,11 +421,23 @@ type ConfigServiceV2Client interface {
 	ListSinks(ctx context.Context, in *ListSinksRequest, opts ...grpc.CallOption) (*ListSinksResponse, error)
 	// Gets a sink.
 	GetSink(ctx context.Context, in *GetSinkRequest, opts ...grpc.CallOption) (*LogSink, error)
-	// Creates a sink.
+	// Creates a sink that exports specified log entries to a destination.  The
+	// export of newly-ingested log entries begins immediately, unless the current
+	// time is outside the sink's start and end times or the sink's
+	// `writer_identity` is not permitted to write to the destination.  A sink can
+	// export log entries only from the resource owning the sink.
 	CreateSink(ctx context.Context, in *CreateSinkRequest, opts ...grpc.CallOption) (*LogSink, error)
-	// Updates or creates a sink.
+	// Updates a sink. If the named sink doesn't exist, then this method is
+	// identical to
+	// [sinks.create](/logging/docs/api/reference/rest/v2/projects.sinks/create).
+	// If the named sink does exist, then this method replaces the following
+	// fields in the existing sink with values from the new sink: `destination`,
+	// `filter`, `output_version_format`, `start_time`, and `end_time`.
+	// The updated filter might also have a new `writer_identity`; see the
+	// `unique_writer_identity` field.
 	UpdateSink(ctx context.Context, in *UpdateSinkRequest, opts ...grpc.CallOption) (*LogSink, error)
-	// Deletes a sink.
+	// Deletes a sink. If the sink has a unique `writer_identity`, then that
+	// service account is also deleted.
 	DeleteSink(ctx context.Context, in *DeleteSinkRequest, opts ...grpc.CallOption) (*google_protobuf5.Empty, error)
 }
 
@@ -309,11 +501,23 @@ type ConfigServiceV2Server interface {
 	ListSinks(context.Context, *ListSinksRequest) (*ListSinksResponse, error)
 	// Gets a sink.
 	GetSink(context.Context, *GetSinkRequest) (*LogSink, error)
-	// Creates a sink.
+	// Creates a sink that exports specified log entries to a destination.  The
+	// export of newly-ingested log entries begins immediately, unless the current
+	// time is outside the sink's start and end times or the sink's
+	// `writer_identity` is not permitted to write to the destination.  A sink can
+	// export log entries only from the resource owning the sink.
 	CreateSink(context.Context, *CreateSinkRequest) (*LogSink, error)
-	// Updates or creates a sink.
+	// Updates a sink. If the named sink doesn't exist, then this method is
+	// identical to
+	// [sinks.create](/logging/docs/api/reference/rest/v2/projects.sinks/create).
+	// If the named sink does exist, then this method replaces the following
+	// fields in the existing sink with values from the new sink: `destination`,
+	// `filter`, `output_version_format`, `start_time`, and `end_time`.
+	// The updated filter might also have a new `writer_identity`; see the
+	// `unique_writer_identity` field.
 	UpdateSink(context.Context, *UpdateSinkRequest) (*LogSink, error)
-	// Deletes a sink.
+	// Deletes a sink. If the sink has a unique `writer_identity`, then that
+	// service account is also deleted.
 	DeleteSink(context.Context, *DeleteSinkRequest) (*google_protobuf5.Empty, error)
 }
 
@@ -437,59 +641,61 @@ var _ConfigServiceV2_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/logging/v2/logging_config.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/v2/logging_config.proto", fileDescriptor1)
-}
-
-var fileDescriptor1 = []byte{
-	// 724 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x55, 0xef, 0x4e, 0x1a, 0x4b,
-	0x14, 0xbf, 0xa0, 0xa2, 0x1c, 0xa3, 0xc2, 0xdc, 0x68, 0xc8, 0x1a, 0xef, 0xe5, 0xee, 0xd5, 0x7b,
-	0x09, 0x37, 0x77, 0x97, 0xe2, 0xb7, 0x36, 0x4d, 0x53, 0x15, 0x1b, 0x12, 0xab, 0x06, 0x94, 0x0f,
-	0xb6, 0xc9, 0x76, 0xc5, 0xc3, 0x76, 0x2a, 0x3b, 0xb3, 0xdd, 0x19, 0x68, 0xd5, 0x98, 0x34, 0x7d,
-	0x85, 0x3e, 0x40, 0x1f, 0xaa, 0xaf, 0xd0, 0xe7, 0x68, 0x9a, 0x9d, 0x59, 0x04, 0x05, 0x29, 0x7e,
-	0xd1, 0x99, 0xdf, 0xf9, 0xf3, 0x3b, 0xe7, 0x77, 0xce, 0x0e, 0x50, 0xf1, 0x38, 0xf7, 0xda, 0x68,
-	0x79, 0xbc, 0xed, 0x32, 0xcf, 0xe2, 0xa1, 0x67, 0x7b, 0xc8, 0x82, 0x90, 0x4b, 0x6e, 0x6b, 0x93,
-	0x1b, 0x50, 0x61, 0xb7, 0xb9, 0xe7, 0x51, 0xe6, 0xd9, 0xdd, 0x72, 0xef, 0xe8, 0x34, 0x39, 0x6b,
-	0x51, 0xcf, 0x52, 0xae, 0x24, 0x1b, 0xa7, 0x89, 0x8d, 0x56, 0xb7, 0x6c, 0x54, 0x27, 0xcb, 0xec,
-	0x06, 0xd4, 0x16, 0x18, 0x76, 0x69, 0x13, 0x75, 0x46, 0xdb, 0x65, 0x8c, 0x4b, 0x57, 0x52, 0xce,
-	0x84, 0xce, 0x6e, 0x6c, 0x7a, 0x54, 0xbe, 0xed, 0x9c, 0x5a, 0x4d, 0xee, 0xdb, 0x3a, 0x9d, 0xad,
-	0x0c, 0xa7, 0x9d, 0x96, 0x1d, 0xc8, 0x8b, 0x00, 0x85, 0x8d, 0x7e, 0x20, 0x2f, 0xf4, 0xdf, 0x38,
-	0xe8, 0xc9, 0xaf, 0x83, 0x24, 0xf5, 0x51, 0x48, 0xd7, 0x0f, 0xfa, 0x27, 0x1d, 0x6c, 0x7e, 0x4d,
-	0xc2, 0xec, 0x1e, 0xf7, 0xea, 0x94, 0x9d, 0x13, 0x02, 0xd3, 0xcc, 0xf5, 0x31, 0x97, 0xc8, 0x27,
-	0x0a, 0xe9, 0x9a, 0x3a, 0x93, 0x3c, 0xcc, 0x9f, 0xa1, 0x90, 0x94, 0xa9, 0x3a, 0x73, 0x53, 0xca,
-	0x34, 0x08, 0x91, 0x15, 0x48, 0xb5, 0x68, 0x5b, 0x62, 0x98, 0x9b, 0x51, 0xc6, 0xf8, 0x46, 0x5e,
-	0xc3, 0x32, 0xef, 0xc8, 0xa0, 0x23, 0x9d, 0x2e, 0x86, 0x82, 0x72, 0xe6, 0xb4, 0x78, 0xe8, 0xbb,
-	0x32, 0x97, 0xca, 0x27, 0x0a, 0x8b, 0xe5, 0x82, 0x35, 0xa4, 0xa4, 0x15, 0x17, 0x62, 0x35, 0x74,
-	0xc0, 0xae, 0xf2, 0xaf, 0xfd, 0xae, 0xd3, 0xdc, 0x02, 0xc9, 0xbf, 0xb0, 0xf4, 0x21, 0xa4, 0x12,
-	0x43, 0x87, 0x9e, 0x21, 0x93, 0x54, 0x5e, 0xe4, 0xe6, 0x14, 0xfd, 0xa2, 0x86, 0xab, 0x31, 0x6a,
-	0x3e, 0x83, 0x85, 0xdb, 0x91, 0x7f, 0x80, 0xd1, 0xa8, 0xd4, 0xea, 0xd5, 0x83, 0x7d, 0x67, 0xf7,
-	0xa0, 0xf6, 0xf2, 0xf9, 0x91, 0x73, 0xbc, 0x5f, 0x3f, 0xac, 0x6c, 0x57, 0x77, 0xab, 0x95, 0x9d,
-	0xcc, 0x6f, 0x24, 0x05, 0xc9, 0x46, 0x39, 0x93, 0x50, 0xff, 0x1f, 0x65, 0x92, 0x66, 0x0b, 0x32,
-	0x7b, 0x54, 0xc8, 0xa8, 0x30, 0x51, 0xc3, 0xf7, 0x1d, 0x14, 0x32, 0xea, 0x39, 0x70, 0x43, 0x64,
-	0x32, 0xd6, 0x2a, 0xbe, 0x91, 0x35, 0x80, 0xc0, 0xf5, 0xd0, 0x91, 0xfc, 0x1c, 0x59, 0x2e, 0xa9,
-	0x6c, 0xe9, 0x08, 0x39, 0x8a, 0x00, 0xb2, 0x0a, 0xea, 0xe2, 0x08, 0x7a, 0x89, 0x4a, 0xca, 0x99,
-	0xda, 0x5c, 0x04, 0xd4, 0xe9, 0x25, 0x9a, 0x3e, 0x64, 0x07, 0x78, 0x44, 0xc0, 0x99, 0x40, 0x52,
-	0x82, 0x19, 0x11, 0x01, 0xb9, 0x44, 0x7e, 0xaa, 0x30, 0x5f, 0x36, 0xee, 0x17, 0xad, 0xa6, 0x1d,
-	0xc9, 0x3f, 0xb0, 0xc4, 0xf0, 0xa3, 0x74, 0x86, 0xea, 0x58, 0x88, 0xe0, 0xc3, 0x5e, 0x2d, 0xe6,
-	0xff, 0xb0, 0xf8, 0x02, 0x15, 0x5b, 0xaf, 0xa9, 0x55, 0x48, 0x47, 0x29, 0x9c, 0x81, 0x1d, 0x98,
-	0x8b, 0x80, 0x7d, 0xd7, 0x47, 0xf3, 0x15, 0x64, 0xb7, 0x43, 0x74, 0x25, 0x0e, 0x46, 0xdc, 0x27,
-	0x83, 0x05, 0xd3, 0x51, 0xa0, 0x22, 0x1e, 0x5f, 0xb4, 0xf2, 0x33, 0xdf, 0x40, 0xf6, 0x38, 0x38,
-	0xbb, 0x93, 0x7c, 0x5c, 0x39, 0x0f, 0x66, 0x28, 0x41, 0x76, 0x07, 0xdb, 0x38, 0x39, 0x43, 0xf9,
-	0xc7, 0x34, 0x2c, 0x6d, 0xab, 0xef, 0xb4, 0xae, 0x3f, 0xda, 0x46, 0x99, 0x5c, 0x43, 0xfa, 0x66,
-	0x44, 0xe4, 0xef, 0x51, 0xa4, 0x77, 0x16, 0xc5, 0x58, 0x1f, 0xef, 0xa4, 0xa7, 0x6c, 0x6e, 0x7c,
-	0xfe, 0xf6, 0xfd, 0x4b, 0xf2, 0x4f, 0xb2, 0x16, 0x3d, 0x3b, 0x57, 0x5a, 0xc4, 0xa7, 0x41, 0xc8,
-	0xdf, 0x61, 0x53, 0x0a, 0xbb, 0x78, 0x6d, 0xeb, 0xd1, 0x4a, 0x98, 0x8d, 0x47, 0x46, 0xfe, 0x1a,
-	0x91, 0xf7, 0xf6, 0x38, 0x8d, 0x31, 0xa2, 0x98, 0x45, 0x45, 0xb8, 0x4e, 0x4c, 0x45, 0x78, 0x23,
-	0xc2, 0x00, 0xa7, 0xa6, 0xb4, 0x8b, 0xd7, 0xe4, 0x0a, 0xa0, 0x3f, 0x79, 0x32, 0xaa, 0xa1, 0xa1,
-	0xc5, 0x18, 0xcb, 0xfd, 0x9f, 0xe2, 0xde, 0x30, 0xc7, 0x37, 0xfb, 0x58, 0xcd, 0x8d, 0x7c, 0x4a,
-	0x00, 0xf4, 0x57, 0x63, 0x24, 0xfb, 0xd0, 0xe6, 0x8c, 0x65, 0x2f, 0x29, 0xf6, 0xa2, 0x31, 0x41,
-	0xe7, 0x71, 0x09, 0x5d, 0x80, 0xfe, 0xea, 0x8c, 0xac, 0x60, 0x68, 0xb3, 0x8c, 0x95, 0x9e, 0x57,
-	0xef, 0x21, 0xb6, 0x2a, 0xd1, 0x83, 0xdd, 0xd3, 0xbd, 0x38, 0x01, 0xfb, 0xd6, 0x09, 0x2c, 0x37,
-	0xb9, 0x3f, 0x4c, 0xb7, 0xb5, 0xb0, 0xa7, 0xcf, 0x7a, 0x3b, 0x0f, 0x13, 0x27, 0xa5, 0x87, 0xfe,
-	0xb4, 0x9d, 0xa6, 0x94, 0x71, 0xf3, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff, 0x52, 0x86, 0xdf, 0xea,
-	0x15, 0x07, 0x00, 0x00,
+	Metadata: "google/logging/v2/logging_config.proto",
+}
+
+func init() { proto.RegisterFile("google/logging/v2/logging_config.proto", fileDescriptor2) }
+
+var fileDescriptor2 = []byte{
+	// 787 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0xed, 0x4e, 0x33, 0x45,
+	0x14, 0x76, 0x0b, 0x94, 0xf6, 0x90, 0x17, 0xda, 0xd1, 0x17, 0x37, 0x8b, 0xaf, 0xd4, 0x15, 0xb0,
+	0xa9, 0x71, 0x17, 0x57, 0x4d, 0xfc, 0x88, 0x31, 0x52, 0x0a, 0x69, 0x82, 0xd0, 0x6c, 0xa1, 0x26,
+	0xc6, 0x64, 0xb3, 0xb4, 0xd3, 0xcd, 0x48, 0x77, 0x66, 0xd9, 0x9d, 0x56, 0x81, 0x90, 0xa8, 0x77,
+	0x40, 0x4c, 0xbc, 0x08, 0x6f, 0xc7, 0x5b, 0xf0, 0x3a, 0x8c, 0x99, 0x99, 0x2d, 0xb4, 0xdd, 0x5a,
+	0xf9, 0xe5, 0xaf, 0x9d, 0xf3, 0x35, 0xcf, 0x73, 0xce, 0x79, 0x32, 0x0b, 0x7b, 0x01, 0x63, 0xc1,
+	0x00, 0xdb, 0x03, 0x16, 0x04, 0x84, 0x06, 0xf6, 0xc8, 0x19, 0x1f, 0xbd, 0x2e, 0xa3, 0x7d, 0x12,
+	0x58, 0x51, 0xcc, 0x38, 0x43, 0x65, 0x95, 0x67, 0xa5, 0x41, 0x6b, 0xe4, 0x18, 0x6f, 0xa5, 0xa5,
+	0x7e, 0x44, 0x6c, 0x9f, 0x52, 0xc6, 0x7d, 0x4e, 0x18, 0x4d, 0x54, 0x81, 0xb1, 0x95, 0x46, 0xa5,
+	0x75, 0x39, 0xec, 0xdb, 0x38, 0x8c, 0xf8, 0x4d, 0x1a, 0xdc, 0x9e, 0x0d, 0x72, 0x12, 0xe2, 0x84,
+	0xfb, 0x61, 0xa4, 0x12, 0xcc, 0x87, 0x25, 0x58, 0x3d, 0x61, 0x41, 0x9b, 0xd0, 0x2b, 0x84, 0x60,
+	0x99, 0xfa, 0x21, 0xd6, 0xb5, 0x8a, 0x56, 0x2d, 0xba, 0xf2, 0x8c, 0x2a, 0xb0, 0xd6, 0xc3, 0x09,
+	0x27, 0x54, 0x62, 0xea, 0x4b, 0x32, 0x34, 0xe9, 0x42, 0x9b, 0x90, 0xef, 0x93, 0x01, 0xc7, 0xb1,
+	0xbe, 0x22, 0x83, 0xa9, 0x85, 0xbe, 0x87, 0x97, 0x6c, 0xc8, 0xa3, 0x21, 0xf7, 0x46, 0x38, 0x4e,
+	0x08, 0xa3, 0x5e, 0x9f, 0xc5, 0xa1, 0xcf, 0xf5, 0x7c, 0x45, 0xab, 0xae, 0x3b, 0x55, 0x2b, 0xd3,
+	0xa8, 0x95, 0x12, 0xb1, 0x3a, 0xaa, 0xe0, 0x48, 0xe6, 0xbb, 0xaf, 0xab, 0x6b, 0xa6, 0x9c, 0xe8,
+	0x3d, 0xd8, 0xf8, 0x31, 0x26, 0x1c, 0xc7, 0x1e, 0xe9, 0x61, 0xca, 0x09, 0xbf, 0xd1, 0x0b, 0x12,
+	0x7e, 0x5d, 0xb9, 0x9b, 0xa9, 0x17, 0x7d, 0x06, 0x90, 0x70, 0x3f, 0xe6, 0x9e, 0xe8, 0x5c, 0x87,
+	0x8a, 0x56, 0x5d, 0x73, 0x8c, 0x31, 0xf6, 0x78, 0x2c, 0xd6, 0xf9, 0x78, 0x2c, 0x6e, 0x51, 0x66,
+	0x0b, 0x1b, 0x7d, 0x02, 0x05, 0x4c, 0x7b, 0xaa, 0x70, 0xed, 0x3f, 0x0b, 0x57, 0x31, 0xed, 0x09,
+	0xcb, 0xfc, 0x0a, 0x5e, 0x4c, 0x73, 0x7d, 0x1b, 0x8c, 0x4e, 0xc3, 0x6d, 0x37, 0xcf, 0x4e, 0xbd,
+	0xa3, 0x33, 0xf7, 0x9b, 0xaf, 0xcf, 0xbd, 0x8b, 0xd3, 0x76, 0xab, 0x51, 0x6f, 0x1e, 0x35, 0x1b,
+	0x87, 0xa5, 0xd7, 0x50, 0x1e, 0x72, 0x1d, 0xa7, 0xa4, 0xc9, 0xef, 0x87, 0xa5, 0x9c, 0xd9, 0x87,
+	0xd2, 0x09, 0x49, 0xb8, 0x18, 0x45, 0xe2, 0xe2, 0xeb, 0x21, 0x4e, 0xb8, 0x98, 0x72, 0xe4, 0xc7,
+	0x98, 0xf2, 0x74, 0x3b, 0xa9, 0x85, 0x5e, 0x01, 0x44, 0x7e, 0x80, 0x3d, 0xce, 0xae, 0x30, 0xd5,
+	0x73, 0x32, 0x56, 0x14, 0x9e, 0x73, 0xe1, 0x40, 0x5b, 0x20, 0x0d, 0x2f, 0x21, 0xb7, 0x58, 0x2e,
+	0x6f, 0xc5, 0x2d, 0x08, 0x47, 0x9b, 0xdc, 0x62, 0x33, 0x84, 0xf2, 0x04, 0x4e, 0x12, 0x31, 0x9a,
+	0x60, 0xb4, 0x0f, 0x2b, 0x89, 0x70, 0xe8, 0x5a, 0x65, 0x69, 0xb2, 0xe3, 0xec, 0x9a, 0x5c, 0x95,
+	0x88, 0xf6, 0x60, 0x83, 0xe2, 0x9f, 0xb8, 0x97, 0xe1, 0xf1, 0x42, 0xb8, 0x5b, 0x63, 0x2e, 0xe6,
+	0x07, 0xb0, 0x7e, 0x8c, 0x25, 0xda, 0xb8, 0xa9, 0x2d, 0x28, 0x8a, 0x2b, 0xbc, 0x09, 0xd5, 0x15,
+	0x84, 0xe3, 0xd4, 0x0f, 0xb1, 0xf9, 0xa0, 0x41, 0xb9, 0x1e, 0x63, 0x9f, 0xe3, 0xc9, 0x92, 0x7f,
+	0x9b, 0x83, 0x05, 0xcb, 0xa2, 0x52, 0x22, 0x2f, 0x66, 0x2d, 0xf3, 0xd0, 0xc7, 0xb0, 0x39, 0xa4,
+	0xe4, 0x7a, 0x88, 0xbd, 0x59, 0x19, 0x89, 0x29, 0x15, 0xdc, 0x37, 0x54, 0xf4, 0xdb, 0x29, 0x31,
+	0x99, 0xbf, 0x6b, 0x50, 0xbe, 0x88, 0x7a, 0x33, 0x9c, 0x16, 0xb5, 0xf1, 0x3f, 0x11, 0xdb, 0x87,
+	0xf2, 0x21, 0x1e, 0xe0, 0xe7, 0xf3, 0x72, 0xfe, 0x5e, 0x86, 0x8d, 0xba, 0x7c, 0x78, 0xda, 0x38,
+	0x1e, 0x91, 0x2e, 0xee, 0x38, 0xe8, 0x1e, 0x8a, 0x8f, 0x82, 0x40, 0xef, 0xce, 0xa3, 0x3a, 0x23,
+	0x4b, 0x63, 0x67, 0x71, 0x92, 0xd2, 0x94, 0xb9, 0xfb, 0xeb, 0x9f, 0x7f, 0xfd, 0x96, 0xdb, 0x46,
+	0xaf, 0xc4, 0xab, 0x77, 0xa7, 0x36, 0xf6, 0x65, 0x14, 0xb3, 0x1f, 0x70, 0x97, 0x27, 0x76, 0xed,
+	0xde, 0x56, 0x42, 0xe2, 0xb0, 0x9a, 0x0a, 0x04, 0xbd, 0x33, 0xe7, 0xde, 0x69, 0xf1, 0x18, 0x0b,
+	0x46, 0x69, 0xd6, 0x24, 0xe0, 0x0e, 0x32, 0x25, 0xe0, 0xe3, 0x10, 0x26, 0x30, 0x15, 0xa4, 0x5d,
+	0xbb, 0x47, 0x77, 0x00, 0x4f, 0x32, 0x43, 0xf3, 0x1a, 0xca, 0xa8, 0x70, 0x21, 0xf6, 0xfb, 0x12,
+	0x7b, 0xd7, 0x5c, 0xdc, 0xec, 0xe7, 0x6a, 0xdb, 0x3f, 0x6b, 0x00, 0x4f, 0x82, 0x9a, 0x8b, 0x9e,
+	0xd1, 0xdb, 0x42, 0xf4, 0x7d, 0x89, 0x5e, 0x33, 0x9e, 0xd1, 0x79, 0x4a, 0x61, 0x04, 0xf0, 0x24,
+	0x9d, 0xb9, 0x0c, 0x32, 0xca, 0x32, 0x36, 0x33, 0xef, 0x60, 0x43, 0xfc, 0x74, 0xc6, 0x73, 0xaf,
+	0x3d, 0x03, 0xfd, 0xe0, 0x17, 0x0d, 0x5e, 0x76, 0x59, 0x98, 0xc5, 0x3b, 0x40, 0x27, 0xea, 0xac,
+	0xe4, 0xd9, 0x12, 0x10, 0x2d, 0xed, 0xbb, 0x4f, 0xd3, 0xc4, 0x80, 0x0d, 0x7c, 0x1a, 0x58, 0x2c,
+	0x0e, 0xec, 0x00, 0x53, 0x49, 0xc0, 0x56, 0x21, 0x3f, 0x22, 0xc9, 0xc4, 0xff, 0xf5, 0x8b, 0xf4,
+	0xf8, 0x47, 0xee, 0xcd, 0x63, 0x55, 0x5a, 0x1f, 0xb0, 0x61, 0xcf, 0x4a, 0x6f, 0xb7, 0x3a, 0xce,
+	0x65, 0x5e, 0x96, 0x7f, 0xf4, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x9e, 0xa5, 0xee, 0x9d,
+	0x07, 0x00, 0x00,
 }
diff --git a/googleapis/logging/v2/logging_config.proto b/googleapis/logging/v2/logging_config.proto
deleted file mode 100644
index fb9df625d82441132f9c1b17c904eb06d3b12bd8..0000000000000000000000000000000000000000
--- a/googleapis/logging/v2/logging_config.proto
+++ /dev/null
@@ -1,187 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.logging.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "LoggingConfig";
-option java_package = "com.google.logging.v2";
-
-option go_package = "google.golang.org/genproto/googleapis/logging/v2";
-
-// Service for configuring sinks used to export log entries outside Stackdriver
-// Logging.
-service ConfigServiceV2 {
-  // Lists sinks.
-  rpc ListSinks(ListSinksRequest) returns (ListSinksResponse) {
-    option (google.api.http) = { get: "/v2/{parent=projects/*}/sinks" };
-  }
-
-  // Gets a sink.
-  rpc GetSink(GetSinkRequest) returns (LogSink) {
-    option (google.api.http) = { get: "/v2/{sink_name=projects/*/sinks/*}" };
-  }
-
-  // Creates a sink.
-  rpc CreateSink(CreateSinkRequest) returns (LogSink) {
-    option (google.api.http) = { post: "/v2/{parent=projects/*}/sinks" body: "sink" };
-  }
-
-  // Updates or creates a sink.
-  rpc UpdateSink(UpdateSinkRequest) returns (LogSink) {
-    option (google.api.http) = { put: "/v2/{sink_name=projects/*/sinks/*}" body: "sink" };
-  }
-
-  // Deletes a sink.
-  rpc DeleteSink(DeleteSinkRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v2/{sink_name=projects/*/sinks/*}" };
-  }
-}
-
-// Describes a sink used to export log entries outside Stackdriver Logging.
-message LogSink {
-  // Available log entry formats. Log entries can be written to Cloud
-  // Logging in either format and can be exported in either format.
-  // Version 2 is the preferred format.
-  enum VersionFormat {
-    // An unspecified version format will default to V2.
-    VERSION_FORMAT_UNSPECIFIED = 0;
-
-    // `LogEntry` version 2 format.
-    V2 = 1;
-
-    // `LogEntry` version 1 format.
-    V1 = 2;
-  }
-
-  // Required. The client-assigned sink identifier, unique within the
-  // project. Example: `"my-syslog-errors-to-pubsub"`.  Sink identifiers are
-  // limited to 1000 characters and can include only the following characters:
-  // `A-Z`, `a-z`, `0-9`, and the special characters `_-.`.  The maximum length
-  // of the name is 100 characters.
-  string name = 1;
-
-  // Required. The export destination. See
-  // [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs).
-  // Examples:
-  //
-  //     "storage.googleapis.com/my-gcs-bucket"
-  //     "bigquery.googleapis.com/projects/my-project-id/datasets/my-dataset"
-  //     "pubsub.googleapis.com/projects/my-project/topics/my-topic"
-  string destination = 3;
-
-  // Optional. An [advanced logs filter](/logging/docs/view/advanced_filters).
-  // Only log entries matching the filter are exported. The filter
-  // must be consistent with the log entry format specified by the
-  // `outputVersionFormat` parameter, regardless of the format of the
-  // log entry that was originally written to Stackdriver Logging.
-  // Example filter (V2 format):
-  //
-  //     logName=projects/my-projectid/logs/syslog AND severity>=ERROR
-  string filter = 5;
-
-  // Optional. The log entry version to use for this sink's exported log
-  // entries.  This version does not have to correspond to the version of the
-  // log entry that was written to Stackdriver Logging. If omitted, the
-  // v2 format is used.
-  VersionFormat output_version_format = 6;
-
-  // Output only. The iam identity to which the destination needs to grant write
-  // access.  This may be a service account or a group.
-  // Examples (Do not assume these specific values):
-  //    "serviceAccount:cloud-logs@system.gserviceaccount.com"
-  //    "group:cloud-logs@google.com"
-  //
-  //   For GCS destinations, the role "roles/owner" is required on the bucket
-  //   For Cloud Pubsub destinations, the role "roles/pubsub.publisher" is
-  //     required on the topic
-  //   For BigQuery, the role "roles/editor" is required on the dataset
-  string writer_identity = 8;
-}
-
-// The parameters to `ListSinks`.
-message ListSinksRequest {
-  // Required. The cloud resource containing the sinks.
-  // Example: `"projects/my-logging-project"`.
-  string parent = 1;
-
-  // Optional. If present, then retrieve the next batch of results from the
-  // preceding call to this method.  `pageToken` must be the value of
-  // `nextPageToken` from the previous response.  The values of other method
-  // parameters should be identical to those in the previous call.
-  string page_token = 2;
-
-  // Optional. The maximum number of results to return from this request.
-  // Non-positive values are ignored.  The presence of `nextPageToken` in the
-  // response indicates that more results might be available.
-  int32 page_size = 3;
-}
-
-// Result returned from `ListSinks`.
-message ListSinksResponse {
-  // A list of sinks.
-  repeated LogSink sinks = 1;
-
-  // If there might be more results than appear in this response, then
-  // `nextPageToken` is included.  To get the next set of results, call the same
-  // method again using the value of `nextPageToken` as `pageToken`.
-  string next_page_token = 2;
-}
-
-// The parameters to `GetSink`.
-message GetSinkRequest {
-  // Required. The resource name of the sink to return.
-  // Example: `"projects/my-project-id/sinks/my-sink-id"`.
-  string sink_name = 1;
-}
-
-// The parameters to `CreateSink`.
-message CreateSinkRequest {
-  // Required. The resource in which to create the sink.
-  // Example: `"projects/my-project-id"`.
-  // The new sink must be provided in the request.
-  string parent = 1;
-
-  // Required. The new sink, whose `name` parameter is a sink identifier that
-  // is not already in use.
-  LogSink sink = 2;
-}
-
-// The parameters to `UpdateSink`.
-message UpdateSinkRequest {
-  // Required. The resource name of the sink to update, including the parent
-  // resource and the sink identifier.  If the sink does not exist, this method
-  // creates the sink.  Example: `"projects/my-project-id/sinks/my-sink-id"`.
-  string sink_name = 1;
-
-  // Required. The updated sink, whose name is the same identifier that appears
-  // as part of `sinkName`.  If `sinkName` does not exist, then
-  // this method creates a new sink.
-  LogSink sink = 2;
-}
-
-// The parameters to `DeleteSink`.
-message DeleteSinkRequest {
-  // Required. The resource name of the sink to delete, including the parent
-  // resource and the sink identifier.  Example:
-  // `"projects/my-project-id/sinks/my-sink-id"`.  It is an error if the sink
-  // does not exist.
-  string sink_name = 1;
-}
diff --git a/googleapis/logging/v2/logging_metrics.pb.go b/googleapis/logging/v2/logging_metrics.pb.go
index a12e415f879f1be0ad2d56dbe40754a5b6380517..ef047de75240a31e84136dbb389f44a61d1d47b7 100644
--- a/googleapis/logging/v2/logging_metrics.pb.go
+++ b/googleapis/logging/v2/logging_metrics.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/logging/v2/logging_metrics.proto
+// source: google/logging/v2/logging_metrics.proto
 // DO NOT EDIT!
 
-package v2 // import "google.golang.org/genproto/googleapis/logging/v2"
+package logging
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf5 "github.com/golang/protobuf/ptypes/empty"
 
 import (
@@ -42,24 +42,36 @@ var LogMetric_ApiVersion_value = map[string]int32{
 func (x LogMetric_ApiVersion) String() string {
 	return proto.EnumName(LogMetric_ApiVersion_name, int32(x))
 }
-func (LogMetric_ApiVersion) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{0, 0} }
+func (LogMetric_ApiVersion) EnumDescriptor() ([]byte, []int) { return fileDescriptor3, []int{0, 0} }
 
 // Describes a logs-based metric.  The value of the metric is the
-// number of log entries that match a logs filter.
+// number of log entries that match a logs filter in a given time interval.
 type LogMetric struct {
-	// Required. The client-assigned metric identifier. Example:
-	// `"severe_errors"`.  Metric identifiers are limited to 100
-	// characters and can include only the following characters: `A-Z`,
-	// `a-z`, `0-9`, and the special characters `_-.,+!*',()%/`.  The
-	// forward-slash character (`/`) denotes a hierarchy of name pieces,
-	// and it cannot be the first character of the name.  The '%' character
-	// is used to URL encode unsafe and reserved characters and must be
-	// followed by two hexadecimal digits according to RFC 1738.
+	// Required. The client-assigned metric identifier.
+	// Examples: `"error_count"`, `"nginx/requests"`.
+	//
+	// Metric identifiers are limited to 100 characters and can include
+	// only the following characters: `A-Z`, `a-z`, `0-9`, and the
+	// special characters `_-.,+!*',()%/`.  The forward-slash character
+	// (`/`) denotes a hierarchy of name pieces, and it cannot be the
+	// first character of the name.
+	//
+	// The metric identifier in this field must not be
+	// [URL-encoded](https://en.wikipedia.org/wiki/Percent-encoding).
+	// However, when the metric identifier appears as the `[METRIC_ID]`
+	// part of a `metric_name` API parameter, then the metric identifier
+	// must be URL-encoded. Example:
+	// `"projects/my-project/metrics/nginx%2Frequests"`.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
 	// Optional. A description of this metric, which is used in documentation.
 	Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
-	// Required. An [advanced logs filter](/logging/docs/view/advanced_filters).
-	// Example: `"resource.type=gae_app AND severity>=ERROR"`.
+	// Required. An [advanced logs filter](/logging/docs/view/advanced_filters)
+	// which is used to match log entries.
+	// Example:
+	//
+	//     "resource.type=gae_app AND severity>=ERROR"
+	//
+	// The maximum length of the filter is 20000 characters.
 	Filter string `protobuf:"bytes,3,opt,name=filter" json:"filter,omitempty"`
 	// Output only. The API version that created or updated this metric.
 	// The version also dictates the syntax of the filter expression. When a value
@@ -70,12 +82,41 @@ type LogMetric struct {
 func (m *LogMetric) Reset()                    { *m = LogMetric{} }
 func (m *LogMetric) String() string            { return proto.CompactTextString(m) }
 func (*LogMetric) ProtoMessage()               {}
-func (*LogMetric) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+func (*LogMetric) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
+
+func (m *LogMetric) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *LogMetric) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *LogMetric) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *LogMetric) GetVersion() LogMetric_ApiVersion {
+	if m != nil {
+		return m.Version
+	}
+	return LogMetric_V2
+}
 
 // The parameters to ListLogMetrics.
 type ListLogMetricsRequest struct {
-	// Required. The resource name containing the metrics.
-	// Example: `"projects/my-project-id"`.
+	// Required. The name of the project containing the metrics:
+	//
+	//     "projects/[PROJECT_ID]"
 	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
 	// Optional. If present, then retrieve the next batch of results from the
 	// preceding call to this method.  `pageToken` must be the value of
@@ -91,7 +132,28 @@ type ListLogMetricsRequest struct {
 func (m *ListLogMetricsRequest) Reset()                    { *m = ListLogMetricsRequest{} }
 func (m *ListLogMetricsRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListLogMetricsRequest) ProtoMessage()               {}
-func (*ListLogMetricsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+func (*ListLogMetricsRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
+
+func (m *ListLogMetricsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListLogMetricsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListLogMetricsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
 
 // Result returned from ListLogMetrics.
 type ListLogMetricsResponse struct {
@@ -106,7 +168,7 @@ type ListLogMetricsResponse struct {
 func (m *ListLogMetricsResponse) Reset()                    { *m = ListLogMetricsResponse{} }
 func (m *ListLogMetricsResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListLogMetricsResponse) ProtoMessage()               {}
-func (*ListLogMetricsResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
+func (*ListLogMetricsResponse) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{2} }
 
 func (m *ListLogMetricsResponse) GetMetrics() []*LogMetric {
 	if m != nil {
@@ -115,22 +177,38 @@ func (m *ListLogMetricsResponse) GetMetrics() []*LogMetric {
 	return nil
 }
 
+func (m *ListLogMetricsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The parameters to GetLogMetric.
 type GetLogMetricRequest struct {
-	// The resource name of the desired metric.
-	// Example: `"projects/my-project-id/metrics/my-metric-id"`.
+	// The resource name of the desired metric:
+	//
+	//     "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
 	MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName" json:"metric_name,omitempty"`
 }
 
 func (m *GetLogMetricRequest) Reset()                    { *m = GetLogMetricRequest{} }
 func (m *GetLogMetricRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetLogMetricRequest) ProtoMessage()               {}
-func (*GetLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
+func (*GetLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{3} }
+
+func (m *GetLogMetricRequest) GetMetricName() string {
+	if m != nil {
+		return m.MetricName
+	}
+	return ""
+}
 
 // The parameters to CreateLogMetric.
 type CreateLogMetricRequest struct {
-	// The resource name of the project in which to create the metric.
-	// Example: `"projects/my-project-id"`.
+	// The resource name of the project in which to create the metric:
+	//
+	//     "projects/[PROJECT_ID]"
 	//
 	// The new metric must be provided in the request.
 	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
@@ -142,7 +220,14 @@ type CreateLogMetricRequest struct {
 func (m *CreateLogMetricRequest) Reset()                    { *m = CreateLogMetricRequest{} }
 func (m *CreateLogMetricRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateLogMetricRequest) ProtoMessage()               {}
-func (*CreateLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
+func (*CreateLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{4} }
+
+func (m *CreateLogMetricRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
 
 func (m *CreateLogMetricRequest) GetMetric() *LogMetric {
 	if m != nil {
@@ -153,23 +238,29 @@ func (m *CreateLogMetricRequest) GetMetric() *LogMetric {
 
 // The parameters to UpdateLogMetric.
 type UpdateLogMetricRequest struct {
-	// The resource name of the metric to update.
-	// Example: `"projects/my-project-id/metrics/my-metric-id"`.
+	// The resource name of the metric to update:
 	//
-	// The updated metric must be provided in the request and have the
-	// same identifier that is specified in `metricName`.
-	// If the metric does not exist, it is created.
+	//     "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
+	//
+	// The updated metric must be provided in the request and it's
+	// `name` field must be the same as `[METRIC_ID]` If the metric
+	// does not exist in `[PROJECT_ID]`, then a new metric is created.
 	MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName" json:"metric_name,omitempty"`
-	// The updated metric, whose name must be the same as the
-	// metric identifier in `metricName`. If `metricName` does not
-	// exist, then a new metric is created.
+	// The updated metric.
 	Metric *LogMetric `protobuf:"bytes,2,opt,name=metric" json:"metric,omitempty"`
 }
 
 func (m *UpdateLogMetricRequest) Reset()                    { *m = UpdateLogMetricRequest{} }
 func (m *UpdateLogMetricRequest) String() string            { return proto.CompactTextString(m) }
 func (*UpdateLogMetricRequest) ProtoMessage()               {}
-func (*UpdateLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
+func (*UpdateLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{5} }
+
+func (m *UpdateLogMetricRequest) GetMetricName() string {
+	if m != nil {
+		return m.MetricName
+	}
+	return ""
+}
 
 func (m *UpdateLogMetricRequest) GetMetric() *LogMetric {
 	if m != nil {
@@ -180,15 +271,23 @@ func (m *UpdateLogMetricRequest) GetMetric() *LogMetric {
 
 // The parameters to DeleteLogMetric.
 type DeleteLogMetricRequest struct {
-	// The resource name of the metric to delete.
-	// Example: `"projects/my-project-id/metrics/my-metric-id"`.
+	// The resource name of the metric to delete:
+	//
+	//     "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
 	MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName" json:"metric_name,omitempty"`
 }
 
 func (m *DeleteLogMetricRequest) Reset()                    { *m = DeleteLogMetricRequest{} }
 func (m *DeleteLogMetricRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteLogMetricRequest) ProtoMessage()               {}
-func (*DeleteLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
+func (*DeleteLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{6} }
+
+func (m *DeleteLogMetricRequest) GetMetricName() string {
+	if m != nil {
+		return m.MetricName
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*LogMetric)(nil), "google.logging.v2.LogMetric")
@@ -412,54 +511,52 @@ var _MetricsServiceV2_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/logging/v2/logging_metrics.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/v2/logging_metrics.proto", fileDescriptor2)
-}
-
-var fileDescriptor2 = []byte{
-	// 650 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x55, 0x5d, 0x4f, 0x13, 0x4d,
-	0x14, 0x7e, 0x97, 0x8f, 0xf2, 0x72, 0x50, 0x8a, 0x63, 0x68, 0x9a, 0x8a, 0xa1, 0xee, 0x05, 0x14,
-	0x2e, 0x76, 0x70, 0x31, 0x24, 0x9a, 0x78, 0x01, 0x7e, 0xc5, 0x04, 0x0d, 0x29, 0xca, 0x85, 0x5e,
-	0x34, 0xcb, 0x72, 0x3a, 0x8e, 0xb4, 0x3b, 0xe3, 0xce, 0xd0, 0x00, 0x86, 0x1b, 0xc3, 0x9d, 0x89,
-	0x17, 0xfa, 0x6f, 0xfc, 0x1b, 0xfa, 0x13, 0xfc, 0x21, 0x66, 0x67, 0x76, 0x4b, 0x6d, 0x57, 0x5a,
-	0xb9, 0x69, 0x67, 0xce, 0xd7, 0xf3, 0x9c, 0x73, 0x9e, 0x4e, 0xe1, 0x29, 0x13, 0x82, 0xb5, 0xd0,
-	0x63, 0xa2, 0x15, 0x44, 0xcc, 0x13, 0x31, 0xa3, 0x0c, 0x23, 0x19, 0x0b, 0x2d, 0xa8, 0x75, 0x05,
-	0x92, 0x2b, 0xda, 0x12, 0x8c, 0xf1, 0x88, 0xd1, 0x8e, 0x9f, 0x1d, 0x1b, 0x6d, 0xd4, 0x31, 0x0f,
-	0x95, 0x67, 0x62, 0xc9, 0x8d, 0xb4, 0x4e, 0xea, 0xf5, 0x3a, 0x7e, 0xe5, 0xf9, 0x68, 0xa5, 0x03,
-	0xc9, 0xa9, 0xc2, 0xb8, 0xc3, 0x43, 0x0c, 0x45, 0xd4, 0xe4, 0x8c, 0x06, 0x51, 0x24, 0x74, 0xa0,
-	0xb9, 0x88, 0xd2, 0xea, 0x95, 0x75, 0xc6, 0xf5, 0xbb, 0xa3, 0x7d, 0x2f, 0x14, 0x6d, 0x6a, 0xcb,
-	0x51, 0xe3, 0xd8, 0x3f, 0x6a, 0x52, 0xa9, 0x4f, 0x24, 0x2a, 0x8a, 0x6d, 0xa9, 0x4f, 0xec, 0xa7,
-	0x4d, 0x72, 0xbf, 0x3b, 0x30, 0xbd, 0x2d, 0xd8, 0x0b, 0xc3, 0x93, 0x10, 0x98, 0x88, 0x82, 0x36,
-	0x96, 0x9d, 0xaa, 0x53, 0x9b, 0xae, 0x9b, 0x33, 0xa9, 0xc2, 0xcc, 0x01, 0xaa, 0x30, 0xe6, 0x32,
-	0x01, 0x2b, 0x8f, 0x19, 0x57, 0xaf, 0x89, 0x94, 0xa0, 0xd0, 0xe4, 0x2d, 0x8d, 0x71, 0x79, 0xdc,
-	0x38, 0xd3, 0x1b, 0xd9, 0x84, 0xa9, 0x0e, 0xc6, 0x2a, 0xc9, 0x9a, 0xa8, 0x3a, 0xb5, 0x59, 0x7f,
-	0xd9, 0x1b, 0x18, 0x80, 0xd7, 0x05, 0xf7, 0x36, 0x25, 0xdf, 0xb3, 0xe1, 0xf5, 0x2c, 0xcf, 0x5d,
-	0x00, 0xb8, 0x30, 0x93, 0x02, 0x8c, 0xed, 0xf9, 0x73, 0xff, 0x99, 0xef, 0xbb, 0x73, 0x8e, 0x7b,
-	0x08, 0xf3, 0xdb, 0x5c, 0xe9, 0x6e, 0x09, 0x55, 0xc7, 0x0f, 0x47, 0xa8, 0x74, 0xc2, 0x48, 0x06,
-	0x31, 0x46, 0x3a, 0xed, 0x24, 0xbd, 0x91, 0xdb, 0x00, 0x32, 0x60, 0xd8, 0xd0, 0xe2, 0x10, 0xb3,
-	0x56, 0xa6, 0x13, 0xcb, 0xab, 0xc4, 0x40, 0x6e, 0x81, 0xb9, 0x34, 0x14, 0x3f, 0x45, 0xd3, 0xcb,
-	0x64, 0xfd, 0xff, 0xc4, 0xb0, 0xcb, 0x4f, 0xd1, 0x3d, 0x86, 0x52, 0x3f, 0x98, 0x92, 0x22, 0x52,
-	0x48, 0x36, 0x60, 0x2a, 0xdd, 0x73, 0xd9, 0xa9, 0x8e, 0xd7, 0x66, 0xfc, 0x85, 0xcb, 0xfa, 0xac,
-	0x67, 0xc1, 0x64, 0x09, 0x8a, 0x11, 0x1e, 0xeb, 0xc6, 0x00, 0xa5, 0xeb, 0x89, 0x79, 0x27, 0xa3,
-	0xe5, 0x6e, 0xc0, 0xcd, 0x67, 0x78, 0x01, 0x9c, 0x35, 0xb9, 0x08, 0x33, 0xb6, 0x52, 0xa3, 0x67,
-	0x67, 0x60, 0x4d, 0x2f, 0x83, 0x36, 0xba, 0x4d, 0x28, 0x3d, 0x8a, 0x31, 0xd0, 0x38, 0x90, 0xfa,
-	0xb7, 0xf9, 0xdc, 0x83, 0x82, 0xcd, 0x37, 0x44, 0x86, 0x35, 0x92, 0xc6, 0xba, 0x02, 0x4a, 0xaf,
-	0xe5, 0x41, 0x1e, 0xce, 0x30, 0x8a, 0x57, 0x04, 0xbc, 0x0f, 0xa5, 0xc7, 0xd8, 0xc2, 0x2b, 0x00,
-	0xfa, 0x3f, 0x27, 0x61, 0x2e, 0xdd, 0xdf, 0xae, 0xfd, 0x3d, 0xed, 0xf9, 0xe4, 0x8b, 0x03, 0xb3,
-	0x7f, 0xee, 0x96, 0xd4, 0xf2, 0x88, 0xe4, 0x69, 0xad, 0xb2, 0x32, 0x42, 0xa4, 0x15, 0x8a, 0xbb,
-	0xfc, 0xe9, 0xc7, 0xaf, 0x6f, 0x63, 0x77, 0xc8, 0x62, 0xf2, 0x44, 0x7c, 0xb4, 0x33, 0x7f, 0x28,
-	0x63, 0xf1, 0x1e, 0x43, 0xad, 0xe8, 0xea, 0x19, 0xcd, 0x94, 0x71, 0xee, 0xc0, 0xb5, 0xde, 0x95,
-	0x93, 0xa5, 0x1c, 0x90, 0x1c, 0x4d, 0x54, 0x2e, 0x9d, 0x9f, 0xeb, 0x19, 0xfc, 0x1a, 0x59, 0x32,
-	0xf8, 0x3d, 0x83, 0xea, 0x21, 0x91, 0x71, 0xa0, 0xab, 0x67, 0xe4, 0xb3, 0x03, 0xc5, 0x3e, 0x05,
-	0x91, 0xbc, 0x76, 0xf3, 0x55, 0x36, 0x84, 0x0c, 0x35, 0x64, 0x56, 0xdc, 0x61, 0xc3, 0x78, 0x90,
-	0x6e, 0x9d, 0x7c, 0x75, 0xa0, 0xd8, 0xa7, 0xb3, 0x5c, 0x36, 0xf9, 0x5a, 0x1c, 0xc2, 0x66, 0xc3,
-	0xb0, 0x59, 0xab, 0x8c, 0x38, 0x9a, 0x2e, 0xa9, 0x73, 0x07, 0x8a, 0x7d, 0x5a, 0xcc, 0x25, 0x95,
-	0xaf, 0xd7, 0x4a, 0x29, 0x0b, 0xcd, 0x5e, 0x6a, 0xef, 0x49, 0xf2, 0x38, 0x67, 0x9b, 0x5a, 0x1d,
-	0x91, 0xce, 0xd6, 0x5b, 0x98, 0x0f, 0x45, 0x7b, 0x10, 0x77, 0x6b, 0x76, 0xdb, 0x9e, 0x53, 0x29,
-	0xee, 0x38, 0x6f, 0xd6, 0xfe, 0xf5, 0xcf, 0x6c, 0xbf, 0x60, 0x9c, 0xeb, 0xbf, 0x03, 0x00, 0x00,
-	0xff, 0xff, 0x46, 0x24, 0x21, 0x19, 0x07, 0x07, 0x00, 0x00,
+	Metadata: "google/logging/v2/logging_metrics.proto",
+}
+
+func init() { proto.RegisterFile("google/logging/v2/logging_metrics.proto", fileDescriptor3) }
+
+var fileDescriptor3 = []byte{
+	// 646 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4f, 0x53, 0xd3, 0x40,
+	0x14, 0x77, 0x0b, 0x14, 0x79, 0x28, 0xc5, 0x65, 0x88, 0x9d, 0x80, 0x43, 0xcd, 0x01, 0x0a, 0x87,
+	0x44, 0xa3, 0xc3, 0xf8, 0x67, 0x3c, 0x00, 0x3a, 0x5c, 0xd0, 0xe9, 0x14, 0xed, 0xc1, 0x4b, 0x27,
+	0xb4, 0xaf, 0x99, 0x95, 0x34, 0x1b, 0x93, 0x6d, 0x07, 0x71, 0xb8, 0x30, 0xdc, 0x9c, 0xf1, 0xa0,
+	0xdf, 0xc2, 0x8f, 0xe0, 0xd7, 0xd0, 0x8f, 0xe0, 0x07, 0x71, 0xb2, 0xd9, 0x94, 0xd8, 0x46, 0xda,
+	0xe1, 0xd4, 0xdd, 0xf7, 0xef, 0xf7, 0x7b, 0xef, 0xfd, 0xba, 0x81, 0x0d, 0x97, 0x73, 0xd7, 0x43,
+	0xcb, 0xe3, 0xae, 0xcb, 0x7c, 0xd7, 0xea, 0xdb, 0xe9, 0xb1, 0xd9, 0x45, 0x11, 0xb2, 0x56, 0x64,
+	0x06, 0x21, 0x17, 0x9c, 0xde, 0x49, 0x02, 0x4d, 0xe5, 0x35, 0xfb, 0xb6, 0xbe, 0xaa, 0x72, 0x9d,
+	0x80, 0x59, 0x8e, 0xef, 0x73, 0xe1, 0x08, 0xc6, 0x7d, 0x95, 0xa0, 0xaf, 0x28, 0xaf, 0xbc, 0x1d,
+	0xf5, 0x3a, 0x16, 0x76, 0x03, 0xf1, 0x29, 0x71, 0x1a, 0x3f, 0x09, 0xcc, 0x1d, 0x70, 0xf7, 0xb5,
+	0x84, 0xa0, 0x14, 0xa6, 0x7d, 0xa7, 0x8b, 0x65, 0x52, 0x21, 0xd5, 0xb9, 0xba, 0x3c, 0xd3, 0x0a,
+	0xcc, 0xb7, 0x31, 0x6a, 0x85, 0x2c, 0x88, 0x8b, 0x96, 0x0b, 0xd2, 0x95, 0x35, 0x51, 0x0d, 0x8a,
+	0x1d, 0xe6, 0x09, 0x0c, 0xcb, 0x53, 0xd2, 0xa9, 0x6e, 0x74, 0x07, 0x66, 0xfb, 0x18, 0x46, 0x71,
+	0xd6, 0x74, 0x85, 0x54, 0x17, 0xec, 0x0d, 0x73, 0x84, 0xbb, 0x39, 0x00, 0x37, 0x77, 0x02, 0xd6,
+	0x48, 0xc2, 0xeb, 0x69, 0x9e, 0xb1, 0x0a, 0x70, 0x69, 0xa6, 0x45, 0x28, 0x34, 0xec, 0xc5, 0x1b,
+	0xf2, 0xf7, 0xe1, 0x22, 0x31, 0x8e, 0x61, 0xf9, 0x80, 0x45, 0x62, 0x50, 0x22, 0xaa, 0xe3, 0xc7,
+	0x1e, 0x46, 0x22, 0x66, 0x14, 0x38, 0x21, 0xfa, 0x42, 0x75, 0xa2, 0x6e, 0xf4, 0x1e, 0x40, 0xe0,
+	0xb8, 0xd8, 0x14, 0xfc, 0x18, 0xd3, 0x56, 0xe6, 0x62, 0xcb, 0xdb, 0xd8, 0x40, 0x57, 0x40, 0x5e,
+	0x9a, 0x11, 0x3b, 0x45, 0xd9, 0xcb, 0x4c, 0xfd, 0x66, 0x6c, 0x38, 0x64, 0xa7, 0x68, 0x9c, 0x80,
+	0x36, 0x0c, 0x16, 0x05, 0xdc, 0x8f, 0x90, 0x6e, 0xc3, 0xac, 0x5a, 0x51, 0x99, 0x54, 0xa6, 0xaa,
+	0xf3, 0xf6, 0xea, 0x55, 0x7d, 0xd6, 0xd3, 0x60, 0xba, 0x0e, 0x25, 0x1f, 0x4f, 0x44, 0x73, 0x84,
+	0xd2, 0xed, 0xd8, 0x5c, 0x4b, 0x69, 0x19, 0xdb, 0xb0, 0xb4, 0x8f, 0x97, 0xc0, 0x69, 0x93, 0x6b,
+	0x30, 0x9f, 0x54, 0x6a, 0x66, 0x76, 0x06, 0x89, 0xe9, 0x8d, 0xd3, 0x45, 0xa3, 0x03, 0xda, 0x5e,
+	0x88, 0x8e, 0xc0, 0x91, 0xd4, 0xff, 0xcd, 0xe7, 0x31, 0x14, 0x93, 0x7c, 0x49, 0x64, 0x5c, 0x23,
+	0x2a, 0xd6, 0xe0, 0xa0, 0xbd, 0x0b, 0xda, 0x79, 0x38, 0xe3, 0x28, 0x5e, 0x13, 0xf0, 0x29, 0x68,
+	0x2f, 0xd1, 0xc3, 0x6b, 0x00, 0xda, 0xbf, 0x67, 0x60, 0x51, 0xed, 0xef, 0x10, 0xc3, 0x3e, 0x6b,
+	0x61, 0xc3, 0xa6, 0x5f, 0x09, 0x2c, 0xfc, 0xbb, 0x5b, 0x5a, 0xcd, 0x23, 0x92, 0xa7, 0x35, 0x7d,
+	0x73, 0x82, 0xc8, 0x44, 0x28, 0xc6, 0xc6, 0xf9, 0xaf, 0x3f, 0xdf, 0x0b, 0xf7, 0xe9, 0x5a, 0xfc,
+	0xef, 0xfe, 0x9c, 0xcc, 0xfc, 0x45, 0x10, 0xf2, 0x0f, 0xd8, 0x12, 0x91, 0xb5, 0x75, 0x66, 0xa5,
+	0xca, 0xb8, 0x20, 0x70, 0x2b, 0xbb, 0x72, 0xba, 0x9e, 0x03, 0x92, 0xa3, 0x09, 0xfd, 0xca, 0xf9,
+	0x19, 0xa6, 0xc4, 0xaf, 0xd2, 0x75, 0x89, 0x9f, 0x19, 0x54, 0x86, 0x44, 0xca, 0xc1, 0xda, 0x3a,
+	0xa3, 0x5f, 0x08, 0x94, 0x86, 0x14, 0x44, 0xf3, 0xda, 0xcd, 0x57, 0xd9, 0x18, 0x32, 0x96, 0x24,
+	0xb3, 0x69, 0x8c, 0x1b, 0xc6, 0x33, 0xb5, 0x75, 0xfa, 0x8d, 0x40, 0x69, 0x48, 0x67, 0xb9, 0x6c,
+	0xf2, 0xb5, 0x38, 0x86, 0xcd, 0xb6, 0x64, 0xf3, 0x40, 0x9f, 0x70, 0x34, 0x03, 0x52, 0x17, 0x04,
+	0x4a, 0x43, 0x5a, 0xcc, 0x25, 0x95, 0xaf, 0x57, 0x5d, 0x4b, 0x43, 0xd3, 0xc7, 0xd9, 0x7c, 0x15,
+	0x3f, 0xce, 0xe9, 0xa6, 0xb6, 0x26, 0xa4, 0xb3, 0x7b, 0x4e, 0x60, 0xb9, 0xc5, 0xbb, 0xa3, 0xc0,
+	0xbb, 0x4b, 0x07, 0xc9, 0x59, 0x69, 0xb1, 0x16, 0xe3, 0xd4, 0xc8, 0xfb, 0x27, 0x2a, 0xd2, 0xe5,
+	0x9e, 0xe3, 0xbb, 0x26, 0x0f, 0x5d, 0xcb, 0x45, 0x5f, 0xb2, 0xb0, 0x12, 0x97, 0x13, 0xb0, 0x28,
+	0xf3, 0x35, 0x7a, 0xae, 0x8e, 0x3f, 0x0a, 0x77, 0xf7, 0x93, 0xd4, 0x3d, 0x8f, 0xf7, 0xda, 0xa6,
+	0x2a, 0x6f, 0x36, 0xec, 0xa3, 0xa2, 0x4c, 0x7f, 0xf4, 0x37, 0x00, 0x00, 0xff, 0xff, 0x52, 0x8b,
+	0x69, 0xfe, 0xcb, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/logging/v2/logging_metrics.proto b/googleapis/logging/v2/logging_metrics.proto
deleted file mode 100644
index 3ef61903dfeb80082ed031c2f9e1b3b85823fec8..0000000000000000000000000000000000000000
--- a/googleapis/logging/v2/logging_metrics.proto
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.logging.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "LoggingMetrics";
-option java_package = "com.google.logging.v2";
-
-option go_package = "google.golang.org/genproto/googleapis/logging/v2";
-
-// Service for configuring logs-based metrics.
-service MetricsServiceV2 {
-  // Lists logs-based metrics.
-  rpc ListLogMetrics(ListLogMetricsRequest) returns (ListLogMetricsResponse) {
-    option (google.api.http) = { get: "/v2/{parent=projects/*}/metrics" };
-  }
-
-  // Gets a logs-based metric.
-  rpc GetLogMetric(GetLogMetricRequest) returns (LogMetric) {
-    option (google.api.http) = { get: "/v2/{metric_name=projects/*/metrics/*}" };
-  }
-
-  // Creates a logs-based metric.
-  rpc CreateLogMetric(CreateLogMetricRequest) returns (LogMetric) {
-    option (google.api.http) = { post: "/v2/{parent=projects/*}/metrics" body: "metric" };
-  }
-
-  // Creates or updates a logs-based metric.
-  rpc UpdateLogMetric(UpdateLogMetricRequest) returns (LogMetric) {
-    option (google.api.http) = { put: "/v2/{metric_name=projects/*/metrics/*}" body: "metric" };
-  }
-
-  // Deletes a logs-based metric.
-  rpc DeleteLogMetric(DeleteLogMetricRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v2/{metric_name=projects/*/metrics/*}" };
-  }
-}
-
-// Describes a logs-based metric.  The value of the metric is the
-// number of log entries that match a logs filter.
-message LogMetric {
-  // Stackdriver Logging API version.
-  enum ApiVersion {
-    // Stackdriver Logging API v2.
-    V2 = 0;
-
-    // Stackdriver Logging API v1.
-    V1 = 1;
-  }
-
-  // Required. The client-assigned metric identifier. Example:
-  // `"severe_errors"`.  Metric identifiers are limited to 100
-  // characters and can include only the following characters: `A-Z`,
-  // `a-z`, `0-9`, and the special characters `_-.,+!*',()%/`.  The
-  // forward-slash character (`/`) denotes a hierarchy of name pieces,
-  // and it cannot be the first character of the name.  The '%' character
-  // is used to URL encode unsafe and reserved characters and must be
-  // followed by two hexadecimal digits according to RFC 1738.
-  string name = 1;
-
-  // Optional. A description of this metric, which is used in documentation.
-  string description = 2;
-
-  // Required. An [advanced logs filter](/logging/docs/view/advanced_filters).
-  // Example: `"resource.type=gae_app AND severity>=ERROR"`.
-  string filter = 3;
-
-  // Output only. The API version that created or updated this metric.
-  // The version also dictates the syntax of the filter expression. When a value
-  // for this field is missing, the default value of V2 should be assumed.
-  ApiVersion version = 4;
-}
-
-// The parameters to ListLogMetrics.
-message ListLogMetricsRequest {
-  // Required. The resource name containing the metrics.
-  // Example: `"projects/my-project-id"`.
-  string parent = 1;
-
-  // Optional. If present, then retrieve the next batch of results from the
-  // preceding call to this method.  `pageToken` must be the value of
-  // `nextPageToken` from the previous response.  The values of other method
-  // parameters should be identical to those in the previous call.
-  string page_token = 2;
-
-  // Optional. The maximum number of results to return from this request.
-  // Non-positive values are ignored.  The presence of `nextPageToken` in the
-  // response indicates that more results might be available.
-  int32 page_size = 3;
-}
-
-// Result returned from ListLogMetrics.
-message ListLogMetricsResponse {
-  // A list of logs-based metrics.
-  repeated LogMetric metrics = 1;
-
-  // If there might be more results than appear in this response, then
-  // `nextPageToken` is included.  To get the next set of results, call this
-  // method again using the value of `nextPageToken` as `pageToken`.
-  string next_page_token = 2;
-}
-
-// The parameters to GetLogMetric.
-message GetLogMetricRequest {
-  // The resource name of the desired metric.
-  // Example: `"projects/my-project-id/metrics/my-metric-id"`.
-  string metric_name = 1;
-}
-
-// The parameters to CreateLogMetric.
-message CreateLogMetricRequest {
-  // The resource name of the project in which to create the metric.
-  // Example: `"projects/my-project-id"`.
-  //
-  // The new metric must be provided in the request.
-  string parent = 1;
-
-  // The new logs-based metric, which must not have an identifier that
-  // already exists.
-  LogMetric metric = 2;
-}
-
-// The parameters to UpdateLogMetric.
-message UpdateLogMetricRequest {
-  // The resource name of the metric to update.
-  // Example: `"projects/my-project-id/metrics/my-metric-id"`.
-  //
-  // The updated metric must be provided in the request and have the
-  // same identifier that is specified in `metricName`.
-  // If the metric does not exist, it is created.
-  string metric_name = 1;
-
-  // The updated metric, whose name must be the same as the
-  // metric identifier in `metricName`. If `metricName` does not
-  // exist, then a new metric is created.
-  LogMetric metric = 2;
-}
-
-// The parameters to DeleteLogMetric.
-message DeleteLogMetricRequest {
-  // The resource name of the metric to delete.
-  // Example: `"projects/my-project-id/metrics/my-metric-id"`.
-  string metric_name = 1;
-}
diff --git a/googleapis/longrunning/operations.pb.go b/googleapis/longrunning/operations.pb.go
index a8a89a7990915104128ef70a7fb9ec43223559da..4044da40199bbca474d94102b34f250486f6b892 100644
--- a/googleapis/longrunning/operations.pb.go
+++ b/googleapis/longrunning/operations.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/longrunning/operations.proto
+// source: google/longrunning/operations.proto
 // DO NOT EDIT!
 
 /*
-Package google_longrunning is a generated protocol buffer package.
+Package longrunning is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/longrunning/operations.proto
+	google/longrunning/operations.proto
 
 It has these top-level messages:
 	Operation
@@ -16,12 +16,12 @@ It has these top-level messages:
 	CancelOperationRequest
 	DeleteOperationRequest
 */
-package google_longrunning // import "google.golang.org/genproto/googleapis/longrunning"
+package longrunning
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/any"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
@@ -94,6 +94,13 @@ func (m *Operation) GetResult() isOperation_Result {
 	return nil
 }
 
+func (m *Operation) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Operation) GetMetadata() *google_protobuf1.Any {
 	if m != nil {
 		return m.Metadata
@@ -101,6 +108,13 @@ func (m *Operation) GetMetadata() *google_protobuf1.Any {
 	return nil
 }
 
+func (m *Operation) GetDone() bool {
+	if m != nil {
+		return m.Done
+	}
+	return false
+}
+
 func (m *Operation) GetError() *google_rpc.Status {
 	if x, ok := m.GetResult().(*Operation_Error); ok {
 		return x.Error
@@ -200,6 +214,13 @@ func (m *GetOperationRequest) String() string            { return proto.CompactT
 func (*GetOperationRequest) ProtoMessage()               {}
 func (*GetOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *GetOperationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // The request message for [Operations.ListOperations][google.longrunning.Operations.ListOperations].
 type ListOperationsRequest struct {
 	// The name of the operation collection.
@@ -217,6 +238,34 @@ func (m *ListOperationsRequest) String() string            { return proto.Compac
 func (*ListOperationsRequest) ProtoMessage()               {}
 func (*ListOperationsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *ListOperationsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListOperationsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListOperationsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListOperationsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // The response message for [Operations.ListOperations][google.longrunning.Operations.ListOperations].
 type ListOperationsResponse struct {
 	// A list of operations that matches the specified filter in the request.
@@ -237,6 +286,13 @@ func (m *ListOperationsResponse) GetOperations() []*Operation {
 	return nil
 }
 
+func (m *ListOperationsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The request message for [Operations.CancelOperation][google.longrunning.Operations.CancelOperation].
 type CancelOperationRequest struct {
 	// The name of the operation resource to be cancelled.
@@ -248,6 +304,13 @@ func (m *CancelOperationRequest) String() string            { return proto.Compa
 func (*CancelOperationRequest) ProtoMessage()               {}
 func (*CancelOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *CancelOperationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // The request message for [Operations.DeleteOperation][google.longrunning.Operations.DeleteOperation].
 type DeleteOperationRequest struct {
 	// The name of the operation resource to be deleted.
@@ -259,6 +322,13 @@ func (m *DeleteOperationRequest) String() string            { return proto.Compa
 func (*DeleteOperationRequest) ProtoMessage()               {}
 func (*DeleteOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *DeleteOperationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Operation)(nil), "google.longrunning.Operation")
 	proto.RegisterType((*GetOperationRequest)(nil), "google.longrunning.GetOperationRequest")
@@ -279,16 +349,21 @@ const _ = grpc.SupportPackageIsVersion4
 // Client API for Operations service
 
 type OperationsClient interface {
-	// Gets the latest state of a long-running operation.  Clients can use this
-	// method to poll the operation result at intervals as recommended by the API
-	// service.
-	GetOperation(ctx context.Context, in *GetOperationRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Lists operations that match the specified filter in the request. If the
 	// server doesn't support this method, it returns `UNIMPLEMENTED`.
 	//
 	// NOTE: the `name` binding below allows API services to override the binding
 	// to use different resource name schemes, such as `users/*/operations`.
 	ListOperations(ctx context.Context, in *ListOperationsRequest, opts ...grpc.CallOption) (*ListOperationsResponse, error)
+	// Gets the latest state of a long-running operation.  Clients can use this
+	// method to poll the operation result at intervals as recommended by the API
+	// service.
+	GetOperation(ctx context.Context, in *GetOperationRequest, opts ...grpc.CallOption) (*Operation, error)
+	// Deletes a long-running operation. This method indicates that the client is
+	// no longer interested in the operation result. It does not cancel the
+	// operation. If the server doesn't support this method, it returns
+	// `google.rpc.Code.UNIMPLEMENTED`.
+	DeleteOperation(ctx context.Context, in *DeleteOperationRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
 	// Starts asynchronous cancellation on a long-running operation.  The server
 	// makes a best effort to cancel the operation, but success is not
 	// guaranteed.  If the server doesn't support this method, it returns
@@ -300,11 +375,6 @@ type OperationsClient interface {
 	// an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
 	// corresponding to `Code.CANCELLED`.
 	CancelOperation(ctx context.Context, in *CancelOperationRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
-	// Deletes a long-running operation. This method indicates that the client is
-	// no longer interested in the operation result. It does not cancel the
-	// operation. If the server doesn't support this method, it returns
-	// `google.rpc.Code.UNIMPLEMENTED`.
-	DeleteOperation(ctx context.Context, in *DeleteOperationRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
 }
 
 type operationsClient struct {
@@ -315,36 +385,36 @@ func NewOperationsClient(cc *grpc.ClientConn) OperationsClient {
 	return &operationsClient{cc}
 }
 
-func (c *operationsClient) GetOperation(ctx context.Context, in *GetOperationRequest, opts ...grpc.CallOption) (*Operation, error) {
-	out := new(Operation)
-	err := grpc.Invoke(ctx, "/google.longrunning.Operations/GetOperation", in, out, c.cc, opts...)
+func (c *operationsClient) ListOperations(ctx context.Context, in *ListOperationsRequest, opts ...grpc.CallOption) (*ListOperationsResponse, error) {
+	out := new(ListOperationsResponse)
+	err := grpc.Invoke(ctx, "/google.longrunning.Operations/ListOperations", in, out, c.cc, opts...)
 	if err != nil {
 		return nil, err
 	}
 	return out, nil
 }
 
-func (c *operationsClient) ListOperations(ctx context.Context, in *ListOperationsRequest, opts ...grpc.CallOption) (*ListOperationsResponse, error) {
-	out := new(ListOperationsResponse)
-	err := grpc.Invoke(ctx, "/google.longrunning.Operations/ListOperations", in, out, c.cc, opts...)
+func (c *operationsClient) GetOperation(ctx context.Context, in *GetOperationRequest, opts ...grpc.CallOption) (*Operation, error) {
+	out := new(Operation)
+	err := grpc.Invoke(ctx, "/google.longrunning.Operations/GetOperation", in, out, c.cc, opts...)
 	if err != nil {
 		return nil, err
 	}
 	return out, nil
 }
 
-func (c *operationsClient) CancelOperation(ctx context.Context, in *CancelOperationRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
+func (c *operationsClient) DeleteOperation(ctx context.Context, in *DeleteOperationRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
 	out := new(google_protobuf2.Empty)
-	err := grpc.Invoke(ctx, "/google.longrunning.Operations/CancelOperation", in, out, c.cc, opts...)
+	err := grpc.Invoke(ctx, "/google.longrunning.Operations/DeleteOperation", in, out, c.cc, opts...)
 	if err != nil {
 		return nil, err
 	}
 	return out, nil
 }
 
-func (c *operationsClient) DeleteOperation(ctx context.Context, in *DeleteOperationRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
+func (c *operationsClient) CancelOperation(ctx context.Context, in *CancelOperationRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
 	out := new(google_protobuf2.Empty)
-	err := grpc.Invoke(ctx, "/google.longrunning.Operations/DeleteOperation", in, out, c.cc, opts...)
+	err := grpc.Invoke(ctx, "/google.longrunning.Operations/CancelOperation", in, out, c.cc, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -354,16 +424,21 @@ func (c *operationsClient) DeleteOperation(ctx context.Context, in *DeleteOperat
 // Server API for Operations service
 
 type OperationsServer interface {
-	// Gets the latest state of a long-running operation.  Clients can use this
-	// method to poll the operation result at intervals as recommended by the API
-	// service.
-	GetOperation(context.Context, *GetOperationRequest) (*Operation, error)
 	// Lists operations that match the specified filter in the request. If the
 	// server doesn't support this method, it returns `UNIMPLEMENTED`.
 	//
 	// NOTE: the `name` binding below allows API services to override the binding
 	// to use different resource name schemes, such as `users/*/operations`.
 	ListOperations(context.Context, *ListOperationsRequest) (*ListOperationsResponse, error)
+	// Gets the latest state of a long-running operation.  Clients can use this
+	// method to poll the operation result at intervals as recommended by the API
+	// service.
+	GetOperation(context.Context, *GetOperationRequest) (*Operation, error)
+	// Deletes a long-running operation. This method indicates that the client is
+	// no longer interested in the operation result. It does not cancel the
+	// operation. If the server doesn't support this method, it returns
+	// `google.rpc.Code.UNIMPLEMENTED`.
+	DeleteOperation(context.Context, *DeleteOperationRequest) (*google_protobuf2.Empty, error)
 	// Starts asynchronous cancellation on a long-running operation.  The server
 	// makes a best effort to cancel the operation, but success is not
 	// guaranteed.  If the server doesn't support this method, it returns
@@ -375,85 +450,80 @@ type OperationsServer interface {
 	// an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
 	// corresponding to `Code.CANCELLED`.
 	CancelOperation(context.Context, *CancelOperationRequest) (*google_protobuf2.Empty, error)
-	// Deletes a long-running operation. This method indicates that the client is
-	// no longer interested in the operation result. It does not cancel the
-	// operation. If the server doesn't support this method, it returns
-	// `google.rpc.Code.UNIMPLEMENTED`.
-	DeleteOperation(context.Context, *DeleteOperationRequest) (*google_protobuf2.Empty, error)
 }
 
 func RegisterOperationsServer(s *grpc.Server, srv OperationsServer) {
 	s.RegisterService(&_Operations_serviceDesc, srv)
 }
 
-func _Operations_GetOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(GetOperationRequest)
+func _Operations_ListOperations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListOperationsRequest)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
 	if interceptor == nil {
-		return srv.(OperationsServer).GetOperation(ctx, in)
+		return srv.(OperationsServer).ListOperations(ctx, in)
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/google.longrunning.Operations/GetOperation",
+		FullMethod: "/google.longrunning.Operations/ListOperations",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(OperationsServer).GetOperation(ctx, req.(*GetOperationRequest))
+		return srv.(OperationsServer).ListOperations(ctx, req.(*ListOperationsRequest))
 	}
 	return interceptor(ctx, in, info, handler)
 }
 
-func _Operations_ListOperations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(ListOperationsRequest)
+func _Operations_GetOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetOperationRequest)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
 	if interceptor == nil {
-		return srv.(OperationsServer).ListOperations(ctx, in)
+		return srv.(OperationsServer).GetOperation(ctx, in)
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/google.longrunning.Operations/ListOperations",
+		FullMethod: "/google.longrunning.Operations/GetOperation",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(OperationsServer).ListOperations(ctx, req.(*ListOperationsRequest))
+		return srv.(OperationsServer).GetOperation(ctx, req.(*GetOperationRequest))
 	}
 	return interceptor(ctx, in, info, handler)
 }
 
-func _Operations_CancelOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(CancelOperationRequest)
+func _Operations_DeleteOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteOperationRequest)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
 	if interceptor == nil {
-		return srv.(OperationsServer).CancelOperation(ctx, in)
+		return srv.(OperationsServer).DeleteOperation(ctx, in)
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/google.longrunning.Operations/CancelOperation",
+		FullMethod: "/google.longrunning.Operations/DeleteOperation",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(OperationsServer).CancelOperation(ctx, req.(*CancelOperationRequest))
+		return srv.(OperationsServer).DeleteOperation(ctx, req.(*DeleteOperationRequest))
 	}
 	return interceptor(ctx, in, info, handler)
 }
 
-func _Operations_DeleteOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(DeleteOperationRequest)
+func _Operations_CancelOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CancelOperationRequest)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
 	if interceptor == nil {
-		return srv.(OperationsServer).DeleteOperation(ctx, in)
+		return srv.(OperationsServer).CancelOperation(ctx, in)
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/google.longrunning.Operations/DeleteOperation",
+		FullMethod: "/google.longrunning.Operations/CancelOperation",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(OperationsServer).DeleteOperation(ctx, req.(*DeleteOperationRequest))
+		return srv.(OperationsServer).CancelOperation(ctx, req.(*CancelOperationRequest))
 	}
 	return interceptor(ctx, in, info, handler)
 }
@@ -462,69 +532,66 @@ var _Operations_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "google.longrunning.Operations",
 	HandlerType: (*OperationsServer)(nil),
 	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "GetOperation",
-			Handler:    _Operations_GetOperation_Handler,
-		},
 		{
 			MethodName: "ListOperations",
 			Handler:    _Operations_ListOperations_Handler,
 		},
 		{
-			MethodName: "CancelOperation",
-			Handler:    _Operations_CancelOperation_Handler,
+			MethodName: "GetOperation",
+			Handler:    _Operations_GetOperation_Handler,
 		},
 		{
 			MethodName: "DeleteOperation",
 			Handler:    _Operations_DeleteOperation_Handler,
 		},
+		{
+			MethodName: "CancelOperation",
+			Handler:    _Operations_CancelOperation_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/longrunning/operations.proto",
+	Metadata: "google/longrunning/operations.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/longrunning/operations.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/longrunning/operations.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 600 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x54, 0x41, 0x6f, 0xd3, 0x30,
-	0x14, 0x5e, 0xb6, 0x6e, 0x6a, 0xdf, 0x80, 0x4a, 0x86, 0x95, 0xa8, 0x68, 0xa2, 0x8a, 0x10, 0x74,
-	0x61, 0x8a, 0xa1, 0xbb, 0x4d, 0xda, 0x81, 0x02, 0x62, 0x48, 0x48, 0x4c, 0x19, 0xf7, 0xc9, 0xcb,
-	0xde, 0x42, 0x44, 0x6a, 0x07, 0xdb, 0x19, 0xeb, 0xd0, 0x34, 0xc1, 0x81, 0x13, 0x37, 0x7e, 0x18,
-	0x07, 0xfe, 0x02, 0x3f, 0x04, 0xc5, 0x49, 0x9b, 0xd0, 0xa5, 0xd0, 0x43, 0x5b, 0xd7, 0xfe, 0xde,
-	0xf7, 0xbe, 0xf7, 0x7d, 0x4e, 0x60, 0x18, 0x0a, 0x11, 0xc6, 0xe8, 0x85, 0x22, 0x66, 0x3c, 0xf4,
-	0x84, 0x0c, 0x69, 0x88, 0x3c, 0x91, 0x42, 0x0b, 0x9a, 0x1f, 0xb1, 0x24, 0x52, 0x34, 0x16, 0x3c,
-	0x94, 0x29, 0xe7, 0x11, 0x0f, 0xa9, 0x48, 0x50, 0x32, 0x1d, 0x09, 0xae, 0x3c, 0x83, 0x23, 0xa4,
-	0xe0, 0xa8, 0x80, 0xba, 0xaf, 0x17, 0xe3, 0x65, 0x49, 0x44, 0x15, 0xca, 0xb3, 0x28, 0xc0, 0x40,
-	0xf0, 0xd3, 0x28, 0xa4, 0x8c, 0x73, 0xa1, 0xab, 0xf4, 0x5d, 0x1a, 0x46, 0xfa, 0x7d, 0x7a, 0xec,
-	0x05, 0x62, 0x44, 0x73, 0x3a, 0x6a, 0x0e, 0x8e, 0xd3, 0x53, 0x9a, 0xe8, 0x71, 0x82, 0x8a, 0x32,
-	0x3e, 0xce, 0x3e, 0x45, 0xc1, 0xce, 0xff, 0x0b, 0x70, 0x94, 0xe8, 0x71, 0xfe, 0x5d, 0x14, 0xed,
-	0x2d, 0x26, 0x58, 0x26, 0x01, 0x55, 0x9a, 0xe9, 0x54, 0x15, 0x3f, 0x79, 0xb9, 0xf3, 0xd3, 0x82,
-	0xd6, 0xdb, 0x89, 0x31, 0x84, 0x40, 0x83, 0xb3, 0x11, 0xda, 0x56, 0xcf, 0xea, 0xb7, 0x7c, 0xb3,
-	0x26, 0x4f, 0xa0, 0x39, 0x42, 0xcd, 0x4e, 0x98, 0x66, 0xf6, 0x72, 0xcf, 0xea, 0xaf, 0x0f, 0xee,
-	0x78, 0x45, 0xcf, 0x89, 0x3a, 0xef, 0x19, 0x1f, 0xfb, 0x53, 0x54, 0xc6, 0x72, 0x22, 0x38, 0xda,
-	0x2b, 0x3d, 0xab, 0xdf, 0xf4, 0xcd, 0x9a, 0xb8, 0xb0, 0x8a, 0x52, 0x0a, 0x69, 0x37, 0x0c, 0x05,
-	0x99, 0x50, 0xc8, 0x24, 0xf0, 0x0e, 0x8d, 0xa0, 0xfd, 0x25, 0x3f, 0x87, 0x90, 0x01, 0x34, 0x25,
-	0xaa, 0x44, 0x70, 0x85, 0xf6, 0xea, 0xfc, 0x8e, 0xfb, 0x4b, 0xfe, 0x14, 0x37, 0x6c, 0xc2, 0x9a,
-	0x44, 0x95, 0xc6, 0xda, 0xd9, 0x82, 0xdb, 0xaf, 0x50, 0x4f, 0x67, 0xf2, 0xf1, 0x63, 0x8a, 0x4a,
-	0xd7, 0x8d, 0xe6, 0x5c, 0xc1, 0xc6, 0x9b, 0x48, 0x95, 0x58, 0x35, 0x0b, 0x6e, 0x54, 0x7c, 0xe8,
-	0xc0, 0xda, 0x69, 0x14, 0x6b, 0x94, 0x05, 0x45, 0xf1, 0x8f, 0xdc, 0x83, 0x56, 0xc2, 0x42, 0x3c,
-	0x52, 0xd1, 0x05, 0x1a, 0x83, 0x56, 0xfd, 0x66, 0xb6, 0x71, 0x18, 0x5d, 0x20, 0xd9, 0x04, 0x30,
-	0x87, 0x5a, 0x7c, 0x40, 0x6e, 0x0c, 0x69, 0xf9, 0x06, 0xfe, 0x2e, 0xdb, 0x70, 0xae, 0xa0, 0x33,
-	0x2b, 0x20, 0x9f, 0x87, 0xec, 0x01, 0x94, 0xf7, 0xd5, 0xb6, 0x7a, 0x2b, 0xfd, 0xf5, 0xc1, 0xa6,
-	0x77, 0xfd, 0xc2, 0x7a, 0xe5, 0xa0, 0x95, 0x02, 0xf2, 0x10, 0xda, 0x1c, 0xcf, 0xf5, 0x51, 0xa5,
-	0xf9, 0xb2, 0x69, 0x7e, 0x33, 0xdb, 0x3e, 0x98, 0x0a, 0xd8, 0x86, 0xce, 0x73, 0xc6, 0x03, 0x8c,
-	0x17, 0xf2, 0x6b, 0x1b, 0x3a, 0x2f, 0x30, 0x46, 0x8d, 0x8b, 0xa0, 0x07, 0xdf, 0x1b, 0x00, 0xe5,
-	0x64, 0xe4, 0x1c, 0x6e, 0x54, 0x73, 0x21, 0x8f, 0xea, 0xa6, 0xa9, 0x49, 0xae, 0xfb, 0xef, 0xb1,
-	0x9d, 0xde, 0xd7, 0x5f, 0xbf, 0x7f, 0x2c, 0x77, 0x89, 0x4d, 0xcf, 0x9e, 0xd2, 0xcf, 0x59, 0xe7,
-	0xbd, 0xd2, 0x08, 0xea, 0xba, 0x97, 0xe4, 0x9b, 0x05, 0xb7, 0xfe, 0xb6, 0x99, 0x6c, 0xd5, 0x71,
-	0xd6, 0xde, 0x85, 0xae, 0xbb, 0x08, 0x34, 0x4f, 0xcd, 0xd9, 0x34, 0x5a, 0xee, 0x92, 0x8d, 0x3a,
-	0x2d, 0x97, 0xe4, 0x8b, 0x05, 0xed, 0x19, 0xbb, 0x49, 0x2d, 0x7d, 0x7d, 0x26, 0xdd, 0xce, 0xb5,
-	0xc7, 0xe0, 0x65, 0xf6, 0x26, 0x70, 0x5c, 0xd3, 0xf6, 0x81, 0x73, 0x7f, 0x9e, 0x05, 0xbb, 0x81,
-	0x21, 0xdc, 0xb5, 0x5c, 0xf2, 0x09, 0xda, 0x33, 0x19, 0xd6, 0x4b, 0xa8, 0x0f, 0x7a, 0xae, 0x84,
-	0x22, 0x05, 0x77, 0x6e, 0x0a, 0xc3, 0xc7, 0xd0, 0x09, 0xc4, 0xa8, 0xa6, 0xd5, 0xb0, 0x5d, 0x3a,
-	0x79, 0x90, 0xb1, 0x1e, 0x58, 0xc7, 0x6b, 0x86, 0x7e, 0xe7, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff,
-	0xf2, 0x47, 0xec, 0x3f, 0xe7, 0x05, 0x00, 0x00,
+	// 586 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xc1, 0x6e, 0xd3, 0x40,
+	0x10, 0xad, 0xd3, 0x24, 0x4a, 0xa6, 0x40, 0xa4, 0x85, 0xba, 0xc6, 0x25, 0x22, 0x32, 0x08, 0x52,
+	0xab, 0xb2, 0x21, 0xdc, 0x8a, 0x72, 0x20, 0x80, 0xda, 0x43, 0x25, 0x22, 0x97, 0x13, 0x97, 0x6a,
+	0x9b, 0x4e, 0x2d, 0x0b, 0x67, 0xd7, 0xac, 0x37, 0xd0, 0x16, 0x55, 0x11, 0x1c, 0x38, 0x71, 0xe3,
+	0x2f, 0xf8, 0x19, 0x0e, 0xfc, 0x02, 0x1f, 0x82, 0xbc, 0x76, 0x62, 0x93, 0x3a, 0x28, 0xb7, 0xf5,
+	0xcc, 0x9b, 0x79, 0xf3, 0xde, 0xce, 0x1a, 0x1e, 0xf8, 0x9c, 0xfb, 0x21, 0xba, 0x21, 0x67, 0xbe,
+	0x98, 0x30, 0x16, 0x30, 0xdf, 0xe5, 0x11, 0x0a, 0x2a, 0x03, 0xce, 0x62, 0x27, 0x12, 0x5c, 0x72,
+	0x42, 0x52, 0x90, 0x53, 0x00, 0x99, 0xf7, 0xb2, 0x42, 0x1a, 0x05, 0x2e, 0x65, 0x8c, 0xcb, 0x62,
+	0x85, 0x79, 0x37, 0xcb, 0xaa, 0xaf, 0x93, 0xc9, 0x99, 0x4b, 0xd9, 0x45, 0x96, 0xda, 0x5e, 0x4c,
+	0xe1, 0x38, 0x92, 0xb3, 0xe4, 0x56, 0x96, 0x14, 0xd1, 0xc8, 0x8d, 0x25, 0x95, 0x93, 0xac, 0xa1,
+	0xf5, 0x4b, 0x83, 0xe6, 0x9b, 0xd9, 0x5c, 0x84, 0x40, 0x95, 0xd1, 0x31, 0x1a, 0x5a, 0x47, 0xeb,
+	0x36, 0x3d, 0x75, 0x26, 0x4f, 0xa0, 0x31, 0x46, 0x49, 0x4f, 0xa9, 0xa4, 0x46, 0xa5, 0xa3, 0x75,
+	0x37, 0x7a, 0x77, 0x9c, 0x6c, 0xee, 0x19, 0x95, 0xf3, 0x82, 0x5d, 0x78, 0x73, 0x54, 0xd2, 0xe5,
+	0x94, 0x33, 0x34, 0xd6, 0x3b, 0x5a, 0xb7, 0xe1, 0xa9, 0x33, 0xb1, 0xa1, 0x86, 0x42, 0x70, 0x61,
+	0x54, 0x55, 0x0b, 0x32, 0x6b, 0x21, 0xa2, 0x91, 0x73, 0xa4, 0x06, 0x3a, 0x58, 0xf3, 0x52, 0x08,
+	0xe9, 0x41, 0x43, 0x60, 0x1c, 0x71, 0x16, 0xa3, 0x51, 0x5b, 0xce, 0x78, 0xb0, 0xe6, 0xcd, 0x71,
+	0x83, 0x06, 0xd4, 0x05, 0xc6, 0x93, 0x50, 0x5a, 0x3b, 0x70, 0x7b, 0x1f, 0xe5, 0x5c, 0x93, 0x87,
+	0x1f, 0x26, 0x18, 0xcb, 0x32, 0x69, 0xd6, 0x14, 0x36, 0x0f, 0x83, 0x38, 0xc7, 0xc6, 0x8b, 0xe0,
+	0x6a, 0xc1, 0x07, 0x1d, 0xea, 0x67, 0x41, 0x28, 0x51, 0x64, 0x2d, 0xb2, 0x2f, 0xb2, 0x0d, 0xcd,
+	0x88, 0xfa, 0x78, 0x1c, 0x07, 0x97, 0xa8, 0x0c, 0xaa, 0x79, 0x8d, 0x24, 0x70, 0x14, 0x5c, 0x22,
+	0x69, 0x03, 0xa8, 0xa4, 0xe4, 0xef, 0x91, 0x29, 0x43, 0x9a, 0x9e, 0x82, 0xbf, 0x4d, 0x02, 0xd6,
+	0x14, 0xf4, 0xc5, 0x01, 0x52, 0x3d, 0xa4, 0x0f, 0x90, 0xaf, 0x8b, 0xa1, 0x75, 0xd6, 0xbb, 0x1b,
+	0xbd, 0xb6, 0x73, 0x7d, 0x5f, 0x9c, 0x5c, 0x68, 0xa1, 0x80, 0x3c, 0x82, 0x16, 0xc3, 0x73, 0x79,
+	0x5c, 0x20, 0xaf, 0x28, 0xf2, 0x9b, 0x49, 0x78, 0x38, 0x1f, 0x60, 0x17, 0xf4, 0x97, 0x94, 0x8d,
+	0x30, 0x5c, 0xc9, 0xaf, 0x5d, 0xd0, 0x5f, 0x61, 0x88, 0x12, 0x57, 0x41, 0xf7, 0xbe, 0x57, 0x01,
+	0x72, 0x65, 0xe4, 0x9b, 0x06, 0xb7, 0xfe, 0x15, 0x4b, 0x76, 0xca, 0x04, 0x95, 0xde, 0x88, 0x69,
+	0xaf, 0x02, 0x4d, 0xbd, 0xb3, 0xda, 0x5f, 0x7f, 0xff, 0xf9, 0x51, 0xd9, 0x22, 0x9b, 0xee, 0xc7,
+	0xa7, 0xee, 0xe7, 0x64, 0x96, 0x7e, 0x6e, 0xcd, 0x15, 0x39, 0x87, 0x1b, 0xc5, 0x05, 0x21, 0x8f,
+	0xcb, 0x5a, 0x97, 0xac, 0x90, 0xf9, 0x7f, 0xff, 0xad, 0x8e, 0xa2, 0x35, 0x89, 0x51, 0x46, 0xeb,
+	0xda, 0xf6, 0x15, 0xf9, 0x04, 0xad, 0x05, 0xff, 0x48, 0xa9, 0xae, 0x72, 0x93, 0x4d, 0xfd, 0xda,
+	0x2b, 0x78, 0x9d, 0x3c, 0xf1, 0x19, 0xb1, 0xbd, 0x9c, 0xf8, 0x8b, 0x06, 0xad, 0x85, 0x7b, 0x2e,
+	0x67, 0x2e, 0x5f, 0x86, 0xa5, 0xcc, 0xb6, 0x62, 0x7e, 0x68, 0xdd, 0x5f, 0xc6, 0xbc, 0x37, 0x52,
+	0x0d, 0xf7, 0x34, 0x7b, 0x30, 0x05, 0x7d, 0xc4, 0xc7, 0x25, 0xa4, 0x83, 0x56, 0x7e, 0x87, 0xc3,
+	0xa4, 0xff, 0x50, 0x7b, 0xd7, 0xcf, 0x60, 0x3e, 0x0f, 0x29, 0xf3, 0x1d, 0x2e, 0x7c, 0xd7, 0x47,
+	0xa6, 0xd8, 0xdd, 0x34, 0x45, 0xa3, 0x20, 0x2e, 0xfe, 0x5d, 0x9f, 0x17, 0xce, 0x3f, 0x2b, 0x64,
+	0x3f, 0xad, 0x3f, 0xe4, 0xcc, 0xf7, 0xd2, 0xe0, 0x49, 0x5d, 0x95, 0x3f, 0xfb, 0x1b, 0x00, 0x00,
+	0xff, 0xff, 0x69, 0x4c, 0xa6, 0x3e, 0x9b, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/longrunning/operations.proto b/googleapis/longrunning/operations.proto
deleted file mode 100644
index 4ead02928b7821d8e21c65c81c2d63149e0224a8..0000000000000000000000000000000000000000
--- a/googleapis/longrunning/operations.proto
+++ /dev/null
@@ -1,156 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.longrunning;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "OperationsProto";
-option java_package = "com.google.longrunning";
-
-
-// Manages long-running operations with an API service.
-//
-// When an API method normally takes long time to complete, it can be designed
-// to return [Operation][google.longrunning.Operation] to the client, and the client can use this
-// interface to receive the real response asynchronously by polling the
-// operation resource, or pass the operation resource to another API (such as
-// Google Cloud Pub/Sub API) to receive the response.  Any API service that
-// returns long-running operations should implement the `Operations` interface
-// so developers can have a consistent client experience.
-service Operations {
-  // Gets the latest state of a long-running operation.  Clients can use this
-  // method to poll the operation result at intervals as recommended by the API
-  // service.
-  rpc GetOperation(GetOperationRequest) returns (Operation) {
-    option (google.api.http) = { get: "/v1/{name=operations/**}" };
-  }
-
-  // Lists operations that match the specified filter in the request. If the
-  // server doesn't support this method, it returns `UNIMPLEMENTED`.
-  //
-  // NOTE: the `name` binding below allows API services to override the binding
-  // to use different resource name schemes, such as `users/*/operations`.
-  rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse) {
-    option (google.api.http) = { get: "/v1/{name=operations}" };
-  }
-
-  // Starts asynchronous cancellation on a long-running operation.  The server
-  // makes a best effort to cancel the operation, but success is not
-  // guaranteed.  If the server doesn't support this method, it returns
-  // `google.rpc.Code.UNIMPLEMENTED`.  Clients can use
-  // [Operations.GetOperation][google.longrunning.Operations.GetOperation] or
-  // other methods to check whether the cancellation succeeded or whether the
-  // operation completed despite cancellation. On successful cancellation,
-  // the operation is not deleted; instead, it becomes an operation with
-  // an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
-  // corresponding to `Code.CANCELLED`.
-  rpc CancelOperation(CancelOperationRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{name=operations/**}:cancel" body: "*" };
-  }
-
-  // Deletes a long-running operation. This method indicates that the client is
-  // no longer interested in the operation result. It does not cancel the
-  // operation. If the server doesn't support this method, it returns
-  // `google.rpc.Code.UNIMPLEMENTED`.
-  rpc DeleteOperation(DeleteOperationRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{name=operations/**}" };
-  }
-}
-
-// This resource represents a long-running operation that is the result of a
-// network API call.
-message Operation {
-  // The server-assigned name, which is only unique within the same service that
-  // originally returns it. If you use the default HTTP mapping, the
-  // `name` should have the format of `operations/some/unique/name`.
-  string name = 1;
-
-  // Service-specific metadata associated with the operation.  It typically
-  // contains progress information and common metadata such as create time.
-  // Some services might not provide such metadata.  Any method that returns a
-  // long-running operation should document the metadata type, if any.
-  google.protobuf.Any metadata = 2;
-
-  // If the value is `false`, it means the operation is still in progress.
-  // If true, the operation is completed, and either `error` or `response` is
-  // available.
-  bool done = 3;
-
-  // The operation result, which can be either an `error` or a valid `response`.
-  // If `done` == `false`, neither `error` nor `response` is set.
-  // If `done` == `true`, exactly one of `error` or `response` is set.
-  oneof result {
-    // The error result of the operation in case of failure or cancellation.
-    google.rpc.Status error = 4;
-
-    // The normal response of the operation in case of success.  If the original
-    // method returns no data on success, such as `Delete`, the response is
-    // `google.protobuf.Empty`.  If the original method is standard
-    // `Get`/`Create`/`Update`, the response should be the resource.  For other
-    // methods, the response should have the type `XxxResponse`, where `Xxx`
-    // is the original method name.  For example, if the original method name
-    // is `TakeSnapshot()`, the inferred response type is
-    // `TakeSnapshotResponse`.
-    google.protobuf.Any response = 5;
-  }
-}
-
-// The request message for [Operations.GetOperation][google.longrunning.Operations.GetOperation].
-message GetOperationRequest {
-  // The name of the operation resource.
-  string name = 1;
-}
-
-// The request message for [Operations.ListOperations][google.longrunning.Operations.ListOperations].
-message ListOperationsRequest {
-  // The name of the operation collection.
-  string name = 4;
-
-  // The standard list filter.
-  string filter = 1;
-
-  // The standard list page size.
-  int32 page_size = 2;
-
-  // The standard list page token.
-  string page_token = 3;
-}
-
-// The response message for [Operations.ListOperations][google.longrunning.Operations.ListOperations].
-message ListOperationsResponse {
-  // A list of operations that matches the specified filter in the request.
-  repeated Operation operations = 1;
-
-  // The standard List next-page token.
-  string next_page_token = 2;
-}
-
-// The request message for [Operations.CancelOperation][google.longrunning.Operations.CancelOperation].
-message CancelOperationRequest {
-  // The name of the operation resource to be cancelled.
-  string name = 1;
-}
-
-// The request message for [Operations.DeleteOperation][google.longrunning.Operations.DeleteOperation].
-message DeleteOperationRequest {
-  // The name of the operation resource to be deleted.
-  string name = 1;
-}
diff --git a/googleapis/monitoring/v3/agent.pb.go b/googleapis/monitoring/v3/agent.pb.go
deleted file mode 100644
index 6e2526c18f110c499ae80eeb4441600ad83c7284..0000000000000000000000000000000000000000
--- a/googleapis/monitoring/v3/agent.pb.go
+++ /dev/null
@@ -1,235 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/monitoring/v3/agent.proto
-// DO NOT EDIT!
-
-/*
-Package google_monitoring_v3 is a generated protocol buffer package.
-
-It is generated from these files:
-	google.golang.org/genproto/googleapis/monitoring/v3/agent.proto
-	google.golang.org/genproto/googleapis/monitoring/v3/agent_service.proto
-	google.golang.org/genproto/googleapis/monitoring/v3/common.proto
-	google.golang.org/genproto/googleapis/monitoring/v3/group.proto
-	google.golang.org/genproto/googleapis/monitoring/v3/group_service.proto
-	google.golang.org/genproto/googleapis/monitoring/v3/metric.proto
-	google.golang.org/genproto/googleapis/monitoring/v3/metric_service.proto
-
-It has these top-level messages:
-	CollectdValue
-	CollectdPayload
-	CreateCollectdTimeSeriesRequest
-	TypedValue
-	TimeInterval
-	Aggregation
-	Group
-	ListGroupsRequest
-	ListGroupsResponse
-	GetGroupRequest
-	CreateGroupRequest
-	UpdateGroupRequest
-	DeleteGroupRequest
-	ListGroupMembersRequest
-	ListGroupMembersResponse
-	Point
-	TimeSeries
-	ListMonitoredResourceDescriptorsRequest
-	ListMonitoredResourceDescriptorsResponse
-	GetMonitoredResourceDescriptorRequest
-	ListMetricDescriptorsRequest
-	ListMetricDescriptorsResponse
-	GetMetricDescriptorRequest
-	CreateMetricDescriptorRequest
-	DeleteMetricDescriptorRequest
-	ListTimeSeriesRequest
-	ListTimeSeriesResponse
-	CreateTimeSeriesRequest
-	CreateTimeSeriesError
-*/
-package google_monitoring_v3 // import "google.golang.org/genproto/googleapis/monitoring/v3"
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
-import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
-
-// The type of measurement for the data source.
-type CollectdValue_DataSourceType int32
-
-const (
-	// An unspecified data source type.
-	// This corresponds to [google.api.MetricDescriptor.MetricKind.METRIC_KIND_UNSPECIFIED].
-	CollectdValue_UNSPECIFIED_DATA_SOURCE_TYPE CollectdValue_DataSourceType = 0
-	// An instantaneous measurement of a varying quantity.
-	// This corresponds to [google.api.MetricDescriptor.MetricKind.GAUGE].
-	CollectdValue_GAUGE CollectdValue_DataSourceType = 1
-	// A cumulative value over time.
-	// This corresponds to [google.api.MetricDescriptor.MetricKind.CUMULATIVE].
-	CollectdValue_COUNTER CollectdValue_DataSourceType = 2
-	// A rate of change of the measurement.
-	CollectdValue_DERIVE CollectdValue_DataSourceType = 3
-	// An amount of change since the last measurement interval.
-	// This corresponds to [google.api.MetricDescriptor.MetricKind.DELTA].
-	CollectdValue_ABSOLUTE CollectdValue_DataSourceType = 4
-)
-
-var CollectdValue_DataSourceType_name = map[int32]string{
-	0: "UNSPECIFIED_DATA_SOURCE_TYPE",
-	1: "GAUGE",
-	2: "COUNTER",
-	3: "DERIVE",
-	4: "ABSOLUTE",
-}
-var CollectdValue_DataSourceType_value = map[string]int32{
-	"UNSPECIFIED_DATA_SOURCE_TYPE": 0,
-	"GAUGE":    1,
-	"COUNTER":  2,
-	"DERIVE":   3,
-	"ABSOLUTE": 4,
-}
-
-func (x CollectdValue_DataSourceType) String() string {
-	return proto.EnumName(CollectdValue_DataSourceType_name, int32(x))
-}
-func (CollectdValue_DataSourceType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor0, []int{0, 0}
-}
-
-// A single data point from a `collectd`-based plugin.
-type CollectdValue struct {
-	// The data source for the `collectd` value. For example there are
-	// two data sources for network measurements: `"rx"` and `"tx"`.
-	DataSourceName string `protobuf:"bytes,1,opt,name=data_source_name,json=dataSourceName" json:"data_source_name,omitempty"`
-	// The type of measurement.
-	DataSourceType CollectdValue_DataSourceType `protobuf:"varint,2,opt,name=data_source_type,json=dataSourceType,enum=google.monitoring.v3.CollectdValue_DataSourceType" json:"data_source_type,omitempty"`
-	// The measurement value.
-	Value *TypedValue `protobuf:"bytes,3,opt,name=value" json:"value,omitempty"`
-}
-
-func (m *CollectdValue) Reset()                    { *m = CollectdValue{} }
-func (m *CollectdValue) String() string            { return proto.CompactTextString(m) }
-func (*CollectdValue) ProtoMessage()               {}
-func (*CollectdValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
-
-func (m *CollectdValue) GetValue() *TypedValue {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-// A collection of data points sent from a `collectd`-based plugin.
-// See the `collectd` documentation for more information.
-type CollectdPayload struct {
-	// The measured values during this time interval.
-	// Each value must have a different `dataSourceName`.
-	Values []*CollectdValue `protobuf:"bytes,1,rep,name=values" json:"values,omitempty"`
-	// The start time of the interval.
-	StartTime *google_protobuf2.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
-	// The end time of the interval.
-	EndTime *google_protobuf2.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
-	// The name of the plugin. Example: `"disk"`.
-	Plugin string `protobuf:"bytes,4,opt,name=plugin" json:"plugin,omitempty"`
-	// The instance name of the plugin Example: `"hdcl"`.
-	PluginInstance string `protobuf:"bytes,5,opt,name=plugin_instance,json=pluginInstance" json:"plugin_instance,omitempty"`
-	// The measurement type. Example: `"memory"`.
-	Type string `protobuf:"bytes,6,opt,name=type" json:"type,omitempty"`
-	// The measurement type instance. Example: `"used"`.
-	TypeInstance string `protobuf:"bytes,7,opt,name=type_instance,json=typeInstance" json:"type_instance,omitempty"`
-	// The measurement metadata. Example: `"process_id" -> 12345`
-	Metadata map[string]*TypedValue `protobuf:"bytes,8,rep,name=metadata" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
-}
-
-func (m *CollectdPayload) Reset()                    { *m = CollectdPayload{} }
-func (m *CollectdPayload) String() string            { return proto.CompactTextString(m) }
-func (*CollectdPayload) ProtoMessage()               {}
-func (*CollectdPayload) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
-
-func (m *CollectdPayload) GetValues() []*CollectdValue {
-	if m != nil {
-		return m.Values
-	}
-	return nil
-}
-
-func (m *CollectdPayload) GetStartTime() *google_protobuf2.Timestamp {
-	if m != nil {
-		return m.StartTime
-	}
-	return nil
-}
-
-func (m *CollectdPayload) GetEndTime() *google_protobuf2.Timestamp {
-	if m != nil {
-		return m.EndTime
-	}
-	return nil
-}
-
-func (m *CollectdPayload) GetMetadata() map[string]*TypedValue {
-	if m != nil {
-		return m.Metadata
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterType((*CollectdValue)(nil), "google.monitoring.v3.CollectdValue")
-	proto.RegisterType((*CollectdPayload)(nil), "google.monitoring.v3.CollectdPayload")
-	proto.RegisterEnum("google.monitoring.v3.CollectdValue_DataSourceType", CollectdValue_DataSourceType_name, CollectdValue_DataSourceType_value)
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/monitoring/v3/agent.proto", fileDescriptor0)
-}
-
-var fileDescriptor0 = []byte{
-	// 566 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x54, 0x5d, 0x8b, 0xd3, 0x40,
-	0x14, 0x35, 0xcd, 0x6e, 0xb7, 0x7b, 0xbb, 0xed, 0x86, 0x41, 0x24, 0x14, 0x1f, 0x42, 0xf7, 0xc1,
-	0x3c, 0x25, 0xd0, 0xa2, 0xa8, 0xfb, 0xa0, 0xfd, 0x88, 0x4b, 0x41, 0xdb, 0x92, 0xa6, 0x0b, 0x82,
-	0x12, 0xa6, 0xc9, 0x6c, 0x0c, 0x26, 0x33, 0x21, 0x99, 0x16, 0xfa, 0xc3, 0xfc, 0x53, 0xfe, 0x0a,
-	0x99, 0x49, 0xda, 0x5a, 0x28, 0xba, 0xfa, 0xd4, 0x3b, 0xf7, 0x9e, 0x73, 0x66, 0x7a, 0xce, 0x25,
-	0xf0, 0x2e, 0x62, 0x2c, 0x4a, 0x88, 0x15, 0xb1, 0x04, 0xd3, 0xc8, 0x62, 0x79, 0x64, 0x47, 0x84,
-	0x66, 0x39, 0xe3, 0xcc, 0x2e, 0x47, 0x38, 0x8b, 0x0b, 0x3b, 0x65, 0x34, 0xe6, 0x2c, 0x8f, 0x69,
-	0x64, 0x6f, 0xfa, 0x36, 0x8e, 0x08, 0xe5, 0x96, 0x04, 0xa1, 0xa7, 0x95, 0xc0, 0x01, 0x61, 0x6d,
-	0xfa, 0x9d, 0xc9, 0xe3, 0x64, 0x71, 0x16, 0xdb, 0x05, 0xc9, 0x37, 0x71, 0x40, 0x02, 0x46, 0x1f,
-	0xe2, 0xc8, 0xc6, 0x94, 0x32, 0x8e, 0x79, 0xcc, 0x68, 0x51, 0x5e, 0xd0, 0x79, 0xff, 0x3f, 0x2f,
-	0x0c, 0x58, 0x9a, 0x32, 0x5a, 0x29, 0xdc, 0x46, 0x31, 0xff, 0xb6, 0x5e, 0x59, 0x01, 0x4b, 0xed,
-	0x52, 0xc5, 0x96, 0x83, 0xd5, 0xfa, 0xc1, 0xce, 0xf8, 0x36, 0x23, 0x85, 0xcd, 0xe3, 0x94, 0x14,
-	0x1c, 0xa7, 0xd9, 0xa1, 0x2a, 0xc9, 0xdd, 0x1f, 0x35, 0x68, 0x8d, 0x58, 0x92, 0x90, 0x80, 0x87,
-	0xf7, 0x38, 0x59, 0x13, 0x64, 0x82, 0x16, 0x62, 0x8e, 0xfd, 0x82, 0xad, 0xf3, 0x80, 0xf8, 0x14,
-	0xa7, 0x44, 0x57, 0x0c, 0xc5, 0xbc, 0x74, 0xdb, 0xa2, 0xbf, 0x90, 0xed, 0x29, 0x4e, 0x09, 0xfa,
-	0x72, 0x8c, 0x14, 0x57, 0xe9, 0x35, 0x43, 0x31, 0xdb, 0xbd, 0x9e, 0x75, 0xca, 0x36, 0xeb, 0xe8,
-	0x22, 0x6b, 0xbc, 0x57, 0xf3, 0xb6, 0x19, 0xf9, 0x5d, 0x5d, 0x9c, 0xd1, 0x2b, 0x38, 0xdf, 0x08,
-	0x9c, 0xae, 0x1a, 0x8a, 0xd9, 0xec, 0x19, 0xa7, 0x25, 0x05, 0xb4, 0xd4, 0x73, 0x4b, 0x78, 0x37,
-	0x84, 0xf6, 0xb1, 0x32, 0x32, 0xe0, 0xf9, 0x72, 0xba, 0x98, 0x3b, 0xa3, 0xc9, 0x87, 0x89, 0x33,
-	0xf6, 0xc7, 0x03, 0x6f, 0xe0, 0x2f, 0x66, 0x4b, 0x77, 0xe4, 0xf8, 0xde, 0xe7, 0xb9, 0xa3, 0x3d,
-	0x41, 0x97, 0x70, 0x7e, 0x37, 0x58, 0xde, 0x39, 0x9a, 0x82, 0x9a, 0x70, 0x31, 0x9a, 0x2d, 0xa7,
-	0x9e, 0xe3, 0x6a, 0x35, 0x04, 0x50, 0x1f, 0x3b, 0xee, 0xe4, 0xde, 0xd1, 0x54, 0x74, 0x05, 0x8d,
-	0xc1, 0x70, 0x31, 0xfb, 0xb8, 0xf4, 0x1c, 0xed, 0xac, 0xfb, 0x53, 0x85, 0xeb, 0xdd, 0xdf, 0x99,
-	0xe3, 0x6d, 0xc2, 0x70, 0x88, 0x6e, 0xa1, 0x2e, 0x9f, 0x50, 0xe8, 0x8a, 0xa1, 0x9a, 0xcd, 0xde,
-	0xcd, 0x23, 0x5c, 0x70, 0x2b, 0x0a, 0x7a, 0x03, 0x50, 0x70, 0x9c, 0x73, 0x5f, 0x24, 0x24, 0x6d,
-	0x6c, 0xf6, 0x3a, 0x3b, 0x81, 0x5d, 0x9e, 0x96, 0xb7, 0x8b, 0xcf, 0xbd, 0x94, 0x68, 0x71, 0x46,
-	0x2f, 0xa1, 0x41, 0x68, 0x58, 0x12, 0xd5, 0xbf, 0x12, 0x2f, 0x08, 0x0d, 0x25, 0xed, 0x19, 0xd4,
-	0xb3, 0x64, 0x1d, 0xc5, 0x54, 0x3f, 0x93, 0xf1, 0x56, 0x27, 0xf4, 0x02, 0xae, 0xcb, 0xca, 0x8f,
-	0x69, 0xc1, 0x31, 0x0d, 0x88, 0x7e, 0x5e, 0xe6, 0x5f, 0xb6, 0x27, 0x55, 0x17, 0x21, 0x38, 0x93,
-	0x99, 0xd7, 0xe5, 0x54, 0xd6, 0xe8, 0x06, 0x5a, 0xe2, 0xf7, 0x40, 0xbd, 0x90, 0xc3, 0x2b, 0xd1,
-	0xdc, 0x13, 0x67, 0xd0, 0x48, 0x09, 0xc7, 0x22, 0x70, 0xbd, 0x21, 0xad, 0xea, 0xff, 0xd9, 0xaa,
-	0xca, 0x61, 0xeb, 0x53, 0xc5, 0x72, 0x28, 0xcf, 0xb7, 0xee, 0x5e, 0xa4, 0xf3, 0x15, 0x5a, 0x47,
-	0x23, 0xa4, 0x81, 0xfa, 0x9d, 0x6c, 0xab, 0xbd, 0x15, 0xe5, 0x61, 0x9d, 0x6a, 0xff, 0xb4, 0x4e,
-	0x6f, 0x6b, 0xaf, 0x95, 0xa1, 0x09, 0x7a, 0xc0, 0xd2, 0x93, 0x8c, 0x21, 0x0c, 0xc4, 0xd7, 0x62,
-	0x2e, 0x7c, 0x9e, 0x2b, 0xab, 0xba, 0x34, 0xbc, 0xff, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x9e, 0xbe,
-	0x6c, 0xfd, 0x78, 0x04, 0x00, 0x00,
-}
diff --git a/googleapis/monitoring/v3/agent.proto b/googleapis/monitoring/v3/agent.proto
deleted file mode 100644
index cbf26ebf7b90a03d5b7ab97321f9cb6261cb1de9..0000000000000000000000000000000000000000
--- a/googleapis/monitoring/v3/agent.proto
+++ /dev/null
@@ -1,90 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.monitoring.v3;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/monitoring/v3/common.proto"; // from google/monitoring/v3/common.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "AgentProto";
-option java_package = "com.google.monitoring.v3";
-
-
-// A single data point from a `collectd`-based plugin.
-message CollectdValue {
-  // The type of measurement for the data source.
-  enum DataSourceType {
-    // An unspecified data source type.
-    // This corresponds to [google.api.MetricDescriptor.MetricKind.METRIC_KIND_UNSPECIFIED].
-    UNSPECIFIED_DATA_SOURCE_TYPE = 0;
-
-    // An instantaneous measurement of a varying quantity.
-    // This corresponds to [google.api.MetricDescriptor.MetricKind.GAUGE].
-    GAUGE = 1;
-
-    // A cumulative value over time.
-    // This corresponds to [google.api.MetricDescriptor.MetricKind.CUMULATIVE].
-    COUNTER = 2;
-
-    // A rate of change of the measurement.
-    DERIVE = 3;
-
-    // An amount of change since the last measurement interval.
-    // This corresponds to [google.api.MetricDescriptor.MetricKind.DELTA].
-    ABSOLUTE = 4;
-  }
-
-  // The data source for the `collectd` value. For example there are
-  // two data sources for network measurements: `"rx"` and `"tx"`.
-  string data_source_name = 1;
-
-  // The type of measurement.
-  DataSourceType data_source_type = 2;
-
-  // The measurement value.
-  TypedValue value = 3;
-}
-
-// A collection of data points sent from a `collectd`-based plugin.
-// See the `collectd` documentation for more information.
-message CollectdPayload {
-  // The measured values during this time interval.
-  // Each value must have a different `dataSourceName`.
-  repeated CollectdValue values = 1;
-
-  // The start time of the interval.
-  google.protobuf.Timestamp start_time = 2;
-
-  // The end time of the interval.
-  google.protobuf.Timestamp end_time = 3;
-
-  // The name of the plugin. Example: `"disk"`.
-  string plugin = 4;
-
-  // The instance name of the plugin Example: `"hdcl"`.
-  string plugin_instance = 5;
-
-  // The measurement type. Example: `"memory"`.
-  string type = 6;
-
-  // The measurement type instance. Example: `"used"`.
-  string type_instance = 7;
-
-  // The measurement metadata. Example: `"process_id" -> 12345`
-  map<string, TypedValue> metadata = 8;
-}
diff --git a/googleapis/monitoring/v3/agent_service.pb.go b/googleapis/monitoring/v3/agent_service.pb.go
deleted file mode 100644
index e2d5554e9cf369887a98a5b77d2dcb0261df5966..0000000000000000000000000000000000000000
--- a/googleapis/monitoring/v3/agent_service.pb.go
+++ /dev/null
@@ -1,178 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/monitoring/v3/agent_service.proto
-// DO NOT EDIT!
-
-package google_monitoring_v3 // import "google.golang.org/genproto/googleapis/monitoring/v3"
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
-import google_api4 "google.golang.org/genproto/googleapis/api/monitoredres"
-import google_protobuf4 "github.com/golang/protobuf/ptypes/empty"
-
-import (
-	context "golang.org/x/net/context"
-	grpc "google.golang.org/grpc"
-)
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// The `CreateCollectdTimeSeries` request.
-type CreateCollectdTimeSeriesRequest struct {
-	// The project in which to create the time series. The format is
-	// `"projects/PROJECT_ID_OR_NUMBER"`.
-	Name string `protobuf:"bytes,5,opt,name=name" json:"name,omitempty"`
-	// The monitored resource associated with the time series.
-	Resource *google_api4.MonitoredResource `protobuf:"bytes,2,opt,name=resource" json:"resource,omitempty"`
-	// The version of `collectd` that collected the data. Example: `"5.3.0-192.el6"`.
-	CollectdVersion string `protobuf:"bytes,3,opt,name=collectd_version,json=collectdVersion" json:"collectd_version,omitempty"`
-	// The `collectd` payloads representing the time series data.
-	// You must not include more than a single point for each
-	// time series, so no two payloads can have the same values
-	// for all of the fields `plugin`, `plugin_instance`, `type`, and `type_instance`.
-	CollectdPayloads []*CollectdPayload `protobuf:"bytes,4,rep,name=collectd_payloads,json=collectdPayloads" json:"collectd_payloads,omitempty"`
-}
-
-func (m *CreateCollectdTimeSeriesRequest) Reset()                    { *m = CreateCollectdTimeSeriesRequest{} }
-func (m *CreateCollectdTimeSeriesRequest) String() string            { return proto.CompactTextString(m) }
-func (*CreateCollectdTimeSeriesRequest) ProtoMessage()               {}
-func (*CreateCollectdTimeSeriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
-
-func (m *CreateCollectdTimeSeriesRequest) GetResource() *google_api4.MonitoredResource {
-	if m != nil {
-		return m.Resource
-	}
-	return nil
-}
-
-func (m *CreateCollectdTimeSeriesRequest) GetCollectdPayloads() []*CollectdPayload {
-	if m != nil {
-		return m.CollectdPayloads
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterType((*CreateCollectdTimeSeriesRequest)(nil), "google.monitoring.v3.CreateCollectdTimeSeriesRequest")
-}
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ context.Context
-var _ grpc.ClientConn
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-const _ = grpc.SupportPackageIsVersion4
-
-// Client API for AgentTranslationService service
-
-type AgentTranslationServiceClient interface {
-	// **Stackdriver Monitoring Agent only:** Creates a new time series.
-	//
-	// <aside class="caution">This method is only for use by the Google Monitoring Agent.
-	// Use [projects.timeSeries.create][google.monitoring.v3.MetricService.CreateTimeSeries]
-	// instead.</aside>
-	CreateCollectdTimeSeries(ctx context.Context, in *CreateCollectdTimeSeriesRequest, opts ...grpc.CallOption) (*google_protobuf4.Empty, error)
-}
-
-type agentTranslationServiceClient struct {
-	cc *grpc.ClientConn
-}
-
-func NewAgentTranslationServiceClient(cc *grpc.ClientConn) AgentTranslationServiceClient {
-	return &agentTranslationServiceClient{cc}
-}
-
-func (c *agentTranslationServiceClient) CreateCollectdTimeSeries(ctx context.Context, in *CreateCollectdTimeSeriesRequest, opts ...grpc.CallOption) (*google_protobuf4.Empty, error) {
-	out := new(google_protobuf4.Empty)
-	err := grpc.Invoke(ctx, "/google.monitoring.v3.AgentTranslationService/CreateCollectdTimeSeries", in, out, c.cc, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-// Server API for AgentTranslationService service
-
-type AgentTranslationServiceServer interface {
-	// **Stackdriver Monitoring Agent only:** Creates a new time series.
-	//
-	// <aside class="caution">This method is only for use by the Google Monitoring Agent.
-	// Use [projects.timeSeries.create][google.monitoring.v3.MetricService.CreateTimeSeries]
-	// instead.</aside>
-	CreateCollectdTimeSeries(context.Context, *CreateCollectdTimeSeriesRequest) (*google_protobuf4.Empty, error)
-}
-
-func RegisterAgentTranslationServiceServer(s *grpc.Server, srv AgentTranslationServiceServer) {
-	s.RegisterService(&_AgentTranslationService_serviceDesc, srv)
-}
-
-func _AgentTranslationService_CreateCollectdTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(CreateCollectdTimeSeriesRequest)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(AgentTranslationServiceServer).CreateCollectdTimeSeries(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/google.monitoring.v3.AgentTranslationService/CreateCollectdTimeSeries",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(AgentTranslationServiceServer).CreateCollectdTimeSeries(ctx, req.(*CreateCollectdTimeSeriesRequest))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-var _AgentTranslationService_serviceDesc = grpc.ServiceDesc{
-	ServiceName: "google.monitoring.v3.AgentTranslationService",
-	HandlerType: (*AgentTranslationServiceServer)(nil),
-	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "CreateCollectdTimeSeries",
-			Handler:    _AgentTranslationService_CreateCollectdTimeSeries_Handler,
-		},
-	},
-	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/monitoring/v3/agent_service.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/monitoring/v3/agent_service.proto", fileDescriptor1)
-}
-
-var fileDescriptor1 = []byte{
-	// 426 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x51, 0x41, 0x6b, 0x14, 0x31,
-	0x18, 0x65, 0xda, 0x2a, 0x9a, 0x1e, 0xb4, 0x41, 0x74, 0x58, 0x10, 0x97, 0x05, 0x61, 0x2c, 0x98,
-	0xc0, 0x0e, 0x1e, 0x14, 0x44, 0x6c, 0x11, 0xf1, 0x20, 0x2e, 0xd3, 0xe2, 0x75, 0xc9, 0x66, 0xbf,
-	0xc6, 0xc8, 0x4c, 0xbe, 0x98, 0x64, 0x06, 0x16, 0xf1, 0xe2, 0x5f, 0xf0, 0xee, 0x0f, 0xf1, 0x6f,
-	0xf8, 0x17, 0xbc, 0xfb, 0x17, 0x64, 0x26, 0x99, 0xed, 0xc1, 0x56, 0x8a, 0x97, 0x61, 0xf2, 0xe5,
-	0xe5, 0xbd, 0xef, 0xbd, 0x47, 0x5e, 0x2b, 0x44, 0x55, 0x03, 0x53, 0x58, 0x0b, 0xa3, 0x18, 0x3a,
-	0xc5, 0x15, 0x18, 0xeb, 0x30, 0x20, 0x8f, 0x57, 0xc2, 0x6a, 0xcf, 0x1b, 0x34, 0x3a, 0xa0, 0xd3,
-	0x46, 0xf1, 0xae, 0xe4, 0x42, 0x81, 0x09, 0x4b, 0x0f, 0xae, 0xd3, 0x12, 0xd8, 0x00, 0xa6, 0x77,
-	0x12, 0xd1, 0x39, 0x92, 0x75, 0xe5, 0xe4, 0xcd, 0xd5, 0xe8, 0x85, 0xd5, 0x3c, 0xd1, 0x49, 0x34,
-	0x67, 0x5a, 0x71, 0x61, 0x0c, 0x06, 0x11, 0x34, 0x1a, 0x1f, 0x05, 0x26, 0xef, 0xae, 0x4e, 0x95,
-	0x76, 0x80, 0xb5, 0x03, 0x7f, 0x7e, 0x58, 0x3a, 0xf0, 0xd8, 0xba, 0x71, 0xe3, 0xc9, 0x8b, 0xff,
-	0xb6, 0x9e, 0x08, 0x4a, 0xa5, 0xc3, 0x87, 0x76, 0xc5, 0x24, 0x36, 0x3c, 0x92, 0xf0, 0xe1, 0x62,
-	0xd5, 0x9e, 0x71, 0x1b, 0x36, 0x16, 0x3c, 0x87, 0xc6, 0x86, 0x4d, 0xfc, 0xc6, 0x47, 0xb3, 0xdf,
-	0x19, 0x79, 0x70, 0xec, 0x40, 0x04, 0x38, 0xc6, 0xba, 0x06, 0x19, 0xd6, 0xa7, 0xba, 0x81, 0x13,
-	0x70, 0x1a, 0x7c, 0x05, 0x9f, 0x5a, 0xf0, 0x81, 0x52, 0xb2, 0x67, 0x44, 0x03, 0xf9, 0xb5, 0x69,
-	0x56, 0xdc, 0xac, 0x86, 0x7f, 0xfa, 0x94, 0xdc, 0x18, 0xf7, 0xcf, 0x77, 0xa6, 0x59, 0xb1, 0x3f,
-	0xbf, 0xcf, 0x92, 0x01, 0x61, 0x35, 0x7b, 0x3b, 0xba, 0xac, 0x12, 0xa8, 0xda, 0xc2, 0xe9, 0x23,
-	0x72, 0x5b, 0x26, 0xad, 0x65, 0x07, 0xce, 0x6b, 0x34, 0xf9, 0xee, 0x40, 0x7d, 0x6b, 0x9c, 0xbf,
-	0x8f, 0x63, 0x5a, 0x91, 0x83, 0x2d, 0xd4, 0x8a, 0x4d, 0x8d, 0x62, 0xed, 0xf3, 0xbd, 0xe9, 0x6e,
-	0xb1, 0x3f, 0x7f, 0xc8, 0x2e, 0x6a, 0x98, 0x8d, 0x2e, 0x16, 0x11, 0x5d, 0x6d, 0xa5, 0xd2, 0xc0,
-	0xcf, 0x7f, 0x64, 0xe4, 0xde, 0xcb, 0x3e, 0xb6, 0x53, 0x27, 0x8c, 0xaf, 0x87, 0x52, 0x4f, 0x62,
-	0xd9, 0xf4, 0x7b, 0x46, 0xf2, 0xcb, 0xd2, 0xa0, 0x4f, 0x2e, 0x51, 0xfc, 0x77, 0x7a, 0x93, 0xbb,
-	0xe3, 0xb3, 0xb1, 0x0c, 0xf6, 0xaa, 0xcf, 0x7f, 0x56, 0x7e, 0xfd, 0xf9, 0xeb, 0xdb, 0xce, 0xe3,
-	0x59, 0xd1, 0xf7, 0xf8, 0xb9, 0x0f, 0xf5, 0xb9, 0x75, 0xf8, 0x11, 0x64, 0xf0, 0xfc, 0xf0, 0x0b,
-	0x97, 0x7f, 0x11, 0x3e, 0xcb, 0x0e, 0x8f, 0x38, 0xc9, 0x25, 0x36, 0x17, 0x2e, 0x72, 0x74, 0x30,
-	0xb8, 0x4a, 0x56, 0x16, 0xbd, 0xd8, 0x22, 0x5b, 0x5d, 0x1f, 0x54, 0xcb, 0x3f, 0x01, 0x00, 0x00,
-	0xff, 0xff, 0x07, 0x6b, 0xcb, 0x33, 0x59, 0x03, 0x00, 0x00,
-}
diff --git a/googleapis/monitoring/v3/agent_service.proto b/googleapis/monitoring/v3/agent_service.proto
deleted file mode 100644
index 3e671d059f68f8f696f0d8fae1ae57b90a2fa705..0000000000000000000000000000000000000000
--- a/googleapis/monitoring/v3/agent_service.proto
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.monitoring.v3;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto
-import "google.golang.org/genproto/googleapis/monitoring/v3/agent.proto"; // from google/monitoring/v3/agent.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "AgentServiceProto";
-option java_package = "com.google.monitoring.v3";
-
-
-// The AgentTranslation API allows `collectd`-based agents to
-// write time series data to Cloud Monitoring.
-// See [google.monitoring.v3.MetricService.CreateTimeSeries] instead.
-service AgentTranslationService {
-  // **Stackdriver Monitoring Agent only:** Creates a new time series.
-  //
-  // <aside class="caution">This method is only for use by the Google Monitoring Agent.
-  // Use [projects.timeSeries.create][google.monitoring.v3.MetricService.CreateTimeSeries]
-  // instead.</aside>
-  rpc CreateCollectdTimeSeries(CreateCollectdTimeSeriesRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v3/{name=projects/*}/collectdTimeSeries", body: "*" };
-  }
-}
-
-// The `CreateCollectdTimeSeries` request.
-message CreateCollectdTimeSeriesRequest {
-  // The project in which to create the time series. The format is
-  // `"projects/PROJECT_ID_OR_NUMBER"`.
-  string name = 5;
-
-  // The monitored resource associated with the time series.
-  google.api.MonitoredResource resource = 2;
-
-  // The version of `collectd` that collected the data. Example: `"5.3.0-192.el6"`.
-  string collectd_version = 3;
-
-  // The `collectd` payloads representing the time series data.
-  // You must not include more than a single point for each
-  // time series, so no two payloads can have the same values
-  // for all of the fields `plugin`, `plugin_instance`, `type`, and `type_instance`.
-  repeated CollectdPayload collectd_payloads = 4;
-}
diff --git a/googleapis/monitoring/v3/common.pb.go b/googleapis/monitoring/v3/common.pb.go
index 9d152d16473cc41125169d2f6c978e9d9f1f969b..9fc68593d41ab91545f4578c2d25b969db880c82 100644
--- a/googleapis/monitoring/v3/common.pb.go
+++ b/googleapis/monitoring/v3/common.pb.go
@@ -1,8 +1,46 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/monitoring/v3/common.proto
+// source: google/monitoring/v3/common.proto
 // DO NOT EDIT!
 
-package google_monitoring_v3 // import "google.golang.org/genproto/googleapis/monitoring/v3"
+/*
+Package monitoring is a generated protocol buffer package.
+
+It is generated from these files:
+	google/monitoring/v3/common.proto
+	google/monitoring/v3/group.proto
+	google/monitoring/v3/group_service.proto
+	google/monitoring/v3/metric.proto
+	google/monitoring/v3/metric_service.proto
+
+It has these top-level messages:
+	TypedValue
+	TimeInterval
+	Aggregation
+	Group
+	ListGroupsRequest
+	ListGroupsResponse
+	GetGroupRequest
+	CreateGroupRequest
+	UpdateGroupRequest
+	DeleteGroupRequest
+	ListGroupMembersRequest
+	ListGroupMembersResponse
+	Point
+	TimeSeries
+	ListMonitoredResourceDescriptorsRequest
+	ListMonitoredResourceDescriptorsResponse
+	GetMonitoredResourceDescriptorRequest
+	ListMetricDescriptorsRequest
+	ListMetricDescriptorsResponse
+	GetMetricDescriptorRequest
+	CreateMetricDescriptorRequest
+	DeleteMetricDescriptorRequest
+	ListTimeSeriesRequest
+	ListTimeSeriesResponse
+	CreateTimeSeriesRequest
+	CreateTimeSeriesError
+*/
+package monitoring
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -16,6 +54,12 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
 // The Aligner describes how to bring the data points in a single
 // time series into temporal alignment.
 type Aggregation_Aligner int32
@@ -37,7 +81,7 @@ const (
 	// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
 	Aggregation_ALIGN_RATE Aggregation_Aligner = 2
 	// Align by interpolating between adjacent points around the
-	// period boundary. This alignment is valid for gauge and delta
+	// period boundary. This alignment is valid for gauge
 	// metrics with numeric values. The value type of the result is the same
 	// as the value type of the input.
 	Aggregation_ALIGN_INTERPOLATE Aggregation_Aligner = 3
@@ -162,7 +206,7 @@ var Aggregation_Aligner_value = map[string]int32{
 func (x Aggregation_Aligner) String() string {
 	return proto.EnumName(Aggregation_Aligner_name, int32(x))
 }
-func (Aggregation_Aligner) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{2, 0} }
+func (Aggregation_Aligner) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
 
 // A Reducer describes how to aggregate data points from multiple
 // time series into a single time series.
@@ -270,7 +314,7 @@ var Aggregation_Reducer_value = map[string]int32{
 func (x Aggregation_Reducer) String() string {
 	return proto.EnumName(Aggregation_Reducer_name, int32(x))
 }
-func (Aggregation_Reducer) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{2, 1} }
+func (Aggregation_Reducer) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 1} }
 
 // A single strongly-typed value.
 type TypedValue struct {
@@ -288,7 +332,7 @@ type TypedValue struct {
 func (m *TypedValue) Reset()                    { *m = TypedValue{} }
 func (m *TypedValue) String() string            { return proto.CompactTextString(m) }
 func (*TypedValue) ProtoMessage()               {}
-func (*TypedValue) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+func (*TypedValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
 type isTypedValue_Value interface {
 	isTypedValue_Value()
@@ -489,7 +533,7 @@ type TimeInterval struct {
 func (m *TimeInterval) Reset()                    { *m = TimeInterval{} }
 func (m *TimeInterval) String() string            { return proto.CompactTextString(m) }
 func (*TimeInterval) ProtoMessage()               {}
-func (*TimeInterval) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+func (*TimeInterval) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
 func (m *TimeInterval) GetEndTime() *google_protobuf2.Timestamp {
 	if m != nil {
@@ -505,9 +549,11 @@ func (m *TimeInterval) GetStartTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
-// Describes how to combine, or aggregate, multiple time series to
-// provide different views of the data.
-// See [Aggregation](/monitoring/api/learn_more#aggregation) for more details.
+// Describes how to combine multiple time series to provide different views of
+// the data.  Aggregation consists of an alignment step on individual time
+// series (`per_series_aligner`) followed by an optional reduction of the data
+// across different time series (`cross_series_reducer`).  For more details, see
+// [Aggregation](/monitoring/api/learn_more#aggregation).
 type Aggregation struct {
 	// The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
 	// alignment. If present, `alignmentPeriod` must be at least 60
@@ -543,23 +589,26 @@ type Aggregation struct {
 	// returned.
 	CrossSeriesReducer Aggregation_Reducer `protobuf:"varint,4,opt,name=cross_series_reducer,json=crossSeriesReducer,enum=google.monitoring.v3.Aggregation_Reducer" json:"cross_series_reducer,omitempty"`
 	// The set of fields to preserve when `crossSeriesReducer` is
-	// specified. The `groupByFields` determine how the time series
-	// are partitioned into subsets prior to applying the aggregation
+	// specified. The `groupByFields` determine how the time series are
+	// partitioned into subsets prior to applying the aggregation
 	// function. Each subset contains time series that have the same
 	// value for each of the grouping fields. Each individual time
 	// series is a member of exactly one subset. The
 	// `crossSeriesReducer` is applied to each subset of time series.
-	// Fields not specified in `groupByFields` are aggregated away.
-	// If `groupByFields` is not specified, the time series are
-	// aggregated into a single output time series. If
-	// `crossSeriesReducer` is not defined, this field is ignored.
+	// It is not possible to reduce across different resource types, so
+	// this field implicitly contains `resource.type`.  Fields not
+	// specified in `groupByFields` are aggregated away.  If
+	// `groupByFields` is not specified and all the time series have
+	// the same resource type, then the time series are aggregated into
+	// a single output time series. If `crossSeriesReducer` is not
+	// defined, this field is ignored.
 	GroupByFields []string `protobuf:"bytes,5,rep,name=group_by_fields,json=groupByFields" json:"group_by_fields,omitempty"`
 }
 
 func (m *Aggregation) Reset()                    { *m = Aggregation{} }
 func (m *Aggregation) String() string            { return proto.CompactTextString(m) }
 func (*Aggregation) ProtoMessage()               {}
-func (*Aggregation) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
+func (*Aggregation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
 func (m *Aggregation) GetAlignmentPeriod() *google_protobuf3.Duration {
 	if m != nil {
@@ -568,6 +617,27 @@ func (m *Aggregation) GetAlignmentPeriod() *google_protobuf3.Duration {
 	return nil
 }
 
+func (m *Aggregation) GetPerSeriesAligner() Aggregation_Aligner {
+	if m != nil {
+		return m.PerSeriesAligner
+	}
+	return Aggregation_ALIGN_NONE
+}
+
+func (m *Aggregation) GetCrossSeriesReducer() Aggregation_Reducer {
+	if m != nil {
+		return m.CrossSeriesReducer
+	}
+	return Aggregation_REDUCE_NONE
+}
+
+func (m *Aggregation) GetGroupByFields() []string {
+	if m != nil {
+		return m.GroupByFields
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*TypedValue)(nil), "google.monitoring.v3.TypedValue")
 	proto.RegisterType((*TimeInterval)(nil), "google.monitoring.v3.TimeInterval")
@@ -576,59 +646,57 @@ func init() {
 	proto.RegisterEnum("google.monitoring.v3.Aggregation_Reducer", Aggregation_Reducer_name, Aggregation_Reducer_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/monitoring/v3/common.proto", fileDescriptor2)
-}
-
-var fileDescriptor2 = []byte{
-	// 775 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x55, 0xcf, 0x6e, 0xe2, 0x46,
-	0x18, 0xc7, 0x90, 0x2c, 0xe1, 0x33, 0x09, 0x93, 0x59, 0x56, 0xa5, 0xb9, 0x94, 0x52, 0xa9, 0x62,
-	0x2f, 0x76, 0x94, 0x94, 0x4a, 0x51, 0x2f, 0x75, 0xc0, 0xdb, 0x58, 0x22, 0x06, 0xcd, 0x3a, 0xdb,
-	0x48, 0x3d, 0x58, 0x06, 0xcf, 0xba, 0x23, 0x61, 0x8f, 0x35, 0x36, 0x91, 0x72, 0xeb, 0x6b, 0xf4,
-	0x15, 0xfa, 0x48, 0x7d, 0x88, 0x3e, 0x43, 0xe5, 0x99, 0x61, 0x71, 0x54, 0xaa, 0xdd, 0x1b, 0xdf,
-	0xef, 0xdf, 0x78, 0x7e, 0x9f, 0x2d, 0xe0, 0xe7, 0x84, 0xf3, 0x64, 0x43, 0xad, 0x84, 0x6f, 0xa2,
-	0x2c, 0xb1, 0xb8, 0x48, 0xec, 0x84, 0x66, 0xb9, 0xe0, 0x25, 0xb7, 0x15, 0x15, 0xe5, 0xac, 0xb0,
-	0x53, 0x9e, 0xb1, 0x92, 0x0b, 0x96, 0x25, 0xf6, 0xd3, 0xb5, 0xbd, 0xe6, 0x69, 0xca, 0x33, 0x4b,
-	0xaa, 0x70, 0x5f, 0x27, 0xec, 0x25, 0xd6, 0xd3, 0xf5, 0x85, 0xf7, 0x65, 0xb9, 0x51, 0xce, 0xec,
-	0x98, 0x15, 0xa5, 0x60, 0xab, 0x6d, 0xc9, 0x78, 0xf6, 0x62, 0x50, 0x07, 0x5c, 0xdc, 0x24, 0xac,
-	0xfc, 0x7d, 0xbb, 0xb2, 0xd6, 0x3c, 0xb5, 0x55, 0x9c, 0x2d, 0x89, 0xd5, 0xf6, 0xa3, 0x9d, 0x97,
-	0xcf, 0x39, 0x2d, 0xec, 0x78, 0x2b, 0x22, 0x65, 0xd7, 0x3f, 0xb4, 0xf5, 0xa7, 0xcf, 0x5b, 0x4b,
-	0x96, 0xd2, 0xa2, 0x8c, 0xd2, 0x7c, 0xff, 0x4b, 0x99, 0x47, 0xff, 0x18, 0x00, 0xc1, 0x73, 0x4e,
-	0xe3, 0x0f, 0xd1, 0x66, 0x4b, 0xf1, 0x37, 0x00, 0x2b, 0xce, 0x37, 0xe1, 0x53, 0x35, 0x0d, 0x8c,
-	0xa1, 0x31, 0x3e, 0xb9, 0x6b, 0x90, 0x4e, 0x85, 0x29, 0xc1, 0xb7, 0x60, 0xb2, 0xac, 0xfc, 0xf1,
-	0x07, 0xad, 0x68, 0x0e, 0x8d, 0x71, 0xeb, 0xae, 0x41, 0x40, 0x82, 0x4a, 0xf2, 0x1d, 0x74, 0x63,
-	0xbe, 0x5d, 0x6d, 0xa8, 0xd6, 0xb4, 0x86, 0xc6, 0xd8, 0xb8, 0x6b, 0x10, 0x53, 0xa1, 0x9f, 0x44,
-	0x55, 0x07, 0x59, 0xa2, 0x45, 0x47, 0x43, 0x63, 0xdc, 0xa9, 0x44, 0x0a, 0x55, 0x22, 0x0f, 0x70,
-	0xbd, 0x2a, 0x2d, 0x3d, 0x1e, 0x1a, 0x63, 0xf3, 0x6a, 0x60, 0xe9, 0xf2, 0xa3, 0x9c, 0x59, 0xb3,
-	0x9a, 0xea, 0xae, 0x41, 0xce, 0xeb, 0x2e, 0x19, 0x75, 0xdb, 0x86, 0x63, 0xe9, 0x1e, 0xfd, 0x61,
-	0x40, 0x37, 0x60, 0x29, 0xf5, 0xb2, 0x92, 0x8a, 0xa7, 0x68, 0x83, 0x27, 0x70, 0x42, 0xb3, 0x38,
-	0xac, 0x8a, 0x91, 0xd7, 0x31, 0xaf, 0x2e, 0x76, 0xd1, 0xbb, 0x1a, 0xad, 0x60, 0xd7, 0x1a, 0x69,
-	0xd3, 0x2c, 0xae, 0x26, 0x7c, 0x03, 0x50, 0x94, 0x91, 0x28, 0x95, 0xd1, 0xf8, 0xac, 0xb1, 0x23,
-	0xd5, 0xd5, 0x3c, 0xfa, 0xab, 0x0d, 0xa6, 0x93, 0x24, 0x82, 0x26, 0x72, 0x8d, 0x78, 0x06, 0x28,
-	0xda, 0xb0, 0x24, 0x4b, 0x69, 0x56, 0x86, 0x39, 0x15, 0x8c, 0xc7, 0x3a, 0xf0, 0xeb, 0xff, 0x04,
-	0xce, 0xf4, 0xee, 0x49, 0xef, 0x93, 0x65, 0x29, 0x1d, 0xf8, 0x57, 0xc0, 0x39, 0x15, 0x61, 0x41,
-	0x05, 0xa3, 0x45, 0x28, 0x59, 0x2a, 0xe4, 0x8d, 0xce, 0xae, 0xde, 0x5a, 0x87, 0xde, 0x5f, 0xab,
-	0xf6, 0x10, 0x96, 0xa3, 0x0c, 0x04, 0xe5, 0x54, 0xbc, 0x97, 0x19, 0x1a, 0xc1, 0xbf, 0x41, 0x7f,
-	0x2d, 0x78, 0x51, 0xec, 0xa2, 0x05, 0x8d, 0xb7, 0x6b, 0x2a, 0xe4, 0xca, 0xbe, 0x28, 0x9a, 0x28,
-	0x03, 0xc1, 0x32, 0x46, 0x85, 0x6b, 0x0c, 0x7f, 0x0f, 0xbd, 0x44, 0xf0, 0x6d, 0x1e, 0xae, 0x9e,
-	0xc3, 0x8f, 0x8c, 0x6e, 0xe2, 0x62, 0x70, 0x3c, 0x6c, 0x8d, 0x3b, 0xe4, 0x54, 0xc2, 0xb7, 0xcf,
-	0xef, 0x24, 0x38, 0xfa, 0xbb, 0x09, 0xed, 0xdd, 0x03, 0x9d, 0x01, 0x38, 0x73, 0xef, 0x17, 0x3f,
-	0xf4, 0x17, 0xbe, 0x8b, 0x1a, 0xb8, 0x07, 0xa6, 0x9a, 0x67, 0xee, 0x3c, 0x70, 0x90, 0xb1, 0x17,
-	0x10, 0x27, 0x70, 0x51, 0x13, 0xbf, 0x81, 0x73, 0x35, 0x7b, 0x7e, 0xe0, 0x92, 0xe5, 0x62, 0x5e,
-	0xc1, 0x2d, 0xdc, 0x07, 0xa4, 0x73, 0xdc, 0xc7, 0x20, 0x5c, 0xcc, 0x67, 0x2e, 0x41, 0x47, 0xf8,
-	0x14, 0x3a, 0x0a, 0xbd, 0xf7, 0x7c, 0x04, 0xb5, 0xd1, 0x79, 0x44, 0xe6, 0x3e, 0xfa, 0xde, 0x75,
-	0x7c, 0xd4, 0xdd, 0x9f, 0x3d, 0x5d, 0x3c, 0xf8, 0x01, 0x3a, 0xdd, 0xeb, 0xdf, 0x3f, 0xdc, 0xa3,
-	0x33, 0x8c, 0xa0, 0xab, 0xc7, 0x60, 0x36, 0x73, 0x3f, 0xa0, 0xde, 0xfe, 0x54, 0xe9, 0x08, 0x03,
-	0xf2, 0xe0, 0x22, 0x84, 0xbf, 0x82, 0xd7, 0x0a, 0x7d, 0x47, 0x9c, 0x69, 0xe0, 0x2d, 0x7c, 0x45,
-	0x9c, 0xef, 0x89, 0xa5, 0x4b, 0xa6, 0xae, 0x1f, 0x78, 0x73, 0x37, 0xbc, 0xb9, 0x41, 0xf8, 0x30,
-	0x31, 0x41, 0xaf, 0x0f, 0x12, 0x93, 0x4b, 0xd4, 0x3f, 0x48, 0x5c, 0x4e, 0xd0, 0x9b, 0xd1, 0x9f,
-	0x4d, 0x68, 0xef, 0x16, 0xd2, 0x03, 0x93, 0xb8, 0xb3, 0x87, 0xa9, 0x5b, 0x6b, 0x57, 0x03, 0xf2,
-	0xca, 0xb2, 0xdd, 0x1d, 0xe0, 0xf9, 0xa8, 0x59, 0x9f, 0x9d, 0x47, 0xd4, 0xaa, 0xcd, 0x55, 0x05,
-	0x47, 0xf8, 0x1c, 0x4e, 0x77, 0xb3, 0xea, 0xe0, 0xb8, 0x6a, 0x45, 0x43, 0xaa, 0xb6, 0x57, 0xd5,
-	0x8a, 0xea, 0x88, 0xba, 0x7d, 0x1b, 0x0f, 0xa0, 0xaf, 0xe1, 0x97, 0xbd, 0x9c, 0xd4, 0x98, 0x97,
-	0xc5, 0x74, 0xfe, 0x87, 0x99, 0x20, 0x38, 0xcc, 0x4c, 0x2e, 0x91, 0x79, 0x98, 0xb9, 0x9c, 0xa0,
-	0xee, 0xed, 0x5b, 0x18, 0xac, 0x79, 0x7a, 0xf0, 0x25, 0xbf, 0x35, 0xa7, 0xf2, 0x3f, 0x62, 0x59,
-	0x7d, 0x9c, 0x4b, 0x63, 0xf5, 0x4a, 0x7e, 0xa5, 0xd7, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xc5,
-	0xb8, 0x84, 0x60, 0x6f, 0x06, 0x00, 0x00,
+func init() { proto.RegisterFile("google/monitoring/v3/common.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 780 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0xdd, 0x6a, 0xe3, 0x46,
+	0x14, 0xb6, 0xec, 0x64, 0x1d, 0x1f, 0x39, 0xf1, 0x64, 0xd6, 0x4b, 0xdd, 0x40, 0xbb, 0x5e, 0x17,
+	0x8a, 0x7b, 0x23, 0x87, 0xa4, 0x2e, 0x84, 0x42, 0x41, 0xb1, 0xb5, 0x1b, 0x83, 0x23, 0x9b, 0x59,
+	0x25, 0x0d, 0xed, 0x85, 0x90, 0xa3, 0x59, 0x21, 0x90, 0x35, 0x62, 0x24, 0x19, 0x72, 0xd7, 0xab,
+	0xbe, 0x43, 0x5f, 0x61, 0x1f, 0xa9, 0x0f, 0xd1, 0x67, 0x28, 0x9a, 0x19, 0xad, 0x94, 0xd6, 0xa5,
+	0x7b, 0xf9, 0xfd, 0x9c, 0x6f, 0x74, 0xbe, 0x91, 0x6c, 0x78, 0x13, 0x30, 0x16, 0x44, 0x74, 0xb2,
+	0x65, 0x71, 0x98, 0x31, 0x1e, 0xc6, 0xc1, 0x64, 0x77, 0x39, 0x79, 0x64, 0xdb, 0x2d, 0x8b, 0x8d,
+	0x84, 0xb3, 0x8c, 0xe1, 0xbe, 0xb4, 0x18, 0x95, 0xc5, 0xd8, 0x5d, 0x9e, 0x7d, 0xa5, 0x06, 0xbd,
+	0x24, 0x9c, 0xf8, 0x61, 0x9a, 0xf1, 0x70, 0x93, 0x67, 0x61, 0x39, 0x74, 0xf6, 0xb5, 0x92, 0x05,
+	0xda, 0xe4, 0x1f, 0x26, 0x7e, 0xce, 0xbd, 0x9a, 0xfe, 0xfa, 0x9f, 0x7a, 0x16, 0x6e, 0x69, 0x9a,
+	0x79, 0xdb, 0x44, 0x1a, 0x46, 0x7f, 0x69, 0x00, 0xce, 0x53, 0x42, 0xfd, 0x7b, 0x2f, 0xca, 0x29,
+	0x7e, 0x0d, 0xb0, 0x61, 0x2c, 0x72, 0x77, 0x05, 0x1a, 0x68, 0x43, 0x6d, 0x7c, 0x74, 0xd3, 0x20,
+	0x9d, 0x82, 0x93, 0x86, 0x37, 0xa0, 0x87, 0x71, 0xf6, 0xc3, 0xf7, 0xca, 0xd1, 0x1c, 0x6a, 0xe3,
+	0xd6, 0x4d, 0x83, 0x80, 0x20, 0xa5, 0xe5, 0x1b, 0xe8, 0xfa, 0x2c, 0xdf, 0x44, 0x54, 0x79, 0x5a,
+	0x43, 0x6d, 0xac, 0xdd, 0x34, 0x88, 0x2e, 0xd9, 0x4f, 0xa6, 0x62, 0x99, 0x38, 0x50, 0xa6, 0x83,
+	0xa1, 0x36, 0xee, 0x14, 0x26, 0xc9, 0x4a, 0xd3, 0x02, 0x70, 0x7d, 0x67, 0x65, 0x3d, 0x1c, 0x6a,
+	0x63, 0xfd, 0x62, 0x60, 0xa8, 0xbe, 0xbc, 0x24, 0x34, 0xe6, 0x35, 0xd7, 0x4d, 0x83, 0x9c, 0xd6,
+	0xa7, 0x44, 0xd4, 0x75, 0x1b, 0x0e, 0xc5, 0xf4, 0xe8, 0x37, 0x0d, 0xba, 0x4e, 0xb8, 0xa5, 0x8b,
+	0x38, 0xa3, 0x7c, 0xe7, 0x45, 0x78, 0x0a, 0x47, 0x34, 0xf6, 0xdd, 0xa2, 0x18, 0xb1, 0x8e, 0x7e,
+	0x71, 0x56, 0x46, 0x97, 0xad, 0x19, 0x4e, 0xd9, 0x1a, 0x69, 0xd3, 0xd8, 0x2f, 0x10, 0xbe, 0x02,
+	0x48, 0x33, 0x8f, 0x67, 0x72, 0x50, 0xfb, 0xdf, 0xc1, 0x8e, 0x70, 0x17, 0x78, 0xf4, 0xb1, 0x0d,
+	0xba, 0x19, 0x04, 0x9c, 0x06, 0xe2, 0xaa, 0xf0, 0x1c, 0x90, 0x17, 0x85, 0x41, 0xbc, 0xa5, 0x71,
+	0xe6, 0x26, 0x94, 0x87, 0xcc, 0x57, 0x81, 0x5f, 0xfe, 0x2b, 0x70, 0xae, 0xee, 0x97, 0xf4, 0x3e,
+	0x8d, 0xac, 0xc5, 0x04, 0xfe, 0x19, 0x70, 0x42, 0xb9, 0x9b, 0x52, 0x1e, 0xd2, 0xd4, 0x15, 0x2a,
+	0xe5, 0x62, 0xa3, 0x93, 0x8b, 0xef, 0x8c, 0x7d, 0x2f, 0x97, 0x51, 0x7b, 0x08, 0xc3, 0x94, 0x03,
+	0x04, 0x25, 0x94, 0xbf, 0x17, 0x19, 0x8a, 0xc1, 0xbf, 0x42, 0xff, 0x91, 0xb3, 0x34, 0x2d, 0xa3,
+	0x39, 0xf5, 0xf3, 0x47, 0xca, 0xc5, 0x95, 0x7d, 0x56, 0x34, 0x91, 0x03, 0x04, 0x8b, 0x18, 0x19,
+	0xae, 0x38, 0xfc, 0x2d, 0xf4, 0x02, 0xce, 0xf2, 0xc4, 0xdd, 0x3c, 0xb9, 0x1f, 0x42, 0x1a, 0xf9,
+	0xe9, 0xe0, 0x70, 0xd8, 0x1a, 0x77, 0xc8, 0xb1, 0xa0, 0xaf, 0x9f, 0xde, 0x0a, 0x72, 0xf4, 0x67,
+	0x13, 0xda, 0xe5, 0x03, 0x9d, 0x00, 0x98, 0xcb, 0xc5, 0x3b, 0xdb, 0xb5, 0x57, 0xb6, 0x85, 0x1a,
+	0xb8, 0x07, 0xba, 0xc4, 0x73, 0x6b, 0xe9, 0x98, 0x48, 0xab, 0x0c, 0xc4, 0x74, 0x2c, 0xd4, 0xc4,
+	0xaf, 0xe0, 0x54, 0xe2, 0x85, 0xed, 0x58, 0x64, 0xbd, 0x5a, 0x16, 0x74, 0x0b, 0xf7, 0x01, 0xa9,
+	0x1c, 0xeb, 0xc1, 0x71, 0x57, 0xcb, 0xb9, 0x45, 0xd0, 0x01, 0x3e, 0x86, 0x8e, 0x64, 0x6f, 0x17,
+	0x36, 0x82, 0x1a, 0x34, 0x1f, 0x90, 0x5e, 0x45, 0xdf, 0x5a, 0xa6, 0x8d, 0xba, 0xd5, 0xd9, 0xb3,
+	0xd5, 0x9d, 0xed, 0xa0, 0xe3, 0xca, 0xff, 0xfe, 0xee, 0x16, 0x9d, 0x60, 0x04, 0x5d, 0x05, 0x9d,
+	0xf9, 0xdc, 0xba, 0x47, 0xbd, 0xea, 0x54, 0x31, 0xe1, 0x3a, 0xe4, 0xce, 0x42, 0x08, 0x7f, 0x01,
+	0x2f, 0x25, 0xfb, 0x96, 0x98, 0x33, 0x67, 0xb1, 0xb2, 0xa5, 0x70, 0x5a, 0x09, 0x6b, 0x8b, 0xcc,
+	0x2c, 0xdb, 0x59, 0x2c, 0x2d, 0xf7, 0xea, 0x0a, 0xe1, 0xfd, 0xc2, 0x14, 0xbd, 0xdc, 0x2b, 0x4c,
+	0xcf, 0x51, 0x7f, 0xaf, 0x70, 0x3e, 0x45, 0xaf, 0x46, 0x7f, 0x34, 0xa1, 0x5d, 0x5e, 0x48, 0x0f,
+	0x74, 0x62, 0xcd, 0xef, 0x66, 0x56, 0xad, 0x5d, 0x45, 0x88, 0x95, 0x45, 0xbb, 0x25, 0xb1, 0xb0,
+	0x51, 0xb3, 0x8e, 0xcd, 0x07, 0xd4, 0xaa, 0xe1, 0xa2, 0x82, 0x03, 0x7c, 0x0a, 0xc7, 0x25, 0x96,
+	0x1d, 0x1c, 0x16, 0xad, 0x28, 0x4a, 0xd6, 0xf6, 0xa2, 0xb8, 0xa2, 0x3a, 0x23, 0xb7, 0x6f, 0xe3,
+	0x01, 0xf4, 0x15, 0xfd, 0xbc, 0x97, 0xa3, 0x9a, 0xf2, 0xbc, 0x98, 0xce, 0x7f, 0x28, 0x53, 0x04,
+	0xfb, 0x95, 0xe9, 0x39, 0xd2, 0xf7, 0x2b, 0xe7, 0x53, 0xd4, 0xbd, 0xfe, 0x5d, 0x83, 0xc1, 0x23,
+	0xdb, 0xee, 0x7d, 0xcb, 0xaf, 0xf5, 0x99, 0xf8, 0x05, 0x5f, 0x17, 0x5f, 0xe7, 0x5a, 0xfb, 0xe5,
+	0x27, 0x65, 0x0a, 0x58, 0xe4, 0xc5, 0x81, 0xc1, 0x78, 0x30, 0x09, 0x68, 0x2c, 0xbe, 0xdd, 0x89,
+	0x94, 0xbc, 0x24, 0x4c, 0x9f, 0xff, 0x09, 0xfc, 0x58, 0xa1, 0x8f, 0xcd, 0xb3, 0x77, 0x32, 0x60,
+	0x16, 0xb1, 0xdc, 0x37, 0x6e, 0xab, 0xb3, 0xee, 0x2f, 0x37, 0x2f, 0x44, 0xce, 0xe5, 0xdf, 0x01,
+	0x00, 0x00, 0xff, 0xff, 0x53, 0x47, 0x59, 0x88, 0x4b, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/common.proto b/googleapis/monitoring/v3/common.proto
deleted file mode 100644
index f9746fbc876b0158291fd7fbac88a063ed28deb9..0000000000000000000000000000000000000000
--- a/googleapis/monitoring/v3/common.proto
+++ /dev/null
@@ -1,316 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.monitoring.v3;
-
-import "google.golang.org/genproto/googleapis/api/distribution/distribution.proto"; // from google/api/distribution.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "CommonProto";
-option java_package = "com.google.monitoring.v3";
-
-
-// A single strongly-typed value.
-message TypedValue {
-  // The typed value field.
-  oneof value {
-    // A Boolean value: `true` or `false`.
-    bool bool_value = 1;
-
-    // A 64-bit integer. Its range is approximately &plusmn;9.2x10<sup>18</sup>.
-    int64 int64_value = 2;
-
-    // A 64-bit double-precision floating-point number. Its magnitude
-    // is approximately &plusmn;10<sup>&plusmn;300</sup> and it has 16
-    // significant digits of precision.
-    double double_value = 3;
-
-    // A variable-length string value.
-    string string_value = 4;
-
-    // A distribution value.
-    google.api.Distribution distribution_value = 5;
-  }
-}
-
-// A time interval extending just after a start time through an end time.
-// If the start time is the same as the end time, then the interval
-// represents a single point in time.
-message TimeInterval {
-  // Required. The end of the time interval.
-  google.protobuf.Timestamp end_time = 2;
-
-  // Optional. The beginning of the time interval.  The default value
-  // for the start time is the end time. The start time must not be
-  // later than the end time.
-  google.protobuf.Timestamp start_time = 1;
-}
-
-// Describes how to combine, or aggregate, multiple time series to
-// provide different views of the data.
-// See [Aggregation](/monitoring/api/learn_more#aggregation) for more details.
-message Aggregation {
-  // The Aligner describes how to bring the data points in a single
-  // time series into temporal alignment.
-  enum Aligner {
-    // No alignment. Raw data is returned. Not valid if cross-time
-    // series reduction is requested. The value type of the result is
-    // the same as the value type of the input.
-    ALIGN_NONE = 0;
-
-    // Align and convert to delta metric type. This alignment is valid
-    // for cumulative metrics and delta metrics. Aligning an existing
-    // delta metric to a delta metric requires that the alignment
-    // period be increased. The value type of the result is the same
-    // as the value type of the input.
-    ALIGN_DELTA = 1;
-
-    // Align and convert to a rate. This alignment is valid for
-    // cumulative metrics and delta metrics with numeric values. The output is a
-    // gauge metric with value type
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_RATE = 2;
-
-    // Align by interpolating between adjacent points around the
-    // period boundary. This alignment is valid for gauge and delta
-    // metrics with numeric values. The value type of the result is the same
-    // as the value type of the input.
-    ALIGN_INTERPOLATE = 3;
-
-    // Align by shifting the oldest data point before the period
-    // boundary to the boundary. This alignment is valid for gauge
-    // metrics. The value type of the result is the same as the
-    // value type of the input.
-    ALIGN_NEXT_OLDER = 4;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the minimum of all data points in the
-    // period. This alignment is valid for gauge and delta metrics with numeric
-    // values. The value type of the result is the same as the value
-    // type of the input.
-    ALIGN_MIN = 10;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the maximum of all data points in the
-    // period. This alignment is valid for gauge and delta metrics with numeric
-    // values. The value type of the result is the same as the value
-    // type of the input.
-    ALIGN_MAX = 11;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the average or arithmetic mean of all
-    // data points in the period. This alignment is valid for gauge and delta
-    // metrics with numeric values. The value type of the output is
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_MEAN = 12;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the count of all data points in the
-    // period. This alignment is valid for gauge and delta metrics with numeric
-    // or Boolean values. The value type of the output is
-    // [INT64][google.api.MetricDescriptor.ValueType.INT64].
-    ALIGN_COUNT = 13;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the sum of all data points in the
-    // period. This alignment is valid for gauge and delta metrics with numeric
-    // and distribution values. The value type of the output is the
-    // same as the value type of the input.
-    ALIGN_SUM = 14;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the standard deviation of all data
-    // points in the period. This alignment is valid for gauge and delta metrics
-    // with numeric values. The value type of the output is
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_STDDEV = 15;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the count of True-valued data points in the
-    // period. This alignment is valid for gauge metrics with
-    // Boolean values. The value type of the output is
-    // [INT64][google.api.MetricDescriptor.ValueType.INT64].
-    ALIGN_COUNT_TRUE = 16;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the fraction of True-valued data points in the
-    // period. This alignment is valid for gauge metrics with Boolean values.
-    // The output value is in the range [0, 1] and has value type
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_FRACTION_TRUE = 17;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the 99th percentile of all data
-    // points in the period. This alignment is valid for gauge and delta metrics
-    // with distribution values. The output is a gauge metric with value type
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_PERCENTILE_99 = 18;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the 95th percentile of all data
-    // points in the period. This alignment is valid for gauge and delta metrics
-    // with distribution values. The output is a gauge metric with value type
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_PERCENTILE_95 = 19;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the 50th percentile of all data
-    // points in the period. This alignment is valid for gauge and delta metrics
-    // with distribution values. The output is a gauge metric with value type
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_PERCENTILE_50 = 20;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the 5th percentile of all data
-    // points in the period. This alignment is valid for gauge and delta metrics
-    // with distribution values. The output is a gauge metric with value type
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_PERCENTILE_05 = 21;
-  }
-
-  // A Reducer describes how to aggregate data points from multiple
-  // time series into a single time series.
-  enum Reducer {
-    // No cross-time series reduction. The output of the aligner is
-    // returned.
-    REDUCE_NONE = 0;
-
-    // Reduce by computing the mean across time series for each
-    // alignment period. This reducer is valid for delta and
-    // gauge metrics with numeric or distribution values. The value type of the
-    // output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    REDUCE_MEAN = 1;
-
-    // Reduce by computing the minimum across time series for each
-    // alignment period. This reducer is valid for delta and
-    // gauge metrics with numeric values. The value type of the output
-    // is the same as the value type of the input.
-    REDUCE_MIN = 2;
-
-    // Reduce by computing the maximum across time series for each
-    // alignment period. This reducer is valid for delta and
-    // gauge metrics with numeric values. The value type of the output
-    // is the same as the value type of the input.
-    REDUCE_MAX = 3;
-
-    // Reduce by computing the sum across time series for each
-    // alignment period. This reducer is valid for delta and
-    // gauge metrics with numeric and distribution values. The value type of
-    // the output is the same as the value type of the input.
-    REDUCE_SUM = 4;
-
-    // Reduce by computing the standard deviation across time series
-    // for each alignment period. This reducer is valid for delta
-    // and gauge metrics with numeric or distribution values. The value type of
-    // the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    REDUCE_STDDEV = 5;
-
-    // Reduce by computing the count of data points across time series
-    // for each alignment period. This reducer is valid for delta
-    // and gauge metrics of numeric, Boolean, distribution, and string value
-    // type. The value type of the output is
-    // [INT64][google.api.MetricDescriptor.ValueType.INT64].
-    REDUCE_COUNT = 6;
-
-    // Reduce by computing the count of True-valued data points across time
-    // series for each alignment period. This reducer is valid for delta
-    // and gauge metrics of Boolean value type. The value type of
-    // the output is [INT64][google.api.MetricDescriptor.ValueType.INT64].
-    REDUCE_COUNT_TRUE = 7;
-
-    // Reduce by computing the fraction of True-valued data points across time
-    // series for each alignment period. This reducer is valid for delta
-    // and gauge metrics of Boolean value type. The output value is in the
-    // range [0, 1] and has value type
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    REDUCE_FRACTION_TRUE = 8;
-
-    // Reduce by computing 99th percentile of data points across time series
-    // for each alignment period. This reducer is valid for gauge and delta
-    // metrics of numeric and distribution type. The value of the output is
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
-    REDUCE_PERCENTILE_99 = 9;
-
-    // Reduce by computing 95th percentile of data points across time series
-    // for each alignment period. This reducer is valid for gauge and delta
-    // metrics of numeric and distribution type. The value of the output is
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
-    REDUCE_PERCENTILE_95 = 10;
-
-    // Reduce by computing 50th percentile of data points across time series
-    // for each alignment period. This reducer is valid for gauge and delta
-    // metrics of numeric and distribution type. The value of the output is
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
-    REDUCE_PERCENTILE_50 = 11;
-
-    // Reduce by computing 5th percentile of data points across time series
-    // for each alignment period. This reducer is valid for gauge and delta
-    // metrics of numeric and distribution type. The value of the output is
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
-    REDUCE_PERCENTILE_05 = 12;
-  }
-
-  // The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
-  // alignment. If present, `alignmentPeriod` must be at least 60
-  // seconds.  After per-time series alignment, each time series will
-  // contain data points only on the period boundaries. If
-  // `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then
-  // this field is ignored. If `perSeriesAligner` is specified and
-  // does not equal `ALIGN_NONE`, then this field must be defined;
-  // otherwise an error is returned.
-  google.protobuf.Duration alignment_period = 1;
-
-  // The approach to be used to align individual time series. Not all
-  // alignment functions may be applied to all time series, depending
-  // on the metric type and value type of the original time
-  // series. Alignment may change the metric type or the value type of
-  // the time series.
-  //
-  // Time series data must be aligned in order to perform cross-time
-  // series reduction. If `crossSeriesReducer` is specified, then
-  // `perSeriesAligner` must be specified and not equal `ALIGN_NONE`
-  // and `alignmentPeriod` must be specified; otherwise, an error is
-  // returned.
-  Aligner per_series_aligner = 2;
-
-  // The approach to be used to combine time series. Not all reducer
-  // functions may be applied to all time series, depending on the
-  // metric type and the value type of the original time
-  // series. Reduction may change the metric type of value type of the
-  // time series.
-  //
-  // Time series data must be aligned in order to perform cross-time
-  // series reduction. If `crossSeriesReducer` is specified, then
-  // `perSeriesAligner` must be specified and not equal `ALIGN_NONE`
-  // and `alignmentPeriod` must be specified; otherwise, an error is
-  // returned.
-  Reducer cross_series_reducer = 4;
-
-  // The set of fields to preserve when `crossSeriesReducer` is
-  // specified. The `groupByFields` determine how the time series
-  // are partitioned into subsets prior to applying the aggregation
-  // function. Each subset contains time series that have the same
-  // value for each of the grouping fields. Each individual time
-  // series is a member of exactly one subset. The
-  // `crossSeriesReducer` is applied to each subset of time series.
-  // Fields not specified in `groupByFields` are aggregated away.
-  // If `groupByFields` is not specified, the time series are
-  // aggregated into a single output time series. If
-  // `crossSeriesReducer` is not defined, this field is ignored.
-  repeated string group_by_fields = 5;
-}
diff --git a/googleapis/monitoring/v3/group.pb.go b/googleapis/monitoring/v3/group.pb.go
index 9e809c5c8c5d2a7592192bb86caa9a0ab794aa70..f1cad54e1e5ca4c4ab5388a11c77fa75879628fb 100644
--- a/googleapis/monitoring/v3/group.pb.go
+++ b/googleapis/monitoring/v3/group.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/monitoring/v3/group.proto
+// source: google/monitoring/v3/group.proto
 // DO NOT EDIT!
 
-package google_monitoring_v3 // import "google.golang.org/genproto/googleapis/monitoring/v3"
+package monitoring
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -62,30 +62,65 @@ type Group struct {
 func (m *Group) Reset()                    { *m = Group{} }
 func (m *Group) String() string            { return proto.CompactTextString(m) }
 func (*Group) ProtoMessage()               {}
-func (*Group) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
+func (*Group) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
-func init() {
-	proto.RegisterType((*Group)(nil), "google.monitoring.v3.Group")
+func (m *Group) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Group) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
+}
+
+func (m *Group) GetParentName() string {
+	if m != nil {
+		return m.ParentName
+	}
+	return ""
+}
+
+func (m *Group) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *Group) GetIsCluster() bool {
+	if m != nil {
+		return m.IsCluster
+	}
+	return false
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/monitoring/v3/group.proto", fileDescriptor3)
+	proto.RegisterType((*Group)(nil), "google.monitoring.v3.Group")
 }
 
-var fileDescriptor3 = []byte{
-	// 216 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0x8f, 0xc1, 0x4a, 0x03, 0x31,
-	0x10, 0x86, 0x89, 0xda, 0xc5, 0x4e, 0x3d, 0x05, 0x91, 0xbd, 0x88, 0xd5, 0xd3, 0x9e, 0x92, 0xc3,
-	0x3e, 0x80, 0x50, 0x0f, 0xde, 0xa4, 0xf4, 0x05, 0x4a, 0xac, 0x71, 0x08, 0x64, 0x33, 0x21, 0x49,
-	0x17, 0x7c, 0x11, 0x9f, 0x57, 0x32, 0x59, 0xf0, 0xd2, 0x5b, 0xf2, 0x7f, 0x1f, 0xc3, 0xff, 0xc3,
-	0x2b, 0x12, 0xa1, 0xb7, 0x0a, 0xc9, 0x9b, 0x80, 0x8a, 0x12, 0x6a, 0xb4, 0x21, 0x26, 0x2a, 0xa4,
-	0x1b, 0x32, 0xd1, 0x65, 0x3d, 0x51, 0x70, 0x85, 0x92, 0x0b, 0xa8, 0xe7, 0x51, 0x63, 0xa2, 0x73,
-	0x54, 0x2c, 0xc9, 0xfb, 0xe5, 0xc0, 0xbf, 0xa1, 0xe6, 0xf1, 0xe5, 0x57, 0xc0, 0xea, 0xbd, 0x5a,
-	0x52, 0xc2, 0x4d, 0x30, 0x93, 0xed, 0xc5, 0x56, 0x0c, 0xeb, 0x03, 0xbf, 0xe5, 0x33, 0xdc, 0x7d,
-	0xb9, 0x1c, 0xbd, 0xf9, 0x39, 0x32, 0xbb, 0x62, 0xb6, 0x59, 0xb2, 0x8f, 0xaa, 0x3c, 0xc1, 0x26,
-	0x9a, 0x64, 0x43, 0x69, 0xc6, 0x35, 0x1b, 0xd0, 0x22, 0x16, 0x1e, 0xa0, 0xfb, 0x76, 0xbe, 0xd8,
-	0xd4, 0xaf, 0x98, 0x2d, 0x3f, 0xf9, 0x08, 0xe0, 0xf2, 0xf1, 0xe4, 0xcf, 0xb9, 0xb2, 0x6e, 0x2b,
-	0x86, 0xdb, 0xc3, 0xda, 0xe5, 0xb7, 0x16, 0xec, 0x06, 0xe8, 0x4f, 0x34, 0xa9, 0x4b, 0xa5, 0x77,
-	0xc0, 0x8d, 0xf7, 0x75, 0xd6, 0x5e, 0x7c, 0x76, 0xbc, 0x6f, 0xfc, 0x0b, 0x00, 0x00, 0xff, 0xff,
-	0x76, 0x8a, 0xec, 0x63, 0x22, 0x01, 0x00, 0x00,
+func init() { proto.RegisterFile("google/monitoring/v3/group.proto", fileDescriptor1) }
+
+var fileDescriptor1 = []byte{
+	// 248 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xc1, 0x4a, 0x03, 0x31,
+	0x10, 0x86, 0x49, 0xb5, 0x8b, 0x9d, 0x7a, 0x0a, 0x22, 0x8b, 0x20, 0xae, 0x9e, 0x7a, 0x4a, 0x0e,
+	0x7b, 0x14, 0x3c, 0xb4, 0x87, 0x9e, 0x94, 0xd2, 0x83, 0x07, 0x2f, 0x25, 0xb6, 0x31, 0x04, 0xb2,
+	0x99, 0x90, 0xec, 0x2e, 0xf8, 0x00, 0xbe, 0x82, 0x0f, 0xe1, 0x53, 0xca, 0x4e, 0x16, 0x16, 0xc1,
+	0x5b, 0xe6, 0xff, 0x3e, 0x26, 0x33, 0x03, 0x95, 0x41, 0x34, 0x4e, 0xcb, 0x06, 0xbd, 0x6d, 0x31,
+	0x5a, 0x6f, 0x64, 0x5f, 0x4b, 0x13, 0xb1, 0x0b, 0x22, 0x44, 0x6c, 0x91, 0x5f, 0x65, 0x43, 0x4c,
+	0x86, 0xe8, 0xeb, 0x87, 0x6f, 0x06, 0xf3, 0xed, 0x60, 0x71, 0x0e, 0xe7, 0x5e, 0x35, 0xba, 0x64,
+	0x15, 0x5b, 0x2d, 0xf6, 0xf4, 0xe6, 0xf7, 0x70, 0x79, 0xb2, 0x29, 0x38, 0xf5, 0x79, 0x20, 0x36,
+	0x23, 0xb6, 0x1c, 0xb3, 0x97, 0x41, 0xb9, 0x83, 0x65, 0x50, 0x51, 0xfb, 0x36, 0x1b, 0x67, 0x64,
+	0x40, 0x8e, 0x48, 0xb8, 0x86, 0xe2, 0xc3, 0xba, 0x56, 0xc7, 0x72, 0x4e, 0x6c, 0xac, 0xf8, 0x2d,
+	0x80, 0x4d, 0x87, 0xa3, 0xeb, 0xd2, 0xc0, 0x8a, 0x8a, 0xad, 0x2e, 0xf6, 0x0b, 0x9b, 0x36, 0x39,
+	0x58, 0x7f, 0x31, 0x28, 0x8f, 0xd8, 0x88, 0xff, 0xa6, 0x5e, 0x03, 0x8d, 0xbc, 0x1b, 0xf6, 0xda,
+	0xb1, 0xb7, 0xa7, 0xd1, 0x31, 0xe8, 0x94, 0x37, 0x02, 0xa3, 0x91, 0x46, 0x7b, 0xda, 0x5a, 0x66,
+	0xa4, 0x82, 0x4d, 0x7f, 0x4f, 0xf3, 0x38, 0x55, 0x3f, 0xb3, 0x9b, 0x6d, 0x6e, 0xb0, 0x71, 0xd8,
+	0x9d, 0xc4, 0xf3, 0xf4, 0xd5, 0x6b, 0xfd, 0x5e, 0x50, 0x9f, 0xfa, 0x37, 0x00, 0x00, 0xff, 0xff,
+	0x0c, 0x22, 0x2a, 0x57, 0x61, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/group.proto b/googleapis/monitoring/v3/group.proto
deleted file mode 100644
index 9471a8593395fc3d5b63004d9413df7351d121fc..0000000000000000000000000000000000000000
--- a/googleapis/monitoring/v3/group.proto
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.monitoring.v3;
-
-option java_multiple_files = true;
-option java_outer_classname = "GroupProto";
-option java_package = "com.google.monitoring.v3";
-
-
-// The description of a dynamic collection of monitored resources. Each group
-// has a filter that is matched against monitored resources and their associated
-// metadata. If a group's filter matches an available monitored resource, then
-// that resource is a member of that group.  Groups can contain any number of
-// monitored resources, and each monitored resource can be a member of any
-// number of groups.
-//
-// Groups can be nested in parent-child hierarchies. The `parentName` field
-// identifies an optional parent for each group.  If a group has a parent, then
-// the only monitored resources available to be matched by the group's filter
-// are the resources contained in the parent group.  In other words, a group
-// contains the monitored resources that match its filter and the filters of all
-// the group's ancestors.  A group without a parent can contain any monitored
-// resource.
-//
-// For example, consider an infrastructure running a set of instances with two
-// user-defined tags: `"environment"` and `"role"`. A parent group has a filter,
-// `environment="production"`.  A child of that parent group has a filter,
-// `role="transcoder"`.  The parent group contains all instances in the
-// production environment, regardless of their roles.  The child group contains
-// instances that have the transcoder role *and* are in the production
-// environment.
-//
-// The monitored resources contained in a group can change at any moment,
-// depending on what resources exist and what filters are associated with the
-// group and its ancestors.
-message Group {
-  // Output only. The name of this group. The format is
-  // `"projects/{project_id_or_number}/groups/{group_id}"`.
-  // When creating a group, this field is ignored and a new name is created
-  // consisting of the project specified in the call to `CreateGroup`
-  // and a unique `{group_id}` that is generated automatically.
-  string name = 1;
-
-  // A user-assigned name for this group, used only for display purposes.
-  string display_name = 2;
-
-  // The name of the group's parent, if it has one.
-  // The format is `"projects/{project_id_or_number}/groups/{group_id}"`.
-  // For groups with no parent, `parentName` is the empty string, `""`.
-  string parent_name = 3;
-
-  // The filter used to determine which monitored resources belong to this group.
-  string filter = 5;
-
-  // If true, the members of this group are considered to be a cluster.
-  // The system can perform additional analysis on groups that are clusters.
-  bool is_cluster = 6;
-}
diff --git a/googleapis/monitoring/v3/group_service.pb.go b/googleapis/monitoring/v3/group_service.pb.go
index 6f5852d1f05dc717349050a942fac1abbc7b6869..0ffc3b6318200db9895d3858100cbe93dcbccaba 100644
--- a/googleapis/monitoring/v3/group_service.pb.go
+++ b/googleapis/monitoring/v3/group_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/monitoring/v3/group_service.proto
+// source: google/monitoring/v3/group_service.proto
 // DO NOT EDIT!
 
-package google_monitoring_v3 // import "google.golang.org/genproto/googleapis/monitoring/v3"
+package monitoring
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_api4 "google.golang.org/genproto/googleapis/api/monitoredres"
 import google_protobuf4 "github.com/golang/protobuf/ptypes/empty"
 
@@ -46,7 +46,7 @@ type ListGroupsRequest struct {
 func (m *ListGroupsRequest) Reset()                    { *m = ListGroupsRequest{} }
 func (m *ListGroupsRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListGroupsRequest) ProtoMessage()               {}
-func (*ListGroupsRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
+func (*ListGroupsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
 type isListGroupsRequest_Filter interface {
 	isListGroupsRequest_Filter()
@@ -73,6 +73,13 @@ func (m *ListGroupsRequest) GetFilter() isListGroupsRequest_Filter {
 	return nil
 }
 
+func (m *ListGroupsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *ListGroupsRequest) GetChildrenOfGroup() string {
 	if x, ok := m.GetFilter().(*ListGroupsRequest_ChildrenOfGroup); ok {
 		return x.ChildrenOfGroup
@@ -94,6 +101,20 @@ func (m *ListGroupsRequest) GetDescendantsOfGroup() string {
 	return ""
 }
 
+func (m *ListGroupsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListGroupsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*ListGroupsRequest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
 	return _ListGroupsRequest_OneofMarshaler, _ListGroupsRequest_OneofUnmarshaler, _ListGroupsRequest_OneofSizer, []interface{}{
@@ -188,7 +209,7 @@ type ListGroupsResponse struct {
 func (m *ListGroupsResponse) Reset()                    { *m = ListGroupsResponse{} }
 func (m *ListGroupsResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListGroupsResponse) ProtoMessage()               {}
-func (*ListGroupsResponse) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{1} }
+func (*ListGroupsResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
 
 func (m *ListGroupsResponse) GetGroup() []*Group {
 	if m != nil {
@@ -197,6 +218,13 @@ func (m *ListGroupsResponse) GetGroup() []*Group {
 	return nil
 }
 
+func (m *ListGroupsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The `GetGroup` request.
 type GetGroupRequest struct {
 	// The group to retrieve. The format is
@@ -207,7 +235,14 @@ type GetGroupRequest struct {
 func (m *GetGroupRequest) Reset()                    { *m = GetGroupRequest{} }
 func (m *GetGroupRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetGroupRequest) ProtoMessage()               {}
-func (*GetGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{2} }
+func (*GetGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
+
+func (m *GetGroupRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // The `CreateGroup` request.
 type CreateGroupRequest struct {
@@ -224,7 +259,14 @@ type CreateGroupRequest struct {
 func (m *CreateGroupRequest) Reset()                    { *m = CreateGroupRequest{} }
 func (m *CreateGroupRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateGroupRequest) ProtoMessage()               {}
-func (*CreateGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{3} }
+func (*CreateGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
+
+func (m *CreateGroupRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *CreateGroupRequest) GetGroup() *Group {
 	if m != nil {
@@ -233,6 +275,13 @@ func (m *CreateGroupRequest) GetGroup() *Group {
 	return nil
 }
 
+func (m *CreateGroupRequest) GetValidateOnly() bool {
+	if m != nil {
+		return m.ValidateOnly
+	}
+	return false
+}
+
 // The `UpdateGroup` request.
 type UpdateGroupRequest struct {
 	// The new definition of the group.  All fields of the existing group,
@@ -245,7 +294,7 @@ type UpdateGroupRequest struct {
 func (m *UpdateGroupRequest) Reset()                    { *m = UpdateGroupRequest{} }
 func (m *UpdateGroupRequest) String() string            { return proto.CompactTextString(m) }
 func (*UpdateGroupRequest) ProtoMessage()               {}
-func (*UpdateGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{4} }
+func (*UpdateGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
 
 func (m *UpdateGroupRequest) GetGroup() *Group {
 	if m != nil {
@@ -254,6 +303,13 @@ func (m *UpdateGroupRequest) GetGroup() *Group {
 	return nil
 }
 
+func (m *UpdateGroupRequest) GetValidateOnly() bool {
+	if m != nil {
+		return m.ValidateOnly
+	}
+	return false
+}
+
 // The `DeleteGroup` request. You can only delete a group if it has no children.
 type DeleteGroupRequest struct {
 	// The group to delete. The format is
@@ -264,7 +320,14 @@ type DeleteGroupRequest struct {
 func (m *DeleteGroupRequest) Reset()                    { *m = DeleteGroupRequest{} }
 func (m *DeleteGroupRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteGroupRequest) ProtoMessage()               {}
-func (*DeleteGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{5} }
+func (*DeleteGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
+
+func (m *DeleteGroupRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // The `ListGroupMembers` request.
 type ListGroupMembersRequest struct {
@@ -295,7 +358,35 @@ type ListGroupMembersRequest struct {
 func (m *ListGroupMembersRequest) Reset()                    { *m = ListGroupMembersRequest{} }
 func (m *ListGroupMembersRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListGroupMembersRequest) ProtoMessage()               {}
-func (*ListGroupMembersRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{6} }
+func (*ListGroupMembersRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
+
+func (m *ListGroupMembersRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListGroupMembersRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListGroupMembersRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListGroupMembersRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
 
 func (m *ListGroupMembersRequest) GetInterval() *TimeInterval {
 	if m != nil {
@@ -319,7 +410,7 @@ type ListGroupMembersResponse struct {
 func (m *ListGroupMembersResponse) Reset()                    { *m = ListGroupMembersResponse{} }
 func (m *ListGroupMembersResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListGroupMembersResponse) ProtoMessage()               {}
-func (*ListGroupMembersResponse) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{7} }
+func (*ListGroupMembersResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
 
 func (m *ListGroupMembersResponse) GetMembers() []*google_api4.MonitoredResource {
 	if m != nil {
@@ -328,6 +419,20 @@ func (m *ListGroupMembersResponse) GetMembers() []*google_api4.MonitoredResource
 	return nil
 }
 
+func (m *ListGroupMembersResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+func (m *ListGroupMembersResponse) GetTotalSize() int32 {
+	if m != nil {
+		return m.TotalSize
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*ListGroupsRequest)(nil), "google.monitoring.v3.ListGroupsRequest")
 	proto.RegisterType((*ListGroupsResponse)(nil), "google.monitoring.v3.ListGroupsResponse")
@@ -587,65 +692,63 @@ var _GroupService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/monitoring/v3/group_service.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/monitoring/v3/group_service.proto", fileDescriptor4)
-}
-
-var fileDescriptor4 = []byte{
-	// 819 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x55, 0xdd, 0x4e, 0xdb, 0x48,
-	0x14, 0x5e, 0x93, 0x10, 0x92, 0x09, 0x08, 0x18, 0x21, 0x36, 0x32, 0x0b, 0x8a, 0xbc, 0xc0, 0x46,
-	0xec, 0x62, 0x6b, 0x93, 0x8b, 0x95, 0x56, 0xda, 0x1f, 0xb1, 0xbb, 0x62, 0x91, 0x8a, 0x40, 0x86,
-	0x5e, 0x47, 0x8e, 0x73, 0x62, 0xa6, 0xb5, 0x67, 0x5c, 0xcf, 0x24, 0x6d, 0xa8, 0x90, 0xda, 0x4a,
-	0xbd, 0xe8, 0x75, 0xef, 0x7a, 0xd7, 0xe7, 0xe8, 0x55, 0x9f, 0xa1, 0xaf, 0xd0, 0xf7, 0x68, 0xe5,
-	0xf1, 0x38, 0x31, 0xf9, 0x23, 0x42, 0xea, 0x4d, 0x14, 0xcf, 0x7c, 0x73, 0xbe, 0xef, 0x9c, 0xf9,
-	0xce, 0x19, 0x74, 0xec, 0x31, 0xe6, 0xf9, 0x60, 0x7a, 0xcc, 0x77, 0xa8, 0x67, 0xb2, 0xc8, 0xb3,
-	0x3c, 0xa0, 0x61, 0xc4, 0x04, 0xb3, 0x92, 0x2d, 0x27, 0x24, 0xdc, 0x0a, 0x18, 0x25, 0x82, 0x45,
-	0x84, 0x7a, 0x56, 0xaf, 0x61, 0x79, 0x11, 0xeb, 0x86, 0x4d, 0x0e, 0x51, 0x8f, 0xb8, 0x60, 0x4a,
-	0x30, 0xde, 0x50, 0x81, 0x86, 0x48, 0xb3, 0xd7, 0xd0, 0x4f, 0xe6, 0x0b, 0xef, 0x84, 0xc4, 0x52,
-	0xe1, 0x5c, 0x46, 0x3b, 0xc4, 0xb3, 0x1c, 0x4a, 0x99, 0x70, 0x04, 0x61, 0x94, 0x27, 0x04, 0xfa,
-	0xd9, 0xfc, 0xa1, 0x94, 0x06, 0x68, 0x47, 0xc0, 0x87, 0x1f, 0xcd, 0x08, 0x38, 0xeb, 0x46, 0xa9,
-	0x62, 0xfd, 0xef, 0xfb, 0xa4, 0xee, 0xb2, 0x20, 0x60, 0x54, 0x45, 0xf8, 0xeb, 0xde, 0xc5, 0x53,
-	0x01, 0x1a, 0x1e, 0x11, 0x57, 0xdd, 0x96, 0xe9, 0xb2, 0xc0, 0x4a, 0x82, 0x58, 0x72, 0xa3, 0xd5,
-	0xed, 0x58, 0xa1, 0xe8, 0x87, 0xc0, 0x2d, 0x08, 0x42, 0xd1, 0x4f, 0x7e, 0x93, 0x43, 0xc6, 0x17,
-	0x0d, 0xad, 0x3f, 0x20, 0x5c, 0x1c, 0xc7, 0x81, 0xb8, 0x0d, 0x4f, 0xba, 0xc0, 0x05, 0xc6, 0x28,
-	0x4f, 0x9d, 0x00, 0x2a, 0x4b, 0x55, 0xad, 0x56, 0xb2, 0xe5, 0x7f, 0xfc, 0x0b, 0x5a, 0x77, 0xaf,
-	0x88, 0xdf, 0x8e, 0x80, 0x36, 0x59, 0xa7, 0x29, 0x99, 0x2b, 0x0b, 0x31, 0xe0, 0xff, 0xef, 0xec,
-	0xd5, 0x74, 0xeb, 0xac, 0x23, 0x23, 0x61, 0x13, 0x61, 0x87, 0xba, 0xc0, 0x05, 0x8b, 0xf8, 0x10,
-	0x9e, 0x53, 0xf0, 0xb5, 0xc1, 0x5e, 0x8a, 0xaf, 0xa3, 0x8d, 0x36, 0x70, 0x17, 0x68, 0xdb, 0xa1,
-	0x22, 0x73, 0x22, 0xaf, 0x4e, 0xe0, 0xcc, 0x6e, 0x7a, 0x66, 0x0b, 0x95, 0x42, 0xc7, 0x83, 0x26,
-	0x27, 0xd7, 0x50, 0x59, 0xac, 0x6a, 0xb5, 0x45, 0xbb, 0x18, 0x2f, 0x5c, 0x90, 0x6b, 0xc0, 0xdb,
-	0x08, 0xc9, 0x4d, 0xc1, 0x1e, 0x03, 0xad, 0x14, 0x64, 0x22, 0x12, 0x7e, 0x19, 0x2f, 0x1c, 0x15,
-	0x51, 0xa1, 0x43, 0x7c, 0x01, 0x91, 0xc1, 0x10, 0xce, 0x16, 0x80, 0x87, 0x8c, 0x72, 0xc0, 0xbf,
-	0xa2, 0xc5, 0x44, 0x80, 0x56, 0xcd, 0xd5, 0xca, 0xf5, 0x2d, 0x73, 0x92, 0x23, 0x4d, 0x79, 0xc8,
-	0x4e, 0x90, 0x78, 0x1f, 0xad, 0x52, 0x78, 0x26, 0x9a, 0x19, 0x5a, 0x59, 0x1e, 0x7b, 0x25, 0x5e,
-	0x3e, 0x4f, 0xa9, 0x8d, 0x3d, 0xb4, 0x7a, 0x0c, 0x09, 0xdf, 0x68, 0xbd, 0x73, 0xc3, 0x7a, 0x1b,
-	0x2f, 0x34, 0x84, 0xff, 0x89, 0xc0, 0x11, 0x30, 0x11, 0x9a, 0xcf, 0x5c, 0xcd, 0x40, 0x6c, 0xcc,
-	0x37, 0x9f, 0xd8, 0x1f, 0xd1, 0x4a, 0xcf, 0xf1, 0x49, 0xdb, 0x11, 0xd0, 0x64, 0xd4, 0xef, 0x4b,
-	0xea, 0xa2, 0xbd, 0x9c, 0x2e, 0x9e, 0x51, 0xbf, 0x6f, 0xf8, 0x08, 0x3f, 0x0c, 0xdb, 0xa3, 0x0a,
-	0xbe, 0x15, 0x5b, 0x0d, 0xe1, 0x7f, 0xc1, 0x87, 0x29, 0xf9, 0x66, 0x4b, 0xf3, 0x51, 0x43, 0xdf,
-	0x0f, 0xee, 0xec, 0x14, 0x82, 0x16, 0x44, 0x33, 0xad, 0x7b, 0xcb, 0x28, 0xb9, 0x99, 0x46, 0xc9,
-	0x8f, 0x18, 0x05, 0x6f, 0xa6, 0x46, 0x91, 0x0e, 0x2b, 0xd9, 0xea, 0x0b, 0xff, 0x89, 0x8a, 0x84,
-	0x0a, 0x88, 0x7a, 0x8e, 0x2f, 0xdd, 0x55, 0xae, 0x1b, 0x93, 0x0b, 0x71, 0x49, 0x02, 0x38, 0x51,
-	0x48, 0x7b, 0x70, 0xc6, 0x78, 0xa7, 0xa1, 0xca, 0x78, 0x0e, 0xca, 0x7d, 0xbf, 0xa1, 0xa5, 0x20,
-	0x59, 0x52, 0xfe, 0xdb, 0x4e, 0x63, 0x3b, 0x21, 0x31, 0x4f, 0xd3, 0x21, 0x64, 0xab, 0x19, 0x64,
-	0xa7, 0xe8, 0x79, 0x3d, 0x18, 0x27, 0x2d, 0x98, 0x70, 0xfc, 0x6c, 0x49, 0x4a, 0x72, 0x25, 0xae,
-	0x49, 0xfd, 0x43, 0x01, 0x2d, 0x4b, 0x61, 0x17, 0xc9, 0x1c, 0xc5, 0xaf, 0x35, 0x84, 0x86, 0x5d,
-	0x82, 0x7f, 0x9a, 0x9c, 0xea, 0xd8, 0x20, 0xd1, 0x6b, 0x77, 0x03, 0x93, 0x94, 0x8d, 0xdd, 0x57,
-	0x9f, 0x3e, 0xbf, 0x5d, 0xd8, 0xc1, 0x3f, 0xc4, 0x63, 0xed, 0x79, 0x7c, 0x6d, 0x7f, 0x84, 0x11,
-	0x7b, 0x04, 0xae, 0xe0, 0xd6, 0xc1, 0x4d, 0x32, 0xe8, 0x38, 0xee, 0xa1, 0x62, 0xda, 0x3b, 0x78,
-	0x6f, 0x8a, 0xf1, 0x6e, 0xf7, 0x96, 0x3e, 0xcb, 0x9f, 0xc6, 0xbe, 0x64, 0xad, 0xe2, 0x9d, 0x49,
-	0xac, 0x8a, 0xd4, 0x3a, 0xb8, 0xc1, 0x2f, 0x35, 0x54, 0xce, 0x34, 0x23, 0x9e, 0x92, 0xd7, 0x78,
-	0xbf, 0xce, 0xa6, 0xff, 0x59, 0xd2, 0xef, 0x19, 0x33, 0x93, 0xfe, 0x5d, 0x35, 0xd1, 0x1b, 0x0d,
-	0x95, 0x33, 0xed, 0x38, 0x4d, 0xc3, 0x78, 0xc7, 0xce, 0xd6, 0xd0, 0x90, 0x1a, 0x0e, 0xf5, 0x5d,
-	0xa9, 0x21, 0x79, 0x50, 0xa6, 0x16, 0x22, 0xd5, 0xf2, 0x14, 0x95, 0x33, 0xbd, 0x3a, 0x4d, 0xca,
-	0x78, 0x3b, 0xeb, 0x9b, 0x29, 0x32, 0x7d, 0x9a, 0xcc, 0xff, 0xe2, 0xd7, 0x28, 0xbd, 0x88, 0x83,
-	0xbb, 0x2e, 0xe2, 0xbd, 0x86, 0xd6, 0x46, 0xdb, 0x06, 0x1f, 0xde, 0xe1, 0xb2, 0xdb, 0x23, 0x42,
-	0x37, 0xe7, 0x85, 0x2b, 0x6b, 0x9a, 0x52, 0x5b, 0x0d, 0xef, 0xcf, 0xd6, 0x66, 0xa9, 0x26, 0x3c,
-	0xb2, 0x50, 0xc5, 0x65, 0xc1, 0x44, 0x92, 0xa3, 0xf5, 0x6c, 0x5b, 0x9d, 0xc7, 0x35, 0x38, 0xd7,
-	0x5a, 0x05, 0x59, 0x8c, 0xc6, 0xd7, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x6f, 0x90, 0xee, 0x40,
-	0x09, 0x00, 0x00,
+	Metadata: "google/monitoring/v3/group_service.proto",
+}
+
+func init() { proto.RegisterFile("google/monitoring/v3/group_service.proto", fileDescriptor2) }
+
+var fileDescriptor2 = []byte{
+	// 818 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xcd, 0x6e, 0xdb, 0x46,
+	0x10, 0x2e, 0x2d, 0x59, 0x96, 0x46, 0x36, 0x6c, 0x2f, 0x0c, 0x57, 0xa0, 0x7f, 0xa0, 0xd2, 0x3f,
+	0x15, 0xdc, 0x9a, 0x44, 0xa5, 0x43, 0x81, 0x16, 0xf5, 0xc1, 0x6e, 0xe1, 0x16, 0xa8, 0x61, 0x83,
+	0x76, 0x7b, 0xe8, 0x45, 0xa0, 0xa5, 0x11, 0xcb, 0x96, 0xdc, 0x65, 0xc9, 0x95, 0x5a, 0xbb, 0x30,
+	0x90, 0x04, 0xc8, 0x21, 0x40, 0x6e, 0xb9, 0xe5, 0x96, 0x6b, 0x5e, 0x21, 0xa7, 0x3c, 0x43, 0x5e,
+	0x21, 0xef, 0x91, 0x80, 0xcb, 0x5d, 0x89, 0xfa, 0xb5, 0x2f, 0xb9, 0x91, 0xbb, 0xdf, 0xec, 0xf7,
+	0xcd, 0xec, 0x37, 0xb3, 0x50, 0x73, 0x19, 0x73, 0x7d, 0xb4, 0x02, 0x46, 0x3d, 0xce, 0x22, 0x8f,
+	0xba, 0x56, 0xaf, 0x61, 0xb9, 0x11, 0xeb, 0x86, 0xcd, 0x18, 0xa3, 0x9e, 0xd7, 0x42, 0x33, 0x8c,
+	0x18, 0x67, 0x64, 0x2d, 0x45, 0x9a, 0x03, 0xa4, 0xd9, 0x6b, 0xe8, 0x9b, 0x32, 0xde, 0x09, 0x3d,
+	0xcb, 0xa1, 0x94, 0x71, 0x87, 0x7b, 0x8c, 0xc6, 0x69, 0x8c, 0xbe, 0x93, 0xd9, 0x95, 0x71, 0xd8,
+	0x6e, 0x46, 0x18, 0xb3, 0x6e, 0xa4, 0x0e, 0xd6, 0xbf, 0x98, 0x28, 0xa1, 0xc5, 0x82, 0x80, 0x51,
+	0x09, 0xa9, 0x4e, 0x57, 0x29, 0x11, 0x1b, 0x12, 0x21, 0xfe, 0xae, 0xbb, 0x1d, 0x0b, 0x83, 0x90,
+	0xdf, 0xa4, 0x9b, 0xc6, 0x07, 0x0d, 0x56, 0x7f, 0xf5, 0x62, 0x7e, 0x9a, 0x04, 0xc4, 0x36, 0xfe,
+	0xd3, 0xc5, 0x98, 0x13, 0x02, 0x79, 0xea, 0x04, 0x58, 0x59, 0xa8, 0x6a, 0xb5, 0x92, 0x2d, 0xbe,
+	0xc9, 0xd7, 0xb0, 0xda, 0xfa, 0xd3, 0xf3, 0xdb, 0x11, 0xd2, 0x26, 0xeb, 0x34, 0x05, 0x43, 0x65,
+	0x2e, 0x01, 0xfc, 0xfc, 0x99, 0xbd, 0xac, 0xb6, 0xce, 0x3b, 0xe2, 0x24, 0x62, 0x02, 0x71, 0x68,
+	0x0b, 0x63, 0xce, 0xa2, 0x78, 0x00, 0xcf, 0x49, 0xf8, 0x4a, 0x7f, 0x4f, 0xe1, 0xeb, 0xb0, 0xd6,
+	0xc6, 0xb8, 0x85, 0xb4, 0xed, 0x50, 0x9e, 0x89, 0xc8, 0xcb, 0x08, 0x92, 0xd9, 0x55, 0x31, 0x1b,
+	0x50, 0x0a, 0x1d, 0x17, 0x9b, 0xb1, 0x77, 0x8b, 0x95, 0xf9, 0xaa, 0x56, 0x9b, 0xb7, 0x8b, 0xc9,
+	0xc2, 0xa5, 0x77, 0x8b, 0x64, 0x0b, 0x40, 0x6c, 0x72, 0xf6, 0x37, 0xd2, 0x4a, 0x41, 0x24, 0x22,
+	0xe0, 0x57, 0xc9, 0xc2, 0x71, 0x11, 0x0a, 0x1d, 0xcf, 0xe7, 0x18, 0x19, 0x0c, 0x48, 0xb6, 0x00,
+	0x71, 0xc8, 0x68, 0x8c, 0xe4, 0x1b, 0x98, 0x4f, 0x05, 0x68, 0xd5, 0x5c, 0xad, 0x5c, 0xdf, 0x30,
+	0x27, 0x5d, 0xb1, 0x29, 0x82, 0xec, 0x14, 0x49, 0xf6, 0x61, 0x99, 0xe2, 0x7f, 0xbc, 0x99, 0xa1,
+	0x15, 0xe5, 0xb1, 0x97, 0x92, 0xe5, 0x0b, 0x45, 0x6d, 0xec, 0xc1, 0xf2, 0x29, 0xa6, 0x7c, 0xa3,
+	0xf5, 0xce, 0x0d, 0xea, 0x6d, 0x3c, 0xd2, 0x80, 0x9c, 0x44, 0xe8, 0x70, 0x9c, 0x08, 0xcd, 0x67,
+	0xae, 0xa6, 0x2f, 0x36, 0xe1, 0x7b, 0x98, 0xd8, 0x1d, 0x58, 0xea, 0x39, 0xbe, 0xd7, 0x76, 0x38,
+	0x36, 0x19, 0xf5, 0x6f, 0x04, 0x75, 0xd1, 0x5e, 0x54, 0x8b, 0xe7, 0xd4, 0xbf, 0x31, 0x7c, 0x20,
+	0xbf, 0x85, 0xed, 0x51, 0x05, 0x9f, 0x8a, 0xad, 0x06, 0xe4, 0x47, 0xf4, 0x71, 0x4a, 0xbe, 0xd9,
+	0xd2, 0xbc, 0xd5, 0xe0, 0xf3, 0xfe, 0x9d, 0x9d, 0x61, 0x70, 0x8d, 0xd1, 0x4c, 0xeb, 0x0e, 0x19,
+	0x25, 0x37, 0xd3, 0x28, 0xf9, 0x11, 0xa3, 0x90, 0x75, 0x65, 0x14, 0xe1, 0xb0, 0x92, 0x2d, 0xff,
+	0xc8, 0x11, 0x14, 0x3d, 0xca, 0x31, 0xea, 0x39, 0xbe, 0x70, 0x57, 0xb9, 0x6e, 0x4c, 0x2e, 0xc4,
+	0x95, 0x17, 0xe0, 0x2f, 0x12, 0x69, 0xf7, 0x63, 0x8c, 0x97, 0x1a, 0x54, 0xc6, 0x73, 0x90, 0xee,
+	0xfb, 0x16, 0x16, 0x82, 0x74, 0x49, 0xfa, 0x6f, 0x4b, 0x9d, 0xed, 0x84, 0x9e, 0x79, 0xa6, 0xc6,
+	0x85, 0x2d, 0xa7, 0x85, 0xad, 0xd0, 0x0f, 0xf5, 0x60, 0x92, 0x34, 0x67, 0xdc, 0xf1, 0xb3, 0x25,
+	0x29, 0x89, 0x95, 0xa4, 0x26, 0xf5, 0x37, 0x05, 0x58, 0x14, 0xc2, 0x2e, 0xd3, 0x39, 0x47, 0x9e,
+	0x6a, 0x00, 0x83, 0x2e, 0x21, 0x5f, 0x4e, 0x4e, 0x75, 0x6c, 0x90, 0xe8, 0xb5, 0xfb, 0x81, 0x69,
+	0xca, 0xc6, 0xee, 0x93, 0x77, 0xef, 0x5f, 0xcc, 0x6d, 0x93, 0xcd, 0x64, 0x7c, 0xfd, 0x9f, 0x5c,
+	0xdb, 0x0f, 0x61, 0xc4, 0xfe, 0xc2, 0x16, 0x8f, 0xad, 0x83, 0xbb, 0x74, 0xa0, 0xc5, 0xa4, 0x07,
+	0x45, 0xd5, 0x3b, 0x64, 0x6f, 0x8a, 0xf1, 0x86, 0x7b, 0x4b, 0x9f, 0xe5, 0x4f, 0x63, 0x5f, 0xb0,
+	0x56, 0xc9, 0xf6, 0x24, 0x56, 0x49, 0x6a, 0x1d, 0xdc, 0x91, 0xc7, 0x1a, 0x94, 0x33, 0xcd, 0x48,
+	0xa6, 0xe4, 0x35, 0xde, 0xaf, 0xb3, 0xe9, 0xbf, 0x12, 0xf4, 0x7b, 0xc6, 0xcc, 0xa4, 0xbf, 0x93,
+	0x4d, 0xf4, 0x4c, 0x83, 0x72, 0xa6, 0x1d, 0xa7, 0x69, 0x18, 0xef, 0xd8, 0xd9, 0x1a, 0x1a, 0x42,
+	0xc3, 0xa1, 0xbe, 0x2b, 0x34, 0xa4, 0x0f, 0xc7, 0xd4, 0x42, 0x28, 0x2d, 0xff, 0x42, 0x39, 0xd3,
+	0xab, 0xd3, 0xa4, 0x8c, 0xb7, 0xb3, 0xbe, 0xae, 0x90, 0xea, 0x35, 0x32, 0x7f, 0x4a, 0x5e, 0x23,
+	0x75, 0x11, 0x07, 0xf7, 0x5d, 0xc4, 0x2b, 0x0d, 0x56, 0x46, 0xdb, 0x86, 0x1c, 0xde, 0xe3, 0xb2,
+	0xe1, 0x11, 0xa1, 0x9b, 0x0f, 0x85, 0x4b, 0x6b, 0x9a, 0x42, 0x5b, 0x8d, 0xec, 0xcf, 0xd6, 0x66,
+	0xc9, 0x26, 0x3c, 0x7e, 0xae, 0x41, 0xa5, 0xc5, 0x82, 0x89, 0x2c, 0xc7, 0xab, 0xd9, 0xbe, 0xba,
+	0x48, 0x8a, 0x70, 0xa1, 0xfd, 0x71, 0x24, 0xa1, 0x2e, 0xf3, 0x1d, 0xea, 0x9a, 0x2c, 0x72, 0x2d,
+	0x17, 0xa9, 0x28, 0x91, 0x95, 0x6e, 0x39, 0xa1, 0x17, 0x0f, 0xbf, 0xf1, 0xdf, 0x0f, 0xfe, 0x5e,
+	0xcf, 0xe9, 0xa7, 0xe9, 0x01, 0x27, 0x3e, 0xeb, 0xb6, 0xd5, 0x80, 0x48, 0x18, 0x7f, 0x6f, 0x5c,
+	0x17, 0xc4, 0x39, 0x8d, 0x8f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x1b, 0xec, 0x77, 0x3f, 0xd0, 0x08,
+	0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/group_service.proto b/googleapis/monitoring/v3/group_service.proto
deleted file mode 100644
index 4c049a973e32cc996e96f3d79b04411ea23330d4..0000000000000000000000000000000000000000
--- a/googleapis/monitoring/v3/group_service.proto
+++ /dev/null
@@ -1,204 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.monitoring.v3;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto
-import "google.golang.org/genproto/googleapis/monitoring/v3/common.proto"; // from google/monitoring/v3/common.proto
-import "google.golang.org/genproto/googleapis/monitoring/v3/group.proto"; // from google/monitoring/v3/group.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "GroupServiceProto";
-option java_package = "com.google.monitoring.v3";
-
-
-// The Group API lets you inspect and manage your
-// [groups](google.monitoring.v3.Group).
-//
-// A group is a named filter that is used to identify
-// a collection of monitored resources. Groups are typically used to
-// mirror the physical and/or logical topology of the environment.
-// Because group membership is computed dynamically, monitored
-// resources that are started in the future are automatically placed
-// in matching groups. By using a group to name monitored resources in,
-// for example, an alert policy, the target of that alert policy is
-// updated automatically as monitored resources are added and removed
-// from the infrastructure.
-service GroupService {
-  // Lists the existing groups.
-  rpc ListGroups(ListGroupsRequest) returns (ListGroupsResponse) {
-    option (google.api.http) = { get: "/v3/{name=projects/*}/groups" };
-  }
-
-  // Gets a single group.
-  rpc GetGroup(GetGroupRequest) returns (Group) {
-    option (google.api.http) = { get: "/v3/{name=projects/*/groups/*}" };
-  }
-
-  // Creates a new group.
-  rpc CreateGroup(CreateGroupRequest) returns (Group) {
-    option (google.api.http) = { post: "/v3/{name=projects/*}/groups" body: "group" };
-  }
-
-  // Updates an existing group.
-  // You can change any group attributes except `name`.
-  rpc UpdateGroup(UpdateGroupRequest) returns (Group) {
-    option (google.api.http) = { put: "/v3/{group.name=projects/*/groups/*}" body: "group" };
-  }
-
-  // Deletes an existing group.
-  rpc DeleteGroup(DeleteGroupRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v3/{name=projects/*/groups/*}" };
-  }
-
-  // Lists the monitored resources that are members of a group.
-  rpc ListGroupMembers(ListGroupMembersRequest) returns (ListGroupMembersResponse) {
-    option (google.api.http) = { get: "/v3/{name=projects/*/groups/*}/members" };
-  }
-}
-
-// The `ListGroup` request.
-message ListGroupsRequest {
-  // The project whose groups are to be listed. The format is
-  // `"projects/{project_id_or_number}"`.
-  string name = 7;
-
-  // An optional filter consisting of a single group name.  The filters limit the
-  // groups returned based on their parent-child relationship with the specified
-  // group. If no filter is specified, all groups are returned.
-  oneof filter {
-    // A group name: `"projects/{project_id_or_number}/groups/{group_id}"`.
-    // Returns groups whose `parentName` field contains the group
-    // name.  If no groups have this parent, the results are empty.
-    string children_of_group = 2;
-
-    // A group name: `"projects/{project_id_or_number}/groups/{group_id}"`.
-    // Returns groups that are ancestors of the specified group.
-    // The groups are returned in order, starting with the immediate parent and
-    // ending with the most distant ancestor.  If the specified group has no
-    // immediate parent, the results are empty.
-    string ancestors_of_group = 3;
-
-    // A group name: `"projects/{project_id_or_number}/groups/{group_id}"`.
-    // Returns the descendants of the specified group.  This is a superset of
-    // the results returned by the `childrenOfGroup` filter, and includes
-    // children-of-children, and so forth.
-    string descendants_of_group = 4;
-  }
-
-  // A positive number that is the maximum number of results to return.
-  int32 page_size = 5;
-
-  // If this field is not empty then it must contain the `nextPageToken` value
-  // returned by a previous call to this method.  Using this field causes the
-  // method to return additional results from the previous method call.
-  string page_token = 6;
-}
-
-// The `ListGroups` response.
-message ListGroupsResponse {
-  // The groups that match the specified filters.
-  repeated Group group = 1;
-
-  // If there are more results than have been returned, then this field is set
-  // to a non-empty value.  To see the additional results,
-  // use that value as `pageToken` in the next call to this method.
-  string next_page_token = 2;
-}
-
-// The `GetGroup` request.
-message GetGroupRequest {
-  // The group to retrieve. The format is
-  // `"projects/{project_id_or_number}/groups/{group_id}"`.
-  string name = 3;
-}
-
-// The `CreateGroup` request.
-message CreateGroupRequest {
-  // The project in which to create the group. The format is
-  // `"projects/{project_id_or_number}"`.
-  string name = 4;
-
-  // A group definition. It is an error to define the `name` field because
-  // the system assigns the name.
-  Group group = 2;
-
-  // If true, validate this request but do not create the group.
-  bool validate_only = 3;
-}
-
-// The `UpdateGroup` request.
-message UpdateGroupRequest {
-  // The new definition of the group.  All fields of the existing group,
-  // excepting `name`, are replaced with the corresponding fields of this group.
-  Group group = 2;
-
-  // If true, validate this request but do not update the existing group.
-  bool validate_only = 3;
-}
-
-// The `DeleteGroup` request. You can only delete a group if it has no children.
-message DeleteGroupRequest {
-  // The group to delete. The format is
-  // `"projects/{project_id_or_number}/groups/{group_id}"`.
-  string name = 3;
-}
-
-// The `ListGroupMembers` request.
-message ListGroupMembersRequest {
-  // The group whose members are listed. The format is
-  // `"projects/{project_id_or_number}/groups/{group_id}"`.
-  string name = 7;
-
-  // A positive number that is the maximum number of results to return.
-  int32 page_size = 3;
-
-  // If this field is not empty then it must contain the `nextPageToken` value
-  // returned by a previous call to this method.  Using this field causes the
-  // method to return additional results from the previous method call.
-  string page_token = 4;
-
-  // An optional [list filter](/monitoring/api/learn_more#filtering) describing
-  // the members to be returned.  The filter may reference the type, labels, and
-  // metadata of monitored resources that comprise the group.
-  // For example, to return only resources representing Compute Engine VM
-  // instances, use this filter:
-  //
-  //     resource.type = "gce_instance"
-  string filter = 5;
-
-  // An optional time interval for which results should be returned. Only
-  // members that were part of the group during the specified interval are
-  // included in the response.  If no interval is provided then the group
-  // membership over the last minute is returned.
-  TimeInterval interval = 6;
-}
-
-// The `ListGroupMembers` response.
-message ListGroupMembersResponse {
-  // A set of monitored resources in the group.
-  repeated google.api.MonitoredResource members = 1;
-
-  // If there are more results than have been returned, then this field is
-  // set to a non-empty value.  To see the additional results, use that value as
-  // `pageToken` in the next call to this method.
-  string next_page_token = 2;
-
-  // The total number of elements matching this request.
-  int32 total_size = 3;
-}
diff --git a/googleapis/monitoring/v3/metric.pb.go b/googleapis/monitoring/v3/metric.pb.go
index 43dbcdbb89d701acc296a3787cd76611ad9da314..83aca7489928a55fc977d87c0b161c4e4f257c3b 100644
--- a/googleapis/monitoring/v3/metric.pb.go
+++ b/googleapis/monitoring/v3/metric.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/monitoring/v3/metric.proto
+// source: google/monitoring/v3/metric.proto
 // DO NOT EDIT!
 
-package google_monitoring_v3 // import "google.golang.org/genproto/googleapis/monitoring/v3"
+package monitoring
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -33,7 +33,7 @@ type Point struct {
 func (m *Point) Reset()                    { *m = Point{} }
 func (m *Point) String() string            { return proto.CompactTextString(m) }
 func (*Point) ProtoMessage()               {}
-func (*Point) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
+func (*Point) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
 
 func (m *Point) GetInterval() *TimeInterval {
 	if m != nil {
@@ -91,7 +91,7 @@ type TimeSeries struct {
 func (m *TimeSeries) Reset()                    { *m = TimeSeries{} }
 func (m *TimeSeries) String() string            { return proto.CompactTextString(m) }
 func (*TimeSeries) ProtoMessage()               {}
-func (*TimeSeries) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{1} }
+func (*TimeSeries) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
 
 func (m *TimeSeries) GetMetric() *google_api5.Metric {
 	if m != nil {
@@ -107,6 +107,20 @@ func (m *TimeSeries) GetResource() *google_api4.MonitoredResource {
 	return nil
 }
 
+func (m *TimeSeries) GetMetricKind() google_api5.MetricDescriptor_MetricKind {
+	if m != nil {
+		return m.MetricKind
+	}
+	return google_api5.MetricDescriptor_METRIC_KIND_UNSPECIFIED
+}
+
+func (m *TimeSeries) GetValueType() google_api5.MetricDescriptor_ValueType {
+	if m != nil {
+		return m.ValueType
+	}
+	return google_api5.MetricDescriptor_VALUE_TYPE_UNSPECIFIED
+}
+
 func (m *TimeSeries) GetPoints() []*Point {
 	if m != nil {
 		return m.Points
@@ -119,33 +133,32 @@ func init() {
 	proto.RegisterType((*TimeSeries)(nil), "google.monitoring.v3.TimeSeries")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/monitoring/v3/metric.proto", fileDescriptor5)
-}
+func init() { proto.RegisterFile("google/monitoring/v3/metric.proto", fileDescriptor3) }
 
-var fileDescriptor5 = []byte{
-	// 359 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x91, 0x41, 0x4b, 0xc3, 0x30,
-	0x14, 0xc7, 0xe9, 0xe6, 0xc6, 0x4c, 0xc1, 0x43, 0xf0, 0x50, 0x26, 0x42, 0xd9, 0x41, 0xa7, 0x87,
-	0x16, 0x56, 0x10, 0x3c, 0x28, 0x32, 0x14, 0x14, 0x11, 0x47, 0x14, 0xaf, 0xa3, 0xb6, 0x8f, 0x12,
-	0x6c, 0xf3, 0x42, 0xda, 0x15, 0x76, 0xf2, 0x73, 0xf9, 0xed, 0xa4, 0x49, 0xba, 0x31, 0x9c, 0xa2,
-	0xde, 0xd2, 0xe6, 0xf7, 0x7e, 0x2f, 0xef, 0xff, 0xc8, 0x55, 0x86, 0x98, 0xe5, 0x10, 0x64, 0x98,
-	0xc7, 0x22, 0x0b, 0x50, 0x65, 0x61, 0x06, 0x42, 0x2a, 0xac, 0x30, 0x34, 0x57, 0xb1, 0xe4, 0x65,
-	0x58, 0xa0, 0xe0, 0x15, 0x2a, 0x2e, 0xb2, 0xb0, 0x8e, 0xc2, 0x02, 0x2a, 0xc5, 0x93, 0x40, 0x53,
-	0x74, 0xdf, 0x1a, 0xd6, 0x48, 0x50, 0x47, 0xc3, 0x8b, 0xdf, 0x79, 0x63, 0xc9, 0xad, 0x6d, 0x43,
-	0x3a, 0x7c, 0xfc, 0x43, 0xb9, 0xe9, 0x0b, 0xa9, 0x82, 0x72, 0xfd, 0x31, 0x57, 0x50, 0xe2, 0x42,
-	0x25, 0x60, 0x85, 0xff, 0x9a, 0x33, 0xc1, 0xa2, 0x40, 0x61, 0x0c, 0xa3, 0x77, 0xd2, 0x9b, 0x21,
-	0x17, 0x15, 0xbd, 0x24, 0x03, 0x2e, 0x2a, 0x50, 0x75, 0x9c, 0x7b, 0x8e, 0xef, 0x8c, 0xdd, 0xc9,
-	0x28, 0xd8, 0x96, 0x41, 0xf0, 0xcc, 0x0b, 0xb8, 0xb3, 0x24, 0x5b, 0xd5, 0xd0, 0x33, 0xd2, 0xab,
-	0xe3, 0x7c, 0x01, 0x5e, 0x47, 0x17, 0xfb, 0xdf, 0x14, 0x2f, 0x25, 0xa4, 0x2f, 0x0d, 0xc7, 0x0c,
-	0x3e, 0xfa, 0xe8, 0x10, 0xd2, 0x28, 0x9f, 0x40, 0x71, 0x28, 0xe9, 0x29, 0xe9, 0x9b, 0xc8, 0xec,
-	0x23, 0x68, 0xeb, 0x89, 0x25, 0x0f, 0x1e, 0xf4, 0x0d, 0xb3, 0x04, 0x3d, 0x27, 0x83, 0x36, 0x0f,
-	0xdb, 0xf5, 0x70, 0x83, 0x6e, 0x53, 0x63, 0x16, 0x62, 0x2b, 0x9c, 0xde, 0x12, 0xd7, 0x48, 0xe6,
-	0x6f, 0x5c, 0xa4, 0x5e, 0xd7, 0x77, 0xc6, 0x7b, 0x93, 0xe3, 0xaf, 0xbd, 0xae, 0xa1, 0x4c, 0x14,
-	0x97, 0x15, 0x2a, 0xfb, 0xe3, 0x9e, 0x8b, 0x94, 0x91, 0x62, 0x75, 0xa6, 0x37, 0x84, 0xe8, 0x41,
-	0xe6, 0xd5, 0x52, 0x82, 0xb7, 0xa3, 0x45, 0x47, 0x3f, 0x8a, 0xf4, 0xf8, 0x4d, 0x10, 0x6c, 0xb7,
-	0x6e, 0x8f, 0x34, 0x22, 0x7d, 0xd9, 0xec, 0xa1, 0xf4, 0x7a, 0x7e, 0x77, 0xec, 0x4e, 0x0e, 0xb6,
-	0xe7, 0xa7, 0x77, 0xc5, 0x2c, 0x3a, 0x3d, 0x21, 0x5e, 0x82, 0xc5, 0x56, 0x72, 0xea, 0x9a, 0xbe,
-	0xb3, 0x66, 0xcb, 0x33, 0xe7, 0xb5, 0xaf, 0xd7, 0x1d, 0x7d, 0x06, 0x00, 0x00, 0xff, 0xff, 0x42,
-	0x89, 0xb9, 0x1f, 0x1a, 0x03, 0x00, 0x00,
+var fileDescriptor3 = []byte{
+	// 384 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0x51, 0x4b, 0xeb, 0x30,
+	0x14, 0xc7, 0xe9, 0x76, 0x37, 0x76, 0x53, 0xb8, 0x0f, 0xe1, 0xc2, 0x2d, 0xbb, 0x08, 0x75, 0x82,
+	0x0e, 0x1f, 0x5a, 0x58, 0x41, 0x10, 0x61, 0x0f, 0x53, 0x51, 0x11, 0x61, 0x44, 0xd9, 0x83, 0x2f,
+	0xa3, 0xb6, 0xa1, 0x04, 0xdb, 0x9c, 0x90, 0x66, 0x85, 0x3d, 0xf9, 0xe6, 0x87, 0xf1, 0x1b, 0xf8,
+	0xed, 0xa4, 0x49, 0xba, 0x39, 0xac, 0xbe, 0xa5, 0x3d, 0xbf, 0xff, 0xff, 0x9f, 0x73, 0x4e, 0xd0,
+	0x7e, 0x06, 0x90, 0xe5, 0x34, 0x2c, 0x80, 0x33, 0x05, 0x92, 0xf1, 0x2c, 0xac, 0xa2, 0xb0, 0xa0,
+	0x4a, 0xb2, 0x24, 0x10, 0x12, 0x14, 0xe0, 0xbf, 0x06, 0x09, 0xb6, 0x48, 0x50, 0x45, 0xc3, 0x7f,
+	0x56, 0x18, 0x0b, 0xb6, 0x83, 0x0f, 0x0f, 0x3e, 0x17, 0x8c, 0x84, 0xa6, 0x4b, 0x49, 0x4b, 0x58,
+	0xc9, 0x84, 0x5a, 0xa8, 0x3d, 0x36, 0x81, 0xa2, 0x00, 0x6e, 0x90, 0xd1, 0x0b, 0xea, 0xcd, 0x81,
+	0x71, 0x85, 0xa7, 0x68, 0xc0, 0xb8, 0xa2, 0xb2, 0x8a, 0x73, 0xcf, 0xf1, 0x9d, 0xb1, 0x3b, 0x19,
+	0x05, 0x6d, 0x57, 0x0a, 0x1e, 0x58, 0x41, 0x6f, 0x2c, 0x49, 0x36, 0x1a, 0x7c, 0x82, 0x7a, 0x55,
+	0x9c, 0xaf, 0xa8, 0xd7, 0xd1, 0x62, 0xff, 0x1b, 0xf1, 0x5a, 0xd0, 0x74, 0x51, 0x73, 0xc4, 0xe0,
+	0xa3, 0xf7, 0x0e, 0x42, 0xb5, 0xe5, 0x3d, 0x95, 0x8c, 0x96, 0xf8, 0x18, 0xf5, 0x4d, 0x9f, 0xf6,
+	0x12, 0xb8, 0xf1, 0x89, 0x05, 0x0b, 0xee, 0x74, 0x85, 0x58, 0x02, 0x9f, 0xa2, 0x41, 0xd3, 0xb0,
+	0x4d, 0xdd, 0xdb, 0xa1, 0x9b, 0xb1, 0x10, 0x0b, 0x91, 0x0d, 0x8e, 0xaf, 0x91, 0x6b, 0x4c, 0x96,
+	0xcf, 0x8c, 0xa7, 0x5e, 0xd7, 0x77, 0xc6, 0x7f, 0x26, 0x47, 0x5f, 0xb3, 0x2e, 0x68, 0x99, 0x48,
+	0x26, 0x14, 0x48, 0xfb, 0xe3, 0x96, 0xf1, 0x94, 0xa0, 0x62, 0x73, 0xc6, 0x97, 0x08, 0xe9, 0x46,
+	0x96, 0x6a, 0x2d, 0xa8, 0xf7, 0x4b, 0x1b, 0x1d, 0xfe, 0x68, 0xa4, 0xdb, 0xaf, 0x07, 0x41, 0x7e,
+	0x57, 0xcd, 0x11, 0x47, 0xa8, 0x2f, 0xea, 0x3d, 0x94, 0x5e, 0xcf, 0xef, 0x8e, 0xdd, 0xc9, 0xff,
+	0xf6, 0xf9, 0xe9, 0x5d, 0x11, 0x8b, 0xce, 0x5e, 0x1d, 0xe4, 0x25, 0x50, 0xb4, 0xa2, 0x33, 0xd7,
+	0x04, 0xcf, 0xeb, 0x35, 0xcf, 0x9d, 0xc7, 0xa9, 0x85, 0x32, 0xc8, 0x63, 0x9e, 0x05, 0x20, 0xb3,
+	0x30, 0xa3, 0x5c, 0x3f, 0x82, 0xd0, 0x94, 0x62, 0xc1, 0xca, 0xdd, 0xa7, 0x72, 0xb6, 0xfd, 0x7a,
+	0xeb, 0x0c, 0xaf, 0x8c, 0xc1, 0x79, 0x0e, 0xab, 0xb4, 0x19, 0x6e, 0x9d, 0xb5, 0x88, 0x9e, 0xfa,
+	0xda, 0x27, 0xfa, 0x08, 0x00, 0x00, 0xff, 0xff, 0xd5, 0xab, 0x3f, 0xd9, 0xe8, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/metric.proto b/googleapis/monitoring/v3/metric.proto
deleted file mode 100644
index c275c6331f7f6713ad62e2f182b28620690bcdd9..0000000000000000000000000000000000000000
--- a/googleapis/monitoring/v3/metric.proto
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.monitoring.v3;
-
-import "google.golang.org/genproto/googleapis/api/metric/metric.proto"; // from google/api/metric.proto
-import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto
-import "google.golang.org/genproto/googleapis/monitoring/v3/common.proto"; // from google/monitoring/v3/common.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "MetricProto";
-option java_package = "com.google.monitoring.v3";
-
-
-// A single data point in a time series.
-message Point {
-  // The time interval to which the data point applies.  For GAUGE metrics, only
-  // the end time of the interval is used.  For DELTA metrics, the start and end
-  // time should specify a non-zero interval, with subsequent points specifying
-  // contiguous and non-overlapping intervals.  For CUMULATIVE metrics, the
-  // start and end time should specify a non-zero interval, with subsequent
-  // points specifying the same start time and increasing end times, until an
-  // event resets the cumulative value to zero and sets a new start time for the
-  // following points.
-  TimeInterval interval = 1;
-
-  // The value of the data point.
-  TypedValue value = 2;
-}
-
-// A collection of data points that describes the time-varying values
-// of a metric. A time series is identified by a combination of a
-// fully-specified monitored resource and a fully-specified metric.
-// This type is used for both listing and creating time series.
-message TimeSeries {
-  // The associated metric. A fully-specified metric used to identify the time
-  // series.
-  google.api.Metric metric = 1;
-
-  // The associated resource. A fully-specified monitored resource used to
-  // identify the time series.
-  google.api.MonitoredResource resource = 2;
-
-  // The metric kind of the time series. When listing time series, this metric
-  // kind might be different from the metric kind of the associated metric if
-  // this time series is an alignment or reduction of other time series.
-  //
-  // When creating a time series, this field is optional. If present, it must be
-  // the same as the metric kind of the associated metric. If the associated
-  // metric's descriptor must be auto-created, then this field specifies the
-  // metric kind of the new descriptor and must be either `GAUGE` (the default)
-  // or `CUMULATIVE`.
-  google.api.MetricDescriptor.MetricKind metric_kind = 3;
-
-  // The value type of the time series. When listing time series, this value
-  // type might be different from the value type of the associated metric if
-  // this time series is an alignment or reduction of other time series.
-  //
-  // When creating a time series, this field is optional. If present, it must be
-  // the same as the type of the data in the `points` field.
-  google.api.MetricDescriptor.ValueType value_type = 4;
-
-  // The data points of this time series. When listing time series, the order of
-  // the points is specified by the list method.
-  //
-  // When creating a time series, this field must contain exactly one point and
-  // the point's type must be the same as the value type of the associated
-  // metric. If the associated metric's descriptor must be auto-created, then
-  // the value type of the descriptor is determined by the point's type, which
-  // must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`.
-  repeated Point points = 5;
-}
diff --git a/googleapis/monitoring/v3/metric_service.pb.go b/googleapis/monitoring/v3/metric_service.pb.go
index 3b3ef377f14c6eeba142be8649182e0edca08353..41ffeb03432e62dfaab2abc60ac73e74e589d768 100644
--- a/googleapis/monitoring/v3/metric_service.pb.go
+++ b/googleapis/monitoring/v3/metric_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/monitoring/v3/metric_service.proto
+// source: google/monitoring/v3/metric_service.proto
 // DO NOT EDIT!
 
-package google_monitoring_v3 // import "google.golang.org/genproto/googleapis/monitoring/v3"
+package monitoring
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_api5 "google.golang.org/genproto/googleapis/api/metric"
 import google_api4 "google.golang.org/genproto/googleapis/api/monitoredres"
 import google_protobuf4 "github.com/golang/protobuf/ptypes/empty"
@@ -48,7 +48,7 @@ func (x ListTimeSeriesRequest_TimeSeriesView) String() string {
 	return proto.EnumName(ListTimeSeriesRequest_TimeSeriesView_name, int32(x))
 }
 func (ListTimeSeriesRequest_TimeSeriesView) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor6, []int{8, 0}
+	return fileDescriptor4, []int{8, 0}
 }
 
 // The `ListMonitoredResourceDescriptors` request.
@@ -78,7 +78,35 @@ func (m *ListMonitoredResourceDescriptorsRequest) Reset() {
 func (m *ListMonitoredResourceDescriptorsRequest) String() string { return proto.CompactTextString(m) }
 func (*ListMonitoredResourceDescriptorsRequest) ProtoMessage()    {}
 func (*ListMonitoredResourceDescriptorsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor6, []int{0}
+	return fileDescriptor4, []int{0}
+}
+
+func (m *ListMonitoredResourceDescriptorsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListMonitoredResourceDescriptorsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListMonitoredResourceDescriptorsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListMonitoredResourceDescriptorsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
 }
 
 // The `ListMonitoredResourcDescriptors` response.
@@ -98,7 +126,7 @@ func (m *ListMonitoredResourceDescriptorsResponse) Reset() {
 func (m *ListMonitoredResourceDescriptorsResponse) String() string { return proto.CompactTextString(m) }
 func (*ListMonitoredResourceDescriptorsResponse) ProtoMessage()    {}
 func (*ListMonitoredResourceDescriptorsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor6, []int{1}
+	return fileDescriptor4, []int{1}
 }
 
 func (m *ListMonitoredResourceDescriptorsResponse) GetResourceDescriptors() []*google_api4.MonitoredResourceDescriptor {
@@ -108,6 +136,13 @@ func (m *ListMonitoredResourceDescriptorsResponse) GetResourceDescriptors() []*g
 	return nil
 }
 
+func (m *ListMonitoredResourceDescriptorsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The `GetMonitoredResourceDescriptor` request.
 type GetMonitoredResourceDescriptorRequest struct {
 	// The monitored resource descriptor to get.  The format is
@@ -121,7 +156,14 @@ func (m *GetMonitoredResourceDescriptorRequest) Reset()         { *m = GetMonito
 func (m *GetMonitoredResourceDescriptorRequest) String() string { return proto.CompactTextString(m) }
 func (*GetMonitoredResourceDescriptorRequest) ProtoMessage()    {}
 func (*GetMonitoredResourceDescriptorRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor6, []int{2}
+	return fileDescriptor4, []int{2}
+}
+
+func (m *GetMonitoredResourceDescriptorRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
 }
 
 // The `ListMetricDescriptors` request.
@@ -149,7 +191,35 @@ type ListMetricDescriptorsRequest struct {
 func (m *ListMetricDescriptorsRequest) Reset()                    { *m = ListMetricDescriptorsRequest{} }
 func (m *ListMetricDescriptorsRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListMetricDescriptorsRequest) ProtoMessage()               {}
-func (*ListMetricDescriptorsRequest) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{3} }
+func (*ListMetricDescriptorsRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{3} }
+
+func (m *ListMetricDescriptorsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListMetricDescriptorsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListMetricDescriptorsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListMetricDescriptorsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
 
 // The `ListMetricDescriptors` response.
 type ListMetricDescriptorsResponse struct {
@@ -165,7 +235,7 @@ type ListMetricDescriptorsResponse struct {
 func (m *ListMetricDescriptorsResponse) Reset()                    { *m = ListMetricDescriptorsResponse{} }
 func (m *ListMetricDescriptorsResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListMetricDescriptorsResponse) ProtoMessage()               {}
-func (*ListMetricDescriptorsResponse) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{4} }
+func (*ListMetricDescriptorsResponse) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{4} }
 
 func (m *ListMetricDescriptorsResponse) GetMetricDescriptors() []*google_api5.MetricDescriptor {
 	if m != nil {
@@ -174,6 +244,13 @@ func (m *ListMetricDescriptorsResponse) GetMetricDescriptors() []*google_api5.Me
 	return nil
 }
 
+func (m *ListMetricDescriptorsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The `GetMetricDescriptor` request.
 type GetMetricDescriptorRequest struct {
 	// The metric descriptor on which to execute the request. The format is
@@ -186,7 +263,14 @@ type GetMetricDescriptorRequest struct {
 func (m *GetMetricDescriptorRequest) Reset()                    { *m = GetMetricDescriptorRequest{} }
 func (m *GetMetricDescriptorRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetMetricDescriptorRequest) ProtoMessage()               {}
-func (*GetMetricDescriptorRequest) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{5} }
+func (*GetMetricDescriptorRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{5} }
+
+func (m *GetMetricDescriptorRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // The `CreateMetricDescriptor` request.
 type CreateMetricDescriptorRequest struct {
@@ -201,7 +285,14 @@ type CreateMetricDescriptorRequest struct {
 func (m *CreateMetricDescriptorRequest) Reset()                    { *m = CreateMetricDescriptorRequest{} }
 func (m *CreateMetricDescriptorRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateMetricDescriptorRequest) ProtoMessage()               {}
-func (*CreateMetricDescriptorRequest) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{6} }
+func (*CreateMetricDescriptorRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{6} }
+
+func (m *CreateMetricDescriptorRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *CreateMetricDescriptorRequest) GetMetricDescriptor() *google_api5.MetricDescriptor {
 	if m != nil {
@@ -222,7 +313,14 @@ type DeleteMetricDescriptorRequest struct {
 func (m *DeleteMetricDescriptorRequest) Reset()                    { *m = DeleteMetricDescriptorRequest{} }
 func (m *DeleteMetricDescriptorRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteMetricDescriptorRequest) ProtoMessage()               {}
-func (*DeleteMetricDescriptorRequest) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{7} }
+func (*DeleteMetricDescriptorRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{7} }
+
+func (m *DeleteMetricDescriptorRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // The `ListTimeSeries` request.
 type ListTimeSeriesRequest struct {
@@ -265,7 +363,21 @@ type ListTimeSeriesRequest struct {
 func (m *ListTimeSeriesRequest) Reset()                    { *m = ListTimeSeriesRequest{} }
 func (m *ListTimeSeriesRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListTimeSeriesRequest) ProtoMessage()               {}
-func (*ListTimeSeriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{8} }
+func (*ListTimeSeriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{8} }
+
+func (m *ListTimeSeriesRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListTimeSeriesRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
 
 func (m *ListTimeSeriesRequest) GetInterval() *TimeInterval {
 	if m != nil {
@@ -281,6 +393,34 @@ func (m *ListTimeSeriesRequest) GetAggregation() *Aggregation {
 	return nil
 }
 
+func (m *ListTimeSeriesRequest) GetOrderBy() string {
+	if m != nil {
+		return m.OrderBy
+	}
+	return ""
+}
+
+func (m *ListTimeSeriesRequest) GetView() ListTimeSeriesRequest_TimeSeriesView {
+	if m != nil {
+		return m.View
+	}
+	return ListTimeSeriesRequest_FULL
+}
+
+func (m *ListTimeSeriesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListTimeSeriesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // The `ListTimeSeries` response.
 type ListTimeSeriesResponse struct {
 	// One or more time series that match the filter included in the request.
@@ -294,7 +434,7 @@ type ListTimeSeriesResponse struct {
 func (m *ListTimeSeriesResponse) Reset()                    { *m = ListTimeSeriesResponse{} }
 func (m *ListTimeSeriesResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListTimeSeriesResponse) ProtoMessage()               {}
-func (*ListTimeSeriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{9} }
+func (*ListTimeSeriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{9} }
 
 func (m *ListTimeSeriesResponse) GetTimeSeries() []*TimeSeries {
 	if m != nil {
@@ -303,6 +443,13 @@ func (m *ListTimeSeriesResponse) GetTimeSeries() []*TimeSeries {
 	return nil
 }
 
+func (m *ListTimeSeriesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The `CreateTimeSeries` request.
 type CreateTimeSeriesRequest struct {
 	// The project on which to execute the request. The format is
@@ -319,7 +466,14 @@ type CreateTimeSeriesRequest struct {
 func (m *CreateTimeSeriesRequest) Reset()                    { *m = CreateTimeSeriesRequest{} }
 func (m *CreateTimeSeriesRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateTimeSeriesRequest) ProtoMessage()               {}
-func (*CreateTimeSeriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{10} }
+func (*CreateTimeSeriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{10} }
+
+func (m *CreateTimeSeriesRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *CreateTimeSeriesRequest) GetTimeSeries() []*TimeSeries {
 	if m != nil {
@@ -342,7 +496,7 @@ type CreateTimeSeriesError struct {
 func (m *CreateTimeSeriesError) Reset()                    { *m = CreateTimeSeriesError{} }
 func (m *CreateTimeSeriesError) String() string            { return proto.CompactTextString(m) }
 func (*CreateTimeSeriesError) ProtoMessage()               {}
-func (*CreateTimeSeriesError) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{11} }
+func (*CreateTimeSeriesError) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{11} }
 
 func (m *CreateTimeSeriesError) GetTimeSeries() *TimeSeries {
 	if m != nil {
@@ -702,77 +856,74 @@ var _MetricService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/monitoring/v3/metric_service.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/monitoring/v3/metric_service.proto", fileDescriptor6)
-}
-
-var fileDescriptor6 = []byte{
-	// 1009 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xc4, 0x56, 0xdf, 0x72, 0xdb, 0xc4,
-	0x17, 0xfe, 0x6d, 0x92, 0xe6, 0xcf, 0xf1, 0x34, 0xbf, 0x74, 0xdb, 0x1a, 0x23, 0x1a, 0xc6, 0x68,
-	0xa6, 0xc4, 0xb8, 0x45, 0xca, 0xd8, 0x1d, 0x2e, 0xd2, 0xa6, 0x43, 0xd2, 0x04, 0x9a, 0x21, 0x40,
-	0x46, 0x2e, 0x5c, 0x70, 0xe3, 0x51, 0x94, 0x13, 0xb1, 0x60, 0x69, 0xc5, 0x6a, 0xed, 0x92, 0x32,
-	0xe1, 0x02, 0x66, 0x7a, 0xcf, 0x00, 0x33, 0xf0, 0x12, 0x30, 0xbc, 0x03, 0x6f, 0xc0, 0x35, 0x77,
-	0xbc, 0x02, 0xf7, 0x8c, 0x56, 0x72, 0x1c, 0xcb, 0x92, 0x2c, 0x97, 0x0b, 0x6e, 0x6c, 0x69, 0x77,
-	0xcf, 0x39, 0xdf, 0xf9, 0xce, 0xd9, 0xf3, 0x09, 0x1e, 0xbb, 0x9c, 0xbb, 0x3d, 0x34, 0x5c, 0xde,
-	0xb3, 0x7d, 0xd7, 0xe0, 0xc2, 0x35, 0x5d, 0xf4, 0x03, 0xc1, 0x25, 0x37, 0xe3, 0x2d, 0x3b, 0x60,
-	0xa1, 0xe9, 0x71, 0x9f, 0x49, 0x2e, 0x98, 0xef, 0x9a, 0x83, 0xb6, 0xe9, 0xa1, 0x14, 0xcc, 0xe9,
-	0x86, 0x28, 0x06, 0xcc, 0x41, 0x43, 0x9d, 0xa6, 0x37, 0x12, 0x4f, 0xa3, 0xa3, 0xc6, 0xa0, 0xad,
-	0x1d, 0x94, 0xf3, 0x6f, 0x07, 0xcc, 0x4c, 0xdc, 0x39, 0xdc, 0x3f, 0x65, 0xae, 0x69, 0xfb, 0x3e,
-	0x97, 0xb6, 0x64, 0xdc, 0x0f, 0xe3, 0x00, 0xda, 0x76, 0x79, 0x57, 0x31, 0xc0, 0xe4, 0x2f, 0x31,
-	0xff, 0x70, 0x06, 0xf3, 0x38, 0x05, 0x3c, 0x11, 0x18, 0x8e, 0x5e, 0xba, 0x02, 0x43, 0xde, 0x17,
-	0xc3, 0x84, 0xb5, 0xb7, 0x5f, 0x84, 0x3a, 0x87, 0x7b, 0x1e, 0xf7, 0xff, 0x8d, 0x87, 0xb1, 0xa4,
-	0xda, 0x2e, 0x93, 0x9f, 0xf6, 0x8f, 0x0d, 0x87, 0x7b, 0x66, 0xec, 0xc5, 0x54, 0x1b, 0xc7, 0xfd,
-	0x53, 0x33, 0x90, 0x67, 0x01, 0x86, 0x26, 0x7a, 0x81, 0x3c, 0x8b, 0x7f, 0x67, 0x23, 0x52, 0x04,
-	0x8e, 0x19, 0x4a, 0x5b, 0xf6, 0xc3, 0xe4, 0x2f, 0x36, 0xd7, 0xbf, 0x23, 0xb0, 0x71, 0xc8, 0x42,
-	0xf9, 0xfe, 0x90, 0x18, 0x2b, 0xe1, 0x65, 0x0f, 0x43, 0x47, 0xb0, 0x40, 0x72, 0x11, 0x5a, 0xf8,
-	0x45, 0x1f, 0x43, 0x49, 0x29, 0x2c, 0xf8, 0xb6, 0x87, 0xb5, 0x2b, 0x75, 0xd2, 0x58, 0xb1, 0xd4,
-	0x33, 0xad, 0xc2, 0xe2, 0x29, 0xeb, 0x49, 0x14, 0xb5, 0x39, 0xb5, 0x9a, 0xbc, 0xd1, 0x57, 0x60,
-	0x25, 0xb0, 0x5d, 0xec, 0x86, 0xec, 0x19, 0xd6, 0xe6, 0xeb, 0xa4, 0x71, 0xc5, 0x5a, 0x8e, 0x16,
-	0x3a, 0xec, 0x19, 0xd2, 0x75, 0x00, 0xb5, 0x29, 0xf9, 0xe7, 0xe8, 0xd7, 0x16, 0x94, 0xa1, 0x3a,
-	0xfe, 0x24, 0x5a, 0xd0, 0x7f, 0x21, 0xd0, 0x98, 0x8e, 0x29, 0x0c, 0xb8, 0x1f, 0x22, 0xfd, 0x04,
-	0x6e, 0x0c, 0x4b, 0xd9, 0x3d, 0x19, 0xed, 0xd7, 0x48, 0x7d, 0xbe, 0x51, 0x69, 0x6d, 0x18, 0x09,
-	0x3d, 0x76, 0xc0, 0x8c, 0x02, 0x7f, 0xd6, 0x75, 0x31, 0x19, 0x83, 0xbe, 0x0e, 0xff, 0xf7, 0xf1,
-	0x4b, 0xd9, 0xbd, 0x04, 0x36, 0xce, 0xf2, 0x6a, 0xb4, 0x7c, 0x74, 0x01, 0xf8, 0x3e, 0xdc, 0x7e,
-	0x17, 0x8b, 0xe0, 0xa6, 0x19, 0x9c, 0x1f, 0x31, 0xa8, 0x3f, 0x27, 0x70, 0x4b, 0x65, 0xab, 0x5a,
-	0xe1, 0x3f, 0xa4, 0xfd, 0x07, 0x02, 0xeb, 0x39, 0x40, 0x12, 0xae, 0xdf, 0x03, 0x9a, 0x4c, 0x8b,
-	0x49, 0xa6, 0x6f, 0x8d, 0x31, 0x9d, 0x72, 0x61, 0x5d, 0xf3, 0xd2, 0x4e, 0x4b, 0x93, 0xbb, 0x09,
-	0x5a, 0x44, 0x6e, 0xda, 0x63, 0x01, 0xa3, 0x5f, 0xc3, 0xfa, 0x23, 0x81, 0xb6, 0xc4, 0x19, 0x8c,
-	0xe8, 0x01, 0x5c, 0x9b, 0xc8, 0x4d, 0x01, 0x9a, 0x96, 0xda, 0x5a, 0x3a, 0x35, 0xbd, 0x0d, 0xeb,
-	0x7b, 0xd8, 0xc3, 0x99, 0xe2, 0xeb, 0x3f, 0xcd, 0xc3, 0xcd, 0x88, 0xfd, 0x27, 0xcc, 0xc3, 0x0e,
-	0x0a, 0x86, 0x13, 0xf5, 0x87, 0x12, 0xf5, 0x7f, 0x08, 0xcb, 0xcc, 0x97, 0x28, 0x06, 0x76, 0x4f,
-	0x15, 0xb8, 0xd2, 0xd2, 0x8d, 0xac, 0x51, 0x6e, 0x44, 0x61, 0x0e, 0x92, 0x93, 0xd6, 0x85, 0x0d,
-	0x7d, 0x04, 0x15, 0xdb, 0x75, 0x05, 0xba, 0x6a, 0x58, 0xab, 0x96, 0xab, 0xb4, 0x5e, 0xcb, 0x76,
-	0xb1, 0x33, 0x3a, 0x68, 0x5d, 0xb6, 0xa2, 0x2f, 0xc3, 0x32, 0x17, 0x27, 0x28, 0xba, 0xc7, 0x67,
-	0xb5, 0x45, 0x05, 0x6f, 0x49, 0xbd, 0xef, 0x9e, 0xd1, 0x0f, 0x60, 0x61, 0xc0, 0xf0, 0x69, 0x6d,
-	0xa9, 0x4e, 0x1a, 0xab, 0xad, 0xad, 0x6c, 0xc7, 0x99, 0x34, 0x18, 0xa3, 0x95, 0x8f, 0x19, 0x3e,
-	0xb5, 0x94, 0x9f, 0xf1, 0x7e, 0x5f, 0x2e, 0xec, 0xf7, 0x95, 0x74, 0xbf, 0x6f, 0xc0, 0xea, 0xb8,
-	0x4f, 0xba, 0x0c, 0x0b, 0xef, 0x7c, 0x74, 0x78, 0xb8, 0xf6, 0x3f, 0x5a, 0x81, 0xa5, 0xc7, 0xfb,
-	0x3b, 0x7b, 0xfb, 0x56, 0x67, 0x8d, 0xe8, 0xdf, 0x12, 0xa8, 0xa6, 0x31, 0x25, 0x37, 0x62, 0x07,
-	0x2a, 0x92, 0x79, 0x18, 0xa9, 0x27, 0xc3, 0xe1, 0x55, 0xa8, 0xe7, 0x53, 0x9e, 0x98, 0x83, 0xbc,
-	0x78, 0x2e, 0x7d, 0x0f, 0x02, 0x78, 0x29, 0xee, 0xea, 0xfc, 0x0e, 0xb9, 0xdc, 0xcf, 0x29, 0x64,
-	0x73, 0xb3, 0x23, 0x8b, 0x26, 0xd3, 0xcd, 0x74, 0xc8, 0x7d, 0x21, 0xb8, 0x98, 0x4c, 0x9b, 0xcc,
-	0x9c, 0x76, 0x13, 0x16, 0x63, 0x21, 0x4a, 0x2e, 0x19, 0x1d, 0x5a, 0x8b, 0xc0, 0x31, 0x3a, 0x6a,
-	0xc7, 0x4a, 0x4e, 0xb4, 0xfe, 0x06, 0xb8, 0x1a, 0xdf, 0xa5, 0x4e, 0xfc, 0x59, 0x41, 0xff, 0x24,
-	0x50, 0x9f, 0x26, 0x11, 0x74, 0x3b, 0xbf, 0xbd, 0x4a, 0xc8, 0x9d, 0xf6, 0xf0, 0x45, 0xcd, 0xe3,
-	0xde, 0xd0, 0xb7, 0xbe, 0xf9, 0xe3, 0xaf, 0xef, 0xe7, 0xee, 0xd1, 0x56, 0x24, 0xf4, 0x5f, 0x45,
-	0x45, 0xd9, 0x0e, 0x04, 0xff, 0x0c, 0x1d, 0x19, 0x9a, 0xcd, 0xf3, 0xd1, 0xa7, 0x48, 0x16, 0xf4,
-	0xdf, 0x09, 0xbc, 0x5a, 0x2c, 0x29, 0xf4, 0x7e, 0x36, 0xbc, 0x52, 0x42, 0xa4, 0x95, 0xd5, 0x45,
-	0xfd, 0x81, 0x4a, 0xe2, 0x2d, 0x7a, 0x2f, 0x2b, 0x89, 0xc2, 0x1c, 0xcc, 0xe6, 0x39, 0xfd, 0x8d,
-	0xc4, 0x43, 0x6d, 0x42, 0x52, 0x68, 0xab, 0x80, 0xdc, 0x1c, 0x21, 0xd4, 0xda, 0x33, 0xd9, 0x24,
-	0x55, 0x30, 0x55, 0x02, 0x6f, 0xd0, 0x8d, 0x9c, 0x2a, 0x4c, 0x20, 0xfb, 0x99, 0xc0, 0xf5, 0x0c,
-	0xc1, 0xa1, 0x9b, 0xf9, 0x7c, 0x67, 0x8f, 0x79, 0xad, 0x50, 0x37, 0xf4, 0x96, 0x02, 0x76, 0x97,
-	0x36, 0xb3, 0x99, 0x4d, 0xe3, 0x32, 0x9b, 0xcd, 0x73, 0xfa, 0x2b, 0x81, 0x6a, 0xb6, 0xb4, 0xd1,
-	0x1c, 0x72, 0x0a, 0x85, 0x70, 0x0a, 0xc2, 0x5d, 0x85, 0xf0, 0x81, 0x5e, 0x96, 0xba, 0xad, 0x49,
-	0x05, 0x8d, 0xd8, 0xac, 0x66, 0x8b, 0x61, 0x1e, 0xe2, 0x42, 0xe9, 0xd4, 0xaa, 0x43, 0xa3, 0xe1,
-	0x97, 0xb1, 0xb1, 0x1f, 0x7d, 0x0c, 0x0f, 0xd9, 0x6c, 0xce, 0xc2, 0xe6, 0x8f, 0x04, 0x56, 0xc7,
-	0xe7, 0x3a, 0xbd, 0x33, 0x83, 0x22, 0x69, 0x77, 0xcb, 0x1d, 0x4e, 0x1a, 0xb1, 0xa1, 0x10, 0xea,
-	0xb4, 0x9e, 0xcd, 0xe6, 0xa5, 0xd1, 0xf8, 0x9c, 0xc0, 0x5a, 0x7a, 0xee, 0xd2, 0x37, 0x8b, 0xea,
-	0x3b, 0x89, 0x2d, 0x8f, 0xa7, 0x3b, 0x0a, 0xc5, 0x6d, 0x7d, 0x2a, 0x8a, 0x2d, 0xd2, 0xdc, 0xdd,
-	0x84, 0x9a, 0xc3, 0xbd, 0xcc, 0xc0, 0xbb, 0x74, 0x6c, 0x20, 0x1f, 0x45, 0x51, 0x8e, 0xc8, 0xf1,
-	0xa2, 0x0a, 0xd7, 0xfe, 0x27, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x3a, 0xd0, 0x46, 0x8a, 0x0e, 0x00,
-	0x00,
+	Metadata: "google/monitoring/v3/metric_service.proto",
+}
+
+func init() { proto.RegisterFile("google/monitoring/v3/metric_service.proto", fileDescriptor4) }
+
+var fileDescriptor4 = []byte{
+	// 1001 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0x4f, 0x73, 0xdb, 0x44,
+	0x14, 0x67, 0x93, 0x34, 0x71, 0x9e, 0xa7, 0x21, 0xdd, 0xb6, 0xae, 0x51, 0x13, 0xc6, 0x15, 0x53,
+	0xe2, 0xba, 0x45, 0xea, 0xd8, 0x1d, 0x0e, 0x49, 0x9b, 0x99, 0xfc, 0xa3, 0x74, 0x08, 0x4c, 0x46,
+	0x2e, 0x3d, 0xf4, 0xe2, 0x51, 0x9c, 0x57, 0xcd, 0x82, 0xa5, 0x15, 0xab, 0xb5, 0x4b, 0xca, 0x84,
+	0x03, 0xcc, 0xe4, 0xc6, 0x81, 0x01, 0x66, 0xe0, 0x2b, 0x70, 0x80, 0xe1, 0x3b, 0xf0, 0x0d, 0x38,
+	0x73, 0xe3, 0x2b, 0x70, 0x67, 0xb4, 0x92, 0x63, 0x5b, 0x96, 0x64, 0x9b, 0x4b, 0x6f, 0x96, 0xf6,
+	0xfd, 0xf9, 0xbd, 0xdf, 0x7b, 0xfb, 0x7e, 0x32, 0xdc, 0x71, 0x38, 0x77, 0x3a, 0x68, 0xba, 0xdc,
+	0x63, 0x92, 0x0b, 0xe6, 0x39, 0x66, 0xaf, 0x61, 0xba, 0x28, 0x05, 0x6b, 0xb7, 0x02, 0x14, 0x3d,
+	0xd6, 0x46, 0xc3, 0x17, 0x5c, 0x72, 0x7a, 0x2d, 0x32, 0x35, 0x06, 0xa6, 0x46, 0xaf, 0xa1, 0xad,
+	0xc5, 0x01, 0x6c, 0x9f, 0x99, 0xb6, 0xe7, 0x71, 0x69, 0x4b, 0xc6, 0xbd, 0x20, 0xf2, 0xd1, 0x6e,
+	0x0c, 0x9d, 0x46, 0x41, 0xe3, 0x83, 0x77, 0x86, 0x0f, 0xa2, 0x80, 0x78, 0xd2, 0x12, 0x18, 0xf0,
+	0xae, 0xe8, 0x67, 0xd4, 0x6e, 0xa5, 0x82, 0x6b, 0x73, 0xd7, 0xe5, 0x5e, 0xae, 0xc9, 0x48, 0xaa,
+	0x9b, 0xb1, 0x89, 0x7a, 0x3a, 0xee, 0xbe, 0x30, 0xd1, 0xf5, 0xe5, 0x69, 0x02, 0xa0, 0xf0, 0xdb,
+	0x66, 0x20, 0x6d, 0xd9, 0x8d, 0x91, 0xeb, 0xdf, 0x13, 0xd8, 0x38, 0x64, 0x81, 0xfc, 0xb8, 0x0f,
+	0xce, 0x8a, 0xb1, 0xed, 0x63, 0xd0, 0x16, 0xcc, 0x97, 0x5c, 0x04, 0x16, 0x7e, 0xd1, 0xc5, 0x40,
+	0x52, 0x0a, 0x0b, 0x9e, 0xed, 0x62, 0xf9, 0x52, 0x85, 0x54, 0x97, 0x2d, 0xf5, 0x9b, 0x96, 0x60,
+	0xf1, 0x05, 0xeb, 0x48, 0x14, 0xe5, 0x39, 0xf5, 0x36, 0x7e, 0xa2, 0x37, 0x61, 0xd9, 0xb7, 0x1d,
+	0x6c, 0x05, 0xec, 0x15, 0x96, 0xe7, 0x2b, 0xa4, 0x7a, 0xc9, 0x2a, 0x84, 0x2f, 0x9a, 0xec, 0x15,
+	0xd2, 0x75, 0x00, 0x75, 0x28, 0xf9, 0xe7, 0xe8, 0x95, 0x17, 0x94, 0xa3, 0x32, 0x7f, 0x1a, 0xbe,
+	0xd0, 0x7f, 0x23, 0x50, 0x9d, 0x8c, 0x29, 0xf0, 0xb9, 0x17, 0x20, 0x7d, 0x0e, 0xd7, 0xfa, 0x74,
+	0xb6, 0x4e, 0x06, 0xe7, 0x65, 0x52, 0x99, 0xaf, 0x16, 0xeb, 0x1b, 0x46, 0xdc, 0x4d, 0xdb, 0x67,
+	0x46, 0x4e, 0x3c, 0xeb, 0xaa, 0x18, 0xcf, 0x41, 0xdf, 0x85, 0x37, 0x3d, 0xfc, 0x52, 0xb6, 0x86,
+	0xc0, 0x46, 0x55, 0x5e, 0x0e, 0x5f, 0x1f, 0x5d, 0x00, 0xde, 0x82, 0xdb, 0x8f, 0x31, 0x0f, 0x6e,
+	0x92, 0xc1, 0xf9, 0x01, 0x83, 0xfa, 0x39, 0x81, 0x35, 0x55, 0xad, 0x6a, 0xe6, 0x6b, 0xa4, 0xfd,
+	0x47, 0x02, 0xeb, 0x19, 0x40, 0x62, 0xae, 0x3f, 0x02, 0x1a, 0x5f, 0x99, 0x71, 0xa6, 0xd7, 0x46,
+	0x98, 0x4e, 0x84, 0xb0, 0xae, 0xb8, 0xc9, 0xa0, 0x53, 0x93, 0x7b, 0x1f, 0xb4, 0x90, 0xdc, 0x64,
+	0xc4, 0x1c, 0x46, 0xbf, 0x86, 0xf5, 0x3d, 0x81, 0xb6, 0xc4, 0x19, 0x9c, 0xe8, 0x13, 0xb8, 0x32,
+	0x56, 0x9b, 0x02, 0x34, 0xa9, 0xb4, 0xd5, 0x64, 0x69, 0x7a, 0x03, 0xd6, 0xf7, 0xb1, 0x83, 0x33,
+	0xe5, 0xd7, 0x7f, 0x9e, 0x87, 0xeb, 0x21, 0xfb, 0x4f, 0x99, 0x8b, 0x4d, 0x14, 0x0c, 0xc7, 0xfa,
+	0x0f, 0x53, 0xf4, 0x7f, 0x1b, 0x0a, 0xcc, 0x93, 0x28, 0x7a, 0x76, 0x47, 0x35, 0xb8, 0x58, 0xd7,
+	0x8d, 0xb4, 0x7d, 0x66, 0x84, 0x69, 0x9e, 0xc4, 0x96, 0xd6, 0x85, 0x0f, 0xdd, 0x83, 0xa2, 0xed,
+	0x38, 0x02, 0x1d, 0xb5, 0xde, 0xd4, 0xc8, 0x15, 0xeb, 0xb7, 0xd2, 0x43, 0xec, 0x0c, 0x0c, 0xad,
+	0x61, 0x2f, 0xfa, 0x16, 0x14, 0xb8, 0x38, 0x41, 0xd1, 0x3a, 0x3e, 0x2d, 0x2f, 0x2a, 0x78, 0x4b,
+	0xea, 0x79, 0xf7, 0x94, 0x7e, 0x02, 0x0b, 0x3d, 0x86, 0x2f, 0xcb, 0x4b, 0x15, 0x52, 0x5d, 0xa9,
+	0x6f, 0xa6, 0x07, 0x4e, 0xa5, 0xc1, 0x18, 0xbc, 0x79, 0xc6, 0xf0, 0xa5, 0xa5, 0xe2, 0x8c, 0xce,
+	0x7b, 0x21, 0x77, 0xde, 0x97, 0x93, 0xf3, 0xbe, 0x01, 0x2b, 0xa3, 0x31, 0x69, 0x01, 0x16, 0x3e,
+	0xf8, 0xf4, 0xf0, 0x70, 0xf5, 0x0d, 0x5a, 0x84, 0xa5, 0x0f, 0x0f, 0x76, 0xf6, 0x0f, 0xac, 0xe6,
+	0x2a, 0xd1, 0xbf, 0x25, 0x50, 0x4a, 0x62, 0x8a, 0x6f, 0xc4, 0x0e, 0x14, 0x25, 0x73, 0x31, 0x94,
+	0x10, 0x86, 0xfd, 0xab, 0x50, 0xc9, 0xa6, 0x3c, 0x76, 0x07, 0x79, 0xf1, 0x7b, 0xea, 0x7b, 0xe0,
+	0xc3, 0x8d, 0x68, 0xaa, 0xb3, 0x27, 0x64, 0x78, 0x9e, 0x13, 0xc8, 0xe6, 0x66, 0x47, 0x16, 0x6e,
+	0xa6, 0xeb, 0xc9, 0x94, 0x07, 0x42, 0x70, 0x31, 0x5e, 0x36, 0x99, 0xb9, 0xec, 0x1a, 0x2c, 0x46,
+	0x42, 0x14, 0x5f, 0x32, 0xda, 0xf7, 0x16, 0x7e, 0xdb, 0x68, 0xaa, 0x13, 0x2b, 0xb6, 0xa8, 0xff,
+	0x0b, 0x70, 0x39, 0xba, 0x4b, 0xcd, 0x48, 0xaa, 0xe9, 0xdf, 0x04, 0x2a, 0x93, 0x24, 0x82, 0x3e,
+	0xca, 0x1e, 0xaf, 0x29, 0xe4, 0x4e, 0xdb, 0xfe, 0xbf, 0xee, 0xd1, 0x6c, 0xe8, 0x9b, 0xdf, 0xfc,
+	0xf5, 0xcf, 0x0f, 0x73, 0x0f, 0x68, 0x3d, 0x94, 0xea, 0xaf, 0xc2, 0xa6, 0x3c, 0xf2, 0x05, 0xff,
+	0x0c, 0xdb, 0x32, 0x30, 0x6b, 0x67, 0x83, 0xcf, 0x81, 0x34, 0xe8, 0x7f, 0x12, 0x78, 0x3b, 0x5f,
+	0x52, 0xe8, 0x56, 0x3a, 0xbc, 0xa9, 0x84, 0x48, 0x9b, 0x56, 0x17, 0xf5, 0x87, 0xaa, 0x88, 0xf7,
+	0xe9, 0x83, 0xb4, 0x22, 0x72, 0x6b, 0x30, 0x6b, 0x67, 0xf4, 0x0f, 0x12, 0x2d, 0xb5, 0x31, 0x49,
+	0xa1, 0xf5, 0x1c, 0x72, 0x33, 0x84, 0x50, 0x6b, 0xcc, 0xe4, 0x13, 0x77, 0xc1, 0x54, 0x05, 0xdc,
+	0xa1, 0x1b, 0x19, 0x5d, 0x18, 0x43, 0xf6, 0x0b, 0x81, 0xab, 0x29, 0x82, 0x43, 0xef, 0x67, 0xf3,
+	0x9d, 0xbe, 0xe6, 0xb5, 0x5c, 0xdd, 0xd0, 0xeb, 0x0a, 0xd8, 0x3d, 0x5a, 0x4b, 0x67, 0x36, 0x89,
+	0xcb, 0xac, 0xd5, 0xce, 0xe8, 0xef, 0x04, 0x4a, 0xe9, 0xd2, 0x46, 0x33, 0xc8, 0xc9, 0x15, 0xc2,
+	0x09, 0x08, 0x77, 0x15, 0xc2, 0x87, 0xfa, 0xb4, 0xd4, 0x6d, 0x8e, 0x2b, 0x68, 0xc8, 0x66, 0x29,
+	0x5d, 0x0c, 0xb3, 0x10, 0xe7, 0x4a, 0xa7, 0x56, 0xea, 0x3b, 0xf5, 0x3f, 0x73, 0x8d, 0x83, 0xf0,
+	0x33, 0xb7, 0xcf, 0x66, 0x6d, 0x16, 0x36, 0x7f, 0x22, 0xb0, 0x32, 0xba, 0xd7, 0xe9, 0xdd, 0x19,
+	0x14, 0x49, 0xbb, 0x37, 0x9d, 0x71, 0x3c, 0x88, 0x55, 0x85, 0x50, 0xa7, 0x95, 0x74, 0x36, 0x87,
+	0x56, 0xe3, 0x39, 0x81, 0xd5, 0xe4, 0xde, 0xa5, 0xef, 0xe5, 0xf5, 0x77, 0x1c, 0x5b, 0x16, 0x4f,
+	0x77, 0x15, 0x8a, 0xdb, 0xfa, 0x44, 0x14, 0x9b, 0xa4, 0xb6, 0xfb, 0x1d, 0x81, 0x72, 0x9b, 0xbb,
+	0xa9, 0x99, 0x77, 0xe9, 0xc8, 0x46, 0x3e, 0x0a, 0xd3, 0x1c, 0x91, 0xe7, 0xdb, 0xb1, 0xad, 0xc3,
+	0x3b, 0xb6, 0xe7, 0x18, 0x5c, 0x38, 0xa6, 0x83, 0x9e, 0x02, 0x61, 0x46, 0x47, 0xb6, 0xcf, 0x82,
+	0xd1, 0xff, 0x31, 0x5b, 0x83, 0xa7, 0x5f, 0xe7, 0xb4, 0xc7, 0x51, 0x80, 0xbd, 0x0e, 0xef, 0x9e,
+	0xf4, 0x57, 0x53, 0x98, 0xf2, 0x59, 0xe3, 0x78, 0x51, 0xc5, 0x69, 0xfc, 0x17, 0x00, 0x00, 0xff,
+	0xff, 0x3c, 0x75, 0xce, 0xa1, 0xce, 0x0d, 0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/metric_service.proto b/googleapis/monitoring/v3/metric_service.proto
deleted file mode 100644
index 03b5c5aa889a507a085d9c9716bb08c9cf1fc4d9..0000000000000000000000000000000000000000
--- a/googleapis/monitoring/v3/metric_service.proto
+++ /dev/null
@@ -1,284 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.monitoring.v3;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/metric/metric.proto"; // from google/api/metric.proto
-import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto
-import "google.golang.org/genproto/googleapis/monitoring/v3/common.proto"; // from google/monitoring/v3/common.proto
-import "google.golang.org/genproto/googleapis/monitoring/v3/metric.proto"; // from google/monitoring/v3/metric.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "MetricServiceProto";
-option java_package = "com.google.monitoring.v3";
-
-
-// Manages metric descriptors, monitored resource descriptors, and
-// time series data.
-service MetricService {
-  // Lists monitored resource descriptors that match a filter. This method does not require a Stackdriver account.
-  rpc ListMonitoredResourceDescriptors(ListMonitoredResourceDescriptorsRequest) returns (ListMonitoredResourceDescriptorsResponse) {
-    option (google.api.http) = { get: "/v3/{name=projects/*}/monitoredResourceDescriptors" };
-  }
-
-  // Gets a single monitored resource descriptor. This method does not require a Stackdriver account.
-  rpc GetMonitoredResourceDescriptor(GetMonitoredResourceDescriptorRequest) returns (google.api.MonitoredResourceDescriptor) {
-    option (google.api.http) = { get: "/v3/{name=projects/*/monitoredResourceDescriptors/*}" };
-  }
-
-  // Lists metric descriptors that match a filter. This method does not require a Stackdriver account.
-  rpc ListMetricDescriptors(ListMetricDescriptorsRequest) returns (ListMetricDescriptorsResponse) {
-    option (google.api.http) = { get: "/v3/{name=projects/*}/metricDescriptors" };
-  }
-
-  // Gets a single metric descriptor. This method does not require a Stackdriver account.
-  rpc GetMetricDescriptor(GetMetricDescriptorRequest) returns (google.api.MetricDescriptor) {
-    option (google.api.http) = { get: "/v3/{name=projects/*/metricDescriptors/**}" };
-  }
-
-  // Creates a new metric descriptor.
-  // User-created metric descriptors define
-  // [custom metrics](/monitoring/custom-metrics).
-  rpc CreateMetricDescriptor(CreateMetricDescriptorRequest) returns (google.api.MetricDescriptor) {
-    option (google.api.http) = { post: "/v3/{name=projects/*}/metricDescriptors" body: "metric_descriptor" };
-  }
-
-  // Deletes a metric descriptor. Only user-created
-  // [custom metrics](/monitoring/custom-metrics) can be deleted.
-  rpc DeleteMetricDescriptor(DeleteMetricDescriptorRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v3/{name=projects/*/metricDescriptors/**}" };
-  }
-
-  // Lists time series that match a filter. This method does not require a Stackdriver account.
-  rpc ListTimeSeries(ListTimeSeriesRequest) returns (ListTimeSeriesResponse) {
-    option (google.api.http) = { get: "/v3/{name=projects/*}/timeSeries" };
-  }
-
-  // Creates or adds data to one or more time series.
-  // The response is empty if all time series in the request were written.
-  // If any time series could not be written, a corresponding failure message is
-  // included in the error response.
-  rpc CreateTimeSeries(CreateTimeSeriesRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v3/{name=projects/*}/timeSeries" body: "*" };
-  }
-}
-
-// The `ListMonitoredResourceDescriptors` request.
-message ListMonitoredResourceDescriptorsRequest {
-  // The project on which to execute the request. The format is
-  // `"projects/{project_id_or_number}"`.
-  string name = 5;
-
-  // An optional [filter](/monitoring/api/v3/filters) describing
-  // the descriptors to be returned.  The filter can reference
-  // the descriptor's type and labels. For example, the
-  // following filter returns only Google Compute Engine descriptors
-  // that have an `id` label:
-  //
-  //     resource.type = starts_with("gce_") AND resource.label:id
-  string filter = 2;
-
-  // A positive number that is the maximum number of results to return.
-  int32 page_size = 3;
-
-  // If this field is not empty then it must contain the `nextPageToken` value
-  // returned by a previous call to this method.  Using this field causes the
-  // method to return additional results from the previous method call.
-  string page_token = 4;
-}
-
-// The `ListMonitoredResourcDescriptors` response.
-message ListMonitoredResourceDescriptorsResponse {
-  // The monitored resource descriptors that are available to this project
-  // and that match `filter`, if present.
-  repeated google.api.MonitoredResourceDescriptor resource_descriptors = 1;
-
-  // If there are more results than have been returned, then this field is set
-  // to a non-empty value.  To see the additional results,
-  // use that value as `pageToken` in the next call to this method.
-  string next_page_token = 2;
-}
-
-// The `GetMonitoredResourceDescriptor` request.
-message GetMonitoredResourceDescriptorRequest {
-  // The monitored resource descriptor to get.  The format is
-  // `"projects/{project_id_or_number}/monitoredResourceDescriptors/{resource_type}"`.
-  // The `{resource_type}` is a predefined type, such as
-  // `cloudsql_database`.
-  string name = 3;
-}
-
-// The `ListMetricDescriptors` request.
-message ListMetricDescriptorsRequest {
-  // The project on which to execute the request. The format is
-  // `"projects/{project_id_or_number}"`.
-  string name = 5;
-
-  // If this field is empty, all custom and
-  // system-defined metric descriptors are returned.
-  // Otherwise, the [filter](/monitoring/api/v3/filters)
-  // specifies which metric descriptors are to be
-  // returned. For example, the following filter matches all
-  // [custom metrics](/monitoring/custom-metrics):
-  //
-  //     metric.type = starts_with("custom.googleapis.com/")
-  string filter = 2;
-
-  // A positive number that is the maximum number of results to return.
-  int32 page_size = 3;
-
-  // If this field is not empty then it must contain the `nextPageToken` value
-  // returned by a previous call to this method.  Using this field causes the
-  // method to return additional results from the previous method call.
-  string page_token = 4;
-}
-
-// The `ListMetricDescriptors` response.
-message ListMetricDescriptorsResponse {
-  // The metric descriptors that are available to the project
-  // and that match the value of `filter`, if present.
-  repeated google.api.MetricDescriptor metric_descriptors = 1;
-
-  // If there are more results than have been returned, then this field is set
-  // to a non-empty value.  To see the additional results,
-  // use that value as `pageToken` in the next call to this method.
-  string next_page_token = 2;
-}
-
-// The `GetMetricDescriptor` request.
-message GetMetricDescriptorRequest {
-  // The metric descriptor on which to execute the request. The format is
-  // `"projects/{project_id_or_number}/metricDescriptors/{metric_id}"`.
-  // An example value of `{metric_id}` is
-  // `"compute.googleapis.com/instance/disk/read_bytes_count"`.
-  string name = 3;
-}
-
-// The `CreateMetricDescriptor` request.
-message CreateMetricDescriptorRequest {
-  // The project on which to execute the request. The format is
-  // `"projects/{project_id_or_number}"`.
-  string name = 3;
-
-  // The new [custom metric](/monitoring/custom-metrics)
-  // descriptor.
-  google.api.MetricDescriptor metric_descriptor = 2;
-}
-
-// The `DeleteMetricDescriptor` request.
-message DeleteMetricDescriptorRequest {
-  // The metric descriptor on which to execute the request. The format is
-  // `"projects/{project_id_or_number}/metricDescriptors/{metric_id}"`.
-  // An example of `{metric_id}` is:
-  // `"custom.googleapis.com/my_test_metric"`.
-  string name = 3;
-}
-
-// The `ListTimeSeries` request.
-message ListTimeSeriesRequest {
-  // Controls which fields are returned by `ListTimeSeries`.
-  enum TimeSeriesView {
-    // Returns the identity of the metric(s), the time series,
-    // and the time series data.
-    FULL = 0;
-
-    // Returns the identity of the metric and the time series resource,
-    // but not the time series data.
-    HEADERS = 1;
-  }
-
-  // The project on which to execute the request. The format is
-  // "projects/{project_id_or_number}".
-  string name = 10;
-
-  // A [monitoring filter](/monitoring/api/v3/filters) that specifies which time
-  // series should be returned.  The filter must specify a single metric type,
-  // and can additionally specify metric labels and other information. For
-  // example:
-  //
-  //     metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND
-  //         metric.label.instance_name = "my-instance-name"
-  string filter = 2;
-
-  // The time interval for which results should be returned. Only time series
-  // that contain data points in the specified interval are included
-  // in the response.
-  TimeInterval interval = 4;
-
-  // By default, the raw time series data is returned.
-  // Use this field to combine multiple time series for different
-  // views of the data.
-  Aggregation aggregation = 5;
-
-  // Specifies the order in which the points of the time series should
-  // be returned.  By default, results are not ordered.  Currently,
-  // this field must be left blank.
-  string order_by = 6;
-
-  // Specifies which information is returned about the time series.
-  TimeSeriesView view = 7;
-
-  // A positive number that is the maximum number of results to return.
-  // When `view` field sets to `FULL`, it limits the number of `Points` server
-  // will return; if `view` field is `HEADERS`, it limits the number of
-  // `TimeSeries` server will return.
-  int32 page_size = 8;
-
-  // If this field is not empty then it must contain the `nextPageToken` value
-  // returned by a previous call to this method.  Using this field causes the
-  // method to return additional results from the previous method call.
-  string page_token = 9;
-}
-
-// The `ListTimeSeries` response.
-message ListTimeSeriesResponse {
-  // One or more time series that match the filter included in the request.
-  repeated TimeSeries time_series = 1;
-
-  // If there are more results than have been returned, then this field is set
-  // to a non-empty value.  To see the additional results,
-  // use that value as `pageToken` in the next call to this method.
-  string next_page_token = 2;
-}
-
-// The `CreateTimeSeries` request.
-message CreateTimeSeriesRequest {
-  // The project on which to execute the request. The format is
-  // `"projects/{project_id_or_number}"`.
-  string name = 3;
-
-  // The new data to be added to a list of time series.
-  // Adds at most one data point to each of several time series.  The new data
-  // point must be more recent than any other point in its time series.  Each
-  // `TimeSeries` value must fully specify a unique time series by supplying
-  // all label values for the metric and the monitored resource.
-  repeated TimeSeries time_series = 2;
-}
-
-// Describes the result of a failed request to write data to a time series.
-message CreateTimeSeriesError {
-  // The time series, including the `Metric`, `MonitoredResource`,
-  // and `Point`s (including timestamp and value) that resulted
-  // in the error. This field provides all of the context that
-  // would be needed to retry the operation.
-  TimeSeries time_series = 1;
-
-  // The status of the requested write operation.
-  google.rpc.Status status = 2;
-}
diff --git a/googleapis/pubsub/v1/pubsub.pb.go b/googleapis/pubsub/v1/pubsub.pb.go
index 25962ee0b70ec9d55c70436a01cf95320b661b5b..bdb62041afe6caf3cdd589fa03c46f2940b99512 100644
--- a/googleapis/pubsub/v1/pubsub.pb.go
+++ b/googleapis/pubsub/v1/pubsub.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/pubsub/v1/pubsub.proto
+// source: google/pubsub/v1/pubsub.proto
 // DO NOT EDIT!
 
 /*
-Package google_pubsub_v1 is a generated protocol buffer package.
+Package pubsub is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/pubsub/v1/pubsub.proto
+	google/pubsub/v1/pubsub.proto
 
 It has these top-level messages:
 	Topic
@@ -31,13 +31,15 @@ It has these top-level messages:
 	PullResponse
 	ModifyAckDeadlineRequest
 	AcknowledgeRequest
+	StreamingPullRequest
+	StreamingPullResponse
 */
-package google_pubsub_v1 // import "google.golang.org/genproto/googleapis/pubsub/v1"
+package pubsub
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -73,11 +75,17 @@ func (m *Topic) String() string            { return proto.CompactTextString(m) }
 func (*Topic) ProtoMessage()               {}
 func (*Topic) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Topic) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // A message data and its attributes. The message payload must not be empty;
 // it must contain either a non-empty data field, or at least one attribute.
 type PubsubMessage struct {
-	// The message payload. For JSON requests, the value of this field must be
-	// [base64-encoded](https://tools.ietf.org/html/rfc4648).
+	// The message payload.
 	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
 	// Optional attributes for this message.
 	Attributes map[string]string `protobuf:"bytes,2,rep,name=attributes" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
@@ -97,6 +105,13 @@ func (m *PubsubMessage) String() string            { return proto.CompactTextStr
 func (*PubsubMessage) ProtoMessage()               {}
 func (*PubsubMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *PubsubMessage) GetData() []byte {
+	if m != nil {
+		return m.Data
+	}
+	return nil
+}
+
 func (m *PubsubMessage) GetAttributes() map[string]string {
 	if m != nil {
 		return m.Attributes
@@ -104,6 +119,13 @@ func (m *PubsubMessage) GetAttributes() map[string]string {
 	return nil
 }
 
+func (m *PubsubMessage) GetMessageId() string {
+	if m != nil {
+		return m.MessageId
+	}
+	return ""
+}
+
 func (m *PubsubMessage) GetPublishTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.PublishTime
@@ -114,6 +136,7 @@ func (m *PubsubMessage) GetPublishTime() *google_protobuf2.Timestamp {
 // Request for the GetTopic method.
 type GetTopicRequest struct {
 	// The name of the topic to get.
+	// Format is `projects/{project}/topics/{topic}`.
 	Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
 }
 
@@ -122,9 +145,17 @@ func (m *GetTopicRequest) String() string            { return proto.CompactTextS
 func (*GetTopicRequest) ProtoMessage()               {}
 func (*GetTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *GetTopicRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 // Request for the Publish method.
 type PublishRequest struct {
 	// The messages in the request will be published on this topic.
+	// Format is `projects/{project}/topics/{topic}`.
 	Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
 	// The messages to publish.
 	Messages []*PubsubMessage `protobuf:"bytes,2,rep,name=messages" json:"messages,omitempty"`
@@ -135,6 +166,13 @@ func (m *PublishRequest) String() string            { return proto.CompactTextSt
 func (*PublishRequest) ProtoMessage()               {}
 func (*PublishRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *PublishRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 func (m *PublishRequest) GetMessages() []*PubsubMessage {
 	if m != nil {
 		return m.Messages
@@ -155,9 +193,17 @@ func (m *PublishResponse) String() string            { return proto.CompactTextS
 func (*PublishResponse) ProtoMessage()               {}
 func (*PublishResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *PublishResponse) GetMessageIds() []string {
+	if m != nil {
+		return m.MessageIds
+	}
+	return nil
+}
+
 // Request for the `ListTopics` method.
 type ListTopicsRequest struct {
 	// The name of the cloud project that topics belong to.
+	// Format is `projects/{project}`.
 	Project string `protobuf:"bytes,1,opt,name=project" json:"project,omitempty"`
 	// Maximum number of topics to return.
 	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
@@ -172,6 +218,27 @@ func (m *ListTopicsRequest) String() string            { return proto.CompactTex
 func (*ListTopicsRequest) ProtoMessage()               {}
 func (*ListTopicsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *ListTopicsRequest) GetProject() string {
+	if m != nil {
+		return m.Project
+	}
+	return ""
+}
+
+func (m *ListTopicsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListTopicsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the `ListTopics` method.
 type ListTopicsResponse struct {
 	// The resulting topics.
@@ -193,9 +260,17 @@ func (m *ListTopicsResponse) GetTopics() []*Topic {
 	return nil
 }
 
+func (m *ListTopicsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the `ListTopicSubscriptions` method.
 type ListTopicSubscriptionsRequest struct {
 	// The name of the topic that subscriptions are attached to.
+	// Format is `projects/{project}/topics/{topic}`.
 	Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
 	// Maximum number of subscription names to return.
 	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
@@ -210,6 +285,27 @@ func (m *ListTopicSubscriptionsRequest) String() string            { return prot
 func (*ListTopicSubscriptionsRequest) ProtoMessage()               {}
 func (*ListTopicSubscriptionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *ListTopicSubscriptionsRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
+func (m *ListTopicSubscriptionsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListTopicSubscriptionsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the `ListTopicSubscriptions` method.
 type ListTopicSubscriptionsResponse struct {
 	// The names of the subscriptions that match the request.
@@ -225,9 +321,24 @@ func (m *ListTopicSubscriptionsResponse) String() string            { return pro
 func (*ListTopicSubscriptionsResponse) ProtoMessage()               {}
 func (*ListTopicSubscriptionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *ListTopicSubscriptionsResponse) GetSubscriptions() []string {
+	if m != nil {
+		return m.Subscriptions
+	}
+	return nil
+}
+
+func (m *ListTopicSubscriptionsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the `DeleteTopic` method.
 type DeleteTopicRequest struct {
 	// Name of the topic to delete.
+	// Format is `projects/{project}/topics/{topic}`.
 	Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
 }
 
@@ -236,6 +347,13 @@ func (m *DeleteTopicRequest) String() string            { return proto.CompactTe
 func (*DeleteTopicRequest) ProtoMessage()               {}
 func (*DeleteTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *DeleteTopicRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 // A subscription resource.
 type Subscription struct {
 	// The name of the subscription. It must have the format
@@ -246,6 +364,7 @@ type Subscription struct {
 	// in length, and it must not start with `"goog"`.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
 	// The name of the topic from which this subscription is receiving messages.
+	// Format is `projects/{project}/topics/{topic}`.
 	// The value of this field will be `_deleted-topic_` if the topic has been
 	// deleted.
 	Topic string `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
@@ -263,15 +382,15 @@ type Subscription struct {
 	// deadline. To override this value for a given message, call
 	// `ModifyAckDeadline` with the corresponding `ack_id` if using
 	// pull.
+	// The minimum custom deadline you can specify is 10 seconds.
 	// The maximum custom deadline you can specify is 600 seconds (10 minutes).
+	// If this parameter is 0, a default value of 10 seconds is used.
 	//
 	// For push delivery, this value is also used to set the request timeout for
 	// the call to the push endpoint.
 	//
 	// If the subscriber never acknowledges the message, the Pub/Sub
 	// system will eventually redeliver the message.
-	//
-	// If this parameter is 0, a default value of 10 seconds is used.
 	AckDeadlineSeconds int32 `protobuf:"varint,5,opt,name=ack_deadline_seconds,json=ackDeadlineSeconds" json:"ack_deadline_seconds,omitempty"`
 }
 
@@ -280,6 +399,20 @@ func (m *Subscription) String() string            { return proto.CompactTextStri
 func (*Subscription) ProtoMessage()               {}
 func (*Subscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *Subscription) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Subscription) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 func (m *Subscription) GetPushConfig() *PushConfig {
 	if m != nil {
 		return m.PushConfig
@@ -287,6 +420,13 @@ func (m *Subscription) GetPushConfig() *PushConfig {
 	return nil
 }
 
+func (m *Subscription) GetAckDeadlineSeconds() int32 {
+	if m != nil {
+		return m.AckDeadlineSeconds
+	}
+	return 0
+}
+
 // Configuration for a push delivery endpoint.
 type PushConfig struct {
 	// A URL locating the endpoint to which messages should be pushed.
@@ -322,6 +462,13 @@ func (m *PushConfig) String() string            { return proto.CompactTextString
 func (*PushConfig) ProtoMessage()               {}
 func (*PushConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *PushConfig) GetPushEndpoint() string {
+	if m != nil {
+		return m.PushEndpoint
+	}
+	return ""
+}
+
 func (m *PushConfig) GetAttributes() map[string]string {
 	if m != nil {
 		return m.Attributes
@@ -342,6 +489,13 @@ func (m *ReceivedMessage) String() string            { return proto.CompactTextS
 func (*ReceivedMessage) ProtoMessage()               {}
 func (*ReceivedMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *ReceivedMessage) GetAckId() string {
+	if m != nil {
+		return m.AckId
+	}
+	return ""
+}
+
 func (m *ReceivedMessage) GetMessage() *PubsubMessage {
 	if m != nil {
 		return m.Message
@@ -352,6 +506,7 @@ func (m *ReceivedMessage) GetMessage() *PubsubMessage {
 // Request for the GetSubscription method.
 type GetSubscriptionRequest struct {
 	// The name of the subscription to get.
+	// Format is `projects/{project}/subscriptions/{sub}`.
 	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
 }
 
@@ -360,9 +515,17 @@ func (m *GetSubscriptionRequest) String() string            { return proto.Compa
 func (*GetSubscriptionRequest) ProtoMessage()               {}
 func (*GetSubscriptionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *GetSubscriptionRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
 // Request for the `ListSubscriptions` method.
 type ListSubscriptionsRequest struct {
 	// The name of the cloud project that subscriptions belong to.
+	// Format is `projects/{project}`.
 	Project string `protobuf:"bytes,1,opt,name=project" json:"project,omitempty"`
 	// Maximum number of subscriptions to return.
 	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
@@ -377,6 +540,27 @@ func (m *ListSubscriptionsRequest) String() string            { return proto.Com
 func (*ListSubscriptionsRequest) ProtoMessage()               {}
 func (*ListSubscriptionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
 
+func (m *ListSubscriptionsRequest) GetProject() string {
+	if m != nil {
+		return m.Project
+	}
+	return ""
+}
+
+func (m *ListSubscriptionsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListSubscriptionsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the `ListSubscriptions` method.
 type ListSubscriptionsResponse struct {
 	// The subscriptions that match the request.
@@ -399,9 +583,17 @@ func (m *ListSubscriptionsResponse) GetSubscriptions() []*Subscription {
 	return nil
 }
 
+func (m *ListSubscriptionsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the DeleteSubscription method.
 type DeleteSubscriptionRequest struct {
 	// The subscription to delete.
+	// Format is `projects/{project}/subscriptions/{sub}`.
 	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
 }
 
@@ -410,9 +602,17 @@ func (m *DeleteSubscriptionRequest) String() string            { return proto.Co
 func (*DeleteSubscriptionRequest) ProtoMessage()               {}
 func (*DeleteSubscriptionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
 
+func (m *DeleteSubscriptionRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
 // Request for the ModifyPushConfig method.
 type ModifyPushConfigRequest struct {
 	// The name of the subscription.
+	// Format is `projects/{project}/subscriptions/{sub}`.
 	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
 	// The push configuration for future deliveries.
 	//
@@ -428,6 +628,13 @@ func (m *ModifyPushConfigRequest) String() string            { return proto.Comp
 func (*ModifyPushConfigRequest) ProtoMessage()               {}
 func (*ModifyPushConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
 
+func (m *ModifyPushConfigRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
 func (m *ModifyPushConfigRequest) GetPushConfig() *PushConfig {
 	if m != nil {
 		return m.PushConfig
@@ -438,12 +645,14 @@ func (m *ModifyPushConfigRequest) GetPushConfig() *PushConfig {
 // Request for the `Pull` method.
 type PullRequest struct {
 	// The subscription from which messages should be pulled.
+	// Format is `projects/{project}/subscriptions/{sub}`.
 	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
-	// If this is specified as true the system will respond immediately even if
-	// it is not able to return a message in the `Pull` response. Otherwise the
-	// system is allowed to wait until at least one message is available rather
-	// than returning no messages. The client may cancel the request if it does
-	// not wish to wait any longer for the response.
+	// If this field set to true, the system will respond immediately even if
+	// it there are no messages available to return in the `Pull` response.
+	// Otherwise, the system may wait (for a bounded amount of time) until at
+	// least one message is available, rather than returning no messages. The
+	// client may cancel the request if it does not wish to wait any longer for
+	// the response.
 	ReturnImmediately bool `protobuf:"varint,2,opt,name=return_immediately,json=returnImmediately" json:"return_immediately,omitempty"`
 	// The maximum number of messages returned for this request. The Pub/Sub
 	// system may return fewer than the number specified.
@@ -455,6 +664,27 @@ func (m *PullRequest) String() string            { return proto.CompactTextStrin
 func (*PullRequest) ProtoMessage()               {}
 func (*PullRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
 
+func (m *PullRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
+func (m *PullRequest) GetReturnImmediately() bool {
+	if m != nil {
+		return m.ReturnImmediately
+	}
+	return false
+}
+
+func (m *PullRequest) GetMaxMessages() int32 {
+	if m != nil {
+		return m.MaxMessages
+	}
+	return 0
+}
+
 // Response for the `Pull` method.
 type PullResponse struct {
 	// Received Pub/Sub messages. The Pub/Sub system will return zero messages if
@@ -479,14 +709,17 @@ func (m *PullResponse) GetReceivedMessages() []*ReceivedMessage {
 // Request for the ModifyAckDeadline method.
 type ModifyAckDeadlineRequest struct {
 	// The name of the subscription.
+	// Format is `projects/{project}/subscriptions/{sub}`.
 	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
 	// List of acknowledgment IDs.
 	AckIds []string `protobuf:"bytes,4,rep,name=ack_ids,json=ackIds" json:"ack_ids,omitempty"`
 	// The new ack deadline with respect to the time this request was sent to
-	// the Pub/Sub system. Must be >= 0. For example, if the value is 10, the new
+	// the Pub/Sub system. For example, if the value is 10, the new
 	// ack deadline will expire 10 seconds after the `ModifyAckDeadline` call
 	// was made. Specifying zero may immediately make the message available for
 	// another pull request.
+	// The minimum deadline you can specify is 0 seconds.
+	// The maximum deadline you can specify is 600 seconds (10 minutes).
 	AckDeadlineSeconds int32 `protobuf:"varint,3,opt,name=ack_deadline_seconds,json=ackDeadlineSeconds" json:"ack_deadline_seconds,omitempty"`
 }
 
@@ -495,9 +728,31 @@ func (m *ModifyAckDeadlineRequest) String() string            { return proto.Com
 func (*ModifyAckDeadlineRequest) ProtoMessage()               {}
 func (*ModifyAckDeadlineRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
 
+func (m *ModifyAckDeadlineRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
+func (m *ModifyAckDeadlineRequest) GetAckIds() []string {
+	if m != nil {
+		return m.AckIds
+	}
+	return nil
+}
+
+func (m *ModifyAckDeadlineRequest) GetAckDeadlineSeconds() int32 {
+	if m != nil {
+		return m.AckDeadlineSeconds
+	}
+	return 0
+}
+
 // Request for the Acknowledge method.
 type AcknowledgeRequest struct {
 	// The subscription whose message is being acknowledged.
+	// Format is `projects/{project}/subscriptions/{sub}`.
 	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
 	// The acknowledgment ID for the messages being acknowledged that was returned
 	// by the Pub/Sub system in the `Pull` response. Must not be empty.
@@ -509,6 +764,119 @@ func (m *AcknowledgeRequest) String() string            { return proto.CompactTe
 func (*AcknowledgeRequest) ProtoMessage()               {}
 func (*AcknowledgeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
 
+func (m *AcknowledgeRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
+func (m *AcknowledgeRequest) GetAckIds() []string {
+	if m != nil {
+		return m.AckIds
+	}
+	return nil
+}
+
+// Request for the `StreamingPull` streaming RPC method. This request is used to
+// establish the initial stream as well as to stream acknowledgements and ack
+// deadline modifications from the client to the server.
+type StreamingPullRequest struct {
+	// The subscription for which to initialize the new stream. This must be
+	// provided in the first request on the stream, and must not be set in
+	// subsequent requests from client to server.
+	// Format is `projects/{project}/subscriptions/{sub}`.
+	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
+	// List of acknowledgement IDs for acknowledging previously received messages
+	// (received on this stream or a different stream). If an ack ID has expired,
+	// the corresponding message may be redelivered later. Acknowledging a message
+	// more than once will not result in an error. If the acknowledgement ID is
+	// malformed, the stream will be aborted with status `INVALID_ARGUMENT`.
+	AckIds []string `protobuf:"bytes,2,rep,name=ack_ids,json=ackIds" json:"ack_ids,omitempty"`
+	// The list of new ack deadlines for the IDs listed in
+	// `modify_deadline_ack_ids`. The size of this list must be the same as the
+	// size of `modify_deadline_ack_ids`. If it differs the stream will be aborted
+	// with `INVALID_ARGUMENT`. Each element in this list is applied to the
+	// element in the same position in `modify_deadline_ack_ids`. The new ack
+	// deadline is with respect to the time this request was sent to the Pub/Sub
+	// system. Must be >= 0. For example, if the value is 10, the new ack deadline
+	// will expire 10 seconds after this request is received. If the value is 0,
+	// the message is immediately made available for another streaming or
+	// non-streaming pull request. If the value is < 0 (an error), the stream will
+	// be aborted with status `INVALID_ARGUMENT`.
+	ModifyDeadlineSeconds []int32 `protobuf:"varint,3,rep,packed,name=modify_deadline_seconds,json=modifyDeadlineSeconds" json:"modify_deadline_seconds,omitempty"`
+	// List of acknowledgement IDs whose deadline will be modified based on the
+	// corresponding element in `modify_deadline_seconds`. This field can be used
+	// to indicate that more time is needed to process a message by the
+	// subscriber, or to make the message available for redelivery if the
+	// processing was interrupted.
+	ModifyDeadlineAckIds []string `protobuf:"bytes,4,rep,name=modify_deadline_ack_ids,json=modifyDeadlineAckIds" json:"modify_deadline_ack_ids,omitempty"`
+	// The ack deadline to use for the stream. This must be provided in the
+	// first request on the stream, but it can also be updated on subsequent
+	// requests from client to server. The minimum deadline you can specify is 10
+	// seconds. The maximum deadline you can specify is 600 seconds (10 minutes).
+	StreamAckDeadlineSeconds int32 `protobuf:"varint,5,opt,name=stream_ack_deadline_seconds,json=streamAckDeadlineSeconds" json:"stream_ack_deadline_seconds,omitempty"`
+}
+
+func (m *StreamingPullRequest) Reset()                    { *m = StreamingPullRequest{} }
+func (m *StreamingPullRequest) String() string            { return proto.CompactTextString(m) }
+func (*StreamingPullRequest) ProtoMessage()               {}
+func (*StreamingPullRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
+
+func (m *StreamingPullRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
+func (m *StreamingPullRequest) GetAckIds() []string {
+	if m != nil {
+		return m.AckIds
+	}
+	return nil
+}
+
+func (m *StreamingPullRequest) GetModifyDeadlineSeconds() []int32 {
+	if m != nil {
+		return m.ModifyDeadlineSeconds
+	}
+	return nil
+}
+
+func (m *StreamingPullRequest) GetModifyDeadlineAckIds() []string {
+	if m != nil {
+		return m.ModifyDeadlineAckIds
+	}
+	return nil
+}
+
+func (m *StreamingPullRequest) GetStreamAckDeadlineSeconds() int32 {
+	if m != nil {
+		return m.StreamAckDeadlineSeconds
+	}
+	return 0
+}
+
+// Response for the `StreamingPull` method. This response is used to stream
+// messages from the server to the client.
+type StreamingPullResponse struct {
+	// Received Pub/Sub messages. This will not be empty.
+	ReceivedMessages []*ReceivedMessage `protobuf:"bytes,1,rep,name=received_messages,json=receivedMessages" json:"received_messages,omitempty"`
+}
+
+func (m *StreamingPullResponse) Reset()                    { *m = StreamingPullResponse{} }
+func (m *StreamingPullResponse) String() string            { return proto.CompactTextString(m) }
+func (*StreamingPullResponse) ProtoMessage()               {}
+func (*StreamingPullResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
+
+func (m *StreamingPullResponse) GetReceivedMessages() []*ReceivedMessage {
+	if m != nil {
+		return m.ReceivedMessages
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*Topic)(nil), "google.pubsub.v1.Topic")
 	proto.RegisterType((*PubsubMessage)(nil), "google.pubsub.v1.PubsubMessage")
@@ -532,6 +900,8 @@ func init() {
 	proto.RegisterType((*PullResponse)(nil), "google.pubsub.v1.PullResponse")
 	proto.RegisterType((*ModifyAckDeadlineRequest)(nil), "google.pubsub.v1.ModifyAckDeadlineRequest")
 	proto.RegisterType((*AcknowledgeRequest)(nil), "google.pubsub.v1.AcknowledgeRequest")
+	proto.RegisterType((*StreamingPullRequest)(nil), "google.pubsub.v1.StreamingPullRequest")
+	proto.RegisterType((*StreamingPullResponse)(nil), "google.pubsub.v1.StreamingPullResponse")
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -550,18 +920,21 @@ type SubscriberClient interface {
 	// If the corresponding topic doesn't exist, returns `NOT_FOUND`.
 	//
 	// If the name is not provided in the request, the server will assign a random
-	// name for this subscription on the same project as the topic. Note that
-	// for REST API requests, you must specify a name.
+	// name for this subscription on the same project as the topic, conforming
+	// to the
+	// [resource name format](https://cloud.google.com/pubsub/docs/overview#names).
+	// The generated name is populated in the returned Subscription object.
+	// Note that for REST API requests, you must specify a name in the request.
 	CreateSubscription(ctx context.Context, in *Subscription, opts ...grpc.CallOption) (*Subscription, error)
 	// Gets the configuration details of a subscription.
 	GetSubscription(ctx context.Context, in *GetSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error)
 	// Lists matching subscriptions.
 	ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error)
-	// Deletes an existing subscription. All pending messages in the subscription
+	// Deletes an existing subscription. All messages retained in the subscription
 	// are immediately dropped. Calls to `Pull` after deletion will return
 	// `NOT_FOUND`. After a subscription is deleted, a new one may be created with
 	// the same name, but the new one has no association with the old
-	// subscription, or its topic unless the same topic is specified.
+	// subscription or its topic unless the same topic is specified.
 	DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
 	// Modifies the ack deadline for a specific message. This method is useful
 	// to indicate that more time is needed to process a message by the
@@ -582,6 +955,19 @@ type SubscriberClient interface {
 	// there are too many concurrent pull requests pending for the given
 	// subscription.
 	Pull(ctx context.Context, in *PullRequest, opts ...grpc.CallOption) (*PullResponse, error)
+	// (EXPERIMENTAL) StreamingPull is an experimental feature. This RPC will
+	// respond with UNIMPLEMENTED errors unless you have been invited to test
+	// this feature. Contact cloud-pubsub@google.com with any questions.
+	//
+	// Establishes a stream with the server, which sends messages down to the
+	// client. The client streams acknowledgements and ack deadline modifications
+	// back to the server. The server will close the stream and return the status
+	// on any error. The server may close the stream with status `OK` to reassign
+	// server-side resources, in which case, the client should re-establish the
+	// stream. `UNAVAILABLE` may also be returned in the case of a transient error
+	// (e.g., a server restart). These should also be retried by the client. Flow
+	// control can be achieved by configuring the underlying RPC channel.
+	StreamingPull(ctx context.Context, opts ...grpc.CallOption) (Subscriber_StreamingPullClient, error)
 	// Modifies the `PushConfig` for a specified subscription.
 	//
 	// This may be used to change a push subscription to a pull one (signified by
@@ -662,6 +1048,37 @@ func (c *subscriberClient) Pull(ctx context.Context, in *PullRequest, opts ...gr
 	return out, nil
 }
 
+func (c *subscriberClient) StreamingPull(ctx context.Context, opts ...grpc.CallOption) (Subscriber_StreamingPullClient, error) {
+	stream, err := grpc.NewClientStream(ctx, &_Subscriber_serviceDesc.Streams[0], c.cc, "/google.pubsub.v1.Subscriber/StreamingPull", opts...)
+	if err != nil {
+		return nil, err
+	}
+	x := &subscriberStreamingPullClient{stream}
+	return x, nil
+}
+
+type Subscriber_StreamingPullClient interface {
+	Send(*StreamingPullRequest) error
+	Recv() (*StreamingPullResponse, error)
+	grpc.ClientStream
+}
+
+type subscriberStreamingPullClient struct {
+	grpc.ClientStream
+}
+
+func (x *subscriberStreamingPullClient) Send(m *StreamingPullRequest) error {
+	return x.ClientStream.SendMsg(m)
+}
+
+func (x *subscriberStreamingPullClient) Recv() (*StreamingPullResponse, error) {
+	m := new(StreamingPullResponse)
+	if err := x.ClientStream.RecvMsg(m); err != nil {
+		return nil, err
+	}
+	return m, nil
+}
+
 func (c *subscriberClient) ModifyPushConfig(ctx context.Context, in *ModifyPushConfigRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) {
 	out := new(google_protobuf1.Empty)
 	err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ModifyPushConfig", in, out, c.cc, opts...)
@@ -679,18 +1096,21 @@ type SubscriberServer interface {
 	// If the corresponding topic doesn't exist, returns `NOT_FOUND`.
 	//
 	// If the name is not provided in the request, the server will assign a random
-	// name for this subscription on the same project as the topic. Note that
-	// for REST API requests, you must specify a name.
+	// name for this subscription on the same project as the topic, conforming
+	// to the
+	// [resource name format](https://cloud.google.com/pubsub/docs/overview#names).
+	// The generated name is populated in the returned Subscription object.
+	// Note that for REST API requests, you must specify a name in the request.
 	CreateSubscription(context.Context, *Subscription) (*Subscription, error)
 	// Gets the configuration details of a subscription.
 	GetSubscription(context.Context, *GetSubscriptionRequest) (*Subscription, error)
 	// Lists matching subscriptions.
 	ListSubscriptions(context.Context, *ListSubscriptionsRequest) (*ListSubscriptionsResponse, error)
-	// Deletes an existing subscription. All pending messages in the subscription
+	// Deletes an existing subscription. All messages retained in the subscription
 	// are immediately dropped. Calls to `Pull` after deletion will return
 	// `NOT_FOUND`. After a subscription is deleted, a new one may be created with
 	// the same name, but the new one has no association with the old
-	// subscription, or its topic unless the same topic is specified.
+	// subscription or its topic unless the same topic is specified.
 	DeleteSubscription(context.Context, *DeleteSubscriptionRequest) (*google_protobuf1.Empty, error)
 	// Modifies the ack deadline for a specific message. This method is useful
 	// to indicate that more time is needed to process a message by the
@@ -711,6 +1131,19 @@ type SubscriberServer interface {
 	// there are too many concurrent pull requests pending for the given
 	// subscription.
 	Pull(context.Context, *PullRequest) (*PullResponse, error)
+	// (EXPERIMENTAL) StreamingPull is an experimental feature. This RPC will
+	// respond with UNIMPLEMENTED errors unless you have been invited to test
+	// this feature. Contact cloud-pubsub@google.com with any questions.
+	//
+	// Establishes a stream with the server, which sends messages down to the
+	// client. The client streams acknowledgements and ack deadline modifications
+	// back to the server. The server will close the stream and return the status
+	// on any error. The server may close the stream with status `OK` to reassign
+	// server-side resources, in which case, the client should re-establish the
+	// stream. `UNAVAILABLE` may also be returned in the case of a transient error
+	// (e.g., a server restart). These should also be retried by the client. Flow
+	// control can be achieved by configuring the underlying RPC channel.
+	StreamingPull(Subscriber_StreamingPullServer) error
 	// Modifies the `PushConfig` for a specified subscription.
 	//
 	// This may be used to change a push subscription to a pull one (signified by
@@ -850,6 +1283,32 @@ func _Subscriber_Pull_Handler(srv interface{}, ctx context.Context, dec func(int
 	return interceptor(ctx, in, info, handler)
 }
 
+func _Subscriber_StreamingPull_Handler(srv interface{}, stream grpc.ServerStream) error {
+	return srv.(SubscriberServer).StreamingPull(&subscriberStreamingPullServer{stream})
+}
+
+type Subscriber_StreamingPullServer interface {
+	Send(*StreamingPullResponse) error
+	Recv() (*StreamingPullRequest, error)
+	grpc.ServerStream
+}
+
+type subscriberStreamingPullServer struct {
+	grpc.ServerStream
+}
+
+func (x *subscriberStreamingPullServer) Send(m *StreamingPullResponse) error {
+	return x.ServerStream.SendMsg(m)
+}
+
+func (x *subscriberStreamingPullServer) Recv() (*StreamingPullRequest, error) {
+	m := new(StreamingPullRequest)
+	if err := x.ServerStream.RecvMsg(m); err != nil {
+		return nil, err
+	}
+	return m, nil
+}
+
 func _Subscriber_ModifyPushConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(ModifyPushConfigRequest)
 	if err := dec(in); err != nil {
@@ -905,8 +1364,15 @@ var _Subscriber_serviceDesc = grpc.ServiceDesc{
 			Handler:    _Subscriber_ModifyPushConfig_Handler,
 		},
 	},
-	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/pubsub/v1/pubsub.proto",
+	Streams: []grpc.StreamDesc{
+		{
+			StreamName:    "StreamingPull",
+			Handler:       _Subscriber_StreamingPull_Handler,
+			ServerStreams: true,
+			ClientStreams: true,
+		},
+	},
+	Metadata: "google/pubsub/v1/pubsub.proto",
 }
 
 // Client API for Publisher service
@@ -1159,99 +1625,103 @@ var _Publisher_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/pubsub/v1/pubsub.proto",
+	Metadata: "google/pubsub/v1/pubsub.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/pubsub/v1/pubsub.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/pubsub/v1/pubsub.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1369 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x57, 0x5b, 0x6f, 0x13, 0x47,
-	0x1b, 0xd6, 0x38, 0xe7, 0x77, 0x9d, 0x2f, 0xc9, 0x88, 0x0f, 0x8c, 0x29, 0x90, 0x2c, 0x14, 0x8c,
-	0x0b, 0x5e, 0x30, 0xaa, 0x5a, 0x02, 0x01, 0x01, 0x41, 0x28, 0x15, 0xb4, 0xa9, 0xe1, 0xba, 0xd6,
-	0x7a, 0x77, 0x70, 0x96, 0x78, 0x0f, 0xec, 0xcc, 0xa6, 0x31, 0x2d, 0x52, 0x45, 0xab, 0x4a, 0xbd,
-	0x2b, 0xed, 0x65, 0x7b, 0x51, 0xa9, 0x57, 0xbd, 0xed, 0x0f, 0xa8, 0xfa, 0x1f, 0xfa, 0x17, 0xfa,
-	0x23, 0x7a, 0x59, 0xcd, 0x61, 0xed, 0x5d, 0x7b, 0xd7, 0x87, 0xa0, 0xde, 0x58, 0xeb, 0x99, 0x77,
-	0xe6, 0x79, 0xde, 0xd3, 0x33, 0x33, 0x70, 0xab, 0xed, 0xfb, 0xed, 0x0e, 0xa9, 0xb5, 0xfd, 0x8e,
-	0xe9, 0xb5, 0x6b, 0x7e, 0xd8, 0x36, 0xda, 0xc4, 0x0b, 0x42, 0x9f, 0xf9, 0x86, 0x9c, 0x32, 0x03,
-	0x87, 0x1a, 0x41, 0xd4, 0xa2, 0x51, 0xcb, 0x38, 0xb8, 0xa6, 0xbe, 0x6a, 0xc2, 0x02, 0xaf, 0xaa,
-	0xd5, 0x6a, 0xf0, 0xe0, 0x5a, 0x79, 0x67, 0xb2, 0xfd, 0xcc, 0xc0, 0x31, 0x28, 0x09, 0x0f, 0x1c,
-	0x8b, 0x58, 0xbe, 0xf7, 0xcc, 0x69, 0x1b, 0xa6, 0xe7, 0xf9, 0xcc, 0x64, 0x8e, 0xef, 0x51, 0xb9,
-	0x79, 0xf9, 0x7a, 0xdb, 0x61, 0x7b, 0x51, 0xab, 0x66, 0xf9, 0xae, 0x21, 0xb7, 0x33, 0xc4, 0x44,
-	0x2b, 0x7a, 0x66, 0x04, 0xac, 0x1b, 0x10, 0x6a, 0x10, 0x37, 0x60, 0x5d, 0xf9, 0xab, 0x16, 0xdd,
-	0x1c, 0xbf, 0x88, 0x39, 0x2e, 0xa1, 0xcc, 0x74, 0x83, 0xfe, 0x97, 0x5c, 0xac, 0x9f, 0x82, 0xb9,
-	0xa7, 0x7e, 0xe0, 0x58, 0x18, 0xc3, 0xac, 0x67, 0xba, 0xa4, 0x84, 0xd6, 0x51, 0x65, 0xa9, 0x21,
-	0xbe, 0xf5, 0x37, 0x05, 0x58, 0xde, 0x15, 0x7e, 0x3e, 0x26, 0x94, 0x9a, 0x6d, 0xc2, 0xad, 0x6c,
-	0x93, 0x99, 0xc2, 0xaa, 0xd8, 0x10, 0xdf, 0xf8, 0x13, 0x00, 0x93, 0xb1, 0xd0, 0x69, 0x45, 0x8c,
-	0xd0, 0x52, 0x61, 0x7d, 0xa6, 0xa2, 0xd5, 0x8d, 0xda, 0x60, 0x98, 0x6a, 0xa9, 0x8d, 0x6a, 0x77,
-	0x7b, 0x2b, 0x1e, 0x78, 0x2c, 0xec, 0x36, 0x12, 0x5b, 0xe0, 0xd3, 0x00, 0xae, 0x34, 0x6b, 0x3a,
-	0x76, 0x69, 0x46, 0x10, 0x5a, 0x52, 0x23, 0x3b, 0x36, 0xde, 0x82, 0x62, 0x10, 0xb5, 0x3a, 0x0e,
-	0xdd, 0x6b, 0x72, 0x6f, 0x4a, 0xb3, 0xeb, 0xa8, 0xa2, 0xd5, 0xcb, 0x3d, 0x44, 0xe5, 0x7b, 0xed,
-	0x69, 0xec, 0x6a, 0x43, 0x53, 0xf6, 0x7c, 0xa4, 0xbc, 0x05, 0x2b, 0x03, 0xe0, 0x78, 0x15, 0x66,
-	0xf6, 0x49, 0x57, 0xb9, 0xce, 0x3f, 0xf1, 0x31, 0x98, 0x3b, 0x30, 0x3b, 0x11, 0x29, 0x15, 0xc4,
-	0x98, 0xfc, 0xb3, 0x59, 0xf8, 0x10, 0xe9, 0x17, 0x61, 0xe5, 0x21, 0x61, 0x22, 0x66, 0x0d, 0xf2,
-	0x22, 0x22, 0x94, 0x71, 0x63, 0xc6, 0xff, 0xab, 0x0d, 0xe4, 0x1f, 0xdd, 0x82, 0xff, 0xed, 0x4a,
-	0xd8, 0x91, 0x76, 0xf8, 0x26, 0x2c, 0x2a, 0xdf, 0xe2, 0xe0, 0x9d, 0x1d, 0x13, 0xbc, 0x46, 0x6f,
-	0x81, 0x5e, 0x87, 0x95, 0x1e, 0x08, 0x0d, 0x7c, 0x8f, 0x12, 0x7c, 0x16, 0xb4, 0x7e, 0xf4, 0x68,
-	0x09, 0xad, 0xcf, 0x54, 0x96, 0x1a, 0xd0, 0x0b, 0x1f, 0xd5, 0x1d, 0x58, 0x7b, 0xe4, 0x50, 0xe9,
-	0x02, 0x8d, 0xb9, 0x95, 0x60, 0x21, 0x08, 0xfd, 0xe7, 0xc4, 0x62, 0x8a, 0x5d, 0xfc, 0x17, 0x9f,
-	0x82, 0xa5, 0x80, 0x6f, 0x46, 0x9d, 0x97, 0x32, 0x1c, 0x73, 0x8d, 0x45, 0x3e, 0xf0, 0xc4, 0x79,
-	0x49, 0x78, 0xaa, 0xc4, 0x24, 0xf3, 0xf7, 0x89, 0x17, 0xa7, 0x8a, 0x8f, 0x3c, 0xe5, 0x03, 0xba,
-	0x0b, 0x38, 0x09, 0xa5, 0x18, 0x1a, 0x30, 0x2f, 0x5c, 0x97, 0xe4, 0xb4, 0xfa, 0x89, 0x61, 0x7f,
-	0x65, 0x7c, 0x95, 0x19, 0xbe, 0x00, 0x2b, 0x1e, 0x39, 0x64, 0xcd, 0x04, 0x94, 0xcc, 0xcb, 0x32,
-	0x1f, 0xde, 0xed, 0xc1, 0xbd, 0x80, 0xd3, 0x3d, 0xb8, 0x27, 0x51, 0x8b, 0x5a, 0xa1, 0x13, 0x88,
-	0xf6, 0x1a, 0x9d, 0x81, 0xb7, 0xf1, 0xd0, 0x83, 0x33, 0x79, 0x90, 0xca, 0xdb, 0xf3, 0xb0, 0x4c,
-	0x93, 0x13, 0x2a, 0x23, 0xe9, 0xc1, 0x89, 0x5d, 0xac, 0x02, 0xde, 0x26, 0x1d, 0xc2, 0xc8, 0x04,
-	0x15, 0xf8, 0x1b, 0x82, 0x62, 0x92, 0x53, 0x56, 0x8f, 0xf7, 0x97, 0x16, 0x92, 0x21, 0xd9, 0x02,
-	0x2d, 0x88, 0xe8, 0x5e, 0x53, 0x2a, 0x95, 0x6a, 0xb1, 0x77, 0xb2, 0xea, 0x92, 0xee, 0xdd, 0x17,
-	0x36, 0x0d, 0x08, 0x7a, 0xdf, 0xf8, 0x2a, 0x1c, 0x33, 0xad, 0xfd, 0xa6, 0x4d, 0x4c, 0xbb, 0xe3,
-	0x78, 0xa4, 0x49, 0xb9, 0xe4, 0xd9, 0xb4, 0x34, 0x27, 0x82, 0x8b, 0x4d, 0x6b, 0x7f, 0x5b, 0x4d,
-	0x3d, 0x91, 0x33, 0xfa, 0x1f, 0x08, 0xa0, 0xbf, 0x19, 0x3e, 0x07, 0xcb, 0x02, 0x9f, 0x78, 0x76,
-	0xe0, 0x3b, 0x5e, 0x5c, 0x94, 0x45, 0x3e, 0xf8, 0x40, 0x8d, 0xe1, 0x47, 0x19, 0xc2, 0x73, 0x79,
-	0x14, 0xc7, 0x51, 0xaa, 0xf3, 0xb6, 0xba, 0x60, 0xc1, 0x4a, 0x83, 0x58, 0xc4, 0x39, 0x20, 0x76,
-	0x2c, 0x96, 0xff, 0x87, 0x79, 0x1e, 0x05, 0xc7, 0x8e, 0xd3, 0x62, 0x5a, 0xfb, 0x3b, 0x36, 0xbe,
-	0x01, 0x0b, 0xaa, 0x1b, 0xc5, 0x2e, 0x13, 0xf4, 0x7b, 0x6c, 0xaf, 0xdf, 0x82, 0xe3, 0x0f, 0x09,
-	0x4b, 0xe6, 0x34, 0xae, 0x00, 0x1d, 0x8a, 0xc9, 0x82, 0x8a, 0xe3, 0x95, 0x1c, 0xd3, 0x03, 0x28,
-	0xf1, 0x5a, 0xcd, 0xec, 0x8c, 0xff, 0xa6, 0xff, 0xbf, 0x43, 0x70, 0x32, 0x03, 0x52, 0x75, 0xc6,
-	0x76, 0x56, 0x67, 0x68, 0xf5, 0x33, 0xc3, 0xe1, 0x48, 0x79, 0x7c, 0xc4, 0xce, 0xb9, 0x03, 0x27,
-	0x65, 0xe7, 0x1c, 0x35, 0x7c, 0x5f, 0xc2, 0x89, 0xc7, 0xbe, 0xed, 0x3c, 0xeb, 0x26, 0x8a, 0x7e,
-	0xf2, 0xe5, 0x83, 0x2d, 0x55, 0x98, 0xae, 0xa5, 0xf4, 0xaf, 0x11, 0x68, 0xbb, 0x51, 0xa7, 0x33,
-	0x0d, 0xe4, 0x15, 0xc0, 0x21, 0x61, 0x51, 0xe8, 0x35, 0x1d, 0xd7, 0x25, 0xb6, 0x63, 0x32, 0xd2,
-	0xe9, 0x0a, 0xe4, 0xc5, 0xc6, 0x9a, 0x9c, 0xd9, 0xe9, 0x4f, 0xe0, 0x0d, 0x28, 0xba, 0xe6, 0x61,
-	0xb3, 0x77, 0x1a, 0xcd, 0x88, 0x64, 0x6b, 0xae, 0x79, 0xf8, 0x38, 0x3e, 0x6f, 0x3e, 0x83, 0xa2,
-	0x24, 0xa1, 0x52, 0xf8, 0x31, 0xac, 0x85, 0xaa, 0xea, 0xfb, 0xeb, 0x64, 0x1a, 0x37, 0x86, 0x5d,
-	0x1b, 0x68, 0x90, 0xc6, 0x6a, 0x98, 0x1e, 0xa0, 0xbc, 0x60, 0x4a, 0x32, 0xc8, 0x77, 0xfb, 0x1a,
-	0x31, 0x8d, 0xcb, 0x27, 0x60, 0x41, 0xf6, 0x1c, 0x2d, 0xcd, 0x0a, 0x9d, 0x9d, 0x17, 0x4d, 0x47,
-	0x73, 0x25, 0x69, 0x26, 0x57, 0x92, 0x3e, 0x05, 0x7c, 0xd7, 0xda, 0xf7, 0xfc, 0xcf, 0x3b, 0xc4,
-	0x6e, 0x1f, 0x95, 0x44, 0x21, 0x49, 0xa2, 0xfe, 0xe7, 0x12, 0x80, 0x2a, 0xbf, 0x16, 0x09, 0xf1,
-	0xb7, 0x08, 0xf0, 0xfd, 0x90, 0x98, 0xe9, 0x9a, 0xc4, 0x63, 0x1a, 0xa0, 0x3c, 0x66, 0x5e, 0xbf,
-	0xfa, 0xfa, 0xaf, 0xbf, 0x7f, 0x2c, 0x54, 0xcb, 0xef, 0xf2, 0xcb, 0xeb, 0x17, 0x5c, 0xe5, 0xb7,
-	0x54, 0x33, 0x53, 0xa3, 0x6a, 0xa4, 0xba, 0xc7, 0xa8, 0xbe, 0xda, 0x44, 0x55, 0xfc, 0x03, 0x12,
-	0xb7, 0x9a, 0x14, 0x8b, 0xca, 0x30, 0x4a, 0xb6, 0xf6, 0x8c, 0xe5, 0xf3, 0xbe, 0xe0, 0x63, 0xe0,
-	0x2b, 0x82, 0x4f, 0x12, 0x7f, 0x14, 0x2f, 0xfc, 0x33, 0x92, 0x17, 0x95, 0x94, 0x78, 0xe0, 0xea,
-	0x30, 0x58, 0x9e, 0xa8, 0x95, 0xdf, 0x9b, 0xc8, 0x56, 0x96, 0xb2, 0x5e, 0x13, 0x2c, 0x2b, 0xf8,
-	0x82, 0x60, 0xa9, 0x88, 0x25, 0x08, 0xbe, 0x4a, 0x33, 0xc4, 0xdf, 0xa3, 0xf8, 0x28, 0x4e, 0x85,
-	0x2d, 0x03, 0x33, 0x57, 0x76, 0xca, 0xc7, 0x87, 0x2e, 0xad, 0x0f, 0xf8, 0xc5, 0x3e, 0x8e, 0x58,
-	0x75, 0xca, 0x88, 0xfd, 0x8a, 0x60, 0x6d, 0xa8, 0x7b, 0xb2, 0x22, 0x96, 0xd7, 0x62, 0xb9, 0x84,
-	0x3e, 0x12, 0x84, 0xb6, 0xf5, 0x3b, 0x53, 0x11, 0xda, 0x74, 0x07, 0x71, 0x78, 0xb1, 0xbd, 0x41,
-	0xa0, 0x25, 0x1a, 0x0b, 0x9f, 0x1f, 0xe6, 0x37, 0xdc, 0x77, 0xb9, 0xcc, 0xb6, 0x05, 0xb3, 0xdb,
-	0xfa, 0x8d, 0xe9, 0x98, 0x99, 0x7d, 0x04, 0xce, 0xe9, 0x1b, 0x04, 0xb3, 0x5c, 0xd8, 0xf0, 0xe9,
-	0x2c, 0x41, 0xee, 0xa9, 0x6e, 0x56, 0xa9, 0x27, 0xf5, 0x50, 0xdf, 0x12, 0x6c, 0x3e, 0xd0, 0xeb,
-	0xd3, 0xb1, 0x09, 0xa2, 0x4e, 0x87, 0xd3, 0xf8, 0x05, 0xc1, 0xea, 0xe0, 0x19, 0x83, 0x2f, 0xe5,
-	0xe5, 0x6f, 0xe8, 0x1c, 0xca, 0x0d, 0xd2, 0x8e, 0xa0, 0x75, 0x5f, 0xbf, 0x7d, 0x94, 0xf4, 0xf5,
-	0x61, 0x36, 0x51, 0xb5, 0xfe, 0xd3, 0x3c, 0x2c, 0xa9, 0x27, 0x07, 0x09, 0xf1, 0x73, 0xd0, 0xa4,
-	0x80, 0xc9, 0x47, 0x64, 0xde, 0x4d, 0xbe, 0x9c, 0x37, 0xa1, 0x5f, 0x12, 0xcc, 0xce, 0x95, 0xcf,
-	0x64, 0x6a, 0x95, 0xbc, 0xff, 0x2b, 0x91, 0x7a, 0x8d, 0x60, 0x41, 0x21, 0xe3, 0xf5, 0xcc, 0x2b,
-	0x53, 0xe2, 0xb1, 0x55, 0xde, 0x18, 0x61, 0xa1, 0x92, 0x55, 0x17, 0xd8, 0x97, 0xf5, 0x8b, 0x02,
-	0x5b, 0x60, 0x65, 0x83, 0xab, 0xe7, 0x23, 0x27, 0xe1, 0xc3, 0x62, 0xfc, 0xfc, 0xc3, 0x1b, 0x99,
-	0x0a, 0x99, 0xbc, 0x98, 0xe7, 0xfb, 0x7d, 0x51, 0x60, 0x6f, 0xe0, 0xb3, 0x63, 0xb0, 0xf1, 0x57,
-	0x08, 0xa0, 0xff, 0x86, 0xc2, 0xe7, 0xb2, 0x25, 0x2d, 0xf5, 0x98, 0x2b, 0x9f, 0x1f, 0x6d, 0xa4,
-	0xdc, 0x4f, 0x53, 0xc8, 0x12, 0x3c, 0xf5, 0xfc, 0xfa, 0x1d, 0xc1, 0xf1, 0xec, 0x47, 0x0e, 0x36,
-	0x46, 0x20, 0x65, 0x4a, 0xf2, 0xd5, 0xc9, 0x17, 0x28, 0x9a, 0xe9, 0xd3, 0x23, 0x3f, 0x52, 0x03,
-	0xf2, 0xcc, 0x40, 0x4b, 0x3c, 0x94, 0xb2, 0x44, 0x66, 0xf8, 0x1d, 0x95, 0xdb, 0x3f, 0x2a, 0x54,
-	0xd5, 0x71, 0xd9, 0xba, 0x57, 0x81, 0x63, 0x96, 0xef, 0x0e, 0x61, 0xdd, 0xd3, 0xe4, 0x85, 0x7e,
-	0x97, 0x6f, 0xbb, 0x8b, 0xfe, 0x41, 0xa8, 0x35, 0x2f, 0x20, 0xae, 0xff, 0x1b, 0x00, 0x00, 0xff,
-	0xff, 0x87, 0x6f, 0x33, 0xa9, 0x8e, 0x12, 0x00, 0x00,
+	// 1466 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x5d, 0x6f, 0x1b, 0x45,
+	0x17, 0xd6, 0xd8, 0xf9, 0x3c, 0x76, 0xde, 0x24, 0xa3, 0x34, 0x71, 0x9d, 0xa6, 0x49, 0xb6, 0x7d,
+	0x1b, 0xd7, 0xb4, 0x76, 0x6a, 0xd4, 0x42, 0x53, 0xd2, 0x2a, 0x4d, 0xaa, 0x2a, 0xa8, 0x85, 0xe0,
+	0x54, 0x5c, 0x70, 0x81, 0xb5, 0xf6, 0x4e, 0xdd, 0x6d, 0xf6, 0xab, 0x3b, 0xbb, 0x21, 0x29, 0x54,
+	0x82, 0x82, 0x90, 0xb8, 0xa3, 0x70, 0x09, 0x17, 0x48, 0x48, 0x48, 0x70, 0xc9, 0x0f, 0xe0, 0x4f,
+	0xf0, 0x17, 0xf8, 0x11, 0x5c, 0xa2, 0xf9, 0x58, 0x7b, 0xd7, 0xbb, 0x6b, 0xc7, 0xa9, 0x7a, 0xb7,
+	0x3b, 0x73, 0x66, 0x9e, 0xe7, 0x9c, 0x39, 0xe7, 0xd9, 0x39, 0x0b, 0x4b, 0x6d, 0xdb, 0x6e, 0x1b,
+	0xa4, 0xea, 0xf8, 0x4d, 0xea, 0x37, 0xab, 0x87, 0xd7, 0xe4, 0x53, 0xc5, 0x71, 0x6d, 0xcf, 0xc6,
+	0x33, 0x62, 0xba, 0x22, 0x07, 0x0f, 0xaf, 0x15, 0xcf, 0xc9, 0x05, 0xaa, 0xa3, 0x57, 0x55, 0xcb,
+	0xb2, 0x3d, 0xd5, 0xd3, 0x6d, 0x8b, 0x0a, 0xfb, 0xe2, 0x62, 0xb0, 0x1d, 0x7b, 0x6b, 0xfa, 0x8f,
+	0xab, 0xc4, 0x74, 0xbc, 0x63, 0x39, 0xb9, 0xdc, 0x3b, 0xe9, 0xe9, 0x26, 0xa1, 0x9e, 0x6a, 0x3a,
+	0xc2, 0x40, 0x59, 0x84, 0xd1, 0x47, 0xb6, 0xa3, 0xb7, 0x30, 0x86, 0x11, 0x4b, 0x35, 0x49, 0x01,
+	0xad, 0xa0, 0xd2, 0x64, 0x9d, 0x3f, 0x2b, 0xaf, 0x32, 0x30, 0xb5, 0xc7, 0x69, 0x3c, 0x24, 0x94,
+	0xaa, 0x6d, 0xc2, 0xac, 0x34, 0xd5, 0x53, 0xb9, 0x55, 0xbe, 0xce, 0x9f, 0xf1, 0x87, 0x00, 0xaa,
+	0xe7, 0xb9, 0x7a, 0xd3, 0xf7, 0x08, 0x2d, 0x64, 0x56, 0xb2, 0xa5, 0x5c, 0xad, 0x5a, 0xe9, 0xf5,
+	0xa2, 0x12, 0xd9, 0xa8, 0xb2, 0xd5, 0x59, 0x71, 0xcf, 0xf2, 0xdc, 0xe3, 0x7a, 0x68, 0x0b, 0xbc,
+	0x04, 0x60, 0x0a, 0xb3, 0x86, 0xae, 0x15, 0xb2, 0x9c, 0xd0, 0xa4, 0x1c, 0xd9, 0xd5, 0xf0, 0x26,
+	0xe4, 0x1d, 0xbf, 0x69, 0xe8, 0xf4, 0x49, 0x83, 0x79, 0x53, 0x18, 0x59, 0x41, 0xa5, 0x5c, 0xad,
+	0xd8, 0x41, 0x94, 0xae, 0x56, 0x1e, 0x05, 0xae, 0xd6, 0x73, 0xd2, 0x9e, 0x8d, 0x14, 0x37, 0x61,
+	0xba, 0x07, 0x1c, 0xcf, 0x40, 0xf6, 0x80, 0x1c, 0x4b, 0xd7, 0xd9, 0x23, 0x9e, 0x83, 0xd1, 0x43,
+	0xd5, 0xf0, 0x49, 0x21, 0xc3, 0xc7, 0xc4, 0xcb, 0x46, 0xe6, 0x5d, 0xa4, 0xac, 0xc1, 0xf4, 0x7d,
+	0xe2, 0xf1, 0x98, 0xd5, 0xc9, 0x33, 0x9f, 0x50, 0x8f, 0x19, 0x7b, 0xec, 0x5d, 0x6e, 0x20, 0x5e,
+	0x94, 0x16, 0xfc, 0x6f, 0x4f, 0xc0, 0xf6, 0xb5, 0xc3, 0xb7, 0x60, 0x42, 0xfa, 0x16, 0x04, 0x6f,
+	0x79, 0x40, 0xf0, 0xea, 0x9d, 0x05, 0x4a, 0x0d, 0xa6, 0x3b, 0x20, 0xd4, 0xb1, 0x2d, 0x4a, 0xf0,
+	0x32, 0xe4, 0xba, 0xd1, 0xa3, 0x05, 0xb4, 0x92, 0x2d, 0x4d, 0xd6, 0xa1, 0x13, 0x3e, 0xaa, 0xe8,
+	0x30, 0xfb, 0x40, 0xa7, 0xc2, 0x05, 0x1a, 0x70, 0x2b, 0xc0, 0xb8, 0xe3, 0xda, 0x4f, 0x49, 0xcb,
+	0x93, 0xec, 0x82, 0x57, 0xbc, 0x08, 0x93, 0x0e, 0xdb, 0x8c, 0xea, 0xcf, 0x45, 0x38, 0x46, 0xeb,
+	0x13, 0x6c, 0x60, 0x5f, 0x7f, 0x4e, 0xd8, 0x51, 0xf1, 0x49, 0xcf, 0x3e, 0x20, 0x56, 0x70, 0x54,
+	0x6c, 0xe4, 0x11, 0x1b, 0x50, 0x4c, 0xc0, 0x61, 0x28, 0xc9, 0xb0, 0x0a, 0x63, 0xdc, 0x75, 0x41,
+	0x2e, 0x57, 0x5b, 0x88, 0xfb, 0x2b, 0xe2, 0x2b, 0xcd, 0xf0, 0x25, 0x98, 0xb6, 0xc8, 0x91, 0xd7,
+	0x08, 0x41, 0x89, 0x73, 0x99, 0x62, 0xc3, 0x7b, 0x1d, 0xb8, 0x67, 0xb0, 0xd4, 0x81, 0xdb, 0xf7,
+	0x9b, 0xb4, 0xe5, 0xea, 0x0e, 0x2f, 0x95, 0xfe, 0x27, 0xf0, 0x3a, 0x1e, 0x5a, 0x70, 0x3e, 0x0d,
+	0x52, 0x7a, 0x7b, 0x11, 0xa6, 0x68, 0x78, 0x42, 0x9e, 0x48, 0x74, 0xf0, 0xc4, 0x2e, 0x96, 0x01,
+	0xef, 0x10, 0x83, 0x78, 0xe4, 0x04, 0x19, 0xf8, 0x3b, 0x82, 0x7c, 0x98, 0x53, 0x52, 0x8d, 0x77,
+	0x97, 0x66, 0xc2, 0x21, 0xd9, 0x84, 0x9c, 0xe3, 0xd3, 0x27, 0x8d, 0x96, 0x6d, 0x3d, 0xd6, 0xdb,
+	0xb2, 0xc4, 0xce, 0x25, 0xe5, 0x25, 0x7d, 0xb2, 0xcd, 0x6d, 0xea, 0xe0, 0x74, 0x9e, 0xf1, 0x3a,
+	0xcc, 0xa9, 0xad, 0x83, 0x86, 0x46, 0x54, 0xcd, 0xd0, 0x2d, 0xd2, 0xa0, 0xa4, 0x65, 0x5b, 0x1a,
+	0x2d, 0x8c, 0xf2, 0xe0, 0x62, 0xb5, 0x75, 0xb0, 0x23, 0xa7, 0xf6, 0xc5, 0x8c, 0xf2, 0x17, 0x02,
+	0xe8, 0x6e, 0x86, 0x2f, 0xc0, 0x14, 0xc7, 0x27, 0x96, 0xe6, 0xd8, 0xba, 0x15, 0x24, 0x65, 0x9e,
+	0x0d, 0xde, 0x93, 0x63, 0xf8, 0x41, 0x82, 0xf0, 0x5c, 0xe9, 0xc7, 0xb1, 0x9f, 0xea, 0xbc, 0xae,
+	0x2e, 0xb4, 0x60, 0xba, 0x4e, 0x5a, 0x44, 0x3f, 0x24, 0x5a, 0x20, 0x96, 0x67, 0x60, 0x8c, 0x45,
+	0x41, 0xd7, 0x82, 0x63, 0x51, 0x5b, 0x07, 0xbb, 0x1a, 0xbe, 0x09, 0xe3, 0xb2, 0x1a, 0xf9, 0x2e,
+	0x27, 0xa8, 0xf7, 0xc0, 0x5e, 0x79, 0x0f, 0xe6, 0xef, 0x13, 0x2f, 0x7c, 0xa6, 0x41, 0x06, 0x28,
+	0x90, 0x0f, 0x27, 0x54, 0x10, 0xaf, 0xf0, 0x98, 0xe2, 0x40, 0x81, 0xe5, 0x6a, 0x62, 0x65, 0xbc,
+	0x99, 0xfa, 0xff, 0x0e, 0xc1, 0xd9, 0x04, 0x48, 0x59, 0x19, 0x3b, 0x49, 0x95, 0x91, 0xab, 0x9d,
+	0x8f, 0x87, 0x23, 0xe2, 0xf1, 0x29, 0x2b, 0xe7, 0x0e, 0x9c, 0x15, 0x95, 0x73, 0xda, 0xf0, 0x7d,
+	0x01, 0x0b, 0x0f, 0x6d, 0x4d, 0x7f, 0x7c, 0x1c, 0x4a, 0xfa, 0x93, 0x2f, 0xef, 0x2d, 0xa9, 0xcc,
+	0x70, 0x25, 0xa5, 0x7c, 0x8d, 0x20, 0xb7, 0xe7, 0x1b, 0xc6, 0x30, 0x90, 0x57, 0x01, 0xbb, 0xc4,
+	0xf3, 0x5d, 0xab, 0xa1, 0x9b, 0x26, 0xd1, 0x74, 0xd5, 0x23, 0xc6, 0x31, 0x47, 0x9e, 0xa8, 0xcf,
+	0x8a, 0x99, 0xdd, 0xee, 0x04, 0x5e, 0x85, 0xbc, 0xa9, 0x1e, 0x35, 0x3a, 0x5f, 0xa3, 0x2c, 0x3f,
+	0xec, 0x9c, 0xa9, 0x1e, 0x3d, 0x0c, 0xbe, 0x37, 0x9f, 0x42, 0x5e, 0x90, 0x90, 0x47, 0xf8, 0x01,
+	0xcc, 0xba, 0x32, 0xeb, 0xbb, 0xeb, 0xc4, 0x31, 0xae, 0xc6, 0x5d, 0xeb, 0x29, 0x90, 0xfa, 0x8c,
+	0x1b, 0x1d, 0xa0, 0x2c, 0x61, 0x0a, 0x22, 0xc8, 0x5b, 0x5d, 0x8d, 0x18, 0xc6, 0xe5, 0x05, 0x18,
+	0x17, 0x35, 0x47, 0x0b, 0x23, 0x5c, 0x67, 0xc7, 0x78, 0xd1, 0xd1, 0x54, 0x49, 0xca, 0xa6, 0x4a,
+	0xd2, 0x47, 0x80, 0xb7, 0x5a, 0x07, 0x96, 0xfd, 0x99, 0x41, 0xb4, 0xf6, 0x69, 0x49, 0x64, 0xc2,
+	0x24, 0x94, 0xaf, 0x32, 0x30, 0xb7, 0xef, 0xb9, 0x44, 0x35, 0x75, 0xab, 0x3d, 0xec, 0x69, 0xa6,
+	0xed, 0x8a, 0x6f, 0xc0, 0x82, 0xc9, 0x63, 0x96, 0xe4, 0x5d, 0xb6, 0x34, 0x5a, 0x3f, 0x23, 0xa6,
+	0x7b, 0x1c, 0xc4, 0xd7, 0xe3, 0xeb, 0xa2, 0xb1, 0x9b, 0x8b, 0xae, 0xdb, 0x12, 0x70, 0x9b, 0xb0,
+	0x48, 0xb9, 0x0f, 0x8d, 0x3e, 0x1a, 0x5f, 0x10, 0x26, 0x5b, 0xf1, 0xb0, 0xb6, 0xe1, 0x4c, 0x4f,
+	0x08, 0xde, 0x4c, 0x2e, 0xd5, 0x7e, 0x03, 0x00, 0x59, 0xeb, 0x4d, 0xe2, 0xe2, 0x6f, 0x11, 0xe0,
+	0x6d, 0x97, 0xa8, 0x51, 0x01, 0xc0, 0x03, 0xd4, 0xa6, 0x38, 0x60, 0x5e, 0x59, 0x7f, 0xf9, 0xf7,
+	0x3f, 0x3f, 0x66, 0xca, 0xc5, 0xff, 0xb3, 0x8b, 0xfc, 0xe7, 0xec, 0x93, 0xba, 0x29, 0x95, 0x93,
+	0x56, 0xcb, 0xd5, 0x88, 0x54, 0x55, 0xcb, 0x2f, 0x36, 0x50, 0x19, 0xff, 0x80, 0xf8, 0x15, 0x32,
+	0xc2, 0xa2, 0x14, 0x47, 0x49, 0x16, 0xfa, 0x81, 0x7c, 0xae, 0x73, 0x3e, 0x55, 0x7c, 0x95, 0xf3,
+	0x09, 0xe3, 0xf7, 0xe3, 0x85, 0x7f, 0x46, 0xe2, 0x56, 0x18, 0x51, 0x6a, 0x5c, 0x8e, 0x83, 0xa5,
+	0x7d, 0x41, 0x8a, 0x6f, 0x9d, 0xc8, 0x56, 0x9c, 0xb5, 0x52, 0xe1, 0x2c, 0x4b, 0xf8, 0x12, 0x67,
+	0x29, 0x89, 0x85, 0x08, 0xbe, 0x88, 0x32, 0xc4, 0xdf, 0xa3, 0xe0, 0xde, 0x13, 0x09, 0x5b, 0x02,
+	0x66, 0xaa, 0xc6, 0x17, 0xe7, 0x63, 0x1d, 0xc2, 0x3d, 0xd6, 0x29, 0x05, 0x11, 0x2b, 0x0f, 0x19,
+	0xb1, 0x5f, 0x11, 0xcc, 0xc6, 0xa4, 0x2a, 0x29, 0x62, 0x69, 0x7a, 0x96, 0x4a, 0xe8, 0x7d, 0x4e,
+	0x68, 0x47, 0xb9, 0x33, 0x14, 0xa1, 0x0d, 0xb3, 0x17, 0x87, 0x25, 0xdb, 0x2b, 0x04, 0xb9, 0x90,
+	0x8a, 0xe1, 0x8b, 0x71, 0x7e, 0x71, 0x91, 0x4b, 0x65, 0xb6, 0xc3, 0x99, 0xdd, 0x56, 0x6e, 0x0e,
+	0xc7, 0x4c, 0xed, 0x22, 0x30, 0x4e, 0xdf, 0x20, 0x18, 0x61, 0x95, 0x8f, 0x97, 0x92, 0xbe, 0x7e,
+	0x1d, 0x51, 0x4c, 0x4a, 0xf5, 0xb0, 0x60, 0x28, 0x9b, 0x9c, 0xcd, 0x3b, 0x4a, 0x6d, 0x38, 0x36,
+	0x8e, 0x6f, 0x18, 0x8c, 0x86, 0x06, 0x53, 0x11, 0x21, 0xc2, 0x97, 0x12, 0x4a, 0x2b, 0x41, 0xac,
+	0x8b, 0x6b, 0x03, 0xed, 0x04, 0xc1, 0x12, 0x5a, 0x47, 0xf8, 0x17, 0x04, 0x33, 0xbd, 0xd7, 0x06,
+	0x7c, 0x39, 0x2d, 0x4b, 0x62, 0x57, 0x8b, 0xd4, 0xa3, 0xd8, 0xe5, 0xce, 0x6f, 0x2b, 0xb7, 0x4f,
+	0x93, 0x24, 0x5d, 0x98, 0x0d, 0x54, 0xae, 0xfd, 0x34, 0x06, 0x93, 0xb2, 0x8b, 0x24, 0x2e, 0x7e,
+	0x0a, 0x39, 0x21, 0x93, 0xe2, 0xbf, 0x40, 0x5a, 0x73, 0x56, 0x4c, 0x9b, 0x50, 0x2e, 0x73, 0x66,
+	0x17, 0x8a, 0xe7, 0x13, 0x15, 0x51, 0xb4, 0x74, 0x52, 0x0a, 0x5f, 0x22, 0x18, 0x97, 0xc8, 0x78,
+	0x25, 0xf1, 0x16, 0x1c, 0xea, 0x9f, 0x8b, 0xab, 0x7d, 0x2c, 0x64, 0x4a, 0xd4, 0x38, 0xf6, 0x15,
+	0x65, 0x8d, 0x63, 0x73, 0xac, 0x64, 0x70, 0xf9, 0x47, 0x80, 0x91, 0xb0, 0x61, 0x22, 0xe8, 0xe8,
+	0xf1, 0x6a, 0xa2, 0x0e, 0x87, 0x7b, 0xad, 0x74, 0xbf, 0xd7, 0x38, 0xf6, 0x2a, 0x5e, 0x1e, 0x80,
+	0x8d, 0xbf, 0x44, 0x00, 0xdd, 0xb6, 0x18, 0x5f, 0x48, 0x16, 0xce, 0x48, 0x7f, 0x5e, 0xbc, 0xd8,
+	0xdf, 0x48, 0xba, 0x1f, 0xa5, 0x90, 0x24, 0xab, 0xb2, 0xa3, 0xfe, 0x13, 0xc1, 0x7c, 0x72, 0xdf,
+	0x8a, 0xab, 0x7d, 0x90, 0x12, 0x85, 0x7f, 0xfd, 0xe4, 0x0b, 0x24, 0xcd, 0xe8, 0x37, 0x2a, 0x3d,
+	0x52, 0x3d, 0x1f, 0x01, 0x0f, 0x72, 0xa1, 0xde, 0x37, 0x49, 0xca, 0xe2, 0xad, 0x71, 0x6a, 0xfd,
+	0xc8, 0x50, 0x95, 0x07, 0x9d, 0xd6, 0xdd, 0x63, 0x98, 0x6b, 0xd9, 0x66, 0x0c, 0xeb, 0x6e, 0x4e,
+	0xf4, 0x68, 0x7b, 0x6c, 0xdb, 0x3d, 0xf4, 0xc9, 0x0d, 0x69, 0xd0, 0xb6, 0x0d, 0xd5, 0x6a, 0x57,
+	0x6c, 0xb7, 0x5d, 0x6d, 0x13, 0x8b, 0x83, 0x56, 0xc5, 0x94, 0xea, 0xe8, 0xb4, 0xfb, 0xd3, 0xef,
+	0x96, 0x78, 0xfa, 0x17, 0xa1, 0x3f, 0x32, 0xf3, 0xf7, 0xc5, 0xda, 0x6d, 0xc3, 0xf6, 0x35, 0x96,
+	0xd3, 0xfb, 0x7e, 0xb3, 0xf2, 0xf1, 0xb5, 0xe6, 0x18, 0x5f, 0xfe, 0xf6, 0x7f, 0x01, 0x00, 0x00,
+	0xff, 0xff, 0x55, 0x80, 0x87, 0xa0, 0x32, 0x14, 0x00, 0x00,
 }
diff --git a/googleapis/pubsub/v1/pubsub.proto b/googleapis/pubsub/v1/pubsub.proto
deleted file mode 100644
index 462e52763a121848769ae26bf979ba77ea2d94d6..0000000000000000000000000000000000000000
--- a/googleapis/pubsub/v1/pubsub.proto
+++ /dev/null
@@ -1,435 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.pubsub.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "PubsubProto";
-option java_package = "com.google.pubsub.v1";
-
-
-// The service that an application uses to manipulate subscriptions and to
-// consume messages from a subscription via the `Pull` method.
-service Subscriber {
-  // Creates a subscription to a given topic.
-  // If the subscription already exists, returns `ALREADY_EXISTS`.
-  // If the corresponding topic doesn't exist, returns `NOT_FOUND`.
-  //
-  // If the name is not provided in the request, the server will assign a random
-  // name for this subscription on the same project as the topic. Note that
-  // for REST API requests, you must specify a name.
-  rpc CreateSubscription(Subscription) returns (Subscription) {
-    option (google.api.http) = { put: "/v1/{name=projects/*/subscriptions/*}" body: "*" };
-  }
-
-  // Gets the configuration details of a subscription.
-  rpc GetSubscription(GetSubscriptionRequest) returns (Subscription) {
-    option (google.api.http) = { get: "/v1/{subscription=projects/*/subscriptions/*}" };
-  }
-
-  // Lists matching subscriptions.
-  rpc ListSubscriptions(ListSubscriptionsRequest) returns (ListSubscriptionsResponse) {
-    option (google.api.http) = { get: "/v1/{project=projects/*}/subscriptions" };
-  }
-
-  // Deletes an existing subscription. All pending messages in the subscription
-  // are immediately dropped. Calls to `Pull` after deletion will return
-  // `NOT_FOUND`. After a subscription is deleted, a new one may be created with
-  // the same name, but the new one has no association with the old
-  // subscription, or its topic unless the same topic is specified.
-  rpc DeleteSubscription(DeleteSubscriptionRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{subscription=projects/*/subscriptions/*}" };
-  }
-
-  // Modifies the ack deadline for a specific message. This method is useful
-  // to indicate that more time is needed to process a message by the
-  // subscriber, or to make the message available for redelivery if the
-  // processing was interrupted. Note that this does not modify the
-  // subscription-level `ackDeadlineSeconds` used for subsequent messages.
-  rpc ModifyAckDeadline(ModifyAckDeadlineRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{subscription=projects/*/subscriptions/*}:modifyAckDeadline" body: "*" };
-  }
-
-  // Acknowledges the messages associated with the `ack_ids` in the
-  // `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
-  // from the subscription.
-  //
-  // Acknowledging a message whose ack deadline has expired may succeed,
-  // but such a message may be redelivered later. Acknowledging a message more
-  // than once will not result in an error.
-  rpc Acknowledge(AcknowledgeRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{subscription=projects/*/subscriptions/*}:acknowledge" body: "*" };
-  }
-
-  // Pulls messages from the server. Returns an empty list if there are no
-  // messages available in the backlog. The server may return `UNAVAILABLE` if
-  // there are too many concurrent pull requests pending for the given
-  // subscription.
-  rpc Pull(PullRequest) returns (PullResponse) {
-    option (google.api.http) = { post: "/v1/{subscription=projects/*/subscriptions/*}:pull" body: "*" };
-  }
-
-  // Modifies the `PushConfig` for a specified subscription.
-  //
-  // This may be used to change a push subscription to a pull one (signified by
-  // an empty `PushConfig`) or vice versa, or change the endpoint URL and other
-  // attributes of a push subscription. Messages will accumulate for delivery
-  // continuously through the call regardless of changes to the `PushConfig`.
-  rpc ModifyPushConfig(ModifyPushConfigRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{subscription=projects/*/subscriptions/*}:modifyPushConfig" body: "*" };
-  }
-}
-
-// The service that an application uses to manipulate topics, and to send
-// messages to a topic.
-service Publisher {
-  // Creates the given topic with the given name.
-  rpc CreateTopic(Topic) returns (Topic) {
-    option (google.api.http) = { put: "/v1/{name=projects/*/topics/*}" body: "*" };
-  }
-
-  // Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic
-  // does not exist. The message payload must not be empty; it must contain
-  //  either a non-empty data field, or at least one attribute.
-  rpc Publish(PublishRequest) returns (PublishResponse) {
-    option (google.api.http) = { post: "/v1/{topic=projects/*/topics/*}:publish" body: "*" };
-  }
-
-  // Gets the configuration of a topic.
-  rpc GetTopic(GetTopicRequest) returns (Topic) {
-    option (google.api.http) = { get: "/v1/{topic=projects/*/topics/*}" };
-  }
-
-  // Lists matching topics.
-  rpc ListTopics(ListTopicsRequest) returns (ListTopicsResponse) {
-    option (google.api.http) = { get: "/v1/{project=projects/*}/topics" };
-  }
-
-  // Lists the name of the subscriptions for this topic.
-  rpc ListTopicSubscriptions(ListTopicSubscriptionsRequest) returns (ListTopicSubscriptionsResponse) {
-    option (google.api.http) = { get: "/v1/{topic=projects/*/topics/*}/subscriptions" };
-  }
-
-  // Deletes the topic with the given name. Returns `NOT_FOUND` if the topic
-  // does not exist. After a topic is deleted, a new topic may be created with
-  // the same name; this is an entirely new topic with none of the old
-  // configuration or subscriptions. Existing subscriptions to this topic are
-  // not deleted, but their `topic` field is set to `_deleted-topic_`.
-  rpc DeleteTopic(DeleteTopicRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{topic=projects/*/topics/*}" };
-  }
-}
-
-// A topic resource.
-message Topic {
-  // The name of the topic. It must have the format
-  // `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
-  // and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
-  // underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
-  // signs (`%`). It must be between 3 and 255 characters in length, and it
-  // must not start with `"goog"`.
-  string name = 1;
-}
-
-// A message data and its attributes. The message payload must not be empty;
-// it must contain either a non-empty data field, or at least one attribute.
-message PubsubMessage {
-  // The message payload. For JSON requests, the value of this field must be
-  // [base64-encoded](https://tools.ietf.org/html/rfc4648).
-  bytes data = 1;
-
-  // Optional attributes for this message.
-  map<string, string> attributes = 2;
-
-  // ID of this message, assigned by the server when the message is published.
-  // Guaranteed to be unique within the topic. This value may be read by a
-  // subscriber that receives a `PubsubMessage` via a `Pull` call or a push
-  // delivery. It must not be populated by the publisher in a `Publish` call.
-  string message_id = 3;
-
-  // The time at which the message was published, populated by the server when
-  // it receives the `Publish` call. It must not be populated by the
-  // publisher in a `Publish` call.
-  google.protobuf.Timestamp publish_time = 4;
-}
-
-// Request for the GetTopic method.
-message GetTopicRequest {
-  // The name of the topic to get.
-  string topic = 1;
-}
-
-// Request for the Publish method.
-message PublishRequest {
-  // The messages in the request will be published on this topic.
-  string topic = 1;
-
-  // The messages to publish.
-  repeated PubsubMessage messages = 2;
-}
-
-// Response for the `Publish` method.
-message PublishResponse {
-  // The server-assigned ID of each published message, in the same order as
-  // the messages in the request. IDs are guaranteed to be unique within
-  // the topic.
-  repeated string message_ids = 1;
-}
-
-// Request for the `ListTopics` method.
-message ListTopicsRequest {
-  // The name of the cloud project that topics belong to.
-  string project = 1;
-
-  // Maximum number of topics to return.
-  int32 page_size = 2;
-
-  // The value returned by the last `ListTopicsResponse`; indicates that this is
-  // a continuation of a prior `ListTopics` call, and that the system should
-  // return the next page of data.
-  string page_token = 3;
-}
-
-// Response for the `ListTopics` method.
-message ListTopicsResponse {
-  // The resulting topics.
-  repeated Topic topics = 1;
-
-  // If not empty, indicates that there may be more topics that match the
-  // request; this value should be passed in a new `ListTopicsRequest`.
-  string next_page_token = 2;
-}
-
-// Request for the `ListTopicSubscriptions` method.
-message ListTopicSubscriptionsRequest {
-  // The name of the topic that subscriptions are attached to.
-  string topic = 1;
-
-  // Maximum number of subscription names to return.
-  int32 page_size = 2;
-
-  // The value returned by the last `ListTopicSubscriptionsResponse`; indicates
-  // that this is a continuation of a prior `ListTopicSubscriptions` call, and
-  // that the system should return the next page of data.
-  string page_token = 3;
-}
-
-// Response for the `ListTopicSubscriptions` method.
-message ListTopicSubscriptionsResponse {
-  // The names of the subscriptions that match the request.
-  repeated string subscriptions = 1;
-
-  // If not empty, indicates that there may be more subscriptions that match
-  // the request; this value should be passed in a new
-  // `ListTopicSubscriptionsRequest` to get more subscriptions.
-  string next_page_token = 2;
-}
-
-// Request for the `DeleteTopic` method.
-message DeleteTopicRequest {
-  // Name of the topic to delete.
-  string topic = 1;
-}
-
-// A subscription resource.
-message Subscription {
-  // The name of the subscription. It must have the format
-  // `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
-  // start with a letter, and contain only letters (`[A-Za-z]`), numbers
-  // (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
-  // plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
-  // in length, and it must not start with `"goog"`.
-  string name = 1;
-
-  // The name of the topic from which this subscription is receiving messages.
-  // The value of this field will be `_deleted-topic_` if the topic has been
-  // deleted.
-  string topic = 2;
-
-  // If push delivery is used with this subscription, this field is
-  // used to configure it. An empty `pushConfig` signifies that the subscriber
-  // will pull and ack messages using API methods.
-  PushConfig push_config = 4;
-
-  // This value is the maximum time after a subscriber receives a message
-  // before the subscriber should acknowledge the message. After message
-  // delivery but before the ack deadline expires and before the message is
-  // acknowledged, it is an outstanding message and will not be delivered
-  // again during that time (on a best-effort basis).
-  //
-  // For pull subscriptions, this value is used as the initial value for the ack
-  // deadline. To override this value for a given message, call
-  // `ModifyAckDeadline` with the corresponding `ack_id` if using
-  // pull.
-  // The maximum custom deadline you can specify is 600 seconds (10 minutes).
-  //
-  // For push delivery, this value is also used to set the request timeout for
-  // the call to the push endpoint.
-  //
-  // If the subscriber never acknowledges the message, the Pub/Sub
-  // system will eventually redeliver the message.
-  //
-  // If this parameter is 0, a default value of 10 seconds is used.
-  int32 ack_deadline_seconds = 5;
-}
-
-// Configuration for a push delivery endpoint.
-message PushConfig {
-  // A URL locating the endpoint to which messages should be pushed.
-  // For example, a Webhook endpoint might use "https://example.com/push".
-  string push_endpoint = 1;
-
-  // Endpoint configuration attributes.
-  //
-  // Every endpoint has a set of API supported attributes that can be used to
-  // control different aspects of the message delivery.
-  //
-  // The currently supported attribute is `x-goog-version`, which you can
-  // use to change the format of the push message. This attribute
-  // indicates the version of the data expected by the endpoint. This
-  // controls the shape of the envelope (i.e. its fields and metadata).
-  // The endpoint version is based on the version of the Pub/Sub
-  // API.
-  //
-  // If not present during the `CreateSubscription` call, it will default to
-  // the version of the API used to make such call. If not present during a
-  // `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
-  // calls will always return a valid version, even if the subscription was
-  // created without this attribute.
-  //
-  // The possible values for this attribute are:
-  //
-  // * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
-  // * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
-  map<string, string> attributes = 2;
-}
-
-// A message and its corresponding acknowledgment ID.
-message ReceivedMessage {
-  // This ID can be used to acknowledge the received message.
-  string ack_id = 1;
-
-  // The message.
-  PubsubMessage message = 2;
-}
-
-// Request for the GetSubscription method.
-message GetSubscriptionRequest {
-  // The name of the subscription to get.
-  string subscription = 1;
-}
-
-// Request for the `ListSubscriptions` method.
-message ListSubscriptionsRequest {
-  // The name of the cloud project that subscriptions belong to.
-  string project = 1;
-
-  // Maximum number of subscriptions to return.
-  int32 page_size = 2;
-
-  // The value returned by the last `ListSubscriptionsResponse`; indicates that
-  // this is a continuation of a prior `ListSubscriptions` call, and that the
-  // system should return the next page of data.
-  string page_token = 3;
-}
-
-// Response for the `ListSubscriptions` method.
-message ListSubscriptionsResponse {
-  // The subscriptions that match the request.
-  repeated Subscription subscriptions = 1;
-
-  // If not empty, indicates that there may be more subscriptions that match
-  // the request; this value should be passed in a new
-  // `ListSubscriptionsRequest` to get more subscriptions.
-  string next_page_token = 2;
-}
-
-// Request for the DeleteSubscription method.
-message DeleteSubscriptionRequest {
-  // The subscription to delete.
-  string subscription = 1;
-}
-
-// Request for the ModifyPushConfig method.
-message ModifyPushConfigRequest {
-  // The name of the subscription.
-  string subscription = 1;
-
-  // The push configuration for future deliveries.
-  //
-  // An empty `pushConfig` indicates that the Pub/Sub system should
-  // stop pushing messages from the given subscription and allow
-  // messages to be pulled and acknowledged - effectively pausing
-  // the subscription if `Pull` is not called.
-  PushConfig push_config = 2;
-}
-
-// Request for the `Pull` method.
-message PullRequest {
-  // The subscription from which messages should be pulled.
-  string subscription = 1;
-
-  // If this is specified as true the system will respond immediately even if
-  // it is not able to return a message in the `Pull` response. Otherwise the
-  // system is allowed to wait until at least one message is available rather
-  // than returning no messages. The client may cancel the request if it does
-  // not wish to wait any longer for the response.
-  bool return_immediately = 2;
-
-  // The maximum number of messages returned for this request. The Pub/Sub
-  // system may return fewer than the number specified.
-  int32 max_messages = 3;
-}
-
-// Response for the `Pull` method.
-message PullResponse {
-  // Received Pub/Sub messages. The Pub/Sub system will return zero messages if
-  // there are no more available in the backlog. The Pub/Sub system may return
-  // fewer than the `maxMessages` requested even if there are more messages
-  // available in the backlog.
-  repeated ReceivedMessage received_messages = 1;
-}
-
-// Request for the ModifyAckDeadline method.
-message ModifyAckDeadlineRequest {
-  // The name of the subscription.
-  string subscription = 1;
-
-  // List of acknowledgment IDs.
-  repeated string ack_ids = 4;
-
-  // The new ack deadline with respect to the time this request was sent to
-  // the Pub/Sub system. Must be >= 0. For example, if the value is 10, the new
-  // ack deadline will expire 10 seconds after the `ModifyAckDeadline` call
-  // was made. Specifying zero may immediately make the message available for
-  // another pull request.
-  int32 ack_deadline_seconds = 3;
-}
-
-// Request for the Acknowledge method.
-message AcknowledgeRequest {
-  // The subscription whose message is being acknowledged.
-  string subscription = 1;
-
-  // The acknowledgment ID for the messages being acknowledged that was returned
-  // by the Pub/Sub system in the `Pull` response. Must not be empty.
-  repeated string ack_ids = 2;
-}
diff --git a/googleapis/pubsub/v1beta2/pubsub.pb.go b/googleapis/pubsub/v1beta2/pubsub.pb.go
index d4d92dc8f8f62d41debdd4745740ce8a064fb0cd..21621f002e8fc41d64edea15090cafbcb82947da 100644
--- a/googleapis/pubsub/v1beta2/pubsub.pb.go
+++ b/googleapis/pubsub/v1beta2/pubsub.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/pubsub/v1beta2/pubsub.proto
+// source: google/pubsub/v1beta2/pubsub.proto
 // DO NOT EDIT!
 
 /*
-Package google_pubsub_v1beta2 is a generated protocol buffer package.
+Package pubsub is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/pubsub/v1beta2/pubsub.proto
+	google/pubsub/v1beta2/pubsub.proto
 
 It has these top-level messages:
 	Topic
@@ -32,7 +32,7 @@ It has these top-level messages:
 	ModifyAckDeadlineRequest
 	AcknowledgeRequest
 */
-package google_pubsub_v1beta2 // import "google.golang.org/genproto/googleapis/pubsub/v1beta2"
+package pubsub
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -66,6 +66,13 @@ func (m *Topic) String() string            { return proto.CompactTextString(m) }
 func (*Topic) ProtoMessage()               {}
 func (*Topic) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Topic) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // A message data and its attributes.
 type PubsubMessage struct {
 	// The message payload. For JSON requests, the value of this field must be
@@ -85,6 +92,13 @@ func (m *PubsubMessage) String() string            { return proto.CompactTextStr
 func (*PubsubMessage) ProtoMessage()               {}
 func (*PubsubMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *PubsubMessage) GetData() []byte {
+	if m != nil {
+		return m.Data
+	}
+	return nil
+}
+
 func (m *PubsubMessage) GetAttributes() map[string]string {
 	if m != nil {
 		return m.Attributes
@@ -92,6 +106,13 @@ func (m *PubsubMessage) GetAttributes() map[string]string {
 	return nil
 }
 
+func (m *PubsubMessage) GetMessageId() string {
+	if m != nil {
+		return m.MessageId
+	}
+	return ""
+}
+
 // Request for the GetTopic method.
 type GetTopicRequest struct {
 	// The name of the topic to get.
@@ -103,6 +124,13 @@ func (m *GetTopicRequest) String() string            { return proto.CompactTextS
 func (*GetTopicRequest) ProtoMessage()               {}
 func (*GetTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *GetTopicRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 // Request for the Publish method.
 type PublishRequest struct {
 	// The messages in the request will be published on this topic.
@@ -116,6 +144,13 @@ func (m *PublishRequest) String() string            { return proto.CompactTextSt
 func (*PublishRequest) ProtoMessage()               {}
 func (*PublishRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *PublishRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 func (m *PublishRequest) GetMessages() []*PubsubMessage {
 	if m != nil {
 		return m.Messages
@@ -136,6 +171,13 @@ func (m *PublishResponse) String() string            { return proto.CompactTextS
 func (*PublishResponse) ProtoMessage()               {}
 func (*PublishResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *PublishResponse) GetMessageIds() []string {
+	if m != nil {
+		return m.MessageIds
+	}
+	return nil
+}
+
 // Request for the ListTopics method.
 type ListTopicsRequest struct {
 	// The name of the cloud project that topics belong to.
@@ -153,6 +195,27 @@ func (m *ListTopicsRequest) String() string            { return proto.CompactTex
 func (*ListTopicsRequest) ProtoMessage()               {}
 func (*ListTopicsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *ListTopicsRequest) GetProject() string {
+	if m != nil {
+		return m.Project
+	}
+	return ""
+}
+
+func (m *ListTopicsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListTopicsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the ListTopics method.
 type ListTopicsResponse struct {
 	// The resulting topics.
@@ -174,6 +237,13 @@ func (m *ListTopicsResponse) GetTopics() []*Topic {
 	return nil
 }
 
+func (m *ListTopicsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the ListTopicSubscriptions method.
 type ListTopicSubscriptionsRequest struct {
 	// The name of the topic that subscriptions are attached to.
@@ -191,6 +261,27 @@ func (m *ListTopicSubscriptionsRequest) String() string            { return prot
 func (*ListTopicSubscriptionsRequest) ProtoMessage()               {}
 func (*ListTopicSubscriptionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *ListTopicSubscriptionsRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
+func (m *ListTopicSubscriptionsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListTopicSubscriptionsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the ListTopicSubscriptions method.
 type ListTopicSubscriptionsResponse struct {
 	// The names of the subscriptions that match the request.
@@ -206,6 +297,20 @@ func (m *ListTopicSubscriptionsResponse) String() string            { return pro
 func (*ListTopicSubscriptionsResponse) ProtoMessage()               {}
 func (*ListTopicSubscriptionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *ListTopicSubscriptionsResponse) GetSubscriptions() []string {
+	if m != nil {
+		return m.Subscriptions
+	}
+	return nil
+}
+
+func (m *ListTopicSubscriptionsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the DeleteTopic method.
 type DeleteTopicRequest struct {
 	// Name of the topic to delete.
@@ -217,6 +322,13 @@ func (m *DeleteTopicRequest) String() string            { return proto.CompactTe
 func (*DeleteTopicRequest) ProtoMessage()               {}
 func (*DeleteTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *DeleteTopicRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 // A subscription resource.
 type Subscription struct {
 	// Name of the subscription.
@@ -252,6 +364,20 @@ func (m *Subscription) String() string            { return proto.CompactTextStri
 func (*Subscription) ProtoMessage()               {}
 func (*Subscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *Subscription) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Subscription) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 func (m *Subscription) GetPushConfig() *PushConfig {
 	if m != nil {
 		return m.PushConfig
@@ -259,6 +385,13 @@ func (m *Subscription) GetPushConfig() *PushConfig {
 	return nil
 }
 
+func (m *Subscription) GetAckDeadlineSeconds() int32 {
+	if m != nil {
+		return m.AckDeadlineSeconds
+	}
+	return 0
+}
+
 // Configuration for a push delivery endpoint.
 type PushConfig struct {
 	// A URL locating the endpoint to which messages should be pushed.
@@ -295,6 +428,13 @@ func (m *PushConfig) String() string            { return proto.CompactTextString
 func (*PushConfig) ProtoMessage()               {}
 func (*PushConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *PushConfig) GetPushEndpoint() string {
+	if m != nil {
+		return m.PushEndpoint
+	}
+	return ""
+}
+
 func (m *PushConfig) GetAttributes() map[string]string {
 	if m != nil {
 		return m.Attributes
@@ -315,6 +455,13 @@ func (m *ReceivedMessage) String() string            { return proto.CompactTextS
 func (*ReceivedMessage) ProtoMessage()               {}
 func (*ReceivedMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *ReceivedMessage) GetAckId() string {
+	if m != nil {
+		return m.AckId
+	}
+	return ""
+}
+
 func (m *ReceivedMessage) GetMessage() *PubsubMessage {
 	if m != nil {
 		return m.Message
@@ -333,6 +480,13 @@ func (m *GetSubscriptionRequest) String() string            { return proto.Compa
 func (*GetSubscriptionRequest) ProtoMessage()               {}
 func (*GetSubscriptionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *GetSubscriptionRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
 // Request for the ListSubscriptions method.
 type ListSubscriptionsRequest struct {
 	// The name of the cloud project that subscriptions belong to.
@@ -350,6 +504,27 @@ func (m *ListSubscriptionsRequest) String() string            { return proto.Com
 func (*ListSubscriptionsRequest) ProtoMessage()               {}
 func (*ListSubscriptionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
 
+func (m *ListSubscriptionsRequest) GetProject() string {
+	if m != nil {
+		return m.Project
+	}
+	return ""
+}
+
+func (m *ListSubscriptionsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListSubscriptionsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the ListSubscriptions method.
 type ListSubscriptionsResponse struct {
 	// The subscriptions that match the request.
@@ -372,6 +547,13 @@ func (m *ListSubscriptionsResponse) GetSubscriptions() []*Subscription {
 	return nil
 }
 
+func (m *ListSubscriptionsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the DeleteSubscription method.
 type DeleteSubscriptionRequest struct {
 	// The subscription to delete.
@@ -383,6 +565,13 @@ func (m *DeleteSubscriptionRequest) String() string            { return proto.Co
 func (*DeleteSubscriptionRequest) ProtoMessage()               {}
 func (*DeleteSubscriptionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
 
+func (m *DeleteSubscriptionRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
 // Request for the ModifyPushConfig method.
 type ModifyPushConfigRequest struct {
 	// The name of the subscription.
@@ -401,6 +590,13 @@ func (m *ModifyPushConfigRequest) String() string            { return proto.Comp
 func (*ModifyPushConfigRequest) ProtoMessage()               {}
 func (*ModifyPushConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
 
+func (m *ModifyPushConfigRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
 func (m *ModifyPushConfigRequest) GetPushConfig() *PushConfig {
 	if m != nil {
 		return m.PushConfig
@@ -428,6 +624,27 @@ func (m *PullRequest) String() string            { return proto.CompactTextStrin
 func (*PullRequest) ProtoMessage()               {}
 func (*PullRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
 
+func (m *PullRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
+func (m *PullRequest) GetReturnImmediately() bool {
+	if m != nil {
+		return m.ReturnImmediately
+	}
+	return false
+}
+
+func (m *PullRequest) GetMaxMessages() int32 {
+	if m != nil {
+		return m.MaxMessages
+	}
+	return 0
+}
+
 // Response for the Pull method.
 type PullResponse struct {
 	// Received Pub/Sub messages. The Pub/Sub system will return zero messages if
@@ -468,6 +685,27 @@ func (m *ModifyAckDeadlineRequest) String() string            { return proto.Com
 func (*ModifyAckDeadlineRequest) ProtoMessage()               {}
 func (*ModifyAckDeadlineRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
 
+func (m *ModifyAckDeadlineRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
+func (m *ModifyAckDeadlineRequest) GetAckId() string {
+	if m != nil {
+		return m.AckId
+	}
+	return ""
+}
+
+func (m *ModifyAckDeadlineRequest) GetAckDeadlineSeconds() int32 {
+	if m != nil {
+		return m.AckDeadlineSeconds
+	}
+	return 0
+}
+
 // Request for the Acknowledge method.
 type AcknowledgeRequest struct {
 	// The subscription whose message is being acknowledged.
@@ -482,6 +720,20 @@ func (m *AcknowledgeRequest) String() string            { return proto.CompactTe
 func (*AcknowledgeRequest) ProtoMessage()               {}
 func (*AcknowledgeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
 
+func (m *AcknowledgeRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
+func (m *AcknowledgeRequest) GetAckIds() []string {
+	if m != nil {
+		return m.AckIds
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*Topic)(nil), "google.pubsub.v1beta2.Topic")
 	proto.RegisterType((*PubsubMessage)(nil), "google.pubsub.v1beta2.PubsubMessage")
@@ -877,7 +1129,7 @@ var _Subscriber_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/pubsub/v1beta2/pubsub.proto",
+	Metadata: "google/pubsub/v1beta2/pubsub.proto",
 }
 
 // Client API for Publisher service
@@ -1128,83 +1380,81 @@ var _Publisher_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/pubsub/v1beta2/pubsub.proto",
+	Metadata: "google/pubsub/v1beta2/pubsub.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/pubsub/v1beta2/pubsub.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/pubsub/v1beta2/pubsub.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1118 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x57, 0xdb, 0x6e, 0xdb, 0x46,
-	0x13, 0x06, 0x25, 0x9f, 0x34, 0x94, 0x7f, 0xdb, 0x8b, 0xc4, 0x91, 0x95, 0x3f, 0xad, 0xc3, 0xa4,
-	0xae, 0x13, 0x20, 0x52, 0xa2, 0xb8, 0x40, 0x51, 0xf4, 0x64, 0x27, 0x46, 0x20, 0xa0, 0x46, 0x15,
-	0xda, 0x17, 0x45, 0x51, 0x44, 0xa0, 0xc8, 0xb5, 0xb4, 0x15, 0x45, 0x32, 0xdc, 0xa5, 0x6b, 0xe5,
-	0xae, 0x28, 0x8a, 0xf6, 0xaa, 0x8f, 0xd2, 0x57, 0xe8, 0x45, 0x1f, 0xa2, 0xaf, 0x53, 0x70, 0x77,
-	0x49, 0x91, 0x36, 0x57, 0xa6, 0x1d, 0xf4, 0x46, 0x20, 0x67, 0xe7, 0xf0, 0xcd, 0xec, 0x7c, 0xc3,
-	0x11, 0xec, 0x0f, 0x7d, 0x7f, 0xe8, 0xe2, 0xd6, 0xd0, 0x77, 0x2d, 0x6f, 0xd8, 0xf2, 0xc3, 0x61,
-	0x7b, 0x88, 0xbd, 0x20, 0xf4, 0x99, 0xdf, 0x16, 0x47, 0x56, 0x40, 0x68, 0x3b, 0x88, 0x06, 0x34,
-	0x1a, 0xb4, 0xcf, 0x9e, 0x0d, 0x30, 0xb3, 0x3a, 0xf2, 0xb5, 0xc5, 0xd5, 0xd0, 0x6d, 0xe9, 0x42,
-	0x0a, 0xa5, 0x4e, 0xf3, 0xf9, 0x90, 0xb0, 0x51, 0x34, 0x68, 0xd9, 0xfe, 0xa4, 0x2d, 0xbc, 0xb7,
-	0xb9, 0xfe, 0x20, 0x3a, 0x6d, 0x07, 0x6c, 0x1a, 0x60, 0xda, 0xc6, 0x93, 0x80, 0x4d, 0xc5, 0xaf,
-	0xf0, 0x65, 0xdc, 0x85, 0xc5, 0x13, 0x3f, 0x20, 0x36, 0x42, 0xb0, 0xe0, 0x59, 0x13, 0xdc, 0xd0,
-	0xb6, 0xb5, 0xdd, 0x9a, 0xc9, 0x9f, 0x8d, 0x7f, 0x34, 0x58, 0xed, 0xf1, 0x20, 0x47, 0x98, 0x52,
-	0x6b, 0x88, 0x63, 0x2d, 0xc7, 0x62, 0x16, 0xd7, 0xaa, 0x9b, 0xfc, 0x19, 0x9d, 0x00, 0x58, 0x8c,
-	0x85, 0x64, 0x10, 0x31, 0x4c, 0x1b, 0x95, 0xed, 0xea, 0xae, 0xde, 0xd9, 0x6b, 0x15, 0x62, 0x6c,
-	0xe5, 0xbc, 0xb5, 0xf6, 0x53, 0xb3, 0x43, 0x8f, 0x85, 0x53, 0x33, 0xe3, 0x07, 0xdd, 0x03, 0x98,
-	0x08, 0xb5, 0x3e, 0x71, 0x1a, 0x55, 0x8e, 0xaa, 0x26, 0x25, 0x5d, 0xa7, 0xf9, 0x05, 0xac, 0x5d,
-	0xb0, 0x46, 0xeb, 0x50, 0x1d, 0xe3, 0xa9, 0x4c, 0x20, 0x7e, 0x44, 0xb7, 0x60, 0xf1, 0xcc, 0x72,
-	0x23, 0xdc, 0xa8, 0x70, 0x99, 0x78, 0xf9, 0xac, 0xf2, 0xa9, 0x66, 0x7c, 0x0c, 0x6b, 0xaf, 0x30,
-	0xe3, 0x99, 0x9b, 0xf8, 0x6d, 0x84, 0x29, 0x8b, 0x95, 0x59, 0xfc, 0x2e, 0x1d, 0x88, 0x17, 0x63,
-	0x04, 0xff, 0xeb, 0x45, 0x03, 0x97, 0xd0, 0xd1, 0x5c, 0x3d, 0xf4, 0x35, 0xac, 0x48, 0x70, 0x49,
-	0x09, 0x1e, 0x96, 0x29, 0x81, 0x99, 0x5a, 0x19, 0x1d, 0x58, 0x4b, 0x23, 0xd1, 0xc0, 0xf7, 0x28,
-	0x46, 0x1f, 0x82, 0x3e, 0xab, 0x01, 0x6d, 0x68, 0xdb, 0xd5, 0xdd, 0x9a, 0x09, 0x69, 0x11, 0xa8,
-	0x41, 0x60, 0xe3, 0x1b, 0x42, 0x45, 0x1e, 0x34, 0x01, 0xd8, 0x80, 0xe5, 0x20, 0xf4, 0x7f, 0xc4,
-	0x36, 0x93, 0x10, 0x93, 0x57, 0x74, 0x17, 0x6a, 0x41, 0xec, 0x8c, 0x92, 0x77, 0xa2, 0x26, 0x8b,
-	0xe6, 0x4a, 0x2c, 0x38, 0x26, 0xef, 0x70, 0x5c, 0x70, 0x7e, 0xc8, 0xfc, 0x31, 0xf6, 0x92, 0x82,
-	0xc7, 0x92, 0x93, 0x58, 0x60, 0x84, 0x80, 0xb2, 0xa1, 0x24, 0xc2, 0x3d, 0x58, 0xe2, 0xf9, 0x0b,
-	0x70, 0x7a, 0xe7, 0xff, 0x8a, 0xa4, 0x45, 0xa5, 0xa5, 0x2e, 0xda, 0x81, 0x35, 0x0f, 0x9f, 0xb3,
-	0x7e, 0x26, 0x9e, 0xb8, 0xa1, 0xd5, 0x58, 0xdc, 0x4b, 0x63, 0xbe, 0x85, 0x7b, 0x69, 0xcc, 0xe3,
-	0x68, 0x40, 0xed, 0x90, 0x04, 0x8c, 0xf8, 0x1e, 0x9d, 0x7f, 0x17, 0xef, 0x93, 0xa6, 0x07, 0x1f,
-	0xa8, 0x42, 0xca, 0x94, 0x1f, 0xc2, 0x2a, 0xcd, 0x1e, 0xc8, 0x6b, 0xc9, 0x0b, 0x4b, 0xa7, 0xf8,
-	0x18, 0xd0, 0x4b, 0xec, 0x62, 0x86, 0x4b, 0xf4, 0xe2, 0x9f, 0x1a, 0xd4, 0xb3, 0x98, 0x8a, 0x38,
-	0x3b, 0x33, 0xad, 0x64, 0x4b, 0x72, 0x00, 0x7a, 0x10, 0xd1, 0x51, 0xdf, 0xf6, 0xbd, 0x53, 0x32,
-	0x6c, 0x2c, 0x6c, 0x6b, 0xbb, 0x7a, 0xe7, 0xbe, 0xb2, 0x43, 0xe9, 0xe8, 0x05, 0x57, 0x34, 0x21,
-	0x48, 0x9f, 0xd1, 0x53, 0xb8, 0x65, 0xd9, 0xe3, 0xbe, 0x83, 0x2d, 0xc7, 0x25, 0x1e, 0xee, 0x53,
-	0x6c, 0xfb, 0x9e, 0x43, 0x1b, 0x8b, 0xbc, 0xc2, 0xc8, 0xb2, 0xc7, 0x2f, 0xe5, 0xd1, 0xb1, 0x38,
-	0x31, 0xfe, 0xd6, 0x00, 0x66, 0xce, 0xd0, 0x03, 0x58, 0xe5, 0x20, 0xb0, 0xe7, 0x04, 0x3e, 0xf1,
-	0x92, 0xf6, 0xac, 0xc7, 0xc2, 0x43, 0x29, 0x43, 0xaf, 0x0b, 0xa6, 0xc9, 0xb3, 0x2b, 0x81, 0xce,
-	0x1b, 0x25, 0xef, 0x3b, 0x2b, 0x46, 0xb0, 0x66, 0x62, 0x1b, 0x93, 0x33, 0xec, 0x24, 0x63, 0xf0,
-	0x36, 0x2c, 0xc5, 0xa5, 0x20, 0x4e, 0x72, 0x41, 0x96, 0x3d, 0xee, 0x3a, 0xe8, 0x4b, 0x58, 0x96,
-	0xe4, 0xe4, 0x5e, 0xca, 0xce, 0x80, 0xc4, 0xc8, 0xf8, 0x1c, 0x36, 0x5f, 0x61, 0x96, 0xbd, 0xe2,
-	0xa4, 0x21, 0x0c, 0xa8, 0x67, 0xfb, 0x2b, 0xa9, 0x5c, 0x56, 0x66, 0x04, 0xd0, 0x88, 0x5b, 0xb7,
-	0x90, 0x28, 0xff, 0xcd, 0x4c, 0xf8, 0x43, 0x83, 0xad, 0x82, 0x90, 0x92, 0x28, 0xdd, 0x22, 0xa2,
-	0xe8, 0x9d, 0x07, 0x8a, 0x9a, 0xe4, 0xd2, 0xbe, 0x21, 0x9b, 0xbe, 0x82, 0x2d, 0xc1, 0xa6, 0x9b,
-	0xd6, 0xf0, 0x67, 0x0d, 0xee, 0x1c, 0xf9, 0x0e, 0x39, 0x9d, 0x66, 0x48, 0x50, 0xde, 0xfe, 0x22,
-	0xcf, 0x2a, 0x37, 0xe0, 0x99, 0xf1, 0x8b, 0x06, 0x7a, 0x2f, 0x72, 0xdd, 0xeb, 0xc4, 0x7d, 0x02,
-	0x28, 0xc4, 0x2c, 0x0a, 0xbd, 0x3e, 0x99, 0x4c, 0xb0, 0x43, 0x2c, 0x86, 0xdd, 0x29, 0x0f, 0xbf,
-	0x62, 0x6e, 0x88, 0x93, 0xee, 0xec, 0x00, 0xdd, 0x87, 0xfa, 0xc4, 0x3a, 0xef, 0xa7, 0x5f, 0xac,
-	0x2a, 0xbf, 0x77, 0x7d, 0x62, 0x9d, 0x1f, 0x25, 0x9f, 0x23, 0x1b, 0xea, 0x02, 0x84, 0xbc, 0xcd,
-	0x63, 0xd8, 0x08, 0x25, 0x0b, 0x66, 0x76, 0xe2, 0x46, 0x77, 0x14, 0xf9, 0x5d, 0x60, 0x8d, 0xb9,
-	0x1e, 0xe6, 0x05, 0xd4, 0xf8, 0x4d, 0x83, 0x86, 0x28, 0xf7, 0xfe, 0x6c, 0x7a, 0x5c, 0x27, 0xef,
-	0x19, 0x11, 0x2b, 0x59, 0x22, 0xaa, 0x46, 0x55, 0x55, 0x39, 0xaa, 0x5e, 0x03, 0xda, 0xb7, 0xc7,
-	0x9e, 0xff, 0x93, 0x8b, 0x9d, 0xe1, 0xb5, 0x20, 0xdc, 0x81, 0x65, 0x01, 0x41, 0x4c, 0xab, 0x9a,
-	0xb9, 0xc4, 0x31, 0xd0, 0xce, 0xef, 0x4b, 0x00, 0xb2, 0x0f, 0x07, 0x38, 0x44, 0x6f, 0x00, 0xbd,
-	0x08, 0xb1, 0x95, 0xef, 0x4d, 0x54, 0x86, 0x0d, 0xcd, 0x32, 0x4a, 0x08, 0xf3, 0x95, 0x26, 0x27,
-	0x7a, 0xa2, 0xb0, 0x2b, 0x1e, 0x32, 0xe5, 0xc2, 0x9c, 0x89, 0x95, 0x23, 0x47, 0x79, 0xd4, 0x56,
-	0x58, 0xaa, 0xe6, 0x51, 0xf3, 0x69, 0x79, 0x03, 0xd9, 0x7f, 0x6f, 0x92, 0x0f, 0x65, 0x0e, 0x8d,
-	0xca, 0x8f, 0x72, 0x0a, 0x34, 0x37, 0x53, 0x0b, 0xb9, 0x1b, 0xb7, 0x0e, 0xe3, 0x75, 0x18, 0xfd,
-	0x00, 0x1b, 0x97, 0x3a, 0x51, 0x99, 0x97, 0xaa, 0x67, 0x95, 0xde, 0x7b, 0xa0, 0x67, 0xda, 0x0b,
-	0x3d, 0x52, 0xf8, 0xbd, 0xdc, 0x82, 0x4a, 0x8f, 0xdf, 0xc2, 0x42, 0xcc, 0x4f, 0x64, 0x28, 0x87,
-	0x4b, 0x3a, 0x41, 0x94, 0x17, 0x9b, 0x23, 0xf8, 0xf7, 0xb0, 0x7e, 0x71, 0xf2, 0xa1, 0xd6, 0xdc,
-	0xfc, 0x2f, 0x8d, 0x48, 0x15, 0xd8, 0xce, 0x5f, 0x0b, 0x50, 0x93, 0xcb, 0x2d, 0x0e, 0x51, 0x17,
-	0x74, 0xc1, 0x04, 0xf1, 0xcf, 0x63, 0xee, 0xce, 0xd8, 0x9c, 0x7b, 0x8a, 0xbe, 0x83, 0x65, 0xe9,
-	0x17, 0x7d, 0xa4, 0xfe, 0xd6, 0x66, 0xd6, 0xf7, 0xe6, 0xce, 0x55, 0x6a, 0xb2, 0x1c, 0x3d, 0x58,
-	0x49, 0xfe, 0x21, 0xa0, 0x1d, 0x35, 0x8f, 0xb2, 0x6b, 0xdb, 0x15, 0x58, 0x2d, 0x80, 0xd9, 0x06,
-	0x8d, 0x76, 0xe7, 0x30, 0x20, 0xb7, 0xcf, 0x37, 0x1f, 0x95, 0xd0, 0x94, 0xa0, 0x7f, 0xd5, 0x60,
-	0xb3, 0x78, 0x7d, 0x45, 0x7b, 0x57, 0x79, 0x29, 0xe4, 0xe9, 0x27, 0xd7, 0xb4, 0x4a, 0x8b, 0xa7,
-	0x67, 0xb6, 0x5a, 0x65, 0xbb, 0x5f, 0xde, 0x7c, 0x55, 0x1d, 0x74, 0xf0, 0x18, 0xb6, 0x6c, 0x7f,
-	0x52, 0xec, 0xe7, 0x40, 0x17, 0xfb, 0x54, 0x2f, 0x36, 0xe9, 0x69, 0x83, 0x25, 0x6e, 0xfb, 0xfc,
-	0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd9, 0xb1, 0x50, 0xed, 0x6b, 0x0f, 0x00, 0x00,
+	// 1107 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x5f, 0x6f, 0xdb, 0x54,
+	0x14, 0x97, 0x93, 0xfe, 0xcb, 0x71, 0x4a, 0xda, 0xab, 0xad, 0x73, 0x53, 0x06, 0x9d, 0x37, 0x4a,
+	0x86, 0xb4, 0x64, 0x0b, 0x45, 0x42, 0x8c, 0x7f, 0xed, 0x56, 0x4d, 0x91, 0xa8, 0xc8, 0xdc, 0x3e,
+	0xa0, 0x09, 0x2d, 0x72, 0xec, 0x5b, 0xc7, 0xc4, 0xb1, 0x3d, 0x5f, 0xbb, 0x34, 0x7b, 0x43, 0x08,
+	0xc1, 0x13, 0x1f, 0x85, 0xaf, 0xc0, 0x03, 0x1f, 0x82, 0xaf, 0x83, 0x7c, 0xef, 0xb5, 0x63, 0xa7,
+	0xbe, 0xa9, 0xdb, 0x89, 0x37, 0xdf, 0x73, 0xcf, 0xff, 0x73, 0x7e, 0xe7, 0x1e, 0x83, 0x6a, 0x79,
+	0x9e, 0xe5, 0xe0, 0x8e, 0x1f, 0x0d, 0x49, 0x34, 0xec, 0x9c, 0x3f, 0x19, 0xe2, 0x50, 0xef, 0xf2,
+	0x63, 0xdb, 0x0f, 0xbc, 0xd0, 0x43, 0xb7, 0x19, 0x4f, 0x9b, 0x13, 0x39, 0x4f, 0x73, 0x27, 0x11,
+	0x8d, 0x99, 0x86, 0xd1, 0x59, 0x07, 0x4f, 0xfc, 0x70, 0xca, 0x64, 0xd4, 0x1d, 0x58, 0x3e, 0xf5,
+	0x7c, 0xdb, 0x40, 0x08, 0x96, 0x5c, 0x7d, 0x82, 0x15, 0x69, 0x57, 0x6a, 0xd5, 0x34, 0xfa, 0xad,
+	0xfe, 0x2b, 0xc1, 0x7a, 0x9f, 0x2a, 0x3b, 0xc6, 0x84, 0xe8, 0x16, 0x8e, 0xb9, 0x4c, 0x3d, 0xd4,
+	0x29, 0x57, 0x5d, 0xa3, 0xdf, 0xe8, 0x14, 0x40, 0x0f, 0xc3, 0xc0, 0x1e, 0x46, 0x21, 0x26, 0x4a,
+	0x65, 0xb7, 0xda, 0x92, 0xbb, 0xfb, 0xed, 0x42, 0x5f, 0xda, 0x39, 0x6d, 0xed, 0x83, 0x54, 0xec,
+	0xc8, 0x0d, 0x83, 0xa9, 0x96, 0xd1, 0x83, 0xee, 0x02, 0x4c, 0x18, 0xdb, 0xc0, 0x36, 0x95, 0x2a,
+	0xf5, 0xaa, 0xc6, 0x29, 0x3d, 0xb3, 0xf9, 0x15, 0x34, 0xe6, 0xa4, 0xd1, 0x06, 0x54, 0xc7, 0x78,
+	0xca, 0x03, 0x88, 0x3f, 0xd1, 0x2d, 0x58, 0x3e, 0xd7, 0x9d, 0x08, 0x2b, 0x15, 0x4a, 0x63, 0x87,
+	0x2f, 0x2a, 0x9f, 0x4b, 0xea, 0xc7, 0xd0, 0x78, 0x81, 0x43, 0x1a, 0xb9, 0x86, 0xdf, 0x44, 0x98,
+	0x84, 0x31, 0x73, 0x18, 0x9f, 0xb9, 0x02, 0x76, 0x50, 0x47, 0xf0, 0x5e, 0x3f, 0x1a, 0x3a, 0x36,
+	0x19, 0x2d, 0xe4, 0x43, 0xdf, 0xc2, 0x1a, 0x77, 0x2e, 0x49, 0xc1, 0x83, 0x32, 0x29, 0xd0, 0x52,
+	0x29, 0xb5, 0x0b, 0x8d, 0xd4, 0x12, 0xf1, 0x3d, 0x97, 0x60, 0xf4, 0x21, 0xc8, 0xb3, 0x1c, 0x10,
+	0x45, 0xda, 0xad, 0xb6, 0x6a, 0x1a, 0xa4, 0x49, 0x20, 0xaa, 0x0d, 0x9b, 0xdf, 0xd9, 0x84, 0xc5,
+	0x41, 0x12, 0x07, 0x15, 0x58, 0xf5, 0x03, 0xef, 0x27, 0x6c, 0x84, 0xdc, 0xc5, 0xe4, 0x88, 0x76,
+	0xa0, 0xe6, 0xc7, 0xca, 0x88, 0xfd, 0x96, 0xe5, 0x64, 0x59, 0x5b, 0x8b, 0x09, 0x27, 0xf6, 0x5b,
+	0x1c, 0x27, 0x9c, 0x5e, 0x86, 0xde, 0x18, 0xbb, 0x49, 0xc2, 0x63, 0xca, 0x69, 0x4c, 0x50, 0x03,
+	0x40, 0x59, 0x53, 0xdc, 0xc3, 0x7d, 0x58, 0xa1, 0xf1, 0x33, 0xe7, 0xe4, 0xee, 0xfb, 0x82, 0xa0,
+	0x59, 0xa6, 0x39, 0x2f, 0xda, 0x83, 0x86, 0x8b, 0x2f, 0xc2, 0x41, 0xc6, 0x1e, 0xab, 0xd0, 0x7a,
+	0x4c, 0xee, 0xa7, 0x36, 0xdf, 0xc0, 0xdd, 0xd4, 0xe6, 0x49, 0x34, 0x24, 0x46, 0x60, 0xfb, 0xa1,
+	0xed, 0xb9, 0x64, 0x71, 0x2d, 0xde, 0x25, 0x4c, 0x17, 0x3e, 0x10, 0x99, 0xe4, 0x21, 0x3f, 0x80,
+	0x75, 0x92, 0xbd, 0xe0, 0x65, 0xc9, 0x13, 0x4b, 0x87, 0xf8, 0x09, 0xa0, 0xe7, 0xd8, 0xc1, 0x21,
+	0x2e, 0xd1, 0x8b, 0x7f, 0x49, 0x50, 0xcf, 0xfa, 0x54, 0x84, 0xd9, 0x99, 0x68, 0x25, 0x9b, 0x92,
+	0x43, 0x90, 0xfd, 0x88, 0x8c, 0x06, 0x86, 0xe7, 0x9e, 0xd9, 0x96, 0xb2, 0xb4, 0x2b, 0xb5, 0xe4,
+	0xee, 0x3d, 0x61, 0x87, 0x92, 0xd1, 0x33, 0xca, 0xa8, 0x81, 0x9f, 0x7e, 0xa3, 0xc7, 0x70, 0x4b,
+	0x37, 0xc6, 0x03, 0x13, 0xeb, 0xa6, 0x63, 0xbb, 0x78, 0x40, 0xb0, 0xe1, 0xb9, 0x26, 0x51, 0x96,
+	0x69, 0x86, 0x91, 0x6e, 0x8c, 0x9f, 0xf3, 0xab, 0x13, 0x76, 0xa3, 0xfe, 0x23, 0x01, 0xcc, 0x94,
+	0xa1, 0xfb, 0xb0, 0x4e, 0x9d, 0xc0, 0xae, 0xe9, 0x7b, 0xb6, 0x9b, 0xb4, 0x67, 0x3d, 0x26, 0x1e,
+	0x71, 0x1a, 0x7a, 0x59, 0x30, 0x4d, 0x9e, 0x5c, 0xe9, 0xe8, 0xa2, 0x51, 0xf2, 0xae, 0xb3, 0x62,
+	0x04, 0x0d, 0x0d, 0x1b, 0xd8, 0x3e, 0xc7, 0x66, 0x32, 0x06, 0x6f, 0xc3, 0x4a, 0x9c, 0x0a, 0xdb,
+	0x4c, 0x0a, 0xa4, 0x1b, 0xe3, 0x9e, 0x89, 0xbe, 0x86, 0x55, 0x0e, 0x4e, 0xaa, 0xa5, 0xec, 0x0c,
+	0x48, 0x84, 0xd4, 0x2f, 0x61, 0xeb, 0x05, 0x0e, 0xb3, 0x25, 0x4e, 0x1a, 0x42, 0x85, 0x7a, 0xb6,
+	0xbf, 0x92, 0xcc, 0x65, 0x69, 0xaa, 0x0f, 0x4a, 0xdc, 0xba, 0x85, 0x40, 0xf9, 0x7f, 0x66, 0xc2,
+	0x9f, 0x12, 0x6c, 0x17, 0x98, 0xe4, 0x40, 0xe9, 0x15, 0x01, 0x45, 0xee, 0xde, 0x17, 0xe4, 0x24,
+	0x17, 0xf6, 0x0d, 0xd1, 0xf4, 0x0d, 0x6c, 0x33, 0x34, 0xdd, 0x34, 0x87, 0xbf, 0x48, 0x70, 0xe7,
+	0xd8, 0x33, 0xed, 0xb3, 0x69, 0x06, 0x04, 0xe5, 0xe5, 0xe7, 0x71, 0x56, 0xb9, 0x01, 0xce, 0xd4,
+	0x5f, 0x25, 0x90, 0xfb, 0x91, 0xe3, 0x5c, 0xc7, 0xee, 0x23, 0x40, 0x01, 0x0e, 0xa3, 0xc0, 0x1d,
+	0xd8, 0x93, 0x09, 0x36, 0x6d, 0x3d, 0xc4, 0xce, 0x94, 0x9a, 0x5f, 0xd3, 0x36, 0xd9, 0x4d, 0x6f,
+	0x76, 0x81, 0xee, 0x41, 0x7d, 0xa2, 0x5f, 0x0c, 0xd2, 0x17, 0xab, 0x4a, 0xeb, 0x2e, 0x4f, 0xf4,
+	0x8b, 0xe3, 0xe4, 0x39, 0x32, 0xa0, 0xce, 0x9c, 0xe0, 0xd5, 0x3c, 0x81, 0xcd, 0x80, 0xa3, 0x60,
+	0x26, 0xc7, 0x2a, 0xba, 0x27, 0x88, 0x6f, 0x0e, 0x35, 0xda, 0x46, 0x90, 0x27, 0x10, 0xf5, 0x77,
+	0x09, 0x14, 0x96, 0xee, 0x83, 0xd9, 0xf4, 0xb8, 0x4e, 0xdc, 0x33, 0x20, 0x56, 0xb2, 0x40, 0x14,
+	0x8d, 0xaa, 0xaa, 0x70, 0x54, 0xbd, 0x04, 0x74, 0x60, 0x8c, 0x5d, 0xef, 0x67, 0x07, 0x9b, 0xd6,
+	0xb5, 0x5c, 0xb8, 0x03, 0xab, 0xcc, 0x05, 0x36, 0xad, 0x6a, 0xda, 0x0a, 0xf5, 0x81, 0x74, 0xff,
+	0x58, 0x01, 0xe0, 0x7d, 0x38, 0xc4, 0x01, 0x7a, 0x0d, 0xe8, 0x59, 0x80, 0xf5, 0x7c, 0x6f, 0xa2,
+	0x32, 0x68, 0x68, 0x96, 0x61, 0x42, 0x98, 0xae, 0x34, 0x39, 0xd2, 0x23, 0x81, 0x5c, 0xf1, 0x90,
+	0x29, 0x67, 0xe6, 0x9c, 0xad, 0x1c, 0x39, 0xc8, 0xa3, 0x8e, 0x40, 0x52, 0x34, 0x8f, 0x9a, 0x8f,
+	0xcb, 0x0b, 0xf0, 0xfe, 0x7b, 0x9d, 0x3c, 0x94, 0x39, 0x6f, 0x44, 0x7a, 0x84, 0x53, 0xa0, 0xb9,
+	0x95, 0x4a, 0xf0, 0x75, 0xb8, 0x7d, 0x14, 0xaf, 0xc3, 0xe8, 0x47, 0xd8, 0xbc, 0xd4, 0x89, 0xc2,
+	0xb8, 0x44, 0x3d, 0x2b, 0xd4, 0xde, 0x07, 0x39, 0xd3, 0x5e, 0xe8, 0xa1, 0x40, 0xef, 0xe5, 0x16,
+	0x14, 0x6a, 0xfc, 0x1e, 0x96, 0x62, 0x7c, 0x22, 0x55, 0x38, 0x5c, 0xd2, 0x09, 0x22, 0x2c, 0x6c,
+	0x0e, 0xe0, 0xaf, 0x60, 0x63, 0x7e, 0xf2, 0xa1, 0xf6, 0xc2, 0xf8, 0x2f, 0x8d, 0x48, 0x91, 0xb3,
+	0xdd, 0xbf, 0x97, 0xa0, 0xc6, 0x97, 0x5b, 0x1c, 0xa0, 0x1e, 0xc8, 0x0c, 0x09, 0xec, 0xcf, 0x63,
+	0xe1, 0xce, 0xd8, 0x5c, 0x78, 0x8b, 0x7e, 0x80, 0x55, 0xae, 0x17, 0x7d, 0x24, 0x7e, 0x6b, 0x33,
+	0xeb, 0x7b, 0x73, 0xef, 0x2a, 0x36, 0x9e, 0x8e, 0x3e, 0xac, 0x25, 0x7f, 0x08, 0x68, 0x4f, 0x8c,
+	0xa3, 0xec, 0xda, 0x76, 0x85, 0xaf, 0x3a, 0xc0, 0x6c, 0x83, 0x46, 0xad, 0x05, 0x08, 0xc8, 0xed,
+	0xf3, 0xcd, 0x87, 0x25, 0x38, 0xb9, 0xd3, 0xbf, 0x49, 0xb0, 0x55, 0xbc, 0xbe, 0xa2, 0xfd, 0xab,
+	0xb4, 0x14, 0xe2, 0xf4, 0xb3, 0x6b, 0x4a, 0xa5, 0xc9, 0x93, 0x33, 0x5b, 0xad, 0xb0, 0xdd, 0x2f,
+	0x6f, 0xbe, 0xa2, 0x0e, 0x3a, 0xb4, 0x60, 0xdb, 0xf0, 0x26, 0xc5, 0x7a, 0x0e, 0x65, 0xb6, 0x4f,
+	0xf5, 0x63, 0x91, 0xbe, 0xf4, 0xea, 0x29, 0xe7, 0xb2, 0x3c, 0x47, 0x77, 0xad, 0xb6, 0x17, 0x58,
+	0x1d, 0x0b, 0xbb, 0x54, 0x61, 0x87, 0x5d, 0xe9, 0xbe, 0x4d, 0xe6, 0x7e, 0xa5, 0x9f, 0xb2, 0xe3,
+	0x70, 0x85, 0xf2, 0x7d, 0xfa, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe2, 0x2d, 0xb0, 0x67, 0x71,
+	0x0f, 0x00, 0x00,
 }
diff --git a/googleapis/pubsub/v1beta2/pubsub.proto b/googleapis/pubsub/v1beta2/pubsub.proto
deleted file mode 100644
index d0acd8b33ed32beb2479f948383091f26b989872..0000000000000000000000000000000000000000
--- a/googleapis/pubsub/v1beta2/pubsub.proto
+++ /dev/null
@@ -1,383 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.pubsub.v1beta2;
-
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "PubsubProto";
-option java_package = "com.google.pubsub.v1beta2";
-
-
-// The service that an application uses to manipulate subscriptions and to
-// consume messages from a subscription via the Pull method.
-service Subscriber {
-  // Creates a subscription to a given topic for a given subscriber.
-  // If the subscription already exists, returns ALREADY_EXISTS.
-  // If the corresponding topic doesn't exist, returns NOT_FOUND.
-  //
-  // If the name is not provided in the request, the server will assign a random
-  // name for this subscription on the same project as the topic.
-  rpc CreateSubscription(Subscription) returns (Subscription);
-
-  // Gets the configuration details of a subscription.
-  rpc GetSubscription(GetSubscriptionRequest) returns (Subscription);
-
-  // Lists matching subscriptions.
-  rpc ListSubscriptions(ListSubscriptionsRequest) returns (ListSubscriptionsResponse);
-
-  // Deletes an existing subscription. All pending messages in the subscription
-  // are immediately dropped. Calls to Pull after deletion will return
-  // NOT_FOUND. After a subscription is deleted, a new one may be created with
-  // the same name, but the new one has no association with the old
-  // subscription, or its topic unless the same topic is specified.
-  rpc DeleteSubscription(DeleteSubscriptionRequest) returns (google.protobuf.Empty);
-
-  // Modifies the ack deadline for a specific message. This method is useful to
-  // indicate that more time is needed to process a message by the subscriber,
-  // or to make the message available for redelivery if the processing was
-  // interrupted.
-  rpc ModifyAckDeadline(ModifyAckDeadlineRequest) returns (google.protobuf.Empty);
-
-  // Acknowledges the messages associated with the ack tokens in the
-  // AcknowledgeRequest. The Pub/Sub system can remove the relevant messages
-  // from the subscription.
-  //
-  // Acknowledging a message whose ack deadline has expired may succeed,
-  // but such a message may be redelivered later. Acknowledging a message more
-  // than once will not result in an error.
-  rpc Acknowledge(AcknowledgeRequest) returns (google.protobuf.Empty);
-
-  // Pulls messages from the server. Returns an empty list if there are no
-  // messages available in the backlog. The server may return UNAVAILABLE if
-  // there are too many concurrent pull requests pending for the given
-  // subscription.
-  rpc Pull(PullRequest) returns (PullResponse);
-
-  // Modifies the PushConfig for a specified subscription.
-  //
-  // This may be used to change a push subscription to a pull one (signified
-  // by an empty PushConfig) or vice versa, or change the endpoint URL and other
-  // attributes of a push subscription. Messages will accumulate for
-  // delivery continuously through the call regardless of changes to the
-  // PushConfig.
-  rpc ModifyPushConfig(ModifyPushConfigRequest) returns (google.protobuf.Empty);
-}
-
-// The service that an application uses to manipulate topics, and to send
-// messages to a topic.
-service Publisher {
-  // Creates the given topic with the given name.
-  rpc CreateTopic(Topic) returns (Topic);
-
-  // Adds one or more messages to the topic. Returns NOT_FOUND if the topic does
-  // not exist.
-  rpc Publish(PublishRequest) returns (PublishResponse);
-
-  // Gets the configuration of a topic.
-  rpc GetTopic(GetTopicRequest) returns (Topic);
-
-  // Lists matching topics.
-  rpc ListTopics(ListTopicsRequest) returns (ListTopicsResponse);
-
-  // Lists the name of the subscriptions for this topic.
-  rpc ListTopicSubscriptions(ListTopicSubscriptionsRequest) returns (ListTopicSubscriptionsResponse);
-
-  // Deletes the topic with the given name. Returns NOT_FOUND if the topic does
-  // not exist. After a topic is deleted, a new topic may be created with the
-  // same name; this is an entirely new topic with none of the old
-  // configuration or subscriptions. Existing subscriptions to this topic are
-  // not deleted.
-  rpc DeleteTopic(DeleteTopicRequest) returns (google.protobuf.Empty);
-}
-
-// A topic resource.
-message Topic {
-  // Name of the topic.
-  string name = 1;
-}
-
-// A message data and its attributes.
-message PubsubMessage {
-  // The message payload. For JSON requests, the value of this field must be
-  // base64-encoded.
-  bytes data = 1;
-
-  // Optional attributes for this message.
-  map<string, string> attributes = 2;
-
-  // ID of this message assigned by the server at publication time. Guaranteed
-  // to be unique within the topic. This value may be read by a subscriber
-  // that receives a PubsubMessage via a Pull call or a push delivery. It must
-  // not be populated by a publisher in a Publish call.
-  string message_id = 3;
-}
-
-// Request for the GetTopic method.
-message GetTopicRequest {
-  // The name of the topic to get.
-  string topic = 1;
-}
-
-// Request for the Publish method.
-message PublishRequest {
-  // The messages in the request will be published on this topic.
-  string topic = 1;
-
-  // The messages to publish.
-  repeated PubsubMessage messages = 2;
-}
-
-// Response for the Publish method.
-message PublishResponse {
-  // The server-assigned ID of each published message, in the same order as
-  // the messages in the request. IDs are guaranteed to be unique within
-  // the topic.
-  repeated string message_ids = 1;
-}
-
-// Request for the ListTopics method.
-message ListTopicsRequest {
-  // The name of the cloud project that topics belong to.
-  string project = 1;
-
-  // Maximum number of topics to return.
-  int32 page_size = 2;
-
-  // The value returned by the last ListTopicsResponse; indicates that this is
-  // a continuation of a prior ListTopics call, and that the system should
-  // return the next page of data.
-  string page_token = 3;
-}
-
-// Response for the ListTopics method.
-message ListTopicsResponse {
-  // The resulting topics.
-  repeated Topic topics = 1;
-
-  // If not empty, indicates that there may be more topics that match the
-  // request; this value should be passed in a new ListTopicsRequest.
-  string next_page_token = 2;
-}
-
-// Request for the ListTopicSubscriptions method.
-message ListTopicSubscriptionsRequest {
-  // The name of the topic that subscriptions are attached to.
-  string topic = 1;
-
-  // Maximum number of subscription names to return.
-  int32 page_size = 2;
-
-  // The value returned by the last ListTopicSubscriptionsResponse; indicates
-  // that this is a continuation of a prior ListTopicSubscriptions call, and
-  // that the system should return the next page of data.
-  string page_token = 3;
-}
-
-// Response for the ListTopicSubscriptions method.
-message ListTopicSubscriptionsResponse {
-  // The names of the subscriptions that match the request.
-  repeated string subscriptions = 1;
-
-  // If not empty, indicates that there may be more subscriptions that match
-  // the request; this value should be passed in a new
-  // ListTopicSubscriptionsRequest to get more subscriptions.
-  string next_page_token = 2;
-}
-
-// Request for the DeleteTopic method.
-message DeleteTopicRequest {
-  // Name of the topic to delete.
-  string topic = 1;
-}
-
-// A subscription resource.
-message Subscription {
-  // Name of the subscription.
-  string name = 1;
-
-  // The name of the topic from which this subscription is receiving messages.
-  // This will be present if and only if the subscription has not been detached
-  // from its topic.
-  string topic = 2;
-
-  // If push delivery is used with this subscription, this field is
-  // used to configure it. An empty pushConfig signifies that the subscriber
-  // will pull and ack messages using API methods.
-  PushConfig push_config = 4;
-
-  // This value is the maximum time after a subscriber receives a message
-  // before the subscriber should acknowledge the message. After message
-  // delivery but before the ack deadline expires and before the message is
-  // acknowledged, it is an outstanding message and will not be delivered
-  // again during that time (on a best-effort basis).
-  //
-  // For pull delivery this value
-  // is used as the initial value for the ack deadline. It may be overridden
-  // for a specific message by calling ModifyAckDeadline.
-  //
-  // For push delivery, this value is also used to set the request timeout for
-  // the call to the push endpoint.
-  //
-  // If the subscriber never acknowledges the message, the Pub/Sub
-  // system will eventually redeliver the message.
-  int32 ack_deadline_seconds = 5;
-}
-
-// Configuration for a push delivery endpoint.
-message PushConfig {
-  // A URL locating the endpoint to which messages should be pushed.
-  // For example, a Webhook endpoint might use "https://example.com/push".
-  string push_endpoint = 1;
-
-  // Endpoint configuration attributes.
-  //
-  // Every endpoint has a set of API supported attributes that can be used to
-  // control different aspects of the message delivery.
-  //
-  // The currently supported attribute is `x-goog-version`, which you can
-  // use to change the format of the push message. This attribute
-  // indicates the version of the data expected by the endpoint. This
-  // controls the shape of the envelope (i.e. its fields and metadata).
-  // The endpoint version is based on the version of the Pub/Sub
-  // API.
-  //
-  // If not present during the CreateSubscription call, it will default to
-  // the version of the API used to make such call. If not present during a
-  // ModifyPushConfig call, its value will not be changed. GetSubscription
-  // calls will always return a valid version, even if the subscription was
-  // created without this attribute.
-  //
-  // The possible values for this attribute are:
-  //
-  // * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
-  // * `v1beta2`: uses the push format defined in the v1beta2 Pub/Sub API.
-  //
-  map<string, string> attributes = 2;
-}
-
-// A message and its corresponding acknowledgment ID.
-message ReceivedMessage {
-  // This ID can be used to acknowledge the received message.
-  string ack_id = 1;
-
-  // The message.
-  PubsubMessage message = 2;
-}
-
-// Request for the GetSubscription method.
-message GetSubscriptionRequest {
-  // The name of the subscription to get.
-  string subscription = 1;
-}
-
-// Request for the ListSubscriptions method.
-message ListSubscriptionsRequest {
-  // The name of the cloud project that subscriptions belong to.
-  string project = 1;
-
-  // Maximum number of subscriptions to return.
-  int32 page_size = 2;
-
-  // The value returned by the last ListSubscriptionsResponse; indicates that
-  // this is a continuation of a prior ListSubscriptions call, and that the
-  // system should return the next page of data.
-  string page_token = 3;
-}
-
-// Response for the ListSubscriptions method.
-message ListSubscriptionsResponse {
-  // The subscriptions that match the request.
-  repeated Subscription subscriptions = 1;
-
-  // If not empty, indicates that there may be more subscriptions that match
-  // the request; this value should be passed in a new ListSubscriptionsRequest
-  // to get more subscriptions.
-  string next_page_token = 2;
-}
-
-// Request for the DeleteSubscription method.
-message DeleteSubscriptionRequest {
-  // The subscription to delete.
-  string subscription = 1;
-}
-
-// Request for the ModifyPushConfig method.
-message ModifyPushConfigRequest {
-  // The name of the subscription.
-  string subscription = 1;
-
-  // The push configuration for future deliveries.
-  //
-  // An empty pushConfig indicates that the Pub/Sub system should
-  // stop pushing messages from the given subscription and allow
-  // messages to be pulled and acknowledged - effectively pausing
-  // the subscription if Pull is not called.
-  PushConfig push_config = 2;
-}
-
-// Request for the Pull method.
-message PullRequest {
-  // The subscription from which messages should be pulled.
-  string subscription = 1;
-
-  // If this is specified as true the system will respond immediately even if
-  // it is not able to return a message in the Pull response. Otherwise the
-  // system is allowed to wait until at least one message is available rather
-  // than returning no messages. The client may cancel the request if it does
-  // not wish to wait any longer for the response.
-  bool return_immediately = 2;
-
-  // The maximum number of messages returned for this request. The Pub/Sub
-  // system may return fewer than the number specified.
-  int32 max_messages = 3;
-}
-
-// Response for the Pull method.
-message PullResponse {
-  // Received Pub/Sub messages. The Pub/Sub system will return zero messages if
-  // there are no more available in the backlog. The Pub/Sub system may return
-  // fewer than the maxMessages requested even if there are more messages
-  // available in the backlog.
-  repeated ReceivedMessage received_messages = 1;
-}
-
-// Request for the ModifyAckDeadline method.
-message ModifyAckDeadlineRequest {
-  // The name of the subscription.
-  string subscription = 1;
-
-  // The acknowledgment ID.
-  string ack_id = 2;
-
-  // The new ack deadline with respect to the time this request was sent to the
-  // Pub/Sub system. Must be >= 0. For example, if the value is 10, the new ack
-  // deadline will expire 10 seconds after the ModifyAckDeadline call was made.
-  // Specifying zero may immediately make the message available for another pull
-  // request.
-  int32 ack_deadline_seconds = 3;
-}
-
-// Request for the Acknowledge method.
-message AcknowledgeRequest {
-  // The subscription whose message is being acknowledged.
-  string subscription = 1;
-
-  // The acknowledgment ID for the messages being acknowledged that was returned
-  // by the Pub/Sub system in the Pull response. Must not be empty.
-  repeated string ack_ids = 2;
-}
diff --git a/googleapis/rpc/code/code.pb.go b/googleapis/rpc/code/code.pb.go
index 33d9bdaaabfd8c52e3906663dd069e42b461fb6b..304006d6a2c202ca3a540d2252452c4f1ea35253 100644
--- a/googleapis/rpc/code/code.pb.go
+++ b/googleapis/rpc/code/code.pb.go
@@ -1,16 +1,16 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/rpc/code/code.proto
+// source: google/rpc/code.proto
 // DO NOT EDIT!
 
 /*
 Package code is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/rpc/code/code.proto
+	google/rpc/code.proto
 
 It has these top-level messages:
 */
-package code // import "google.golang.org/genproto/googleapis/rpc/code"
+package code
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -217,33 +217,31 @@ func init() {
 	proto.RegisterEnum("google.rpc.Code", Code_name, Code_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/rpc/code/code.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/rpc/code.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 363 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x51, 0xcb, 0x6e, 0x53, 0x31,
-	0x10, 0xa5, 0x69, 0x49, 0x9b, 0xc9, 0x6b, 0xea, 0xf2, 0xf8, 0x07, 0x16, 0xc9, 0xa2, 0x2b, 0xc4,
-	0x6a, 0x72, 0x3d, 0x69, 0xad, 0x3a, 0xe3, 0x2b, 0x3f, 0x4a, 0x60, 0x63, 0x95, 0x34, 0xba, 0x42,
-	0x2a, 0x75, 0x74, 0xe1, 0x8b, 0xf8, 0x09, 0x7e, 0x0f, 0x39, 0x20, 0xb1, 0x66, 0x73, 0x16, 0x3e,
-	0xe7, 0x78, 0xe6, 0x9c, 0x81, 0xf7, 0x5d, 0x29, 0xdd, 0xd3, 0x7e, 0xd1, 0x95, 0xa7, 0x87, 0xe7,
-	0x6e, 0x51, 0xfa, 0x6e, 0xd9, 0xed, 0x9f, 0x0f, 0x7d, 0xf9, 0x51, 0x96, 0x7f, 0xa8, 0x87, 0xc3,
-	0xd7, 0xef, 0xcb, 0xfe, 0xb0, 0x5b, 0xee, 0xca, 0xe3, 0xfe, 0x08, 0x8b, 0x23, 0xad, 0xe0, 0xaf,
-	0xb5, 0x3f, 0xec, 0xde, 0xfd, 0x1a, 0xc0, 0x59, 0x53, 0x1e, 0xf7, 0x6a, 0x08, 0x03, 0x77, 0x87,
-	0x2f, 0xd4, 0x14, 0x46, 0x0d, 0x49, 0xc3, 0xd6, 0xb2, 0xc6, 0x13, 0x35, 0x86, 0xf3, 0x24, 0x77,
-	0xe2, 0x3e, 0x0a, 0x0e, 0xd4, 0x2b, 0x40, 0x23, 0xf7, 0x64, 0x8d, 0xce, 0xe4, 0x6f, 0xd2, 0x86,
-	0x25, 0xe2, 0xa9, 0x7a, 0x0d, 0x97, 0x9a, 0x49, 0x5b, 0x23, 0x9c, 0x79, 0xdb, 0x30, 0x6b, 0xd6,
-	0x78, 0x56, 0x3f, 0x12, 0x17, 0xf3, 0xda, 0x25, 0xd1, 0xf8, 0x52, 0x29, 0x98, 0x91, 0xf5, 0x4c,
-	0xfa, 0x53, 0xe6, 0xad, 0x09, 0x31, 0xe0, 0xb0, 0x3a, 0x5b, 0xf6, 0x1b, 0x13, 0x82, 0x71, 0x92,
-	0x35, 0x8b, 0x61, 0x8d, 0xe7, 0xea, 0x0a, 0xe6, 0x49, 0x28, 0xc5, 0x5b, 0x96, 0x68, 0x1a, 0x8a,
-	0xac, 0x11, 0xd5, 0x1b, 0x50, 0x9e, 0x83, 0x4b, 0xbe, 0xa9, 0x53, 0x6e, 0x29, 0x85, 0xfa, 0x7e,
-	0xa1, 0xde, 0xc2, 0xd5, 0x9a, 0x8c, 0x65, 0x9d, 0x5b, 0xcf, 0x8d, 0x13, 0x6d, 0xa2, 0x71, 0x82,
-	0xa3, 0xba, 0x39, 0xad, 0x9c, 0xaf, 0x2a, 0x50, 0x08, 0x13, 0x97, 0x62, 0x76, 0xeb, 0xec, 0x49,
-	0x6e, 0x18, 0xc7, 0xea, 0x12, 0xa6, 0x49, 0xcc, 0xa6, 0xb5, 0x5c, 0x63, 0xb0, 0xc6, 0x89, 0x9a,
-	0xc0, 0x85, 0x91, 0xc8, 0x5e, 0xc8, 0xe2, 0x54, 0xcd, 0x61, 0x9c, 0x84, 0xee, 0xc9, 0x58, 0x5a,
-	0x59, 0xc6, 0x59, 0x0d, 0xa4, 0x29, 0x52, 0xb6, 0x2e, 0x04, 0x9c, 0xaf, 0xb6, 0x30, 0xdb, 0x95,
-	0x6f, 0x8b, 0x7f, 0x5d, 0xae, 0x46, 0xb5, 0xc8, 0xb6, 0x56, 0xdc, 0x9e, 0x7c, 0xbe, 0xfe, 0xbf,
-	0xfb, 0x7c, 0xa8, 0xf0, 0x73, 0x70, 0xea, 0xdb, 0xe6, 0xcb, 0xf0, 0xa8, 0xba, 0xfe, 0x1d, 0x00,
-	0x00, 0xff, 0xff, 0x41, 0xb6, 0x33, 0x57, 0xe3, 0x01, 0x00, 0x00,
+	// 362 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x44, 0x51, 0xcd, 0x6e, 0x93, 0x31,
+	0x10, 0xa4, 0x69, 0x49, 0x9b, 0xcd, 0xdf, 0xd6, 0xa5, 0xf0, 0x0e, 0x1c, 0x92, 0x43, 0x8f, 0x9c,
+	0x36, 0x9f, 0x37, 0xad, 0x55, 0x67, 0xfd, 0xc9, 0x3f, 0x25, 0x70, 0xb1, 0x4a, 0x1a, 0x7d, 0x42,
+	0x2a, 0x75, 0xf4, 0xc1, 0x13, 0xf1, 0x12, 0xbc, 0x1e, 0x72, 0x8b, 0xe8, 0xc5, 0x87, 0x99, 0xf1,
+	0xee, 0xce, 0x0c, 0x5c, 0x76, 0xa5, 0x74, 0x8f, 0xfb, 0x65, 0x7f, 0xd8, 0x2d, 0x77, 0xe5, 0x61,
+	0xbf, 0x38, 0xf4, 0xe5, 0x57, 0x51, 0xf0, 0x02, 0x2f, 0xfa, 0xc3, 0xee, 0xe3, 0x9f, 0x01, 0x9c,
+	0x34, 0xe5, 0x61, 0xaf, 0x86, 0x30, 0x70, 0xb7, 0xf8, 0x46, 0x4d, 0x61, 0xd4, 0x90, 0x34, 0x6c,
+	0x2d, 0x6b, 0x3c, 0x52, 0x63, 0x38, 0x4d, 0x72, 0x2b, 0xee, 0xb3, 0xe0, 0x40, 0xbd, 0x03, 0x34,
+	0x72, 0x47, 0xd6, 0xe8, 0x4c, 0xfe, 0x3a, 0x6d, 0x58, 0x22, 0x1e, 0xab, 0x4b, 0x38, 0xd7, 0x4c,
+	0xda, 0x1a, 0xe1, 0xcc, 0xdb, 0x86, 0x59, 0xb3, 0xc6, 0x93, 0x3a, 0x48, 0x5c, 0xcc, 0x6b, 0x97,
+	0x44, 0xe3, 0x5b, 0xa5, 0x60, 0x46, 0xd6, 0x33, 0xe9, 0x2f, 0x99, 0xb7, 0x26, 0xc4, 0x80, 0xc3,
+	0xfa, 0xb3, 0x65, 0xbf, 0x31, 0x21, 0x18, 0x27, 0x59, 0xb3, 0x18, 0xd6, 0x78, 0xaa, 0x2e, 0x60,
+	0x9e, 0x84, 0x52, 0xbc, 0x61, 0x89, 0xa6, 0xa1, 0xc8, 0x1a, 0x51, 0xbd, 0x07, 0xe5, 0x39, 0xb8,
+	0xe4, 0x9b, 0xba, 0xe5, 0x86, 0x52, 0xa8, 0xf8, 0x99, 0xfa, 0x00, 0x17, 0x6b, 0x32, 0x96, 0x75,
+	0x6e, 0x3d, 0x37, 0x4e, 0xb4, 0x89, 0xc6, 0x09, 0x8e, 0xea, 0xe5, 0xb4, 0x72, 0xbe, 0xaa, 0x40,
+	0x21, 0x4c, 0x5c, 0x8a, 0xd9, 0xad, 0xb3, 0x27, 0xb9, 0x66, 0x1c, 0xab, 0x73, 0x98, 0x26, 0x31,
+	0x9b, 0xd6, 0x72, 0xb5, 0xc1, 0x1a, 0x27, 0x6a, 0x02, 0x67, 0x46, 0x22, 0x7b, 0x21, 0x8b, 0x53,
+	0x35, 0x87, 0x71, 0x12, 0xba, 0x23, 0x63, 0x69, 0x65, 0x19, 0x67, 0xd5, 0x90, 0xa6, 0x48, 0xd9,
+	0xba, 0x10, 0x70, 0xbe, 0xda, 0xc2, 0x6c, 0x57, 0x7e, 0x2c, 0x5e, 0xb3, 0x5c, 0x8d, 0x6a, 0x90,
+	0x6d, 0x8d, 0xb8, 0x3d, 0xfa, 0x7a, 0xf5, 0x8f, 0xe8, 0xca, 0xe3, 0xfd, 0x53, 0xb7, 0x28, 0x7d,
+	0xb7, 0xec, 0xf6, 0x4f, 0xcf, 0x05, 0x2c, 0x5f, 0xa8, 0xfb, 0xc3, 0xf7, 0x9f, 0xff, 0xab, 0xf9,
+	0x54, 0x9f, 0xdf, 0x83, 0x63, 0xdf, 0x36, 0xdf, 0x86, 0xcf, 0xaa, 0xab, 0xbf, 0x01, 0x00, 0x00,
+	0xff, 0xff, 0x8e, 0x97, 0x77, 0xc2, 0xbf, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/rpc/code/code.proto b/googleapis/rpc/code/code.proto
deleted file mode 100644
index 9a450956a271f007be5b764a9c9d640979ea32d2..0000000000000000000000000000000000000000
--- a/googleapis/rpc/code/code.proto
+++ /dev/null
@@ -1,180 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.rpc;
-
-option go_package = "google.golang.org/genproto/googleapis/rpc/code;code";
-option java_multiple_files = true;
-option java_outer_classname = "CodeProto";
-option java_package = "com.google.rpc";
-option objc_class_prefix = "RPC";
-
-
-// The canonical error codes for Google APIs.
-//
-//
-// Sometimes multiple error codes may apply.  Services should return
-// the most specific error code that applies.  For example, prefer
-// `OUT_OF_RANGE` over `FAILED_PRECONDITION` if both codes apply.
-// Similarly prefer `NOT_FOUND` or `ALREADY_EXISTS` over `FAILED_PRECONDITION`.
-enum Code {
-  // Not an error; returned on success
-  //
-  // HTTP Mapping: 200 OK
-  OK = 0;
-
-  // The operation was cancelled, typically by the caller.
-  //
-  // HTTP Mapping: 499 Client Closed Request
-  CANCELLED = 1;
-
-  // Unknown error.  For example, this error may be returned when
-  // a `Status` value received from another address space belongs to
-  // an error space that is not known in this address space.  Also
-  // errors raised by APIs that do not return enough error information
-  // may be converted to this error.
-  //
-  // HTTP Mapping: 500 Internal Server Error
-  UNKNOWN = 2;
-
-  // The client specified an invalid argument.  Note that this differs
-  // from `FAILED_PRECONDITION`.  `INVALID_ARGUMENT` indicates arguments
-  // that are problematic regardless of the state of the system
-  // (e.g., a malformed file name).
-  //
-  // HTTP Mapping: 400 Bad Request
-  INVALID_ARGUMENT = 3;
-
-  // The deadline expired before the operation could complete. For operations
-  // that change the state of the system, this error may be returned
-  // even if the operation has completed successfully.  For example, a
-  // successful response from a server could have been delayed long
-  // enough for the deadline to expire.
-  //
-  // HTTP Mapping: 504 Gateway Timeout
-  DEADLINE_EXCEEDED = 4;
-
-  // Some requested entity (e.g., file or directory) was not found.
-  // For privacy reasons, this code *may* be returned when the client
-  // does not have the access rights to the entity, though such usage is
-  // discouraged.
-  //
-  // HTTP Mapping: 404 Not Found
-  NOT_FOUND = 5;
-
-  // The entity that a client attempted to create (e.g., file or directory)
-  // already exists.
-  //
-  // HTTP Mapping: 409 Conflict
-  ALREADY_EXISTS = 6;
-
-  // The caller does not have permission to execute the specified
-  // operation. `PERMISSION_DENIED` must not be used for rejections
-  // caused by exhausting some resource (use `RESOURCE_EXHAUSTED`
-  // instead for those errors). `PERMISSION_DENIED` must not be
-  // used if the caller can not be identified (use `UNAUTHENTICATED`
-  // instead for those errors).
-  //
-  // HTTP Mapping: 403 Forbidden
-  PERMISSION_DENIED = 7;
-
-  // The request does not have valid authentication credentials for the
-  // operation.
-  //
-  // HTTP Mapping: 401 Unauthorized
-  UNAUTHENTICATED = 16;
-
-  // Some resource has been exhausted, perhaps a per-user quota, or
-  // perhaps the entire file system is out of space.
-  //
-  // HTTP Mapping: 429 Too Many Requests
-  RESOURCE_EXHAUSTED = 8;
-
-  // The operation was rejected because the system is not in a state
-  // required for the operation's execution.  For example, the directory
-  // to be deleted is non-empty, an rmdir operation is applied to
-  // a non-directory, etc.
-  //
-  // Service implementors can use the following guidelines to decide
-  // between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:
-  //  (a) Use `UNAVAILABLE` if the client can retry just the failing call.
-  //  (b) Use `ABORTED` if the client should retry at a higher level
-  //      (e.g., restarting a read-modify-write sequence).
-  //  (c) Use `FAILED_PRECONDITION` if the client should not retry until
-  //      the system state has been explicitly fixed.  E.g., if an "rmdir"
-  //      fails because the directory is non-empty, `FAILED_PRECONDITION`
-  //      should be returned since the client should not retry unless
-  //      the files are deleted from the directory.
-  //
-  // HTTP Mapping: 400 Bad Request
-  FAILED_PRECONDITION = 9;
-
-  // The operation was aborted, typically due to a concurrency issue such as
-  // a sequencer check failure or transaction abort.
-  //
-  // See the guidelines above for deciding between `FAILED_PRECONDITION`,
-  // `ABORTED`, and `UNAVAILABLE`.
-  //
-  // HTTP Mapping: 409 Conflict
-  ABORTED = 10;
-
-  // The operation was attempted past the valid range.  E.g., seeking or
-  // reading past end-of-file.
-  //
-  // Unlike `INVALID_ARGUMENT`, this error indicates a problem that may
-  // be fixed if the system state changes. For example, a 32-bit file
-  // system will generate `INVALID_ARGUMENT` if asked to read at an
-  // offset that is not in the range [0,2^32-1], but it will generate
-  // `OUT_OF_RANGE` if asked to read from an offset past the current
-  // file size.
-  //
-  // There is a fair bit of overlap between `FAILED_PRECONDITION` and
-  // `OUT_OF_RANGE`.  We recommend using `OUT_OF_RANGE` (the more specific
-  // error) when it applies so that callers who are iterating through
-  // a space can easily look for an `OUT_OF_RANGE` error to detect when
-  // they are done.
-  //
-  // HTTP Mapping: 400 Bad Request
-  OUT_OF_RANGE = 11;
-
-  // The operation is not implemented or is not supported/enabled in this
-  // service.
-  //
-  // HTTP Mapping: 501 Not Implemented
-  UNIMPLEMENTED = 12;
-
-  // Internal errors.  This means that some invariants expected by the
-  // underlying system have been broken.  This error code is reserved
-  // for serious errors.
-  //
-  // HTTP Mapping: 500 Internal Server Error
-  INTERNAL = 13;
-
-  // The service is currently unavailable.  This is most likely a
-  // transient condition, which can be corrected by retrying with
-  // a backoff.
-  //
-  // See the guidelines above for deciding between `FAILED_PRECONDITION`,
-  // `ABORTED`, and `UNAVAILABLE`.
-  //
-  // HTTP Mapping: 503 Service Unavailable
-  UNAVAILABLE = 14;
-
-  // Unrecoverable data loss or corruption.
-  //
-  // HTTP Mapping: 500 Internal Server Error
-  DATA_LOSS = 15;
-}
diff --git a/googleapis/rpc/errdetails/error_details.pb.go b/googleapis/rpc/errdetails/error_details.pb.go
index 855bb06bd65a7d37e11062402e8c15c9eac1e407..8eda666d16d7308a8a787de22c401b916d88bfcb 100644
--- a/googleapis/rpc/errdetails/error_details.pb.go
+++ b/googleapis/rpc/errdetails/error_details.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/rpc/errdetails/error_details.proto
+// source: google/rpc/error_details.proto
 // DO NOT EDIT!
 
 /*
 Package errdetails is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/rpc/errdetails/error_details.proto
+	google/rpc/error_details.proto
 
 It has these top-level messages:
 	RetryInfo
@@ -18,7 +18,7 @@ It has these top-level messages:
 	Help
 	LocalizedMessage
 */
-package errdetails // import "google.golang.org/genproto/googleapis/rpc/errdetails"
+package errdetails
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -79,6 +79,20 @@ func (m *DebugInfo) String() string            { return proto.CompactTextString(
 func (*DebugInfo) ProtoMessage()               {}
 func (*DebugInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *DebugInfo) GetStackEntries() []string {
+	if m != nil {
+		return m.StackEntries
+	}
+	return nil
+}
+
+func (m *DebugInfo) GetDetail() string {
+	if m != nil {
+		return m.Detail
+	}
+	return ""
+}
+
 // Describes how a quota check failed.
 //
 // For example if a daily limit was exceeded for the calling project,
@@ -129,6 +143,20 @@ func (m *QuotaFailure_Violation) String() string            { return proto.Compa
 func (*QuotaFailure_Violation) ProtoMessage()               {}
 func (*QuotaFailure_Violation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
 
+func (m *QuotaFailure_Violation) GetSubject() string {
+	if m != nil {
+		return m.Subject
+	}
+	return ""
+}
+
+func (m *QuotaFailure_Violation) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 // Describes violations in a client request. This error type focuses on the
 // syntactic aspects of the request.
 type BadRequest struct {
@@ -163,6 +191,20 @@ func (m *BadRequest_FieldViolation) String() string            { return proto.Co
 func (*BadRequest_FieldViolation) ProtoMessage()               {}
 func (*BadRequest_FieldViolation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3, 0} }
 
+func (m *BadRequest_FieldViolation) GetField() string {
+	if m != nil {
+		return m.Field
+	}
+	return ""
+}
+
+func (m *BadRequest_FieldViolation) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 // Contains metadata about the request that clients can attach when filing a bug
 // or providing other forms of feedback.
 type RequestInfo struct {
@@ -179,6 +221,20 @@ func (m *RequestInfo) String() string            { return proto.CompactTextStrin
 func (*RequestInfo) ProtoMessage()               {}
 func (*RequestInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *RequestInfo) GetRequestId() string {
+	if m != nil {
+		return m.RequestId
+	}
+	return ""
+}
+
+func (m *RequestInfo) GetServingData() string {
+	if m != nil {
+		return m.ServingData
+	}
+	return ""
+}
+
 // Describes the resource that is being accessed.
 type ResourceInfo struct {
 	// A name for the type of resource being accessed, e.g. "sql table",
@@ -204,6 +260,34 @@ func (m *ResourceInfo) String() string            { return proto.CompactTextStri
 func (*ResourceInfo) ProtoMessage()               {}
 func (*ResourceInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *ResourceInfo) GetResourceType() string {
+	if m != nil {
+		return m.ResourceType
+	}
+	return ""
+}
+
+func (m *ResourceInfo) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+func (m *ResourceInfo) GetOwner() string {
+	if m != nil {
+		return m.Owner
+	}
+	return ""
+}
+
+func (m *ResourceInfo) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 // Provides links to documentation or for performing an out of band action.
 //
 // For example, if a quota check failed with an error indicating the calling
@@ -239,6 +323,20 @@ func (m *Help_Link) String() string            { return proto.CompactTextString(
 func (*Help_Link) ProtoMessage()               {}
 func (*Help_Link) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6, 0} }
 
+func (m *Help_Link) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *Help_Link) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
+
 // Provides a localized error message that is safe to return to the user
 // which can be attached to an RPC error.
 type LocalizedMessage struct {
@@ -255,6 +353,20 @@ func (m *LocalizedMessage) String() string            { return proto.CompactText
 func (*LocalizedMessage) ProtoMessage()               {}
 func (*LocalizedMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *LocalizedMessage) GetLocale() string {
+	if m != nil {
+		return m.Locale
+	}
+	return ""
+}
+
+func (m *LocalizedMessage) GetMessage() string {
+	if m != nil {
+		return m.Message
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*RetryInfo)(nil), "google.rpc.RetryInfo")
 	proto.RegisterType((*DebugInfo)(nil), "google.rpc.DebugInfo")
@@ -269,46 +381,43 @@ func init() {
 	proto.RegisterType((*LocalizedMessage)(nil), "google.rpc.LocalizedMessage")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/rpc/errdetails/error_details.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/rpc/error_details.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 568 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x94, 0xc1, 0x6f, 0xd3, 0x3e,
-	0x14, 0xc7, 0x95, 0x75, 0xdb, 0x4f, 0x79, 0xed, 0x6f, 0x94, 0x08, 0x50, 0xa9, 0x84, 0x54, 0x82,
-	0x90, 0x2a, 0x21, 0x25, 0xd2, 0x38, 0x31, 0x0e, 0x48, 0x25, 0xdb, 0x3a, 0x69, 0x40, 0x89, 0x10,
-	0x07, 0x2e, 0x91, 0x9b, 0xbc, 0x06, 0x53, 0x37, 0x0e, 0xb6, 0x33, 0x54, 0xfe, 0x0a, 0xee, 0xdc,
-	0x38, 0xf1, 0x67, 0x22, 0xc7, 0x4e, 0x9b, 0xae, 0x17, 0xc4, 0xcd, 0xdf, 0x97, 0x8f, 0xbf, 0x7e,
-	0xdf, 0xe4, 0x39, 0x30, 0xcd, 0x39, 0xcf, 0x19, 0x06, 0x39, 0x67, 0xa4, 0xc8, 0x03, 0x2e, 0xf2,
-	0x30, 0xc7, 0xa2, 0x14, 0x5c, 0xf1, 0xd0, 0x3c, 0x22, 0x25, 0x95, 0xa1, 0x28, 0xd3, 0x10, 0x85,
-	0xc8, 0x50, 0x11, 0xca, 0xa4, 0x5e, 0x72, 0x91, 0x58, 0x15, 0xd4, 0xb4, 0x07, 0xd6, 0x49, 0x94,
-	0xe9, 0xf0, 0x45, 0x4e, 0xd5, 0xe7, 0x6a, 0x1e, 0xa4, 0x7c, 0x15, 0x1a, 0xe7, 0xb0, 0x86, 0xe6,
-	0xd5, 0x22, 0x2c, 0xd5, 0xba, 0x44, 0x19, 0x66, 0x95, 0x20, 0x8a, 0xf2, 0x62, 0xb3, 0x30, 0x36,
-	0xfe, 0x25, 0xb8, 0x31, 0x2a, 0xb1, 0xbe, 0x2a, 0x16, 0xdc, 0x3b, 0x83, 0xae, 0xd0, 0x22, 0xc9,
-	0x90, 0x91, 0xf5, 0xc0, 0x19, 0x39, 0xe3, 0xee, 0xe9, 0xc3, 0xc0, 0x9e, 0xd4, 0x58, 0x06, 0x91,
-	0xb5, 0x88, 0xa1, 0xa6, 0x23, 0x0d, 0xfb, 0x53, 0x70, 0x23, 0x9c, 0x57, 0x79, 0x6d, 0xf4, 0x04,
-	0xfe, 0x97, 0x8a, 0xa4, 0xcb, 0x04, 0x0b, 0x25, 0x28, 0xca, 0x81, 0x33, 0xea, 0x8c, 0xdd, 0xb8,
-	0x57, 0x17, 0xcf, 0x4d, 0xcd, 0x7b, 0x00, 0xc7, 0x26, 0xd2, 0xe0, 0x60, 0xe4, 0x8c, 0xdd, 0xd8,
-	0x2a, 0xff, 0xa7, 0x03, 0xbd, 0xf7, 0x15, 0x57, 0xe4, 0x82, 0x50, 0x56, 0x09, 0xf4, 0x26, 0x00,
-	0x37, 0x94, 0xb3, 0xfa, 0x4c, 0x63, 0xd5, 0x3d, 0xf5, 0x83, 0x6d, 0xfe, 0xa0, 0x4d, 0x07, 0x1f,
-	0x1b, 0x34, 0x6e, 0xed, 0x1a, 0x5e, 0x82, 0xbb, 0x79, 0xe0, 0x0d, 0xe0, 0x3f, 0x59, 0xcd, 0xbf,
-	0x60, 0xaa, 0xea, 0x8c, 0x6e, 0xdc, 0x48, 0x6f, 0x04, 0xdd, 0x0c, 0x65, 0x2a, 0x68, 0xa9, 0x41,
-	0xdb, 0x58, 0xbb, 0xe4, 0xff, 0x76, 0x00, 0x26, 0x24, 0x8b, 0xf1, 0x6b, 0x85, 0x52, 0x79, 0x33,
-	0xe8, 0x2f, 0x28, 0xb2, 0x2c, 0xd9, 0xeb, 0xf0, 0x69, 0xbb, 0xc3, 0xed, 0x8e, 0xe0, 0x42, 0xe3,
-	0xdb, 0x26, 0xef, 0x2c, 0x76, 0xb4, 0x1c, 0x4e, 0xe1, 0x64, 0x17, 0xf1, 0xee, 0xc1, 0x51, 0x0d,
-	0xd9, 0x66, 0x8d, 0xf8, 0x8b, 0x56, 0xdf, 0x41, 0xd7, 0x1e, 0x5a, 0x7f, 0x94, 0x47, 0x00, 0xc2,
-	0xc8, 0x84, 0x36, 0x5e, 0xae, 0xad, 0x5c, 0x65, 0xde, 0x63, 0xe8, 0x49, 0x14, 0x37, 0xb4, 0xc8,
-	0x93, 0x8c, 0x28, 0xd2, 0x18, 0xda, 0x5a, 0x44, 0x14, 0xf1, 0x7f, 0x38, 0xd0, 0x8b, 0x51, 0xf2,
-	0x4a, 0xa4, 0xd8, 0x7c, 0x67, 0x61, 0x75, 0xa2, 0xe7, 0xcc, 0xba, 0xf6, 0x9a, 0xe2, 0x87, 0x75,
-	0x89, 0x3b, 0x50, 0x41, 0x56, 0x68, 0x9d, 0x37, 0xd0, 0x5b, 0xb2, 0x42, 0x9d, 0x91, 0x7f, 0x2b,
-	0x50, 0x0c, 0x3a, 0x26, 0x63, 0x2d, 0x6e, 0x67, 0x3c, 0xdc, 0xcf, 0xc8, 0xe1, 0x70, 0x8a, 0xac,
-	0xf4, 0x9e, 0xc1, 0x11, 0xa3, 0xc5, 0xb2, 0x79, 0xf9, 0xf7, 0xdb, 0x2f, 0x5f, 0x03, 0xc1, 0x35,
-	0x2d, 0x96, 0xb1, 0x61, 0x86, 0x67, 0x70, 0xa8, 0xe5, 0x6d, 0x7b, 0x67, 0xcf, 0xde, 0xeb, 0x43,
-	0xa7, 0x12, 0xcd, 0x80, 0xea, 0xa5, 0x1f, 0x41, 0xff, 0x9a, 0xa7, 0x84, 0xd1, 0xef, 0x98, 0xbd,
-	0x41, 0x29, 0x49, 0x8e, 0x7a, 0x92, 0x99, 0xae, 0x35, 0xf9, 0xad, 0xd2, 0x73, 0xb6, 0x32, 0x88,
-	0x75, 0x68, 0xe4, 0x84, 0xc1, 0x49, 0xca, 0x57, 0xad, 0x26, 0x27, 0x77, 0xcf, 0xf5, 0x25, 0x8f,
-	0xcc, 0x1d, 0x9f, 0xe9, 0xab, 0x36, 0x73, 0x3e, 0xbd, 0xfa, 0x97, 0xdf, 0xc5, 0xcb, 0xed, 0xf2,
-	0xd7, 0x41, 0x27, 0x9e, 0xbd, 0x9e, 0x1f, 0xd7, 0x3b, 0x9e, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff,
-	0x0c, 0x49, 0x28, 0x80, 0x7e, 0x04, 0x00, 0x00,
+	// 551 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0xc1, 0x6f, 0xd3, 0x3e,
+	0x14, 0xc7, 0x95, 0x75, 0xdb, 0x4f, 0x79, 0xed, 0x6f, 0x94, 0x08, 0x50, 0xa9, 0x04, 0x2a, 0x41,
+	0x48, 0x95, 0x90, 0x52, 0x69, 0xdc, 0xc6, 0x01, 0xa9, 0x64, 0x5b, 0x27, 0x0d, 0x28, 0x11, 0xe2,
+	0xc0, 0x25, 0x72, 0x93, 0xd7, 0xc8, 0xd4, 0x8d, 0x83, 0xed, 0x0c, 0x95, 0xbf, 0x82, 0x3b, 0x37,
+	0x4e, 0xfc, 0x99, 0xc8, 0xb1, 0xbd, 0xa6, 0xeb, 0x85, 0x5b, 0xbe, 0xcf, 0x1f, 0x7f, 0xf3, 0x7d,
+	0x89, 0x9f, 0xe1, 0x69, 0xc1, 0x79, 0xc1, 0x70, 0x22, 0xaa, 0x6c, 0x82, 0x42, 0x70, 0x91, 0xe6,
+	0xa8, 0x08, 0x65, 0x32, 0xaa, 0x04, 0x57, 0x3c, 0x00, 0xb3, 0x1e, 0x89, 0x2a, 0x1b, 0x3a, 0xb6,
+	0x59, 0x59, 0xd4, 0xcb, 0x49, 0x5e, 0x0b, 0xa2, 0x28, 0x2f, 0x0d, 0x1b, 0x5e, 0x82, 0x9f, 0xa0,
+	0x12, 0x9b, 0xab, 0x72, 0xc9, 0x83, 0x33, 0xe8, 0x0a, 0x2d, 0xd2, 0x1c, 0x19, 0xd9, 0x0c, 0xbc,
+	0x91, 0x37, 0xee, 0x9e, 0x3e, 0x8e, 0xac, 0x9d, 0xb3, 0x88, 0x62, 0x6b, 0x91, 0x40, 0x43, 0xc7,
+	0x1a, 0x0e, 0x67, 0xe0, 0xc7, 0xb8, 0xa8, 0x8b, 0xc6, 0xe8, 0x39, 0xfc, 0x2f, 0x15, 0xc9, 0x56,
+	0x29, 0x96, 0x4a, 0x50, 0x94, 0x03, 0x6f, 0xd4, 0x19, 0xfb, 0x49, 0xaf, 0x29, 0x9e, 0x9b, 0x5a,
+	0xf0, 0x08, 0x8e, 0x4d, 0xee, 0xc1, 0xc1, 0xc8, 0x1b, 0xfb, 0x89, 0x55, 0xe1, 0x2f, 0x0f, 0x7a,
+	0x1f, 0x6b, 0xae, 0xc8, 0x05, 0xa1, 0xac, 0x16, 0x18, 0x4c, 0x01, 0x6e, 0x28, 0x67, 0xcd, 0x3b,
+	0x8d, 0x55, 0xf7, 0x34, 0x8c, 0xb6, 0x4d, 0x46, 0x6d, 0x3a, 0xfa, 0xec, 0xd0, 0xa4, 0xb5, 0x6b,
+	0x78, 0x09, 0xfe, 0xed, 0x42, 0x30, 0x80, 0xff, 0x64, 0xbd, 0xf8, 0x8a, 0x99, 0x6a, 0x7a, 0xf4,
+	0x13, 0x27, 0x83, 0x11, 0x74, 0x73, 0x94, 0x99, 0xa0, 0x95, 0x06, 0x6d, 0xb0, 0x76, 0x29, 0xfc,
+	0xe3, 0x01, 0x4c, 0x49, 0x9e, 0xe0, 0xb7, 0x1a, 0xa5, 0x0a, 0xe6, 0xd0, 0x5f, 0x52, 0x64, 0x79,
+	0xba, 0x97, 0xf0, 0x45, 0x3b, 0xe1, 0x76, 0x47, 0x74, 0xa1, 0xf1, 0x6d, 0xc8, 0x7b, 0xcb, 0x1d,
+	0x2d, 0x87, 0x33, 0x38, 0xd9, 0x45, 0x82, 0x07, 0x70, 0xd4, 0x40, 0x36, 0xac, 0x11, 0xff, 0x10,
+	0xf5, 0x03, 0x74, 0xed, 0x4b, 0x9b, 0x9f, 0xf2, 0x04, 0x40, 0x18, 0x99, 0x52, 0xe7, 0xe5, 0xdb,
+	0xca, 0x55, 0x1e, 0x3c, 0x83, 0x9e, 0x44, 0x71, 0x43, 0xcb, 0x22, 0xcd, 0x89, 0x22, 0xce, 0xd0,
+	0xd6, 0x62, 0xa2, 0x48, 0xf8, 0xd3, 0x83, 0x5e, 0x82, 0x92, 0xd7, 0x22, 0x43, 0xf7, 0x9f, 0x85,
+	0xd5, 0xa9, 0xda, 0x54, 0x68, 0x5d, 0x7b, 0xae, 0xf8, 0x69, 0x53, 0xe1, 0x0e, 0x54, 0x92, 0x35,
+	0x5a, 0xe7, 0x5b, 0xe8, 0x3d, 0x59, 0xa3, 0xee, 0x91, 0x7f, 0x2f, 0x51, 0x0c, 0x3a, 0xa6, 0xc7,
+	0x46, 0xdc, 0xed, 0xf1, 0x70, 0xbf, 0x47, 0x0e, 0x87, 0x33, 0x64, 0x55, 0xf0, 0x12, 0x8e, 0x18,
+	0x2d, 0x57, 0xee, 0xe3, 0x3f, 0x6c, 0x7f, 0x7c, 0x0d, 0x44, 0xd7, 0xb4, 0x5c, 0x25, 0x86, 0x19,
+	0x9e, 0xc1, 0xa1, 0x96, 0x77, 0xed, 0xbd, 0x3d, 0xfb, 0xa0, 0x0f, 0x9d, 0x5a, 0xb8, 0x03, 0xaa,
+	0x1f, 0xc3, 0x18, 0xfa, 0xd7, 0x3c, 0x23, 0x8c, 0xfe, 0xc0, 0xfc, 0x1d, 0x4a, 0x49, 0x0a, 0xd4,
+	0x27, 0x99, 0xe9, 0x9a, 0xeb, 0xdf, 0x2a, 0x7d, 0xce, 0xd6, 0x06, 0xb1, 0x0e, 0x4e, 0x4e, 0x19,
+	0x9c, 0x64, 0x7c, 0xdd, 0x0a, 0x39, 0xbd, 0x7f, 0xae, 0x27, 0x39, 0x36, 0x83, 0x3c, 0xd7, 0xa3,
+	0x36, 0xf7, 0xbe, 0xbc, 0xb1, 0x40, 0xc1, 0x19, 0x29, 0x8b, 0x88, 0x8b, 0x62, 0x52, 0x60, 0xd9,
+	0x0c, 0xe2, 0xc4, 0x2c, 0x91, 0x8a, 0x4a, 0x77, 0x11, 0xd8, 0x5b, 0xe0, 0xf5, 0xf6, 0xf1, 0xf7,
+	0x41, 0x27, 0x99, 0xbf, 0x5d, 0x1c, 0x37, 0x3b, 0x5e, 0xfd, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xc0,
+	0x5e, 0xc6, 0x6f, 0x39, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/rpc/errdetails/error_details.proto b/googleapis/rpc/errdetails/error_details.proto
deleted file mode 100644
index 1508a543b55b9fa2ea3dcbadbaf1a13971208bfe..0000000000000000000000000000000000000000
--- a/googleapis/rpc/errdetails/error_details.proto
+++ /dev/null
@@ -1,171 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.rpc;
-
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-
-option go_package = "google.golang.org/genproto/googleapis/rpc/errdetails;errdetails";
-option java_multiple_files = true;
-option java_outer_classname = "ErrorDetailsProto";
-option java_package = "com.google.rpc";
-option objc_class_prefix = "RPC";
-
-
-// Describes when the clients can retry a failed request. Clients could ignore
-// the recommendation here or retry when this information is missing from error
-// responses.
-//
-// It's always recommended that clients should use exponential backoff when
-// retrying.
-//
-// Clients should wait until `retry_delay` amount of time has passed since
-// receiving the error response before retrying.  If retrying requests also
-// fail, clients should use an exponential backoff scheme to gradually increase
-// the delay between retries based on `retry_delay`, until either a maximum
-// number of retires have been reached or a maximum retry delay cap has been
-// reached.
-message RetryInfo {
-  // Clients should wait at least this long between retrying the same request.
-  google.protobuf.Duration retry_delay = 1;
-}
-
-// Describes additional debugging info.
-message DebugInfo {
-  // The stack trace entries indicating where the error occurred.
-  repeated string stack_entries = 1;
-
-  // Additional debugging information provided by the server.
-  string detail = 2;
-}
-
-// Describes how a quota check failed.
-//
-// For example if a daily limit was exceeded for the calling project,
-// a service could respond with a QuotaFailure detail containing the project
-// id and the description of the quota limit that was exceeded.  If the
-// calling project hasn't enabled the service in the developer console, then
-// a service could respond with the project id and set `service_disabled`
-// to true.
-//
-// Also see RetryDetail and Help types for other details about handling a
-// quota failure.
-message QuotaFailure {
-  // A message type used to describe a single quota violation.  For example, a
-  // daily quota or a custom quota that was exceeded.
-  message Violation {
-    // The subject on which the quota check failed.
-    // For example, "clientip:<ip address of client>" or "project:<Google
-    // developer project id>".
-    string subject = 1;
-
-    // A description of how the quota check failed. Clients can use this
-    // description to find more about the quota configuration in the service's
-    // public documentation, or find the relevant quota limit to adjust through
-    // developer console.
-    //
-    // For example: "Service disabled" or "Daily Limit for read operations
-    // exceeded".
-    string description = 2;
-  }
-
-  // Describes all quota violations.
-  repeated Violation violations = 1;
-}
-
-// Describes violations in a client request. This error type focuses on the
-// syntactic aspects of the request.
-message BadRequest {
-  // A message type used to describe a single bad request field.
-  message FieldViolation {
-    // A path leading to a field in the request body. The value will be a
-    // sequence of dot-separated identifiers that identify a protocol buffer
-    // field. E.g., "field_violations.field" would identify this field.
-    string field = 1;
-
-    // A description of why the request element is bad.
-    string description = 2;
-  }
-
-  // Describes all violations in a client request.
-  repeated FieldViolation field_violations = 1;
-}
-
-// Contains metadata about the request that clients can attach when filing a bug
-// or providing other forms of feedback.
-message RequestInfo {
-  // An opaque string that should only be interpreted by the service generating
-  // it. For example, it can be used to identify requests in the service's logs.
-  string request_id = 1;
-
-  // Any data that was used to serve this request. For example, an encrypted
-  // stack trace that can be sent back to the service provider for debugging.
-  string serving_data = 2;
-}
-
-// Describes the resource that is being accessed.
-message ResourceInfo {
-  // A name for the type of resource being accessed, e.g. "sql table",
-  // "cloud storage bucket", "file", "Google calendar"; or the type URL
-  // of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic".
-  string resource_type = 1;
-
-  // The name of the resource being accessed.  For example, a shared calendar
-  // name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the current
-  // error is [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED].
-  string resource_name = 2;
-
-  // The owner of the resource (optional).
-  // For example, "user:<owner email>" or "project:<Google developer project
-  // id>".
-  string owner = 3;
-
-  // Describes what error is encountered when accessing this resource.
-  // For example, updating a cloud project may require the `writer` permission
-  // on the developer console project.
-  string description = 4;
-}
-
-// Provides links to documentation or for performing an out of band action.
-//
-// For example, if a quota check failed with an error indicating the calling
-// project hasn't enabled the accessed service, this can contain a URL pointing
-// directly to the right place in the developer console to flip the bit.
-message Help {
-  // Describes a URL link.
-  message Link {
-    // Describes what the link offers.
-    string description = 1;
-
-    // The URL of the link.
-    string url = 2;
-  }
-
-  // URL(s) pointing to additional information on handling the current error.
-  repeated Link links = 1;
-}
-
-// Provides a localized error message that is safe to return to the user
-// which can be attached to an RPC error.
-message LocalizedMessage {
-  // The locale used following the specification defined at
-  // http://www.rfc-editor.org/rfc/bcp/bcp47.txt.
-  // Examples are: "en-US", "fr-CH", "es-MX"
-  string locale = 1;
-
-  // The localized error message in the above locale.
-  string message = 2;
-}
diff --git a/googleapis/rpc/status/status.pb.go b/googleapis/rpc/status/status.pb.go
index 57f50354392b94a3ab89fe8e25e7f2774032cdf5..ec26060bc92f58e8fd66ea3d4f5efd3291eb2a2a 100644
--- a/googleapis/rpc/status/status.pb.go
+++ b/googleapis/rpc/status/status.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/rpc/status/status.proto
+// source: google/rpc/status.proto
 // DO NOT EDIT!
 
 /*
 Package status is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/rpc/status/status.proto
+	google/rpc/status.proto
 
 It has these top-level messages:
 	Status
 */
-package status // import "google.golang.org/genproto/googleapis/rpc/status"
+package status
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -98,6 +98,20 @@ func (m *Status) String() string            { return proto.CompactTextString(m)
 func (*Status) ProtoMessage()               {}
 func (*Status) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Status) GetCode() int32 {
+	if m != nil {
+		return m.Code
+	}
+	return 0
+}
+
+func (m *Status) GetMessage() string {
+	if m != nil {
+		return m.Message
+	}
+	return ""
+}
+
 func (m *Status) GetDetails() []*google_protobuf.Any {
 	if m != nil {
 		return m.Details
@@ -109,25 +123,22 @@ func init() {
 	proto.RegisterType((*Status)(nil), "google.rpc.Status")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/rpc/status/status.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/rpc/status.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 228 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x90, 0xbf, 0x4b, 0xc4, 0x30,
-	0x14, 0xc7, 0xe9, 0x55, 0xef, 0x30, 0x07, 0x0e, 0xc1, 0xa1, 0x38, 0x15, 0xa7, 0x4e, 0xef, 0x81,
-	0x0e, 0x0e, 0xe2, 0xe0, 0xf9, 0x0f, 0x94, 0xba, 0x39, 0x08, 0x69, 0x2e, 0xf7, 0x2c, 0xb4, 0x7d,
-	0x21, 0x49, 0x87, 0xfe, 0x3b, 0xfe, 0xa5, 0xd2, 0xa4, 0xc5, 0xd9, 0x21, 0xbc, 0x84, 0x7c, 0xbe,
-	0x3f, 0x78, 0xe2, 0x95, 0x98, 0xa9, 0x37, 0x40, 0xdc, 0xab, 0x91, 0x80, 0x1d, 0x21, 0x99, 0xd1,
-	0x3a, 0x0e, 0x8c, 0xe9, 0x4b, 0xd9, 0xce, 0xa3, 0xb3, 0x1a, 0x7d, 0x50, 0x61, 0xf2, 0xeb, 0x80,
-	0x88, 0x48, 0xb1, 0xca, 0x9d, 0xd5, 0xf7, 0x48, 0x5d, 0xf8, 0x9e, 0x5a, 0xd0, 0x3c, 0x60, 0xb2,
-	0xc3, 0x08, 0xb5, 0xd3, 0x05, 0x6d, 0x98, 0xad, 0xf1, 0xa8, 0xc6, 0x79, 0x39, 0x49, 0xfc, 0x70,
-	0x11, 0xfb, 0x8f, 0x68, 0x26, 0xa5, 0xb8, 0xd2, 0x7c, 0x36, 0x45, 0x56, 0x66, 0xd5, 0x75, 0x13,
-	0xef, 0xb2, 0x10, 0x87, 0xc1, 0x78, 0xaf, 0xc8, 0x14, 0xbb, 0x32, 0xab, 0x6e, 0x9a, 0xed, 0x29,
-	0x41, 0x1c, 0xce, 0x26, 0xa8, 0xae, 0xf7, 0x45, 0x5e, 0xe6, 0xd5, 0xf1, 0xf1, 0x0e, 0xd6, 0x1a,
-	0x5b, 0x1e, 0xbc, 0x8d, 0x73, 0xb3, 0x41, 0xa7, 0x2f, 0x71, 0xab, 0x79, 0x80, 0xbf, 0xaa, 0xa7,
-	0x63, 0xca, 0xad, 0x17, 0xbc, 0xce, 0x3e, 0x9f, 0xff, 0xbb, 0x84, 0x97, 0x34, 0x7e, 0x76, 0x79,
-	0x53, 0xbf, 0xb7, 0xfb, 0x48, 0x3e, 0xfd, 0x06, 0x00, 0x00, 0xff, 0xff, 0xc8, 0x94, 0xe0, 0x71,
-	0x4c, 0x01, 0x00, 0x00,
+	// 209 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4f, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x2f, 0x2a, 0x48, 0xd6, 0x2f, 0x2e, 0x49, 0x2c, 0x29, 0x2d, 0xd6, 0x2b, 0x28,
+	0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x82, 0x48, 0xe8, 0x15, 0x15, 0x24, 0x4b, 0x49, 0x42, 0x15, 0x81,
+	0x65, 0x92, 0x4a, 0xd3, 0xf4, 0x13, 0xf3, 0x2a, 0x21, 0xca, 0x94, 0xd2, 0xb8, 0xd8, 0x82, 0xc1,
+	0xda, 0x84, 0x84, 0xb8, 0x58, 0x92, 0xf3, 0x53, 0x52, 0x25, 0x18, 0x15, 0x18, 0x35, 0x58, 0x83,
+	0xc0, 0x6c, 0x21, 0x09, 0x2e, 0xf6, 0xdc, 0xd4, 0xe2, 0xe2, 0xc4, 0xf4, 0x54, 0x09, 0x26, 0x05,
+	0x46, 0x0d, 0xce, 0x20, 0x18, 0x57, 0x48, 0x8f, 0x8b, 0x3d, 0x25, 0xb5, 0x24, 0x31, 0x33, 0xa7,
+	0x58, 0x82, 0x59, 0x81, 0x59, 0x83, 0xdb, 0x48, 0x44, 0x0f, 0x6a, 0x21, 0xcc, 0x12, 0x3d, 0xc7,
+	0xbc, 0xca, 0x20, 0x98, 0x22, 0xa7, 0x38, 0x2e, 0xbe, 0xe4, 0xfc, 0x5c, 0x3d, 0x84, 0xa3, 0x9c,
+	0xb8, 0x21, 0xf6, 0x06, 0x80, 0x94, 0x07, 0x30, 0x46, 0x99, 0x43, 0xa5, 0xd2, 0xf3, 0x73, 0x12,
+	0xf3, 0xd2, 0xf5, 0xf2, 0x8b, 0xd2, 0xf5, 0xd3, 0x53, 0xf3, 0xc0, 0x86, 0xe9, 0x43, 0xa4, 0x12,
+	0x0b, 0x32, 0x8b, 0x91, 0xfc, 0x69, 0x0d, 0xa1, 0x16, 0x31, 0x31, 0x07, 0x05, 0x38, 0x27, 0xb1,
+	0x81, 0x55, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa4, 0x53, 0xf0, 0x7c, 0x10, 0x01, 0x00,
+	0x00,
 }
diff --git a/googleapis/rpc/status/status.proto b/googleapis/rpc/status/status.proto
deleted file mode 100644
index 6e8a9436f180c48760dee9816108c31c6d86fffe..0000000000000000000000000000000000000000
--- a/googleapis/rpc/status/status.proto
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.rpc;
-
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-
-option go_package = "google.golang.org/genproto/googleapis/rpc/status;status";
-option java_multiple_files = true;
-option java_outer_classname = "StatusProto";
-option java_package = "com.google.rpc";
-option objc_class_prefix = "RPC";
-
-
-// The `Status` type defines a logical error model that is suitable for different
-// programming environments, including REST APIs and RPC APIs. It is used by
-// [gRPC](https://github.com/grpc). The error model is designed to be:
-//
-// - Simple to use and understand for most users
-// - Flexible enough to meet unexpected needs
-//
-// # Overview
-//
-// The `Status` message contains three pieces of data: error code, error message,
-// and error details. The error code should be an enum value of
-// [google.rpc.Code][google.rpc.Code], but it may accept additional error codes if needed.  The
-// error message should be a developer-facing English message that helps
-// developers *understand* and *resolve* the error. If a localized user-facing
-// error message is needed, put the localized message in the error details or
-// localize it in the client. The optional error details may contain arbitrary
-// information about the error. There is a predefined set of error detail types
-// in the package `google.rpc` which can be used for common error conditions.
-//
-// # Language mapping
-//
-// The `Status` message is the logical representation of the error model, but it
-// is not necessarily the actual wire format. When the `Status` message is
-// exposed in different client libraries and different wire protocols, it can be
-// mapped differently. For example, it will likely be mapped to some exceptions
-// in Java, but more likely mapped to some error codes in C.
-//
-// # Other uses
-//
-// The error model and the `Status` message can be used in a variety of
-// environments, either with or without APIs, to provide a
-// consistent developer experience across different environments.
-//
-// Example uses of this error model include:
-//
-// - Partial errors. If a service needs to return partial errors to the client,
-//     it may embed the `Status` in the normal response to indicate the partial
-//     errors.
-//
-// - Workflow errors. A typical workflow has multiple steps. Each step may
-//     have a `Status` message for error reporting purpose.
-//
-// - Batch operations. If a client uses batch request and batch response, the
-//     `Status` message should be used directly inside batch response, one for
-//     each error sub-response.
-//
-// - Asynchronous operations. If an API call embeds asynchronous operation
-//     results in its response, the status of those operations should be
-//     represented directly using the `Status` message.
-//
-// - Logging. If some API errors are stored in logs, the message `Status` could
-//     be used directly after any stripping needed for security/privacy reasons.
-message Status {
-  // The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
-  int32 code = 1;
-
-  // A developer-facing error message, which should be in English. Any
-  // user-facing error message should be localized and sent in the
-  // [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
-  string message = 2;
-
-  // A list of messages that carry the error details.  There will be a
-  // common set of message types for APIs to use.
-  repeated google.protobuf.Any details = 3;
-}
diff --git a/googleapis/storagetransfer/v1/transfer.pb.go b/googleapis/storagetransfer/v1/transfer.pb.go
index b81c40df2d387cbc8418ddbdb28e93b71a58e379..d53abbe90d92dcfcb37107f457ab4145880c85dc 100644
--- a/googleapis/storagetransfer/v1/transfer.pb.go
+++ b/googleapis/storagetransfer/v1/transfer.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/storagetransfer/v1/transfer.proto
+// source: google/storagetransfer/v1/transfer.proto
 // DO NOT EDIT!
 
 /*
-Package google_storagetransfer_v1 is a generated protocol buffer package.
+Package storagetransfer is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/storagetransfer/v1/transfer.proto
-	google.golang.org/genproto/googleapis/storagetransfer/v1/transfer_types.proto
+	google/storagetransfer/v1/transfer.proto
+	google/storagetransfer/v1/transfer_types.proto
 
 It has these top-level messages:
 	GetGoogleServiceAccountRequest
@@ -33,14 +33,14 @@ It has these top-level messages:
 	TransferCounters
 	TransferOperation
 */
-package google_storagetransfer_v1 // import "google.golang.org/genproto/googleapis/storagetransfer/v1"
+package storagetransfer
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
-import google_protobuf2 "google.golang.org/genproto/protobuf"
+import google_protobuf2 "google.golang.org/genproto/protobuf/field_mask"
 
 import (
 	context "golang.org/x/net/context"
@@ -71,6 +71,13 @@ func (m *GetGoogleServiceAccountRequest) String() string            { return pro
 func (*GetGoogleServiceAccountRequest) ProtoMessage()               {}
 func (*GetGoogleServiceAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *GetGoogleServiceAccountRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 // Request passed to CreateTransferJob.
 type CreateTransferJobRequest struct {
 	// The job to create.
@@ -115,6 +122,20 @@ func (m *UpdateTransferJobRequest) String() string            { return proto.Com
 func (*UpdateTransferJobRequest) ProtoMessage()               {}
 func (*UpdateTransferJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *UpdateTransferJobRequest) GetJobName() string {
+	if m != nil {
+		return m.JobName
+	}
+	return ""
+}
+
+func (m *UpdateTransferJobRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *UpdateTransferJobRequest) GetTransferJob() *TransferJob {
 	if m != nil {
 		return m.TransferJob
@@ -144,6 +165,20 @@ func (m *GetTransferJobRequest) String() string            { return proto.Compac
 func (*GetTransferJobRequest) ProtoMessage()               {}
 func (*GetTransferJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *GetTransferJobRequest) GetJobName() string {
+	if m != nil {
+		return m.JobName
+	}
+	return ""
+}
+
+func (m *GetTransferJobRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 // `project_id`, `job_names`, and `job_statuses` are query parameters that can
 // be specified when listing transfer jobs.
 type ListTransferJobsRequest struct {
@@ -167,6 +202,27 @@ func (m *ListTransferJobsRequest) String() string            { return proto.Comp
 func (*ListTransferJobsRequest) ProtoMessage()               {}
 func (*ListTransferJobsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *ListTransferJobsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListTransferJobsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListTransferJobsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response from ListTransferJobs.
 type ListTransferJobsResponse struct {
 	// A list of transfer jobs.
@@ -187,6 +243,13 @@ func (m *ListTransferJobsResponse) GetTransferJobs() []*TransferJob {
 	return nil
 }
 
+func (m *ListTransferJobsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request passed to PauseTransferOperation.
 type PauseTransferOperationRequest struct {
 	// The name of the transfer operation.
@@ -199,6 +262,13 @@ func (m *PauseTransferOperationRequest) String() string            { return prot
 func (*PauseTransferOperationRequest) ProtoMessage()               {}
 func (*PauseTransferOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *PauseTransferOperationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request passed to ResumeTransferOperation.
 type ResumeTransferOperationRequest struct {
 	// The name of the transfer operation.
@@ -211,6 +281,13 @@ func (m *ResumeTransferOperationRequest) String() string            { return pro
 func (*ResumeTransferOperationRequest) ProtoMessage()               {}
 func (*ResumeTransferOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *ResumeTransferOperationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*GetGoogleServiceAccountRequest)(nil), "google.storagetransfer.v1.GetGoogleServiceAccountRequest")
 	proto.RegisterType((*CreateTransferJobRequest)(nil), "google.storagetransfer.v1.CreateTransferJobRequest")
@@ -521,61 +598,59 @@ var _StorageTransferService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/storagetransfer/v1/transfer.proto",
+	Metadata: "google/storagetransfer/v1/transfer.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/storagetransfer/v1/transfer.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/storagetransfer/v1/transfer.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 768 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x55, 0xed, 0x4e, 0xd4, 0x4c,
-	0x14, 0xce, 0xf0, 0xf5, 0xc2, 0x00, 0xef, 0x0b, 0x93, 0xbc, 0x4b, 0xa9, 0x61, 0x43, 0x4a, 0xb2,
-	0xe2, 0x6a, 0x5a, 0xd9, 0x25, 0x51, 0x49, 0x8c, 0x11, 0xa3, 0x1b, 0x54, 0x14, 0x17, 0xfc, 0x6b,
-	0x33, 0xbb, 0x7b, 0xb6, 0x76, 0xd9, 0x76, 0x6a, 0x67, 0x4a, 0x04, 0xc2, 0x1f, 0x6f, 0xc0, 0x44,
-	0x63, 0x62, 0x62, 0x4c, 0xbc, 0x09, 0xaf, 0xc4, 0x5b, 0xf0, 0x22, 0xf4, 0x97, 0xa6, 0xd3, 0x76,
-	0x29, 0xfb, 0x51, 0x40, 0xfc, 0x43, 0x3a, 0x73, 0xe6, 0x3c, 0xcf, 0x73, 0xce, 0xe1, 0x39, 0x8b,
-	0x2b, 0x16, 0x63, 0x56, 0x1b, 0x74, 0x8b, 0xb5, 0xa9, 0x6b, 0xe9, 0xcc, 0xb7, 0x0c, 0x0b, 0x5c,
-	0xcf, 0x67, 0x82, 0x19, 0x51, 0x88, 0x7a, 0x36, 0x37, 0xb8, 0x60, 0x3e, 0xb5, 0x40, 0xf8, 0xd4,
-	0xe5, 0x4d, 0xf0, 0x8d, 0xbd, 0x15, 0x23, 0xf9, 0xd6, 0xe5, 0x63, 0x32, 0x1f, 0x03, 0x75, 0xbd,
-	0xd4, 0xf7, 0x56, 0xd4, 0x8d, 0xb3, 0x71, 0x50, 0xcf, 0x36, 0x38, 0xf8, 0x7b, 0x76, 0x1d, 0xea,
-	0xcc, 0x6d, 0xda, 0x96, 0x41, 0x5d, 0x97, 0x09, 0x2a, 0x6c, 0xe6, 0xf2, 0x88, 0x45, 0x2d, 0x5b,
-	0xb6, 0x78, 0x19, 0xd4, 0xf4, 0x3a, 0x73, 0x8c, 0x08, 0xce, 0x90, 0x81, 0x5a, 0xd0, 0x34, 0x3c,
-	0xb1, 0xef, 0x01, 0x37, 0xc0, 0xf1, 0xc4, 0x7e, 0xf4, 0x37, 0x4e, 0x5a, 0xcd, 0xe0, 0xef, 0x64,
-	0x37, 0x6d, 0x68, 0x37, 0x4c, 0x87, 0xf2, 0xdd, 0x38, 0x6b, 0xf3, 0xc2, 0x9d, 0x31, 0xa5, 0xa0,
-	0x08, 0x4e, 0xbb, 0x83, 0xf3, 0x15, 0x10, 0x15, 0x99, 0xb8, 0x1d, 0x55, 0x79, 0xb7, 0x5e, 0x67,
-	0x81, 0x2b, 0xaa, 0xf0, 0x2a, 0x00, 0x2e, 0xc8, 0x02, 0xc6, 0x9e, 0xcf, 0x5a, 0x50, 0x17, 0xa6,
-	0xdd, 0x50, 0xd0, 0x22, 0x5a, 0x9e, 0xa8, 0x4e, 0xc4, 0x37, 0x1b, 0x0d, 0x0d, 0xb0, 0x72, 0xcf,
-	0x07, 0x2a, 0x60, 0x27, 0x86, 0x7f, 0xc8, 0x6a, 0x49, 0xea, 0x06, 0x9e, 0xea, 0x90, 0xb6, 0x58,
-	0x4d, 0x26, 0x4f, 0x96, 0x0a, 0xfa, 0xc0, 0x99, 0xe8, 0x69, 0x90, 0x49, 0x71, 0x7c, 0xd0, 0x7e,
-	0x21, 0xac, 0x3c, 0xf7, 0x1a, 0xfd, 0x79, 0xe6, 0xf1, 0x78, 0x8b, 0xd5, 0x4c, 0x97, 0x3a, 0x10,
-	0x0b, 0xfc, 0xa7, 0xc5, 0x6a, 0x4f, 0xa8, 0x03, 0x5d, 0xea, 0x87, 0xba, 0xd4, 0xf7, 0x28, 0x1c,
-	0xfe, 0x63, 0x85, 0xe4, 0x05, 0xce, 0x07, 0x52, 0xa0, 0x99, 0x46, 0x34, 0x8f, 0x07, 0xa8, 0x8c,
-	0x48, 0x70, 0x35, 0x01, 0x4f, 0x66, 0xac, 0x3f, 0x08, 0x9f, 0x6c, 0x52, 0xbe, 0x5b, 0x55, 0x83,
-	0xee, 0x12, 0x3b, 0x31, 0xed, 0x19, 0xfe, 0xbf, 0x02, 0xe2, 0x6f, 0x56, 0xaf, 0x39, 0x78, 0xee,
-	0xb1, 0xcd, 0xd3, 0x98, 0x3c, 0x01, 0xcd, 0xe1, 0xb1, 0xa6, 0xdd, 0x16, 0xe0, 0xc7, 0x90, 0xf1,
-	0x89, 0x5c, 0xc2, 0x13, 0x1e, 0xb5, 0xc0, 0xe4, 0xf6, 0x01, 0xc8, 0x82, 0x46, 0xab, 0xe3, 0xe1,
-	0xc5, 0xb6, 0x7d, 0x10, 0xd1, 0x85, 0x41, 0xc1, 0x76, 0xc1, 0x55, 0x46, 0x63, 0x3a, 0x6a, 0xc1,
-	0x4e, 0x78, 0xa1, 0xbd, 0x45, 0x58, 0xe9, 0xe5, 0xe3, 0x1e, 0x73, 0x39, 0x90, 0x47, 0x78, 0x3a,
-	0xdd, 0x37, 0xae, 0xa0, 0xc5, 0xe1, 0x73, 0x8c, 0x62, 0x2a, 0x35, 0x0a, 0x4e, 0x0a, 0xf8, 0x3f,
-	0x17, 0x5e, 0x0b, 0x33, 0xa5, 0x26, 0x2a, 0x7e, 0x3a, 0xbc, 0xde, 0xea, 0x28, 0x2a, 0xe3, 0x85,
-	0x2d, 0x1a, 0xf0, 0x4e, 0xc3, 0x9f, 0x7a, 0xe0, 0x4b, 0x63, 0x27, 0x6d, 0x20, 0x78, 0x24, 0xd5,
-	0x57, 0xf9, 0xad, 0xad, 0xe2, 0x7c, 0x15, 0x78, 0xe0, 0x9c, 0x2b, 0xab, 0xf4, 0x73, 0x1c, 0xe7,
-	0xb6, 0xa3, 0x1a, 0x92, 0xbc, 0xd8, 0x6f, 0xe4, 0x2b, 0xc2, 0x73, 0x03, 0x4c, 0x48, 0x6e, 0x65,
-	0xd4, 0x9f, 0x6d, 0x5c, 0xd5, 0xc8, 0x4a, 0xed, 0x93, 0xa7, 0xe9, 0x6f, 0xbe, 0x7d, 0x7f, 0x3f,
-	0xb4, 0x4c, 0x0a, 0xe1, 0xb6, 0xb0, 0xfa, 0xbc, 0xe0, 0xc6, 0xe1, 0xf1, 0xbf, 0xd3, 0x11, 0xf9,
-	0x88, 0xf0, 0x6c, 0x8f, 0xf7, 0x49, 0x39, 0x83, 0x76, 0xd0, 0xa6, 0x50, 0xcf, 0x38, 0x66, 0xad,
-	0x20, 0x25, 0x2e, 0x6a, 0x33, 0xe9, 0x85, 0x16, 0x8e, 0x7c, 0xed, 0x84, 0x8f, 0xc9, 0x27, 0x84,
-	0x67, 0x7b, 0xd6, 0x45, 0xa6, 0xb4, 0x41, 0xcb, 0xe5, 0xcc, 0xd2, 0xae, 0x48, 0x69, 0x4b, 0xa5,
-	0x7c, 0x28, 0xed, 0x30, 0x71, 0xe4, 0xed, 0xb4, 0x48, 0xa3, 0x58, 0x3c, 0x5a, 0x43, 0x45, 0xf2,
-	0x0e, 0xe1, 0x7f, 0x4f, 0x7a, 0x99, 0x5c, 0xcf, 0x9e, 0xf3, 0xc5, 0x5b, 0x46, 0x4e, 0xd1, 0x45,
-	0x3e, 0x20, 0x3c, 0xd3, 0xed, 0x4e, 0x52, 0xca, 0x20, 0x19, 0xb0, 0x3a, 0xd4, 0xf2, 0xb9, 0x72,
-	0x22, 0xfb, 0x6b, 0x8a, 0x54, 0x49, 0x48, 0xcf, 0x60, 0xc9, 0x67, 0x84, 0x73, 0xfd, 0x4d, 0x4a,
-	0x6e, 0x66, 0x30, 0x65, 0xfa, 0x5a, 0xcd, 0xf5, 0x2c, 0xe1, 0xfb, 0xe1, 0x2f, 0xb3, 0xb6, 0x22,
-	0x65, 0x5c, 0xd5, 0xa4, 0x05, 0x0e, 0x4f, 0x34, 0xaa, 0x83, 0x11, 0x8d, 0xd1, 0x0b, 0xf1, 0xc3,
-	0x61, 0x7e, 0x41, 0x78, 0x6e, 0xc0, 0x3e, 0xc8, 0x74, 0x6f, 0xf6, 0x0e, 0x19, 0xa8, 0xb0, 0x24,
-	0x15, 0x5e, 0xd3, 0x2e, 0x9f, 0xaa, 0xd0, 0x97, 0x04, 0x6b, 0xa8, 0xb8, 0x7e, 0x03, 0x2f, 0xd5,
-	0x99, 0x93, 0xa1, 0x45, 0x72, 0xac, 0x4f, 0x27, 0x62, 0xb6, 0xc2, 0xe3, 0x0f, 0x84, 0x6a, 0x63,
-	0x32, 0x50, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xaa, 0x9f, 0x42, 0x0f, 0x8f, 0x09, 0x00, 0x00,
+	// 755 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x96, 0xdd, 0x4e, 0x13, 0x5b,
+	0x14, 0xc7, 0xb3, 0xf9, 0x3a, 0xb0, 0x80, 0x73, 0x60, 0x27, 0xa7, 0x0c, 0xe5, 0xd0, 0x34, 0x43,
+	0xd2, 0x83, 0xd5, 0xcc, 0x48, 0xeb, 0x85, 0x62, 0x8c, 0x11, 0xa3, 0x88, 0x9f, 0x58, 0xf0, 0xc6,
+	0x0b, 0x27, 0xbb, 0xed, 0xea, 0x64, 0x4a, 0x3b, 0x7b, 0x9c, 0xbd, 0x4b, 0x04, 0xc2, 0x85, 0xbe,
+	0x80, 0x89, 0xc6, 0xc4, 0xc4, 0x98, 0xf8, 0x12, 0x3e, 0x89, 0xaf, 0xe0, 0x43, 0xe8, 0x95, 0x66,
+	0x76, 0x67, 0xca, 0xd0, 0x8f, 0x01, 0xd4, 0xbb, 0xd9, 0x7b, 0xaf, 0x8f, 0xdf, 0x5a, 0x8b, 0xff,
+	0xa2, 0xb0, 0x6c, 0x73, 0x6e, 0x37, 0xd0, 0x14, 0x92, 0xfb, 0xcc, 0x46, 0xe9, 0x33, 0x57, 0xd4,
+	0xd0, 0x37, 0x77, 0x57, 0xcc, 0xe8, 0xdb, 0xf0, 0x7c, 0x2e, 0x39, 0x9d, 0x6f, 0x5b, 0x1a, 0x5d,
+	0x96, 0xc6, 0xee, 0x4a, 0xfa, 0xbf, 0x30, 0x08, 0xf3, 0x1c, 0x93, 0xb9, 0x2e, 0x97, 0x4c, 0x3a,
+	0xdc, 0x15, 0x6d, 0xc7, 0xf4, 0x42, 0xf8, 0xaa, 0x4e, 0xe5, 0x56, 0xcd, 0xc4, 0xa6, 0x27, 0xf7,
+	0xc2, 0xc7, 0x6c, 0xf7, 0x63, 0xcd, 0xc1, 0x46, 0xd5, 0x6a, 0x32, 0xb1, 0x13, 0x5a, 0x18, 0x27,
+	0x13, 0x5a, 0x72, 0xcf, 0xc3, 0x30, 0x9d, 0x7e, 0x1d, 0x32, 0xeb, 0x28, 0xd7, 0x95, 0xd3, 0x16,
+	0xfa, 0xbb, 0x4e, 0x05, 0x6f, 0x54, 0x2a, 0xbc, 0xe5, 0xca, 0x12, 0x3e, 0x6f, 0xa1, 0x90, 0x74,
+	0x11, 0xc0, 0xf3, 0x79, 0x1d, 0x2b, 0xd2, 0x72, 0xaa, 0x1a, 0xc9, 0x92, 0xe5, 0x89, 0xd2, 0x44,
+	0x78, 0xb3, 0x51, 0xd5, 0x11, 0xb4, 0x9b, 0x3e, 0x32, 0x89, 0xdb, 0x61, 0xf8, 0xbb, 0xbc, 0x1c,
+	0xb9, 0x6e, 0xc0, 0x54, 0x27, 0x69, 0x9d, 0x97, 0x95, 0xf3, 0x64, 0x21, 0x67, 0x0c, 0xec, 0x8d,
+	0x11, 0x0f, 0x32, 0x29, 0x8f, 0x0e, 0xfa, 0x0f, 0x02, 0xda, 0x13, 0xaf, 0xda, 0x3f, 0xcf, 0x3c,
+	0x8c, 0xd7, 0x79, 0xd9, 0x72, 0x59, 0x13, 0x43, 0xc0, 0xbf, 0xea, 0xbc, 0xfc, 0x90, 0x35, 0xb1,
+	0x8b, 0x7e, 0xa8, 0x8b, 0xbe, 0x87, 0x70, 0xf8, 0x97, 0x09, 0xe9, 0x33, 0xc8, 0xb4, 0x14, 0xa0,
+	0x15, 0x8f, 0x68, 0x1d, 0x4d, 0x48, 0x1b, 0x51, 0xc1, 0xa3, 0x11, 0x19, 0xd1, 0x10, 0x8d, 0xdb,
+	0x81, 0xc9, 0x03, 0x26, 0x76, 0x4a, 0xe9, 0x56, 0x77, 0x89, 0x9d, 0x37, 0xfd, 0x31, 0xfc, 0xbb,
+	0x8e, 0xf2, 0x4f, 0x56, 0xaf, 0x37, 0x61, 0xee, 0xbe, 0x23, 0xe2, 0x31, 0x45, 0x14, 0x34, 0x05,
+	0x63, 0x35, 0xa7, 0x21, 0xd1, 0x0f, 0x43, 0x86, 0x27, 0xba, 0x00, 0x13, 0x1e, 0xb3, 0xd1, 0x12,
+	0xce, 0x3e, 0xaa, 0x82, 0x46, 0x4b, 0xe3, 0xc1, 0xc5, 0x96, 0xb3, 0xdf, 0x4e, 0x17, 0x3c, 0x4a,
+	0xbe, 0x83, 0xae, 0x36, 0x1a, 0xa6, 0x63, 0x36, 0x6e, 0x07, 0x17, 0xfa, 0x6b, 0x02, 0x5a, 0x6f,
+	0x3e, 0xe1, 0x71, 0x57, 0x20, 0xbd, 0x07, 0xd3, 0xf1, 0xbe, 0x09, 0x8d, 0x64, 0x87, 0xcf, 0x30,
+	0x8a, 0xa9, 0xd8, 0x28, 0x04, 0xcd, 0xc1, 0x3f, 0x2e, 0xbe, 0x90, 0x56, 0x8c, 0xa6, 0x5d, 0xfc,
+	0x74, 0x70, 0xbd, 0xd9, 0x21, 0x2a, 0xc2, 0xe2, 0x26, 0x6b, 0x89, 0x4e, 0xc3, 0x1f, 0x79, 0xe8,
+	0x2b, 0x35, 0x46, 0x6d, 0xa0, 0x30, 0x12, 0xeb, 0xab, 0xfa, 0xd6, 0x2f, 0x41, 0xa6, 0x84, 0xa2,
+	0xd5, 0x3c, 0x93, 0x57, 0xe1, 0xfb, 0x38, 0xa4, 0xb6, 0xda, 0x35, 0x44, 0x7e, 0xa1, 0xde, 0xe8,
+	0x67, 0x02, 0x73, 0x03, 0x44, 0x48, 0xaf, 0x24, 0xd4, 0x9f, 0x2c, 0xdc, 0xb4, 0x99, 0xe4, 0xda,
+	0xc7, 0x4f, 0x37, 0x5e, 0x7d, 0xf9, 0xfa, 0x76, 0x68, 0x99, 0xe6, 0x82, 0x6d, 0x61, 0xf7, 0xb1,
+	0x10, 0xe6, 0xc1, 0xd1, 0x9f, 0xd3, 0x21, 0x7d, 0x4f, 0x60, 0xb6, 0x47, 0xfb, 0xb4, 0x98, 0x90,
+	0x76, 0xd0, 0xa6, 0x48, 0x9f, 0x72, 0xcc, 0x7a, 0x4e, 0x21, 0x66, 0xf5, 0x99, 0xf8, 0x42, 0x0b,
+	0x46, 0xbe, 0x7a, 0x4c, 0xc7, 0xf4, 0x03, 0x81, 0xd9, 0x9e, 0x75, 0x91, 0x88, 0x36, 0x68, 0xb9,
+	0x9c, 0x1a, 0xed, 0x9c, 0x42, 0x5b, 0x2a, 0x64, 0x02, 0xb4, 0x83, 0x48, 0x91, 0xd7, 0xe2, 0x90,
+	0x66, 0x3e, 0x7f, 0xb8, 0x4a, 0xf2, 0xf4, 0x0d, 0x81, 0xbf, 0x8f, 0x6b, 0x99, 0x5e, 0x4c, 0x9e,
+	0xf3, 0xef, 0xb7, 0x8c, 0x9e, 0xc0, 0x45, 0xdf, 0x11, 0x98, 0xe9, 0x56, 0x27, 0x2d, 0x24, 0x24,
+	0x19, 0xb0, 0x3a, 0xd2, 0xc5, 0x33, 0xf9, 0xb4, 0xe5, 0xaf, 0x6b, 0x8a, 0x92, 0xd2, 0x9e, 0xc1,
+	0xd2, 0x8f, 0x04, 0x52, 0xfd, 0x45, 0x4a, 0x2f, 0x27, 0x64, 0x4a, 0xd4, 0x75, 0x3a, 0xd5, 0xb3,
+	0x84, 0x6f, 0x05, 0xff, 0x66, 0xf5, 0x15, 0x85, 0x71, 0x5e, 0x57, 0x12, 0x38, 0x38, 0xd6, 0xa8,
+	0x4e, 0x8c, 0xf6, 0x18, 0xbd, 0x20, 0x7e, 0x30, 0xcc, 0x4f, 0x04, 0xe6, 0x06, 0xec, 0x83, 0x44,
+	0xf5, 0x26, 0xef, 0x90, 0x81, 0x84, 0x05, 0x45, 0x78, 0x41, 0xff, 0xff, 0x44, 0x42, 0x5f, 0x25,
+	0x58, 0x25, 0xf9, 0xb5, 0x97, 0x04, 0x96, 0x2a, 0xbc, 0x99, 0x00, 0xa3, 0x92, 0xac, 0x4d, 0x47,
+	0x34, 0x9b, 0xc1, 0xf1, 0xe9, 0x9d, 0xd0, 0xde, 0xe6, 0x0d, 0xe6, 0xda, 0x06, 0xf7, 0x6d, 0xd3,
+	0x46, 0x57, 0x99, 0x86, 0xeb, 0x81, 0x79, 0x8e, 0xe8, 0xf3, 0x53, 0xe3, 0x6a, 0xd7, 0xd5, 0x37,
+	0x42, 0xca, 0x63, 0xca, 0xaf, 0xf8, 0x33, 0x00, 0x00, 0xff, 0xff, 0x18, 0x96, 0x62, 0x38, 0x43,
+	0x09, 0x00, 0x00,
 }
diff --git a/googleapis/storagetransfer/v1/transfer.proto b/googleapis/storagetransfer/v1/transfer.proto
deleted file mode 100644
index 7164d0b8dec3898f09a0f3a0e9abfd67e28943e7..0000000000000000000000000000000000000000
--- a/googleapis/storagetransfer/v1/transfer.proto
+++ /dev/null
@@ -1,167 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.storagetransfer.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-import "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
-import "google.golang.org/genproto/googleapis/storagetransfer/v1/transfer_types.proto"; // from google/storagetransfer/v1/transfer_types.proto
-
-option cc_enable_arenas = true;
-option java_outer_classname = "TransferProto";
-option java_package = "com.google.storagetransfer.v1.proto";
-
-
-// Transfers data between between Google Cloud Storage buckets or from a data
-// source external to Google to a Cloud Storage bucket.
-service StorageTransferService {
-  // Returns the Google service account that is used by Storage Transfer
-  // Service to access buckets in the project where transfers
-  // run or in other projects. Each Google service account is associated
-  // with one Google Cloud Platform Console project. Users
-  // should add this service account to the Google Cloud Storage bucket
-  // ACLs to grant access to Storage Transfer Service. This service
-  // account is created and owned by Storage Transfer Service and can
-  // only be used by Storage Transfer Service.
-  rpc GetGoogleServiceAccount(GetGoogleServiceAccountRequest) returns (GoogleServiceAccount) {
-    option (google.api.http) = { get: "/v1/googleServiceAccounts/{project_id}" };
-  }
-
-  // Creates a transfer job that runs periodically.
-  rpc CreateTransferJob(CreateTransferJobRequest) returns (TransferJob) {
-    option (google.api.http) = { post: "/v1/transferJobs" body: "transfer_job" };
-  }
-
-  // Updates a transfer job. Updating a job's transfer spec does not affect
-  // transfer operations that are running already. Updating the scheduling
-  // of a job is not allowed.
-  rpc UpdateTransferJob(UpdateTransferJobRequest) returns (TransferJob) {
-    option (google.api.http) = { patch: "/v1/{job_name=transferJobs/**}" body: "*" };
-  }
-
-  // Gets a transfer job.
-  rpc GetTransferJob(GetTransferJobRequest) returns (TransferJob) {
-    option (google.api.http) = { get: "/v1/{job_name=transferJobs/**}" };
-  }
-
-  // Lists transfer jobs.
-  rpc ListTransferJobs(ListTransferJobsRequest) returns (ListTransferJobsResponse) {
-    option (google.api.http) = { get: "/v1/transferJobs" };
-  }
-
-  // Pauses a transfer operation.
-  rpc PauseTransferOperation(PauseTransferOperationRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{name=transferOperations/**}:pause" body: "*" };
-  }
-
-  // Resumes a transfer operation that is paused.
-  rpc ResumeTransferOperation(ResumeTransferOperationRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{name=transferOperations/**}:resume" body: "*" };
-  }
-}
-
-// Request passed to GetGoogleServiceAccount.
-message GetGoogleServiceAccountRequest {
-  // The ID of the Google Cloud Platform Console project that the Google service
-  // account is associated with.
-  // Required.
-  string project_id = 1;
-}
-
-// Request passed to CreateTransferJob.
-message CreateTransferJobRequest {
-  // The job to create.
-  // Required.
-  TransferJob transfer_job = 1;
-}
-
-// Request passed to UpdateTransferJob.
-message UpdateTransferJobRequest {
-  // The name of job to update.
-  // Required.
-  string job_name = 1;
-
-  // The ID of the Google Cloud Platform Console project that owns the job.
-  // Required.
-  string project_id = 2;
-
-  // The job to update.
-  // Required.
-  TransferJob transfer_job = 3;
-
-  // The field mask of the fields in `transferJob` that are to be updated in
-  // this request.  Fields in `transferJob` that can be updated are:
-  // `description`, `transferSpec`, and `status`.  To update the `transferSpec`
-  // of the job, a complete transfer specification has to be provided. An
-  // incomplete specification which misses any required fields will be rejected
-  // with the error `INVALID_ARGUMENT`.
-  google.protobuf.FieldMask update_transfer_job_field_mask = 4;
-}
-
-// Request passed to GetTransferJob.
-message GetTransferJobRequest {
-  // The job to get.
-  // Required.
-  string job_name = 1;
-
-  // The ID of the Google Cloud Platform Console project that owns the job.
-  // Required.
-  string project_id = 2;
-}
-
-// `project_id`, `job_names`, and `job_statuses` are query parameters that can
-// be specified when listing transfer jobs.
-message ListTransferJobsRequest {
-  // A list of query parameters specified as JSON text in the form of
-  // {"project_id":"my_project_id",
-  // "job_names":["jobid1","jobid2",...],
-  // "job_statuses":["status1","status2",...]}.
-  // Since `job_names` and `job_statuses` support multiple values, their values
-  // must be specified with array notation. `project_id` is required. `job_names`
-  // and `job_statuses` are optional.  The valid values for `job_statuses` are
-  // case-insensitive: `ENABLED`, `DISABLED`, and `DELETED`.
-  string filter = 1;
-
-  // The list page size. The max allowed value is 256.
-  int32 page_size = 4;
-
-  // The list page token.
-  string page_token = 5;
-}
-
-// Response from ListTransferJobs.
-message ListTransferJobsResponse {
-  // A list of transfer jobs.
-  repeated TransferJob transfer_jobs = 1;
-
-  // The list next page token.
-  string next_page_token = 2;
-}
-
-// Request passed to PauseTransferOperation.
-message PauseTransferOperationRequest {
-  // The name of the transfer operation.
-  // Required.
-  string name = 1;
-}
-
-// Request passed to ResumeTransferOperation.
-message ResumeTransferOperationRequest {
-  // The name of the transfer operation.
-  // Required.
-  string name = 1;
-}
diff --git a/googleapis/storagetransfer/v1/transfer_types.pb.go b/googleapis/storagetransfer/v1/transfer_types.pb.go
index b5d847b9fedf59a0e06e9288a5e271b6e72af678..29f3a0e2f998ace37262b8b807712c8a65a60a5b 100644
--- a/googleapis/storagetransfer/v1/transfer_types.pb.go
+++ b/googleapis/storagetransfer/v1/transfer_types.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/storagetransfer/v1/transfer_types.proto
+// source: google/storagetransfer/v1/transfer_types.proto
 // DO NOT EDIT!
 
-package google_storagetransfer_v1 // import "google.golang.org/genproto/googleapis/storagetransfer/v1"
+package storagetransfer
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/duration"
 import google_protobuf4 "github.com/golang/protobuf/ptypes/timestamp"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/code"
@@ -104,6 +104,13 @@ func (m *GoogleServiceAccount) String() string            { return proto.Compact
 func (*GoogleServiceAccount) ProtoMessage()               {}
 func (*GoogleServiceAccount) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *GoogleServiceAccount) GetAccountEmail() string {
+	if m != nil {
+		return m.AccountEmail
+	}
+	return ""
+}
+
 // AWS access key (see
 // [AWS Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)).
 type AwsAccessKey struct {
@@ -120,6 +127,20 @@ func (m *AwsAccessKey) String() string            { return proto.CompactTextStri
 func (*AwsAccessKey) ProtoMessage()               {}
 func (*AwsAccessKey) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
+func (m *AwsAccessKey) GetAccessKeyId() string {
+	if m != nil {
+		return m.AccessKeyId
+	}
+	return ""
+}
+
+func (m *AwsAccessKey) GetSecretAccessKey() string {
+	if m != nil {
+		return m.SecretAccessKey
+	}
+	return ""
+}
+
 // Conditions that determine which objects will be transferred.
 type ObjectConditions struct {
 	// If unspecified, `minTimeElapsedSinceLastModification` takes a zero value
@@ -193,6 +214,20 @@ func (m *ObjectConditions) GetMaxTimeElapsedSinceLastModification() *google_prot
 	return nil
 }
 
+func (m *ObjectConditions) GetIncludePrefixes() []string {
+	if m != nil {
+		return m.IncludePrefixes
+	}
+	return nil
+}
+
+func (m *ObjectConditions) GetExcludePrefixes() []string {
+	if m != nil {
+		return m.ExcludePrefixes
+	}
+	return nil
+}
+
 // In a GcsData, an object's name is the Google Cloud Storage object's name and
 // its `lastModificationTime` refers to the object's updated time, which changes
 // when the content or the metadata of the object is updated.
@@ -208,6 +243,13 @@ func (m *GcsData) String() string            { return proto.CompactTextString(m)
 func (*GcsData) ProtoMessage()               {}
 func (*GcsData) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
+func (m *GcsData) GetBucketName() string {
+	if m != nil {
+		return m.BucketName
+	}
+	return ""
+}
+
 // An AwsS3Data can be a data source, but not a data sink.
 // In an AwsS3Data, an object's name is the S3 object's key name.
 type AwsS3Data struct {
@@ -227,6 +269,13 @@ func (m *AwsS3Data) String() string            { return proto.CompactTextString(
 func (*AwsS3Data) ProtoMessage()               {}
 func (*AwsS3Data) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
+func (m *AwsS3Data) GetBucketName() string {
+	if m != nil {
+		return m.BucketName
+	}
+	return ""
+}
+
 func (m *AwsS3Data) GetAwsAccessKey() *AwsAccessKey {
 	if m != nil {
 		return m.AwsAccessKey
@@ -288,6 +337,13 @@ func (m *HttpData) String() string            { return proto.CompactTextString(m
 func (*HttpData) ProtoMessage()               {}
 func (*HttpData) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *HttpData) GetListUrl() string {
+	if m != nil {
+		return m.ListUrl
+	}
+	return ""
+}
+
 // TransferOptions uses three boolean parameters to define the actions
 // to be performed on objects in a transfer.
 type TransferOptions struct {
@@ -305,6 +361,27 @@ func (m *TransferOptions) String() string            { return proto.CompactTextS
 func (*TransferOptions) ProtoMessage()               {}
 func (*TransferOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
 
+func (m *TransferOptions) GetOverwriteObjectsAlreadyExistingInSink() bool {
+	if m != nil {
+		return m.OverwriteObjectsAlreadyExistingInSink
+	}
+	return false
+}
+
+func (m *TransferOptions) GetDeleteObjectsUniqueInSink() bool {
+	if m != nil {
+		return m.DeleteObjectsUniqueInSink
+	}
+	return false
+}
+
+func (m *TransferOptions) GetDeleteObjectsFromSourceAfterTransfer() bool {
+	if m != nil {
+		return m.DeleteObjectsFromSourceAfterTransfer
+	}
+	return false
+}
+
 // Configuration for running a transfer.
 type TransferSpec struct {
 	// The read source of the data.
@@ -626,6 +703,27 @@ func (m *TransferJob) String() string            { return proto.CompactTextStrin
 func (*TransferJob) ProtoMessage()               {}
 func (*TransferJob) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
 
+func (m *TransferJob) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *TransferJob) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *TransferJob) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *TransferJob) GetTransferSpec() *TransferSpec {
 	if m != nil {
 		return m.TransferSpec
@@ -640,6 +738,13 @@ func (m *TransferJob) GetSchedule() *Schedule {
 	return nil
 }
 
+func (m *TransferJob) GetStatus() TransferJob_Status {
+	if m != nil {
+		return m.Status
+	}
+	return TransferJob_STATUS_UNSPECIFIED
+}
+
 func (m *TransferJob) GetCreationTime() *google_protobuf4.Timestamp {
 	if m != nil {
 		return m.CreationTime
@@ -676,6 +781,20 @@ func (m *ErrorLogEntry) String() string            { return proto.CompactTextStr
 func (*ErrorLogEntry) ProtoMessage()               {}
 func (*ErrorLogEntry) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
 
+func (m *ErrorLogEntry) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
+
+func (m *ErrorLogEntry) GetErrorDetails() []string {
+	if m != nil {
+		return m.ErrorDetails
+	}
+	return nil
+}
+
 // A summary of errors by error code, plus a count and sample error log
 // entries.
 type ErrorSummary struct {
@@ -693,6 +812,20 @@ func (m *ErrorSummary) String() string            { return proto.CompactTextStri
 func (*ErrorSummary) ProtoMessage()               {}
 func (*ErrorSummary) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
 
+func (m *ErrorSummary) GetErrorCode() google_rpc.Code {
+	if m != nil {
+		return m.ErrorCode
+	}
+	return google_rpc.Code_OK
+}
+
+func (m *ErrorSummary) GetErrorCount() int64 {
+	if m != nil {
+		return m.ErrorCount
+	}
+	return 0
+}
+
 func (m *ErrorSummary) GetErrorLogEntries() []*ErrorLogEntry {
 	if m != nil {
 		return m.ErrorLogEntries
@@ -747,6 +880,118 @@ func (m *TransferCounters) String() string            { return proto.CompactText
 func (*TransferCounters) ProtoMessage()               {}
 func (*TransferCounters) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
 
+func (m *TransferCounters) GetObjectsFoundFromSource() int64 {
+	if m != nil {
+		return m.ObjectsFoundFromSource
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesFoundFromSource() int64 {
+	if m != nil {
+		return m.BytesFoundFromSource
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetObjectsFoundOnlyFromSink() int64 {
+	if m != nil {
+		return m.ObjectsFoundOnlyFromSink
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesFoundOnlyFromSink() int64 {
+	if m != nil {
+		return m.BytesFoundOnlyFromSink
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetObjectsFromSourceSkippedBySync() int64 {
+	if m != nil {
+		return m.ObjectsFromSourceSkippedBySync
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesFromSourceSkippedBySync() int64 {
+	if m != nil {
+		return m.BytesFromSourceSkippedBySync
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetObjectsCopiedToSink() int64 {
+	if m != nil {
+		return m.ObjectsCopiedToSink
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesCopiedToSink() int64 {
+	if m != nil {
+		return m.BytesCopiedToSink
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetObjectsDeletedFromSource() int64 {
+	if m != nil {
+		return m.ObjectsDeletedFromSource
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesDeletedFromSource() int64 {
+	if m != nil {
+		return m.BytesDeletedFromSource
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetObjectsDeletedFromSink() int64 {
+	if m != nil {
+		return m.ObjectsDeletedFromSink
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesDeletedFromSink() int64 {
+	if m != nil {
+		return m.BytesDeletedFromSink
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetObjectsFromSourceFailed() int64 {
+	if m != nil {
+		return m.ObjectsFromSourceFailed
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesFromSourceFailed() int64 {
+	if m != nil {
+		return m.BytesFromSourceFailed
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetObjectsFailedToDeleteFromSink() int64 {
+	if m != nil {
+		return m.ObjectsFailedToDeleteFromSink
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesFailedToDeleteFromSink() int64 {
+	if m != nil {
+		return m.BytesFailedToDeleteFromSink
+	}
+	return 0
+}
+
 // A description of the execution of a transfer.
 type TransferOperation struct {
 	// A globally unique ID assigned by the system.
@@ -776,6 +1021,20 @@ func (m *TransferOperation) String() string            { return proto.CompactTex
 func (*TransferOperation) ProtoMessage()               {}
 func (*TransferOperation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
 
+func (m *TransferOperation) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *TransferOperation) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *TransferOperation) GetTransferSpec() *TransferSpec {
 	if m != nil {
 		return m.TransferSpec
@@ -797,6 +1056,13 @@ func (m *TransferOperation) GetEndTime() *google_protobuf4.Timestamp {
 	return nil
 }
 
+func (m *TransferOperation) GetStatus() TransferOperation_Status {
+	if m != nil {
+		return m.Status
+	}
+	return TransferOperation_STATUS_UNSPECIFIED
+}
+
 func (m *TransferOperation) GetCounters() *TransferCounters {
 	if m != nil {
 		return m.Counters
@@ -811,6 +1077,13 @@ func (m *TransferOperation) GetErrorBreakdowns() []*ErrorSummary {
 	return nil
 }
 
+func (m *TransferOperation) GetTransferJobName() string {
+	if m != nil {
+		return m.TransferJobName
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*GoogleServiceAccount)(nil), "google.storagetransfer.v1.GoogleServiceAccount")
 	proto.RegisterType((*AwsAccessKey)(nil), "google.storagetransfer.v1.AwsAccessKey")
@@ -830,120 +1103,117 @@ func init() {
 	proto.RegisterEnum("google.storagetransfer.v1.TransferOperation_Status", TransferOperation_Status_name, TransferOperation_Status_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/storagetransfer/v1/transfer_types.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/storagetransfer/v1/transfer_types.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 1751 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x57, 0x5f, 0x6f, 0x1b, 0xc7,
-	0x11, 0x37, 0x45, 0x59, 0x22, 0x87, 0xa4, 0x48, 0x6d, 0x5c, 0x87, 0x52, 0xe2, 0xd6, 0x3d, 0x25,
-	0xb0, 0xe3, 0xa0, 0x24, 0x22, 0x21, 0x08, 0x1c, 0x23, 0x75, 0x29, 0x91, 0x92, 0x18, 0xcb, 0x96,
-	0x70, 0x47, 0xa1, 0xed, 0x4b, 0x0f, 0xcb, 0xbb, 0x25, 0xbd, 0xd1, 0xf1, 0xf6, 0x7a, 0xbb, 0xb4,
-	0x74, 0xe8, 0x53, 0x9f, 0xfa, 0x19, 0xfa, 0x45, 0xfa, 0x29, 0x0a, 0xf4, 0xad, 0x9f, 0xa3, 0x8f,
-	0x7d, 0x2c, 0xf6, 0xcf, 0x1d, 0xff, 0x88, 0x26, 0x59, 0xe4, 0x85, 0xd8, 0x9d, 0x9d, 0xdf, 0x6f,
-	0x66, 0x76, 0x86, 0x33, 0x7b, 0xf0, 0x76, 0xc8, 0xd8, 0x30, 0x20, 0x8d, 0x21, 0x0b, 0x70, 0x38,
-	0x6c, 0xb0, 0x78, 0xd8, 0x1c, 0x92, 0x30, 0x8a, 0x99, 0x60, 0x4d, 0x7d, 0x84, 0x23, 0xca, 0x9b,
-	0x5c, 0xb0, 0x18, 0x0f, 0x89, 0x88, 0x71, 0xc8, 0x07, 0x24, 0x6e, 0x7e, 0xf8, 0xa6, 0x99, 0xae,
-	0x5d, 0x91, 0x44, 0x84, 0x37, 0x14, 0x04, 0xed, 0x19, 0xba, 0x39, 0xfd, 0xc6, 0x87, 0x6f, 0xf6,
-	0xbb, 0xeb, 0x59, 0xc2, 0x11, 0x6d, 0x72, 0x12, 0x7f, 0xa0, 0x1e, 0xf1, 0x58, 0x38, 0xa0, 0xc3,
-	0x26, 0x0e, 0x43, 0x26, 0xb0, 0xa0, 0x2c, 0x34, 0x56, 0xf6, 0x5f, 0x0e, 0xa9, 0x78, 0x3f, 0xee,
-	0x37, 0x3c, 0x36, 0x6a, 0x6a, 0xba, 0xa6, 0x3a, 0xe8, 0x8f, 0x07, 0xcd, 0x48, 0xb9, 0xd3, 0xf4,
-	0xc7, 0xb1, 0x82, 0x64, 0x0b, 0x03, 0x7d, 0xb5, 0x1a, 0x2a, 0xe8, 0x88, 0x70, 0x81, 0x47, 0xd1,
-	0x64, 0x95, 0xd9, 0x5d, 0x2b, 0x84, 0x38, 0xf2, 0x9a, 0x1e, 0xf3, 0x89, 0xfa, 0x31, 0xd0, 0xef,
-	0xd7, 0x83, 0x4a, 0x0f, 0x9a, 0x3e, 0x16, 0xfa, 0xc7, 0x60, 0xdb, 0xff, 0x07, 0x56, 0xba, 0xcc,
-	0x06, 0x3e, 0x4e, 0x26, 0x2b, 0xcd, 0x62, 0xbd, 0x82, 0x47, 0x67, 0x4a, 0xd9, 0xd1, 0xb7, 0xdb,
-	0xf2, 0x3c, 0x36, 0x0e, 0x05, 0x3a, 0x80, 0x0a, 0xd6, 0x4b, 0x97, 0x8c, 0x30, 0x0d, 0xea, 0xb9,
-	0xa7, 0xb9, 0xe7, 0x45, 0xbb, 0x6c, 0x84, 0x1d, 0x29, 0xb3, 0xfe, 0x04, 0xe5, 0xd6, 0x2d, 0x6f,
-	0x79, 0x1e, 0xe1, 0xfc, 0x0d, 0x49, 0x90, 0xa5, 0x40, 0x84, 0x73, 0xf7, 0x86, 0x24, 0x2e, 0xf5,
-	0x0d, 0xa8, 0x84, 0x53, 0x8d, 0xae, 0x8f, 0x5e, 0xc0, 0x2e, 0x27, 0x5e, 0x4c, 0x84, 0x3b, 0x51,
-	0xad, 0x6f, 0x28, 0xbd, 0xaa, 0x3e, 0xc8, 0xf8, 0xac, 0x7f, 0x6e, 0x40, 0xed, 0xb2, 0xff, 0x13,
-	0xf1, 0xc4, 0x09, 0x0b, 0x7d, 0xaa, 0x92, 0x8d, 0x22, 0x78, 0x3e, 0xa2, 0xa1, 0x2b, 0x03, 0x71,
-	0x49, 0x80, 0x23, 0x4e, 0x7c, 0x97, 0xd3, 0xd0, 0x23, 0x6e, 0x80, 0xb9, 0x70, 0x47, 0xcc, 0xa7,
-	0x03, 0xea, 0xa9, 0xec, 0x2a, 0xfb, 0xa5, 0xc3, 0xbd, 0x86, 0xb9, 0xaa, 0x34, 0xa7, 0x8d, 0xb6,
-	0x49, 0xbf, 0x7d, 0x30, 0xa2, 0x61, 0x8f, 0x8e, 0x48, 0x47, 0x13, 0x39, 0x92, 0xe7, 0x02, 0x73,
-	0xf1, 0x76, 0x8a, 0x45, 0x59, 0xc4, 0x77, 0xeb, 0x59, 0xdc, 0x58, 0x6d, 0x11, 0xdf, 0xad, 0xb4,
-	0xf8, 0x15, 0xd4, 0x68, 0xe8, 0x05, 0x63, 0x9f, 0xb8, 0x51, 0x4c, 0x06, 0xf4, 0x8e, 0xf0, 0x7a,
-	0xfe, 0x69, 0x5e, 0xde, 0x91, 0x91, 0x5f, 0x19, 0xb1, 0x54, 0x25, 0x77, 0x73, 0xaa, 0x9b, 0x5a,
-	0xd5, 0xc8, 0x53, 0x55, 0xeb, 0x05, 0x6c, 0x9f, 0x79, 0xbc, 0x8d, 0x05, 0x46, 0xbf, 0x82, 0x52,
-	0x7f, 0xec, 0xdd, 0x10, 0xe1, 0x86, 0x78, 0x44, 0x4c, 0x9e, 0x40, 0x8b, 0xde, 0xe1, 0x11, 0xb1,
-	0xfe, 0x02, 0xc5, 0xd6, 0x2d, 0x77, 0x8e, 0xd6, 0xd2, 0x46, 0x6f, 0x61, 0x07, 0xdf, 0xf2, 0xf9,
-	0x8c, 0x96, 0x0e, 0x9f, 0x35, 0x3e, 0xfa, 0xcf, 0x6f, 0x4c, 0x57, 0x8e, 0x5d, 0xc6, 0x53, 0x3b,
-	0xeb, 0x4b, 0x28, 0x9c, 0x0b, 0x11, 0x29, 0xdb, 0x7b, 0x50, 0x08, 0x28, 0x17, 0xee, 0x38, 0x4e,
-	0x6b, 0x70, 0x5b, 0xee, 0xaf, 0xe3, 0xc0, 0xfa, 0xdb, 0x06, 0x54, 0x7b, 0x86, 0xf1, 0x32, 0xd2,
-	0xd5, 0xf1, 0x47, 0x78, 0xc1, 0x3e, 0x90, 0xf8, 0x36, 0xa6, 0x82, 0xb8, 0x4c, 0xd5, 0x0e, 0x77,
-	0x71, 0x10, 0x13, 0xec, 0x27, 0x2e, 0xb9, 0xa3, 0x5c, 0xd0, 0x70, 0xe8, 0xd2, 0x50, 0x26, 0xf0,
-	0x46, 0x11, 0x16, 0xec, 0x2f, 0x33, 0x84, 0x2e, 0x36, 0xde, 0xd2, 0xfa, 0x1d, 0xa3, 0xde, 0x0d,
-	0x1d, 0x1a, 0xde, 0xa0, 0xdf, 0xc1, 0x13, 0x9f, 0x04, 0x64, 0x8a, 0x77, 0x1c, 0xd2, 0x3f, 0x8f,
-	0x49, 0xc6, 0xb6, 0xa1, 0xd8, 0xf6, 0xb4, 0x92, 0xa1, 0xba, 0x56, 0x2a, 0x86, 0xe1, 0xf7, 0xf0,
-	0xd5, 0x1c, 0xc3, 0x20, 0x66, 0x23, 0x97, 0xb3, 0x71, 0xec, 0x11, 0x17, 0x0f, 0x84, 0xec, 0x9b,
-	0x26, 0xa0, 0x7a, 0x5e, 0xb1, 0x7d, 0x31, 0xc3, 0x76, 0x1a, 0xb3, 0x91, 0xa3, 0xb4, 0x5b, 0x52,
-	0x39, 0x0d, 0xde, 0xfa, 0xfb, 0x26, 0x94, 0xd3, 0x8d, 0x13, 0x11, 0x0f, 0x5d, 0x40, 0x75, 0xe8,
-	0x71, 0xd7, 0xc7, 0x02, 0x1b, 0x7a, 0xf3, 0x5f, 0xb0, 0x96, 0x64, 0xc4, 0x14, 0xc7, 0xf9, 0x03,
-	0xbb, 0x32, 0xd4, 0x4b, 0x6d, 0x0b, 0x39, 0x80, 0x64, 0x7a, 0xf9, 0xd1, 0x0c, 0xa1, 0x4e, 0xf1,
-	0x17, 0xcb, 0x53, 0xac, 0x2b, 0xe8, 0xfc, 0x81, 0x5d, 0xc5, 0xe9, 0xc6, 0x90, 0x5e, 0x42, 0xed,
-	0xbd, 0x10, 0xd1, 0x0c, 0x65, 0x5e, 0x51, 0x1e, 0x2c, 0xa1, 0x4c, 0xeb, 0xe2, 0xfc, 0x81, 0xbd,
-	0xf3, 0xde, 0xac, 0x0d, 0xe1, 0x39, 0x54, 0x26, 0x31, 0xcb, 0x7c, 0x6c, 0xae, 0x1d, 0x71, 0xce,
-	0x2e, 0xa5, 0x11, 0xcb, 0x3c, 0xfd, 0x01, 0x76, 0x75, 0x82, 0x5c, 0x2f, 0xeb, 0x3b, 0xf5, 0x87,
-	0x8a, 0xed, 0xeb, 0x25, 0x6c, 0xf3, 0xad, 0xca, 0xae, 0xb1, 0xf9, 0xe6, 0x75, 0x0d, 0xb5, 0x6c,
-	0x42, 0x32, 0x5d, 0xb2, 0xf5, 0x2d, 0x45, 0xfc, 0x62, 0x09, 0xf1, 0x5c, 0x91, 0xdb, 0x55, 0x31,
-	0x2b, 0x38, 0xae, 0x40, 0x69, 0xea, 0x1a, 0x8f, 0x4b, 0x50, 0xcc, 0x6e, 0xc1, 0xfa, 0x57, 0x0e,
-	0x0a, 0x8e, 0xf7, 0x9e, 0xf8, 0xe3, 0x80, 0xa0, 0x16, 0x7c, 0xc2, 0xcd, 0xda, 0xe5, 0x02, 0xc7,
-	0x42, 0x5e, 0x57, 0x5a, 0x1b, 0xbb, 0xa9, 0x0b, 0x72, 0x66, 0x34, 0xda, 0x58, 0x10, 0x7b, 0x37,
-	0xd5, 0x76, 0xa4, 0xb2, 0x14, 0xa1, 0x1f, 0x20, 0x13, 0xba, 0x24, 0xf4, 0x35, 0xc1, 0xc6, 0xc7,
-	0x08, 0xaa, 0xa9, 0x6e, 0x27, 0xf4, 0x15, 0xbc, 0x05, 0xbb, 0xda, 0xb0, 0x6a, 0xa7, 0x6c, 0xe0,
-	0xfa, 0x38, 0x31, 0x79, 0x7f, 0x3c, 0x03, 0x97, 0x4d, 0xf2, 0x72, 0xd0, 0xc6, 0x89, 0xbd, 0xa3,
-	0x00, 0xd9, 0xde, 0xfa, 0xf7, 0x26, 0x94, 0xd2, 0x2b, 0xf9, 0x91, 0xf5, 0x11, 0x82, 0xcd, 0xa9,
-	0xbe, 0xa4, 0xd6, 0xe8, 0x29, 0x94, 0x7c, 0xc2, 0xbd, 0x98, 0x46, 0x59, 0x5b, 0x2e, 0xda, 0xd3,
-	0x22, 0xf4, 0x04, 0x20, 0x8a, 0x99, 0xca, 0x32, 0xf5, 0x95, 0x07, 0x45, 0xbb, 0x68, 0x24, 0x5d,
-	0x1f, 0x5d, 0x40, 0x25, 0xcb, 0x14, 0x8f, 0x88, 0x67, 0xaa, 0xe9, 0xd9, 0x1a, 0x69, 0x92, 0xff,
-	0x40, 0xbb, 0x2c, 0xa6, 0xff, 0x8f, 0xaf, 0xa1, 0x90, 0x5e, 0x84, 0x29, 0xa4, 0x65, 0x45, 0x9e,
-	0xa6, 0xcb, 0xce, 0x40, 0xa8, 0x03, 0x5b, 0x5c, 0x60, 0x31, 0xd6, 0xe5, 0xb2, 0x73, 0xf8, 0x9b,
-	0x35, 0xfc, 0xf8, 0x91, 0xf5, 0x1b, 0x8e, 0x02, 0xd9, 0x06, 0x8c, 0x5e, 0x43, 0xc5, 0x8b, 0x89,
-	0x1a, 0x32, 0x2a, 0x01, 0xf5, 0x6d, 0xe5, 0xcc, 0xfe, 0xbd, 0x79, 0xd5, 0x4b, 0x1f, 0x39, 0x76,
-	0x39, 0x05, 0x48, 0x11, 0xba, 0x82, 0xc7, 0xf7, 0x86, 0x9e, 0x66, 0x2a, 0xac, 0x64, 0x7a, 0x14,
-	0xcc, 0xcd, 0x39, 0xc5, 0xf8, 0x1a, 0x2a, 0xaa, 0xc7, 0x65, 0x44, 0xc5, 0xd5, 0x2e, 0xa5, 0x00,
-	0x29, 0xb2, 0xce, 0x61, 0x4b, 0x47, 0x89, 0x1e, 0x03, 0x72, 0x7a, 0xad, 0xde, 0xb5, 0xe3, 0x5e,
-	0xbf, 0x73, 0xae, 0x3a, 0x27, 0xdd, 0xd3, 0x6e, 0xa7, 0x5d, 0x7b, 0x80, 0x4a, 0xb0, 0xdd, 0x79,
-	0xd7, 0x3a, 0xbe, 0xe8, 0xb4, 0x6b, 0x39, 0x54, 0x86, 0x42, 0xbb, 0xeb, 0xe8, 0xdd, 0x86, 0x3c,
-	0x6a, 0x77, 0x2e, 0x3a, 0xbd, 0x4e, 0xbb, 0x96, 0xb7, 0x4e, 0xa1, 0xd2, 0x89, 0x63, 0x16, 0x5f,
-	0xb0, 0x61, 0x27, 0x14, 0x71, 0x82, 0x6a, 0x90, 0x9f, 0xcc, 0x1d, 0xb9, 0x94, 0xef, 0x22, 0x22,
-	0x55, 0x5c, 0x9f, 0x08, 0x4c, 0x83, 0x74, 0x2c, 0x97, 0x95, 0xb0, 0xad, 0x65, 0xd6, 0x3f, 0x72,
-	0x50, 0x56, 0x44, 0xce, 0x78, 0x34, 0xc2, 0x71, 0x82, 0x9a, 0x00, 0x1a, 0x25, 0xdf, 0x7e, 0x8a,
-	0x6e, 0xe7, 0xb0, 0x96, 0x06, 0x18, 0x47, 0x5e, 0xe3, 0x84, 0xf9, 0xc4, 0x2e, 0x2a, 0x1d, 0xb9,
-	0x94, 0x13, 0x37, 0x05, 0x8c, 0x43, 0xa1, 0xca, 0x37, 0x6f, 0x83, 0x39, 0x97, 0xef, 0xb3, 0x1e,
-	0xec, 0x6a, 0x85, 0x80, 0x0d, 0x5d, 0x12, 0x8a, 0x98, 0x9a, 0x27, 0x42, 0xe9, 0xf0, 0xf9, 0x92,
-	0xd2, 0x98, 0x09, 0xcf, 0xae, 0x92, 0xa9, 0x2d, 0x25, 0xdc, 0xfa, 0xcf, 0x36, 0xd4, 0xd2, 0xea,
-	0x51, 0x76, 0x48, 0xcc, 0xd1, 0x4b, 0xd8, 0xcb, 0xc6, 0x15, 0x1b, 0x87, 0xfe, 0xf4, 0xd0, 0x52,
-	0xb1, 0xe4, 0xed, 0xc7, 0x46, 0xe1, 0x54, 0x9e, 0x4f, 0x86, 0x14, 0xfa, 0x16, 0x3e, 0xed, 0x27,
-	0x82, 0x2c, 0x02, 0xea, 0x90, 0x1e, 0xa9, 0xe3, 0x79, 0xd8, 0x6f, 0xe1, 0xf3, 0x59, 0x8b, 0x2c,
-	0x0c, 0x12, 0x83, 0x96, 0x8d, 0x3d, 0xaf, 0xb0, 0xf5, 0x69, 0xa3, 0x97, 0x61, 0x90, 0x28, 0x06,
-	0xd9, 0xbf, 0xbf, 0x87, 0xfd, 0x69, 0xb3, 0x73, 0xe8, 0x4d, 0xed, 0xf2, 0xc4, 0xf2, 0x0c, 0xf6,
-	0x0d, 0x1c, 0x2c, 0x1a, 0xce, 0xfc, 0x86, 0x46, 0x11, 0xf1, 0xdd, 0x7e, 0xe2, 0xf2, 0x24, 0xf4,
-	0xd4, 0x9f, 0x38, 0x6f, 0xff, 0x92, 0xcd, 0xcf, 0x65, 0x47, 0xeb, 0x1d, 0x27, 0x4e, 0x12, 0x7a,
-	0xe8, 0x0c, 0x7e, 0x6d, 0x1c, 0x59, 0x42, 0xb5, 0xa5, 0xa8, 0x3e, 0xd7, 0xfe, 0x7c, 0x84, 0xe8,
-	0x08, 0xd2, 0x2b, 0x76, 0x3d, 0x16, 0x51, 0xe2, 0xbb, 0x82, 0xe9, 0x68, 0xb6, 0x15, 0xfa, 0x13,
-	0x73, 0x7a, 0xa2, 0x0e, 0x7b, 0x4c, 0x85, 0xd2, 0x04, 0x7d, 0xbd, 0xf3, 0x90, 0x82, 0x82, 0xec,
-	0xaa, 0xb3, 0x19, 0xc0, 0x0f, 0xf0, 0x59, 0x6a, 0x45, 0x3f, 0x3b, 0x66, 0x53, 0x56, 0x9c, 0xb9,
-	0xf6, 0xb6, 0xd6, 0x98, 0x4a, 0xdb, 0x4b, 0xd8, 0xd3, 0xf6, 0x16, 0x81, 0x61, 0xea, 0xd6, 0x17,
-	0x42, 0x17, 0x5b, 0x96, 0xfe, 0x96, 0x66, 0x6a, 0x6c, 0x1a, 0x2c, 0x9d, 0xce, 0x6a, 0xec, 0x3e,
-	0xb0, 0x3c, 0x55, 0x63, 0xf3, 0xb0, 0x57, 0xb0, 0xbf, 0x28, 0xcf, 0x03, 0x4c, 0x03, 0xe2, 0xd7,
-	0x2b, 0x0a, 0xf9, 0xe9, 0xbd, 0xf4, 0x9e, 0xaa, 0x63, 0xf4, 0x1d, 0xd4, 0xef, 0xe7, 0xd5, 0x40,
-	0x77, 0x14, 0xf4, 0x17, 0x73, 0xe9, 0x34, 0xc0, 0x2e, 0x58, 0x99, 0x55, 0x25, 0x91, 0x49, 0x31,
-	0x6f, 0xc2, 0x89, 0xdf, 0x55, 0x45, 0xf1, 0x24, 0xb5, 0xae, 0x14, 0x7b, 0x4c, 0x47, 0x90, 0x05,
-	0xd0, 0x81, 0xa7, 0xc6, 0x87, 0x8f, 0x13, 0xd5, 0x14, 0xd1, 0x67, 0xda, 0x97, 0x85, 0x34, 0xd6,
-	0x5f, 0x1f, 0xc2, 0xee, 0xe4, 0x7d, 0x41, 0xf4, 0x57, 0xca, 0xc2, 0x91, 0x3a, 0x3b, 0x30, 0x37,
-	0x56, 0x0e, 0xcc, 0xfc, 0xcf, 0x19, 0x98, 0x2f, 0x01, 0x26, 0xcf, 0x04, 0x33, 0x7b, 0x97, 0x8d,
-	0x84, 0x62, 0xf6, 0x46, 0x40, 0xdf, 0x42, 0x41, 0xbe, 0x4b, 0x14, 0xf0, 0xe1, 0x4a, 0xe0, 0x36,
-	0x09, 0x7d, 0x05, 0x7b, 0x33, 0x37, 0x61, 0x8f, 0xd6, 0x7a, 0x90, 0x99, 0x0b, 0x9b, 0x9f, 0xb3,
-	0x67, 0x50, 0xf0, 0x4c, 0xff, 0x34, 0x23, 0xf6, 0xeb, 0x35, 0xe8, 0xd2, 0x96, 0x6b, 0x67, 0x60,
-	0x64, 0x43, 0x4d, 0xf7, 0xf9, 0x7e, 0x4c, 0xf0, 0x8d, 0xcf, 0x6e, 0x43, 0x5e, 0x2f, 0xa8, 0x36,
-	0xff, 0x6c, 0x55, 0x9b, 0x37, 0xc3, 0xc7, 0x74, 0xf9, 0xe3, 0x0c, 0x2f, 0x3f, 0xc1, 0xb3, 0x4c,
-	0xfd, 0xc4, 0xfa, 0xfa, 0xa3, 0xae, 0xa8, 0x3f, 0xc1, 0xc5, 0xe4, 0xed, 0xa0, 0xbe, 0x03, 0xbd,
-	0x95, 0xc3, 0xb5, 0x0a, 0xa5, 0xee, 0x3b, 0xf7, 0xca, 0xbe, 0x3c, 0xb3, 0x3b, 0x8e, 0x53, 0xcb,
-	0x21, 0x80, 0xad, 0xab, 0xd6, 0xb5, 0x93, 0x8e, 0x57, 0xe7, 0xfa, 0xe4, 0x44, 0x1e, 0xe4, 0xe5,
-	0xc1, 0x69, 0xab, 0x2b, 0xe7, 0xee, 0xa6, 0x3c, 0x68, 0x1d, 0x5f, 0xda, 0x72, 0xee, 0x3e, 0x3c,
-	0xfe, 0x0e, 0x0e, 0x3c, 0x36, 0x5a, 0x12, 0x8f, 0xca, 0xdb, 0x71, 0x25, 0xbd, 0xa7, 0x5e, 0x12,
-	0x11, 0xfe, 0xdf, 0x5c, 0xae, 0xbf, 0xa5, 0x0e, 0x8e, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff, 0x9d,
-	0x31, 0xa9, 0x7d, 0xb0, 0x12, 0x00, 0x00,
+	// 1729 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0xdd, 0x72, 0xdb, 0xc6,
+	0x15, 0x36, 0x45, 0x59, 0x22, 0x0f, 0x49, 0x91, 0xda, 0x38, 0x0a, 0x25, 0xdb, 0x89, 0x0b, 0x25,
+	0x63, 0xc7, 0x99, 0x92, 0x13, 0x69, 0x32, 0x1d, 0xd7, 0x93, 0xba, 0x94, 0x48, 0x49, 0x8c, 0x15,
+	0x4b, 0x03, 0x50, 0xd3, 0x9f, 0x8b, 0x62, 0x96, 0xc0, 0x92, 0x46, 0x04, 0x62, 0x51, 0xec, 0xd2,
+	0x12, 0xa6, 0x57, 0xb9, 0xea, 0x33, 0xf4, 0x45, 0xfa, 0x14, 0x9d, 0xe9, 0x5d, 0x9f, 0xa3, 0x97,
+	0xbd, 0xec, 0xec, 0x0f, 0x40, 0x10, 0xa2, 0x49, 0xcd, 0xe4, 0x0e, 0x38, 0xe7, 0x7c, 0xdf, 0xd9,
+	0xf3, 0xc3, 0x73, 0x16, 0x84, 0xd6, 0x98, 0xd2, 0xb1, 0x4f, 0xda, 0x8c, 0xd3, 0x08, 0x8f, 0x09,
+	0x8f, 0x70, 0xc0, 0x46, 0x24, 0x6a, 0x7f, 0xf8, 0xb6, 0x9d, 0x3c, 0xdb, 0x3c, 0x0e, 0x09, 0x6b,
+	0x85, 0x11, 0xe5, 0x14, 0xed, 0x2a, 0xfb, 0x56, 0xce, 0xbe, 0xf5, 0xe1, 0xdb, 0xbd, 0x27, 0x9a,
+	0x0a, 0x87, 0x5e, 0x1b, 0x07, 0x01, 0xe5, 0x98, 0x7b, 0x34, 0xd0, 0xc0, 0xbd, 0xcf, 0xb5, 0x56,
+	0xbe, 0x0d, 0xa7, 0xa3, 0xb6, 0x3b, 0x8d, 0xa4, 0x81, 0xd6, 0x7f, 0x91, 0xd7, 0x73, 0x6f, 0x42,
+	0x18, 0xc7, 0x93, 0x50, 0x1b, 0x7c, 0xaa, 0x0d, 0xa2, 0xd0, 0x69, 0x3b, 0xd4, 0x25, 0x5a, 0xbc,
+	0xa3, 0xc5, 0xe2, 0x90, 0x6d, 0x17, 0xf3, 0x44, 0xfe, 0x38, 0x2b, 0x17, 0x5c, 0x74, 0xe4, 0xe2,
+	0x58, 0x29, 0x8d, 0xd7, 0xf0, 0xe8, 0x54, 0xaa, 0x2d, 0x12, 0x7d, 0xf0, 0x1c, 0xd2, 0x71, 0x1c,
+	0x3a, 0x0d, 0x38, 0xda, 0x87, 0x1a, 0x56, 0x8f, 0x36, 0x99, 0x60, 0xcf, 0x6f, 0x16, 0x9e, 0x15,
+	0x5e, 0x94, 0xcd, 0xaa, 0x16, 0xf6, 0x84, 0xcc, 0xf8, 0x0b, 0x54, 0x3b, 0x37, 0xac, 0xe3, 0x38,
+	0x84, 0xb1, 0xb7, 0x24, 0x46, 0x86, 0x04, 0x11, 0xc6, 0xec, 0x6b, 0x12, 0xdb, 0x9e, 0xab, 0x41,
+	0x15, 0x9c, 0x58, 0xf4, 0x5d, 0xf4, 0x12, 0xb6, 0x19, 0x71, 0x22, 0xc2, 0xed, 0x99, 0x69, 0x73,
+	0x4d, 0xda, 0xd5, 0x95, 0x22, 0xe5, 0x33, 0xfe, 0xb5, 0x06, 0x8d, 0x8b, 0xe1, 0x4f, 0xc4, 0xe1,
+	0xc7, 0x34, 0x70, 0x3d, 0x99, 0x44, 0x14, 0xc2, 0x8b, 0x89, 0x17, 0xd8, 0x22, 0x10, 0x9b, 0xf8,
+	0x38, 0x64, 0xc4, 0xb5, 0x99, 0x17, 0x38, 0xc4, 0xf6, 0x31, 0xe3, 0xf6, 0x84, 0xba, 0xde, 0xc8,
+	0x73, 0x64, 0x42, 0xa5, 0xff, 0xca, 0xc1, 0xae, 0x2e, 0x6d, 0x2b, 0xc9, 0x68, 0xab, 0xab, 0x33,
+	0x6e, 0xee, 0x4f, 0xbc, 0x60, 0xe0, 0x4d, 0x48, 0x4f, 0x11, 0x59, 0x82, 0xe7, 0x1c, 0x33, 0xfe,
+	0x63, 0x86, 0x45, 0x7a, 0xc4, 0xb7, 0xf7, 0xf3, 0xb8, 0xb6, 0xda, 0x23, 0xbe, 0x5d, 0xe9, 0xf1,
+	0x6b, 0x68, 0x78, 0x81, 0xe3, 0x4f, 0x5d, 0x62, 0x87, 0x11, 0x19, 0x79, 0xb7, 0x84, 0x35, 0x8b,
+	0xcf, 0x8a, 0x22, 0x47, 0x5a, 0x7e, 0xa9, 0xc5, 0xc2, 0x94, 0xdc, 0xe6, 0x4c, 0xd7, 0x95, 0xa9,
+	0x96, 0x27, 0xa6, 0xc6, 0x4b, 0xd8, 0x3c, 0x75, 0x58, 0x17, 0x73, 0x8c, 0xbe, 0x80, 0xca, 0x70,
+	0xea, 0x5c, 0x13, 0x6e, 0x07, 0x78, 0x42, 0x74, 0x9d, 0x40, 0x89, 0xde, 0xe1, 0x09, 0x31, 0xfe,
+	0x06, 0xe5, 0xce, 0x0d, 0xb3, 0x0e, 0xef, 0x65, 0x8d, 0x7e, 0x84, 0x2d, 0x7c, 0xc3, 0xf2, 0x15,
+	0xad, 0x1c, 0x3c, 0x6f, 0x7d, 0xf4, 0x47, 0xd2, 0xca, 0x76, 0x8e, 0x59, 0xc5, 0x99, 0x37, 0xe3,
+	0x2b, 0x28, 0x9d, 0x71, 0x1e, 0x4a, 0xdf, 0xbb, 0x50, 0xf2, 0x3d, 0xc6, 0xed, 0x69, 0x94, 0xf4,
+	0xe0, 0xa6, 0x78, 0xbf, 0x8a, 0x7c, 0xe3, 0xef, 0x6b, 0x50, 0x1f, 0x68, 0xc6, 0x8b, 0x50, 0x75,
+	0xc7, 0x9f, 0xe0, 0x25, 0xfd, 0x40, 0xa2, 0x9b, 0xc8, 0xe3, 0xc4, 0xa6, 0xb2, 0x77, 0x98, 0x8d,
+	0xfd, 0x88, 0x60, 0x37, 0xb6, 0xc9, 0xad, 0xc7, 0xb8, 0x17, 0x8c, 0x6d, 0x2f, 0x10, 0x05, 0xbc,
+	0x96, 0x84, 0x25, 0xf3, 0xab, 0x14, 0xa1, 0x9a, 0x8d, 0x75, 0x94, 0x7d, 0x4f, 0x9b, 0xf7, 0x03,
+	0xcb, 0x0b, 0xae, 0xd1, 0xef, 0xe1, 0xa9, 0x4b, 0x7c, 0x92, 0xe1, 0x9d, 0x06, 0xde, 0x5f, 0xa7,
+	0x24, 0x65, 0x5b, 0x93, 0x6c, 0xbb, 0xca, 0x48, 0x53, 0x5d, 0x49, 0x13, 0xcd, 0xf0, 0x07, 0xf8,
+	0x3a, 0xc7, 0x30, 0x8a, 0xe8, 0xc4, 0x66, 0x74, 0x1a, 0x39, 0xc4, 0xc6, 0x23, 0x2e, 0x46, 0x8c,
+	0x0e, 0xa8, 0x59, 0x94, 0x6c, 0x5f, 0xce, 0xb1, 0x9d, 0x44, 0x74, 0x62, 0x49, 0xeb, 0x8e, 0x30,
+	0x4e, 0x82, 0x37, 0xfe, 0xb1, 0x0e, 0xd5, 0xe4, 0xc5, 0x0a, 0x89, 0x83, 0xce, 0xa1, 0x3e, 0x76,
+	0x98, 0xed, 0x62, 0x8e, 0x35, 0xbd, 0xfe, 0x2d, 0x18, 0x4b, 0x2a, 0xa2, 0x9b, 0xe3, 0xec, 0x81,
+	0x59, 0x1b, 0xab, 0x47, 0xe5, 0x0b, 0x59, 0x80, 0x44, 0x79, 0xd9, 0xe1, 0x1c, 0xa1, 0x2a, 0xf1,
+	0x97, 0xcb, 0x4b, 0xac, 0x3a, 0xe8, 0xec, 0x81, 0x59, 0xc7, 0xc9, 0x8b, 0x26, 0xbd, 0x80, 0xc6,
+	0x7b, 0xce, 0xc3, 0x39, 0xca, 0xa2, 0xa4, 0xdc, 0x5f, 0x42, 0x99, 0xf4, 0xc5, 0xd9, 0x03, 0x73,
+	0xeb, 0xbd, 0x7e, 0xd6, 0x84, 0x67, 0x50, 0x9b, 0xc5, 0x2c, 0xea, 0xb1, 0x7e, 0xef, 0x88, 0x0b,
+	0x66, 0x25, 0x89, 0x58, 0xd4, 0xe9, 0x8f, 0xb0, 0xad, 0x0a, 0x64, 0x3b, 0xe9, 0xdc, 0x69, 0x3e,
+	0x94, 0x6c, 0xdf, 0x2c, 0x61, 0xcb, 0x8f, 0x2a, 0xb3, 0x41, 0xf3, 0xc3, 0xeb, 0x0a, 0x1a, 0xe9,
+	0x32, 0xa1, 0xaa, 0x65, 0x9b, 0x1b, 0x92, 0xf8, 0xe5, 0x12, 0xe2, 0x5c, 0x93, 0x9b, 0x75, 0x3e,
+	0x2f, 0x38, 0xaa, 0x41, 0x25, 0x93, 0xc6, 0xa3, 0x0a, 0x94, 0xd3, 0x2c, 0x18, 0xff, 0x2e, 0x40,
+	0xc9, 0x72, 0xde, 0x13, 0x77, 0xea, 0x13, 0xd4, 0x81, 0x4f, 0x98, 0x7e, 0xb6, 0x19, 0xc7, 0x11,
+	0x17, 0xe9, 0x4a, 0x7a, 0x63, 0x3b, 0x39, 0x82, 0xd8, 0x14, 0xad, 0x2e, 0xe6, 0xc4, 0xdc, 0x4e,
+	0xac, 0x2d, 0x61, 0x2c, 0x44, 0xe8, 0x7b, 0x48, 0x85, 0x36, 0x09, 0x5c, 0x45, 0xb0, 0xf6, 0x31,
+	0x82, 0x7a, 0x62, 0xdb, 0x0b, 0x5c, 0x09, 0xef, 0xc0, 0xb6, 0x72, 0x2c, 0xc7, 0x29, 0x1d, 0xd9,
+	0x2e, 0x8e, 0x75, 0xdd, 0x77, 0xe6, 0xe0, 0x62, 0x48, 0x5e, 0x8c, 0xba, 0x38, 0x36, 0xb7, 0x24,
+	0x20, 0x7d, 0x37, 0xfe, 0xb3, 0x0e, 0x95, 0x24, 0x25, 0x3f, 0xd0, 0x21, 0x42, 0xb0, 0x9e, 0x99,
+	0x4b, 0xf2, 0x19, 0x3d, 0x83, 0x8a, 0x4b, 0x98, 0x13, 0x79, 0x61, 0x3a, 0x96, 0xcb, 0x66, 0x56,
+	0x84, 0x9e, 0x02, 0x84, 0x11, 0x95, 0x55, 0xf6, 0x5c, 0x79, 0x82, 0xb2, 0x59, 0xd6, 0x92, 0xbe,
+	0x8b, 0xce, 0xa1, 0x96, 0x56, 0x8a, 0x85, 0xc4, 0xd1, 0xdd, 0xf4, 0xfc, 0x1e, 0x65, 0x12, 0xbf,
+	0x40, 0xb3, 0xca, 0xb3, 0xbf, 0xc7, 0x37, 0x50, 0x4a, 0x12, 0xa1, 0x1b, 0x69, 0x59, 0x93, 0x27,
+	0xe5, 0x32, 0x53, 0x10, 0xea, 0xc1, 0x06, 0xe3, 0x98, 0x4f, 0x55, 0xbb, 0x6c, 0x1d, 0xfc, 0xfa,
+	0x1e, 0xe7, 0xf8, 0x81, 0x0e, 0x5b, 0x96, 0x04, 0x99, 0x1a, 0x8c, 0xde, 0x40, 0xcd, 0x89, 0x88,
+	0x5c, 0x32, 0xb2, 0x00, 0xcd, 0x4d, 0x79, 0x98, 0xbd, 0x3b, 0xfb, 0x6a, 0x90, 0xdc, 0x39, 0xcc,
+	0x6a, 0x02, 0x10, 0x22, 0x74, 0x09, 0x3b, 0x77, 0x96, 0x9e, 0x62, 0x2a, 0xad, 0x64, 0x7a, 0xe4,
+	0xe7, 0xf6, 0x9c, 0x64, 0x7c, 0x03, 0x35, 0x39, 0xe3, 0x52, 0xa2, 0xf2, 0xea, 0x23, 0x25, 0x00,
+	0x21, 0x32, 0xce, 0x60, 0x43, 0x45, 0x89, 0x76, 0x00, 0x59, 0x83, 0xce, 0xe0, 0xca, 0xb2, 0xaf,
+	0xde, 0x59, 0x97, 0xbd, 0xe3, 0xfe, 0x49, 0xbf, 0xd7, 0x6d, 0x3c, 0x40, 0x15, 0xd8, 0xec, 0xbd,
+	0xeb, 0x1c, 0x9d, 0xf7, 0xba, 0x8d, 0x02, 0xaa, 0x42, 0xa9, 0xdb, 0xb7, 0xd4, 0xdb, 0x9a, 0x50,
+	0x75, 0x7b, 0xe7, 0xbd, 0x41, 0xaf, 0xdb, 0x28, 0x1a, 0x27, 0x50, 0xeb, 0x45, 0x11, 0x8d, 0xce,
+	0xe9, 0xb8, 0x17, 0xf0, 0x28, 0x46, 0x0d, 0x28, 0xce, 0xf6, 0x8e, 0x78, 0x14, 0xf7, 0x22, 0x22,
+	0x4c, 0x6c, 0x97, 0x70, 0xec, 0xf9, 0xc9, 0x5a, 0xae, 0x4a, 0x61, 0x57, 0xc9, 0x8c, 0x7f, 0x16,
+	0xa0, 0x2a, 0x89, 0xac, 0xe9, 0x64, 0x82, 0xa3, 0x18, 0xb5, 0x01, 0x14, 0x4a, 0x5c, 0xd7, 0x24,
+	0xdd, 0xd6, 0x41, 0x23, 0x09, 0x30, 0x0a, 0x9d, 0xd6, 0x31, 0x75, 0x89, 0x59, 0x96, 0x36, 0xe2,
+	0x51, 0x6c, 0xdc, 0x04, 0x30, 0x0d, 0xb8, 0x6c, 0xdf, 0xa2, 0x09, 0x5a, 0x2f, 0xee, 0x67, 0x03,
+	0xd8, 0x56, 0x06, 0x3e, 0x1d, 0xdb, 0x24, 0xe0, 0x91, 0xa7, 0xaf, 0x08, 0x95, 0x83, 0x17, 0x4b,
+	0x5a, 0x63, 0x2e, 0x3c, 0xb3, 0x4e, 0x32, 0xaf, 0x1e, 0x61, 0xc6, 0x7f, 0x37, 0xa1, 0x91, 0x74,
+	0x8f, 0xf4, 0x43, 0x22, 0x86, 0x5e, 0xc1, 0x6e, 0xba, 0xae, 0xe8, 0x34, 0x70, 0xb3, 0x4b, 0x4b,
+	0xc6, 0x52, 0x34, 0x77, 0xb4, 0xc1, 0x89, 0xd0, 0xcf, 0x96, 0x14, 0xfa, 0x0e, 0x3e, 0x1b, 0xc6,
+	0x9c, 0x2c, 0x02, 0xaa, 0x90, 0x1e, 0x49, 0x75, 0x1e, 0xf6, 0x3b, 0x78, 0x32, 0xef, 0x91, 0x06,
+	0x7e, 0xac, 0xd1, 0x62, 0xb0, 0x17, 0x25, 0xb6, 0x99, 0x75, 0x7a, 0x11, 0xf8, 0xb1, 0x64, 0x10,
+	0xf3, 0xfb, 0xb7, 0xb0, 0x97, 0x75, 0x9b, 0x43, 0xaf, 0xab, 0x23, 0xcf, 0x3c, 0xcf, 0x61, 0xdf,
+	0xc2, 0xfe, 0xa2, 0xe5, 0xcc, 0xae, 0xbd, 0x30, 0x24, 0xae, 0x3d, 0x8c, 0x6d, 0x16, 0x07, 0x8e,
+	0xfc, 0x11, 0x17, 0xcd, 0xcf, 0x69, 0x7e, 0x2f, 0x5b, 0xca, 0xee, 0x28, 0xb6, 0xe2, 0xc0, 0x41,
+	0xa7, 0xf0, 0x2b, 0x7d, 0x90, 0x25, 0x54, 0x1b, 0x92, 0xea, 0x89, 0x3a, 0xcf, 0x47, 0x88, 0x0e,
+	0x21, 0x49, 0xb1, 0xed, 0xd0, 0xd0, 0x23, 0xae, 0xcd, 0xa9, 0x8a, 0x66, 0x53, 0xa2, 0x3f, 0xd1,
+	0xda, 0x63, 0xa9, 0x1c, 0x50, 0x19, 0x4a, 0x1b, 0x54, 0x7a, 0xf3, 0x90, 0x92, 0x84, 0x6c, 0x4b,
+	0xdd, 0x1c, 0xe0, 0x7b, 0x78, 0x9c, 0x78, 0x51, 0xd7, 0x8e, 0xf9, 0x92, 0x95, 0xe7, 0xd2, 0xde,
+	0x55, 0x16, 0x99, 0xb2, 0xbd, 0x82, 0x5d, 0xe5, 0x6f, 0x11, 0x18, 0x32, 0x59, 0x5f, 0x08, 0x5d,
+	0xec, 0x59, 0x9c, 0xb7, 0x32, 0xd7, 0x63, 0x59, 0xb0, 0x38, 0x74, 0xda, 0x63, 0x77, 0x81, 0xd5,
+	0x4c, 0x8f, 0xe5, 0x61, 0xaf, 0x61, 0x6f, 0x51, 0x9d, 0x47, 0xd8, 0xf3, 0x89, 0xdb, 0xac, 0x49,
+	0xe4, 0x67, 0x77, 0xca, 0x7b, 0x22, 0xd5, 0xe8, 0x37, 0xd0, 0xbc, 0x5b, 0x57, 0x0d, 0xdd, 0x92,
+	0xd0, 0x4f, 0x73, 0xe5, 0xd4, 0xc0, 0x3e, 0x18, 0xa9, 0x57, 0x29, 0x11, 0x45, 0xd1, 0x77, 0xc2,
+	0xd9, 0xb9, 0xeb, 0x92, 0xe2, 0x69, 0xe2, 0x5d, 0x1a, 0x0e, 0xa8, 0x8a, 0x20, 0x0d, 0xa0, 0x07,
+	0xcf, 0xf4, 0x19, 0x3e, 0x4e, 0xd4, 0x90, 0x44, 0x8f, 0xd5, 0x59, 0x16, 0xd2, 0x18, 0x3f, 0x3f,
+	0x84, 0xed, 0xd9, 0xfd, 0x82, 0xa8, 0xaf, 0x94, 0x85, 0x2b, 0x75, 0x7e, 0x61, 0xae, 0xad, 0x5c,
+	0x98, 0xc5, 0x5f, 0xb2, 0x30, 0x5f, 0x01, 0xcc, 0xae, 0x09, 0x7a, 0xf7, 0x2e, 0x5b, 0x09, 0xe5,
+	0xf4, 0x8e, 0x80, 0xbe, 0x83, 0x92, 0xb8, 0x97, 0x48, 0xe0, 0xc3, 0x95, 0xc0, 0x4d, 0x12, 0xb8,
+	0x12, 0xf6, 0x36, 0xb7, 0x61, 0x0f, 0xef, 0x75, 0x21, 0xd3, 0x09, 0xcb, 0xef, 0xd9, 0x53, 0x28,
+	0x39, 0x7a, 0x7e, 0xea, 0x15, 0xfb, 0xcd, 0x3d, 0xe8, 0x92, 0x91, 0x6b, 0xa6, 0x60, 0x64, 0x42,
+	0x43, 0xcd, 0xf9, 0x61, 0x44, 0xf0, 0xb5, 0x4b, 0x6f, 0x02, 0xd6, 0x2c, 0xc9, 0x31, 0xff, 0x7c,
+	0xd5, 0x98, 0xd7, 0xcb, 0x47, 0x4f, 0xf9, 0xa3, 0x14, 0x2f, 0x3e, 0xc1, 0xd3, 0x4a, 0xfd, 0x44,
+	0x87, 0xea, 0xa3, 0xae, 0xac, 0x3e, 0xc1, 0xf9, 0xec, 0xee, 0x20, 0xbf, 0x03, 0x9d, 0x95, 0xcb,
+	0xb5, 0x0e, 0x95, 0xfe, 0x3b, 0xfb, 0xd2, 0xbc, 0x38, 0x35, 0x7b, 0x96, 0xd5, 0x28, 0x20, 0x80,
+	0x8d, 0xcb, 0xce, 0x95, 0x95, 0xac, 0x57, 0xeb, 0xea, 0xf8, 0x58, 0x28, 0x8a, 0x42, 0x71, 0xd2,
+	0xe9, 0x8b, 0xbd, 0xbb, 0x2e, 0x14, 0x9d, 0xa3, 0x0b, 0x53, 0xec, 0xdd, 0x87, 0x47, 0x3f, 0x17,
+	0x60, 0xdf, 0xa1, 0x93, 0x25, 0x01, 0xc9, 0xc2, 0x1d, 0xd5, 0x92, 0x44, 0x0d, 0xe2, 0x90, 0xb0,
+	0x3f, 0x9f, 0x69, 0xfb, 0x31, 0xf5, 0x71, 0x30, 0x6e, 0xd1, 0x68, 0xdc, 0x1e, 0x93, 0x40, 0x9a,
+	0xb6, 0x95, 0x0a, 0x87, 0x1e, 0x5b, 0xf0, 0x87, 0xce, 0xeb, 0x9c, 0xe8, 0x7f, 0x85, 0xc2, 0x70,
+	0x43, 0xe2, 0x0e, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xed, 0xb3, 0x1d, 0xf0, 0x07, 0x12, 0x00,
+	0x00,
 }
diff --git a/googleapis/storagetransfer/v1/transfer_types.proto b/googleapis/storagetransfer/v1/transfer_types.proto
deleted file mode 100644
index 1df0bd64f197e72908f514876db3166aab38b9ef..0000000000000000000000000000000000000000
--- a/googleapis/storagetransfer/v1/transfer_types.proto
+++ /dev/null
@@ -1,442 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.storagetransfer.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-import "google.golang.org/genproto/googleapis/rpc/code/code.proto"; // from google/rpc/code.proto
-import "google.golang.org/genproto/googleapis/type/date/date.proto"; // from google/type/date.proto
-import "google.golang.org/genproto/googleapis/type/timeofday/timeofday.proto"; // from google/type/timeofday.proto
-
-option cc_enable_arenas = true;
-option java_outer_classname = "TransferTypes";
-option java_package = "com.google.storagetransfer.v1.proto";
-
-
-// Google service account
-message GoogleServiceAccount {
-  // Required.
-  string account_email = 1;
-}
-
-// AWS access key (see
-// [AWS Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)).
-message AwsAccessKey {
-  // AWS access key ID.
-  // Required.
-  string access_key_id = 1;
-
-  // AWS secret access key. This field is not returned in RPC responses.
-  // Required.
-  string secret_access_key = 2;
-}
-
-// Conditions that determine which objects will be transferred.
-message ObjectConditions {
-  // If unspecified, `minTimeElapsedSinceLastModification` takes a zero value
-  // and `maxTimeElapsedSinceLastModification` takes the maximum possible
-  // value of Duration. Objects that satisfy the object conditions
-  // must either have a `lastModificationTime` greater or equal to
-  // `NOW` - `maxTimeElapsedSinceLastModification` and less than
-  // `NOW` - `minTimeElapsedSinceLastModification`, or not have a
-  // `lastModificationTime`.
-  google.protobuf.Duration min_time_elapsed_since_last_modification = 1;
-
-  // `maxTimeElapsedSinceLastModification` is the complement to
-  // `minTimeElapsedSinceLastModification`.
-  google.protobuf.Duration max_time_elapsed_since_last_modification = 2;
-
-  // If `includePrefixes` is specified, objects that satisfy the object
-  // conditions must have names that start with one of the `includePrefixes`
-  // and that do not start with any of the `excludePrefixes`. If `includePrefixes`
-  // is not specified, all objects except those that have names starting with
-  // one of the `excludePrefixes` must satisfy the object conditions.
-  //
-  // Requirements:
-  //
-  //   * Each include-prefix and exclude-prefix can contain any sequence of
-  //     Unicode characters, of max length 1024 bytes when UTF8-encoded, and
-  //     must not contain Carriage Return or Line Feed characters.  Wildcard
-  //     matching and regular expression matching are not supported.
-  //
-  //   * Each include-prefix and exclude-prefix must omit the leading slash.
-  //     For example, to include the `requests.gz` object in a transfer from
-  //     `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include
-  //     prefix as `logs/y=2015/requests.gz`.
-  //
-  //   * None of the include-prefix or the exclude-prefix values can be empty,
-  //     if specified.
-  //
-  //   * Each include-prefix must include a distinct portion of the object
-  //     namespace, i.e., no include-prefix may be a prefix of another
-  //     include-prefix.
-  //
-  //   * Each exclude-prefix must exclude a distinct portion of the object
-  //     namespace, i.e., no exclude-prefix may be a prefix of another
-  //     exclude-prefix.
-  //
-  //   * If `includePrefixes` is specified, then each exclude-prefix must start
-  //     with the value of a path explicitly included by `includePrefixes`.
-  //
-  // The max size of `includePrefixes` is 20.
-  repeated string include_prefixes = 3;
-
-  // `excludePrefixes` must follow the requirements described for
-  // `includePrefixes`.
-  //
-  // The max size of `excludePrefixes` is 20.
-  repeated string exclude_prefixes = 4;
-}
-
-// In a GcsData, an object's name is the Google Cloud Storage object's name and
-// its `lastModificationTime` refers to the object's updated time, which changes
-// when the content or the metadata of the object is updated.
-message GcsData {
-  // Google Cloud Storage bucket name (see
-  // [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-  // Required.
-  string bucket_name = 1;
-}
-
-// An AwsS3Data can be a data source, but not a data sink.
-// In an AwsS3Data, an object's name is the S3 object's key name.
-message AwsS3Data {
-  // S3 Bucket name (see
-  // [Creating a bucket](http://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)).
-  // Required.
-  string bucket_name = 1;
-
-  // AWS access key used to sign the API requests to the AWS S3 bucket.
-  // Permissions on the bucket must be granted to the access ID of the
-  // AWS access key.
-  // Required.
-  AwsAccessKey aws_access_key = 2;
-}
-
-// An HttpData specifies a list of objects on the web to be transferred over
-// HTTP.  The information of the objects to be transferred is contained in a
-// file referenced by a URL. The first line in the file must be
-// "TsvHttpData-1.0", which specifies the format of the file.  Subsequent lines
-// specify the information of the list of objects, one object per list entry.
-// Each entry has the following tab-delimited fields:
-//
-// * HTTP URL - The location of the object.
-//
-// * Length - The size of the object in bytes.
-//
-// * MD5 - The base64-encoded MD5 hash of the object.
-//
-// For an example of a valid TSV file, see
-// [Transferring data from URLs](https://cloud.google.com/storage/transfer/#urls)
-//
-// When transferring data based on a URL list, keep the following in mind:
-//
-// * When an object located at `http(s)://hostname:port/<URL-path>` is transferred
-// to a data sink, the name of the object at the data sink is
-// `<hostname>/<URL-path>`.
-//
-// * If the specified size of an object does not match the actual size of the
-// object fetched, the object will not be transferred.
-//
-// * If the specified MD5 does not match the MD5 computed from the transferred
-// bytes, the object transfer will fail. For more information, see
-// [Generating MD5 hashes](https://cloud.google.com/storage/transfer/#md5)
-//
-// * Ensure that each URL you specify is publicly accessible. For
-// example, in Google Cloud Storage you can
-// [share an object publicly]
-// (https://cloud.google.com/storage/docs/cloud-console#_sharingdata) and get
-// a link to it.
-//
-// * Storage Transfer Service obeys `robots.txt` rules and requires the source
-// HTTP server to support `Range` requests and to return a `Content-Length`
-// header in each response.
-//
-// * [ObjectConditions](#ObjectConditions) have no effect when filtering objects
-// to transfer.
-message HttpData {
-  // The URL that points to the file that stores the object list entries.
-  // This file must allow public access.  Currently, only URLs with HTTP and
-  // HTTPS schemes are supported.
-  // Required.
-  string list_url = 1;
-}
-
-// TransferOptions uses three boolean parameters to define the actions
-// to be performed on objects in a transfer.
-message TransferOptions {
-  // Whether overwriting objects that already exist in the sink is allowed.
-  bool overwrite_objects_already_existing_in_sink = 1;
-
-  // Whether objects that exist only in the sink should be deleted.
-  bool delete_objects_unique_in_sink = 2;
-
-  // Whether objects should be deleted from the source after they are
-  // transferred to the sink.
-  bool delete_objects_from_source_after_transfer = 3;
-}
-
-// Configuration for running a transfer.
-message TransferSpec {
-  // The read source of the data.
-  oneof data_source {
-    // A Google Cloud Storage data source.
-    GcsData gcs_data_source = 1;
-
-    // An AWS S3 data source.
-    AwsS3Data aws_s3_data_source = 2;
-
-    // An HTTP URL data source.
-    HttpData http_data_source = 3;
-  }
-
-  // The write sink for the data.
-  oneof data_sink {
-    // A Google Cloud Storage data sink.
-    GcsData gcs_data_sink = 4;
-  }
-
-  // Only objects that satisfy these object conditions are included in the set
-  // of data source and data sink objects.  Object conditions based on
-  // objects' `lastModificationTime` do not exclude objects in a data sink.
-  ObjectConditions object_conditions = 5;
-
-  // If the option `deleteObjectsUniqueInSink` is `true`, object conditions
-  // based on objects' `lastModificationTime` are ignored and do not exclude
-  // objects in a data source or a data sink.
-  TransferOptions transfer_options = 6;
-}
-
-// Transfers can be scheduled to recur or to run just once.
-message Schedule {
-  // The first day the recurring transfer is scheduled to run. If
-  // `scheduleStartDate` is in the past, the transfer will run for the first
-  // time on the following day.
-  // Required.
-  google.type.Date schedule_start_date = 1;
-
-  // The last day the recurring transfer will be run. If `scheduleEndDate`
-  // is the same as `scheduleStartDate`, the transfer will be executed only
-  // once.
-  google.type.Date schedule_end_date = 2;
-
-  // The time in UTC at which the transfer will be scheduled to start in a day.
-  // Transfers may start later than this time. If not specified, recurring and
-  // one-time transfers that are scheduled to run today will run immediately;
-  // recurring transfers that are scheduled to run on a future date will start
-  // at approximately midnight UTC on that date. Note that when configuring a
-  // transfer with the Cloud Platform Console, the transfer's start time in a
-  // day is specified in your local timezone.
-  google.type.TimeOfDay start_time_of_day = 3;
-}
-
-// This resource represents the configuration of a transfer job that runs
-// periodically.
-message TransferJob {
-  // The status of the transfer job.
-  enum Status {
-    // Zero is an illegal value.
-    STATUS_UNSPECIFIED = 0;
-
-    // New transfers will be performed based on the schedule.
-    ENABLED = 1;
-
-    // New transfers will not be scheduled.
-    DISABLED = 2;
-
-    // This is a soft delete state. After a transfer job is set to this
-    // state, the job and all the transfer executions are subject to
-    // garbage collection.
-    DELETED = 3;
-  }
-
-  // A globally unique name assigned by Storage Transfer Service when the
-  // job is created. This field should be left empty in requests to create a new
-  // transfer job; otherwise, the requests result in an `INVALID_ARGUMENT`
-  // error.
-  string name = 1;
-
-  // A description provided by the user for the job. Its max length is 1024
-  // bytes when Unicode-encoded.
-  string description = 2;
-
-  // The ID of the Google Cloud Platform Console project that owns the job.
-  // Required.
-  string project_id = 3;
-
-  // Transfer specification.
-  // Required.
-  TransferSpec transfer_spec = 4;
-
-  // Schedule specification.
-  // Required.
-  Schedule schedule = 5;
-
-  // Status of the job. This value MUST be specified for
-  // `CreateTransferJobRequests`.
-  //
-  // NOTE: The effect of the new job status takes place during a subsequent job
-  // run. For example, if you change the job status from `ENABLED` to
-  // `DISABLED`, and an operation spawned by the transfer is running, the status
-  // change would not affect the current operation.
-  Status status = 6;
-
-  // This field cannot be changed by user requests.
-  google.protobuf.Timestamp creation_time = 7;
-
-  // This field cannot be changed by user requests.
-  google.protobuf.Timestamp last_modification_time = 8;
-
-  // This field cannot be changed by user requests.
-  google.protobuf.Timestamp deletion_time = 9;
-}
-
-// An entry describing an error that has occurred.
-message ErrorLogEntry {
-  // A URL that refers to the target (a data source, a data sink,
-  // or an object) with which the error is associated.
-  // Required.
-  string url = 1;
-
-  // A list of messages that carry the error details.
-  repeated string error_details = 3;
-}
-
-// A summary of errors by error code, plus a count and sample error log
-// entries.
-message ErrorSummary {
-  // Required.
-  google.rpc.Code error_code = 1;
-
-  // Count of this type of error.
-  // Required.
-  int64 error_count = 2;
-
-  // Error samples.
-  repeated ErrorLogEntry error_log_entries = 3;
-}
-
-// A collection of counters that report the progress of a transfer operation.
-message TransferCounters {
-  // Objects found in the data source that are scheduled to be transferred,
-  // which will be copied, excluded based on conditions, or skipped due to
-  // failures.
-  int64 objects_found_from_source = 1;
-
-  // Bytes found in the data source that are scheduled to be transferred,
-  // which will be copied, excluded based on conditions, or skipped due to
-  // failures.
-  int64 bytes_found_from_source = 2;
-
-  // Objects found only in the data sink that are scheduled to be deleted.
-  int64 objects_found_only_from_sink = 3;
-
-  // Bytes found only in the data sink that are scheduled to be deleted.
-  int64 bytes_found_only_from_sink = 4;
-
-  // Objects in the data source that are not transferred because they already
-  // exist in the data sink.
-  int64 objects_from_source_skipped_by_sync = 5;
-
-  // Bytes in the data source that are not transferred because they already
-  // exist in the data sink.
-  int64 bytes_from_source_skipped_by_sync = 6;
-
-  // Objects that are copied to the data sink.
-  int64 objects_copied_to_sink = 7;
-
-  // Bytes that are copied to the data sink.
-  int64 bytes_copied_to_sink = 8;
-
-  // Objects that are deleted from the data source.
-  int64 objects_deleted_from_source = 9;
-
-  // Bytes that are deleted from the data source.
-  int64 bytes_deleted_from_source = 10;
-
-  // Objects that are deleted from the data sink.
-  int64 objects_deleted_from_sink = 11;
-
-  // Bytes that are deleted from the data sink.
-  int64 bytes_deleted_from_sink = 12;
-
-  // Objects in the data source that failed during the transfer.
-  int64 objects_from_source_failed = 13;
-
-  // Bytes in the data source that failed during the transfer.
-  int64 bytes_from_source_failed = 14;
-
-  // Objects that failed to be deleted from the data sink.
-  int64 objects_failed_to_delete_from_sink = 15;
-
-  // Bytes that failed to be deleted from the data sink.
-  int64 bytes_failed_to_delete_from_sink = 16;
-}
-
-// A description of the execution of a transfer.
-message TransferOperation {
-  // The status of a TransferOperation.
-  enum Status {
-    // Zero is an illegal value.
-    STATUS_UNSPECIFIED = 0;
-
-    // In progress.
-    IN_PROGRESS = 1;
-
-    // Paused.
-    PAUSED = 2;
-
-    // Completed successfully.
-    SUCCESS = 3;
-
-    // Terminated due to an unrecoverable failure.
-    FAILED = 4;
-
-    // Aborted by the user.
-    ABORTED = 5;
-  }
-
-  // A globally unique ID assigned by the system.
-  string name = 1;
-
-  // The ID of the Google Cloud Platform Console project that owns the operation.
-  // Required.
-  string project_id = 2;
-
-  // Transfer specification.
-  // Required.
-  TransferSpec transfer_spec = 3;
-
-  // Start time of this transfer execution.
-  google.protobuf.Timestamp start_time = 4;
-
-  // End time of this transfer execution.
-  google.protobuf.Timestamp end_time = 5;
-
-  // Status of the transfer operation.
-  Status status = 6;
-
-  // Information about the progress of the transfer operation.
-  TransferCounters counters = 7;
-
-  // Summarizes errors encountered with sample error log entries.
-  repeated ErrorSummary error_breakdowns = 8;
-
-  // The name of the transfer job that triggers this transfer operation.
-  string transfer_job_name = 9;
-}
diff --git a/googleapis/tracing/trace.proto b/googleapis/tracing/trace.proto
deleted file mode 100644
index c1b64b1bede9c900016b1ebf584a9c83e1bd3309..0000000000000000000000000000000000000000
--- a/googleapis/tracing/trace.proto
+++ /dev/null
@@ -1,246 +0,0 @@
-// Copyright 2016 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.tracing.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "TraceProto";
-option java_package = "com.google.tracing.v1";
-
-
-// A TraceId uniquely identifies a Trace. It is conceptually a 128-bit value,
-// represented as a string, containing the hex-encoded value.
-message TraceId {
-  // Trace ID specified as a hex-encoded string. *Must* be 32 bytes long.
-  string hex_encoded = 1;
-}
-
-message Module {
-  // Binary module.
-  // E.g. main binary, kernel modules, and dynamic libraries
-  // such as libc.so, sharedlib.so
-  string module = 1;
-
-  // Build_id is a unique identifier for the module,
-  // probably a hash of its contents
-  string build_id = 2;
-}
-
-message StackTrace {
-  // Presents a single stack frame in a stack trace.
-  message StackFrame {
-    // Fully qualified names which uniquely identify function/method/etc.
-    string function_name = 1;
-
-    // Used when function name is ‘mangled’. Not guaranteed to be fully
-    // qualified but usually it is.
-    string orig_function_name = 2;
-
-    // File name of the frame.
-    string file_name = 3;
-
-    // Line number of the frame.
-    int64 line_number = 4;
-
-    // Column number is important in JavaScript(anonymous functions),
-    // Might not be available in some languages.
-    int64 column_number = 5;
-
-    // Binary module the code is loaded from.
-    Module load_module = 6;
-
-    // source_version is deployment specific. It might be
-    // better to be stored in deployment metadata.
-    // However, in distributed tracing, it’s hard to keep track of
-    // source/binary versions at one place for all spans.
-    string source_version = 7;
-  }
-
-  // Stack frames of this stack trace.
-  repeated StackFrame stack_frame = 1;
-
-  // User can choose to use his own hash function to hash large labels to save
-  // network bandwidth and storage.
-  // Typical usage is to pass both initially to inform the storage of the
-  // mapping. And in subsequent calls, pass in stack_trace_hash_id only.
-  // User shall verify the hash value is successfully stored.
-  uint64 stack_trace_hash_id = 2;
-}
-
-// Allowed label values.
-message LabelValue {
-  // The value of the label.
-  oneof value {
-    // A string value.
-    string string_value = 1;
-
-    // An integer value.
-    int64 int_value = 2;
-
-    // A boolean value.
-    bool bool_value = 3;
-  }
-}
-
-// A span represents a single operation within a trace. Spans can be nested
-// and form a trace tree. Often, a trace contains a root span that describes the
-// end-to-end latency and, optionally, one or more subspans for
-// its sub-operations. Spans do not need to be contiguous. There may be gaps
-// between spans in a trace.
-message Span {
-  // A time-stamped annotation in the Span.
-  message TimeEvent {
-    // Text annotation with a set of labels.
-    message Annotation {
-      // A user-supplied message describing the event.
-      string description = 1;
-
-      // A set of labels on the annotation.
-      map<string, LabelValue> labels = 2;
-    }
-
-    // An event describing an RPC message sent/received on the network.
-    message NetworkEvent {
-      // The type of the network event. SENT or RECV event.
-      enum Type {
-        UNSPECIFIED = 0;
-
-        SENT = 1;
-
-        RECV = 2;
-      }
-
-      // If available, this is the kernel time:
-      // For sent messages, this is the time at which the first bit was sent.
-      // For received messages, this is the time at which the last bit was
-      // received.
-      google.protobuf.Timestamp kernel_time = 1;
-
-      Type type = 2;
-
-      // Every message has an identifier, that must be different from all the
-      // network messages in this span.
-      // This is very important when the request/response are streamed.
-      uint64 message_id = 3;
-
-      // Number of bytes send/receive.
-      uint64 message_size = 4;
-    }
-
-    // The local machine absolute timestamp when this event happened.
-    google.protobuf.Timestamp local_time = 1;
-
-    oneof value {
-      // Optional field for user supplied <string, LabelValue> map
-      Annotation annotation = 2;
-
-      // Optional field that can be used only for network events.
-      NetworkEvent network_event = 3;
-    }
-  }
-
-  // Link one span with another which may be in a different Trace. Used (for
-  // example) in batching operations, where a single batch handler processes
-  // multiple requests from different traces.
-  message Link {
-    // The type of the link.
-    enum Type {
-      UNSPECIFIED = 0;
-
-      CHILD = 1;
-
-      PARENT = 2;
-    }
-
-    // The trace and span identifier of the linked span.
-    TraceId trace_id = 1;
-
-    fixed64 span_id = 2;
-
-    Type type = 3;
-  }
-
-  // Identifier for the span. Must be a 64-bit integer other than 0 and
-  // unique within a trace.
-  fixed64 id = 1;
-
-  // Name of the span. The span name is sanitized and displayed in the
-  // Stackdriver Trace tool in the {% dynamic print site_values.console_name %}.
-  // The name may be a method name or some other per-call site name.
-  // For the same executable and the same call point, a best practice is
-  // to use a consistent name, which makes it easier to correlate
-  // cross-trace spans.
-  string name = 2;
-
-  // ID of parent span. 0 or missing if this is a root span.
-  fixed64 parent_id = 3;
-
-  // Local machine clock in nanoseconds from the UNIX epoch,
-  // at which span execution started.
-  // On the server side these are the times when the server application
-  // handler starts running.
-  google.protobuf.Timestamp local_start_time = 4;
-
-  // Local machine clock in nanoseconds from the UNIX epoch,
-  // at which span execution ended.
-  // On the server side these are the times when the server application
-  // handler finishes running.
-  google.protobuf.Timestamp local_end_time = 5;
-
-  // Properties of a span. Labels at the span level.
-  // E.g.
-  // "/instance_id": "my-instance"
-  // "/zone": "us-central1-a"
-  // "/grpc/peer_address": "ip:port" (dns, etc.)
-  // "/grpc/deadline": "Duration"
-  // "/http/user_agent"
-  // "/http/request_bytes": 300
-  // "/http/response_bytes": 1200
-  // "/http/url": google.com/apis
-  // "/pid"
-  // "abc.com/mylabel": "my label value"
-  map<string, LabelValue> labels = 6;
-
-  // Stack trace captured at the start of the span. This is optional.
-  StackTrace stack_trace = 7;
-
-  // A collection of time-stamped events.
-  repeated TimeEvent time_events = 8;
-
-  // A collection of links.
-  repeated Link links = 9;
-
-  // The final status of the Span. This is optional.
-  google.rpc.Status status = 10;
-
-  // True if this Span has a remote parent (is an RPC server Span).
-  bool has_remote_parent = 11;
-}
-
-// A trace describes how long it takes for an application to perform some
-// operations. It consists of a tree of spans, each of which contains details
-// about an operation with time information and operation details.
-message Trace {
-  // Globally unique identifier for the trace. Common to all the spans.
-  TraceId trace_id = 1;
-
-  // Collection of spans in the trace. The root span has parent_id == 0.
-  repeated Span spans = 2;
-}
diff --git a/googleapis/tracing/trace.pb.go b/googleapis/tracing/v1/trace.pb.go
similarity index 72%
rename from googleapis/tracing/trace.pb.go
rename to googleapis/tracing/v1/trace.pb.go
index 18183ca852949f5a6336231c4bd4d2f0d5379739..01f97220330a8a86bc1ff4e37e1341a146e7617d 100644
--- a/googleapis/tracing/trace.pb.go
+++ b/googleapis/tracing/v1/trace.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/tracing/trace.proto
+// source: google/tracing/trace.proto
 // DO NOT EDIT!
 
 /*
-Package google_tracing_v1 is a generated protocol buffer package.
+Package tracing is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/tracing/trace.proto
+	google/tracing/trace.proto
 
 It has these top-level messages:
 	TraceId
@@ -16,12 +16,12 @@ It has these top-level messages:
 	Span
 	Trace
 */
-package google_tracing_v1 // import "google.golang.org/genproto/googleapis/tracing"
+package tracing
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/timestamp"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
 
@@ -100,6 +100,13 @@ func (m *TraceId) String() string            { return proto.CompactTextString(m)
 func (*TraceId) ProtoMessage()               {}
 func (*TraceId) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *TraceId) GetHexEncoded() string {
+	if m != nil {
+		return m.HexEncoded
+	}
+	return ""
+}
+
 type Module struct {
 	// Binary module.
 	// E.g. main binary, kernel modules, and dynamic libraries
@@ -115,6 +122,20 @@ func (m *Module) String() string            { return proto.CompactTextString(m)
 func (*Module) ProtoMessage()               {}
 func (*Module) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *Module) GetModule() string {
+	if m != nil {
+		return m.Module
+	}
+	return ""
+}
+
+func (m *Module) GetBuildId() string {
+	if m != nil {
+		return m.BuildId
+	}
+	return ""
+}
+
 type StackTrace struct {
 	// Stack frames of this stack trace.
 	StackFrame []*StackTrace_StackFrame `protobuf:"bytes,1,rep,name=stack_frame,json=stackFrame" json:"stack_frame,omitempty"`
@@ -138,6 +159,13 @@ func (m *StackTrace) GetStackFrame() []*StackTrace_StackFrame {
 	return nil
 }
 
+func (m *StackTrace) GetStackTraceHashId() uint64 {
+	if m != nil {
+		return m.StackTraceHashId
+	}
+	return 0
+}
+
 // Presents a single stack frame in a stack trace.
 type StackTrace_StackFrame struct {
 	// Fully qualified names which uniquely identify function/method/etc.
@@ -166,6 +194,41 @@ func (m *StackTrace_StackFrame) String() string            { return proto.Compac
 func (*StackTrace_StackFrame) ProtoMessage()               {}
 func (*StackTrace_StackFrame) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
 
+func (m *StackTrace_StackFrame) GetFunctionName() string {
+	if m != nil {
+		return m.FunctionName
+	}
+	return ""
+}
+
+func (m *StackTrace_StackFrame) GetOrigFunctionName() string {
+	if m != nil {
+		return m.OrigFunctionName
+	}
+	return ""
+}
+
+func (m *StackTrace_StackFrame) GetFileName() string {
+	if m != nil {
+		return m.FileName
+	}
+	return ""
+}
+
+func (m *StackTrace_StackFrame) GetLineNumber() int64 {
+	if m != nil {
+		return m.LineNumber
+	}
+	return 0
+}
+
+func (m *StackTrace_StackFrame) GetColumnNumber() int64 {
+	if m != nil {
+		return m.ColumnNumber
+	}
+	return 0
+}
+
 func (m *StackTrace_StackFrame) GetLoadModule() *Module {
 	if m != nil {
 		return m.LoadModule
@@ -173,6 +236,13 @@ func (m *StackTrace_StackFrame) GetLoadModule() *Module {
 	return nil
 }
 
+func (m *StackTrace_StackFrame) GetSourceVersion() string {
+	if m != nil {
+		return m.SourceVersion
+	}
+	return ""
+}
+
 // Allowed label values.
 type LabelValue struct {
 	// The value of the label.
@@ -376,6 +446,27 @@ func (m *Span) String() string            { return proto.CompactTextString(m) }
 func (*Span) ProtoMessage()               {}
 func (*Span) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *Span) GetId() uint64 {
+	if m != nil {
+		return m.Id
+	}
+	return 0
+}
+
+func (m *Span) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Span) GetParentId() uint64 {
+	if m != nil {
+		return m.ParentId
+	}
+	return 0
+}
+
 func (m *Span) GetLocalStartTime() *google_protobuf1.Timestamp {
 	if m != nil {
 		return m.LocalStartTime
@@ -425,6 +516,13 @@ func (m *Span) GetStatus() *google_rpc.Status {
 	return nil
 }
 
+func (m *Span) GetHasRemoteParent() bool {
+	if m != nil {
+		return m.HasRemoteParent
+	}
+	return false
+}
+
 // A time-stamped annotation in the Span.
 type Span_TimeEvent struct {
 	// The local machine absolute timestamp when this event happened.
@@ -569,6 +667,13 @@ func (m *Span_TimeEvent_Annotation) String() string            { return proto.Co
 func (*Span_TimeEvent_Annotation) ProtoMessage()               {}
 func (*Span_TimeEvent_Annotation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4, 0, 0} }
 
+func (m *Span_TimeEvent_Annotation) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func (m *Span_TimeEvent_Annotation) GetLabels() map[string]*LabelValue {
 	if m != nil {
 		return m.Labels
@@ -606,6 +711,27 @@ func (m *Span_TimeEvent_NetworkEvent) GetKernelTime() *google_protobuf1.Timestam
 	return nil
 }
 
+func (m *Span_TimeEvent_NetworkEvent) GetType() Span_TimeEvent_NetworkEvent_Type {
+	if m != nil {
+		return m.Type
+	}
+	return Span_TimeEvent_NetworkEvent_UNSPECIFIED
+}
+
+func (m *Span_TimeEvent_NetworkEvent) GetMessageId() uint64 {
+	if m != nil {
+		return m.MessageId
+	}
+	return 0
+}
+
+func (m *Span_TimeEvent_NetworkEvent) GetMessageSize() uint64 {
+	if m != nil {
+		return m.MessageSize
+	}
+	return 0
+}
+
 // Link one span with another which may be in a different Trace. Used (for
 // example) in batching operations, where a single batch handler processes
 // multiple requests from different traces.
@@ -628,6 +754,20 @@ func (m *Span_Link) GetTraceId() *TraceId {
 	return nil
 }
 
+func (m *Span_Link) GetSpanId() uint64 {
+	if m != nil {
+		return m.SpanId
+	}
+	return 0
+}
+
+func (m *Span_Link) GetType() Span_Link_Type {
+	if m != nil {
+		return m.Type
+	}
+	return Span_Link_UNSPECIFIED
+}
+
 // A trace describes how long it takes for an application to perform some
 // operations. It consists of a tree of spans, each of which contains details
 // about an operation with time information and operation details.
@@ -673,81 +813,77 @@ func init() {
 	proto.RegisterEnum("google.tracing.v1.Span_Link_Type", Span_Link_Type_name, Span_Link_Type_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/tracing/trace.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/tracing/trace.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1122 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x55, 0xdb, 0x6e, 0x1b, 0x37,
-	0x13, 0xd6, 0xf9, 0x30, 0xab, 0x38, 0x0a, 0x7f, 0xfc, 0x8d, 0xa2, 0xd6, 0xb0, 0xad, 0x20, 0x80,
-	0xe1, 0x26, 0x2b, 0x54, 0x46, 0x80, 0x24, 0x46, 0x8b, 0xc6, 0xb6, 0x5c, 0x09, 0x48, 0x05, 0x81,
-	0x72, 0x8c, 0xde, 0x2d, 0xa8, 0x5d, 0x7a, 0x45, 0x68, 0xc5, 0x5d, 0x2c, 0x29, 0x37, 0xf6, 0x6d,
-	0xdf, 0xa0, 0xef, 0xd0, 0xdb, 0xbe, 0x41, 0x1f, 0xa4, 0x7d, 0x9a, 0x82, 0x87, 0x95, 0x55, 0xc4,
-	0x8e, 0x9d, 0x02, 0xbd, 0x5a, 0xf2, 0x9b, 0x6f, 0x66, 0x87, 0xdf, 0xcc, 0x90, 0xf0, 0x3a, 0x8c,
-	0xe3, 0x30, 0xa2, 0x6e, 0x18, 0x47, 0x84, 0x87, 0x6e, 0x9c, 0x86, 0xdd, 0x90, 0xf2, 0x24, 0x8d,
-	0x65, 0xdc, 0x35, 0x26, 0x92, 0x30, 0xd1, 0x95, 0x29, 0xf1, 0x19, 0x0f, 0xf5, 0x97, 0xba, 0xda,
-	0x8c, 0x1e, 0x59, 0x57, 0x6b, 0x73, 0x2f, 0xbe, 0x69, 0x0f, 0xef, 0x17, 0x8d, 0x24, 0xac, 0x2b,
-	0x68, 0x7a, 0xc1, 0x7c, 0xea, 0xc7, 0xfc, 0x9c, 0x85, 0x5d, 0xc2, 0x79, 0x2c, 0x89, 0x64, 0x31,
-	0x17, 0x26, 0x7a, 0xfb, 0x20, 0x64, 0x72, 0xb6, 0x9c, 0xba, 0x7e, 0xbc, 0xe8, 0x9a, 0x70, 0x5d,
-	0x6d, 0x98, 0x2e, 0xcf, 0xbb, 0x89, 0xbc, 0x4c, 0xa8, 0xe8, 0x4a, 0xb6, 0xa0, 0x42, 0x92, 0x45,
-	0x72, 0xbd, 0xb2, 0xce, 0xdf, 0xde, 0x2f, 0x8f, 0x34, 0xf1, 0xbb, 0x42, 0x12, 0xb9, 0x14, 0xf6,
-	0x63, 0xdc, 0x3b, 0x7b, 0x50, 0x3d, 0x55, 0x07, 0x1d, 0x06, 0x68, 0x0b, 0x9c, 0x19, 0xfd, 0xe0,
-	0x51, 0xee, 0xc7, 0x01, 0x0d, 0x5a, 0xf9, 0xed, 0xfc, 0x6e, 0x1d, 0xc3, 0x8c, 0x7e, 0xe8, 0x1b,
-	0xa4, 0x73, 0x00, 0x95, 0x1f, 0xe3, 0x60, 0x19, 0x51, 0xf4, 0x05, 0x54, 0x16, 0x7a, 0x65, 0x59,
-	0x76, 0x87, 0x9e, 0x40, 0x6d, 0xba, 0x64, 0x51, 0xe0, 0xb1, 0xa0, 0x55, 0xd0, 0x96, 0xaa, 0xde,
-	0x0f, 0x83, 0xce, 0xef, 0x45, 0x80, 0x89, 0x24, 0xfe, 0x5c, 0xff, 0x0e, 0x0d, 0xc1, 0x11, 0x6a,
-	0xe7, 0x9d, 0xa7, 0x64, 0xa1, 0xc2, 0x14, 0x77, 0x9d, 0xde, 0xae, 0xfb, 0x91, 0xce, 0xee, 0xb5,
-	0x8f, 0x59, 0x9e, 0x28, 0x3e, 0x06, 0xb1, 0x5a, 0xa3, 0x17, 0xf0, 0x3f, 0x13, 0x4a, 0x57, 0xcc,
-	0x9b, 0x11, 0x31, 0xcb, 0xfe, 0x5f, 0xc2, 0x4d, 0xb1, 0xf2, 0x1f, 0x10, 0x31, 0x1b, 0x06, 0xed,
-	0xdf, 0x0a, 0x36, 0x11, 0xe3, 0xfd, 0x14, 0x1e, 0x9c, 0x2f, 0xb9, 0xaf, 0xea, 0xe1, 0x71, 0x93,
-	0x8a, 0xca, 0xbb, 0x91, 0x81, 0x23, 0x45, 0x7a, 0x0e, 0x28, 0x4e, 0x59, 0xe8, 0xfd, 0x93, 0x69,
-	0x4e, 0xd8, 0x54, 0x96, 0x93, 0x75, 0xf6, 0x97, 0x50, 0x3f, 0x67, 0x11, 0x35, 0xa4, 0xa2, 0x26,
-	0xd5, 0x14, 0xa0, 0x8d, 0x5b, 0xe0, 0x44, 0x8c, 0x53, 0x8f, 0x2f, 0x17, 0x53, 0x9a, 0xb6, 0x4a,
-	0xdb, 0xf9, 0xdd, 0x22, 0x06, 0x05, 0x8d, 0x34, 0xa2, 0x12, 0xf2, 0xe3, 0x68, 0xb9, 0xe0, 0x19,
-	0xa5, 0xac, 0x29, 0x0d, 0x03, 0x5a, 0xd2, 0x1b, 0x70, 0xa2, 0x98, 0x04, 0x9e, 0xad, 0x42, 0x65,
-	0x3b, 0xbf, 0xeb, 0xf4, 0x9e, 0xdc, 0x20, 0x9f, 0x29, 0x18, 0x06, 0xc5, 0xb6, 0xc5, 0x7b, 0x06,
-	0x1b, 0x22, 0x5e, 0xa6, 0x3e, 0xf5, 0x2e, 0x68, 0x2a, 0x58, 0xcc, 0x5b, 0x55, 0x9d, 0xe3, 0x03,
-	0x83, 0x9e, 0x19, 0xb0, 0x73, 0x05, 0xf0, 0x8e, 0x4c, 0x69, 0x74, 0x46, 0xa2, 0xa5, 0x92, 0xa9,
-	0x21, 0x64, 0xca, 0x78, 0xe8, 0x5d, 0xa8, 0xbd, 0x51, 0x69, 0x90, 0xc3, 0x8e, 0x41, 0x0d, 0x69,
-	0x13, 0xea, 0x8c, 0x4b, 0xcb, 0x50, 0xea, 0x14, 0x07, 0x39, 0x5c, 0x63, 0x5c, 0x1a, 0xf3, 0x16,
-	0xc0, 0x34, 0x8e, 0x23, 0x6b, 0x57, 0xc2, 0xd4, 0x06, 0x39, 0x5c, 0x57, 0x98, 0x26, 0x1c, 0x56,
-	0xa1, 0xac, 0x6d, 0x9d, 0x5f, 0x1b, 0x50, 0x9a, 0x24, 0x84, 0xa3, 0x0d, 0x28, 0x30, 0xd3, 0x8a,
-	0x15, 0x5c, 0x60, 0x01, 0x42, 0x50, 0x5a, 0x93, 0x5e, 0xaf, 0x95, 0xdc, 0x09, 0x49, 0x29, 0x97,
-	0xaa, 0xea, 0x45, 0x4d, 0xad, 0x19, 0x60, 0x18, 0xa0, 0x63, 0x68, 0x46, 0xb1, 0x4f, 0x22, 0x4f,
-	0x48, 0x92, 0x4a, 0x4f, 0x4d, 0x8f, 0xd6, 0xdc, 0xe9, 0xb5, 0x33, 0xb5, 0xb2, 0x59, 0x73, 0x4f,
-	0xb3, 0xd1, 0xc2, 0x1b, 0xda, 0x67, 0xa2, 0x5c, 0x14, 0x88, 0xbe, 0x07, 0x83, 0x78, 0x94, 0x07,
-	0x26, 0x46, 0xf9, 0xce, 0x18, 0x0d, 0xed, 0xd1, 0xe7, 0x81, 0x8e, 0x70, 0x00, 0x95, 0x48, 0xa9,
-	0x29, 0x5a, 0x15, 0xdd, 0xea, 0x4f, 0x6f, 0x6a, 0xf5, 0x84, 0x70, 0x57, 0x6b, 0x2e, 0xfa, 0x5c,
-	0xa6, 0x97, 0xd8, 0xba, 0xa0, 0xef, 0xb2, 0x61, 0xd1, 0x1d, 0xae, 0xcb, 0xe5, 0xf4, 0x36, 0x3f,
-	0x39, 0x2c, 0x76, 0x42, 0xcc, 0xb0, 0x1d, 0x82, 0xa3, 0x92, 0xf6, 0xe8, 0x05, 0xe5, 0x52, 0xb4,
-	0x6a, 0x3a, 0x83, 0x9d, 0xdb, 0x32, 0x50, 0xf9, 0xf6, 0x15, 0x13, 0x83, 0xcc, 0x96, 0x02, 0xf5,
-	0xa0, 0x1c, 0x31, 0x3e, 0x17, 0xad, 0xba, 0xf6, 0xfe, 0xea, 0xd6, 0xfc, 0x19, 0x9f, 0x63, 0x43,
-	0x45, 0x7b, 0x50, 0x31, 0x97, 0x4d, 0x0b, 0x74, 0xca, 0x28, 0x73, 0x4a, 0x13, 0x5f, 0xe5, 0x2a,
-	0x97, 0x02, 0x5b, 0x06, 0xda, 0x83, 0x47, 0x33, 0x22, 0xbc, 0x94, 0x2e, 0x62, 0x49, 0x3d, 0x53,
-	0xbf, 0x96, 0xa3, 0x7a, 0x04, 0x3f, 0x9c, 0x11, 0x81, 0x35, 0x3e, 0xd6, 0x70, 0xfb, 0xcf, 0x32,
-	0xd4, 0x57, 0x59, 0xa2, 0xd7, 0x00, 0xa6, 0x38, 0xba, 0x30, 0xf9, 0x3b, 0x0b, 0x53, 0xd7, 0x6c,
-	0x5d, 0x95, 0x11, 0xc0, 0xf5, 0x75, 0xac, 0x9b, 0xca, 0xe9, 0x3d, 0xbf, 0x53, 0x17, 0xf7, 0xed,
-	0xca, 0x67, 0x90, 0xc3, 0x6b, 0x11, 0xd0, 0x7b, 0x78, 0xc0, 0xa9, 0xfc, 0x39, 0x4e, 0xe7, 0x46,
-	0x6b, 0xdd, 0x8e, 0x4e, 0xcf, 0xbd, 0x3b, 0xe4, 0xc8, 0xb8, 0xe9, 0xcd, 0x20, 0x87, 0x1b, 0x7c,
-	0x6d, 0xdf, 0xfe, 0x2b, 0x0f, 0x70, 0xfd, 0x4f, 0xb4, 0x0d, 0x4e, 0x40, 0x85, 0x9f, 0xb2, 0x44,
-	0xa7, 0x6d, 0x2e, 0xac, 0x75, 0x08, 0x8d, 0x57, 0xdd, 0x56, 0xd0, 0xd5, 0x7a, 0xf5, 0x39, 0x67,
-	0xba, 0xa9, 0x05, 0xdb, 0x3f, 0x81, 0xb3, 0x06, 0xa3, 0x26, 0x14, 0xe7, 0xf4, 0xd2, 0xfe, 0x5a,
-	0x2d, 0xd1, 0xbe, 0x9d, 0x5d, 0xab, 0xe2, 0x4d, 0xdd, 0x79, 0x7d, 0x9d, 0x60, 0xc3, 0x7d, 0x53,
-	0x78, 0x95, 0x6f, 0xff, 0x52, 0x80, 0xc6, 0xfa, 0xe9, 0xd1, 0x01, 0x38, 0x73, 0x9a, 0x72, 0x7a,
-	0xef, 0x82, 0x82, 0xa1, 0xeb, 0x8a, 0xfe, 0x00, 0x25, 0xf5, 0x62, 0xea, 0x2c, 0x36, 0x7a, 0xfb,
-	0x9f, 0x27, 0xbc, 0x7b, 0x7a, 0x99, 0x50, 0xac, 0x03, 0xa0, 0x4d, 0x80, 0x05, 0x15, 0x82, 0x84,
-	0x34, 0xbb, 0x56, 0x4a, 0xb8, 0x6e, 0x91, 0x61, 0x80, 0x76, 0xa0, 0x91, 0x99, 0x05, 0xbb, 0x32,
-	0x77, 0x4a, 0x09, 0x3b, 0x16, 0x9b, 0xb0, 0x2b, 0xda, 0xf9, 0x1a, 0x4a, 0x2a, 0x1e, 0x7a, 0x08,
-	0xce, 0xfb, 0xd1, 0x64, 0xdc, 0x3f, 0x1a, 0x9e, 0x0c, 0xfb, 0xc7, 0xcd, 0x1c, 0xaa, 0x41, 0x69,
-	0xd2, 0x1f, 0x9d, 0x36, 0xf3, 0x6a, 0x85, 0xfb, 0x47, 0x67, 0xcd, 0xc2, 0xea, 0xea, 0x6b, 0xff,
-	0x91, 0x87, 0x92, 0x9a, 0x21, 0xf4, 0x12, 0x6a, 0xe6, 0x41, 0xb3, 0x17, 0xe0, 0x9a, 0x06, 0x6b,
-	0xa7, 0xb1, 0x8f, 0x37, 0xae, 0x4a, 0xfb, 0x8a, 0x3f, 0x86, 0xaa, 0x48, 0x08, 0xcf, 0x5e, 0xc0,
-	0x0a, 0xae, 0xa8, 0xed, 0x30, 0x40, 0x2f, 0xad, 0x32, 0x45, 0xad, 0xcc, 0xce, 0xa7, 0xe6, 0x77,
-	0x4d, 0x87, 0x8e, 0x7b, 0xdb, 0x29, 0xea, 0x50, 0x3e, 0x1a, 0x0c, 0xdf, 0x1d, 0x37, 0xf3, 0x08,
-	0xa0, 0x32, 0x7e, 0x8b, 0xd5, 0x91, 0x0a, 0xff, 0x5d, 0xa3, 0x74, 0x16, 0x50, 0x36, 0xd7, 0xd9,
-	0xbf, 0x54, 0xe6, 0x05, 0x94, 0x95, 0x14, 0xd9, 0x4c, 0x3c, 0xbe, 0x45, 0x01, 0x6c, 0x58, 0x87,
-	0xcf, 0xe0, 0xff, 0x7e, 0xbc, 0xf8, 0x98, 0x74, 0x08, 0x3a, 0xf2, 0x58, 0xf5, 0xe1, 0x38, 0x3f,
-	0xad, 0xe8, 0x86, 0xdc, 0xff, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x32, 0x14, 0xf4, 0x2b, 0x5e, 0x0a,
-	0x00, 0x00,
+	// 1102 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xdd, 0x6e, 0x1a, 0x47,
+	0x14, 0x66, 0xf9, 0x59, 0xe0, 0x2c, 0x76, 0xc8, 0x54, 0xad, 0x09, 0x8d, 0x65, 0x9b, 0xa8, 0x92,
+	0xe5, 0x26, 0x8b, 0x82, 0x15, 0xc9, 0x8d, 0xa5, 0xaa, 0xb1, 0x8d, 0x0b, 0x52, 0x8a, 0xd0, 0xe0,
+	0x58, 0x55, 0x6f, 0x56, 0xc3, 0xee, 0x18, 0x56, 0x2c, 0xb3, 0xab, 0x9d, 0x81, 0xc6, 0xbe, 0xed,
+	0x1b, 0xf4, 0x1d, 0x7a, 0xdb, 0x37, 0xe8, 0x83, 0xb4, 0x4f, 0x53, 0xcd, 0xcf, 0x62, 0xaa, 0xd8,
+	0x71, 0x53, 0xa9, 0x57, 0xcc, 0x7c, 0xe7, 0x3b, 0x67, 0xce, 0x7c, 0xe7, 0x9c, 0x59, 0xa0, 0x39,
+	0x89, 0xe3, 0x49, 0x44, 0xdb, 0x22, 0x25, 0x7e, 0xc8, 0x26, 0xea, 0x97, 0xba, 0x49, 0x1a, 0x8b,
+	0x18, 0x3d, 0xd6, 0x36, 0xd7, 0xd8, 0xdc, 0xe5, 0xcb, 0xe6, 0x53, 0x43, 0x27, 0x49, 0xd8, 0x26,
+	0x8c, 0xc5, 0x82, 0x88, 0x30, 0x66, 0x5c, 0x3b, 0x34, 0x77, 0x8c, 0x55, 0xed, 0xc6, 0x8b, 0xab,
+	0xb6, 0x08, 0xe7, 0x94, 0x0b, 0x32, 0x4f, 0x0c, 0x61, 0xcb, 0x10, 0xd2, 0xc4, 0x6f, 0x73, 0x41,
+	0xc4, 0xc2, 0x78, 0xb6, 0x0e, 0xa0, 0x7c, 0x21, 0x4f, 0xee, 0x07, 0x68, 0x07, 0x9c, 0x29, 0x7d,
+	0xef, 0x51, 0xe6, 0xc7, 0x01, 0x0d, 0x1a, 0xd6, 0xae, 0xb5, 0x5f, 0xc5, 0x30, 0xa5, 0xef, 0xbb,
+	0x1a, 0x69, 0x1d, 0x83, 0xfd, 0x43, 0x1c, 0x2c, 0x22, 0x8a, 0xbe, 0x00, 0x7b, 0xae, 0x56, 0x86,
+	0x65, 0x76, 0xe8, 0x09, 0x54, 0xc6, 0x8b, 0x30, 0x0a, 0xbc, 0x30, 0x68, 0xe4, 0x95, 0xa5, 0xac,
+	0xf6, 0xfd, 0xa0, 0xf5, 0x7b, 0x01, 0x60, 0x24, 0x88, 0x3f, 0x53, 0xc7, 0xa1, 0x3e, 0x38, 0x5c,
+	0xee, 0xbc, 0xab, 0x94, 0xcc, 0x65, 0x98, 0xc2, 0xbe, 0xd3, 0xd9, 0x77, 0x3f, 0xb8, 0xb8, 0x7b,
+	0xeb, 0xa3, 0x97, 0xe7, 0x92, 0x8f, 0x81, 0xaf, 0xd6, 0xe8, 0x05, 0x7c, 0xa6, 0x43, 0x29, 0x09,
+	0xbd, 0x29, 0xe1, 0xd3, 0xec, 0xfc, 0x22, 0xae, 0xf3, 0x95, 0x7f, 0x8f, 0xf0, 0x69, 0x3f, 0x68,
+	0xfe, 0x96, 0x37, 0x89, 0x68, 0xef, 0x67, 0xb0, 0x71, 0xb5, 0x60, 0xbe, 0x54, 0xd3, 0x63, 0x3a,
+	0x15, 0x99, 0x77, 0x2d, 0x03, 0x07, 0x92, 0xf4, 0x1c, 0x50, 0x9c, 0x86, 0x13, 0xef, 0x9f, 0x4c,
+	0x7d, 0xc3, 0xba, 0xb4, 0x9c, 0xaf, 0xb3, 0xbf, 0x84, 0xea, 0x55, 0x18, 0x51, 0x4d, 0x2a, 0x28,
+	0x52, 0x45, 0x02, 0xca, 0xb8, 0x03, 0x4e, 0x14, 0x32, 0xea, 0xb1, 0xc5, 0x7c, 0x4c, 0xd3, 0x46,
+	0x71, 0xd7, 0xda, 0x2f, 0x60, 0x90, 0xd0, 0x40, 0x21, 0x32, 0x21, 0x3f, 0x8e, 0x16, 0x73, 0x96,
+	0x51, 0x4a, 0x8a, 0x52, 0xd3, 0xa0, 0x21, 0xbd, 0x06, 0x27, 0x8a, 0x49, 0xe0, 0x99, 0x2a, 0xd8,
+	0xbb, 0xd6, 0xbe, 0xd3, 0x79, 0x72, 0x87, 0x7c, 0xba, 0x60, 0x18, 0x24, 0xdb, 0x14, 0xef, 0x2b,
+	0xd8, 0xe4, 0xf1, 0x22, 0xf5, 0xa9, 0xb7, 0xa4, 0x29, 0x0f, 0x63, 0xd6, 0x28, 0xab, 0x1c, 0x37,
+	0x34, 0x7a, 0xa9, 0xc1, 0xd6, 0x0d, 0xc0, 0x5b, 0x32, 0xa6, 0xd1, 0x25, 0x89, 0x16, 0x52, 0xa6,
+	0x1a, 0x17, 0x69, 0xc8, 0x26, 0xde, 0x52, 0xee, 0xb5, 0x4a, 0xbd, 0x1c, 0x76, 0x34, 0xaa, 0x49,
+	0xdb, 0x50, 0x0d, 0x99, 0x30, 0x0c, 0xa9, 0x4e, 0xa1, 0x97, 0xc3, 0x95, 0x90, 0x09, 0x6d, 0xde,
+	0x01, 0x18, 0xc7, 0x71, 0x64, 0xec, 0x52, 0x98, 0x4a, 0x2f, 0x87, 0xab, 0x12, 0x53, 0x84, 0x93,
+	0x32, 0x94, 0x94, 0xad, 0xf5, 0x6b, 0x0d, 0x8a, 0xa3, 0x84, 0x30, 0xb4, 0x09, 0xf9, 0x50, 0xb7,
+	0xa2, 0x8d, 0xf3, 0x61, 0x80, 0x10, 0x14, 0xd7, 0xa4, 0x57, 0x6b, 0x29, 0x77, 0x42, 0x52, 0xca,
+	0x84, 0xac, 0x7a, 0x41, 0x51, 0x2b, 0x1a, 0xe8, 0x07, 0xe8, 0x0c, 0xea, 0x51, 0xec, 0x93, 0xc8,
+	0xe3, 0x82, 0xa4, 0xc2, 0x93, 0x73, 0xa1, 0x34, 0x77, 0x3a, 0xcd, 0x4c, 0xad, 0x6c, 0x68, 0xdc,
+	0x8b, 0x6c, 0x68, 0xf0, 0xa6, 0xf2, 0x19, 0x49, 0x17, 0x09, 0xa2, 0xef, 0x40, 0x23, 0x1e, 0x65,
+	0x81, 0x8e, 0x51, 0x7a, 0x30, 0x46, 0x4d, 0x79, 0x74, 0x59, 0xa0, 0x22, 0x1c, 0x83, 0x1d, 0x49,
+	0x35, 0x79, 0xc3, 0x56, 0xad, 0xfe, 0xec, 0xae, 0x56, 0x4f, 0x08, 0x73, 0x95, 0xe6, 0xbc, 0xcb,
+	0x44, 0x7a, 0x8d, 0x8d, 0x0b, 0xfa, 0x36, 0x1b, 0x16, 0xd5, 0xe1, 0xaa, 0x5c, 0x4e, 0x67, 0xfb,
+	0xa3, 0xc3, 0x62, 0x26, 0x44, 0x0f, 0xdb, 0x09, 0x38, 0x32, 0x69, 0x8f, 0x2e, 0x29, 0x13, 0xbc,
+	0x51, 0x51, 0x19, 0xec, 0xdd, 0x97, 0x81, 0xcc, 0xb7, 0x2b, 0x99, 0x18, 0x44, 0xb6, 0xe4, 0xa8,
+	0x03, 0xa5, 0x28, 0x64, 0x33, 0xde, 0xa8, 0x2a, 0xef, 0xa7, 0xf7, 0xe6, 0x1f, 0xb2, 0x19, 0xd6,
+	0x54, 0x74, 0x00, 0xb6, 0x7e, 0x6c, 0x1a, 0xa0, 0x52, 0x46, 0x99, 0x53, 0x9a, 0xf8, 0x32, 0x57,
+	0xb1, 0xe0, 0xd8, 0x30, 0xd0, 0x01, 0x3c, 0x9e, 0x12, 0xee, 0xa5, 0x74, 0x1e, 0x0b, 0xea, 0xe9,
+	0xfa, 0x35, 0x1c, 0xd9, 0x23, 0xf8, 0xd1, 0x94, 0x70, 0xac, 0xf0, 0xa1, 0x82, 0x9b, 0x7f, 0x96,
+	0xa0, 0xba, 0xca, 0x12, 0x7d, 0x03, 0xa0, 0x8b, 0xa3, 0x0a, 0x63, 0x3d, 0x58, 0x98, 0xaa, 0x62,
+	0xab, 0xaa, 0x0c, 0x00, 0x6e, 0x1f, 0x53, 0xd5, 0x54, 0x4e, 0xe7, 0xf9, 0x83, 0xba, 0xb8, 0x6f,
+	0x56, 0x3e, 0xbd, 0x1c, 0x5e, 0x8b, 0x80, 0xde, 0xc1, 0x06, 0xa3, 0xe2, 0xe7, 0x38, 0x9d, 0x69,
+	0xad, 0x55, 0x3b, 0x3a, 0x1d, 0xf7, 0xe1, 0x90, 0x03, 0xed, 0xa6, 0x36, 0xbd, 0x1c, 0xae, 0xb1,
+	0xb5, 0x7d, 0xf3, 0x2f, 0x0b, 0xe0, 0xf6, 0x4c, 0xb4, 0x0b, 0x4e, 0x40, 0xb9, 0x9f, 0x86, 0x89,
+	0x4a, 0x5b, 0x3f, 0x58, 0xeb, 0x10, 0x1a, 0xae, 0xba, 0x2d, 0xaf, 0xaa, 0x75, 0xf4, 0x29, 0x77,
+	0xba, 0xab, 0x05, 0x9b, 0x3f, 0x82, 0xb3, 0x06, 0xa3, 0x3a, 0x14, 0x66, 0xf4, 0xda, 0x1c, 0x2d,
+	0x97, 0xe8, 0xd0, 0xcc, 0xae, 0x51, 0xf1, 0xae, 0xee, 0xbc, 0x7d, 0x4e, 0xb0, 0xe6, 0xbe, 0xce,
+	0x1f, 0x59, 0xcd, 0x5f, 0xf2, 0x50, 0x5b, 0xbf, 0x3d, 0x3a, 0x06, 0x67, 0x46, 0x53, 0x46, 0xff,
+	0x75, 0x41, 0x41, 0xd3, 0x55, 0x45, 0xbf, 0x87, 0xa2, 0xb8, 0x4e, 0x74, 0x16, 0x9b, 0x9d, 0xc3,
+	0x4f, 0x13, 0xde, 0xbd, 0xb8, 0x4e, 0x28, 0x56, 0x01, 0xd0, 0x36, 0xc0, 0x9c, 0x72, 0x4e, 0x26,
+	0x34, 0x7b, 0x56, 0x8a, 0xb8, 0x6a, 0x90, 0x7e, 0x80, 0xf6, 0xa0, 0x96, 0x99, 0x79, 0x78, 0xa3,
+	0xdf, 0x94, 0x22, 0x76, 0x0c, 0x36, 0x0a, 0x6f, 0x68, 0xeb, 0x6b, 0x28, 0xca, 0x78, 0xe8, 0x11,
+	0x38, 0xef, 0x06, 0xa3, 0x61, 0xf7, 0xb4, 0x7f, 0xde, 0xef, 0x9e, 0xd5, 0x73, 0xa8, 0x02, 0xc5,
+	0x51, 0x77, 0x70, 0x51, 0xb7, 0xe4, 0x0a, 0x77, 0x4f, 0x2f, 0xeb, 0xf9, 0xd5, 0xd3, 0xd7, 0xfc,
+	0xc3, 0x82, 0xa2, 0x9c, 0x21, 0xf4, 0x0a, 0x2a, 0xfa, 0x83, 0x66, 0x1e, 0xc0, 0x35, 0x0d, 0xd6,
+	0x6e, 0x63, 0x3e, 0xde, 0xb8, 0x2c, 0xcc, 0x57, 0x7c, 0x0b, 0xca, 0x3c, 0x21, 0x2c, 0xfb, 0x02,
+	0xda, 0xd8, 0x96, 0xdb, 0x7e, 0x80, 0x5e, 0x19, 0x65, 0x0a, 0x4a, 0x99, 0xbd, 0x8f, 0xcd, 0xef,
+	0x9a, 0x0e, 0x2d, 0xf7, 0xbe, 0x5b, 0x54, 0xa1, 0x74, 0xda, 0xeb, 0xbf, 0x3d, 0xab, 0x5b, 0x08,
+	0xc0, 0x1e, 0xbe, 0xc1, 0xf2, 0x4a, 0xf9, 0xff, 0xaf, 0x51, 0x5a, 0x73, 0x28, 0xe9, 0xe7, 0xec,
+	0x3f, 0x2a, 0xf3, 0x02, 0x4a, 0x52, 0x8a, 0x6c, 0x26, 0xb6, 0xee, 0x51, 0x00, 0x6b, 0xd6, 0x89,
+	0x07, 0x9f, 0xfb, 0xf1, 0xfc, 0x43, 0xd2, 0x09, 0xa8, 0xc8, 0x43, 0xd9, 0x87, 0x43, 0xeb, 0xa7,
+	0x23, 0x43, 0x98, 0xc4, 0x11, 0x61, 0x13, 0x37, 0x4e, 0x27, 0xed, 0x09, 0x65, 0xaa, 0x4b, 0xdb,
+	0xda, 0x44, 0x92, 0x90, 0xaf, 0xfe, 0xe6, 0x2d, 0x5f, 0x1e, 0x9b, 0xe5, 0xd8, 0x56, 0xa4, 0xc3,
+	0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x30, 0x5b, 0x04, 0x0a, 0x0a, 0x00, 0x00,
 }
diff --git a/googleapis/type/color/color.pb.go b/googleapis/type/color/color.pb.go
index 09434bfcea2d69132266fbdee5b7843538d2f170..1f31b6d31d46c5e88714aefc165018cb7b8bcaba 100644
--- a/googleapis/type/color/color.pb.go
+++ b/googleapis/type/color/color.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/type/color/color.proto
+// source: google/type/color.proto
 // DO NOT EDIT!
 
 /*
-Package google_type is a generated protocol buffer package.
+Package color is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/type/color/color.proto
+	google/type/color.proto
 
 It has these top-level messages:
 	Color
 */
-package google_type // import "google.golang.org/genproto/googleapis/type/color"
+package color
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -169,6 +169,27 @@ func (m *Color) String() string            { return proto.CompactTextString(m) }
 func (*Color) ProtoMessage()               {}
 func (*Color) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Color) GetRed() float32 {
+	if m != nil {
+		return m.Red
+	}
+	return 0
+}
+
+func (m *Color) GetGreen() float32 {
+	if m != nil {
+		return m.Green
+	}
+	return 0
+}
+
+func (m *Color) GetBlue() float32 {
+	if m != nil {
+		return m.Blue
+	}
+	return 0
+}
+
 func (m *Color) GetAlpha() *google_protobuf.FloatValue {
 	if m != nil {
 		return m.Alpha
@@ -180,25 +201,22 @@ func init() {
 	proto.RegisterType((*Color)(nil), "google.type.Color")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/type/color/color.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/type/color.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 231 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x4c, 0x8f, 0x31, 0x4b, 0x04, 0x31,
-	0x10, 0x85, 0xd9, 0xdd, 0x5b, 0x8b, 0xb9, 0x42, 0x09, 0x16, 0x8b, 0x36, 0x87, 0x20, 0x5c, 0x95,
-	0x41, 0xad, 0x04, 0xab, 0x13, 0xb4, 0x5d, 0x0e, 0xb1, 0xcf, 0xae, 0xe3, 0xdc, 0x41, 0x6e, 0x27,
-	0xe4, 0x12, 0xc5, 0xbf, 0xe3, 0x2f, 0x95, 0x24, 0x2b, 0xda, 0x84, 0x97, 0x99, 0xf7, 0x3e, 0xde,
-	0xc0, 0x03, 0x8b, 0xb0, 0x25, 0xcd, 0x62, 0xcd, 0xc4, 0x5a, 0x3c, 0x23, 0xd3, 0xe4, 0xbc, 0x04,
-	0xc1, 0xb2, 0x32, 0x6e, 0x7f, 0xc4, 0xf0, 0xe5, 0x08, 0x47, 0xb1, 0xe2, 0xcb, 0xab, 0xb3, 0x43,
-	0x2d, 0xe7, 0x74, 0x5a, 0x5f, 0xdc, 0xf3, 0x3e, 0xec, 0xe2, 0xa0, 0x47, 0x39, 0x60, 0xc1, 0x61,
-	0x76, 0x0d, 0xf1, 0x1d, 0x5d, 0x72, 0x1c, 0xf1, 0xd3, 0x1b, 0xe7, 0xc8, 0xff, 0x89, 0xc2, 0xb9,
-	0xfa, 0x80, 0xf6, 0x31, 0x61, 0xd5, 0x19, 0x34, 0x9e, 0xde, 0xba, 0x6a, 0x55, 0xad, 0xeb, 0x6d,
-	0x92, 0xea, 0x1c, 0x5a, 0xf6, 0x44, 0x53, 0x57, 0xe7, 0x59, 0xf9, 0x28, 0x05, 0x8b, 0xc1, 0x46,
-	0xea, 0x9a, 0x3c, 0xcc, 0x5a, 0xdd, 0x40, 0x6b, 0xac, 0xdb, 0x99, 0x6e, 0xb1, 0xaa, 0xd6, 0xcb,
-	0xdb, 0x4b, 0x3d, 0x97, 0xfb, 0x2d, 0xa1, 0x9f, 0xac, 0x98, 0xf0, 0x6a, 0x6c, 0xa4, 0x6d, 0x71,
-	0x6e, 0xae, 0xe1, 0x74, 0x94, 0x83, 0xfe, 0x77, 0xc5, 0x06, 0x72, 0x91, 0x3e, 0x65, 0xfa, 0xea,
-	0xbb, 0x6e, 0x9e, 0x5f, 0xfa, 0xe1, 0x24, 0x23, 0xee, 0x7e, 0x02, 0x00, 0x00, 0xff, 0xff, 0x6a,
-	0xe1, 0xe0, 0x7d, 0x2d, 0x01, 0x00, 0x00,
+	// 224 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x8f, 0x31, 0x4b, 0xc5, 0x30,
+	0x10, 0xc7, 0x49, 0xfb, 0xea, 0x70, 0x6f, 0x50, 0x82, 0x60, 0x50, 0x90, 0x87, 0xd3, 0x9b, 0x12,
+	0x54, 0x70, 0x71, 0xab, 0xa0, 0x6b, 0x29, 0xe2, 0x20, 0x38, 0xa4, 0xf5, 0x8c, 0x42, 0xec, 0x85,
+	0xb4, 0x55, 0xfc, 0x3a, 0x7e, 0x52, 0xc9, 0xa5, 0x42, 0x97, 0x70, 0xb9, 0xdf, 0xef, 0x92, 0xff,
+	0xc1, 0x89, 0x23, 0x72, 0x1e, 0xcd, 0xf4, 0x13, 0xd0, 0xf4, 0xe4, 0x29, 0xea, 0x10, 0x69, 0x22,
+	0xb9, 0xcd, 0x40, 0x27, 0x70, 0x7a, 0xbe, 0x58, 0x8c, 0xba, 0xf9, 0xcd, 0x7c, 0x47, 0x1b, 0x02,
+	0xc6, 0x31, 0xcb, 0x17, 0x5f, 0x50, 0xdd, 0xa5, 0x59, 0x79, 0x04, 0x65, 0xc4, 0x57, 0x25, 0x76,
+	0x62, 0x5f, 0xb4, 0xa9, 0x94, 0xc7, 0x50, 0xb9, 0x88, 0x38, 0xa8, 0x82, 0x7b, 0xf9, 0x22, 0x25,
+	0x6c, 0x3a, 0x3f, 0xa3, 0x2a, 0xb9, 0xc9, 0xb5, 0xbc, 0x84, 0xca, 0xfa, 0xf0, 0x6e, 0xd5, 0x66,
+	0x27, 0xf6, 0xdb, 0xab, 0x33, 0xbd, 0x24, 0xf8, 0xff, 0x54, 0xdf, 0x7b, 0xb2, 0xd3, 0x93, 0xf5,
+	0x33, 0xb6, 0xd9, 0xac, 0x5f, 0xe0, 0xb0, 0xa7, 0x4f, 0xbd, 0x8a, 0x5a, 0x03, 0x07, 0x69, 0xd2,
+	0x4c, 0x23, 0x9e, 0x6f, 0x16, 0xe4, 0xc8, 0xdb, 0xc1, 0x69, 0x8a, 0xce, 0x38, 0x1c, 0xf8, 0x45,
+	0x93, 0x91, 0x0d, 0x1f, 0xe3, 0x6a, 0xfb, 0x5b, 0x3e, 0x7f, 0x8b, 0xf2, 0xe1, 0xb1, 0xe9, 0x0e,
+	0x58, 0xbc, 0xfe, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x42, 0x23, 0x2a, 0xd0, 0x25, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/type/color/color.proto b/googleapis/type/color/color.proto
deleted file mode 100644
index 11e1a78002e1e1e5aa0f9c5653af4aad89ac69d3..0000000000000000000000000000000000000000
--- a/googleapis/type/color/color.proto
+++ /dev/null
@@ -1,163 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.type;
-
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ColorProto";
-option java_package = "com.google.type";
-option objc_class_prefix = "GTP";
-
-
-// Represents a color in the RGBA color space. This representation is designed
-// for simplicity of conversion to/from color representations in various
-// languages over compactness; for example, the fields of this representation
-// can be trivially provided to the constructor of "java.awt.Color" in Java; it
-// can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
-// method in iOS; and, with just a little work, it can be easily formatted into
-// a CSS "rgba()" string in JavaScript, as well. Here are some examples:
-//
-// Example (Java):
-//
-//      import com.google.type.Color;
-//
-//      // ...
-//      public static java.awt.Color fromProto(Color protocolor) {
-//        float alpha = protocolor.hasAlpha()
-//            ? protocolor.getAlpha().getValue()
-//            : 1.0;
-//
-//        return new java.awt.Color(
-//            protocolor.getRed(),
-//            protocolor.getGreen(),
-//            protocolor.getBlue(),
-//            alpha);
-//      }
-//
-//      public static Color toProto(java.awt.Color color) {
-//        float red = (float) color.getRed();
-//        float green = (float) color.getGreen();
-//        float blue = (float) color.getBlue();
-//        float denominator = 255.0;
-//        Color.Builder resultBuilder =
-//            Color
-//                .newBuilder()
-//                .setRed(red / denominator)
-//                .setGreen(green / denominator)
-//                .setBlue(blue / denominator);
-//        int alpha = color.getAlpha();
-//        if (alpha != 255) {
-//          result.setAlpha(
-//              FloatValue
-//                  .newBuilder()
-//                  .setValue(((float) alpha) / denominator)
-//                  .build());
-//        }
-//        return resultBuilder.build();
-//      }
-//      // ...
-//
-// Example (iOS / Obj-C):
-//
-//      // ...
-//      static UIColor* fromProto(Color* protocolor) {
-//         float red = [protocolor red];
-//         float green = [protocolor green];
-//         float blue = [protocolor blue];
-//         FloatValue* alpha_wrapper = [protocolor alpha];
-//         float alpha = 1.0;
-//         if (alpha_wrapper != nil) {
-//           alpha = [alpha_wrapper value];
-//         }
-//         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-//      }
-//
-//      static Color* toProto(UIColor* color) {
-//          CGFloat red, green, blue, alpha;
-//          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
-//            return nil;
-//          }
-//          Color* result = [Color alloc] init];
-//          [result setRed:red];
-//          [result setGreen:green];
-//          [result setBlue:blue];
-//          if (alpha <= 0.9999) {
-//            [result setAlpha:floatWrapperWithValue(alpha)];
-//          }
-//          [result autorelease];
-//          return result;
-//     }
-//     // ...
-//
-//  Example (JavaScript):
-//
-//     // ...
-//
-//     var protoToCssColor = function(rgb_color) {
-//        var redFrac = rgb_color.red || 0.0;
-//        var greenFrac = rgb_color.green || 0.0;
-//        var blueFrac = rgb_color.blue || 0.0;
-//        var red = Math.floor(redFrac * 255);
-//        var green = Math.floor(greenFrac * 255);
-//        var blue = Math.floor(blueFrac * 255);
-//
-//        if (!('alpha' in rgb_color)) {
-//           return rgbToCssColor_(red, green, blue);
-//        }
-//
-//        var alphaFrac = rgb_color.alpha.value || 0.0;
-//        var rgbParams = [red, green, blue].join(',');
-//        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
-//     };
-//
-//     var rgbToCssColor_ = function(red, green, blue) {
-//       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
-//       var hexString = rgbNumber.toString(16);
-//       var missingZeros = 6 - hexString.length;
-//       var resultBuilder = ['#'];
-//       for (var i = 0; i < missingZeros; i++) {
-//          resultBuilder.push('0');
-//       }
-//       resultBuilder.push(hexString);
-//       return resultBuilder.join('');
-//     };
-//
-//     // ...
-message Color {
-  // The amount of red in the color as a value in the interval [0, 1].
-  float red = 1;
-
-  // The amount of green in the color as a value in the interval [0, 1].
-  float green = 2;
-
-  // The amount of blue in the color as a value in the interval [0, 1].
-  float blue = 3;
-
-  // The fraction of this color that should be applied to the pixel. That is,
-  // the final pixel color is defined by the equation:
-  //
-  //   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-  //
-  // This means that a value of 1.0 corresponds to a solid color, whereas
-  // a value of 0.0 corresponds to a completely transparent color. This
-  // uses a wrapper message rather than a simple float scalar so that it is
-  // possible to distinguish between a default value and the value being unset.
-  // If omitted, this color object is to be rendered as a solid color
-  // (as if the alpha value had been explicitly given with a value of 1.0).
-  google.protobuf.FloatValue alpha = 4;
-}
diff --git a/googleapis/type/date/date.pb.go b/googleapis/type/date/date.pb.go
index 73f78cba6678920faf7785a84984917c3c298fd8..97ed47c6887f4a41a64803eef2fcfce239d3c490 100644
--- a/googleapis/type/date/date.pb.go
+++ b/googleapis/type/date/date.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/type/date/date.proto
+// source: google/type/date.proto
 // DO NOT EDIT!
 
 /*
-Package google_type is a generated protocol buffer package.
+Package date is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/type/date/date.proto
+	google/type/date.proto
 
 It has these top-level messages:
 	Date
 */
-package google_type // import "google.golang.org/genproto/googleapis/type/date"
+package date
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -51,25 +51,44 @@ func (m *Date) String() string            { return proto.CompactTextString(m) }
 func (*Date) ProtoMessage()               {}
 func (*Date) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
-func init() {
-	proto.RegisterType((*Date)(nil), "google.type.Date")
+func (m *Date) GetYear() int32 {
+	if m != nil {
+		return m.Year
+	}
+	return 0
+}
+
+func (m *Date) GetMonth() int32 {
+	if m != nil {
+		return m.Month
+	}
+	return 0
+}
+
+func (m *Date) GetDay() int32 {
+	if m != nil {
+		return m.Day
+	}
+	return 0
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/type/date/date.proto", fileDescriptor0)
+	proto.RegisterType((*Date)(nil), "google.type.Date")
 }
 
+func init() { proto.RegisterFile("google/type/date.proto", fileDescriptor0) }
+
 var fileDescriptor0 = []byte{
-	// 161 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xb2, 0x4a, 0xcf, 0xcf, 0x4f,
-	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
-	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x97, 0x54,
-	0x16, 0xa4, 0xea, 0xa7, 0x24, 0x96, 0x40, 0x08, 0x3d, 0xb0, 0xbc, 0x10, 0x37, 0x54, 0x2f, 0x48,
-	0x52, 0xc9, 0x89, 0x8b, 0xc5, 0x25, 0xb1, 0x24, 0x55, 0x48, 0x88, 0x8b, 0xa5, 0x32, 0x35, 0xb1,
-	0x48, 0x82, 0x51, 0x81, 0x51, 0x83, 0x35, 0x08, 0xcc, 0x16, 0x12, 0xe1, 0x62, 0xcd, 0xcd, 0xcf,
-	0x2b, 0xc9, 0x90, 0x60, 0x02, 0x0b, 0x42, 0x38, 0x42, 0x02, 0x5c, 0xcc, 0x29, 0x89, 0x95, 0x12,
-	0xcc, 0x60, 0x31, 0x10, 0xd3, 0x49, 0x85, 0x8b, 0x3f, 0x39, 0x3f, 0x57, 0x0f, 0xc9, 0x58, 0x27,
-	0x4e, 0x90, 0xa1, 0x01, 0x20, 0xeb, 0x02, 0x18, 0x17, 0x31, 0x31, 0xbb, 0x87, 0x04, 0x24, 0xb1,
-	0x81, 0x6d, 0x37, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xaa, 0xd4, 0x98, 0x3f, 0xbb, 0x00, 0x00,
-	0x00,
+	// 172 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4b, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x2f, 0xa9, 0x2c, 0x48, 0xd5, 0x4f, 0x49, 0x2c, 0x49, 0xd5, 0x2b, 0x28, 0xca,
+	0x2f, 0xc9, 0x17, 0xe2, 0x86, 0x88, 0xeb, 0x81, 0xc4, 0x95, 0x9c, 0xb8, 0x58, 0x5c, 0x12, 0x4b,
+	0x52, 0x85, 0x84, 0xb8, 0x58, 0x2a, 0x53, 0x13, 0x8b, 0x24, 0x18, 0x15, 0x18, 0x35, 0x58, 0x83,
+	0xc0, 0x6c, 0x21, 0x11, 0x2e, 0xd6, 0xdc, 0xfc, 0xbc, 0x92, 0x0c, 0x09, 0x26, 0xb0, 0x20, 0x84,
+	0x23, 0x24, 0xc0, 0xc5, 0x9c, 0x92, 0x58, 0x29, 0xc1, 0x0c, 0x16, 0x03, 0x31, 0x9d, 0x62, 0xb9,
+	0xf8, 0x93, 0xf3, 0x73, 0xf5, 0x90, 0x8c, 0x75, 0xe2, 0x04, 0x19, 0x1a, 0x00, 0xb2, 0x2e, 0x80,
+	0x31, 0xca, 0x04, 0x2a, 0x93, 0x9e, 0x9f, 0x93, 0x98, 0x97, 0xae, 0x97, 0x5f, 0x94, 0xae, 0x9f,
+	0x9e, 0x9a, 0x07, 0x76, 0x8c, 0x3e, 0x44, 0x2a, 0xb1, 0x20, 0xb3, 0x18, 0xe1, 0x4e, 0x6b, 0x10,
+	0xf1, 0x83, 0x91, 0x71, 0x11, 0x13, 0xb3, 0x7b, 0x48, 0x40, 0x12, 0x1b, 0x58, 0xa5, 0x31, 0x20,
+	0x00, 0x00, 0xff, 0xff, 0x84, 0x95, 0xf3, 0x4c, 0xd0, 0x00, 0x00, 0x00,
 }
diff --git a/googleapis/type/date/date.proto b/googleapis/type/date/date.proto
deleted file mode 100644
index 7432cf701706a4f7123fa4424705179269ed9ce8..0000000000000000000000000000000000000000
--- a/googleapis/type/date/date.proto
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.type;
-
-option java_multiple_files = true;
-option java_outer_classname = "DateProto";
-option java_package = "com.google.type";
-option objc_class_prefix = "GTP";
-
-
-// Represents a whole calendar date, e.g. date of birth. The time of day and
-// time zone are either specified elsewhere or are not significant. The date
-// is relative to the Proleptic Gregorian Calendar. The day may be 0 to
-// represent a year and month where the day is not significant, e.g. credit card
-// expiration date. The year may be 0 to represent a month and day independent
-// of year, e.g. anniversary date. Related types are [google.type.TimeOfDay][google.type.TimeOfDay]
-// and `google.protobuf.Timestamp`.
-message Date {
-  // Year of date. Must be from 1 to 9999, or 0 if specifying a date without
-  // a year.
-  int32 year = 1;
-
-  // Month of year. Must be from 1 to 12.
-  int32 month = 2;
-
-  // Day of month. Must be from 1 to 31 and valid for the year and month, or 0
-  // if specifying a year/month where the day is not significant.
-  int32 day = 3;
-}
diff --git a/googleapis/type/dayofweek/dayofweek.pb.go b/googleapis/type/dayofweek/dayofweek.pb.go
index a83dc16d539c2a67c9bd62093ffc2087ca9ebbe1..77803c1f87f0aa7f3e86e17f789d503189abb366 100644
--- a/googleapis/type/dayofweek/dayofweek.pb.go
+++ b/googleapis/type/dayofweek/dayofweek.pb.go
@@ -1,16 +1,16 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/type/dayofweek/dayofweek.proto
+// source: google/type/dayofweek.proto
 // DO NOT EDIT!
 
 /*
-Package google_type is a generated protocol buffer package.
+Package dayofweek is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/type/dayofweek/dayofweek.proto
+	google/type/dayofweek.proto
 
 It has these top-level messages:
 */
-package google_type // import "google.golang.org/genproto/googleapis/type/dayofweek"
+package dayofweek
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -79,25 +79,23 @@ func init() {
 	proto.RegisterEnum("google.type.DayOfWeek", DayOfWeek_name, DayOfWeek_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/type/dayofweek/dayofweek.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/type/dayofweek.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 228 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x72, 0x49, 0xcf, 0xcf, 0x4f,
-	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
-	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x97, 0x54,
-	0x16, 0xa4, 0xea, 0xa7, 0x24, 0x56, 0xe6, 0xa7, 0x95, 0xa7, 0xa6, 0x66, 0x23, 0x58, 0x7a, 0x60,
-	0x95, 0x42, 0xdc, 0x50, 0x53, 0x40, 0xca, 0xb4, 0x5a, 0x18, 0xb9, 0x38, 0x5d, 0x12, 0x2b, 0xfd,
-	0xd3, 0xc2, 0x53, 0x53, 0xb3, 0x85, 0xa4, 0xb9, 0xc4, 0x5d, 0x1c, 0x23, 0xe3, 0xfd, 0xdd, 0xe2,
-	0xc3, 0x5d, 0x5d, 0xbd, 0xe3, 0x43, 0xfd, 0x82, 0x03, 0x5c, 0x9d, 0x3d, 0xdd, 0x3c, 0x5d, 0x5d,
-	0x04, 0x18, 0x84, 0xb8, 0xb8, 0xd8, 0x7c, 0xfd, 0xfd, 0x5c, 0x1c, 0x23, 0x05, 0x18, 0x85, 0xb8,
-	0xb9, 0xd8, 0x43, 0x42, 0x5d, 0x83, 0x41, 0x1c, 0x26, 0x21, 0x5e, 0x2e, 0xce, 0x70, 0x57, 0x17,
-	0x3f, 0x08, 0x97, 0x59, 0x88, 0x87, 0x8b, 0x23, 0xc4, 0x23, 0x34, 0x08, 0xcc, 0x63, 0x01, 0xe9,
-	0x72, 0x0b, 0xf2, 0x04, 0xb1, 0x59, 0x41, 0x32, 0xc1, 0x8e, 0x21, 0xa1, 0x41, 0x20, 0x1e, 0x1b,
-	0x48, 0x26, 0x38, 0x14, 0x6c, 0x1e, 0xbb, 0x93, 0x26, 0x17, 0x7f, 0x72, 0x7e, 0xae, 0x1e, 0x92,
-	0xcb, 0x9c, 0xf8, 0xe0, 0xce, 0x0a, 0x00, 0x39, 0x3b, 0x80, 0x71, 0x11, 0x13, 0xb3, 0x7b, 0x48,
-	0x40, 0x12, 0x1b, 0xd8, 0x17, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x25, 0x8e, 0xb4, 0xe7,
-	0x0d, 0x01, 0x00, 0x00,
+	// 235 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x2f, 0xa9, 0x2c, 0x48, 0xd5, 0x4f, 0x49, 0xac, 0xcc, 0x4f, 0x2b, 0x4f, 0x4d,
+	0xcd, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x86, 0x48, 0xea, 0x81, 0x24, 0xb5, 0x5a,
+	0x18, 0xb9, 0x38, 0x5d, 0x12, 0x2b, 0xfd, 0xd3, 0xc2, 0x53, 0x53, 0xb3, 0x85, 0xa4, 0xb9, 0xc4,
+	0x5d, 0x1c, 0x23, 0xe3, 0xfd, 0xdd, 0xe2, 0xc3, 0x5d, 0x5d, 0xbd, 0xe3, 0x43, 0xfd, 0x82, 0x03,
+	0x5c, 0x9d, 0x3d, 0xdd, 0x3c, 0x5d, 0x5d, 0x04, 0x18, 0x84, 0xb8, 0xb8, 0xd8, 0x7c, 0xfd, 0xfd,
+	0x5c, 0x1c, 0x23, 0x05, 0x18, 0x85, 0xb8, 0xb9, 0xd8, 0x43, 0x42, 0x5d, 0x83, 0x41, 0x1c, 0x26,
+	0x21, 0x5e, 0x2e, 0xce, 0x70, 0x57, 0x17, 0x3f, 0x08, 0x97, 0x59, 0x88, 0x87, 0x8b, 0x23, 0xc4,
+	0x23, 0x34, 0x08, 0xcc, 0x63, 0x01, 0xe9, 0x72, 0x0b, 0xf2, 0x04, 0xb1, 0x59, 0x41, 0x32, 0xc1,
+	0x8e, 0x21, 0xa1, 0x41, 0x20, 0x1e, 0x1b, 0x48, 0x26, 0x38, 0x14, 0x6c, 0x1e, 0xbb, 0x53, 0x26,
+	0x17, 0x7f, 0x72, 0x7e, 0xae, 0x1e, 0x92, 0xcb, 0x9c, 0xf8, 0xe0, 0xce, 0x0a, 0x00, 0x39, 0x3b,
+	0x80, 0x31, 0xca, 0x0e, 0x2a, 0x9d, 0x9e, 0x9f, 0x93, 0x98, 0x97, 0xae, 0x97, 0x5f, 0x94, 0xae,
+	0x9f, 0x9e, 0x9a, 0x07, 0xf6, 0x94, 0x3e, 0x44, 0x2a, 0xb1, 0x20, 0xb3, 0x18, 0xcd, 0xd3, 0xd6,
+	0x70, 0xd6, 0x22, 0x26, 0x66, 0xf7, 0x90, 0x80, 0x24, 0x36, 0xb0, 0x06, 0x63, 0x40, 0x00, 0x00,
+	0x00, 0xff, 0xff, 0x6e, 0x23, 0xb2, 0xb3, 0x24, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/type/dayofweek/dayofweek.proto b/googleapis/type/dayofweek/dayofweek.proto
deleted file mode 100644
index dee1692fb013933a12ff2cdd87c271b5bed35949..0000000000000000000000000000000000000000
--- a/googleapis/type/dayofweek/dayofweek.proto
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.type;
-
-option java_multiple_files = true;
-option java_outer_classname = "DayOfWeekProto";
-option java_package = "com.google.type";
-option objc_class_prefix = "GTP";
-
-
-// Represents a day of week.
-enum DayOfWeek {
-  // The unspecified day-of-week.
-  DAY_OF_WEEK_UNSPECIFIED = 0;
-
-  // The day-of-week of Monday.
-  MONDAY = 1;
-
-  // The day-of-week of Tuesday.
-  TUESDAY = 2;
-
-  // The day-of-week of Wednesday.
-  WEDNESDAY = 3;
-
-  // The day-of-week of Thursday.
-  THURSDAY = 4;
-
-  // The day-of-week of Friday.
-  FRIDAY = 5;
-
-  // The day-of-week of Saturday.
-  SATURDAY = 6;
-
-  // The day-of-week of Sunday.
-  SUNDAY = 7;
-}
diff --git a/googleapis/type/latlng/latlng.pb.go b/googleapis/type/latlng/latlng.pb.go
index 56c314586fda8a50b321ae13e40ddba0543e6bea..82229f02a4442ebb89c87ffd7c105825d2e690d7 100644
--- a/googleapis/type/latlng/latlng.pb.go
+++ b/googleapis/type/latlng/latlng.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/type/latlng/latlng.proto
+// source: google/type/latlng.proto
 // DO NOT EDIT!
 
 /*
-Package google_type is a generated protocol buffer package.
+Package latlng is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/type/latlng/latlng.proto
+	google/type/latlng.proto
 
 It has these top-level messages:
 	LatLng
 */
-package google_type // import "google.golang.org/genproto/googleapis/type/latlng"
+package latlng
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -45,7 +45,7 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 //
 //     def NormalizeLatLng(latitude, longitude):
 //       """Wraps decimal degrees latitude and longitude to
-//       [-180.0, 180.0] and [-90.0, 90.0], respectively."""
+//       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
 //       r = latitude % 360.0
 //       if r <= 90.0:
 //         return r, NormalizeLongitude(longitude)
@@ -79,24 +79,37 @@ func (m *LatLng) String() string            { return proto.CompactTextString(m)
 func (*LatLng) ProtoMessage()               {}
 func (*LatLng) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
-func init() {
-	proto.RegisterType((*LatLng)(nil), "google.type.LatLng")
+func (m *LatLng) GetLatitude() float64 {
+	if m != nil {
+		return m.Latitude
+	}
+	return 0
+}
+
+func (m *LatLng) GetLongitude() float64 {
+	if m != nil {
+		return m.Longitude
+	}
+	return 0
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/type/latlng/latlng.proto", fileDescriptor0)
+	proto.RegisterType((*LatLng)(nil), "google.type.LatLng")
 }
 
+func init() { proto.RegisterFile("google/type/latlng.proto", fileDescriptor0) }
+
 var fileDescriptor0 = []byte{
-	// 158 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xb2, 0x4b, 0xcf, 0xcf, 0x4f,
-	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
-	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x97, 0x54,
-	0x16, 0xa4, 0xea, 0xe7, 0x24, 0x96, 0xe4, 0xe4, 0xa5, 0x43, 0x29, 0x3d, 0xb0, 0x1a, 0x21, 0x6e,
-	0xa8, 0x7e, 0x90, 0x02, 0x25, 0x27, 0x2e, 0x36, 0x9f, 0xc4, 0x12, 0x9f, 0xbc, 0x74, 0x21, 0x29,
-	0x2e, 0x8e, 0x9c, 0xc4, 0x92, 0xcc, 0x92, 0xd2, 0x94, 0x54, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xc6,
-	0x20, 0x38, 0x5f, 0x48, 0x86, 0x8b, 0x33, 0x27, 0x3f, 0x2f, 0x1d, 0x22, 0xc9, 0x04, 0x96, 0x44,
-	0x08, 0x38, 0xa9, 0x71, 0xf1, 0x27, 0xe7, 0xe7, 0xea, 0x21, 0x19, 0xeb, 0xc4, 0x0d, 0x31, 0x34,
-	0x00, 0x64, 0x61, 0x00, 0xe3, 0x22, 0x26, 0x66, 0xf7, 0x90, 0x80, 0x24, 0x36, 0xb0, 0xfd, 0xc6,
-	0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdf, 0x6e, 0x2a, 0x09, 0xc1, 0x00, 0x00, 0x00,
+	// 165 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x48, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x2f, 0xa9, 0x2c, 0x48, 0xd5, 0xcf, 0x49, 0x2c, 0xc9, 0xc9, 0x4b, 0xd7, 0x2b,
+	0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x86, 0xc8, 0xe8, 0x81, 0x64, 0x94, 0x9c, 0xb8, 0xd8, 0x7c,
+	0x12, 0x4b, 0x7c, 0xf2, 0xd2, 0x85, 0xa4, 0xb8, 0x38, 0x72, 0x12, 0x4b, 0x32, 0x4b, 0x4a, 0x53,
+	0x52, 0x25, 0x18, 0x15, 0x18, 0x35, 0x18, 0x83, 0xe0, 0x7c, 0x21, 0x19, 0x2e, 0xce, 0x9c, 0xfc,
+	0xbc, 0x74, 0x88, 0x24, 0x13, 0x58, 0x12, 0x21, 0xe0, 0x94, 0xc0, 0xc5, 0x9f, 0x9c, 0x9f, 0xab,
+	0x87, 0x64, 0xac, 0x13, 0x37, 0xc4, 0xd0, 0x00, 0x90, 0x85, 0x01, 0x8c, 0x51, 0x16, 0x50, 0xb9,
+	0xf4, 0xfc, 0x9c, 0xc4, 0xbc, 0x74, 0xbd, 0xfc, 0xa2, 0x74, 0xfd, 0xf4, 0xd4, 0x3c, 0xb0, 0x73,
+	0xf4, 0x21, 0x52, 0x89, 0x05, 0x99, 0xc5, 0xc8, 0x6e, 0xb5, 0x86, 0x50, 0x8b, 0x98, 0x98, 0xdd,
+	0x43, 0x02, 0x92, 0xd8, 0xc0, 0x4a, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x69, 0x12, 0x54,
+	0x1c, 0xd5, 0x00, 0x00, 0x00,
 }
diff --git a/googleapis/type/latlng/latlng.proto b/googleapis/type/latlng/latlng.proto
deleted file mode 100644
index 378ac89893b6261a91789fbd2618ff7842b972b8..0000000000000000000000000000000000000000
--- a/googleapis/type/latlng/latlng.proto
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.type;
-
-option java_multiple_files = true;
-option java_outer_classname = "LatLngProto";
-option java_package = "com.google.type";
-option objc_class_prefix = "GTP";
-
-
-// An object representing a latitude/longitude pair. This is expressed as a pair
-// of doubles representing degrees latitude and degrees longitude. Unless
-// specified otherwise, this must conform to the
-// <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
-// standard</a>. Values must be within normalized ranges.
-//
-// Example of normalization code in Python:
-//
-//     def NormalizeLongitude(longitude):
-//       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
-//       q, r = divmod(longitude, 360.0)
-//       if r > 180.0 or (r == 180.0 and q <= -1.0):
-//         return r - 360.0
-//       return r
-//
-//     def NormalizeLatLng(latitude, longitude):
-//       """Wraps decimal degrees latitude and longitude to
-//       [-180.0, 180.0] and [-90.0, 90.0], respectively."""
-//       r = latitude % 360.0
-//       if r <= 90.0:
-//         return r, NormalizeLongitude(longitude)
-//       elif r >= 270.0:
-//         return r - 360, NormalizeLongitude(longitude)
-//       else:
-//         return 180 - r, NormalizeLongitude(longitude + 180.0)
-//
-//     assert 180.0 == NormalizeLongitude(180.0)
-//     assert -180.0 == NormalizeLongitude(-180.0)
-//     assert -179.0 == NormalizeLongitude(181.0)
-//     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
-//     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
-//     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
-//     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
-//     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
-//     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
-//     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
-//     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
-//     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
-//     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
-message LatLng {
-  // The latitude in degrees. It must be in the range [-90.0, +90.0].
-  double latitude = 1;
-
-  // The longitude in degrees. It must be in the range [-180.0, +180.0].
-  double longitude = 2;
-}
diff --git a/googleapis/type/money/money.pb.go b/googleapis/type/money/money.pb.go
index 830ff4d08ffce8c28a6fee02db4792c7ce9d269f..5013df67ff5c9b781b366802437722e336bd55fd 100644
--- a/googleapis/type/money/money.pb.go
+++ b/googleapis/type/money/money.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/type/money/money.proto
+// source: google/type/money.proto
 // DO NOT EDIT!
 
 /*
-Package google_type is a generated protocol buffer package.
+Package money is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/type/money/money.proto
+	google/type/money.proto
 
 It has these top-level messages:
 	Money
 */
-package google_type // import "google.golang.org/genproto/googleapis/type/money"
+package money
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -49,26 +49,45 @@ func (m *Money) String() string            { return proto.CompactTextString(m) }
 func (*Money) ProtoMessage()               {}
 func (*Money) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
-func init() {
-	proto.RegisterType((*Money)(nil), "google.type.Money")
+func (m *Money) GetCurrencyCode() string {
+	if m != nil {
+		return m.CurrencyCode
+	}
+	return ""
+}
+
+func (m *Money) GetUnits() int64 {
+	if m != nil {
+		return m.Units
+	}
+	return 0
+}
+
+func (m *Money) GetNanos() int32 {
+	if m != nil {
+		return m.Nanos
+	}
+	return 0
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/type/money/money.proto", fileDescriptor0)
+	proto.RegisterType((*Money)(nil), "google.type.Money")
 }
 
+func init() { proto.RegisterFile("google/type/money.proto", fileDescriptor0) }
+
 var fileDescriptor0 = []byte{
-	// 183 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xb2, 0x49, 0xcf, 0xcf, 0x4f,
-	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
-	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x97, 0x54,
-	0x16, 0xa4, 0xea, 0xe7, 0xe6, 0xe7, 0xa5, 0x56, 0x42, 0x48, 0x3d, 0xb0, 0x0a, 0x21, 0x6e, 0xa8,
-	0x6e, 0x90, 0xb4, 0x52, 0x04, 0x17, 0xab, 0x2f, 0x48, 0x4e, 0x48, 0x99, 0x8b, 0x37, 0xb9, 0xb4,
-	0xa8, 0x28, 0x35, 0x2f, 0xb9, 0x32, 0x3e, 0x39, 0x3f, 0x25, 0x55, 0x82, 0x51, 0x81, 0x51, 0x83,
-	0x33, 0x88, 0x07, 0x26, 0xe8, 0x9c, 0x9f, 0x92, 0x2a, 0x24, 0xc2, 0xc5, 0x5a, 0x9a, 0x97, 0x59,
-	0x52, 0x2c, 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, 0x1c, 0x04, 0xe1, 0x80, 0x44, 0xf3, 0x12, 0xf3, 0xf2,
-	0x8b, 0x25, 0x98, 0x15, 0x18, 0x35, 0x58, 0x83, 0x20, 0x1c, 0x27, 0x55, 0x2e, 0xfe, 0xe4, 0xfc,
-	0x5c, 0x3d, 0x24, 0xcb, 0x9c, 0xb8, 0xc0, 0x56, 0x05, 0x80, 0x5c, 0x11, 0xc0, 0xb8, 0x88, 0x89,
-	0xd9, 0x3d, 0x24, 0x20, 0x89, 0x0d, 0xec, 0x28, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x10,
-	0xfa, 0x29, 0x0d, 0xd4, 0x00, 0x00, 0x00,
+	// 190 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4f, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x2f, 0xa9, 0x2c, 0x48, 0xd5, 0xcf, 0xcd, 0xcf, 0x4b, 0xad, 0xd4, 0x2b, 0x28,
+	0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x86, 0x48, 0xe8, 0x81, 0x24, 0x94, 0x22, 0xb8, 0x58, 0x7d, 0x41,
+	0x72, 0x42, 0xca, 0x5c, 0xbc, 0xc9, 0xa5, 0x45, 0x45, 0xa9, 0x79, 0xc9, 0x95, 0xf1, 0xc9, 0xf9,
+	0x29, 0xa9, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0x9c, 0x41, 0x3c, 0x30, 0x41, 0xe7, 0xfc, 0x94, 0x54,
+	0x21, 0x11, 0x2e, 0xd6, 0xd2, 0xbc, 0xcc, 0x92, 0x62, 0x09, 0x26, 0x05, 0x46, 0x0d, 0xe6, 0x20,
+	0x08, 0x07, 0x24, 0x9a, 0x97, 0x98, 0x97, 0x5f, 0x2c, 0xc1, 0xac, 0xc0, 0xa8, 0xc1, 0x1a, 0x04,
+	0xe1, 0x38, 0xc5, 0x72, 0xf1, 0x27, 0xe7, 0xe7, 0xea, 0x21, 0x59, 0xe6, 0xc4, 0x05, 0xb6, 0x2a,
+	0x00, 0xe4, 0x8a, 0x00, 0xc6, 0x28, 0x33, 0xa8, 0x54, 0x7a, 0x7e, 0x4e, 0x62, 0x5e, 0xba, 0x5e,
+	0x7e, 0x51, 0xba, 0x7e, 0x7a, 0x6a, 0x1e, 0xd8, 0x8d, 0xfa, 0x10, 0xa9, 0xc4, 0x82, 0xcc, 0x62,
+	0x24, 0xf7, 0x5b, 0x83, 0xc9, 0x45, 0x4c, 0xcc, 0xee, 0x21, 0x01, 0x49, 0x6c, 0x60, 0x85, 0xc6,
+	0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xbf, 0xc2, 0x5b, 0xa5, 0xe7, 0x00, 0x00, 0x00,
 }
diff --git a/googleapis/type/money/money.proto b/googleapis/type/money/money.proto
deleted file mode 100644
index 372a0af7687526f146645137ce4eee5c7915dcef..0000000000000000000000000000000000000000
--- a/googleapis/type/money/money.proto
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.type;
-
-option java_multiple_files = true;
-option java_outer_classname = "MoneyProto";
-option java_package = "com.google.type";
-option objc_class_prefix = "GTP";
-
-
-// Represents an amount of money with its currency type.
-message Money {
-  // The 3-letter currency code defined in ISO 4217.
-  string currency_code = 1;
-
-  // The whole units of the amount.
-  // For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-  int64 units = 2;
-
-  // Number of nano (10^-9) units of the amount.
-  // The value must be between -999,999,999 and +999,999,999 inclusive.
-  // If `units` is positive, `nanos` must be positive or zero.
-  // If `units` is zero, `nanos` can be positive, zero, or negative.
-  // If `units` is negative, `nanos` must be negative or zero.
-  // For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-  int32 nanos = 3;
-}
diff --git a/googleapis/type/postaladdress/postal_address.pb.go b/googleapis/type/postaladdress/postal_address.pb.go
new file mode 100644
index 0000000000000000000000000000000000000000..747112f3d8b524ec9848aa3947d291ef6e3a124a
--- /dev/null
+++ b/googleapis/type/postaladdress/postal_address.pb.go
@@ -0,0 +1,241 @@
+// Code generated by protoc-gen-go.
+// source: google/type/postal_address.proto
+// DO NOT EDIT!
+
+/*
+Package postaladdress is a generated protocol buffer package.
+
+It is generated from these files:
+	google/type/postal_address.proto
+
+It has these top-level messages:
+	PostalAddress
+*/
+package postaladdress
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+// Represents a postal address, e.g. for postal delivery or payments addresses.
+// Given a postal address, a postal service can deliver items to a premise, P.O.
+// Box or similar.
+// It is not intended to model geographical locations (roads, towns,
+// mountains).
+//
+// In typical usage an address would be created via user input or from importing
+// existing data, depending on the type of process.
+//
+// Advice on address input / editing:
+//  - Use an i18n-ready address widget such as
+//    https://github.com/googlei18n/libaddressinput)
+// - Users should not be presented with UI elements for input or editing of
+//   fields outside countries where that field is used.
+//
+// For more guidance on how to use this schema, please see:
+// https://support.google.com/business/answer/6397478
+type PostalAddress struct {
+	// The schema revision of the `PostalAddress`.
+	// All new revisions **must** be backward compatible with old revisions.
+	Revision int32 `protobuf:"varint,1,opt,name=revision" json:"revision,omitempty"`
+	// Required. CLDR region code of the country/region of the address. This
+	// is never inferred and it is up to the user to ensure the value is
+	// correct. See http://cldr.unicode.org/ and
+	// http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+	// for details. Example: "CH" for Switzerland.
+	RegionCode string `protobuf:"bytes,2,opt,name=region_code,json=regionCode" json:"region_code,omitempty"`
+	// Optional. BCP-47 language code of the contents of this address (if
+	// known). This is often the UI language of the input form or is expected
+	// to match one of the languages used in the address' country/region, or their
+	// transliterated equivalents.
+	// This can affect formatting in certain countries, but is not critical
+	// to the correctness of the data and will never affect any validation or
+	// other non-formatting related operations.
+	//
+	// If this value is not known, it should be omitted (rather than specifying a
+	// possibly incorrect default).
+	//
+	// Examples: "zh-Hant", "ja", "ja-Latn", "en".
+	LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode" json:"language_code,omitempty"`
+	// Optional. Postal code of the address. Not all countries use or require
+	// postal codes to be present, but where they are used, they may trigger
+	// additional validation with other parts of the address (e.g. state/zip
+	// validation in the U.S.A.).
+	PostalCode string `protobuf:"bytes,4,opt,name=postal_code,json=postalCode" json:"postal_code,omitempty"`
+	// Optional. Additional, country-specific, sorting code. This is not used
+	// in most regions. Where it is used, the value is either a string like
+	// "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
+	// alone, representing the "sector code" (Jamaica), "delivery area indicator"
+	// (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
+	SortingCode string `protobuf:"bytes,5,opt,name=sorting_code,json=sortingCode" json:"sorting_code,omitempty"`
+	// Optional. Highest administrative subdivision which is used for postal
+	// addresses of a country or region.
+	// For example, this can be a state, a province, an oblast, or a prefecture.
+	// Specifically, for Spain this is the province and not the autonomous
+	// community (e.g. "Barcelona" and not "Catalonia").
+	// Many countries don't use an administrative area in postal addresses. E.g.
+	// in Switzerland this should be left unpopulated.
+	AdministrativeArea string `protobuf:"bytes,6,opt,name=administrative_area,json=administrativeArea" json:"administrative_area,omitempty"`
+	// Optional. Generally refers to the city/town portion of the address.
+	// Examples: US city, IT comune, UK post town.
+	// In regions of the world where localities are not well defined or do not fit
+	// into this structure well, leave locality empty and use address_lines.
+	Locality string `protobuf:"bytes,7,opt,name=locality" json:"locality,omitempty"`
+	// Optional. Sublocality of the address.
+	// For example, this can be neighborhoods, boroughs, districts.
+	Sublocality string `protobuf:"bytes,8,opt,name=sublocality" json:"sublocality,omitempty"`
+	// Unstructured address lines describing the lower levels of an address.
+	//
+	// Because values in address_lines do not have type information and may
+	// sometimes contain multiple values in a single field (e.g.
+	// "Austin, TX"), it is important that the line order is clear. The order of
+	// address lines should be "envelope order" for the country/region of the
+	// address. In places where this can vary (e.g. Japan), address_language is
+	// used to make it explicit (e.g. "ja" for large-to-small ordering and
+	// "ja-Latn" or "en" for small-to-large). This way, the most specific line of
+	// an address can be selected based on the language.
+	//
+	// The minimum permitted structural representation of an address consists
+	// of a region_code with all remaining information placed in the
+	// address_lines. It would be possible to format such an address very
+	// approximately without geocoding, but no semantic reasoning could be
+	// made about any of the address components until it was at least
+	// partially resolved.
+	//
+	// Creating an address only containing a region_code and address_lines, and
+	// then geocoding is the recommended way to handle completely unstructured
+	// addresses (as opposed to guessing which parts of the address should be
+	// localities or administrative areas).
+	AddressLines []string `protobuf:"bytes,9,rep,name=address_lines,json=addressLines" json:"address_lines,omitempty"`
+	// Optional. The recipient at the address.
+	// This field may, under certain circumstances, contain multiline information.
+	// For example, it might contain "care of" information.
+	Recipients []string `protobuf:"bytes,10,rep,name=recipients" json:"recipients,omitempty"`
+	// Optional. The name of the organization at the address.
+	Organization string `protobuf:"bytes,11,opt,name=organization" json:"organization,omitempty"`
+}
+
+func (m *PostalAddress) Reset()                    { *m = PostalAddress{} }
+func (m *PostalAddress) String() string            { return proto.CompactTextString(m) }
+func (*PostalAddress) ProtoMessage()               {}
+func (*PostalAddress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func (m *PostalAddress) GetRevision() int32 {
+	if m != nil {
+		return m.Revision
+	}
+	return 0
+}
+
+func (m *PostalAddress) GetRegionCode() string {
+	if m != nil {
+		return m.RegionCode
+	}
+	return ""
+}
+
+func (m *PostalAddress) GetLanguageCode() string {
+	if m != nil {
+		return m.LanguageCode
+	}
+	return ""
+}
+
+func (m *PostalAddress) GetPostalCode() string {
+	if m != nil {
+		return m.PostalCode
+	}
+	return ""
+}
+
+func (m *PostalAddress) GetSortingCode() string {
+	if m != nil {
+		return m.SortingCode
+	}
+	return ""
+}
+
+func (m *PostalAddress) GetAdministrativeArea() string {
+	if m != nil {
+		return m.AdministrativeArea
+	}
+	return ""
+}
+
+func (m *PostalAddress) GetLocality() string {
+	if m != nil {
+		return m.Locality
+	}
+	return ""
+}
+
+func (m *PostalAddress) GetSublocality() string {
+	if m != nil {
+		return m.Sublocality
+	}
+	return ""
+}
+
+func (m *PostalAddress) GetAddressLines() []string {
+	if m != nil {
+		return m.AddressLines
+	}
+	return nil
+}
+
+func (m *PostalAddress) GetRecipients() []string {
+	if m != nil {
+		return m.Recipients
+	}
+	return nil
+}
+
+func (m *PostalAddress) GetOrganization() string {
+	if m != nil {
+		return m.Organization
+	}
+	return ""
+}
+
+func init() {
+	proto.RegisterType((*PostalAddress)(nil), "google.type.PostalAddress")
+}
+
+func init() { proto.RegisterFile("google/type/postal_address.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 338 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x92, 0x31, 0x6f, 0xea, 0x30,
+	0x10, 0xc7, 0x15, 0xf2, 0xe0, 0xc1, 0x05, 0xf4, 0x24, 0xbf, 0x25, 0xea, 0x50, 0x52, 0xba, 0x30,
+	0x25, 0x43, 0xc7, 0x4e, 0x50, 0xa9, 0x5d, 0x3a, 0x44, 0xa8, 0x53, 0x97, 0xc8, 0x24, 0x27, 0xcb,
+	0x52, 0xf0, 0x45, 0xb6, 0x41, 0xa2, 0xdf, 0xa1, 0x5f, 0xa2, 0x9f, 0xb4, 0xb2, 0x9d, 0xd2, 0x30,
+	0xde, 0xef, 0x7e, 0x49, 0xee, 0xee, 0x1f, 0xc8, 0x04, 0x91, 0x68, 0xb1, 0xb0, 0xe7, 0x0e, 0x8b,
+	0x8e, 0x8c, 0xe5, 0x6d, 0xc5, 0x9b, 0x46, 0xa3, 0x31, 0x79, 0xa7, 0xc9, 0x12, 0x4b, 0x82, 0x91,
+	0x3b, 0x63, 0xf5, 0x19, 0xc3, 0xa2, 0xf4, 0xd6, 0x26, 0x48, 0xec, 0x06, 0xa6, 0x1a, 0x4f, 0xd2,
+	0x48, 0x52, 0x69, 0x94, 0x45, 0xeb, 0xf1, 0xee, 0x52, 0xb3, 0x25, 0x24, 0x1a, 0x85, 0x24, 0x55,
+	0xd5, 0xd4, 0x60, 0x3a, 0xca, 0xa2, 0xf5, 0x6c, 0x07, 0x01, 0x3d, 0x51, 0x83, 0xec, 0x1e, 0x16,
+	0x2d, 0x57, 0xe2, 0xc8, 0x05, 0x06, 0x25, 0xf6, 0xca, 0xfc, 0x07, 0x7a, 0x69, 0x09, 0x49, 0x3f,
+	0x98, 0x57, 0xfe, 0x84, 0xb7, 0x04, 0xe4, 0x85, 0x3b, 0x98, 0x1b, 0xd2, 0x56, 0x2a, 0x11, 0x8c,
+	0xb1, 0x37, 0x92, 0x9e, 0x79, 0xa5, 0x80, 0xff, 0xbc, 0x39, 0x48, 0x25, 0x8d, 0xd5, 0xdc, 0xca,
+	0x13, 0x56, 0x5c, 0x23, 0x4f, 0x27, 0xde, 0x64, 0xd7, 0xad, 0x8d, 0x46, 0xee, 0xd6, 0x6a, 0xa9,
+	0xe6, 0xad, 0xb4, 0xe7, 0xf4, 0xaf, 0xb7, 0x2e, 0x35, 0xcb, 0x20, 0x31, 0xc7, 0xfd, 0xa5, 0x3d,
+	0xed, 0x3f, 0xf7, 0x8b, 0xdc, 0x5e, 0xfd, 0x11, 0xab, 0x56, 0x2a, 0x34, 0xe9, 0x2c, 0x8b, 0xdd,
+	0x5e, 0x3d, 0x7c, 0x75, 0x8c, 0xdd, 0x02, 0x68, 0xac, 0x65, 0x27, 0x51, 0x59, 0x93, 0x82, 0x37,
+	0x06, 0x84, 0xad, 0x60, 0x4e, 0x5a, 0x70, 0x25, 0x3f, 0xb8, 0x75, 0xd7, 0x4d, 0xc2, 0x6d, 0x86,
+	0x6c, 0x7b, 0x84, 0x7f, 0x35, 0x1d, 0xf2, 0x41, 0x44, 0x5b, 0x76, 0x95, 0x4f, 0xe9, 0x32, 0x2c,
+	0xa3, 0xf7, 0xe7, 0x5e, 0x11, 0xe4, 0x6e, 0x9b, 0x93, 0x16, 0x85, 0x40, 0xe5, 0x13, 0x2e, 0x42,
+	0x8b, 0x77, 0xd2, 0x0c, 0x7f, 0x83, 0x7e, 0xd6, 0xc7, 0xab, 0xea, 0x6b, 0x14, 0xbf, 0xbc, 0x95,
+	0xfb, 0x89, 0x7f, 0xf0, 0xe1, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xda, 0x86, 0xd3, 0x22, 0x3e, 0x02,
+	0x00, 0x00,
+}
diff --git a/googleapis/type/timeofday/timeofday.pb.go b/googleapis/type/timeofday/timeofday.pb.go
index 34596bc00853495ce68b9995ee0795221b6892e7..7c1e7434f2ca8ebd08ccee3a142a3c2815bc4524 100644
--- a/googleapis/type/timeofday/timeofday.pb.go
+++ b/googleapis/type/timeofday/timeofday.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/type/timeofday/timeofday.proto
+// source: google/type/timeofday.proto
 // DO NOT EDIT!
 
 /*
-Package google_type is a generated protocol buffer package.
+Package timeofday is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/type/timeofday/timeofday.proto
+	google/type/timeofday.proto
 
 It has these top-level messages:
 	TimeOfDay
 */
-package google_type // import "google.golang.org/genproto/googleapis/type/timeofday"
+package timeofday
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -49,26 +49,53 @@ func (m *TimeOfDay) String() string            { return proto.CompactTextString(
 func (*TimeOfDay) ProtoMessage()               {}
 func (*TimeOfDay) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
-func init() {
-	proto.RegisterType((*TimeOfDay)(nil), "google.type.TimeOfDay")
+func (m *TimeOfDay) GetHours() int32 {
+	if m != nil {
+		return m.Hours
+	}
+	return 0
+}
+
+func (m *TimeOfDay) GetMinutes() int32 {
+	if m != nil {
+		return m.Minutes
+	}
+	return 0
+}
+
+func (m *TimeOfDay) GetSeconds() int32 {
+	if m != nil {
+		return m.Seconds
+	}
+	return 0
+}
+
+func (m *TimeOfDay) GetNanos() int32 {
+	if m != nil {
+		return m.Nanos
+	}
+	return 0
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/type/timeofday/timeofday.proto", fileDescriptor0)
+	proto.RegisterType((*TimeOfDay)(nil), "google.type.TimeOfDay")
 }
 
+func init() { proto.RegisterFile("google/type/timeofday.proto", fileDescriptor0) }
+
 var fileDescriptor0 = []byte{
-	// 191 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x72, 0x49, 0xcf, 0xcf, 0x4f,
-	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
-	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x97, 0x54,
-	0x16, 0xa4, 0xea, 0x97, 0x64, 0xe6, 0xa6, 0xe6, 0xa7, 0xa5, 0x24, 0x56, 0x22, 0x58, 0x7a, 0x60,
-	0x95, 0x42, 0xdc, 0x50, 0x53, 0x40, 0xca, 0x94, 0xb2, 0xb9, 0x38, 0x43, 0x32, 0x73, 0x53, 0xfd,
-	0xd3, 0x5c, 0x12, 0x2b, 0x85, 0x44, 0xb8, 0x58, 0x33, 0xf2, 0x4b, 0x8b, 0x8a, 0x25, 0x18, 0x15,
-	0x18, 0x35, 0x58, 0x83, 0x20, 0x1c, 0x21, 0x09, 0x2e, 0xf6, 0xdc, 0xcc, 0xbc, 0xd2, 0x92, 0xd4,
-	0x62, 0x09, 0x26, 0xb0, 0x38, 0x8c, 0x0b, 0x92, 0x29, 0x4e, 0x4d, 0xce, 0xcf, 0x4b, 0x29, 0x96,
-	0x60, 0x86, 0xc8, 0x40, 0xb9, 0x20, 0x93, 0xf2, 0x12, 0xf3, 0xf2, 0x8b, 0x25, 0x58, 0x20, 0x26,
-	0x81, 0x39, 0x4e, 0x9a, 0x5c, 0xfc, 0xc9, 0xf9, 0xb9, 0x7a, 0x48, 0xf6, 0x3b, 0xf1, 0xc1, 0x6d,
-	0x0f, 0x00, 0x39, 0x2e, 0x80, 0x71, 0x11, 0x13, 0xb3, 0x7b, 0x48, 0x40, 0x12, 0x1b, 0xd8, 0xad,
-	0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x92, 0x39, 0x10, 0xf3, 0x00, 0x00, 0x00,
+	// 198 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x2f, 0xa9, 0x2c, 0x48, 0xd5, 0x2f, 0xc9, 0xcc, 0x4d, 0xcd, 0x4f, 0x4b, 0x49,
+	0xac, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x86, 0x48, 0xea, 0x81, 0x24, 0x95, 0xb2,
+	0xb9, 0x38, 0x43, 0x32, 0x73, 0x53, 0xfd, 0xd3, 0x5c, 0x12, 0x2b, 0x85, 0x44, 0xb8, 0x58, 0x33,
+	0xf2, 0x4b, 0x8b, 0x8a, 0x25, 0x18, 0x15, 0x18, 0x35, 0x58, 0x83, 0x20, 0x1c, 0x21, 0x09, 0x2e,
+	0xf6, 0xdc, 0xcc, 0xbc, 0xd2, 0x92, 0xd4, 0x62, 0x09, 0x26, 0xb0, 0x38, 0x8c, 0x0b, 0x92, 0x29,
+	0x4e, 0x4d, 0xce, 0xcf, 0x4b, 0x29, 0x96, 0x60, 0x86, 0xc8, 0x40, 0xb9, 0x20, 0x93, 0xf2, 0x12,
+	0xf3, 0xf2, 0x8b, 0x25, 0x58, 0x20, 0x26, 0x81, 0x39, 0x4e, 0x99, 0x5c, 0xfc, 0xc9, 0xf9, 0xb9,
+	0x7a, 0x48, 0xf6, 0x3b, 0xf1, 0xc1, 0x6d, 0x0f, 0x00, 0x39, 0x2e, 0x80, 0x31, 0xca, 0x0e, 0x2a,
+	0x9d, 0x9e, 0x9f, 0x93, 0x98, 0x97, 0xae, 0x97, 0x5f, 0x94, 0xae, 0x9f, 0x9e, 0x9a, 0x07, 0x76,
+	0xba, 0x3e, 0x44, 0x2a, 0xb1, 0x20, 0xb3, 0x18, 0xcd, 0x6b, 0xd6, 0x70, 0xd6, 0x22, 0x26, 0x66,
+	0xf7, 0x90, 0x80, 0x24, 0x36, 0xb0, 0x06, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x47, 0x79,
+	0x6a, 0x06, 0x0a, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/type/timeofday/timeofday.proto b/googleapis/type/timeofday/timeofday.proto
deleted file mode 100644
index d5a77c9c120b9bf7808a33c70a062d2201e107c9..0000000000000000000000000000000000000000
--- a/googleapis/type/timeofday/timeofday.proto
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (c) 2015, Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.type;
-
-option java_multiple_files = true;
-option java_outer_classname = "TimeOfDayProto";
-option java_package = "com.google.type";
-option objc_class_prefix = "GTP";
-
-
-// Represents a time of day. The date and time zone are either not significant
-// or are specified elsewhere. An API may chose to allow leap seconds. Related
-// types are [google.type.Date][google.type.Date] and `google.protobuf.Timestamp`.
-message TimeOfDay {
-  // Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-  // to allow the value "24:00:00" for scenarios like business closing time.
-  int32 hours = 1;
-
-  // Minutes of hour of day. Must be from 0 to 59.
-  int32 minutes = 2;
-
-  // Seconds of minutes of the time. Must normally be from 0 to 59. An API may
-  // allow the value 60 if it allows leap-seconds.
-  int32 seconds = 3;
-
-  // Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-  int32 nanos = 4;
-}
diff --git a/protobuf/api.proto b/protobuf/api.proto
deleted file mode 100644
index 13318cabb18bba9fff4fe3bb9f9e29526161245a..0000000000000000000000000000000000000000
--- a/protobuf/api.proto
+++ /dev/null
@@ -1,201 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc.  All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-syntax = "proto3";
-
-package google.protobuf;
-
-import "google.golang.org/genproto/protobuf/source_context.proto"; // from google/protobuf/source_context.proto
-import "google.golang.org/genproto/protobuf/type.proto"; // from google/protobuf/type.proto
-
-option csharp_namespace = "Google.Protobuf.WellKnownTypes";
-option java_package = "com.google.protobuf";
-option java_outer_classname = "ApiProto";
-option java_multiple_files = true;
-option objc_class_prefix = "GPB";
-
-// Api is a light-weight descriptor for a protocol buffer service.
-message Api {
-
-  // The fully qualified name of this api, including package name
-  // followed by the api's simple name.
-  string name = 1;
-
-  // The methods of this api, in unspecified order.
-  repeated Method methods = 2;
-
-  // Any metadata attached to the API.
-  repeated Option options = 3;
-
-  // A version string for this api. If specified, must have the form
-  // `major-version.minor-version`, as in `1.10`. If the minor version
-  // is omitted, it defaults to zero. If the entire version field is
-  // empty, the major version is derived from the package name, as
-  // outlined below. If the field is not empty, the version in the
-  // package name will be verified to be consistent with what is
-  // provided here.
-  //
-  // The versioning schema uses [semantic
-  // versioning](http://semver.org) where the major version number
-  // indicates a breaking change and the minor version an additive,
-  // non-breaking change. Both version numbers are signals to users
-  // what to expect from different versions, and should be carefully
-  // chosen based on the product plan.
-  //
-  // The major version is also reflected in the package name of the
-  // API, which must end in `v<major-version>`, as in
-  // `google.feature.v1`. For major versions 0 and 1, the suffix can
-  // be omitted. Zero major versions must only be used for
-  // experimental, none-GA apis.
-  //
-  //
-  string version = 4;
-
-  // Source context for the protocol buffer service represented by this
-  // message.
-  SourceContext source_context = 5;
-
-  // Included APIs. See [Mixin][].
-  repeated Mixin mixins = 6;
-
-  // The source syntax of the service.
-  Syntax syntax = 7;
-}
-
-// Method represents a method of an api.
-message Method {
-
-  // The simple name of this method.
-  string name = 1;
-
-  // A URL of the input message type.
-  string request_type_url = 2;
-
-  // If true, the request is streamed.
-  bool request_streaming = 3;
-
-  // The URL of the output message type.
-  string response_type_url = 4;
-
-  // If true, the response is streamed.
-  bool response_streaming = 5;
-
-  // Any metadata attached to the method.
-  repeated Option options = 6;
-
-  // The source syntax of this method.
-  Syntax syntax = 7;
-}
-
-// Declares an API to be included in this API. The including API must
-// redeclare all the methods from the included API, but documentation
-// and options are inherited as follows:
-//
-// - If after comment and whitespace stripping, the documentation
-//   string of the redeclared method is empty, it will be inherited
-//   from the original method.
-//
-// - Each annotation belonging to the service config (http,
-//   visibility) which is not set in the redeclared method will be
-//   inherited.
-//
-// - If an http annotation is inherited, the path pattern will be
-//   modified as follows. Any version prefix will be replaced by the
-//   version of the including API plus the [root][] path if specified.
-//
-// Example of a simple mixin:
-//
-//     package google.acl.v1;
-//     service AccessControl {
-//       // Get the underlying ACL object.
-//       rpc GetAcl(GetAclRequest) returns (Acl) {
-//         option (google.api.http).get = "/v1/{resource=**}:getAcl";
-//       }
-//     }
-//
-//     package google.storage.v2;
-//     service Storage {
-//       rpc GetAcl(GetAclRequest) returns (Acl);
-//
-//       // Get a data record.
-//       rpc GetData(GetDataRequest) returns (Data) {
-//         option (google.api.http).get = "/v2/{resource=**}";
-//       }
-//     }
-//
-// Example of a mixin configuration:
-//
-//     apis:
-//     - name: google.storage.v2.Storage
-//       mixins:
-//       - name: google.acl.v1.AccessControl
-//
-// The mixin construct implies that all methods in `AccessControl` are
-// also declared with same name and request/response types in
-// `Storage`. A documentation generator or annotation processor will
-// see the effective `Storage.GetAcl` method after inherting
-// documentation and annotations as follows:
-//
-//     service Storage {
-//       // Get the underlying ACL object.
-//       rpc GetAcl(GetAclRequest) returns (Acl) {
-//         option (google.api.http).get = "/v2/{resource=**}:getAcl";
-//       }
-//       ...
-//     }
-//
-// Note how the version in the path pattern changed from `v1` to `v2`.
-//
-// If the `root` field in the mixin is specified, it should be a
-// relative path under which inherited HTTP paths are placed. Example:
-//
-//     apis:
-//     - name: google.storage.v2.Storage
-//       mixins:
-//       - name: google.acl.v1.AccessControl
-//         root: acls
-//
-// This implies the following inherited HTTP annotation:
-//
-//     service Storage {
-//       // Get the underlying ACL object.
-//       rpc GetAcl(GetAclRequest) returns (Acl) {
-//         option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
-//       }
-//       ...
-//     }
-message Mixin {
-  // The fully qualified name of the API which is included.
-  string name = 1;
-
-  // If non-empty specifies a path under which inherited HTTP paths
-  // are rooted.
-  string root = 2;
-}
diff --git a/protobuf/api.pb.go b/protobuf/api/api.pb.go
similarity index 60%
rename from protobuf/api.pb.go
rename to protobuf/api/api.pb.go
index accb934605639e71ba2e0352f19fbf32f05fe79f..7cb3f38249621b845bc1ec3e330c6bb3b34ca03e 100644
--- a/protobuf/api.pb.go
+++ b/protobuf/api/api.pb.go
@@ -1,54 +1,25 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/protobuf/api.proto
+// source: src/google/protobuf/api.proto
 // DO NOT EDIT!
 
 /*
-Package descriptor is a generated protocol buffer package.
+Package api is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/protobuf/api.proto
-	google.golang.org/genproto/protobuf/descriptor.proto
-	google.golang.org/genproto/protobuf/field_mask.proto
-	google.golang.org/genproto/protobuf/source_context.proto
-	google.golang.org/genproto/protobuf/type.proto
+	src/google/protobuf/api.proto
 
 It has these top-level messages:
 	Api
 	Method
 	Mixin
-	FileDescriptorSet
-	FileDescriptorProto
-	DescriptorProto
-	FieldDescriptorProto
-	OneofDescriptorProto
-	EnumDescriptorProto
-	EnumValueDescriptorProto
-	ServiceDescriptorProto
-	MethodDescriptorProto
-	FileOptions
-	MessageOptions
-	FieldOptions
-	OneofOptions
-	EnumOptions
-	EnumValueOptions
-	ServiceOptions
-	MethodOptions
-	UninterpretedOption
-	SourceCodeInfo
-	GeneratedCodeInfo
-	FieldMask
-	SourceContext
-	Type
-	Field
-	Enum
-	EnumValue
-	Option
 */
-package descriptor // import "google.golang.org/genproto/protobuf"
+package api
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import google_protobuf "google.golang.org/genproto/protobuf/source_context"
+import google_protobuf2 "google.golang.org/genproto/protobuf/ptype"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -69,7 +40,7 @@ type Api struct {
 	// The methods of this api, in unspecified order.
 	Methods []*Method `protobuf:"bytes,2,rep,name=methods" json:"methods,omitempty"`
 	// Any metadata attached to the API.
-	Options []*Option `protobuf:"bytes,3,rep,name=options" json:"options,omitempty"`
+	Options []*google_protobuf2.Option `protobuf:"bytes,3,rep,name=options" json:"options,omitempty"`
 	// A version string for this api. If specified, must have the form
 	// `major-version.minor-version`, as in `1.10`. If the minor version
 	// is omitted, it defaults to zero. If the entire version field is
@@ -95,11 +66,11 @@ type Api struct {
 	Version string `protobuf:"bytes,4,opt,name=version" json:"version,omitempty"`
 	// Source context for the protocol buffer service represented by this
 	// message.
-	SourceContext *SourceContext `protobuf:"bytes,5,opt,name=source_context,json=sourceContext" json:"source_context,omitempty"`
+	SourceContext *google_protobuf.SourceContext `protobuf:"bytes,5,opt,name=source_context,json=sourceContext" json:"source_context,omitempty"`
 	// Included APIs. See [Mixin][].
 	Mixins []*Mixin `protobuf:"bytes,6,rep,name=mixins" json:"mixins,omitempty"`
 	// The source syntax of the service.
-	Syntax Syntax `protobuf:"varint,7,opt,name=syntax,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
+	Syntax google_protobuf2.Syntax `protobuf:"varint,7,opt,name=syntax,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
 }
 
 func (m *Api) Reset()                    { *m = Api{} }
@@ -107,6 +78,13 @@ func (m *Api) String() string            { return proto.CompactTextString(m) }
 func (*Api) ProtoMessage()               {}
 func (*Api) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Api) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Api) GetMethods() []*Method {
 	if m != nil {
 		return m.Methods
@@ -114,14 +92,21 @@ func (m *Api) GetMethods() []*Method {
 	return nil
 }
 
-func (m *Api) GetOptions() []*Option {
+func (m *Api) GetOptions() []*google_protobuf2.Option {
 	if m != nil {
 		return m.Options
 	}
 	return nil
 }
 
-func (m *Api) GetSourceContext() *SourceContext {
+func (m *Api) GetVersion() string {
+	if m != nil {
+		return m.Version
+	}
+	return ""
+}
+
+func (m *Api) GetSourceContext() *google_protobuf.SourceContext {
 	if m != nil {
 		return m.SourceContext
 	}
@@ -135,6 +120,13 @@ func (m *Api) GetMixins() []*Mixin {
 	return nil
 }
 
+func (m *Api) GetSyntax() google_protobuf2.Syntax {
+	if m != nil {
+		return m.Syntax
+	}
+	return google_protobuf2.Syntax_SYNTAX_PROTO2
+}
+
 // Method represents a method of an api.
 type Method struct {
 	// The simple name of this method.
@@ -148,9 +140,9 @@ type Method struct {
 	// If true, the response is streamed.
 	ResponseStreaming bool `protobuf:"varint,5,opt,name=response_streaming,json=responseStreaming" json:"response_streaming,omitempty"`
 	// Any metadata attached to the method.
-	Options []*Option `protobuf:"bytes,6,rep,name=options" json:"options,omitempty"`
+	Options []*google_protobuf2.Option `protobuf:"bytes,6,rep,name=options" json:"options,omitempty"`
 	// The source syntax of this method.
-	Syntax Syntax `protobuf:"varint,7,opt,name=syntax,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
+	Syntax google_protobuf2.Syntax `protobuf:"varint,7,opt,name=syntax,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
 }
 
 func (m *Method) Reset()                    { *m = Method{} }
@@ -158,13 +150,55 @@ func (m *Method) String() string            { return proto.CompactTextString(m)
 func (*Method) ProtoMessage()               {}
 func (*Method) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
-func (m *Method) GetOptions() []*Option {
+func (m *Method) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Method) GetRequestTypeUrl() string {
+	if m != nil {
+		return m.RequestTypeUrl
+	}
+	return ""
+}
+
+func (m *Method) GetRequestStreaming() bool {
+	if m != nil {
+		return m.RequestStreaming
+	}
+	return false
+}
+
+func (m *Method) GetResponseTypeUrl() string {
+	if m != nil {
+		return m.ResponseTypeUrl
+	}
+	return ""
+}
+
+func (m *Method) GetResponseStreaming() bool {
+	if m != nil {
+		return m.ResponseStreaming
+	}
+	return false
+}
+
+func (m *Method) GetOptions() []*google_protobuf2.Option {
 	if m != nil {
 		return m.Options
 	}
 	return nil
 }
 
+func (m *Method) GetSyntax() google_protobuf2.Syntax {
+	if m != nil {
+		return m.Syntax
+	}
+	return google_protobuf2.Syntax_SYNTAX_PROTO2
+}
+
 // Declares an API to be included in this API. The including API must
 // redeclare all the methods from the included API, but documentation
 // and options are inherited as follows:
@@ -255,41 +289,56 @@ func (m *Mixin) String() string            { return proto.CompactTextString(m) }
 func (*Mixin) ProtoMessage()               {}
 func (*Mixin) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *Mixin) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Mixin) GetRoot() string {
+	if m != nil {
+		return m.Root
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Api)(nil), "google.protobuf.Api")
 	proto.RegisterType((*Method)(nil), "google.protobuf.Method")
 	proto.RegisterType((*Mixin)(nil), "google.protobuf.Mixin")
 }
 
-func init() { proto.RegisterFile("google.golang.org/genproto/protobuf/api.proto", fileDescriptor0) }
+func init() { proto.RegisterFile("src/google/protobuf/api.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 420 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x91, 0x41, 0xcf, 0xd2, 0x30,
-	0x1c, 0xc6, 0xb3, 0x0d, 0xc6, 0x6b, 0xdf, 0x08, 0x5a, 0x13, 0x6d, 0x38, 0x90, 0x85, 0xd3, 0xa2,
-	0x61, 0x8b, 0x78, 0xf1, 0x0a, 0xc6, 0x60, 0x62, 0x8c, 0xcb, 0xd0, 0x78, 0x24, 0x03, 0xeb, 0x6c,
-	0xb2, 0xf5, 0x5f, 0xdb, 0x4e, 0xe1, 0xeb, 0x78, 0xf4, 0xe8, 0x37, 0xf0, 0x9b, 0x99, 0x75, 0x2b,
-	0x20, 0x60, 0xc2, 0x7b, 0x59, 0xf6, 0xef, 0xf3, 0x7b, 0x9e, 0xb6, 0x4f, 0xd1, 0x24, 0x07, 0xc8,
-	0x0b, 0x1a, 0xe5, 0x50, 0x64, 0x3c, 0x8f, 0x40, 0xe6, 0x71, 0x4e, 0xb9, 0x90, 0xa0, 0x21, 0x36,
-	0xdf, 0x75, 0xf5, 0x25, 0xce, 0x04, 0x8b, 0xcc, 0x80, 0x07, 0x2d, 0x6e, 0xa5, 0xe1, 0xcb, 0x6b,
-	0xfc, 0x0a, 0x2a, 0xb9, 0xa1, 0xab, 0x0d, 0x70, 0x4d, 0xb7, 0xba, 0x31, 0x0f, 0xa3, 0x6b, 0x9c,
-	0x7a, 0x27, 0xda, 0xcd, 0xc6, 0x7f, 0x5c, 0xe4, 0xcd, 0x04, 0xc3, 0x18, 0x75, 0x78, 0x56, 0x52,
-	0xe2, 0x04, 0x4e, 0x78, 0x2f, 0x35, 0xff, 0xf8, 0x39, 0xea, 0x95, 0x54, 0x7f, 0x85, 0xcf, 0x8a,
-	0xb8, 0x81, 0x17, 0xde, 0x4e, 0x9f, 0x44, 0x27, 0x07, 0x8d, 0xde, 0x19, 0x3d, 0xb5, 0x5c, 0x6d,
-	0x01, 0xa1, 0x19, 0x70, 0x45, 0xbc, 0xff, 0x58, 0xde, 0x1b, 0x3d, 0xb5, 0x1c, 0x26, 0xa8, 0xf7,
-	0x9d, 0x4a, 0xc5, 0x80, 0x93, 0x8e, 0xd9, 0xdc, 0x8e, 0xf8, 0x35, 0xea, 0xff, 0x7b, 0x47, 0xd2,
-	0x0d, 0x9c, 0xf0, 0x76, 0x3a, 0x3a, 0xcb, 0x5c, 0x1a, 0xec, 0x55, 0x43, 0xa5, 0xf7, 0xd5, 0xf1,
-	0x88, 0x23, 0xe4, 0x97, 0x6c, 0xcb, 0xb8, 0x22, 0xbe, 0x39, 0xd2, 0xe3, 0xf3, 0x5b, 0xd4, 0x72,
-	0xda, 0x52, 0x38, 0x46, 0xbe, 0xda, 0x71, 0x9d, 0x6d, 0x49, 0x2f, 0x70, 0xc2, 0xfe, 0x85, 0x2b,
-	0x2c, 0x8d, 0x9c, 0xb6, 0xd8, 0xf8, 0xb7, 0x8b, 0xfc, 0xa6, 0x88, 0x8b, 0x35, 0x86, 0xe8, 0x81,
-	0xa4, 0xdf, 0x2a, 0xaa, 0xf4, 0xaa, 0x2e, 0x7e, 0x55, 0xc9, 0x82, 0xb8, 0x46, 0xef, 0xb7, 0xeb,
-	0x1f, 0x76, 0x82, 0x7e, 0x94, 0x05, 0x7e, 0x86, 0x1e, 0x5a, 0x52, 0x69, 0x49, 0xb3, 0x92, 0xf1,
-	0x9c, 0x78, 0x81, 0x13, 0xde, 0xa4, 0x36, 0x62, 0x69, 0xd7, 0xf1, 0xd3, 0x1a, 0x56, 0x02, 0xb8,
-	0xa2, 0x87, 0xdc, 0xa6, 0xc1, 0x81, 0x15, 0x6c, 0xf0, 0x04, 0xe1, 0x3d, 0x7b, 0x48, 0xee, 0x9a,
-	0xe4, 0x7d, 0xca, 0x21, 0xfa, 0xe8, 0x15, 0xfd, 0x2b, 0x5f, 0xf1, 0xce, 0xa5, 0xc5, 0xa8, 0x6b,
-	0x6a, 0xbf, 0x58, 0x19, 0x46, 0x1d, 0x09, 0xa0, 0xdb, 0x9a, 0xcc, 0xff, 0xfc, 0x0d, 0x7a, 0xb4,
-	0x81, 0xf2, 0x34, 0x76, 0x7e, 0x33, 0x13, 0x2c, 0xa9, 0x87, 0xc4, 0xf9, 0xe9, 0x7a, 0x8b, 0x64,
-	0xfe, 0xcb, 0x1d, 0x2d, 0x1a, 0x26, 0xb1, 0x5b, 0x7f, 0xa2, 0x45, 0xf1, 0x96, 0xc3, 0x0f, 0x5e,
-	0xf7, 0xa1, 0xd6, 0xbe, 0x31, 0xbf, 0xf8, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x39, 0x12, 0x82,
-	0xa6, 0x03, 0x00, 0x00,
+	// 435 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0x4f, 0x8b, 0xd3, 0x40,
+	0x18, 0xc6, 0x49, 0xd2, 0xa6, 0xeb, 0x2c, 0x76, 0x75, 0x04, 0x1d, 0x0a, 0x2e, 0x61, 0xf1, 0x10,
+	0x5c, 0x4c, 0x70, 0x3d, 0x7a, 0x6a, 0x45, 0x7a, 0x10, 0x31, 0xa4, 0x8a, 0xe0, 0xa5, 0xa4, 0x71,
+	0x8c, 0x03, 0xc9, 0xbc, 0xe3, 0xcc, 0x44, 0xdb, 0xaf, 0xe3, 0xd1, 0xa3, 0xdf, 0xc0, 0x6f, 0x26,
+	0x99, 0x64, 0xfa, 0x27, 0xad, 0xe0, 0xde, 0xe6, 0x9d, 0xe7, 0xf7, 0x3e, 0x79, 0xdf, 0x67, 0x08,
+	0x7a, 0xac, 0x64, 0x1e, 0x17, 0x00, 0x45, 0x49, 0x63, 0x21, 0x41, 0xc3, 0xaa, 0xfe, 0x12, 0x67,
+	0x82, 0x45, 0xa6, 0xc0, 0x17, 0xad, 0x14, 0x59, 0x69, 0xf2, 0xa4, 0xcf, 0x2a, 0xa8, 0x65, 0x4e,
+	0x97, 0x39, 0x70, 0x4d, 0xd7, 0xba, 0x05, 0x27, 0x93, 0x3e, 0xa5, 0x37, 0xa2, 0x33, 0xb9, 0xfa,
+	0xe3, 0x22, 0x6f, 0x2a, 0x18, 0xc6, 0x68, 0xc0, 0xb3, 0x8a, 0x12, 0x27, 0x70, 0xc2, 0x3b, 0xa9,
+	0x39, 0xe3, 0xe7, 0x68, 0x54, 0x51, 0xfd, 0x15, 0x3e, 0x2b, 0xe2, 0x06, 0x5e, 0x78, 0x7e, 0xf3,
+	0x28, 0xea, 0x0d, 0x10, 0xbd, 0x35, 0x7a, 0x6a, 0xb9, 0xa6, 0x05, 0x84, 0x66, 0xc0, 0x15, 0xf1,
+	0xfe, 0xd1, 0xf2, 0xce, 0xe8, 0xa9, 0xe5, 0x30, 0x41, 0xa3, 0xef, 0x54, 0x2a, 0x06, 0x9c, 0x0c,
+	0xcc, 0xc7, 0x6d, 0x89, 0x5f, 0xa3, 0xf1, 0xe1, 0x3e, 0x64, 0x18, 0x38, 0xe1, 0xf9, 0xcd, 0xe5,
+	0x91, 0xe7, 0xc2, 0x60, 0xaf, 0x5a, 0x2a, 0xbd, 0xab, 0xf6, 0x4b, 0x1c, 0x21, 0xbf, 0x62, 0x6b,
+	0xc6, 0x15, 0xf1, 0xcd, 0x48, 0x0f, 0x8f, 0xb7, 0x68, 0xe4, 0xb4, 0xa3, 0x70, 0x8c, 0x7c, 0xb5,
+	0xe1, 0x3a, 0x5b, 0x93, 0x51, 0xe0, 0x84, 0xe3, 0x13, 0x2b, 0x2c, 0x8c, 0x9c, 0x76, 0xd8, 0xd5,
+	0x6f, 0x17, 0xf9, 0x6d, 0x10, 0x27, 0x63, 0x0c, 0xd1, 0x3d, 0x49, 0xbf, 0xd5, 0x54, 0xe9, 0x65,
+	0x13, 0xfc, 0xb2, 0x96, 0x25, 0x71, 0x8d, 0x3e, 0xee, 0xee, 0xdf, 0x6f, 0x04, 0xfd, 0x20, 0x4b,
+	0x7c, 0x8d, 0xee, 0x5b, 0x52, 0x69, 0x49, 0xb3, 0x8a, 0xf1, 0x82, 0x78, 0x81, 0x13, 0x9e, 0xa5,
+	0xd6, 0x62, 0x61, 0xef, 0xf1, 0xd3, 0x06, 0x56, 0x02, 0xb8, 0xa2, 0x3b, 0xdf, 0x36, 0xc1, 0x0b,
+	0x2b, 0x58, 0xe3, 0x67, 0x08, 0x6f, 0xd9, 0x9d, 0xf3, 0xd0, 0x38, 0x6f, 0x5d, 0x76, 0xd6, 0x7b,
+	0xaf, 0xe8, 0xff, 0xe7, 0x2b, 0xde, 0x3a, 0xb4, 0x18, 0x0d, 0x4d, 0xec, 0x27, 0x23, 0xc3, 0x68,
+	0x20, 0x01, 0x74, 0x17, 0x93, 0x39, 0xcf, 0x6a, 0xf4, 0x20, 0x87, 0xaa, 0x6f, 0x3b, 0x3b, 0x9b,
+	0x0a, 0x96, 0x34, 0x45, 0xe2, 0x7c, 0xba, 0xee, 0xc4, 0x02, 0xca, 0x8c, 0x17, 0x11, 0xc8, 0x22,
+	0x2e, 0x28, 0x37, 0xe8, 0xc1, 0xef, 0xf4, 0x32, 0x13, 0xec, 0xa7, 0xeb, 0xcd, 0x93, 0xd9, 0x2f,
+	0xf7, 0x72, 0xde, 0xf6, 0x24, 0x76, 0xce, 0x8f, 0xb4, 0x2c, 0xdf, 0x70, 0xf8, 0xc1, 0x9b, 0xf0,
+	0xd4, 0xca, 0x37, 0x8d, 0x2f, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x42, 0xe4, 0x4b, 0x9b,
+	0x03, 0x00, 0x00,
 }
diff --git a/protobuf/descriptor.pb.go b/protobuf/descriptor.pb.go
deleted file mode 100644
index 6987cf02e216409b47f1f506ecf3aa1e96cb0780..0000000000000000000000000000000000000000
--- a/protobuf/descriptor.pb.go
+++ /dev/null
@@ -1,2034 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/protobuf/descriptor.proto
-// DO NOT EDIT!
-
-package descriptor // import "google.golang.org/genproto/protobuf"
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-type FieldDescriptorProto_Type int32
-
-const (
-	// 0 is reserved for errors.
-	// Order is weird for historical reasons.
-	FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1
-	FieldDescriptorProto_TYPE_FLOAT  FieldDescriptorProto_Type = 2
-	// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if
-	// negative values are likely.
-	FieldDescriptorProto_TYPE_INT64  FieldDescriptorProto_Type = 3
-	FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4
-	// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if
-	// negative values are likely.
-	FieldDescriptorProto_TYPE_INT32   FieldDescriptorProto_Type = 5
-	FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6
-	FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7
-	FieldDescriptorProto_TYPE_BOOL    FieldDescriptorProto_Type = 8
-	FieldDescriptorProto_TYPE_STRING  FieldDescriptorProto_Type = 9
-	FieldDescriptorProto_TYPE_GROUP   FieldDescriptorProto_Type = 10
-	FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11
-	// New in version 2.
-	FieldDescriptorProto_TYPE_BYTES    FieldDescriptorProto_Type = 12
-	FieldDescriptorProto_TYPE_UINT32   FieldDescriptorProto_Type = 13
-	FieldDescriptorProto_TYPE_ENUM     FieldDescriptorProto_Type = 14
-	FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15
-	FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16
-	FieldDescriptorProto_TYPE_SINT32   FieldDescriptorProto_Type = 17
-	FieldDescriptorProto_TYPE_SINT64   FieldDescriptorProto_Type = 18
-)
-
-var FieldDescriptorProto_Type_name = map[int32]string{
-	1:  "TYPE_DOUBLE",
-	2:  "TYPE_FLOAT",
-	3:  "TYPE_INT64",
-	4:  "TYPE_UINT64",
-	5:  "TYPE_INT32",
-	6:  "TYPE_FIXED64",
-	7:  "TYPE_FIXED32",
-	8:  "TYPE_BOOL",
-	9:  "TYPE_STRING",
-	10: "TYPE_GROUP",
-	11: "TYPE_MESSAGE",
-	12: "TYPE_BYTES",
-	13: "TYPE_UINT32",
-	14: "TYPE_ENUM",
-	15: "TYPE_SFIXED32",
-	16: "TYPE_SFIXED64",
-	17: "TYPE_SINT32",
-	18: "TYPE_SINT64",
-}
-var FieldDescriptorProto_Type_value = map[string]int32{
-	"TYPE_DOUBLE":   1,
-	"TYPE_FLOAT":    2,
-	"TYPE_INT64":    3,
-	"TYPE_UINT64":   4,
-	"TYPE_INT32":    5,
-	"TYPE_FIXED64":  6,
-	"TYPE_FIXED32":  7,
-	"TYPE_BOOL":     8,
-	"TYPE_STRING":   9,
-	"TYPE_GROUP":    10,
-	"TYPE_MESSAGE":  11,
-	"TYPE_BYTES":    12,
-	"TYPE_UINT32":   13,
-	"TYPE_ENUM":     14,
-	"TYPE_SFIXED32": 15,
-	"TYPE_SFIXED64": 16,
-	"TYPE_SINT32":   17,
-	"TYPE_SINT64":   18,
-}
-
-func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {
-	p := new(FieldDescriptorProto_Type)
-	*p = x
-	return p
-}
-func (x FieldDescriptorProto_Type) String() string {
-	return proto.EnumName(FieldDescriptorProto_Type_name, int32(x))
-}
-func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, "FieldDescriptorProto_Type")
-	if err != nil {
-		return err
-	}
-	*x = FieldDescriptorProto_Type(value)
-	return nil
-}
-func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{3, 0} }
-
-type FieldDescriptorProto_Label int32
-
-const (
-	// 0 is reserved for errors
-	FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1
-	FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2
-	FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3
-)
-
-var FieldDescriptorProto_Label_name = map[int32]string{
-	1: "LABEL_OPTIONAL",
-	2: "LABEL_REQUIRED",
-	3: "LABEL_REPEATED",
-}
-var FieldDescriptorProto_Label_value = map[string]int32{
-	"LABEL_OPTIONAL": 1,
-	"LABEL_REQUIRED": 2,
-	"LABEL_REPEATED": 3,
-}
-
-func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {
-	p := new(FieldDescriptorProto_Label)
-	*p = x
-	return p
-}
-func (x FieldDescriptorProto_Label) String() string {
-	return proto.EnumName(FieldDescriptorProto_Label_name, int32(x))
-}
-func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, "FieldDescriptorProto_Label")
-	if err != nil {
-		return err
-	}
-	*x = FieldDescriptorProto_Label(value)
-	return nil
-}
-func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor1, []int{3, 1}
-}
-
-// Generated classes can be optimized for speed or code size.
-type FileOptions_OptimizeMode int32
-
-const (
-	FileOptions_SPEED FileOptions_OptimizeMode = 1
-	// etc.
-	FileOptions_CODE_SIZE    FileOptions_OptimizeMode = 2
-	FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3
-)
-
-var FileOptions_OptimizeMode_name = map[int32]string{
-	1: "SPEED",
-	2: "CODE_SIZE",
-	3: "LITE_RUNTIME",
-}
-var FileOptions_OptimizeMode_value = map[string]int32{
-	"SPEED":        1,
-	"CODE_SIZE":    2,
-	"LITE_RUNTIME": 3,
-}
-
-func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {
-	p := new(FileOptions_OptimizeMode)
-	*p = x
-	return p
-}
-func (x FileOptions_OptimizeMode) String() string {
-	return proto.EnumName(FileOptions_OptimizeMode_name, int32(x))
-}
-func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, "FileOptions_OptimizeMode")
-	if err != nil {
-		return err
-	}
-	*x = FileOptions_OptimizeMode(value)
-	return nil
-}
-func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{9, 0} }
-
-type FieldOptions_CType int32
-
-const (
-	// Default mode.
-	FieldOptions_STRING       FieldOptions_CType = 0
-	FieldOptions_CORD         FieldOptions_CType = 1
-	FieldOptions_STRING_PIECE FieldOptions_CType = 2
-)
-
-var FieldOptions_CType_name = map[int32]string{
-	0: "STRING",
-	1: "CORD",
-	2: "STRING_PIECE",
-}
-var FieldOptions_CType_value = map[string]int32{
-	"STRING":       0,
-	"CORD":         1,
-	"STRING_PIECE": 2,
-}
-
-func (x FieldOptions_CType) Enum() *FieldOptions_CType {
-	p := new(FieldOptions_CType)
-	*p = x
-	return p
-}
-func (x FieldOptions_CType) String() string {
-	return proto.EnumName(FieldOptions_CType_name, int32(x))
-}
-func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, "FieldOptions_CType")
-	if err != nil {
-		return err
-	}
-	*x = FieldOptions_CType(value)
-	return nil
-}
-func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{11, 0} }
-
-type FieldOptions_JSType int32
-
-const (
-	// Use the default type.
-	FieldOptions_JS_NORMAL FieldOptions_JSType = 0
-	// Use JavaScript strings.
-	FieldOptions_JS_STRING FieldOptions_JSType = 1
-	// Use JavaScript numbers.
-	FieldOptions_JS_NUMBER FieldOptions_JSType = 2
-)
-
-var FieldOptions_JSType_name = map[int32]string{
-	0: "JS_NORMAL",
-	1: "JS_STRING",
-	2: "JS_NUMBER",
-}
-var FieldOptions_JSType_value = map[string]int32{
-	"JS_NORMAL": 0,
-	"JS_STRING": 1,
-	"JS_NUMBER": 2,
-}
-
-func (x FieldOptions_JSType) Enum() *FieldOptions_JSType {
-	p := new(FieldOptions_JSType)
-	*p = x
-	return p
-}
-func (x FieldOptions_JSType) String() string {
-	return proto.EnumName(FieldOptions_JSType_name, int32(x))
-}
-func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, "FieldOptions_JSType")
-	if err != nil {
-		return err
-	}
-	*x = FieldOptions_JSType(value)
-	return nil
-}
-func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{11, 1} }
-
-// The protocol compiler can output a FileDescriptorSet containing the .proto
-// files it parses.
-type FileDescriptorSet struct {
-	File             []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"`
-	XXX_unrecognized []byte                 `json:"-"`
-}
-
-func (m *FileDescriptorSet) Reset()                    { *m = FileDescriptorSet{} }
-func (m *FileDescriptorSet) String() string            { return proto.CompactTextString(m) }
-func (*FileDescriptorSet) ProtoMessage()               {}
-func (*FileDescriptorSet) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
-
-func (m *FileDescriptorSet) GetFile() []*FileDescriptorProto {
-	if m != nil {
-		return m.File
-	}
-	return nil
-}
-
-// Describes a complete .proto file.
-type FileDescriptorProto struct {
-	Name    *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"`
-	// Names of files imported by this file.
-	Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"`
-	// Indexes of the public imported files in the dependency list above.
-	PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"`
-	// Indexes of the weak imported files in the dependency list.
-	// For Google-internal migration only. Do not use.
-	WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
-	// All top-level definitions in this file.
-	MessageType []*DescriptorProto        `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
-	EnumType    []*EnumDescriptorProto    `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
-	Service     []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"`
-	Extension   []*FieldDescriptorProto   `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"`
-	Options     *FileOptions              `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
-	// This field contains optional information about the original source code.
-	// You may safely remove this entire field without harming runtime
-	// functionality of the descriptors -- the information is needed only by
-	// development tools.
-	SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"`
-	// The syntax of the proto file.
-	// The supported values are "proto2" and "proto3".
-	Syntax           *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"`
-	XXX_unrecognized []byte  `json:"-"`
-}
-
-func (m *FileDescriptorProto) Reset()                    { *m = FileDescriptorProto{} }
-func (m *FileDescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*FileDescriptorProto) ProtoMessage()               {}
-func (*FileDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
-
-func (m *FileDescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *FileDescriptorProto) GetPackage() string {
-	if m != nil && m.Package != nil {
-		return *m.Package
-	}
-	return ""
-}
-
-func (m *FileDescriptorProto) GetDependency() []string {
-	if m != nil {
-		return m.Dependency
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetPublicDependency() []int32 {
-	if m != nil {
-		return m.PublicDependency
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetWeakDependency() []int32 {
-	if m != nil {
-		return m.WeakDependency
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetMessageType() []*DescriptorProto {
-	if m != nil {
-		return m.MessageType
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto {
-	if m != nil {
-		return m.EnumType
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto {
-	if m != nil {
-		return m.Service
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto {
-	if m != nil {
-		return m.Extension
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetOptions() *FileOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo {
-	if m != nil {
-		return m.SourceCodeInfo
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetSyntax() string {
-	if m != nil && m.Syntax != nil {
-		return *m.Syntax
-	}
-	return ""
-}
-
-// Describes a message type.
-type DescriptorProto struct {
-	Name           *string                           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	Field          []*FieldDescriptorProto           `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"`
-	Extension      []*FieldDescriptorProto           `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"`
-	NestedType     []*DescriptorProto                `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"`
-	EnumType       []*EnumDescriptorProto            `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
-	ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"`
-	OneofDecl      []*OneofDescriptorProto           `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"`
-	Options        *MessageOptions                   `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"`
-	ReservedRange  []*DescriptorProto_ReservedRange  `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
-	// Reserved field names, which may not be used by fields in the same message.
-	// A given name may only be reserved once.
-	ReservedName     []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
-	XXX_unrecognized []byte   `json:"-"`
-}
-
-func (m *DescriptorProto) Reset()                    { *m = DescriptorProto{} }
-func (m *DescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*DescriptorProto) ProtoMessage()               {}
-func (*DescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
-
-func (m *DescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *DescriptorProto) GetField() []*FieldDescriptorProto {
-	if m != nil {
-		return m.Field
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetExtension() []*FieldDescriptorProto {
-	if m != nil {
-		return m.Extension
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetNestedType() []*DescriptorProto {
-	if m != nil {
-		return m.NestedType
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto {
-	if m != nil {
-		return m.EnumType
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange {
-	if m != nil {
-		return m.ExtensionRange
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto {
-	if m != nil {
-		return m.OneofDecl
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetOptions() *MessageOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange {
-	if m != nil {
-		return m.ReservedRange
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetReservedName() []string {
-	if m != nil {
-		return m.ReservedName
-	}
-	return nil
-}
-
-type DescriptorProto_ExtensionRange struct {
-	Start            *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
-	End              *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
-	XXX_unrecognized []byte `json:"-"`
-}
-
-func (m *DescriptorProto_ExtensionRange) Reset()         { *m = DescriptorProto_ExtensionRange{} }
-func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) }
-func (*DescriptorProto_ExtensionRange) ProtoMessage()    {}
-func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {
-	return fileDescriptor1, []int{2, 0}
-}
-
-func (m *DescriptorProto_ExtensionRange) GetStart() int32 {
-	if m != nil && m.Start != nil {
-		return *m.Start
-	}
-	return 0
-}
-
-func (m *DescriptorProto_ExtensionRange) GetEnd() int32 {
-	if m != nil && m.End != nil {
-		return *m.End
-	}
-	return 0
-}
-
-// Range of reserved tag numbers. Reserved tag numbers may not be used by
-// fields or extension ranges in the same message. Reserved ranges may
-// not overlap.
-type DescriptorProto_ReservedRange struct {
-	Start            *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
-	End              *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
-	XXX_unrecognized []byte `json:"-"`
-}
-
-func (m *DescriptorProto_ReservedRange) Reset()         { *m = DescriptorProto_ReservedRange{} }
-func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) }
-func (*DescriptorProto_ReservedRange) ProtoMessage()    {}
-func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {
-	return fileDescriptor1, []int{2, 1}
-}
-
-func (m *DescriptorProto_ReservedRange) GetStart() int32 {
-	if m != nil && m.Start != nil {
-		return *m.Start
-	}
-	return 0
-}
-
-func (m *DescriptorProto_ReservedRange) GetEnd() int32 {
-	if m != nil && m.End != nil {
-		return *m.End
-	}
-	return 0
-}
-
-// Describes a field within a message.
-type FieldDescriptorProto struct {
-	Name   *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	Number *int32                      `protobuf:"varint,3,opt,name=number" json:"number,omitempty"`
-	Label  *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"`
-	// If type_name is set, this need not be set.  If both this and type_name
-	// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
-	Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"`
-	// For message and enum types, this is the name of the type.  If the name
-	// starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
-	// rules are used to find the type (i.e. first the nested types within this
-	// message are searched, then within the parent, on up to the root
-	// namespace).
-	TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"`
-	// For extensions, this is the name of the type being extended.  It is
-	// resolved in the same manner as type_name.
-	Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"`
-	// For numeric types, contains the original text representation of the value.
-	// For booleans, "true" or "false".
-	// For strings, contains the default text contents (not escaped in any way).
-	// For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
-	// TODO(kenton):  Base-64 encode?
-	DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"`
-	// If set, gives the index of a oneof in the containing type's oneof_decl
-	// list.  This field is a member of that oneof.
-	OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"`
-	// JSON name of this field. The value is set by protocol compiler. If the
-	// user has set a "json_name" option on this field, that option's value
-	// will be used. Otherwise, it's deduced from the field's name by converting
-	// it to camelCase.
-	JsonName         *string       `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"`
-	Options          *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
-	XXX_unrecognized []byte        `json:"-"`
-}
-
-func (m *FieldDescriptorProto) Reset()                    { *m = FieldDescriptorProto{} }
-func (m *FieldDescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*FieldDescriptorProto) ProtoMessage()               {}
-func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
-
-func (m *FieldDescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *FieldDescriptorProto) GetNumber() int32 {
-	if m != nil && m.Number != nil {
-		return *m.Number
-	}
-	return 0
-}
-
-func (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label {
-	if m != nil && m.Label != nil {
-		return *m.Label
-	}
-	return FieldDescriptorProto_LABEL_OPTIONAL
-}
-
-func (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type {
-	if m != nil && m.Type != nil {
-		return *m.Type
-	}
-	return FieldDescriptorProto_TYPE_DOUBLE
-}
-
-func (m *FieldDescriptorProto) GetTypeName() string {
-	if m != nil && m.TypeName != nil {
-		return *m.TypeName
-	}
-	return ""
-}
-
-func (m *FieldDescriptorProto) GetExtendee() string {
-	if m != nil && m.Extendee != nil {
-		return *m.Extendee
-	}
-	return ""
-}
-
-func (m *FieldDescriptorProto) GetDefaultValue() string {
-	if m != nil && m.DefaultValue != nil {
-		return *m.DefaultValue
-	}
-	return ""
-}
-
-func (m *FieldDescriptorProto) GetOneofIndex() int32 {
-	if m != nil && m.OneofIndex != nil {
-		return *m.OneofIndex
-	}
-	return 0
-}
-
-func (m *FieldDescriptorProto) GetJsonName() string {
-	if m != nil && m.JsonName != nil {
-		return *m.JsonName
-	}
-	return ""
-}
-
-func (m *FieldDescriptorProto) GetOptions() *FieldOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-// Describes a oneof.
-type OneofDescriptorProto struct {
-	Name             *string       `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	Options          *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"`
-	XXX_unrecognized []byte        `json:"-"`
-}
-
-func (m *OneofDescriptorProto) Reset()                    { *m = OneofDescriptorProto{} }
-func (m *OneofDescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*OneofDescriptorProto) ProtoMessage()               {}
-func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
-
-func (m *OneofDescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *OneofDescriptorProto) GetOptions() *OneofOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-// Describes an enum type.
-type EnumDescriptorProto struct {
-	Name             *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	Value            []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"`
-	Options          *EnumOptions                `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
-	XXX_unrecognized []byte                      `json:"-"`
-}
-
-func (m *EnumDescriptorProto) Reset()                    { *m = EnumDescriptorProto{} }
-func (m *EnumDescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*EnumDescriptorProto) ProtoMessage()               {}
-func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
-
-func (m *EnumDescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func (m *EnumDescriptorProto) GetOptions() *EnumOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-// Describes a value within an enum.
-type EnumValueDescriptorProto struct {
-	Name             *string           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	Number           *int32            `protobuf:"varint,2,opt,name=number" json:"number,omitempty"`
-	Options          *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
-	XXX_unrecognized []byte            `json:"-"`
-}
-
-func (m *EnumValueDescriptorProto) Reset()                    { *m = EnumValueDescriptorProto{} }
-func (m *EnumValueDescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*EnumValueDescriptorProto) ProtoMessage()               {}
-func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
-
-func (m *EnumValueDescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *EnumValueDescriptorProto) GetNumber() int32 {
-	if m != nil && m.Number != nil {
-		return *m.Number
-	}
-	return 0
-}
-
-func (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-// Describes a service.
-type ServiceDescriptorProto struct {
-	Name             *string                  `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	Method           []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"`
-	Options          *ServiceOptions          `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
-	XXX_unrecognized []byte                   `json:"-"`
-}
-
-func (m *ServiceDescriptorProto) Reset()                    { *m = ServiceDescriptorProto{} }
-func (m *ServiceDescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*ServiceDescriptorProto) ProtoMessage()               {}
-func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
-
-func (m *ServiceDescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto {
-	if m != nil {
-		return m.Method
-	}
-	return nil
-}
-
-func (m *ServiceDescriptorProto) GetOptions() *ServiceOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-// Describes a method of a service.
-type MethodDescriptorProto struct {
-	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	// Input and output type names.  These are resolved in the same way as
-	// FieldDescriptorProto.type_name, but must refer to a message type.
-	InputType  *string        `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"`
-	OutputType *string        `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"`
-	Options    *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"`
-	// Identifies if client streams multiple client messages
-	ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"`
-	// Identifies if server streams multiple server messages
-	ServerStreaming  *bool  `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"`
-	XXX_unrecognized []byte `json:"-"`
-}
-
-func (m *MethodDescriptorProto) Reset()                    { *m = MethodDescriptorProto{} }
-func (m *MethodDescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*MethodDescriptorProto) ProtoMessage()               {}
-func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
-
-const Default_MethodDescriptorProto_ClientStreaming bool = false
-const Default_MethodDescriptorProto_ServerStreaming bool = false
-
-func (m *MethodDescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *MethodDescriptorProto) GetInputType() string {
-	if m != nil && m.InputType != nil {
-		return *m.InputType
-	}
-	return ""
-}
-
-func (m *MethodDescriptorProto) GetOutputType() string {
-	if m != nil && m.OutputType != nil {
-		return *m.OutputType
-	}
-	return ""
-}
-
-func (m *MethodDescriptorProto) GetOptions() *MethodOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-func (m *MethodDescriptorProto) GetClientStreaming() bool {
-	if m != nil && m.ClientStreaming != nil {
-		return *m.ClientStreaming
-	}
-	return Default_MethodDescriptorProto_ClientStreaming
-}
-
-func (m *MethodDescriptorProto) GetServerStreaming() bool {
-	if m != nil && m.ServerStreaming != nil {
-		return *m.ServerStreaming
-	}
-	return Default_MethodDescriptorProto_ServerStreaming
-}
-
-type FileOptions struct {
-	// Sets the Java package where classes generated from this .proto will be
-	// placed.  By default, the proto package is used, but this is often
-	// inappropriate because proto packages do not normally start with backwards
-	// domain names.
-	JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"`
-	// If set, all the classes from the .proto file are wrapped in a single
-	// outer class with the given name.  This applies to both Proto1
-	// (equivalent to the old "--one_java_file" option) and Proto2 (where
-	// a .proto always translates to a single class, but you may want to
-	// explicitly choose the class name).
-	JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"`
-	// If set true, then the Java code generator will generate a separate .java
-	// file for each top-level message, enum, and service defined in the .proto
-	// file.  Thus, these types will *not* be nested inside the outer class
-	// named by java_outer_classname.  However, the outer class will still be
-	// generated to contain the file's getDescriptor() method as well as any
-	// top-level extensions defined in the file.
-	JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"`
-	// This option does nothing.
-	JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"`
-	// If set true, then the Java2 code generator will generate code that
-	// throws an exception whenever an attempt is made to assign a non-UTF-8
-	// byte sequence to a string field.
-	// Message reflection will do the same.
-	// However, an extension field still accepts non-UTF-8 byte sequences.
-	// This option has no effect on when used with the lite runtime.
-	JavaStringCheckUtf8 *bool                     `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"`
-	OptimizeFor         *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"`
-	// Sets the Go package where structs generated from this .proto will be
-	// placed. If omitted, the Go package will be derived from the following:
-	//   - The basename of the package import path, if provided.
-	//   - Otherwise, the package statement in the .proto file, if present.
-	//   - Otherwise, the basename of the .proto file, without extension.
-	GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"`
-	// Should generic services be generated in each language?  "Generic" services
-	// are not specific to any particular RPC system.  They are generated by the
-	// main code generators in each language (without additional plugins).
-	// Generic services were the only kind of service generation supported by
-	// early versions of google.protobuf.
-	//
-	// Generic services are now considered deprecated in favor of using plugins
-	// that generate code specific to your particular RPC system.  Therefore,
-	// these default to false.  Old code which depends on generic services should
-	// explicitly set them to true.
-	CcGenericServices   *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"`
-	JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"`
-	PyGenericServices   *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"`
-	// Is this file deprecated?
-	// Depending on the target platform, this can emit Deprecated annotations
-	// for everything in the file, or it will be completely ignored; in the very
-	// least, this is a formalization for deprecating files.
-	Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
-	// Enables the use of arenas for the proto messages in this file. This applies
-	// only to generated classes for C++.
-	CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0" json:"cc_enable_arenas,omitempty"`
-	// Sets the objective c class prefix which is prepended to all objective c
-	// generated classes from this .proto. There is no default.
-	ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"`
-	// Namespace for generated classes; defaults to the package.
-	CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"`
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *FileOptions) Reset()                    { *m = FileOptions{} }
-func (m *FileOptions) String() string            { return proto.CompactTextString(m) }
-func (*FileOptions) ProtoMessage()               {}
-func (*FileOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
-
-var extRange_FileOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_FileOptions
-}
-
-const Default_FileOptions_JavaMultipleFiles bool = false
-const Default_FileOptions_JavaStringCheckUtf8 bool = false
-const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED
-const Default_FileOptions_CcGenericServices bool = false
-const Default_FileOptions_JavaGenericServices bool = false
-const Default_FileOptions_PyGenericServices bool = false
-const Default_FileOptions_Deprecated bool = false
-const Default_FileOptions_CcEnableArenas bool = false
-
-func (m *FileOptions) GetJavaPackage() string {
-	if m != nil && m.JavaPackage != nil {
-		return *m.JavaPackage
-	}
-	return ""
-}
-
-func (m *FileOptions) GetJavaOuterClassname() string {
-	if m != nil && m.JavaOuterClassname != nil {
-		return *m.JavaOuterClassname
-	}
-	return ""
-}
-
-func (m *FileOptions) GetJavaMultipleFiles() bool {
-	if m != nil && m.JavaMultipleFiles != nil {
-		return *m.JavaMultipleFiles
-	}
-	return Default_FileOptions_JavaMultipleFiles
-}
-
-func (m *FileOptions) GetJavaGenerateEqualsAndHash() bool {
-	if m != nil && m.JavaGenerateEqualsAndHash != nil {
-		return *m.JavaGenerateEqualsAndHash
-	}
-	return false
-}
-
-func (m *FileOptions) GetJavaStringCheckUtf8() bool {
-	if m != nil && m.JavaStringCheckUtf8 != nil {
-		return *m.JavaStringCheckUtf8
-	}
-	return Default_FileOptions_JavaStringCheckUtf8
-}
-
-func (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode {
-	if m != nil && m.OptimizeFor != nil {
-		return *m.OptimizeFor
-	}
-	return Default_FileOptions_OptimizeFor
-}
-
-func (m *FileOptions) GetGoPackage() string {
-	if m != nil && m.GoPackage != nil {
-		return *m.GoPackage
-	}
-	return ""
-}
-
-func (m *FileOptions) GetCcGenericServices() bool {
-	if m != nil && m.CcGenericServices != nil {
-		return *m.CcGenericServices
-	}
-	return Default_FileOptions_CcGenericServices
-}
-
-func (m *FileOptions) GetJavaGenericServices() bool {
-	if m != nil && m.JavaGenericServices != nil {
-		return *m.JavaGenericServices
-	}
-	return Default_FileOptions_JavaGenericServices
-}
-
-func (m *FileOptions) GetPyGenericServices() bool {
-	if m != nil && m.PyGenericServices != nil {
-		return *m.PyGenericServices
-	}
-	return Default_FileOptions_PyGenericServices
-}
-
-func (m *FileOptions) GetDeprecated() bool {
-	if m != nil && m.Deprecated != nil {
-		return *m.Deprecated
-	}
-	return Default_FileOptions_Deprecated
-}
-
-func (m *FileOptions) GetCcEnableArenas() bool {
-	if m != nil && m.CcEnableArenas != nil {
-		return *m.CcEnableArenas
-	}
-	return Default_FileOptions_CcEnableArenas
-}
-
-func (m *FileOptions) GetObjcClassPrefix() string {
-	if m != nil && m.ObjcClassPrefix != nil {
-		return *m.ObjcClassPrefix
-	}
-	return ""
-}
-
-func (m *FileOptions) GetCsharpNamespace() string {
-	if m != nil && m.CsharpNamespace != nil {
-		return *m.CsharpNamespace
-	}
-	return ""
-}
-
-func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-type MessageOptions struct {
-	// Set true to use the old proto1 MessageSet wire format for extensions.
-	// This is provided for backwards-compatibility with the MessageSet wire
-	// format.  You should not use this for any other reason:  It's less
-	// efficient, has fewer features, and is more complicated.
-	//
-	// The message must be defined exactly as follows:
-	//   message Foo {
-	//     option message_set_wire_format = true;
-	//     extensions 4 to max;
-	//   }
-	// Note that the message cannot have any defined fields; MessageSets only
-	// have extensions.
-	//
-	// All extensions of your type must be singular messages; e.g. they cannot
-	// be int32s, enums, or repeated messages.
-	//
-	// Because this is an option, the above two restrictions are not enforced by
-	// the protocol compiler.
-	MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"`
-	// Disables the generation of the standard "descriptor()" accessor, which can
-	// conflict with a field of the same name.  This is meant to make migration
-	// from proto1 easier; new code should avoid fields named "descriptor".
-	NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"`
-	// Is this message deprecated?
-	// Depending on the target platform, this can emit Deprecated annotations
-	// for the message, or it will be completely ignored; in the very least,
-	// this is a formalization for deprecating messages.
-	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
-	// Whether the message is an automatically generated map entry type for the
-	// maps field.
-	//
-	// For maps fields:
-	//     map<KeyType, ValueType> map_field = 1;
-	// The parsed descriptor looks like:
-	//     message MapFieldEntry {
-	//         option map_entry = true;
-	//         optional KeyType key = 1;
-	//         optional ValueType value = 2;
-	//     }
-	//     repeated MapFieldEntry map_field = 1;
-	//
-	// Implementations may choose not to generate the map_entry=true message, but
-	// use a native map in the target language to hold the keys and values.
-	// The reflection APIs in such implementions still need to work as
-	// if the field is a repeated message field.
-	//
-	// NOTE: Do not set the option in .proto files. Always use the maps syntax
-	// instead. The option should only be implicitly set by the proto compiler
-	// parser.
-	MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"`
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *MessageOptions) Reset()                    { *m = MessageOptions{} }
-func (m *MessageOptions) String() string            { return proto.CompactTextString(m) }
-func (*MessageOptions) ProtoMessage()               {}
-func (*MessageOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
-
-var extRange_MessageOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_MessageOptions
-}
-
-const Default_MessageOptions_MessageSetWireFormat bool = false
-const Default_MessageOptions_NoStandardDescriptorAccessor bool = false
-const Default_MessageOptions_Deprecated bool = false
-
-func (m *MessageOptions) GetMessageSetWireFormat() bool {
-	if m != nil && m.MessageSetWireFormat != nil {
-		return *m.MessageSetWireFormat
-	}
-	return Default_MessageOptions_MessageSetWireFormat
-}
-
-func (m *MessageOptions) GetNoStandardDescriptorAccessor() bool {
-	if m != nil && m.NoStandardDescriptorAccessor != nil {
-		return *m.NoStandardDescriptorAccessor
-	}
-	return Default_MessageOptions_NoStandardDescriptorAccessor
-}
-
-func (m *MessageOptions) GetDeprecated() bool {
-	if m != nil && m.Deprecated != nil {
-		return *m.Deprecated
-	}
-	return Default_MessageOptions_Deprecated
-}
-
-func (m *MessageOptions) GetMapEntry() bool {
-	if m != nil && m.MapEntry != nil {
-		return *m.MapEntry
-	}
-	return false
-}
-
-func (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-type FieldOptions struct {
-	// The ctype option instructs the C++ code generator to use a different
-	// representation of the field than it normally would.  See the specific
-	// options below.  This option is not yet implemented in the open source
-	// release -- sorry, we'll try to include it in a future version!
-	Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"`
-	// The packed option can be enabled for repeated primitive fields to enable
-	// a more efficient representation on the wire. Rather than repeatedly
-	// writing the tag and type for each element, the entire array is encoded as
-	// a single length-delimited blob. In proto3, only explicit setting it to
-	// false will avoid using packed encoding.
-	Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"`
-	// The jstype option determines the JavaScript type used for values of the
-	// field.  The option is permitted only for 64 bit integral and fixed types
-	// (int64, uint64, sint64, fixed64, sfixed64).  By default these types are
-	// represented as JavaScript strings.  This avoids loss of precision that can
-	// happen when a large value is converted to a floating point JavaScript
-	// numbers.  Specifying JS_NUMBER for the jstype causes the generated
-	// JavaScript code to use the JavaScript "number" type instead of strings.
-	// This option is an enum to permit additional types to be added,
-	// e.g. goog.math.Integer.
-	Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"`
-	// Should this field be parsed lazily?  Lazy applies only to message-type
-	// fields.  It means that when the outer message is initially parsed, the
-	// inner message's contents will not be parsed but instead stored in encoded
-	// form.  The inner message will actually be parsed when it is first accessed.
-	//
-	// This is only a hint.  Implementations are free to choose whether to use
-	// eager or lazy parsing regardless of the value of this option.  However,
-	// setting this option true suggests that the protocol author believes that
-	// using lazy parsing on this field is worth the additional bookkeeping
-	// overhead typically needed to implement it.
-	//
-	// This option does not affect the public interface of any generated code;
-	// all method signatures remain the same.  Furthermore, thread-safety of the
-	// interface is not affected by this option; const methods remain safe to
-	// call from multiple threads concurrently, while non-const methods continue
-	// to require exclusive access.
-	//
-	//
-	// Note that implementations may choose not to check required fields within
-	// a lazy sub-message.  That is, calling IsInitialized() on the outer message
-	// may return true even if the inner message has missing required fields.
-	// This is necessary because otherwise the inner message would have to be
-	// parsed in order to perform the check, defeating the purpose of lazy
-	// parsing.  An implementation which chooses not to check required fields
-	// must be consistent about it.  That is, for any particular sub-message, the
-	// implementation must either *always* check its required fields, or *never*
-	// check its required fields, regardless of whether or not the message has
-	// been parsed.
-	Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"`
-	// Is this field deprecated?
-	// Depending on the target platform, this can emit Deprecated annotations
-	// for accessors, or it will be completely ignored; in the very least, this
-	// is a formalization for deprecating fields.
-	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
-	// For Google-internal migration only. Do not use.
-	Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"`
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *FieldOptions) Reset()                    { *m = FieldOptions{} }
-func (m *FieldOptions) String() string            { return proto.CompactTextString(m) }
-func (*FieldOptions) ProtoMessage()               {}
-func (*FieldOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
-
-var extRange_FieldOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_FieldOptions
-}
-
-const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING
-const Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL
-const Default_FieldOptions_Lazy bool = false
-const Default_FieldOptions_Deprecated bool = false
-const Default_FieldOptions_Weak bool = false
-
-func (m *FieldOptions) GetCtype() FieldOptions_CType {
-	if m != nil && m.Ctype != nil {
-		return *m.Ctype
-	}
-	return Default_FieldOptions_Ctype
-}
-
-func (m *FieldOptions) GetPacked() bool {
-	if m != nil && m.Packed != nil {
-		return *m.Packed
-	}
-	return false
-}
-
-func (m *FieldOptions) GetJstype() FieldOptions_JSType {
-	if m != nil && m.Jstype != nil {
-		return *m.Jstype
-	}
-	return Default_FieldOptions_Jstype
-}
-
-func (m *FieldOptions) GetLazy() bool {
-	if m != nil && m.Lazy != nil {
-		return *m.Lazy
-	}
-	return Default_FieldOptions_Lazy
-}
-
-func (m *FieldOptions) GetDeprecated() bool {
-	if m != nil && m.Deprecated != nil {
-		return *m.Deprecated
-	}
-	return Default_FieldOptions_Deprecated
-}
-
-func (m *FieldOptions) GetWeak() bool {
-	if m != nil && m.Weak != nil {
-		return *m.Weak
-	}
-	return Default_FieldOptions_Weak
-}
-
-func (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-type OneofOptions struct {
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *OneofOptions) Reset()                    { *m = OneofOptions{} }
-func (m *OneofOptions) String() string            { return proto.CompactTextString(m) }
-func (*OneofOptions) ProtoMessage()               {}
-func (*OneofOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
-
-var extRange_OneofOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_OneofOptions
-}
-
-func (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-type EnumOptions struct {
-	// Set this option to true to allow mapping different tag names to the same
-	// value.
-	AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"`
-	// Is this enum deprecated?
-	// Depending on the target platform, this can emit Deprecated annotations
-	// for the enum, or it will be completely ignored; in the very least, this
-	// is a formalization for deprecating enums.
-	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *EnumOptions) Reset()                    { *m = EnumOptions{} }
-func (m *EnumOptions) String() string            { return proto.CompactTextString(m) }
-func (*EnumOptions) ProtoMessage()               {}
-func (*EnumOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
-
-var extRange_EnumOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_EnumOptions
-}
-
-const Default_EnumOptions_Deprecated bool = false
-
-func (m *EnumOptions) GetAllowAlias() bool {
-	if m != nil && m.AllowAlias != nil {
-		return *m.AllowAlias
-	}
-	return false
-}
-
-func (m *EnumOptions) GetDeprecated() bool {
-	if m != nil && m.Deprecated != nil {
-		return *m.Deprecated
-	}
-	return Default_EnumOptions_Deprecated
-}
-
-func (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-type EnumValueOptions struct {
-	// Is this enum value deprecated?
-	// Depending on the target platform, this can emit Deprecated annotations
-	// for the enum value, or it will be completely ignored; in the very least,
-	// this is a formalization for deprecating enum values.
-	Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *EnumValueOptions) Reset()                    { *m = EnumValueOptions{} }
-func (m *EnumValueOptions) String() string            { return proto.CompactTextString(m) }
-func (*EnumValueOptions) ProtoMessage()               {}
-func (*EnumValueOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} }
-
-var extRange_EnumValueOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_EnumValueOptions
-}
-
-const Default_EnumValueOptions_Deprecated bool = false
-
-func (m *EnumValueOptions) GetDeprecated() bool {
-	if m != nil && m.Deprecated != nil {
-		return *m.Deprecated
-	}
-	return Default_EnumValueOptions_Deprecated
-}
-
-func (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-type ServiceOptions struct {
-	// Is this service deprecated?
-	// Depending on the target platform, this can emit Deprecated annotations
-	// for the service, or it will be completely ignored; in the very least,
-	// this is a formalization for deprecating services.
-	Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *ServiceOptions) Reset()                    { *m = ServiceOptions{} }
-func (m *ServiceOptions) String() string            { return proto.CompactTextString(m) }
-func (*ServiceOptions) ProtoMessage()               {}
-func (*ServiceOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} }
-
-var extRange_ServiceOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_ServiceOptions
-}
-
-const Default_ServiceOptions_Deprecated bool = false
-
-func (m *ServiceOptions) GetDeprecated() bool {
-	if m != nil && m.Deprecated != nil {
-		return *m.Deprecated
-	}
-	return Default_ServiceOptions_Deprecated
-}
-
-func (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-type MethodOptions struct {
-	// Is this method deprecated?
-	// Depending on the target platform, this can emit Deprecated annotations
-	// for the method, or it will be completely ignored; in the very least,
-	// this is a formalization for deprecating methods.
-	Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *MethodOptions) Reset()                    { *m = MethodOptions{} }
-func (m *MethodOptions) String() string            { return proto.CompactTextString(m) }
-func (*MethodOptions) ProtoMessage()               {}
-func (*MethodOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
-
-var extRange_MethodOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_MethodOptions
-}
-
-const Default_MethodOptions_Deprecated bool = false
-
-func (m *MethodOptions) GetDeprecated() bool {
-	if m != nil && m.Deprecated != nil {
-		return *m.Deprecated
-	}
-	return Default_MethodOptions_Deprecated
-}
-
-func (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-// A message representing a option the parser does not recognize. This only
-// appears in options protos created by the compiler::Parser class.
-// DescriptorPool resolves these when building Descriptor objects. Therefore,
-// options protos in descriptor objects (e.g. returned by Descriptor::options(),
-// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
-// in them.
-type UninterpretedOption struct {
-	Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"`
-	// The value of the uninterpreted option, in whatever type the tokenizer
-	// identified it as during parsing. Exactly one of these should be set.
-	IdentifierValue  *string  `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"`
-	PositiveIntValue *uint64  `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"`
-	NegativeIntValue *int64   `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"`
-	DoubleValue      *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"`
-	StringValue      []byte   `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
-	AggregateValue   *string  `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"`
-	XXX_unrecognized []byte   `json:"-"`
-}
-
-func (m *UninterpretedOption) Reset()                    { *m = UninterpretedOption{} }
-func (m *UninterpretedOption) String() string            { return proto.CompactTextString(m) }
-func (*UninterpretedOption) ProtoMessage()               {}
-func (*UninterpretedOption) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
-
-func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {
-	if m != nil {
-		return m.Name
-	}
-	return nil
-}
-
-func (m *UninterpretedOption) GetIdentifierValue() string {
-	if m != nil && m.IdentifierValue != nil {
-		return *m.IdentifierValue
-	}
-	return ""
-}
-
-func (m *UninterpretedOption) GetPositiveIntValue() uint64 {
-	if m != nil && m.PositiveIntValue != nil {
-		return *m.PositiveIntValue
-	}
-	return 0
-}
-
-func (m *UninterpretedOption) GetNegativeIntValue() int64 {
-	if m != nil && m.NegativeIntValue != nil {
-		return *m.NegativeIntValue
-	}
-	return 0
-}
-
-func (m *UninterpretedOption) GetDoubleValue() float64 {
-	if m != nil && m.DoubleValue != nil {
-		return *m.DoubleValue
-	}
-	return 0
-}
-
-func (m *UninterpretedOption) GetStringValue() []byte {
-	if m != nil {
-		return m.StringValue
-	}
-	return nil
-}
-
-func (m *UninterpretedOption) GetAggregateValue() string {
-	if m != nil && m.AggregateValue != nil {
-		return *m.AggregateValue
-	}
-	return ""
-}
-
-// The name of the uninterpreted option.  Each string represents a segment in
-// a dot-separated name.  is_extension is true iff a segment represents an
-// extension (denoted with parentheses in options specs in .proto files).
-// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
-// "foo.(bar.baz).qux".
-type UninterpretedOption_NamePart struct {
-	NamePart         *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"`
-	IsExtension      *bool   `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"`
-	XXX_unrecognized []byte  `json:"-"`
-}
-
-func (m *UninterpretedOption_NamePart) Reset()         { *m = UninterpretedOption_NamePart{} }
-func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }
-func (*UninterpretedOption_NamePart) ProtoMessage()    {}
-func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {
-	return fileDescriptor1, []int{17, 0}
-}
-
-func (m *UninterpretedOption_NamePart) GetNamePart() string {
-	if m != nil && m.NamePart != nil {
-		return *m.NamePart
-	}
-	return ""
-}
-
-func (m *UninterpretedOption_NamePart) GetIsExtension() bool {
-	if m != nil && m.IsExtension != nil {
-		return *m.IsExtension
-	}
-	return false
-}
-
-// Encapsulates information about the original source file from which a
-// FileDescriptorProto was generated.
-type SourceCodeInfo struct {
-	// A Location identifies a piece of source code in a .proto file which
-	// corresponds to a particular definition.  This information is intended
-	// to be useful to IDEs, code indexers, documentation generators, and similar
-	// tools.
-	//
-	// For example, say we have a file like:
-	//   message Foo {
-	//     optional string foo = 1;
-	//   }
-	// Let's look at just the field definition:
-	//   optional string foo = 1;
-	//   ^       ^^     ^^  ^  ^^^
-	//   a       bc     de  f  ghi
-	// We have the following locations:
-	//   span   path               represents
-	//   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
-	//   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
-	//   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
-	//   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
-	//   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
-	//
-	// Notes:
-	// - A location may refer to a repeated field itself (i.e. not to any
-	//   particular index within it).  This is used whenever a set of elements are
-	//   logically enclosed in a single code segment.  For example, an entire
-	//   extend block (possibly containing multiple extension definitions) will
-	//   have an outer location whose path refers to the "extensions" repeated
-	//   field without an index.
-	// - Multiple locations may have the same path.  This happens when a single
-	//   logical declaration is spread out across multiple places.  The most
-	//   obvious example is the "extend" block again -- there may be multiple
-	//   extend blocks in the same scope, each of which will have the same path.
-	// - A location's span is not always a subset of its parent's span.  For
-	//   example, the "extendee" of an extension declaration appears at the
-	//   beginning of the "extend" block and is shared by all extensions within
-	//   the block.
-	// - Just because a location's span is a subset of some other location's span
-	//   does not mean that it is a descendent.  For example, a "group" defines
-	//   both a type and a field in a single declaration.  Thus, the locations
-	//   corresponding to the type and field and their components will overlap.
-	// - Code which tries to interpret locations should probably be designed to
-	//   ignore those that it doesn't understand, as more types of locations could
-	//   be recorded in the future.
-	Location         []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"`
-	XXX_unrecognized []byte                     `json:"-"`
-}
-
-func (m *SourceCodeInfo) Reset()                    { *m = SourceCodeInfo{} }
-func (m *SourceCodeInfo) String() string            { return proto.CompactTextString(m) }
-func (*SourceCodeInfo) ProtoMessage()               {}
-func (*SourceCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{18} }
-
-func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {
-	if m != nil {
-		return m.Location
-	}
-	return nil
-}
-
-type SourceCodeInfo_Location struct {
-	// Identifies which part of the FileDescriptorProto was defined at this
-	// location.
-	//
-	// Each element is a field number or an index.  They form a path from
-	// the root FileDescriptorProto to the place where the definition.  For
-	// example, this path:
-	//   [ 4, 3, 2, 7, 1 ]
-	// refers to:
-	//   file.message_type(3)  // 4, 3
-	//       .field(7)         // 2, 7
-	//       .name()           // 1
-	// This is because FileDescriptorProto.message_type has field number 4:
-	//   repeated DescriptorProto message_type = 4;
-	// and DescriptorProto.field has field number 2:
-	//   repeated FieldDescriptorProto field = 2;
-	// and FieldDescriptorProto.name has field number 1:
-	//   optional string name = 1;
-	//
-	// Thus, the above path gives the location of a field name.  If we removed
-	// the last element:
-	//   [ 4, 3, 2, 7 ]
-	// this path refers to the whole field declaration (from the beginning
-	// of the label to the terminating semicolon).
-	Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
-	// Always has exactly three or four elements: start line, start column,
-	// end line (optional, otherwise assumed same as start line), end column.
-	// These are packed into a single field for efficiency.  Note that line
-	// and column numbers are zero-based -- typically you will want to add
-	// 1 to each before displaying to a user.
-	Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"`
-	// If this SourceCodeInfo represents a complete declaration, these are any
-	// comments appearing before and after the declaration which appear to be
-	// attached to the declaration.
-	//
-	// A series of line comments appearing on consecutive lines, with no other
-	// tokens appearing on those lines, will be treated as a single comment.
-	//
-	// leading_detached_comments will keep paragraphs of comments that appear
-	// before (but not connected to) the current element. Each paragraph,
-	// separated by empty lines, will be one comment element in the repeated
-	// field.
-	//
-	// Only the comment content is provided; comment markers (e.g. //) are
-	// stripped out.  For block comments, leading whitespace and an asterisk
-	// will be stripped from the beginning of each line other than the first.
-	// Newlines are included in the output.
-	//
-	// Examples:
-	//
-	//   optional int32 foo = 1;  // Comment attached to foo.
-	//   // Comment attached to bar.
-	//   optional int32 bar = 2;
-	//
-	//   optional string baz = 3;
-	//   // Comment attached to baz.
-	//   // Another line attached to baz.
-	//
-	//   // Comment attached to qux.
-	//   //
-	//   // Another line attached to qux.
-	//   optional double qux = 4;
-	//
-	//   // Detached comment for corge. This is not leading or trailing comments
-	//   // to qux or corge because there are blank lines separating it from
-	//   // both.
-	//
-	//   // Detached comment for corge paragraph 2.
-	//
-	//   optional string corge = 5;
-	//   /* Block comment attached
-	//    * to corge.  Leading asterisks
-	//    * will be removed. */
-	//   /* Block comment attached to
-	//    * grault. */
-	//   optional int32 grault = 6;
-	//
-	//   // ignored detached comments.
-	LeadingComments         *string  `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"`
-	TrailingComments        *string  `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"`
-	LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"`
-	XXX_unrecognized        []byte   `json:"-"`
-}
-
-func (m *SourceCodeInfo_Location) Reset()                    { *m = SourceCodeInfo_Location{} }
-func (m *SourceCodeInfo_Location) String() string            { return proto.CompactTextString(m) }
-func (*SourceCodeInfo_Location) ProtoMessage()               {}
-func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{18, 0} }
-
-func (m *SourceCodeInfo_Location) GetPath() []int32 {
-	if m != nil {
-		return m.Path
-	}
-	return nil
-}
-
-func (m *SourceCodeInfo_Location) GetSpan() []int32 {
-	if m != nil {
-		return m.Span
-	}
-	return nil
-}
-
-func (m *SourceCodeInfo_Location) GetLeadingComments() string {
-	if m != nil && m.LeadingComments != nil {
-		return *m.LeadingComments
-	}
-	return ""
-}
-
-func (m *SourceCodeInfo_Location) GetTrailingComments() string {
-	if m != nil && m.TrailingComments != nil {
-		return *m.TrailingComments
-	}
-	return ""
-}
-
-func (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string {
-	if m != nil {
-		return m.LeadingDetachedComments
-	}
-	return nil
-}
-
-// Describes the relationship between generated code and its original source
-// file. A GeneratedCodeInfo message is associated with only one generated
-// source file, but may contain references to different source .proto files.
-type GeneratedCodeInfo struct {
-	// An Annotation connects some span of text in generated code to an element
-	// of its generating .proto file.
-	Annotation       []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"`
-	XXX_unrecognized []byte                          `json:"-"`
-}
-
-func (m *GeneratedCodeInfo) Reset()                    { *m = GeneratedCodeInfo{} }
-func (m *GeneratedCodeInfo) String() string            { return proto.CompactTextString(m) }
-func (*GeneratedCodeInfo) ProtoMessage()               {}
-func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{19} }
-
-func (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation {
-	if m != nil {
-		return m.Annotation
-	}
-	return nil
-}
-
-type GeneratedCodeInfo_Annotation struct {
-	// Identifies the element in the original source .proto file. This field
-	// is formatted the same as SourceCodeInfo.Location.path.
-	Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
-	// Identifies the filesystem path to the original source .proto.
-	SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"`
-	// Identifies the starting offset in bytes in the generated code
-	// that relates to the identified object.
-	Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"`
-	// Identifies the ending offset in bytes in the generated code that
-	// relates to the identified offset. The end offset should be one past
-	// the last relevant byte (so the length of the text = end - begin).
-	End              *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"`
-	XXX_unrecognized []byte `json:"-"`
-}
-
-func (m *GeneratedCodeInfo_Annotation) Reset()         { *m = GeneratedCodeInfo_Annotation{} }
-func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) }
-func (*GeneratedCodeInfo_Annotation) ProtoMessage()    {}
-func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {
-	return fileDescriptor1, []int{19, 0}
-}
-
-func (m *GeneratedCodeInfo_Annotation) GetPath() []int32 {
-	if m != nil {
-		return m.Path
-	}
-	return nil
-}
-
-func (m *GeneratedCodeInfo_Annotation) GetSourceFile() string {
-	if m != nil && m.SourceFile != nil {
-		return *m.SourceFile
-	}
-	return ""
-}
-
-func (m *GeneratedCodeInfo_Annotation) GetBegin() int32 {
-	if m != nil && m.Begin != nil {
-		return *m.Begin
-	}
-	return 0
-}
-
-func (m *GeneratedCodeInfo_Annotation) GetEnd() int32 {
-	if m != nil && m.End != nil {
-		return *m.End
-	}
-	return 0
-}
-
-func init() {
-	proto.RegisterType((*FileDescriptorSet)(nil), "google.protobuf.FileDescriptorSet")
-	proto.RegisterType((*FileDescriptorProto)(nil), "google.protobuf.FileDescriptorProto")
-	proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto")
-	proto.RegisterType((*DescriptorProto_ExtensionRange)(nil), "google.protobuf.DescriptorProto.ExtensionRange")
-	proto.RegisterType((*DescriptorProto_ReservedRange)(nil), "google.protobuf.DescriptorProto.ReservedRange")
-	proto.RegisterType((*FieldDescriptorProto)(nil), "google.protobuf.FieldDescriptorProto")
-	proto.RegisterType((*OneofDescriptorProto)(nil), "google.protobuf.OneofDescriptorProto")
-	proto.RegisterType((*EnumDescriptorProto)(nil), "google.protobuf.EnumDescriptorProto")
-	proto.RegisterType((*EnumValueDescriptorProto)(nil), "google.protobuf.EnumValueDescriptorProto")
-	proto.RegisterType((*ServiceDescriptorProto)(nil), "google.protobuf.ServiceDescriptorProto")
-	proto.RegisterType((*MethodDescriptorProto)(nil), "google.protobuf.MethodDescriptorProto")
-	proto.RegisterType((*FileOptions)(nil), "google.protobuf.FileOptions")
-	proto.RegisterType((*MessageOptions)(nil), "google.protobuf.MessageOptions")
-	proto.RegisterType((*FieldOptions)(nil), "google.protobuf.FieldOptions")
-	proto.RegisterType((*OneofOptions)(nil), "google.protobuf.OneofOptions")
-	proto.RegisterType((*EnumOptions)(nil), "google.protobuf.EnumOptions")
-	proto.RegisterType((*EnumValueOptions)(nil), "google.protobuf.EnumValueOptions")
-	proto.RegisterType((*ServiceOptions)(nil), "google.protobuf.ServiceOptions")
-	proto.RegisterType((*MethodOptions)(nil), "google.protobuf.MethodOptions")
-	proto.RegisterType((*UninterpretedOption)(nil), "google.protobuf.UninterpretedOption")
-	proto.RegisterType((*UninterpretedOption_NamePart)(nil), "google.protobuf.UninterpretedOption.NamePart")
-	proto.RegisterType((*SourceCodeInfo)(nil), "google.protobuf.SourceCodeInfo")
-	proto.RegisterType((*SourceCodeInfo_Location)(nil), "google.protobuf.SourceCodeInfo.Location")
-	proto.RegisterType((*GeneratedCodeInfo)(nil), "google.protobuf.GeneratedCodeInfo")
-	proto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), "google.protobuf.GeneratedCodeInfo.Annotation")
-	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)
-	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)
-	proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)
-	proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value)
-	proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value)
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/protobuf/descriptor.proto", fileDescriptor1)
-}
-
-var fileDescriptor1 = []byte{
-	// 2309 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x6f, 0x1b, 0xc7,
-	0x15, 0xcf, 0xf2, 0x9f, 0xc8, 0x47, 0x8a, 0x1a, 0x8d, 0x14, 0x67, 0x2d, 0xc7, 0xb1, 0xcc, 0xd8,
-	0xb1, 0x6c, 0xb7, 0x54, 0x20, 0xff, 0x89, 0xa3, 0x14, 0x29, 0x28, 0x71, 0xad, 0xd0, 0xa0, 0x44,
-	0x76, 0x29, 0xb5, 0x4e, 0x2e, 0x8b, 0xd1, 0xee, 0x90, 0x5a, 0x7b, 0x39, 0xcb, 0xee, 0x2e, 0x6d,
-	0x2b, 0x27, 0x03, 0x3d, 0xf5, 0xd2, 0x73, 0xd1, 0x16, 0x3d, 0xe4, 0x12, 0xa0, 0x1f, 0xa0, 0x87,
-	0x7e, 0x85, 0x02, 0x05, 0xfa, 0x15, 0x8a, 0x02, 0xed, 0x37, 0xe8, 0xb5, 0x98, 0x99, 0xdd, 0xe5,
-	0x2e, 0xff, 0xc4, 0x6a, 0x80, 0x24, 0xbd, 0xd8, 0x9c, 0xdf, 0xfb, 0xbd, 0x37, 0x6f, 0xde, 0xbc,
-	0x79, 0xf3, 0x76, 0x04, 0xf7, 0x07, 0xae, 0x3b, 0x70, 0x68, 0x7d, 0xe0, 0x3a, 0x84, 0x0d, 0xea,
-	0xae, 0x37, 0xd8, 0x1e, 0x50, 0x36, 0xf2, 0xdc, 0xc0, 0xdd, 0x16, 0xff, 0x9e, 0x8e, 0xfb, 0xdb,
-	0x16, 0xf5, 0x4d, 0xcf, 0x1e, 0x05, 0xae, 0x57, 0x17, 0x18, 0x5e, 0x09, 0xb5, 0x22, 0x46, 0xed,
-	0x10, 0x56, 0x1f, 0xdb, 0x0e, 0x6d, 0xc6, 0xc4, 0x1e, 0x0d, 0xf0, 0x23, 0xc8, 0xf5, 0x6d, 0x87,
-	0xaa, 0xca, 0x66, 0x76, 0xab, 0xbc, 0x73, 0xa3, 0x3e, 0xa5, 0x54, 0x4f, 0x6b, 0x74, 0x39, 0xac,
-	0x0b, 0x8d, 0xda, 0x3f, 0x73, 0xb0, 0x36, 0x47, 0x8a, 0x31, 0xe4, 0x18, 0x19, 0x72, 0x8b, 0xca,
-	0x56, 0x49, 0x17, 0xbf, 0xb1, 0x0a, 0x4b, 0x23, 0x62, 0x3e, 0x27, 0x03, 0xaa, 0x66, 0x04, 0x1c,
-	0x0d, 0xf1, 0x7b, 0x00, 0x16, 0x1d, 0x51, 0x66, 0x51, 0x66, 0x9e, 0xab, 0xd9, 0xcd, 0xec, 0x56,
-	0x49, 0x4f, 0x20, 0xf8, 0x2e, 0xac, 0x8e, 0xc6, 0xa7, 0x8e, 0x6d, 0x1a, 0x09, 0x1a, 0x6c, 0x66,
-	0xb7, 0xf2, 0x3a, 0x92, 0x82, 0xe6, 0x84, 0x7c, 0x0b, 0x56, 0x5e, 0x52, 0xf2, 0x3c, 0x49, 0x2d,
-	0x0b, 0x6a, 0x95, 0xc3, 0x09, 0xe2, 0x3e, 0x54, 0x86, 0xd4, 0xf7, 0xc9, 0x80, 0x1a, 0xc1, 0xf9,
-	0x88, 0xaa, 0x39, 0xb1, 0xfa, 0xcd, 0x99, 0xd5, 0x4f, 0xaf, 0xbc, 0x1c, 0x6a, 0x1d, 0x9f, 0x8f,
-	0x28, 0x6e, 0x40, 0x89, 0xb2, 0xf1, 0x50, 0x5a, 0xc8, 0x2f, 0x88, 0x9f, 0xc6, 0xc6, 0xc3, 0x69,
-	0x2b, 0x45, 0xae, 0x16, 0x9a, 0x58, 0xf2, 0xa9, 0xf7, 0xc2, 0x36, 0xa9, 0x5a, 0x10, 0x06, 0x6e,
-	0xcd, 0x18, 0xe8, 0x49, 0xf9, 0xb4, 0x8d, 0x48, 0x0f, 0xef, 0x43, 0x89, 0xbe, 0x0a, 0x28, 0xf3,
-	0x6d, 0x97, 0xa9, 0x4b, 0xc2, 0xc8, 0xcd, 0x39, 0xbb, 0x48, 0x1d, 0x6b, 0xda, 0xc4, 0x44, 0x0f,
-	0x3f, 0x84, 0x25, 0x77, 0x14, 0xd8, 0x2e, 0xf3, 0xd5, 0xe2, 0xa6, 0xb2, 0x55, 0xde, 0x79, 0x77,
-	0x6e, 0x22, 0x74, 0x24, 0x47, 0x8f, 0xc8, 0xb8, 0x05, 0xc8, 0x77, 0xc7, 0x9e, 0x49, 0x0d, 0xd3,
-	0xb5, 0xa8, 0x61, 0xb3, 0xbe, 0xab, 0x96, 0x84, 0x81, 0x6b, 0xb3, 0x0b, 0x11, 0xc4, 0x7d, 0xd7,
-	0xa2, 0x2d, 0xd6, 0x77, 0xf5, 0xaa, 0x9f, 0x1a, 0xe3, 0x4b, 0x50, 0xf0, 0xcf, 0x59, 0x40, 0x5e,
-	0xa9, 0x15, 0x91, 0x21, 0xe1, 0xa8, 0xf6, 0x9f, 0x3c, 0xac, 0x5c, 0x24, 0xc5, 0x3e, 0x81, 0x7c,
-	0x9f, 0xaf, 0x52, 0xcd, 0xfc, 0x2f, 0x31, 0x90, 0x3a, 0xe9, 0x20, 0x16, 0xbe, 0x65, 0x10, 0x1b,
-	0x50, 0x66, 0xd4, 0x0f, 0xa8, 0x25, 0x33, 0x22, 0x7b, 0xc1, 0x9c, 0x02, 0xa9, 0x34, 0x9b, 0x52,
-	0xb9, 0x6f, 0x95, 0x52, 0x4f, 0x61, 0x25, 0x76, 0xc9, 0xf0, 0x08, 0x1b, 0x44, 0xb9, 0xb9, 0xfd,
-	0x26, 0x4f, 0xea, 0x5a, 0xa4, 0xa7, 0x73, 0x35, 0xbd, 0x4a, 0x53, 0x63, 0xdc, 0x04, 0x70, 0x19,
-	0x75, 0xfb, 0x86, 0x45, 0x4d, 0x47, 0x2d, 0x2e, 0x88, 0x52, 0x87, 0x53, 0x66, 0xa2, 0xe4, 0x4a,
-	0xd4, 0x74, 0xf0, 0xc7, 0x93, 0x54, 0x5b, 0x5a, 0x90, 0x29, 0x87, 0xf2, 0x90, 0xcd, 0x64, 0xdb,
-	0x09, 0x54, 0x3d, 0xca, 0xf3, 0x9e, 0x5a, 0xe1, 0xca, 0x4a, 0xc2, 0x89, 0xfa, 0x1b, 0x57, 0xa6,
-	0x87, 0x6a, 0x72, 0x61, 0xcb, 0x5e, 0x72, 0x88, 0xdf, 0x87, 0x18, 0x30, 0x44, 0x5a, 0x81, 0xa8,
-	0x42, 0x95, 0x08, 0x3c, 0x22, 0x43, 0xba, 0xf1, 0x08, 0xaa, 0xe9, 0xf0, 0xe0, 0x75, 0xc8, 0xfb,
-	0x01, 0xf1, 0x02, 0x91, 0x85, 0x79, 0x5d, 0x0e, 0x30, 0x82, 0x2c, 0x65, 0x96, 0xa8, 0x72, 0x79,
-	0x9d, 0xff, 0xdc, 0xf8, 0x08, 0x96, 0x53, 0xd3, 0x5f, 0x54, 0xb1, 0xf6, 0xdb, 0x02, 0xac, 0xcf,
-	0xcb, 0xb9, 0xb9, 0xe9, 0x7f, 0x09, 0x0a, 0x6c, 0x3c, 0x3c, 0xa5, 0x9e, 0x9a, 0x15, 0x16, 0xc2,
-	0x11, 0x6e, 0x40, 0xde, 0x21, 0xa7, 0xd4, 0x51, 0x73, 0x9b, 0xca, 0x56, 0x75, 0xe7, 0xee, 0x85,
-	0xb2, 0xba, 0xde, 0xe6, 0x2a, 0xba, 0xd4, 0xc4, 0x9f, 0x42, 0x2e, 0x2c, 0x71, 0xdc, 0xc2, 0x9d,
-	0x8b, 0x59, 0xe0, 0xb9, 0xa8, 0x0b, 0x3d, 0x7c, 0x05, 0x4a, 0xfc, 0x7f, 0x19, 0xdb, 0x82, 0xf0,
-	0xb9, 0xc8, 0x01, 0x1e, 0x57, 0xbc, 0x01, 0x45, 0x91, 0x66, 0x16, 0x8d, 0xae, 0x86, 0x78, 0xcc,
-	0x37, 0xc6, 0xa2, 0x7d, 0x32, 0x76, 0x02, 0xe3, 0x05, 0x71, 0xc6, 0x54, 0x24, 0x4c, 0x49, 0xaf,
-	0x84, 0xe0, 0xcf, 0x39, 0x86, 0xaf, 0x41, 0x59, 0x66, 0xa5, 0xcd, 0x2c, 0xfa, 0x4a, 0x54, 0x9f,
-	0xbc, 0x2e, 0x13, 0xb5, 0xc5, 0x11, 0x3e, 0xfd, 0x33, 0xdf, 0x65, 0xd1, 0xd6, 0x8a, 0x29, 0x38,
-	0x20, 0xa6, 0xff, 0x68, 0xba, 0xf0, 0x5d, 0x9d, 0xbf, 0xbc, 0xe9, 0x5c, 0xac, 0xfd, 0x39, 0x03,
-	0x39, 0x71, 0xde, 0x56, 0xa0, 0x7c, 0xfc, 0x79, 0x57, 0x33, 0x9a, 0x9d, 0x93, 0xbd, 0xb6, 0x86,
-	0x14, 0x5c, 0x05, 0x10, 0xc0, 0xe3, 0x76, 0xa7, 0x71, 0x8c, 0x32, 0xf1, 0xb8, 0x75, 0x74, 0xfc,
-	0xf0, 0x3e, 0xca, 0xc6, 0x0a, 0x27, 0x12, 0xc8, 0x25, 0x09, 0xf7, 0x76, 0x50, 0x1e, 0x23, 0xa8,
-	0x48, 0x03, 0xad, 0xa7, 0x5a, 0xf3, 0xe1, 0x7d, 0x54, 0x48, 0x23, 0xf7, 0x76, 0xd0, 0x12, 0x5e,
-	0x86, 0x92, 0x40, 0xf6, 0x3a, 0x9d, 0x36, 0x2a, 0xc6, 0x36, 0x7b, 0xc7, 0x7a, 0xeb, 0xe8, 0x00,
-	0x95, 0x62, 0x9b, 0x07, 0x7a, 0xe7, 0xa4, 0x8b, 0x20, 0xb6, 0x70, 0xa8, 0xf5, 0x7a, 0x8d, 0x03,
-	0x0d, 0x95, 0x63, 0xc6, 0xde, 0xe7, 0xc7, 0x5a, 0x0f, 0x55, 0x52, 0x6e, 0xdd, 0xdb, 0x41, 0xcb,
-	0xf1, 0x14, 0xda, 0xd1, 0xc9, 0x21, 0xaa, 0xe2, 0x55, 0x58, 0x96, 0x53, 0x44, 0x4e, 0xac, 0x4c,
-	0x41, 0x0f, 0xef, 0x23, 0x34, 0x71, 0x44, 0x5a, 0x59, 0x4d, 0x01, 0x0f, 0xef, 0x23, 0x5c, 0xdb,
-	0x87, 0xbc, 0xc8, 0x2e, 0x8c, 0xa1, 0xda, 0x6e, 0xec, 0x69, 0x6d, 0xa3, 0xd3, 0x3d, 0x6e, 0x75,
-	0x8e, 0x1a, 0x6d, 0xa4, 0x4c, 0x30, 0x5d, 0xfb, 0xd9, 0x49, 0x4b, 0xd7, 0x9a, 0x28, 0x93, 0xc4,
-	0xba, 0x5a, 0xe3, 0x58, 0x6b, 0xa2, 0x6c, 0xcd, 0x84, 0xf5, 0x79, 0x75, 0x66, 0xee, 0xc9, 0x48,
-	0x6c, 0x71, 0x66, 0xc1, 0x16, 0x0b, 0x5b, 0x33, 0x5b, 0xfc, 0x95, 0x02, 0x6b, 0x73, 0x6a, 0xed,
-	0xdc, 0x49, 0x7e, 0x0a, 0x79, 0x99, 0xa2, 0xf2, 0xf6, 0xb9, 0x3d, 0xb7, 0x68, 0x8b, 0x84, 0x9d,
-	0xb9, 0x81, 0x84, 0x5e, 0xf2, 0x06, 0xce, 0x2e, 0xb8, 0x81, 0xb9, 0x89, 0x19, 0x27, 0x7f, 0xa5,
-	0x80, 0xba, 0xc8, 0xf6, 0x1b, 0x0a, 0x45, 0x26, 0x55, 0x28, 0x3e, 0x99, 0x76, 0xe0, 0xfa, 0xe2,
-	0x35, 0xcc, 0x78, 0xf1, 0xb5, 0x02, 0x97, 0xe6, 0x37, 0x2a, 0x73, 0x7d, 0xf8, 0x14, 0x0a, 0x43,
-	0x1a, 0x9c, 0xb9, 0xd1, 0x65, 0xfd, 0xc1, 0x9c, 0x2b, 0x80, 0x8b, 0xa7, 0x63, 0x15, 0x6a, 0x25,
-	0xef, 0x90, 0xec, 0xa2, 0x6e, 0x43, 0x7a, 0x33, 0xe3, 0xe9, 0xaf, 0x33, 0xf0, 0xf6, 0x5c, 0xe3,
-	0x73, 0x1d, 0xbd, 0x0a, 0x60, 0xb3, 0xd1, 0x38, 0x90, 0x17, 0xb2, 0xac, 0x4f, 0x25, 0x81, 0x88,
-	0xb3, 0xcf, 0x6b, 0xcf, 0x38, 0x88, 0xe5, 0x59, 0x21, 0x07, 0x09, 0x09, 0xc2, 0xa3, 0x89, 0xa3,
-	0x39, 0xe1, 0xe8, 0x7b, 0x0b, 0x56, 0x3a, 0x73, 0xd7, 0x7d, 0x08, 0xc8, 0x74, 0x6c, 0xca, 0x02,
-	0xc3, 0x0f, 0x3c, 0x4a, 0x86, 0x36, 0x1b, 0x88, 0x02, 0x5c, 0xdc, 0xcd, 0xf7, 0x89, 0xe3, 0x53,
-	0x7d, 0x45, 0x8a, 0x7b, 0x91, 0x94, 0x6b, 0x88, 0x5b, 0xc6, 0x4b, 0x68, 0x14, 0x52, 0x1a, 0x52,
-	0x1c, 0x6b, 0xd4, 0x7e, 0xb3, 0x04, 0xe5, 0x44, 0x5b, 0x87, 0xaf, 0x43, 0xe5, 0x19, 0x79, 0x41,
-	0x8c, 0xa8, 0x55, 0x97, 0x91, 0x28, 0x73, 0xac, 0x1b, 0xb6, 0xeb, 0x1f, 0xc2, 0xba, 0xa0, 0xb8,
-	0xe3, 0x80, 0x7a, 0x86, 0xe9, 0x10, 0xdf, 0x17, 0x41, 0x2b, 0x0a, 0x2a, 0xe6, 0xb2, 0x0e, 0x17,
-	0xed, 0x47, 0x12, 0xfc, 0x00, 0xd6, 0x84, 0xc6, 0x70, 0xec, 0x04, 0xf6, 0xc8, 0xa1, 0x06, 0xff,
-	0x78, 0xf0, 0x45, 0x21, 0x8e, 0x3d, 0x5b, 0xe5, 0x8c, 0xc3, 0x90, 0xc0, 0x3d, 0xf2, 0x71, 0x13,
-	0xae, 0x0a, 0xb5, 0x01, 0x65, 0xd4, 0x23, 0x01, 0x35, 0xe8, 0x2f, 0xc7, 0xc4, 0xf1, 0x0d, 0xc2,
-	0x2c, 0xe3, 0x8c, 0xf8, 0x67, 0xea, 0x3a, 0x37, 0xb0, 0x97, 0x51, 0x15, 0xfd, 0x32, 0x27, 0x1e,
-	0x84, 0x3c, 0x4d, 0xd0, 0x1a, 0xcc, 0xfa, 0x8c, 0xf8, 0x67, 0x78, 0x17, 0x2e, 0x09, 0x2b, 0x7e,
-	0xe0, 0xd9, 0x6c, 0x60, 0x98, 0x67, 0xd4, 0x7c, 0x6e, 0x8c, 0x83, 0xfe, 0x23, 0xf5, 0x4a, 0x72,
-	0x7e, 0xe1, 0x61, 0x4f, 0x70, 0xf6, 0x39, 0xe5, 0x24, 0xe8, 0x3f, 0xc2, 0x3d, 0xa8, 0xf0, 0xcd,
-	0x18, 0xda, 0x5f, 0x52, 0xa3, 0xef, 0x7a, 0xe2, 0x66, 0xa9, 0xce, 0x39, 0xd9, 0x89, 0x08, 0xd6,
-	0x3b, 0xa1, 0xc2, 0xa1, 0x6b, 0xd1, 0xdd, 0x7c, 0xaf, 0xab, 0x69, 0x4d, 0xbd, 0x1c, 0x59, 0x79,
-	0xec, 0x7a, 0x3c, 0xa1, 0x06, 0x6e, 0x1c, 0xe0, 0xb2, 0x4c, 0xa8, 0x81, 0x1b, 0x85, 0xf7, 0x01,
-	0xac, 0x99, 0xa6, 0x5c, 0xb3, 0x6d, 0x1a, 0x61, 0x8b, 0xef, 0xab, 0x28, 0x15, 0x2c, 0xd3, 0x3c,
-	0x90, 0x84, 0x30, 0xc7, 0x7d, 0xfc, 0x31, 0xbc, 0x3d, 0x09, 0x56, 0x52, 0x71, 0x75, 0x66, 0x95,
-	0xd3, 0xaa, 0x0f, 0x60, 0x6d, 0x74, 0x3e, 0xab, 0x88, 0x53, 0x33, 0x8e, 0xce, 0xa7, 0xd5, 0x6e,
-	0x8a, 0xcf, 0x36, 0x8f, 0x9a, 0x24, 0xa0, 0x96, 0xfa, 0x4e, 0x92, 0x9d, 0x10, 0xe0, 0x6d, 0x40,
-	0xa6, 0x69, 0x50, 0x46, 0x4e, 0x1d, 0x6a, 0x10, 0x8f, 0x32, 0xe2, 0xab, 0xd7, 0x92, 0xe4, 0xaa,
-	0x69, 0x6a, 0x42, 0xda, 0x10, 0x42, 0x7c, 0x07, 0x56, 0xdd, 0xd3, 0x67, 0xa6, 0xcc, 0x2c, 0x63,
-	0xe4, 0xd1, 0xbe, 0xfd, 0x4a, 0xbd, 0x21, 0xc2, 0xb4, 0xc2, 0x05, 0x22, 0xaf, 0xba, 0x02, 0xc6,
-	0xb7, 0x01, 0x99, 0xfe, 0x19, 0xf1, 0x46, 0xe2, 0x6a, 0xf7, 0x47, 0xc4, 0xa4, 0xea, 0x4d, 0x49,
-	0x95, 0xf8, 0x51, 0x04, 0xe3, 0xa7, 0xb0, 0x3e, 0x66, 0x36, 0x0b, 0xa8, 0x37, 0xf2, 0x28, 0xef,
-	0xd0, 0xe5, 0x31, 0x53, 0xff, 0xb5, 0xb4, 0xa0, 0xc7, 0x3e, 0x49, 0xb2, 0xe5, 0xee, 0xea, 0x6b,
-	0xe3, 0x59, 0xb0, 0xb6, 0x0b, 0x95, 0xe4, 0xa6, 0xe3, 0x12, 0xc8, 0x6d, 0x47, 0x0a, 0xbf, 0x40,
-	0xf7, 0x3b, 0x4d, 0x7e, 0xf5, 0x7d, 0xa1, 0xa1, 0x0c, 0xbf, 0x82, 0xdb, 0xad, 0x63, 0xcd, 0xd0,
-	0x4f, 0x8e, 0x8e, 0x5b, 0x87, 0x1a, 0xca, 0xde, 0x29, 0x15, 0xff, 0xbd, 0x84, 0x5e, 0xbf, 0x7e,
-	0xfd, 0x3a, 0xf3, 0x24, 0x57, 0xfc, 0x00, 0xdd, 0xaa, 0xfd, 0x35, 0x03, 0xd5, 0x74, 0xf3, 0x8b,
-	0x7f, 0x02, 0xef, 0x44, 0x5f, 0xaa, 0x3e, 0x0d, 0x8c, 0x97, 0xb6, 0x27, 0xb2, 0x71, 0x48, 0x64,
-	0xfb, 0x18, 0x07, 0x72, 0x3d, 0x64, 0xf5, 0x68, 0xf0, 0x0b, 0xdb, 0xe3, 0xb9, 0x36, 0x24, 0x01,
-	0x6e, 0xc3, 0x35, 0xe6, 0x1a, 0x7e, 0x40, 0x98, 0x45, 0x3c, 0xcb, 0x98, 0xbc, 0x11, 0x18, 0xc4,
-	0x34, 0xa9, 0xef, 0xbb, 0xf2, 0x16, 0x88, 0xad, 0xbc, 0xcb, 0xdc, 0x5e, 0x48, 0x9e, 0x94, 0xc7,
-	0x46, 0x48, 0x9d, 0xda, 0xf4, 0xec, 0xa2, 0x4d, 0xbf, 0x02, 0xa5, 0x21, 0x19, 0x19, 0x94, 0x05,
-	0xde, 0xb9, 0x68, 0xd9, 0x8a, 0x7a, 0x71, 0x48, 0x46, 0x1a, 0x1f, 0x7f, 0x77, 0x3b, 0x91, 0x8e,
-	0x66, 0x11, 0x95, 0x6a, 0xff, 0xc8, 0x42, 0x25, 0xd9, 0xbc, 0xf1, 0x5e, 0xd8, 0x14, 0x85, 0x5a,
-	0x11, 0x47, 0xf9, 0xfd, 0x6f, 0x6c, 0xf5, 0xea, 0xfb, 0xbc, 0x82, 0xef, 0x16, 0x64, 0x4b, 0xa5,
-	0x4b, 0x4d, 0x7e, 0x7b, 0xf2, 0xc3, 0x4b, 0x65, 0xa3, 0x5e, 0xd4, 0xc3, 0x11, 0x3e, 0x80, 0xc2,
-	0x33, 0x5f, 0xd8, 0x2e, 0x08, 0xdb, 0x37, 0xbe, 0xd9, 0xf6, 0x93, 0x9e, 0x30, 0x5e, 0x7a, 0xd2,
-	0x33, 0x8e, 0x3a, 0xfa, 0x61, 0xa3, 0xad, 0x87, 0xea, 0xf8, 0x32, 0xe4, 0x1c, 0xf2, 0xe5, 0x79,
-	0xba, 0xd6, 0x0b, 0xe8, 0xa2, 0xe1, 0xbf, 0x0c, 0xb9, 0x97, 0x94, 0x3c, 0x4f, 0x57, 0x58, 0x01,
-	0x7d, 0x87, 0xc7, 0x60, 0x1b, 0xf2, 0x22, 0x5e, 0x18, 0x20, 0x8c, 0x18, 0x7a, 0x0b, 0x17, 0x21,
-	0xb7, 0xdf, 0xd1, 0xf9, 0x51, 0x40, 0x50, 0x91, 0xa8, 0xd1, 0x6d, 0x69, 0xfb, 0x1a, 0xca, 0xd4,
-	0x1e, 0x40, 0x41, 0x06, 0x81, 0x1f, 0x93, 0x38, 0x0c, 0xe8, 0xad, 0x70, 0x18, 0xda, 0x50, 0x22,
-	0xe9, 0xc9, 0xe1, 0x9e, 0xa6, 0xa3, 0x4c, 0x7a, 0x93, 0x73, 0x28, 0x5f, 0xf3, 0xa1, 0x92, 0xec,
-	0xde, 0xbe, 0x97, 0xfc, 0xaa, 0xfd, 0x45, 0x81, 0x72, 0xa2, 0x1b, 0xe3, 0x7d, 0x00, 0x71, 0x1c,
-	0xf7, 0xa5, 0x41, 0x1c, 0x9b, 0xf8, 0x61, 0x6a, 0x80, 0x80, 0x1a, 0x1c, 0xb9, 0xe8, 0xd6, 0x7d,
-	0x2f, 0xce, 0xff, 0x51, 0x01, 0x34, 0xdd, 0xc9, 0x4d, 0x39, 0xa8, 0xfc, 0xa0, 0x0e, 0xfe, 0x41,
-	0x81, 0x6a, 0xba, 0x7d, 0x9b, 0x72, 0xef, 0xfa, 0x0f, 0xea, 0xde, 0xef, 0x15, 0x58, 0x4e, 0x35,
-	0x6d, 0xff, 0x57, 0xde, 0xfd, 0x2e, 0x0b, 0x6b, 0x73, 0xf4, 0x70, 0x23, 0xec, 0x6e, 0x65, 0xc3,
-	0xfd, 0xe3, 0x8b, 0xcc, 0x55, 0xe7, 0xf7, 0x67, 0x97, 0x78, 0x41, 0xd8, 0x0c, 0xdf, 0x06, 0x64,
-	0x5b, 0x94, 0x05, 0x76, 0xdf, 0xa6, 0x5e, 0xf8, 0x45, 0x2e, 0x5b, 0xde, 0x95, 0x09, 0x2e, 0x3f,
-	0xca, 0x7f, 0x04, 0x78, 0xe4, 0xfa, 0x76, 0x60, 0xbf, 0xa0, 0x86, 0xcd, 0xa2, 0xcf, 0x77, 0xde,
-	0x02, 0xe7, 0x74, 0x14, 0x49, 0x5a, 0x2c, 0x88, 0xd9, 0x8c, 0x0e, 0xc8, 0x14, 0x9b, 0x57, 0xc0,
-	0xac, 0x8e, 0x22, 0x49, 0xcc, 0xbe, 0x0e, 0x15, 0xcb, 0x1d, 0xf3, 0x86, 0x42, 0xf2, 0x78, 0xc1,
-	0x55, 0xf4, 0xb2, 0xc4, 0x62, 0x4a, 0xd8, 0xf1, 0x4d, 0xde, 0x0d, 0x2a, 0x7a, 0x59, 0x62, 0x92,
-	0x72, 0x0b, 0x56, 0xc8, 0x60, 0xe0, 0x71, 0xe3, 0x91, 0x21, 0xd9, 0xc3, 0x56, 0x63, 0x58, 0x10,
-	0x37, 0x9e, 0x40, 0x31, 0x8a, 0x03, 0xbf, 0xd9, 0x78, 0x24, 0x8c, 0x91, 0x7c, 0xbd, 0xc9, 0x6c,
-	0x95, 0xf4, 0x22, 0x8b, 0x84, 0xd7, 0xa1, 0x62, 0xfb, 0xc6, 0xe4, 0x19, 0x31, 0xb3, 0x99, 0xd9,
-	0x2a, 0xea, 0x65, 0xdb, 0x8f, 0xdf, 0x8d, 0x6a, 0x5f, 0x67, 0xa0, 0x9a, 0x7e, 0x06, 0xc5, 0x4d,
-	0x28, 0x3a, 0xae, 0x49, 0x44, 0x22, 0xc8, 0x37, 0xf8, 0xad, 0x37, 0xbc, 0x9c, 0xd6, 0xdb, 0x21,
-	0x5f, 0x8f, 0x35, 0x37, 0xfe, 0xa6, 0x40, 0x31, 0x82, 0xf1, 0x25, 0xc8, 0x8d, 0x48, 0x70, 0x26,
-	0xcc, 0xe5, 0xf7, 0x32, 0x48, 0xd1, 0xc5, 0x98, 0xe3, 0xfe, 0x88, 0x30, 0x91, 0x02, 0x21, 0xce,
-	0xc7, 0x7c, 0x5f, 0x1d, 0x4a, 0x2c, 0xd1, 0x20, 0xbb, 0xc3, 0x21, 0x65, 0x81, 0x1f, 0xed, 0x6b,
-	0x88, 0xef, 0x87, 0x30, 0xbe, 0x0b, 0xab, 0x81, 0x47, 0x6c, 0x27, 0xc5, 0xcd, 0x09, 0x2e, 0x8a,
-	0x04, 0x31, 0x79, 0x17, 0x2e, 0x47, 0x76, 0x2d, 0x1a, 0x10, 0xf3, 0x8c, 0x5a, 0x13, 0xa5, 0x82,
-	0x78, 0x63, 0x7b, 0x27, 0x24, 0x34, 0x43, 0x79, 0xa4, 0x5b, 0xfb, 0xbb, 0x02, 0xab, 0x51, 0x4b,
-	0x6f, 0xc5, 0xc1, 0x3a, 0x04, 0x20, 0x8c, 0xb9, 0x41, 0x32, 0x5c, 0xb3, 0xa9, 0x3c, 0xa3, 0x57,
-	0x6f, 0xc4, 0x4a, 0x7a, 0xc2, 0xc0, 0xc6, 0x10, 0x60, 0x22, 0x59, 0x18, 0xb6, 0x6b, 0x50, 0x0e,
-	0xdf, 0xb8, 0xc5, 0x1f, 0x4a, 0xe4, 0x47, 0x20, 0x48, 0x88, 0xf7, 0xfe, 0x78, 0x1d, 0xf2, 0xa7,
-	0x74, 0x60, 0xb3, 0xf0, 0xe5, 0x4d, 0x0e, 0xa2, 0xf7, 0xbc, 0x5c, 0xfc, 0x9e, 0xb7, 0xf7, 0x14,
-	0xd6, 0x4c, 0x77, 0x38, 0xed, 0xee, 0x1e, 0x9a, 0xfa, 0x10, 0xf5, 0x3f, 0x53, 0xbe, 0x80, 0x49,
-	0xa7, 0xf6, 0x55, 0x26, 0x7b, 0xd0, 0xdd, 0xfb, 0x53, 0x66, 0xe3, 0x40, 0xea, 0x75, 0xa3, 0x65,
-	0xea, 0xb4, 0xef, 0x50, 0x93, 0xbb, 0xfe, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5a, 0x1d, 0xe1,
-	0xd2, 0x21, 0x1a, 0x00, 0x00,
-}
diff --git a/protobuf/descriptor.proto b/protobuf/descriptor.proto
deleted file mode 100644
index 558ae23eb48def7bb83f55b01d818dc8b43ab48e..0000000000000000000000000000000000000000
--- a/protobuf/descriptor.proto
+++ /dev/null
@@ -1,804 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc.  All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Author: kenton@google.com (Kenton Varda)
-//  Based on original Protocol Buffers design by
-//  Sanjay Ghemawat, Jeff Dean, and others.
-//
-// The messages in this file describe the definitions found in .proto files.
-// A valid .proto file can be translated directly to a FileDescriptorProto
-// without any other information (e.g. without reading its imports).
-
-
-syntax = "proto2";
-
-package google.protobuf;
-option go_package = "descriptor";
-option java_package = "com.google.protobuf";
-option java_outer_classname = "DescriptorProtos";
-option csharp_namespace = "Google.Protobuf.Reflection";
-option objc_class_prefix = "GPB";
-
-// descriptor.proto must be optimized for speed because reflection-based
-// algorithms don't work during bootstrapping.
-option optimize_for = SPEED;
-
-// The protocol compiler can output a FileDescriptorSet containing the .proto
-// files it parses.
-message FileDescriptorSet {
-  repeated FileDescriptorProto file = 1;
-}
-
-// Describes a complete .proto file.
-message FileDescriptorProto {
-  optional string name = 1;       // file name, relative to root of source tree
-  optional string package = 2;    // e.g. "foo", "foo.bar", etc.
-
-  // Names of files imported by this file.
-  repeated string dependency = 3;
-  // Indexes of the public imported files in the dependency list above.
-  repeated int32 public_dependency = 10;
-  // Indexes of the weak imported files in the dependency list.
-  // For Google-internal migration only. Do not use.
-  repeated int32 weak_dependency = 11;
-
-  // All top-level definitions in this file.
-  repeated DescriptorProto message_type = 4;
-  repeated EnumDescriptorProto enum_type = 5;
-  repeated ServiceDescriptorProto service = 6;
-  repeated FieldDescriptorProto extension = 7;
-
-  optional FileOptions options = 8;
-
-  // This field contains optional information about the original source code.
-  // You may safely remove this entire field without harming runtime
-  // functionality of the descriptors -- the information is needed only by
-  // development tools.
-  optional SourceCodeInfo source_code_info = 9;
-
-  // The syntax of the proto file.
-  // The supported values are "proto2" and "proto3".
-  optional string syntax = 12;
-}
-
-// Describes a message type.
-message DescriptorProto {
-  optional string name = 1;
-
-  repeated FieldDescriptorProto field = 2;
-  repeated FieldDescriptorProto extension = 6;
-
-  repeated DescriptorProto nested_type = 3;
-  repeated EnumDescriptorProto enum_type = 4;
-
-  message ExtensionRange {
-    optional int32 start = 1;
-    optional int32 end = 2;
-  }
-  repeated ExtensionRange extension_range = 5;
-
-  repeated OneofDescriptorProto oneof_decl = 8;
-
-  optional MessageOptions options = 7;
-
-  // Range of reserved tag numbers. Reserved tag numbers may not be used by
-  // fields or extension ranges in the same message. Reserved ranges may
-  // not overlap.
-  message ReservedRange {
-    optional int32 start = 1; // Inclusive.
-    optional int32 end = 2;   // Exclusive.
-  }
-  repeated ReservedRange reserved_range = 9;
-  // Reserved field names, which may not be used by fields in the same message.
-  // A given name may only be reserved once.
-  repeated string reserved_name = 10;
-}
-
-// Describes a field within a message.
-message FieldDescriptorProto {
-  enum Type {
-    // 0 is reserved for errors.
-    // Order is weird for historical reasons.
-    TYPE_DOUBLE         = 1;
-    TYPE_FLOAT          = 2;
-    // Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if
-    // negative values are likely.
-    TYPE_INT64          = 3;
-    TYPE_UINT64         = 4;
-    // Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if
-    // negative values are likely.
-    TYPE_INT32          = 5;
-    TYPE_FIXED64        = 6;
-    TYPE_FIXED32        = 7;
-    TYPE_BOOL           = 8;
-    TYPE_STRING         = 9;
-    TYPE_GROUP          = 10;  // Tag-delimited aggregate.
-    TYPE_MESSAGE        = 11;  // Length-delimited aggregate.
-
-    // New in version 2.
-    TYPE_BYTES          = 12;
-    TYPE_UINT32         = 13;
-    TYPE_ENUM           = 14;
-    TYPE_SFIXED32       = 15;
-    TYPE_SFIXED64       = 16;
-    TYPE_SINT32         = 17;  // Uses ZigZag encoding.
-    TYPE_SINT64         = 18;  // Uses ZigZag encoding.
-  };
-
-  enum Label {
-    // 0 is reserved for errors
-    LABEL_OPTIONAL      = 1;
-    LABEL_REQUIRED      = 2;
-    LABEL_REPEATED      = 3;
-    // TODO(sanjay): Should we add LABEL_MAP?
-  };
-
-  optional string name = 1;
-  optional int32 number = 3;
-  optional Label label = 4;
-
-  // If type_name is set, this need not be set.  If both this and type_name
-  // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
-  optional Type type = 5;
-
-  // For message and enum types, this is the name of the type.  If the name
-  // starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
-  // rules are used to find the type (i.e. first the nested types within this
-  // message are searched, then within the parent, on up to the root
-  // namespace).
-  optional string type_name = 6;
-
-  // For extensions, this is the name of the type being extended.  It is
-  // resolved in the same manner as type_name.
-  optional string extendee = 2;
-
-  // For numeric types, contains the original text representation of the value.
-  // For booleans, "true" or "false".
-  // For strings, contains the default text contents (not escaped in any way).
-  // For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
-  // TODO(kenton):  Base-64 encode?
-  optional string default_value = 7;
-
-  // If set, gives the index of a oneof in the containing type's oneof_decl
-  // list.  This field is a member of that oneof.
-  optional int32 oneof_index = 9;
-
-  // JSON name of this field. The value is set by protocol compiler. If the
-  // user has set a "json_name" option on this field, that option's value
-  // will be used. Otherwise, it's deduced from the field's name by converting
-  // it to camelCase.
-  optional string json_name = 10;
-
-  optional FieldOptions options = 8;
-}
-
-// Describes a oneof.
-message OneofDescriptorProto {
-  optional string name = 1;
-  optional OneofOptions options = 2;
-}
-
-// Describes an enum type.
-message EnumDescriptorProto {
-  optional string name = 1;
-
-  repeated EnumValueDescriptorProto value = 2;
-
-  optional EnumOptions options = 3;
-}
-
-// Describes a value within an enum.
-message EnumValueDescriptorProto {
-  optional string name = 1;
-  optional int32 number = 2;
-
-  optional EnumValueOptions options = 3;
-}
-
-// Describes a service.
-message ServiceDescriptorProto {
-  optional string name = 1;
-  repeated MethodDescriptorProto method = 2;
-
-  optional ServiceOptions options = 3;
-}
-
-// Describes a method of a service.
-message MethodDescriptorProto {
-  optional string name = 1;
-
-  // Input and output type names.  These are resolved in the same way as
-  // FieldDescriptorProto.type_name, but must refer to a message type.
-  optional string input_type = 2;
-  optional string output_type = 3;
-
-  optional MethodOptions options = 4;
-
-  // Identifies if client streams multiple client messages
-  optional bool client_streaming = 5 [default=false];
-  // Identifies if server streams multiple server messages
-  optional bool server_streaming = 6 [default=false];
-}
-
-
-// ===================================================================
-// Options
-
-// Each of the definitions above may have "options" attached.  These are
-// just annotations which may cause code to be generated slightly differently
-// or may contain hints for code that manipulates protocol messages.
-//
-// Clients may define custom options as extensions of the *Options messages.
-// These extensions may not yet be known at parsing time, so the parser cannot
-// store the values in them.  Instead it stores them in a field in the *Options
-// message called uninterpreted_option. This field must have the same name
-// across all *Options messages. We then use this field to populate the
-// extensions when we build a descriptor, at which point all protos have been
-// parsed and so all extensions are known.
-//
-// Extension numbers for custom options may be chosen as follows:
-// * For options which will only be used within a single application or
-//   organization, or for experimental options, use field numbers 50000
-//   through 99999.  It is up to you to ensure that you do not use the
-//   same number for multiple options.
-// * For options which will be published and used publicly by multiple
-//   independent entities, e-mail protobuf-global-extension-registry@google.com
-//   to reserve extension numbers. Simply provide your project name (e.g.
-//   Objective-C plugin) and your project website (if available) -- there's no
-//   need to explain how you intend to use them. Usually you only need one
-//   extension number. You can declare multiple options with only one extension
-//   number by putting them in a sub-message. See the Custom Options section of
-//   the docs for examples:
-//   https://developers.google.com/protocol-buffers/docs/proto#options
-//   If this turns out to be popular, a web service will be set up
-//   to automatically assign option numbers.
-
-
-message FileOptions {
-
-  // Sets the Java package where classes generated from this .proto will be
-  // placed.  By default, the proto package is used, but this is often
-  // inappropriate because proto packages do not normally start with backwards
-  // domain names.
-  optional string java_package = 1;
-
-
-  // If set, all the classes from the .proto file are wrapped in a single
-  // outer class with the given name.  This applies to both Proto1
-  // (equivalent to the old "--one_java_file" option) and Proto2 (where
-  // a .proto always translates to a single class, but you may want to
-  // explicitly choose the class name).
-  optional string java_outer_classname = 8;
-
-  // If set true, then the Java code generator will generate a separate .java
-  // file for each top-level message, enum, and service defined in the .proto
-  // file.  Thus, these types will *not* be nested inside the outer class
-  // named by java_outer_classname.  However, the outer class will still be
-  // generated to contain the file's getDescriptor() method as well as any
-  // top-level extensions defined in the file.
-  optional bool java_multiple_files = 10 [default=false];
-
-  // This option does nothing.
-  optional bool java_generate_equals_and_hash = 20 [deprecated=true];
-
-  // If set true, then the Java2 code generator will generate code that
-  // throws an exception whenever an attempt is made to assign a non-UTF-8
-  // byte sequence to a string field.
-  // Message reflection will do the same.
-  // However, an extension field still accepts non-UTF-8 byte sequences.
-  // This option has no effect on when used with the lite runtime.
-  optional bool java_string_check_utf8 = 27 [default=false];
-
-
-  // Generated classes can be optimized for speed or code size.
-  enum OptimizeMode {
-    SPEED = 1;        // Generate complete code for parsing, serialization,
-                      // etc.
-    CODE_SIZE = 2;    // Use ReflectionOps to implement these methods.
-    LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime.
-  }
-  optional OptimizeMode optimize_for = 9 [default=SPEED];
-
-  // Sets the Go package where structs generated from this .proto will be
-  // placed. If omitted, the Go package will be derived from the following:
-  //   - The basename of the package import path, if provided.
-  //   - Otherwise, the package statement in the .proto file, if present.
-  //   - Otherwise, the basename of the .proto file, without extension.
-  optional string go_package = 11;
-
-
-
-  // Should generic services be generated in each language?  "Generic" services
-  // are not specific to any particular RPC system.  They are generated by the
-  // main code generators in each language (without additional plugins).
-  // Generic services were the only kind of service generation supported by
-  // early versions of google.protobuf.
-  //
-  // Generic services are now considered deprecated in favor of using plugins
-  // that generate code specific to your particular RPC system.  Therefore,
-  // these default to false.  Old code which depends on generic services should
-  // explicitly set them to true.
-  optional bool cc_generic_services = 16 [default=false];
-  optional bool java_generic_services = 17 [default=false];
-  optional bool py_generic_services = 18 [default=false];
-
-  // Is this file deprecated?
-  // Depending on the target platform, this can emit Deprecated annotations
-  // for everything in the file, or it will be completely ignored; in the very
-  // least, this is a formalization for deprecating files.
-  optional bool deprecated = 23 [default=false];
-
-  // Enables the use of arenas for the proto messages in this file. This applies
-  // only to generated classes for C++.
-  optional bool cc_enable_arenas = 31 [default=false];
-
-
-  // Sets the objective c class prefix which is prepended to all objective c
-  // generated classes from this .proto. There is no default.
-  optional string objc_class_prefix = 36;
-
-  // Namespace for generated classes; defaults to the package.
-  optional string csharp_namespace = 37;
-
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-
-  reserved 38;
-}
-
-message MessageOptions {
-  // Set true to use the old proto1 MessageSet wire format for extensions.
-  // This is provided for backwards-compatibility with the MessageSet wire
-  // format.  You should not use this for any other reason:  It's less
-  // efficient, has fewer features, and is more complicated.
-  //
-  // The message must be defined exactly as follows:
-  //   message Foo {
-  //     option message_set_wire_format = true;
-  //     extensions 4 to max;
-  //   }
-  // Note that the message cannot have any defined fields; MessageSets only
-  // have extensions.
-  //
-  // All extensions of your type must be singular messages; e.g. they cannot
-  // be int32s, enums, or repeated messages.
-  //
-  // Because this is an option, the above two restrictions are not enforced by
-  // the protocol compiler.
-  optional bool message_set_wire_format = 1 [default=false];
-
-  // Disables the generation of the standard "descriptor()" accessor, which can
-  // conflict with a field of the same name.  This is meant to make migration
-  // from proto1 easier; new code should avoid fields named "descriptor".
-  optional bool no_standard_descriptor_accessor = 2 [default=false];
-
-  // Is this message deprecated?
-  // Depending on the target platform, this can emit Deprecated annotations
-  // for the message, or it will be completely ignored; in the very least,
-  // this is a formalization for deprecating messages.
-  optional bool deprecated = 3 [default=false];
-
-  // Whether the message is an automatically generated map entry type for the
-  // maps field.
-  //
-  // For maps fields:
-  //     map<KeyType, ValueType> map_field = 1;
-  // The parsed descriptor looks like:
-  //     message MapFieldEntry {
-  //         option map_entry = true;
-  //         optional KeyType key = 1;
-  //         optional ValueType value = 2;
-  //     }
-  //     repeated MapFieldEntry map_field = 1;
-  //
-  // Implementations may choose not to generate the map_entry=true message, but
-  // use a native map in the target language to hold the keys and values.
-  // The reflection APIs in such implementions still need to work as
-  // if the field is a repeated message field.
-  //
-  // NOTE: Do not set the option in .proto files. Always use the maps syntax
-  // instead. The option should only be implicitly set by the proto compiler
-  // parser.
-  optional bool map_entry = 7;
-
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-
-  reserved 8;  // javalite_serializable
-}
-
-message FieldOptions {
-  // The ctype option instructs the C++ code generator to use a different
-  // representation of the field than it normally would.  See the specific
-  // options below.  This option is not yet implemented in the open source
-  // release -- sorry, we'll try to include it in a future version!
-  optional CType ctype = 1 [default = STRING];
-  enum CType {
-    // Default mode.
-    STRING = 0;
-
-    CORD = 1;
-
-    STRING_PIECE = 2;
-  }
-  // The packed option can be enabled for repeated primitive fields to enable
-  // a more efficient representation on the wire. Rather than repeatedly
-  // writing the tag and type for each element, the entire array is encoded as
-  // a single length-delimited blob. In proto3, only explicit setting it to
-  // false will avoid using packed encoding.
-  optional bool packed = 2;
-
-  // The jstype option determines the JavaScript type used for values of the
-  // field.  The option is permitted only for 64 bit integral and fixed types
-  // (int64, uint64, sint64, fixed64, sfixed64).  By default these types are
-  // represented as JavaScript strings.  This avoids loss of precision that can
-  // happen when a large value is converted to a floating point JavaScript
-  // numbers.  Specifying JS_NUMBER for the jstype causes the generated
-  // JavaScript code to use the JavaScript "number" type instead of strings.
-  // This option is an enum to permit additional types to be added,
-  // e.g. goog.math.Integer.
-  optional JSType jstype = 6 [default = JS_NORMAL];
-  enum JSType {
-    // Use the default type.
-    JS_NORMAL = 0;
-
-    // Use JavaScript strings.
-    JS_STRING = 1;
-
-    // Use JavaScript numbers.
-    JS_NUMBER = 2;
-  }
-
-  // Should this field be parsed lazily?  Lazy applies only to message-type
-  // fields.  It means that when the outer message is initially parsed, the
-  // inner message's contents will not be parsed but instead stored in encoded
-  // form.  The inner message will actually be parsed when it is first accessed.
-  //
-  // This is only a hint.  Implementations are free to choose whether to use
-  // eager or lazy parsing regardless of the value of this option.  However,
-  // setting this option true suggests that the protocol author believes that
-  // using lazy parsing on this field is worth the additional bookkeeping
-  // overhead typically needed to implement it.
-  //
-  // This option does not affect the public interface of any generated code;
-  // all method signatures remain the same.  Furthermore, thread-safety of the
-  // interface is not affected by this option; const methods remain safe to
-  // call from multiple threads concurrently, while non-const methods continue
-  // to require exclusive access.
-  //
-  //
-  // Note that implementations may choose not to check required fields within
-  // a lazy sub-message.  That is, calling IsInitialized() on the outer message
-  // may return true even if the inner message has missing required fields.
-  // This is necessary because otherwise the inner message would have to be
-  // parsed in order to perform the check, defeating the purpose of lazy
-  // parsing.  An implementation which chooses not to check required fields
-  // must be consistent about it.  That is, for any particular sub-message, the
-  // implementation must either *always* check its required fields, or *never*
-  // check its required fields, regardless of whether or not the message has
-  // been parsed.
-  optional bool lazy = 5 [default=false];
-
-  // Is this field deprecated?
-  // Depending on the target platform, this can emit Deprecated annotations
-  // for accessors, or it will be completely ignored; in the very least, this
-  // is a formalization for deprecating fields.
-  optional bool deprecated = 3 [default=false];
-
-  // For Google-internal migration only. Do not use.
-  optional bool weak = 10 [default=false];
-
-
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-
-  reserved 4;  // removed jtype
-}
-
-message OneofOptions {
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-}
-
-message EnumOptions {
-
-  // Set this option to true to allow mapping different tag names to the same
-  // value.
-  optional bool allow_alias = 2;
-
-  // Is this enum deprecated?
-  // Depending on the target platform, this can emit Deprecated annotations
-  // for the enum, or it will be completely ignored; in the very least, this
-  // is a formalization for deprecating enums.
-  optional bool deprecated = 3 [default=false];
-
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-}
-
-message EnumValueOptions {
-  // Is this enum value deprecated?
-  // Depending on the target platform, this can emit Deprecated annotations
-  // for the enum value, or it will be completely ignored; in the very least,
-  // this is a formalization for deprecating enum values.
-  optional bool deprecated = 1 [default=false];
-
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-}
-
-message ServiceOptions {
-
-  // Note:  Field numbers 1 through 32 are reserved for Google's internal RPC
-  //   framework.  We apologize for hoarding these numbers to ourselves, but
-  //   we were already using them long before we decided to release Protocol
-  //   Buffers.
-
-  // Is this service deprecated?
-  // Depending on the target platform, this can emit Deprecated annotations
-  // for the service, or it will be completely ignored; in the very least,
-  // this is a formalization for deprecating services.
-  optional bool deprecated = 33 [default=false];
-
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-}
-
-message MethodOptions {
-
-  // Note:  Field numbers 1 through 32 are reserved for Google's internal RPC
-  //   framework.  We apologize for hoarding these numbers to ourselves, but
-  //   we were already using them long before we decided to release Protocol
-  //   Buffers.
-
-  // Is this method deprecated?
-  // Depending on the target platform, this can emit Deprecated annotations
-  // for the method, or it will be completely ignored; in the very least,
-  // this is a formalization for deprecating methods.
-  optional bool deprecated = 33 [default=false];
-
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-}
-
-
-// A message representing a option the parser does not recognize. This only
-// appears in options protos created by the compiler::Parser class.
-// DescriptorPool resolves these when building Descriptor objects. Therefore,
-// options protos in descriptor objects (e.g. returned by Descriptor::options(),
-// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
-// in them.
-message UninterpretedOption {
-  // The name of the uninterpreted option.  Each string represents a segment in
-  // a dot-separated name.  is_extension is true iff a segment represents an
-  // extension (denoted with parentheses in options specs in .proto files).
-  // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
-  // "foo.(bar.baz).qux".
-  message NamePart {
-    required string name_part = 1;
-    required bool is_extension = 2;
-  }
-  repeated NamePart name = 2;
-
-  // The value of the uninterpreted option, in whatever type the tokenizer
-  // identified it as during parsing. Exactly one of these should be set.
-  optional string identifier_value = 3;
-  optional uint64 positive_int_value = 4;
-  optional int64 negative_int_value = 5;
-  optional double double_value = 6;
-  optional bytes string_value = 7;
-  optional string aggregate_value = 8;
-}
-
-// ===================================================================
-// Optional source code info
-
-// Encapsulates information about the original source file from which a
-// FileDescriptorProto was generated.
-message SourceCodeInfo {
-  // A Location identifies a piece of source code in a .proto file which
-  // corresponds to a particular definition.  This information is intended
-  // to be useful to IDEs, code indexers, documentation generators, and similar
-  // tools.
-  //
-  // For example, say we have a file like:
-  //   message Foo {
-  //     optional string foo = 1;
-  //   }
-  // Let's look at just the field definition:
-  //   optional string foo = 1;
-  //   ^       ^^     ^^  ^  ^^^
-  //   a       bc     de  f  ghi
-  // We have the following locations:
-  //   span   path               represents
-  //   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
-  //   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
-  //   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
-  //   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
-  //   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
-  //
-  // Notes:
-  // - A location may refer to a repeated field itself (i.e. not to any
-  //   particular index within it).  This is used whenever a set of elements are
-  //   logically enclosed in a single code segment.  For example, an entire
-  //   extend block (possibly containing multiple extension definitions) will
-  //   have an outer location whose path refers to the "extensions" repeated
-  //   field without an index.
-  // - Multiple locations may have the same path.  This happens when a single
-  //   logical declaration is spread out across multiple places.  The most
-  //   obvious example is the "extend" block again -- there may be multiple
-  //   extend blocks in the same scope, each of which will have the same path.
-  // - A location's span is not always a subset of its parent's span.  For
-  //   example, the "extendee" of an extension declaration appears at the
-  //   beginning of the "extend" block and is shared by all extensions within
-  //   the block.
-  // - Just because a location's span is a subset of some other location's span
-  //   does not mean that it is a descendent.  For example, a "group" defines
-  //   both a type and a field in a single declaration.  Thus, the locations
-  //   corresponding to the type and field and their components will overlap.
-  // - Code which tries to interpret locations should probably be designed to
-  //   ignore those that it doesn't understand, as more types of locations could
-  //   be recorded in the future.
-  repeated Location location = 1;
-  message Location {
-    // Identifies which part of the FileDescriptorProto was defined at this
-    // location.
-    //
-    // Each element is a field number or an index.  They form a path from
-    // the root FileDescriptorProto to the place where the definition.  For
-    // example, this path:
-    //   [ 4, 3, 2, 7, 1 ]
-    // refers to:
-    //   file.message_type(3)  // 4, 3
-    //       .field(7)         // 2, 7
-    //       .name()           // 1
-    // This is because FileDescriptorProto.message_type has field number 4:
-    //   repeated DescriptorProto message_type = 4;
-    // and DescriptorProto.field has field number 2:
-    //   repeated FieldDescriptorProto field = 2;
-    // and FieldDescriptorProto.name has field number 1:
-    //   optional string name = 1;
-    //
-    // Thus, the above path gives the location of a field name.  If we removed
-    // the last element:
-    //   [ 4, 3, 2, 7 ]
-    // this path refers to the whole field declaration (from the beginning
-    // of the label to the terminating semicolon).
-    repeated int32 path = 1 [packed=true];
-
-    // Always has exactly three or four elements: start line, start column,
-    // end line (optional, otherwise assumed same as start line), end column.
-    // These are packed into a single field for efficiency.  Note that line
-    // and column numbers are zero-based -- typically you will want to add
-    // 1 to each before displaying to a user.
-    repeated int32 span = 2 [packed=true];
-
-    // If this SourceCodeInfo represents a complete declaration, these are any
-    // comments appearing before and after the declaration which appear to be
-    // attached to the declaration.
-    //
-    // A series of line comments appearing on consecutive lines, with no other
-    // tokens appearing on those lines, will be treated as a single comment.
-    //
-    // leading_detached_comments will keep paragraphs of comments that appear
-    // before (but not connected to) the current element. Each paragraph,
-    // separated by empty lines, will be one comment element in the repeated
-    // field.
-    //
-    // Only the comment content is provided; comment markers (e.g. //) are
-    // stripped out.  For block comments, leading whitespace and an asterisk
-    // will be stripped from the beginning of each line other than the first.
-    // Newlines are included in the output.
-    //
-    // Examples:
-    //
-    //   optional int32 foo = 1;  // Comment attached to foo.
-    //   // Comment attached to bar.
-    //   optional int32 bar = 2;
-    //
-    //   optional string baz = 3;
-    //   // Comment attached to baz.
-    //   // Another line attached to baz.
-    //
-    //   // Comment attached to qux.
-    //   //
-    //   // Another line attached to qux.
-    //   optional double qux = 4;
-    //
-    //   // Detached comment for corge. This is not leading or trailing comments
-    //   // to qux or corge because there are blank lines separating it from
-    //   // both.
-    //
-    //   // Detached comment for corge paragraph 2.
-    //
-    //   optional string corge = 5;
-    //   /* Block comment attached
-    //    * to corge.  Leading asterisks
-    //    * will be removed. */
-    //   /* Block comment attached to
-    //    * grault. */
-    //   optional int32 grault = 6;
-    //
-    //   // ignored detached comments.
-    optional string leading_comments = 3;
-    optional string trailing_comments = 4;
-    repeated string leading_detached_comments = 6;
-  }
-}
-
-// Describes the relationship between generated code and its original source
-// file. A GeneratedCodeInfo message is associated with only one generated
-// source file, but may contain references to different source .proto files.
-message GeneratedCodeInfo {
-  // An Annotation connects some span of text in generated code to an element
-  // of its generating .proto file.
-  repeated Annotation annotation = 1;
-  message Annotation {
-    // Identifies the element in the original source .proto file. This field
-    // is formatted the same as SourceCodeInfo.Location.path.
-    repeated int32 path = 1 [packed=true];
-
-    // Identifies the filesystem path to the original source .proto.
-    optional string source_file = 2;
-
-    // Identifies the starting offset in bytes in the generated code
-    // that relates to the identified object.
-    optional int32 begin = 3;
-
-    // Identifies the ending offset in bytes in the generated code that
-    // relates to the identified offset. The end offset should be one past
-    // the last relevant byte (so the length of the text = end - begin).
-    optional int32 end = 4;
-  }
-}
diff --git a/protobuf/field_mask.proto b/protobuf/field_mask.proto
deleted file mode 100644
index b6d32a792185f94185ad5a7036419bc5ef9c98ab..0000000000000000000000000000000000000000
--- a/protobuf/field_mask.proto
+++ /dev/null
@@ -1,245 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc.  All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-syntax = "proto3";
-
-package google.protobuf;
-
-option csharp_namespace = "Google.Protobuf.WellKnownTypes";
-option java_package = "com.google.protobuf";
-option java_outer_classname = "FieldMaskProto";
-option java_multiple_files = true;
-option objc_class_prefix = "GPB";
-
-// `FieldMask` represents a set of symbolic field paths, for example:
-//
-//     paths: "f.a"
-//     paths: "f.b.d"
-//
-// Here `f` represents a field in some root message, `a` and `b`
-// fields in the message found in `f`, and `d` a field found in the
-// message in `f.b`.
-//
-// Field masks are used to specify a subset of fields that should be
-// returned by a get operation or modified by an update operation.
-// Field masks also have a custom JSON encoding (see below).
-//
-// # Field Masks in Projections
-//
-// When used in the context of a projection, a response message or
-// sub-message is filtered by the API to only contain those fields as
-// specified in the mask. For example, if the mask in the previous
-// example is applied to a response message as follows:
-//
-//     f {
-//       a : 22
-//       b {
-//         d : 1
-//         x : 2
-//       }
-//       y : 13
-//     }
-//     z: 8
-//
-// The result will not contain specific values for fields x,y and z
-// (their value will be set to the default, and omitted in proto text
-// output):
-//
-//
-//     f {
-//       a : 22
-//       b {
-//         d : 1
-//       }
-//     }
-//
-// A repeated field is not allowed except at the last position of a
-// paths string.
-//
-// If a FieldMask object is not present in a get operation, the
-// operation applies to all fields (as if a FieldMask of all fields
-// had been specified).
-//
-// Note that a field mask does not necessarily apply to the
-// top-level response message. In case of a REST get operation, the
-// field mask applies directly to the response, but in case of a REST
-// list operation, the mask instead applies to each individual message
-// in the returned resource list. In case of a REST custom method,
-// other definitions may be used. Where the mask applies will be
-// clearly documented together with its declaration in the API.  In
-// any case, the effect on the returned resource/resources is required
-// behavior for APIs.
-//
-// # Field Masks in Update Operations
-//
-// A field mask in update operations specifies which fields of the
-// targeted resource are going to be updated. The API is required
-// to only change the values of the fields as specified in the mask
-// and leave the others untouched. If a resource is passed in to
-// describe the updated values, the API ignores the values of all
-// fields not covered by the mask.
-//
-// If a repeated field is specified for an update operation, the existing
-// repeated values in the target resource will be overwritten by the new values.
-// Note that a repeated field is only allowed in the last position of a `paths`
-// string.
-//
-// If a sub-message is specified in the last position of the field mask for an
-// update operation, then the existing sub-message in the target resource is
-// overwritten. Given the target message:
-//
-//     f {
-//       b {
-//         d : 1
-//         x : 2
-//       }
-//       c : 1
-//     }
-//
-// And an update message:
-//
-//     f {
-//       b {
-//         d : 10
-//       }
-//     }
-//
-// then if the field mask is:
-//
-//  paths: "f.b"
-//
-// then the result will be:
-//
-//     f {
-//       b {
-//         d : 10
-//       }
-//       c : 1
-//     }
-//
-// However, if the update mask was:
-//
-//  paths: "f.b.d"
-//
-// then the result would be:
-//
-//     f {
-//       b {
-//         d : 10
-//         x : 2
-//       }
-//       c : 1
-//     }
-//
-// In order to reset a field's value to the default, the field must
-// be in the mask and set to the default value in the provided resource.
-// Hence, in order to reset all fields of a resource, provide a default
-// instance of the resource and set all fields in the mask, or do
-// not provide a mask as described below.
-//
-// If a field mask is not present on update, the operation applies to
-// all fields (as if a field mask of all fields has been specified).
-// Note that in the presence of schema evolution, this may mean that
-// fields the client does not know and has therefore not filled into
-// the request will be reset to their default. If this is unwanted
-// behavior, a specific service may require a client to always specify
-// a field mask, producing an error if not.
-//
-// As with get operations, the location of the resource which
-// describes the updated values in the request message depends on the
-// operation kind. In any case, the effect of the field mask is
-// required to be honored by the API.
-//
-// ## Considerations for HTTP REST
-//
-// The HTTP kind of an update operation which uses a field mask must
-// be set to PATCH instead of PUT in order to satisfy HTTP semantics
-// (PUT must only be used for full updates).
-//
-// # JSON Encoding of Field Masks
-//
-// In JSON, a field mask is encoded as a single string where paths are
-// separated by a comma. Fields name in each path are converted
-// to/from lower-camel naming conventions.
-//
-// As an example, consider the following message declarations:
-//
-//     message Profile {
-//       User user = 1;
-//       Photo photo = 2;
-//     }
-//     message User {
-//       string display_name = 1;
-//       string address = 2;
-//     }
-//
-// In proto a field mask for `Profile` may look as such:
-//
-//     mask {
-//       paths: "user.display_name"
-//       paths: "photo"
-//     }
-//
-// In JSON, the same mask is represented as below:
-//
-//     {
-//       mask: "user.displayName,photo"
-//     }
-//
-// # Field Masks and Oneof Fields
-//
-// Field masks treat fields in oneofs just as regular fields. Consider the
-// following message:
-//
-//     message SampleMessage {
-//       oneof test_oneof {
-//         string name = 4;
-//         SubMessage sub_message = 9;
-//       }
-//     }
-//
-// The field mask can be:
-//
-//     mask {
-//       paths: "name"
-//     }
-//
-// Or:
-//
-//     mask {
-//       paths: "sub_message"
-//     }
-//
-// Note that oneof type names ("test_oneof" in this case) cannot be used in
-// paths.
-message FieldMask {
-  // The set of field mask paths.
-  repeated string paths = 1;
-}
diff --git a/protobuf/field_mask.pb.go b/protobuf/field_mask/field_mask.pb.go
similarity index 77%
rename from protobuf/field_mask.pb.go
rename to protobuf/field_mask/field_mask.pb.go
index 5f26d51827306df444e2bf020dd3e4f095fe4e95..8330ee3a19e38007d1b4b54994081f40315d48b0 100644
--- a/protobuf/field_mask.pb.go
+++ b/protobuf/field_mask/field_mask.pb.go
@@ -1,8 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/protobuf/field_mask.proto
+// source: src/google/protobuf/field_mask.proto
 // DO NOT EDIT!
 
-package descriptor // import "google.golang.org/genproto/protobuf"
+/*
+Package field_mask is a generated protocol buffer package.
+
+It is generated from these files:
+	src/google/protobuf/field_mask.proto
+
+It has these top-level messages:
+	FieldMask
+*/
+package field_mask
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -13,6 +22,12 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
 // `FieldMask` represents a set of symbolic field paths, for example:
 //
 //     paths: "f.a"
@@ -222,27 +237,32 @@ type FieldMask struct {
 func (m *FieldMask) Reset()                    { *m = FieldMask{} }
 func (m *FieldMask) String() string            { return proto.CompactTextString(m) }
 func (*FieldMask) ProtoMessage()               {}
-func (*FieldMask) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+func (*FieldMask) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
-func init() {
-	proto.RegisterType((*FieldMask)(nil), "google.protobuf.FieldMask")
+func (m *FieldMask) GetPaths() []string {
+	if m != nil {
+		return m.Paths
+	}
+	return nil
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/protobuf/field_mask.proto", fileDescriptor2)
+	proto.RegisterType((*FieldMask)(nil), "google.protobuf.FieldMask")
 }
 
-var fileDescriptor2 = []byte{
-	// 161 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x32, 0x49, 0xcf, 0xcf, 0x4f,
-	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
-	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x07, 0x93, 0x49, 0xa5, 0x69, 0xfa, 0x69, 0x99, 0xa9,
-	0x39, 0x29, 0xf1, 0xb9, 0x89, 0xc5, 0xd9, 0x7a, 0x60, 0x31, 0x21, 0x7e, 0xa8, 0x2e, 0x98, 0x0a,
-	0x25, 0x45, 0x2e, 0x4e, 0x37, 0x90, 0x22, 0xdf, 0xc4, 0xe2, 0x6c, 0x21, 0x11, 0x2e, 0xd6, 0x82,
-	0xc4, 0x92, 0x8c, 0x62, 0x09, 0x46, 0x05, 0x66, 0x0d, 0xce, 0x20, 0x08, 0xc7, 0xc9, 0x8f, 0x4b,
-	0x38, 0x39, 0x3f, 0x57, 0x0f, 0x4d, 0xa7, 0x13, 0x1f, 0x5c, 0x5f, 0x00, 0x48, 0x28, 0x80, 0x71,
-	0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, 0xca, 0x00, 0xa8, 0x4a, 0xbd,
-	0xf0, 0xd4, 0x9c, 0x1c, 0xef, 0xbc, 0xfc, 0xf2, 0xbc, 0x90, 0xca, 0x82, 0xd4, 0xe2, 0x24, 0x36,
-	0xb0, 0x11, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x55, 0xcb, 0x0d, 0xc2, 0x00, 0x00,
-	0x00,
+func init() { proto.RegisterFile("src/google/protobuf/field_mask.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 175 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x29, 0x2e, 0x4a, 0xd6,
+	0x4f, 0xcf, 0xcf, 0x4f, 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3,
+	0x4f, 0xcb, 0x4c, 0xcd, 0x49, 0x89, 0xcf, 0x4d, 0x2c, 0xce, 0xd6, 0x03, 0x8b, 0x09, 0xf1, 0x43,
+	0x54, 0xe8, 0xc1, 0x54, 0x28, 0x29, 0x72, 0x71, 0xba, 0x81, 0x14, 0xf9, 0x26, 0x16, 0x67, 0x0b,
+	0x89, 0x70, 0xb1, 0x16, 0x24, 0x96, 0x64, 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, 0x06, 0x41,
+	0x38, 0x4e, 0x9d, 0x8c, 0x5c, 0xc2, 0xc9, 0xf9, 0xb9, 0x7a, 0x68, 0x5a, 0x9d, 0xf8, 0xe0, 0x1a,
+	0x03, 0x40, 0x42, 0x01, 0x8c, 0x51, 0x96, 0x50, 0x25, 0xe9, 0xf9, 0x39, 0x89, 0x79, 0xe9, 0x7a,
+	0xf9, 0x45, 0xe9, 0xfa, 0xe9, 0xa9, 0x79, 0x60, 0x0d, 0xd8, 0xdc, 0x64, 0x8d, 0x60, 0x2e, 0x62,
+	0x62, 0x76, 0x0f, 0x70, 0x5a, 0xc5, 0x24, 0xe7, 0x0e, 0x31, 0x21, 0x00, 0xaa, 0x5a, 0x2f, 0x3c,
+	0x35, 0x27, 0xc7, 0x3b, 0x2f, 0xbf, 0x3c, 0x2f, 0xa4, 0xb2, 0x20, 0xb5, 0x38, 0x89, 0x0d, 0x6c,
+	0x8c, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0xf0, 0xdc, 0x73, 0xcf, 0xee, 0x00, 0x00, 0x00,
 }
diff --git a/protobuf/type.pb.go b/protobuf/ptype/type.pb.go
similarity index 56%
rename from protobuf/type.pb.go
rename to protobuf/ptype/type.pb.go
index bc7801502b0587f91f86fb7ded215d476f699cd8..d6fb35ef0eeb1d2d08f8eb7a042a292c116bd7ac 100644
--- a/protobuf/type.pb.go
+++ b/protobuf/ptype/type.pb.go
@@ -1,19 +1,39 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/protobuf/type.proto
+// source: src/google/protobuf/type.proto
 // DO NOT EDIT!
 
-package descriptor // import "google.golang.org/genproto/protobuf"
+/*
+Package ptype is a generated protocol buffer package.
+
+It is generated from these files:
+	src/google/protobuf/type.proto
+
+It has these top-level messages:
+	Type
+	Field
+	Enum
+	EnumValue
+	Option
+*/
+package ptype
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
 import google_protobuf "github.com/golang/protobuf/ptypes/any"
+import google_protobuf1 "google.golang.org/genproto/protobuf/source_context"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
 // The syntax in which a protocol buffer element is defined.
 type Syntax int32
 
@@ -36,7 +56,7 @@ var Syntax_value = map[string]int32{
 func (x Syntax) String() string {
 	return proto.EnumName(Syntax_name, int32(x))
 }
-func (Syntax) EnumDescriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
+func (Syntax) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
 // Basic field types.
 type Field_Kind int32
@@ -128,7 +148,7 @@ var Field_Kind_value = map[string]int32{
 func (x Field_Kind) String() string {
 	return proto.EnumName(Field_Kind_name, int32(x))
 }
-func (Field_Kind) EnumDescriptor() ([]byte, []int) { return fileDescriptor4, []int{1, 0} }
+func (Field_Kind) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 0} }
 
 // Whether a field is optional, required, or repeated.
 type Field_Cardinality int32
@@ -160,7 +180,7 @@ var Field_Cardinality_value = map[string]int32{
 func (x Field_Cardinality) String() string {
 	return proto.EnumName(Field_Cardinality_name, int32(x))
 }
-func (Field_Cardinality) EnumDescriptor() ([]byte, []int) { return fileDescriptor4, []int{1, 1} }
+func (Field_Cardinality) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 1} }
 
 // A protocol buffer message type.
 type Type struct {
@@ -173,7 +193,7 @@ type Type struct {
 	// The protocol buffer options.
 	Options []*Option `protobuf:"bytes,4,rep,name=options" json:"options,omitempty"`
 	// The source context.
-	SourceContext *SourceContext `protobuf:"bytes,5,opt,name=source_context,json=sourceContext" json:"source_context,omitempty"`
+	SourceContext *google_protobuf1.SourceContext `protobuf:"bytes,5,opt,name=source_context,json=sourceContext" json:"source_context,omitempty"`
 	// The source syntax.
 	Syntax Syntax `protobuf:"varint,6,opt,name=syntax,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
 }
@@ -181,7 +201,14 @@ type Type struct {
 func (m *Type) Reset()                    { *m = Type{} }
 func (m *Type) String() string            { return proto.CompactTextString(m) }
 func (*Type) ProtoMessage()               {}
-func (*Type) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
+func (*Type) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func (m *Type) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *Type) GetFields() []*Field {
 	if m != nil {
@@ -190,6 +217,13 @@ func (m *Type) GetFields() []*Field {
 	return nil
 }
 
+func (m *Type) GetOneofs() []string {
+	if m != nil {
+		return m.Oneofs
+	}
+	return nil
+}
+
 func (m *Type) GetOptions() []*Option {
 	if m != nil {
 		return m.Options
@@ -197,13 +231,20 @@ func (m *Type) GetOptions() []*Option {
 	return nil
 }
 
-func (m *Type) GetSourceContext() *SourceContext {
+func (m *Type) GetSourceContext() *google_protobuf1.SourceContext {
 	if m != nil {
 		return m.SourceContext
 	}
 	return nil
 }
 
+func (m *Type) GetSyntax() Syntax {
+	if m != nil {
+		return m.Syntax
+	}
+	return Syntax_SYNTAX_PROTO2
+}
+
 // A single field of a message type.
 type Field struct {
 	// The field type.
@@ -233,7 +274,56 @@ type Field struct {
 func (m *Field) Reset()                    { *m = Field{} }
 func (m *Field) String() string            { return proto.CompactTextString(m) }
 func (*Field) ProtoMessage()               {}
-func (*Field) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{1} }
+func (*Field) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func (m *Field) GetKind() Field_Kind {
+	if m != nil {
+		return m.Kind
+	}
+	return Field_TYPE_UNKNOWN
+}
+
+func (m *Field) GetCardinality() Field_Cardinality {
+	if m != nil {
+		return m.Cardinality
+	}
+	return Field_CARDINALITY_UNKNOWN
+}
+
+func (m *Field) GetNumber() int32 {
+	if m != nil {
+		return m.Number
+	}
+	return 0
+}
+
+func (m *Field) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Field) GetTypeUrl() string {
+	if m != nil {
+		return m.TypeUrl
+	}
+	return ""
+}
+
+func (m *Field) GetOneofIndex() int32 {
+	if m != nil {
+		return m.OneofIndex
+	}
+	return 0
+}
+
+func (m *Field) GetPacked() bool {
+	if m != nil {
+		return m.Packed
+	}
+	return false
+}
 
 func (m *Field) GetOptions() []*Option {
 	if m != nil {
@@ -242,6 +332,20 @@ func (m *Field) GetOptions() []*Option {
 	return nil
 }
 
+func (m *Field) GetJsonName() string {
+	if m != nil {
+		return m.JsonName
+	}
+	return ""
+}
+
+func (m *Field) GetDefaultValue() string {
+	if m != nil {
+		return m.DefaultValue
+	}
+	return ""
+}
+
 // Enum type definition.
 type Enum struct {
 	// Enum type name.
@@ -251,7 +355,7 @@ type Enum struct {
 	// Protocol buffer options.
 	Options []*Option `protobuf:"bytes,3,rep,name=options" json:"options,omitempty"`
 	// The source context.
-	SourceContext *SourceContext `protobuf:"bytes,4,opt,name=source_context,json=sourceContext" json:"source_context,omitempty"`
+	SourceContext *google_protobuf1.SourceContext `protobuf:"bytes,4,opt,name=source_context,json=sourceContext" json:"source_context,omitempty"`
 	// The source syntax.
 	Syntax Syntax `protobuf:"varint,5,opt,name=syntax,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
 }
@@ -259,7 +363,14 @@ type Enum struct {
 func (m *Enum) Reset()                    { *m = Enum{} }
 func (m *Enum) String() string            { return proto.CompactTextString(m) }
 func (*Enum) ProtoMessage()               {}
-func (*Enum) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{2} }
+func (*Enum) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+func (m *Enum) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *Enum) GetEnumvalue() []*EnumValue {
 	if m != nil {
@@ -275,13 +386,20 @@ func (m *Enum) GetOptions() []*Option {
 	return nil
 }
 
-func (m *Enum) GetSourceContext() *SourceContext {
+func (m *Enum) GetSourceContext() *google_protobuf1.SourceContext {
 	if m != nil {
 		return m.SourceContext
 	}
 	return nil
 }
 
+func (m *Enum) GetSyntax() Syntax {
+	if m != nil {
+		return m.Syntax
+	}
+	return Syntax_SYNTAX_PROTO2
+}
+
 // Enum value definition.
 type EnumValue struct {
 	// Enum value name.
@@ -295,7 +413,21 @@ type EnumValue struct {
 func (m *EnumValue) Reset()                    { *m = EnumValue{} }
 func (m *EnumValue) String() string            { return proto.CompactTextString(m) }
 func (*EnumValue) ProtoMessage()               {}
-func (*EnumValue) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{3} }
+func (*EnumValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+func (m *EnumValue) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *EnumValue) GetNumber() int32 {
+	if m != nil {
+		return m.Number
+	}
+	return 0
+}
 
 func (m *EnumValue) GetOptions() []*Option {
 	if m != nil {
@@ -316,7 +448,14 @@ type Option struct {
 func (m *Option) Reset()                    { *m = Option{} }
 func (m *Option) String() string            { return proto.CompactTextString(m) }
 func (*Option) ProtoMessage()               {}
-func (*Option) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{4} }
+func (*Option) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+
+func (m *Option) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *Option) GetValue() *google_protobuf.Any {
 	if m != nil {
@@ -336,59 +475,59 @@ func init() {
 	proto.RegisterEnum("google.protobuf.Field_Cardinality", Field_Cardinality_name, Field_Cardinality_value)
 }
 
-func init() { proto.RegisterFile("google.golang.org/genproto/protobuf/type.proto", fileDescriptor4) }
-
-var fileDescriptor4 = []byte{
-	// 811 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x55, 0xdd, 0x8e, 0xda, 0x46,
-	0x14, 0x8e, 0x8d, 0xf1, 0xe2, 0xc3, 0xc2, 0x4e, 0x26, 0x51, 0xe2, 0x6e, 0xa4, 0x14, 0xd1, 0x1b,
-	0x94, 0x0b, 0xa3, 0xc2, 0x6a, 0x95, 0x5b, 0x58, 0xbc, 0x14, 0x2d, 0xb1, 0xdd, 0xc1, 0x34, 0xd9,
-	0x2b, 0xe4, 0x05, 0x43, 0x49, 0xcc, 0x0c, 0xc2, 0x76, 0xbb, 0x3c, 0x44, 0x5f, 0xa2, 0x97, 0xbd,
-	0xee, 0x43, 0xf4, 0x91, 0x7a, 0xd7, 0x6a, 0xc6, 0x60, 0xcc, 0x4f, 0xa5, 0x6d, 0x7b, 0x01, 0xe2,
-	0x7c, 0xe7, 0x3b, 0xdf, 0xf9, 0x99, 0x33, 0x03, 0x18, 0x33, 0xc6, 0x66, 0x81, 0x6f, 0xcc, 0x58,
-	0xe0, 0xd1, 0x99, 0xc1, 0x56, 0xb3, 0xfa, 0xcc, 0xa7, 0xcb, 0x15, 0x8b, 0x58, 0x5d, 0x7c, 0x3f,
-	0xc4, 0xd3, 0x7a, 0xb4, 0x5e, 0xfa, 0x86, 0xb0, 0xf0, 0xc5, 0x86, 0xbf, 0xf5, 0x5d, 0xd6, 0x67,
-	0xf3, 0xe8, 0xc7, 0xf8, 0xc1, 0x18, 0xb3, 0x45, 0x3d, 0x11, 0xd9, 0xc5, 0x2d, 0x79, 0x60, 0x58,
-	0xf7, 0xe8, 0x9a, 0x7f, 0x92, 0x98, 0xcb, 0xf7, 0x4f, 0xc9, 0x18, 0xb2, 0x78, 0x35, 0xf6, 0x47,
-	0x63, 0x46, 0x23, 0xff, 0x31, 0x4a, 0x22, 0xab, 0xbf, 0xc8, 0xa0, 0xb8, 0xeb, 0xa5, 0x8f, 0x31,
-	0x28, 0xd4, 0x5b, 0xf8, 0xba, 0x54, 0x91, 0x6a, 0x1a, 0x11, 0xbf, 0xb1, 0x01, 0xea, 0x74, 0xee,
-	0x07, 0x93, 0x50, 0x97, 0x2b, 0xb9, 0x5a, 0xb1, 0xf1, 0xca, 0x38, 0xa8, 0xd4, 0xb8, 0xe5, 0x6e,
-	0xb2, 0x61, 0xe1, 0x57, 0xa0, 0x32, 0xea, 0xb3, 0x69, 0xa8, 0xe7, 0x2a, 0xb9, 0x9a, 0x46, 0x36,
-	0x16, 0xfe, 0x16, 0xce, 0xd8, 0x32, 0x9a, 0x33, 0x1a, 0xea, 0x8a, 0x10, 0x7a, 0x7d, 0x24, 0x64,
-	0x0b, 0x3f, 0xd9, 0xf2, 0xb0, 0x09, 0xe5, 0xfd, 0x7a, 0xf5, 0x7c, 0x45, 0xaa, 0x15, 0x1b, 0x6f,
-	0x8f, 0x22, 0x07, 0x82, 0x76, 0x93, 0xb0, 0x48, 0x29, 0xcc, 0x9a, 0xb8, 0x0e, 0x6a, 0xb8, 0xa6,
-	0x91, 0xf7, 0xa8, 0xab, 0x15, 0xa9, 0x56, 0x3e, 0x91, 0x78, 0x20, 0xdc, 0x64, 0x43, 0xab, 0xfe,
-	0xae, 0x42, 0x5e, 0x34, 0x85, 0xeb, 0xa0, 0x7c, 0x99, 0xd3, 0x89, 0x18, 0x48, 0xb9, 0xf1, 0xe6,
-	0x74, 0xeb, 0xc6, 0xdd, 0x9c, 0x4e, 0x88, 0x20, 0xe2, 0x0e, 0x14, 0xc7, 0xde, 0x6a, 0x32, 0xa7,
-	0x5e, 0x30, 0x8f, 0xd6, 0xba, 0x2c, 0xe2, 0xaa, 0xff, 0x10, 0x77, 0xb3, 0x63, 0x92, 0x6c, 0x18,
-	0x9f, 0x21, 0x8d, 0x17, 0x0f, 0xfe, 0x4a, 0xcf, 0x55, 0xa4, 0x5a, 0x9e, 0x6c, 0xac, 0xf4, 0x7c,
-	0x94, 0xcc, 0xf9, 0x7c, 0x05, 0x05, 0xbe, 0x0d, 0xa3, 0x78, 0x15, 0x88, 0xfe, 0x34, 0x72, 0xc6,
-	0xed, 0xe1, 0x2a, 0xc0, 0x5f, 0x43, 0x51, 0x0c, 0x7f, 0x34, 0xa7, 0x13, 0xff, 0x51, 0x3f, 0x13,
-	0x5a, 0x20, 0xa0, 0x1e, 0x47, 0x78, 0x9e, 0xa5, 0x37, 0xfe, 0xe2, 0x4f, 0xf4, 0x42, 0x45, 0xaa,
-	0x15, 0xc8, 0xc6, 0xca, 0x9e, 0x95, 0xf6, 0xc4, 0xb3, 0x7a, 0x03, 0xda, 0xe7, 0x90, 0xd1, 0x91,
-	0xa8, 0x0f, 0x44, 0x1d, 0x05, 0x0e, 0x58, 0xbc, 0xc6, 0x6f, 0xa0, 0x34, 0xf1, 0xa7, 0x5e, 0x1c,
-	0x44, 0xa3, 0x9f, 0xbc, 0x20, 0xf6, 0xf5, 0xa2, 0x20, 0x9c, 0x6f, 0xc0, 0x1f, 0x38, 0x56, 0xfd,
-	0x43, 0x06, 0x85, 0x4f, 0x12, 0x23, 0x38, 0x77, 0xef, 0x1d, 0x73, 0x34, 0xb4, 0xee, 0x2c, 0xfb,
-	0xa3, 0x85, 0x9e, 0xe1, 0x0b, 0x28, 0x0a, 0xa4, 0x63, 0x0f, 0xdb, 0x7d, 0x13, 0x49, 0xb8, 0x0c,
-	0x20, 0x80, 0xdb, 0xbe, 0xdd, 0x72, 0x91, 0x9c, 0xda, 0x3d, 0xcb, 0xbd, 0xbe, 0x42, 0xb9, 0x34,
-	0x60, 0x98, 0x00, 0x4a, 0x96, 0xd0, 0x6c, 0xa0, 0x7c, 0x9a, 0xe3, 0xb6, 0xf7, 0xc9, 0xec, 0x5c,
-	0x5f, 0x21, 0x75, 0x1f, 0x69, 0x36, 0xd0, 0x19, 0x2e, 0x81, 0x26, 0x90, 0xb6, 0x6d, 0xf7, 0x51,
-	0x21, 0xd5, 0x1c, 0xb8, 0xa4, 0x67, 0x75, 0x91, 0x96, 0x6a, 0x76, 0x89, 0x3d, 0x74, 0x10, 0xa4,
-	0x0a, 0x1f, 0xcc, 0xc1, 0xa0, 0xd5, 0x35, 0x51, 0x31, 0x65, 0xb4, 0xef, 0x5d, 0x73, 0x80, 0xce,
-	0xf7, 0xca, 0x6a, 0x36, 0x50, 0x29, 0x4d, 0x61, 0x5a, 0xc3, 0x0f, 0xa8, 0x8c, 0x9f, 0x43, 0x29,
-	0x49, 0xb1, 0x2d, 0xe2, 0xe2, 0x00, 0xba, 0xbe, 0x42, 0x68, 0x57, 0x48, 0xa2, 0xf2, 0x7c, 0x0f,
-	0xb8, 0xbe, 0x42, 0xb8, 0x1a, 0x41, 0x31, 0xb3, 0x5b, 0xf8, 0x35, 0xbc, 0xb8, 0x69, 0x91, 0x4e,
-	0xcf, 0x6a, 0xf5, 0x7b, 0xee, 0x7d, 0x66, 0xae, 0x3a, 0xbc, 0xcc, 0x3a, 0x6c, 0xc7, 0xed, 0xd9,
-	0x56, 0xab, 0x8f, 0xa4, 0x43, 0x0f, 0x31, 0xbf, 0x1f, 0xf6, 0x88, 0xd9, 0x41, 0xf2, 0xb1, 0xc7,
-	0x31, 0x5b, 0xae, 0xd9, 0x41, 0xb9, 0xea, 0x5f, 0x12, 0x28, 0x26, 0x8d, 0x17, 0x27, 0x9f, 0x91,
-	0xf7, 0xa0, 0xf9, 0x34, 0x5e, 0x24, 0xc7, 0x9f, 0xbc, 0x24, 0x97, 0x47, 0x4b, 0xc5, 0xa3, 0xc5,
-	0x32, 0x90, 0x1d, 0x39, 0xbb, 0x8c, 0xb9, 0xff, 0xfc, 0x70, 0x28, 0xff, 0xef, 0xe1, 0xc8, 0x3f,
-	0xed, 0xe1, 0xf8, 0x0c, 0x5a, 0xda, 0xc2, 0xc9, 0x29, 0xec, 0x2e, 0xb6, 0xbc, 0x77, 0xb1, 0xff,
-	0x7d, 0x8f, 0xd5, 0xef, 0x40, 0x4d, 0xa0, 0x93, 0x89, 0xde, 0x41, 0x7e, 0x3b, 0x6a, 0xde, 0xf8,
-	0xcb, 0x23, 0xb9, 0x16, 0x5d, 0x93, 0x84, 0xf2, 0xce, 0x00, 0x35, 0xe9, 0x83, 0x2f, 0xdb, 0xe0,
-	0xde, 0x72, 0x5b, 0x9f, 0x46, 0x0e, 0xb1, 0x5d, 0xbb, 0x81, 0x9e, 0x1d, 0x42, 0x4d, 0x24, 0xb5,
-	0xfb, 0xf0, 0x62, 0xcc, 0x16, 0x87, 0x8a, 0x6d, 0x8d, 0xff, 0x85, 0x38, 0xdc, 0x72, 0xa4, 0x3f,
-	0x25, 0xe9, 0x57, 0x39, 0xd7, 0x75, 0xda, 0xbf, 0xc9, 0x6f, 0xbb, 0x09, 0xcf, 0xd9, 0x66, 0xfe,
-	0xe8, 0x07, 0xc1, 0x1d, 0x65, 0x3f, 0x53, 0xce, 0x0f, 0x1f, 0x54, 0x21, 0xd0, 0xfc, 0x3b, 0x00,
-	0x00, 0xff, 0xff, 0x72, 0xb8, 0x69, 0x05, 0x31, 0x07, 0x00, 0x00,
+func init() { proto.RegisterFile("src/google/protobuf/type.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 813 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x4f, 0x8f, 0xda, 0x46,
+	0x14, 0x8f, 0x8d, 0xf1, 0xe2, 0xc7, 0xc2, 0x4e, 0x26, 0x51, 0xe2, 0x6c, 0xa4, 0x2d, 0xa2, 0x3d,
+	0xa0, 0x1c, 0x8c, 0x0a, 0xab, 0x55, 0xa5, 0x9e, 0x60, 0xf1, 0x52, 0xb4, 0xc4, 0x76, 0x07, 0xd3,
+	0x64, 0x7b, 0x41, 0x5e, 0x98, 0x45, 0x24, 0x66, 0x8c, 0xb0, 0xdd, 0x2e, 0x87, 0x7e, 0x84, 0x7e,
+	0x89, 0x1e, 0x7b, 0xee, 0x87, 0xe8, 0x47, 0xea, 0xad, 0xd5, 0x8c, 0xc1, 0x98, 0x3f, 0x95, 0xd2,
+	0xe6, 0x82, 0x78, 0xbf, 0xf7, 0x7b, 0xff, 0x9f, 0xdf, 0xc0, 0x45, 0xb8, 0x1c, 0xd7, 0xa7, 0x41,
+	0x30, 0xf5, 0x69, 0x7d, 0xb1, 0x0c, 0xa2, 0xe0, 0x3e, 0x7e, 0xa8, 0x47, 0xab, 0x05, 0x35, 0x84,
+	0x84, 0xcf, 0x12, 0x9d, 0xb1, 0xd1, 0x9d, 0xbf, 0xda, 0x27, 0x7b, 0x6c, 0x95, 0x68, 0xcf, 0xbf,
+	0xda, 0x57, 0x85, 0x41, 0xbc, 0x1c, 0xd3, 0xd1, 0x38, 0x60, 0x11, 0x7d, 0x8c, 0x12, 0x56, 0xf5,
+	0x57, 0x19, 0x14, 0x77, 0xb5, 0xa0, 0x18, 0x83, 0xc2, 0xbc, 0x39, 0xd5, 0xa5, 0x8a, 0x54, 0xd3,
+	0x88, 0xf8, 0x8f, 0x0d, 0x50, 0x1f, 0x66, 0xd4, 0x9f, 0x84, 0xba, 0x5c, 0xc9, 0xd5, 0x8a, 0x8d,
+	0x17, 0xc6, 0x5e, 0x7c, 0xe3, 0x86, 0xab, 0xc9, 0x9a, 0x85, 0x5f, 0x80, 0x1a, 0x30, 0x1a, 0x3c,
+	0x84, 0x7a, 0xae, 0x92, 0xab, 0x69, 0x64, 0x2d, 0xe1, 0xaf, 0xe1, 0x24, 0x58, 0x44, 0xb3, 0x80,
+	0x85, 0xba, 0x22, 0x1c, 0xbd, 0x3c, 0x70, 0x64, 0x0b, 0x3d, 0xd9, 0xf0, 0xb0, 0x09, 0xe5, 0xdd,
+	0x7c, 0xf5, 0x7c, 0x45, 0xaa, 0x15, 0x1b, 0x17, 0x07, 0x96, 0x03, 0x41, 0xbb, 0x4e, 0x58, 0xa4,
+	0x14, 0x66, 0x45, 0x5c, 0x07, 0x35, 0x5c, 0xb1, 0xc8, 0x7b, 0xd4, 0xd5, 0x8a, 0x54, 0x2b, 0x1f,
+	0x09, 0x3c, 0x10, 0x6a, 0xb2, 0xa6, 0x55, 0xff, 0x50, 0x21, 0x2f, 0x8a, 0xc2, 0x75, 0x50, 0x3e,
+	0xce, 0xd8, 0x44, 0x34, 0xa4, 0xdc, 0x78, 0x7d, 0xbc, 0x74, 0xe3, 0x76, 0xc6, 0x26, 0x44, 0x10,
+	0x71, 0x07, 0x8a, 0x63, 0x6f, 0x39, 0x99, 0x31, 0xcf, 0x9f, 0x45, 0x2b, 0x5d, 0x16, 0x76, 0xd5,
+	0x7f, 0xb1, 0xbb, 0xde, 0x32, 0x49, 0xd6, 0x8c, 0xf7, 0x90, 0xc5, 0xf3, 0x7b, 0xba, 0xd4, 0x73,
+	0x15, 0xa9, 0x96, 0x27, 0x6b, 0x29, 0x9d, 0x8f, 0x92, 0x99, 0xcf, 0x2b, 0x28, 0xf0, 0xe5, 0x18,
+	0xc5, 0x4b, 0x5f, 0xd4, 0xa7, 0x91, 0x13, 0x2e, 0x0f, 0x97, 0x3e, 0xfe, 0x02, 0x8a, 0xa2, 0xf9,
+	0xa3, 0x19, 0x9b, 0xd0, 0x47, 0xfd, 0x44, 0xf8, 0x02, 0x01, 0xf5, 0x38, 0xc2, 0xe3, 0x2c, 0xbc,
+	0xf1, 0x47, 0x3a, 0xd1, 0x0b, 0x15, 0xa9, 0x56, 0x20, 0x6b, 0x29, 0x3b, 0x2b, 0xed, 0x13, 0x67,
+	0xf5, 0x1a, 0xb4, 0x0f, 0x61, 0xc0, 0x46, 0x22, 0x3f, 0x10, 0x79, 0x14, 0x38, 0x60, 0xf1, 0x1c,
+	0xbf, 0x84, 0xd2, 0x84, 0x3e, 0x78, 0xb1, 0x1f, 0x8d, 0x7e, 0xf2, 0xfc, 0x98, 0xea, 0x45, 0x41,
+	0x38, 0x5d, 0x83, 0x3f, 0x70, 0xac, 0xfa, 0xa7, 0x0c, 0x0a, 0xef, 0x24, 0x46, 0x70, 0xea, 0xde,
+	0x39, 0xe6, 0x68, 0x68, 0xdd, 0x5a, 0xf6, 0x3b, 0x0b, 0x3d, 0xc1, 0x67, 0x50, 0x14, 0x48, 0xc7,
+	0x1e, 0xb6, 0xfb, 0x26, 0x92, 0x70, 0x19, 0x40, 0x00, 0x37, 0x7d, 0xbb, 0xe5, 0x22, 0x39, 0x95,
+	0x7b, 0x96, 0x7b, 0x75, 0x89, 0x72, 0xa9, 0xc1, 0x30, 0x01, 0x94, 0x2c, 0xa1, 0xd9, 0x40, 0xf9,
+	0x34, 0xc6, 0x4d, 0xef, 0xbd, 0xd9, 0xb9, 0xba, 0x44, 0xea, 0x2e, 0xd2, 0x6c, 0xa0, 0x13, 0x5c,
+	0x02, 0x4d, 0x20, 0x6d, 0xdb, 0xee, 0xa3, 0x42, 0xea, 0x73, 0xe0, 0x92, 0x9e, 0xd5, 0x45, 0x5a,
+	0xea, 0xb3, 0x4b, 0xec, 0xa1, 0x83, 0x20, 0xf5, 0xf0, 0xd6, 0x1c, 0x0c, 0x5a, 0x5d, 0x13, 0x15,
+	0x53, 0x46, 0xfb, 0xce, 0x35, 0x07, 0xe8, 0x74, 0x27, 0xad, 0x66, 0x03, 0x95, 0xd2, 0x10, 0xa6,
+	0x35, 0x7c, 0x8b, 0xca, 0xf8, 0x29, 0x94, 0x92, 0x10, 0x9b, 0x24, 0xce, 0xf6, 0xa0, 0xab, 0x4b,
+	0x84, 0xb6, 0x89, 0x24, 0x5e, 0x9e, 0xee, 0x00, 0x57, 0x97, 0x08, 0x57, 0x23, 0x28, 0x66, 0x76,
+	0x0b, 0xbf, 0x84, 0x67, 0xd7, 0x2d, 0xd2, 0xe9, 0x59, 0xad, 0x7e, 0xcf, 0xbd, 0xcb, 0xf4, 0x55,
+	0x87, 0xe7, 0x59, 0x85, 0xed, 0xb8, 0x3d, 0xdb, 0x6a, 0xf5, 0x91, 0xb4, 0xaf, 0x21, 0xe6, 0xf7,
+	0xc3, 0x1e, 0x31, 0x3b, 0x48, 0x3e, 0xd4, 0x38, 0x66, 0xcb, 0x35, 0x3b, 0x28, 0x57, 0xfd, 0x5b,
+	0x02, 0xc5, 0x64, 0xf1, 0xfc, 0xe8, 0x19, 0xf9, 0x06, 0x34, 0xca, 0xe2, 0x79, 0x32, 0xfe, 0xe4,
+	0x92, 0x9c, 0x1f, 0x2c, 0x15, 0xb7, 0x16, 0xcb, 0x40, 0xb6, 0xe4, 0xec, 0x32, 0xe6, 0xfe, 0xf7,
+	0xe1, 0x50, 0x3e, 0xef, 0x70, 0xe4, 0x3f, 0xed, 0x70, 0x7c, 0x00, 0x2d, 0x2d, 0xe1, 0x68, 0x17,
+	0xb6, 0x1f, 0xb6, 0xbc, 0xf3, 0x61, 0xff, 0xf7, 0x1a, 0xab, 0xdf, 0x81, 0x9a, 0x40, 0x47, 0x03,
+	0xbd, 0x81, 0xfc, 0xa6, 0xd5, 0xbc, 0xf0, 0xe7, 0x07, 0xee, 0x5a, 0x6c, 0x45, 0x12, 0xca, 0x1b,
+	0x03, 0xd4, 0xa4, 0x0e, 0xbe, 0x6c, 0x83, 0x3b, 0xcb, 0x6d, 0xbd, 0x1f, 0x39, 0xc4, 0x76, 0xed,
+	0x06, 0x7a, 0xb2, 0x0f, 0x35, 0x91, 0xd4, 0xfe, 0x05, 0x9e, 0x8d, 0x83, 0xf9, 0xbe, 0xc7, 0xb6,
+	0xc6, 0x9f, 0x10, 0x87, 0x4b, 0x8e, 0xf4, 0xe3, 0xfa, 0x01, 0x33, 0xa6, 0x81, 0xef, 0xb1, 0xa9,
+	0x11, 0x2c, 0xa7, 0xf5, 0x29, 0x65, 0x82, 0xbb, 0x7d, 0x8c, 0x16, 0xfc, 0x50, 0x7d, 0x2b, 0x7e,
+	0xff, 0x92, 0xa4, 0xdf, 0xe4, 0x5c, 0xd7, 0x69, 0xff, 0x2e, 0x5f, 0x74, 0x13, 0x53, 0x67, 0x93,
+	0xea, 0x3b, 0xea, 0xfb, 0xb7, 0x2c, 0xf8, 0x99, 0xf1, 0x00, 0xe1, 0xbd, 0x2a, 0xec, 0x9b, 0xff,
+	0x04, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x0a, 0x14, 0x97, 0x28, 0x07, 0x00, 0x00,
 }
diff --git a/protobuf/source_context.pb.go b/protobuf/source_context.pb.go
deleted file mode 100644
index 44299104593a792a87eea509a575fd872186e2cd..0000000000000000000000000000000000000000
--- a/protobuf/source_context.pb.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/protobuf/source_context.proto
-// DO NOT EDIT!
-
-package descriptor // import "google.golang.org/genproto/protobuf"
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-
-// Reference imports to suppress errors if they are not otherwise used.
-var _ = proto.Marshal
-var _ = fmt.Errorf
-var _ = math.Inf
-
-// `SourceContext` represents information about the source of a
-// protobuf element, like the file in which it is defined.
-type SourceContext struct {
-	// The path-qualified name of the .proto file that contained the associated
-	// protobuf element.  For example: `"google/protobuf/source_context.proto"`.
-	FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName" json:"file_name,omitempty"`
-}
-
-func (m *SourceContext) Reset()                    { *m = SourceContext{} }
-func (m *SourceContext) String() string            { return proto.CompactTextString(m) }
-func (*SourceContext) ProtoMessage()               {}
-func (*SourceContext) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
-
-func init() {
-	proto.RegisterType((*SourceContext)(nil), "google.protobuf.SourceContext")
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/protobuf/source_context.proto", fileDescriptor3)
-}
-
-var fileDescriptor3 = []byte{
-	// 173 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xb2, 0x48, 0xcf, 0xcf, 0x4f,
-	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
-	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x07, 0x93, 0x49, 0xa5, 0x69, 0xfa, 0xc5, 0xf9, 0xa5,
-	0x45, 0xc9, 0xa9, 0xf1, 0xc9, 0xf9, 0x79, 0x25, 0xa9, 0x15, 0x25, 0x7a, 0x60, 0x71, 0x21, 0x7e,
-	0xa8, 0x4e, 0x98, 0x2a, 0x25, 0x1d, 0x2e, 0xde, 0x60, 0xb0, 0x42, 0x67, 0x88, 0x3a, 0x21, 0x69,
-	0x2e, 0xce, 0xb4, 0xcc, 0x9c, 0xd4, 0xf8, 0xbc, 0xc4, 0xdc, 0x54, 0x09, 0x46, 0x05, 0x46, 0x0d,
-	0xce, 0x20, 0x0e, 0x90, 0x80, 0x5f, 0x62, 0x6e, 0xaa, 0x53, 0x10, 0x97, 0x70, 0x72, 0x7e, 0xae,
-	0x1e, 0x9a, 0x21, 0x4e, 0x42, 0x28, 0x46, 0x04, 0x80, 0x84, 0x03, 0x18, 0x17, 0x31, 0x31, 0xbb,
-	0x07, 0x38, 0xad, 0x62, 0x92, 0x73, 0x87, 0xa8, 0x0e, 0x80, 0xaa, 0xd6, 0x0b, 0x4f, 0xcd, 0xc9,
-	0xf1, 0xce, 0xcb, 0x2f, 0xcf, 0x0b, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03, 0x1b, 0x63, 0x0c,
-	0x08, 0x00, 0x00, 0xff, 0xff, 0x9d, 0x32, 0x53, 0x9f, 0xd5, 0x00, 0x00, 0x00,
-}
diff --git a/protobuf/source_context.proto b/protobuf/source_context.proto
deleted file mode 100644
index 79137ce8e172b99a4e127b439dba403a2d2a957b..0000000000000000000000000000000000000000
--- a/protobuf/source_context.proto
+++ /dev/null
@@ -1,47 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc.  All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-syntax = "proto3";
-
-package google.protobuf;
-
-option csharp_namespace = "Google.Protobuf.WellKnownTypes";
-option java_package = "com.google.protobuf";
-option java_outer_classname = "SourceContextProto";
-option java_multiple_files = true;
-option objc_class_prefix = "GPB";
-
-// `SourceContext` represents information about the source of a
-// protobuf element, like the file in which it is defined.
-message SourceContext {
-  // The path-qualified name of the .proto file that contained the associated
-  // protobuf element.  For example: `"google/protobuf/source_context.proto"`.
-  string file_name = 1;
-}
diff --git a/protobuf/source_context/source_context.pb.go b/protobuf/source_context/source_context.pb.go
new file mode 100644
index 0000000000000000000000000000000000000000..49b7014be87d4d3c56e4f7ee93f2bd5cb8f06a13
--- /dev/null
+++ b/protobuf/source_context/source_context.pb.go
@@ -0,0 +1,71 @@
+// Code generated by protoc-gen-go.
+// source: src/google/protobuf/source_context.proto
+// DO NOT EDIT!
+
+/*
+Package source_context is a generated protocol buffer package.
+
+It is generated from these files:
+	src/google/protobuf/source_context.proto
+
+It has these top-level messages:
+	SourceContext
+*/
+package source_context
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+// `SourceContext` represents information about the source of a
+// protobuf element, like the file in which it is defined.
+type SourceContext struct {
+	// The path-qualified name of the .proto file that contained the associated
+	// protobuf element.  For example: `"google/protobuf/source_context.proto"`.
+	FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName" json:"file_name,omitempty"`
+}
+
+func (m *SourceContext) Reset()                    { *m = SourceContext{} }
+func (m *SourceContext) String() string            { return proto.CompactTextString(m) }
+func (*SourceContext) ProtoMessage()               {}
+func (*SourceContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func (m *SourceContext) GetFileName() string {
+	if m != nil {
+		return m.FileName
+	}
+	return ""
+}
+
+func init() {
+	proto.RegisterType((*SourceContext)(nil), "google.protobuf.SourceContext")
+}
+
+func init() { proto.RegisterFile("src/google/protobuf/source_context.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 188 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x28, 0x2e, 0x4a, 0xd6,
+	0x4f, 0xcf, 0xcf, 0x4f, 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3,
+	0x2f, 0xce, 0x2f, 0x2d, 0x4a, 0x4e, 0x8d, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xad, 0x28, 0xd1, 0x03,
+	0x8b, 0x0b, 0xf1, 0x43, 0x54, 0xe9, 0xc1, 0x54, 0x29, 0xe9, 0x70, 0xf1, 0x06, 0x83, 0x15, 0x3a,
+	0x43, 0xd4, 0x09, 0x49, 0x73, 0x71, 0xa6, 0x65, 0xe6, 0xa4, 0xc6, 0xe7, 0x25, 0xe6, 0xa6, 0x4a,
+	0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x71, 0x80, 0x04, 0xfc, 0x12, 0x73, 0x53, 0x9d, 0xa6, 0x32,
+	0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x99, 0xe2, 0x24, 0x84, 0x62, 0x46, 0x00, 0x48, 0x38,
+	0x80, 0x31, 0xca, 0x11, 0xaa, 0x2c, 0x3d, 0x3f, 0x27, 0x31, 0x2f, 0x5d, 0x2f, 0xbf, 0x28, 0x5d,
+	0x3f, 0x3d, 0x35, 0x0f, 0xac, 0x09, 0x97, 0x33, 0xad, 0x51, 0xb9, 0x8b, 0x98, 0x98, 0xdd, 0x03,
+	0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x4c, 0x0a, 0x80, 0xea, 0xd2, 0x0b, 0x4f, 0xcd, 0xc9, 0xf1,
+	0xce, 0xcb, 0x2f, 0xcf, 0x0b, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03, 0x1b, 0x67, 0x0c, 0x08,
+	0x00, 0x00, 0xff, 0xff, 0xc7, 0xbc, 0xab, 0x7f, 0x09, 0x01, 0x00, 0x00,
+}
diff --git a/protobuf/type.proto b/protobuf/type.proto
deleted file mode 100644
index 15c94f334c26c47cb492b9f601ded7e575b3a90a..0000000000000000000000000000000000000000
--- a/protobuf/type.proto
+++ /dev/null
@@ -1,180 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc.  All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-syntax = "proto3";
-
-package google.protobuf;
-
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-import "google.golang.org/genproto/protobuf/source_context.proto"; // from google/protobuf/source_context.proto
-
-option csharp_namespace = "Google.Protobuf.WellKnownTypes";
-option cc_enable_arenas = true;
-option java_package = "com.google.protobuf";
-option java_outer_classname = "TypeProto";
-option java_multiple_files = true;
-option objc_class_prefix = "GPB";
-
-// A protocol buffer message type.
-message Type {
-  // The fully qualified message name.
-  string name = 1;
-  // The list of fields.
-  repeated Field fields = 2;
-  // The list of types appearing in `oneof` definitions in this type.
-  repeated string oneofs = 3;
-  // The protocol buffer options.
-  repeated Option options = 4;
-  // The source context.
-  SourceContext source_context = 5;
-  // The source syntax.
-  Syntax syntax = 6;
-}
-
-// A single field of a message type.
-message Field {
-  // Basic field types.
-  enum Kind {
-    // Field type unknown.
-    TYPE_UNKNOWN        = 0;
-    // Field type double.
-    TYPE_DOUBLE         = 1;
-    // Field type float.
-    TYPE_FLOAT          = 2;
-    // Field type int64.
-    TYPE_INT64          = 3;
-    // Field type uint64.
-    TYPE_UINT64         = 4;
-    // Field type int32.
-    TYPE_INT32          = 5;
-    // Field type fixed64.
-    TYPE_FIXED64        = 6;
-    // Field type fixed32.
-    TYPE_FIXED32        = 7;
-    // Field type bool.
-    TYPE_BOOL           = 8;
-    // Field type string.
-    TYPE_STRING         = 9;
-    // Field type group. Proto2 syntax only, and deprecated.
-    TYPE_GROUP          = 10;
-    // Field type message.
-    TYPE_MESSAGE        = 11;
-    // Field type bytes.
-    TYPE_BYTES          = 12;
-    // Field type uint32.
-    TYPE_UINT32         = 13;
-    // Field type enum.
-    TYPE_ENUM           = 14;
-    // Field type sfixed32.
-    TYPE_SFIXED32       = 15;
-    // Field type sfixed64.
-    TYPE_SFIXED64       = 16;
-    // Field type sint32.
-    TYPE_SINT32         = 17;
-    // Field type sint64.
-    TYPE_SINT64         = 18;
-  };
-
-  // Whether a field is optional, required, or repeated.
-  enum Cardinality {
-    // For fields with unknown cardinality.
-    CARDINALITY_UNKNOWN = 0;
-    // For optional fields.
-    CARDINALITY_OPTIONAL = 1;
-    // For required fields. Proto2 syntax only.
-    CARDINALITY_REQUIRED = 2;
-    // For repeated fields.
-    CARDINALITY_REPEATED = 3;
-  };
-
-  // The field type.
-  Kind kind = 1;
-  // The field cardinality.
-  Cardinality cardinality = 2;
-  // The field number.
-  int32 number = 3;
-  // The field name.
-  string name = 4;
-  // The field type URL, without the scheme, for message or enumeration
-  // types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
-  string type_url = 6;
-  // The index of the field type in `Type.oneofs`, for message or enumeration
-  // types. The first type has index 1; zero means the type is not in the list.
-  int32 oneof_index = 7;
-  // Whether to use alternative packed wire representation.
-  bool packed = 8;
-  // The protocol buffer options.
-  repeated Option options = 9;
-  // The field JSON name.
-  string json_name = 10;
-  // The string value of the default value of this field. Proto2 syntax only.
-  string default_value = 11;
-}
-
-// Enum type definition.
-message Enum {
-  // Enum type name.
-  string name = 1;
-  // Enum value definitions.
-  repeated EnumValue enumvalue = 2;
-  // Protocol buffer options.
-  repeated Option options = 3;
-  // The source context.
-  SourceContext source_context = 4;
-  // The source syntax.
-  Syntax syntax = 5;
-}
-
-// Enum value definition.
-message EnumValue {
-  // Enum value name.
-  string name = 1;
-  // Enum value number.
-  int32 number = 2;
-  // Protocol buffer options.
-  repeated Option options = 3;
-}
-
-// A protocol buffer option, which can be attached to a message, field,
-// enumeration, etc.
-message Option {
-  // The option's name. For example, `"java_package"`.
-  string name = 1;
-  // The option's value. For example, `"com.google.protobuf"`.
-  Any value = 2;
-}
-
-// The syntax in which a protocol buffer element is defined.
-enum Syntax {
-  // Syntax `proto2`.
-  SYNTAX_PROTO2 = 0;
-  // Syntax `proto3`.
-  SYNTAX_PROTO3 = 1;
-}
diff --git a/regen.go b/regen.go
new file mode 100644
index 0000000000000000000000000000000000000000..9c906f2095be0c80a2bf0a6eed8634f23d9b216d
--- /dev/null
+++ b/regen.go
@@ -0,0 +1,123 @@
+// Copyright 2016 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// +build ignore
+
+// Regen.go regenerates the genproto repository.
+//
+// Regen.go recursively walks through each directory named by given arguments,
+// looking for all .proto files. (Symlinks are not followed.)
+// If the pkg_prefix flag is not an empty string,
+// any proto file without `go_package` option
+// or whose option does not begin with the prefix is ignored.
+// Protoc is executed on remaining files,
+// one invocation per set of files declaring the same Go package.
+package main
+
+import (
+	"flag"
+	"fmt"
+	"io/ioutil"
+	"log"
+	"os"
+	"os/exec"
+	"path/filepath"
+	"regexp"
+	"strconv"
+	"strings"
+)
+
+var goPkgOptRe = regexp.MustCompile(`(?m)^option go_package = (.*);`)
+
+func usage() {
+	fmt.Fprintln(os.Stderr, `usage: go run regen.go -go_out=path/to/output [-pkg_prefix=pkg/prefix] roots...
+
+Most users will not need to run this file directly.
+To regenerate this repository, run regen.sh instead.`)
+	flag.PrintDefaults()
+}
+
+func main() {
+	goOutDir := flag.String("go_out", "", "go_out argument to pass to protoc-gen-go")
+	pkgPrefix := flag.String("pkg_prefix", "", "only include proto files with go_package starting with this prefix")
+	flag.Usage = usage
+	flag.Parse()
+
+	if *goOutDir == "" {
+		log.Fatal("need go_out flag")
+	}
+
+	pkgFiles := make(map[string][]string)
+	walkFn := func(path string, info os.FileInfo, err error) error {
+		if err != nil {
+			return err
+		}
+		if !info.Mode().IsRegular() || !strings.HasSuffix(path, ".proto") {
+			return nil
+		}
+		pkg, err := goPkg(path)
+		if err != nil {
+			return err
+		}
+		pkgFiles[pkg] = append(pkgFiles[pkg], path)
+		return nil
+	}
+	for _, root := range flag.Args() {
+		if err := filepath.Walk(root, walkFn); err != nil {
+			log.Fatal(err)
+		}
+	}
+	for pkg, fnames := range pkgFiles {
+		if !strings.HasPrefix(pkg, *pkgPrefix) {
+			continue
+		}
+		if out, err := protoc(*goOutDir, flag.Args(), fnames); err != nil {
+			log.Fatalf("error executing protoc: %s\n%s", err, out)
+		}
+	}
+}
+
+// goPkg reports the import path declared in the given file's
+// `go_package` option. If the option is missing, goPkg returns empty string.
+func goPkg(fname string) (string, error) {
+	content, err := ioutil.ReadFile(fname)
+	if err != nil {
+		return "", err
+	}
+
+	var pkgName string
+	if match := goPkgOptRe.FindSubmatch(content); len(match) > 0 {
+		pn, err := strconv.Unquote(string(match[1]))
+		if err != nil {
+			return "", err
+		}
+		pkgName = pn
+	}
+	if p := strings.IndexRune(pkgName, ';'); p > 0 {
+		pkgName = pkgName[:p]
+	}
+	return pkgName, nil
+}
+
+// protoc executes the "protoc" command on files named in fnames,
+// passing go_out and include flags specified in goOut and includes respectively.
+// protoc returns combined output from stdout and stderr.
+func protoc(goOut string, includes, fnames []string) ([]byte, error) {
+	args := []string{"--go_out=plugins=grpc:" + goOut}
+	for _, inc := range includes {
+		args = append(args, "-I", inc)
+	}
+	args = append(args, fnames...)
+	return exec.Command("protoc", args...).CombinedOutput()
+}
diff --git a/regen.sh b/regen.sh
index 493efef66f54cbfbb8787157b1d6e11b130531d3..7652568584a9a4373f0660e6ff57c139049ab027 100755
--- a/regen.sh
+++ b/regen.sh
@@ -13,7 +13,7 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-#
+
 # This script rebuilds the generated code for the protocol buffers.
 # To run this you will need protoc and goprotobuf installed;
 # see https://github.com/golang/protobuf for instructions.
@@ -26,18 +26,6 @@ PROTO_REPO=https://github.com/google/protobuf
 PROTO_SUBDIR=src/google/protobuf
 API_REPO=https://github.com/googleapis/googleapis
 
-# NOTE(cbro): Mac OS sed requires an argument be passed into -i,
-# GNU sed interprets that blank argument as a filename.
-if [ "Darwin" = $(uname) ]; then
-  function sed-i-f {
-    sed -i '' -f $@
-  }
-else
-  function sed-i-f {
-    sed -i -f $@
-  }
-fi
-
 function die() {
   echo 1>&2 $*
   exit 1
@@ -49,89 +37,36 @@ for tool in go git protoc protoc-gen-go; do
   echo 1>&2 "$tool: $q"
 done
 
-tmpdir=$(mktemp -d -t regen-cds-dir.XXXXXX)
-trap 'rm -rf $tmpdir' EXIT
-tmpapi=$(mktemp -d -t regen-cds-api.XXXXXX)
-trap 'rm -rf $tmpapi' EXIT
-
-echo -n 1>&2 "finding package dir... "
-pkgdir=$(go list -f '{{.Dir}}' $PKG/protobuf)
-echo 1>&2 $pkgdir
-base=$(echo $pkgdir | sed "s,/$PKG/protobuf\$,,")
-echo 1>&2 "base: $base"
-cd $base
-
-echo 1>&2 "fetching proto repos..."
-git clone -q $PROTO_REPO $tmpdir &
-git clone -q $API_REPO $tmpapi &
-wait
-
-import_fixes=$tmpdir/fix_imports.sed
-import_msg=$tmpdir/fix_imports.txt
-vanity_fixes=$tmpdir/vanity_fixes.sed
-
-# Rename records a proto rename from $1->$2.
-function rename() {
-  echo >>$import_msg "Renaming $1 => $2"
-  echo >>$import_fixes "s,\"$1\";,\"$2\"; // from $1,"
-}
-
-# Pass 1: copy protos from the google/protobuf repo.
-for f in $(cd $PKG && find protobuf -name '*.proto'); do
-  echo 1>&2 "finding latest version of $f... "
-  up=google/protobuf/$(basename $f)
-  cp "$tmpdir/src/$up" "$PKG/$f"
-  rename "$up" "$PKG/$f"
-done
-
-# Pass 2: move the protos out of googleapis/google/{api,rpc,type}.
-for g in "api" "rpc" "type"; do
-  for f in $(cd $PKG && find googleapis/$g -name '*.proto'); do
-    echo 1>&2 "finding latest version of $f... "
-    # Note: we use move here so that the next pass doesn't see them.
-    up=google/$g/$(basename $f)
-    [ ! -f "$tmpapi/$up" ] && continue
-    mv "$tmpapi/$up" "$PKG/$f"
-    rename "$up" "$PKG/$f"
-  done
-done
+root=$(go list -f '{{.Root}}' $PKG/... | head -n1)
+if [ -z "$root" ]; then
+  die "cannot find root of $PKG"
+fi
 
-# Pass 3: copy the rest of googleapis/google
-for f in $(cd "$tmpapi/google" && find * -name '*.proto'); do
-  dst=$(dirname "$PKG/googleapis/$f")
-  echo 1>&2 "finding latest version of $f... "
-  mkdir -p $dst
-  cp "$tmpapi/google/$f" "$dst"
-  rename "google/$f" "$PKG/googleapis/$f"
-done
+if [ -z "$PROTOBUF" ]; then
+  protodir=$(mktemp -d -t regen-cds-proto.XXXXXX)
+  git clone -q $PROTO_REPO $protodir &
+  trap 'rm -rf $protodir' EXIT
+else
+  protodir="$PROTOBUF"
+fi
 
-# Mappings of well-known proto types.
-rename "google/protobuf/any.proto" "github.com/golang/protobuf/ptypes/any/any.proto"
-rename "google/protobuf/duration.proto" "github.com/golang/protobuf/ptypes/duration/duration.proto"
-rename "google/protobuf/empty.proto" "github.com/golang/protobuf/ptypes/empty/empty.proto"
-rename "google/protobuf/struct.proto" "github.com/golang/protobuf/ptypes/struct/struct.proto"
-rename "google/protobuf/timestamp.proto" "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"
-rename "google/protobuf/wrappers.proto" "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"
+if [ -z "$GOOGLEAPIS" ]; then
+  apidir=$(mktemp -d -t regen-cds-api.XXXXXX)
+  git clone -q $API_REPO $apidir &
+  trap 'rm -rf $apidir' EXIT
+else
+  apidir="$GOOGLEAPIS"
+fi
 
-# Pass 4: fix the imports in each of the protos.
-sort $import_msg 1>&2
-sed-i-f $import_fixes $(find $PKG -name '*.proto')
+wait
 
-# Run protoc once per package.
-for dir in $(find $PKG -name '*.proto' -exec dirname '{}' ';' | sort -u); do
-  echo 1>&2 "* $dir"
-  protoc --go_out=plugins=grpc:. $dir/*.proto
-done
+# Nuke everything, we'll generate them back
+rm -r googleapis/ protobuf/
 
-# Add import comments and fix package names.
-for f in $(find $PKG -name '*.pb.go'); do
-  dir=$(dirname $f)
-  echo "s,^\(package .*\)\$,\\1 // import \"$dir\"," > $vanity_fixes
-  sed-i-f $vanity_fixes $f
-done
+go run regen.go -go_out "$root/src" -pkg_prefix "$PKG" "$apidir" "$protodir"
 
 # Sanity check the build.
 echo 1>&2 "Checking that the libraries build..."
-go build -v $PKG/...
+go build -v ./...
 
 echo 1>&2 "All done!"