diff --git a/build.sh b/build.sh index 81a7233..7b7d0c9 100755 --- a/build.sh +++ b/build.sh @@ -9,7 +9,7 @@ mv go/proto/ProjectModels.pb.go go/projectmodels mv go/proto/ProjectEntryModels.pb.go go/projectmodels mv go/proto/DatasetEntryModels.pb.go go/datasetentrymodels -mv go/proto/DatasetModels.pb.go go/datasetmodels +mv go/proto/DatasetAPIModels.pb.go go/datasetapimodels mv go/proto/DatasetAPI.pb.go go/api mv go/proto/LoadModels.pb.go go/loadmodels diff --git a/go/api/AuthAPI.pb.go b/go/api/AuthAPI.pb.go index 4a05318..b61bd6b 100644 --- a/go/api/AuthAPI.pb.go +++ b/go/api/AuthAPI.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel -// protoc v3.12.3 +// protoc v3.12.4 // source: proto/AuthAPI.proto package api diff --git a/go/api/DatasetAPI.pb.go b/go/api/DatasetAPI.pb.go index eeeb49e..c69b232 100644 --- a/go/api/DatasetAPI.pb.go +++ b/go/api/DatasetAPI.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel -// protoc v3.12.3 +// protoc v3.12.4 // source: proto/DatasetAPI.proto package api @@ -36,119 +36,160 @@ var File_proto_DatasetAPI_proto protoreflect.FileDescriptor var file_proto_DatasetAPI_proto_rawDesc = []byte{ 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x41, - 0x50, 0x49, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, - 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xdc, 0x07, 0x0a, 0x0e, - 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5b, - 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x73, - 0x65, 0x74, 0x12, 0x15, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, - 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x44, 0x61, 0x74, 0x61, - 0x73, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, - 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, - 0x74, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x3e, 0x0a, 0x08, 0x44, - 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x03, 0x2e, 0x49, 0x44, 0x1a, 0x0c, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x19, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x73, 0x65, 0x74, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x3f, 0x0a, 0x0d, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x03, 0x2e, 0x49, - 0x44, 0x1a, 0x06, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, - 0x65, 0x74, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x74, 0x0a, 0x17, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x4e, 0x65, 0x77, 0x44, 0x61, 0x74, + 0x50, 0x49, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x41, 0x50, 0x49, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x88, + 0x08, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x5b, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x15, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x3c, + 0x0a, 0x08, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x03, 0x2e, 0x49, 0x44, 0x1a, + 0x0c, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x1d, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x49, 0x44, 0x7d, 0x12, 0x52, 0x0a, 0x0f, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x03, 0x2e, 0x49, 0x44, 0x1a, 0x13, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1f, 0x12, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x2f, 0x7b, 0x49, 0x44, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x5c, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x14, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x7b, + 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, - 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, - 0x74, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, - 0x01, 0x2a, 0x12, 0x53, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x03, 0x2e, 0x49, 0x44, 0x1a, 0x13, 0x2e, 0x44, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x22, - 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2f, - 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x55, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x03, 0x2e, 0x49, - 0x44, 0x1a, 0x14, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x22, - 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x67, 0x65, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x4d, - 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x03, 0x2e, 0x49, 0x44, 0x1a, 0x06, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x88, 0x01, - 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x27, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, - 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x06, 0x2e, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x22, 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x22, 0x29, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x66, 0x0a, 0x1a, 0x44, 0x61, 0x74, 0x61, - 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x03, 0x2e, 0x49, 0x44, 0x1a, 0x17, 0x2e, 0x44, 0x61, - 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x22, 0x1f, 0x2f, 0x61, + 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x12, 0x3a, 0x0a, 0x0d, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x03, 0x2e, 0x49, + 0x44, 0x1a, 0x06, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x16, 0x2a, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x2f, 0x7b, 0x49, 0x44, 0x7d, 0x12, 0x77, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x65, 0x77, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x1c, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x14, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, + 0x12, 0x53, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x03, 0x2e, 0x49, 0x44, 0x1a, 0x14, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x2f, 0x7b, 0x49, 0x44, 0x7d, 0x12, 0x6a, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x12, 0x14, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, + 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x3a, 0x01, + 0x2a, 0x12, 0x48, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x03, 0x2e, 0x49, 0x44, 0x1a, 0x06, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x2a, 0x1b, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x49, 0x44, 0x7d, 0x12, 0x6c, 0x0a, 0x1a, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x03, 0x2e, 0x49, 0x44, 0x1a, 0x17, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, + 0x28, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x49, 0x44, 0x7d, 0x2f, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x32, 0xa3, 0x03, 0x0a, 0x0e, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7e, 0x0a, 0x17, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x20, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x2c, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x63, 0x0a, 0x1a, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x03, 0x2e, 0x49, 0x44, 0x1a, + 0x17, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, + 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x7b, 0x49, 0x44, + 0x7d, 0x12, 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x03, 0x2e, 0x49, 0x44, 0x1a, + 0x13, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x01, 0x2a, - 0x12, 0x87, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, - 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x20, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x26, 0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, - 0x74, 0x61, 0x73, 0x65, 0x74, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x42, 0x38, 0x5a, 0x36, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x67, 0x2d, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2d, 0x62, 0x69, 0x6f, 0x2f, 0x42, 0x69, - 0x6f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x42, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, 0x6f, - 0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x63, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x7b, 0x49, 0x44, 0x7d, 0x12, 0x50, 0x0a, + 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x03, 0x2e, 0x49, 0x44, 0x1a, 0x06, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x2a, 0x1f, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x7b, 0x49, 0x44, 0x7d, 0x42, + 0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x67, + 0x2d, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2d, 0x62, + 0x69, 0x6f, 0x2f, 0x42, 0x69, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x42, 0x4d, 0x6f, 0x64, 0x65, + 0x6c, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var file_proto_DatasetAPI_proto_goTypes = []interface{}{ - (*datasetmodels.CreateDatasetRequest)(nil), // 0: CreateDatasetRequest - (*commonmodels.ID)(nil), // 1: ID - (*datasetmodels.NewDatasetVersionRequest)(nil), // 2: NewDatasetVersionRequest - (*datasetmodels.UpdateDatasetVersionObjectCountRequest)(nil), // 3: UpdateDatasetVersionObjectCountRequest - (*datasetmodels.CreateDatasetObjectGroupRequest)(nil), // 4: CreateDatasetObjectGroupRequest - (*datasetentrymodels.DatasetEntry)(nil), // 5: DatasetEntry - (*datasetmodels.DatasetList)(nil), // 6: DatasetList - (*commonmodels.Empty)(nil), // 7: Empty - (*datasetentrymodels.DatasetVersionEntry)(nil), // 8: DatasetVersionEntry - (*datasetmodels.DatasetVersionList)(nil), // 9: DatasetVersionList - (*datasetmodels.DatasetObjectGroupList)(nil), // 10: DatasetObjectGroupList - (*datasetmodels.CreateDatasetObjectReponse)(nil), // 11: CreateDatasetObjectReponse + (*datasetmodels.CreateDatasetRequest)(nil), // 0: CreateDatasetRequest + (*commonmodels.ID)(nil), // 1: ID + (*datasetmodels.UpdateFieldsRequest)(nil), // 2: UpdateFieldsRequest + (*datasetmodels.UpdateCurrentDatasetVersionRequest)(nil), // 3: UpdateCurrentDatasetVersionRequest + (*datasetmodels.CreateDatasetVersionRequest)(nil), // 4: CreateDatasetVersionRequest + (*datasetmodels.CreateDatasetObjectGroupRequest)(nil), // 5: CreateDatasetObjectGroupRequest + (*datasetentrymodels.DatasetEntry)(nil), // 6: DatasetEntry + (*datasetmodels.DatasetList)(nil), // 7: DatasetList + (*datasetmodels.DatasetVersionList)(nil), // 8: DatasetVersionList + (*commonmodels.Empty)(nil), // 9: Empty + (*datasetentrymodels.DatasetVersionEntry)(nil), // 10: DatasetVersionEntry + (*datasetmodels.DatasetObjectGroupList)(nil), // 11: DatasetObjectGroupList + (*datasetentrymodels.DatasetObjectGroup)(nil), // 12: DatasetObjectGroup } var file_proto_DatasetAPI_proto_depIdxs = []int32{ 0, // 0: DatasetService.CreateNewDataset:input_type -> CreateDatasetRequest 1, // 1: DatasetService.Datasets:input_type -> ID - 1, // 2: DatasetService.DeleteDataset:input_type -> ID - 2, // 3: DatasetService.CreateNewDatasetVersion:input_type -> NewDatasetVersionRequest - 1, // 4: DatasetService.DatasetVersions:input_type -> ID - 1, // 5: DatasetService.GetDatasetVersion:input_type -> ID - 1, // 6: DatasetService.DeleteDatasetVersion:input_type -> ID - 3, // 7: DatasetService.UpdateDatasetVersionObjectCount:input_type -> UpdateDatasetVersionObjectCountRequest - 1, // 8: DatasetService.DatasetVersionObjectGroups:input_type -> ID - 4, // 9: DatasetService.CreateDatasetObjectGroup:input_type -> CreateDatasetObjectGroupRequest - 5, // 10: DatasetService.CreateNewDataset:output_type -> DatasetEntry - 6, // 11: DatasetService.Datasets:output_type -> DatasetList - 7, // 12: DatasetService.DeleteDataset:output_type -> Empty - 8, // 13: DatasetService.CreateNewDatasetVersion:output_type -> DatasetVersionEntry - 9, // 14: DatasetService.DatasetVersions:output_type -> DatasetVersionList - 8, // 15: DatasetService.GetDatasetVersion:output_type -> DatasetVersionEntry - 7, // 16: DatasetService.DeleteDatasetVersion:output_type -> Empty - 7, // 17: DatasetService.UpdateDatasetVersionObjectCount:output_type -> Empty - 10, // 18: DatasetService.DatasetVersionObjectGroups:output_type -> DatasetObjectGroupList - 11, // 19: DatasetService.CreateDatasetObjectGroup:output_type -> CreateDatasetObjectReponse - 10, // [10:20] is the sub-list for method output_type - 0, // [0:10] is the sub-list for method input_type + 1, // 2: DatasetService.DatasetVersions:input_type -> ID + 2, // 3: DatasetService.UpdateDatasetField:input_type -> UpdateFieldsRequest + 3, // 4: DatasetService.UpdateCurrentDatasetVersion:input_type -> UpdateCurrentDatasetVersionRequest + 1, // 5: DatasetService.DeleteDataset:input_type -> ID + 4, // 6: DatasetService.CreateNewDatasetVersion:input_type -> CreateDatasetVersionRequest + 1, // 7: DatasetService.GetDatasetVersion:input_type -> ID + 2, // 8: DatasetService.UpdateDatasetVersionField:input_type -> UpdateFieldsRequest + 1, // 9: DatasetService.DeleteDatasetVersion:input_type -> ID + 1, // 10: DatasetService.DatasetVersionObjectGroups:input_type -> ID + 5, // 11: ObjectsService.CreateDatsetObjectGroup:input_type -> CreateDatasetObjectGroupRequest + 1, // 12: ObjectsService.DatasetVersionObjectGroups:input_type -> ID + 1, // 13: ObjectsService.GetDatasetObjectGroup:input_type -> ID + 1, // 14: ObjectsService.DeleteDatasetObjectGroup:input_type -> ID + 6, // 15: DatasetService.CreateNewDataset:output_type -> DatasetEntry + 7, // 16: DatasetService.Datasets:output_type -> DatasetList + 8, // 17: DatasetService.DatasetVersions:output_type -> DatasetVersionList + 6, // 18: DatasetService.UpdateDatasetField:output_type -> DatasetEntry + 6, // 19: DatasetService.UpdateCurrentDatasetVersion:output_type -> DatasetEntry + 9, // 20: DatasetService.DeleteDataset:output_type -> Empty + 10, // 21: DatasetService.CreateNewDatasetVersion:output_type -> DatasetVersionEntry + 10, // 22: DatasetService.GetDatasetVersion:output_type -> DatasetVersionEntry + 6, // 23: DatasetService.UpdateDatasetVersionField:output_type -> DatasetEntry + 9, // 24: DatasetService.DeleteDatasetVersion:output_type -> Empty + 11, // 25: DatasetService.DatasetVersionObjectGroups:output_type -> DatasetObjectGroupList + 12, // 26: ObjectsService.CreateDatsetObjectGroup:output_type -> DatasetObjectGroup + 11, // 27: ObjectsService.DatasetVersionObjectGroups:output_type -> DatasetObjectGroupList + 12, // 28: ObjectsService.GetDatasetObjectGroup:output_type -> DatasetObjectGroup + 9, // 29: ObjectsService.DeleteDatasetObjectGroup:output_type -> Empty + 15, // [15:30] is the sub-list for method output_type + 0, // [0:15] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name @@ -167,7 +208,7 @@ func file_proto_DatasetAPI_proto_init() { NumEnums: 0, NumMessages: 0, NumExtensions: 0, - NumServices: 1, + NumServices: 2, }, GoTypes: file_proto_DatasetAPI_proto_goTypes, DependencyIndexes: file_proto_DatasetAPI_proto_depIdxs, @@ -190,25 +231,28 @@ const _ = grpc.SupportPackageIsVersion6 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type DatasetServiceClient interface { - // CreateNewDataset Creates a new dataset + // CreateNewDataset Creates a new dataset and associates it with a dataset CreateNewDataset(ctx context.Context, in *datasetmodels.CreateDatasetRequest, opts ...grpc.CallOption) (*datasetentrymodels.DatasetEntry, error) - // Datasets Lists all datasets + // Datasets Lists all datasets of a user Datasets(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*datasetmodels.DatasetList, error) - // DeleteDataset Delete a dataset - DeleteDataset(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*commonmodels.Empty, error) - // Creates a new dataset version based on an existing dataset - CreateNewDatasetVersion(ctx context.Context, in *datasetmodels.NewDatasetVersionRequest, opts ...grpc.CallOption) (*datasetentrymodels.DatasetVersionEntry, error) // Lists Versions of a dataset DatasetVersions(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*datasetmodels.DatasetVersionList, error) + // Updates a field of a dataset + UpdateDatasetField(ctx context.Context, in *datasetmodels.UpdateFieldsRequest, opts ...grpc.CallOption) (*datasetentrymodels.DatasetEntry, error) + // Updates the current dataset version of a dataset + UpdateCurrentDatasetVersion(ctx context.Context, in *datasetmodels.UpdateCurrentDatasetVersionRequest, opts ...grpc.CallOption) (*datasetentrymodels.DatasetEntry, error) + // DeleteDataset Delete a dataset + // Datasets can only be deleted if + DeleteDataset(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*commonmodels.Empty, error) + // Creates a new dataset version which is linked to an exisiting dataset + CreateNewDatasetVersion(ctx context.Context, in *datasetmodels.CreateDatasetVersionRequest, opts ...grpc.CallOption) (*datasetentrymodels.DatasetVersionEntry, error) GetDatasetVersion(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*datasetentrymodels.DatasetVersionEntry, error) + UpdateDatasetVersionField(ctx context.Context, in *datasetmodels.UpdateFieldsRequest, opts ...grpc.CallOption) (*datasetentrymodels.DatasetEntry, error) // Deletes a dataset version // This should not delete the underlaying dataset objects DeleteDatasetVersion(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*commonmodels.Empty, error) - // Updates the expected number of objects in a dataset - UpdateDatasetVersionObjectCount(ctx context.Context, in *datasetmodels.UpdateDatasetVersionObjectCountRequest, opts ...grpc.CallOption) (*commonmodels.Empty, error) - // Lists all entities of a dataset + //DatasetVersionObjectGroups Lists all objects groups that are part of the given dataset version DatasetVersionObjectGroups(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*datasetmodels.DatasetObjectGroupList, error) - CreateDatasetObjectGroup(ctx context.Context, in *datasetmodels.CreateDatasetObjectGroupRequest, opts ...grpc.CallOption) (*datasetmodels.CreateDatasetObjectReponse, error) } type datasetServiceClient struct { @@ -237,72 +281,81 @@ func (c *datasetServiceClient) Datasets(ctx context.Context, in *commonmodels.ID return out, nil } -func (c *datasetServiceClient) DeleteDataset(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*commonmodels.Empty, error) { - out := new(commonmodels.Empty) - err := c.cc.Invoke(ctx, "/DatasetService/DeleteDataset", in, out, opts...) +func (c *datasetServiceClient) DatasetVersions(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*datasetmodels.DatasetVersionList, error) { + out := new(datasetmodels.DatasetVersionList) + err := c.cc.Invoke(ctx, "/DatasetService/DatasetVersions", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *datasetServiceClient) CreateNewDatasetVersion(ctx context.Context, in *datasetmodels.NewDatasetVersionRequest, opts ...grpc.CallOption) (*datasetentrymodels.DatasetVersionEntry, error) { - out := new(datasetentrymodels.DatasetVersionEntry) - err := c.cc.Invoke(ctx, "/DatasetService/CreateNewDatasetVersion", in, out, opts...) +func (c *datasetServiceClient) UpdateDatasetField(ctx context.Context, in *datasetmodels.UpdateFieldsRequest, opts ...grpc.CallOption) (*datasetentrymodels.DatasetEntry, error) { + out := new(datasetentrymodels.DatasetEntry) + err := c.cc.Invoke(ctx, "/DatasetService/UpdateDatasetField", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *datasetServiceClient) DatasetVersions(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*datasetmodels.DatasetVersionList, error) { - out := new(datasetmodels.DatasetVersionList) - err := c.cc.Invoke(ctx, "/DatasetService/DatasetVersions", in, out, opts...) +func (c *datasetServiceClient) UpdateCurrentDatasetVersion(ctx context.Context, in *datasetmodels.UpdateCurrentDatasetVersionRequest, opts ...grpc.CallOption) (*datasetentrymodels.DatasetEntry, error) { + out := new(datasetentrymodels.DatasetEntry) + err := c.cc.Invoke(ctx, "/DatasetService/UpdateCurrentDatasetVersion", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *datasetServiceClient) GetDatasetVersion(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*datasetentrymodels.DatasetVersionEntry, error) { +func (c *datasetServiceClient) DeleteDataset(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*commonmodels.Empty, error) { + out := new(commonmodels.Empty) + err := c.cc.Invoke(ctx, "/DatasetService/DeleteDataset", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *datasetServiceClient) CreateNewDatasetVersion(ctx context.Context, in *datasetmodels.CreateDatasetVersionRequest, opts ...grpc.CallOption) (*datasetentrymodels.DatasetVersionEntry, error) { out := new(datasetentrymodels.DatasetVersionEntry) - err := c.cc.Invoke(ctx, "/DatasetService/GetDatasetVersion", in, out, opts...) + err := c.cc.Invoke(ctx, "/DatasetService/CreateNewDatasetVersion", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *datasetServiceClient) DeleteDatasetVersion(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*commonmodels.Empty, error) { - out := new(commonmodels.Empty) - err := c.cc.Invoke(ctx, "/DatasetService/DeleteDatasetVersion", in, out, opts...) +func (c *datasetServiceClient) GetDatasetVersion(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*datasetentrymodels.DatasetVersionEntry, error) { + out := new(datasetentrymodels.DatasetVersionEntry) + err := c.cc.Invoke(ctx, "/DatasetService/GetDatasetVersion", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *datasetServiceClient) UpdateDatasetVersionObjectCount(ctx context.Context, in *datasetmodels.UpdateDatasetVersionObjectCountRequest, opts ...grpc.CallOption) (*commonmodels.Empty, error) { - out := new(commonmodels.Empty) - err := c.cc.Invoke(ctx, "/DatasetService/UpdateDatasetVersionObjectCount", in, out, opts...) +func (c *datasetServiceClient) UpdateDatasetVersionField(ctx context.Context, in *datasetmodels.UpdateFieldsRequest, opts ...grpc.CallOption) (*datasetentrymodels.DatasetEntry, error) { + out := new(datasetentrymodels.DatasetEntry) + err := c.cc.Invoke(ctx, "/DatasetService/UpdateDatasetVersionField", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *datasetServiceClient) DatasetVersionObjectGroups(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*datasetmodels.DatasetObjectGroupList, error) { - out := new(datasetmodels.DatasetObjectGroupList) - err := c.cc.Invoke(ctx, "/DatasetService/DatasetVersionObjectGroups", in, out, opts...) +func (c *datasetServiceClient) DeleteDatasetVersion(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*commonmodels.Empty, error) { + out := new(commonmodels.Empty) + err := c.cc.Invoke(ctx, "/DatasetService/DeleteDatasetVersion", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *datasetServiceClient) CreateDatasetObjectGroup(ctx context.Context, in *datasetmodels.CreateDatasetObjectGroupRequest, opts ...grpc.CallOption) (*datasetmodels.CreateDatasetObjectReponse, error) { - out := new(datasetmodels.CreateDatasetObjectReponse) - err := c.cc.Invoke(ctx, "/DatasetService/CreateDatasetObjectGroup", in, out, opts...) +func (c *datasetServiceClient) DatasetVersionObjectGroups(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*datasetmodels.DatasetObjectGroupList, error) { + out := new(datasetmodels.DatasetObjectGroupList) + err := c.cc.Invoke(ctx, "/DatasetService/DatasetVersionObjectGroups", in, out, opts...) if err != nil { return nil, err } @@ -311,25 +364,28 @@ func (c *datasetServiceClient) CreateDatasetObjectGroup(ctx context.Context, in // DatasetServiceServer is the server API for DatasetService service. type DatasetServiceServer interface { - // CreateNewDataset Creates a new dataset + // CreateNewDataset Creates a new dataset and associates it with a dataset CreateNewDataset(context.Context, *datasetmodels.CreateDatasetRequest) (*datasetentrymodels.DatasetEntry, error) - // Datasets Lists all datasets + // Datasets Lists all datasets of a user Datasets(context.Context, *commonmodels.ID) (*datasetmodels.DatasetList, error) - // DeleteDataset Delete a dataset - DeleteDataset(context.Context, *commonmodels.ID) (*commonmodels.Empty, error) - // Creates a new dataset version based on an existing dataset - CreateNewDatasetVersion(context.Context, *datasetmodels.NewDatasetVersionRequest) (*datasetentrymodels.DatasetVersionEntry, error) // Lists Versions of a dataset DatasetVersions(context.Context, *commonmodels.ID) (*datasetmodels.DatasetVersionList, error) + // Updates a field of a dataset + UpdateDatasetField(context.Context, *datasetmodels.UpdateFieldsRequest) (*datasetentrymodels.DatasetEntry, error) + // Updates the current dataset version of a dataset + UpdateCurrentDatasetVersion(context.Context, *datasetmodels.UpdateCurrentDatasetVersionRequest) (*datasetentrymodels.DatasetEntry, error) + // DeleteDataset Delete a dataset + // Datasets can only be deleted if + DeleteDataset(context.Context, *commonmodels.ID) (*commonmodels.Empty, error) + // Creates a new dataset version which is linked to an exisiting dataset + CreateNewDatasetVersion(context.Context, *datasetmodels.CreateDatasetVersionRequest) (*datasetentrymodels.DatasetVersionEntry, error) GetDatasetVersion(context.Context, *commonmodels.ID) (*datasetentrymodels.DatasetVersionEntry, error) + UpdateDatasetVersionField(context.Context, *datasetmodels.UpdateFieldsRequest) (*datasetentrymodels.DatasetEntry, error) // Deletes a dataset version // This should not delete the underlaying dataset objects DeleteDatasetVersion(context.Context, *commonmodels.ID) (*commonmodels.Empty, error) - // Updates the expected number of objects in a dataset - UpdateDatasetVersionObjectCount(context.Context, *datasetmodels.UpdateDatasetVersionObjectCountRequest) (*commonmodels.Empty, error) - // Lists all entities of a dataset + //DatasetVersionObjectGroups Lists all objects groups that are part of the given dataset version DatasetVersionObjectGroups(context.Context, *commonmodels.ID) (*datasetmodels.DatasetObjectGroupList, error) - CreateDatasetObjectGroup(context.Context, *datasetmodels.CreateDatasetObjectGroupRequest) (*datasetmodels.CreateDatasetObjectReponse, error) } // UnimplementedDatasetServiceServer can be embedded to have forward compatible implementations. @@ -342,30 +398,33 @@ func (*UnimplementedDatasetServiceServer) CreateNewDataset(context.Context, *dat func (*UnimplementedDatasetServiceServer) Datasets(context.Context, *commonmodels.ID) (*datasetmodels.DatasetList, error) { return nil, status.Errorf(codes.Unimplemented, "method Datasets not implemented") } +func (*UnimplementedDatasetServiceServer) DatasetVersions(context.Context, *commonmodels.ID) (*datasetmodels.DatasetVersionList, error) { + return nil, status.Errorf(codes.Unimplemented, "method DatasetVersions not implemented") +} +func (*UnimplementedDatasetServiceServer) UpdateDatasetField(context.Context, *datasetmodels.UpdateFieldsRequest) (*datasetentrymodels.DatasetEntry, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateDatasetField not implemented") +} +func (*UnimplementedDatasetServiceServer) UpdateCurrentDatasetVersion(context.Context, *datasetmodels.UpdateCurrentDatasetVersionRequest) (*datasetentrymodels.DatasetEntry, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateCurrentDatasetVersion not implemented") +} func (*UnimplementedDatasetServiceServer) DeleteDataset(context.Context, *commonmodels.ID) (*commonmodels.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteDataset not implemented") } -func (*UnimplementedDatasetServiceServer) CreateNewDatasetVersion(context.Context, *datasetmodels.NewDatasetVersionRequest) (*datasetentrymodels.DatasetVersionEntry, error) { +func (*UnimplementedDatasetServiceServer) CreateNewDatasetVersion(context.Context, *datasetmodels.CreateDatasetVersionRequest) (*datasetentrymodels.DatasetVersionEntry, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateNewDatasetVersion not implemented") } -func (*UnimplementedDatasetServiceServer) DatasetVersions(context.Context, *commonmodels.ID) (*datasetmodels.DatasetVersionList, error) { - return nil, status.Errorf(codes.Unimplemented, "method DatasetVersions not implemented") -} func (*UnimplementedDatasetServiceServer) GetDatasetVersion(context.Context, *commonmodels.ID) (*datasetentrymodels.DatasetVersionEntry, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDatasetVersion not implemented") } +func (*UnimplementedDatasetServiceServer) UpdateDatasetVersionField(context.Context, *datasetmodels.UpdateFieldsRequest) (*datasetentrymodels.DatasetEntry, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateDatasetVersionField not implemented") +} func (*UnimplementedDatasetServiceServer) DeleteDatasetVersion(context.Context, *commonmodels.ID) (*commonmodels.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteDatasetVersion not implemented") } -func (*UnimplementedDatasetServiceServer) UpdateDatasetVersionObjectCount(context.Context, *datasetmodels.UpdateDatasetVersionObjectCountRequest) (*commonmodels.Empty, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateDatasetVersionObjectCount not implemented") -} func (*UnimplementedDatasetServiceServer) DatasetVersionObjectGroups(context.Context, *commonmodels.ID) (*datasetmodels.DatasetObjectGroupList, error) { return nil, status.Errorf(codes.Unimplemented, "method DatasetVersionObjectGroups not implemented") } -func (*UnimplementedDatasetServiceServer) CreateDatasetObjectGroup(context.Context, *datasetmodels.CreateDatasetObjectGroupRequest) (*datasetmodels.CreateDatasetObjectReponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateDatasetObjectGroup not implemented") -} func RegisterDatasetServiceServer(s *grpc.Server, srv DatasetServiceServer) { s.RegisterService(&_DatasetService_serviceDesc, srv) @@ -407,146 +466,164 @@ func _DatasetService_Datasets_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _DatasetService_DeleteDataset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _DatasetService_DatasetVersions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(commonmodels.ID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DatasetServiceServer).DeleteDataset(ctx, in) + return srv.(DatasetServiceServer).DatasetVersions(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DatasetService/DeleteDataset", + FullMethod: "/DatasetService/DatasetVersions", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DatasetServiceServer).DeleteDataset(ctx, req.(*commonmodels.ID)) + return srv.(DatasetServiceServer).DatasetVersions(ctx, req.(*commonmodels.ID)) } return interceptor(ctx, in, info, handler) } -func _DatasetService_CreateNewDatasetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(datasetmodels.NewDatasetVersionRequest) +func _DatasetService_UpdateDatasetField_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(datasetmodels.UpdateFieldsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DatasetServiceServer).CreateNewDatasetVersion(ctx, in) + return srv.(DatasetServiceServer).UpdateDatasetField(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DatasetService/CreateNewDatasetVersion", + FullMethod: "/DatasetService/UpdateDatasetField", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DatasetServiceServer).CreateNewDatasetVersion(ctx, req.(*datasetmodels.NewDatasetVersionRequest)) + return srv.(DatasetServiceServer).UpdateDatasetField(ctx, req.(*datasetmodels.UpdateFieldsRequest)) } return interceptor(ctx, in, info, handler) } -func _DatasetService_DatasetVersions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(commonmodels.ID) +func _DatasetService_UpdateCurrentDatasetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(datasetmodels.UpdateCurrentDatasetVersionRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DatasetServiceServer).DatasetVersions(ctx, in) + return srv.(DatasetServiceServer).UpdateCurrentDatasetVersion(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DatasetService/DatasetVersions", + FullMethod: "/DatasetService/UpdateCurrentDatasetVersion", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DatasetServiceServer).DatasetVersions(ctx, req.(*commonmodels.ID)) + return srv.(DatasetServiceServer).UpdateCurrentDatasetVersion(ctx, req.(*datasetmodels.UpdateCurrentDatasetVersionRequest)) } return interceptor(ctx, in, info, handler) } -func _DatasetService_GetDatasetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _DatasetService_DeleteDataset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(commonmodels.ID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DatasetServiceServer).GetDatasetVersion(ctx, in) + return srv.(DatasetServiceServer).DeleteDataset(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DatasetService/GetDatasetVersion", + FullMethod: "/DatasetService/DeleteDataset", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DatasetServiceServer).GetDatasetVersion(ctx, req.(*commonmodels.ID)) + return srv.(DatasetServiceServer).DeleteDataset(ctx, req.(*commonmodels.ID)) } return interceptor(ctx, in, info, handler) } -func _DatasetService_DeleteDatasetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _DatasetService_CreateNewDatasetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(datasetmodels.CreateDatasetVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(DatasetServiceServer).CreateNewDatasetVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/DatasetService/CreateNewDatasetVersion", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(DatasetServiceServer).CreateNewDatasetVersion(ctx, req.(*datasetmodels.CreateDatasetVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _DatasetService_GetDatasetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(commonmodels.ID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DatasetServiceServer).DeleteDatasetVersion(ctx, in) + return srv.(DatasetServiceServer).GetDatasetVersion(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DatasetService/DeleteDatasetVersion", + FullMethod: "/DatasetService/GetDatasetVersion", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DatasetServiceServer).DeleteDatasetVersion(ctx, req.(*commonmodels.ID)) + return srv.(DatasetServiceServer).GetDatasetVersion(ctx, req.(*commonmodels.ID)) } return interceptor(ctx, in, info, handler) } -func _DatasetService_UpdateDatasetVersionObjectCount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(datasetmodels.UpdateDatasetVersionObjectCountRequest) +func _DatasetService_UpdateDatasetVersionField_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(datasetmodels.UpdateFieldsRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DatasetServiceServer).UpdateDatasetVersionObjectCount(ctx, in) + return srv.(DatasetServiceServer).UpdateDatasetVersionField(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DatasetService/UpdateDatasetVersionObjectCount", + FullMethod: "/DatasetService/UpdateDatasetVersionField", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DatasetServiceServer).UpdateDatasetVersionObjectCount(ctx, req.(*datasetmodels.UpdateDatasetVersionObjectCountRequest)) + return srv.(DatasetServiceServer).UpdateDatasetVersionField(ctx, req.(*datasetmodels.UpdateFieldsRequest)) } return interceptor(ctx, in, info, handler) } -func _DatasetService_DatasetVersionObjectGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _DatasetService_DeleteDatasetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(commonmodels.ID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DatasetServiceServer).DatasetVersionObjectGroups(ctx, in) + return srv.(DatasetServiceServer).DeleteDatasetVersion(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DatasetService/DatasetVersionObjectGroups", + FullMethod: "/DatasetService/DeleteDatasetVersion", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DatasetServiceServer).DatasetVersionObjectGroups(ctx, req.(*commonmodels.ID)) + return srv.(DatasetServiceServer).DeleteDatasetVersion(ctx, req.(*commonmodels.ID)) } return interceptor(ctx, in, info, handler) } -func _DatasetService_CreateDatasetObjectGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(datasetmodels.CreateDatasetObjectGroupRequest) +func _DatasetService_DatasetVersionObjectGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(commonmodels.ID) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(DatasetServiceServer).CreateDatasetObjectGroup(ctx, in) + return srv.(DatasetServiceServer).DatasetVersionObjectGroups(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/DatasetService/CreateDatasetObjectGroup", + FullMethod: "/DatasetService/DatasetVersionObjectGroups", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DatasetServiceServer).CreateDatasetObjectGroup(ctx, req.(*datasetmodels.CreateDatasetObjectGroupRequest)) + return srv.(DatasetServiceServer).DatasetVersionObjectGroups(ctx, req.(*commonmodels.ID)) } return interceptor(ctx, in, info, handler) } @@ -563,6 +640,18 @@ var _DatasetService_serviceDesc = grpc.ServiceDesc{ MethodName: "Datasets", Handler: _DatasetService_Datasets_Handler, }, + { + MethodName: "DatasetVersions", + Handler: _DatasetService_DatasetVersions_Handler, + }, + { + MethodName: "UpdateDatasetField", + Handler: _DatasetService_UpdateDatasetField_Handler, + }, + { + MethodName: "UpdateCurrentDatasetVersion", + Handler: _DatasetService_UpdateCurrentDatasetVersion_Handler, + }, { MethodName: "DeleteDataset", Handler: _DatasetService_DeleteDataset_Handler, @@ -571,29 +660,215 @@ var _DatasetService_serviceDesc = grpc.ServiceDesc{ MethodName: "CreateNewDatasetVersion", Handler: _DatasetService_CreateNewDatasetVersion_Handler, }, - { - MethodName: "DatasetVersions", - Handler: _DatasetService_DatasetVersions_Handler, - }, { MethodName: "GetDatasetVersion", Handler: _DatasetService_GetDatasetVersion_Handler, }, + { + MethodName: "UpdateDatasetVersionField", + Handler: _DatasetService_UpdateDatasetVersionField_Handler, + }, { MethodName: "DeleteDatasetVersion", Handler: _DatasetService_DeleteDatasetVersion_Handler, }, { - MethodName: "UpdateDatasetVersionObjectCount", - Handler: _DatasetService_UpdateDatasetVersionObjectCount_Handler, + MethodName: "DatasetVersionObjectGroups", + Handler: _DatasetService_DatasetVersionObjectGroups_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "proto/DatasetAPI.proto", +} + +// ObjectsServiceClient is the client API for ObjectsService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type ObjectsServiceClient interface { + //CreateDatsetObjectGroup Creates a new dataset object group in the database + //Will also create all related dataset objects + CreateDatsetObjectGroup(ctx context.Context, in *datasetmodels.CreateDatasetObjectGroupRequest, opts ...grpc.CallOption) (*datasetentrymodels.DatasetObjectGroup, error) + //DatasetVersionObjectGroups Lists all objects groups that are part of the given dataset version + DatasetVersionObjectGroups(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*datasetmodels.DatasetObjectGroupList, error) + //GetDatasetObjectGroup The dataset object group with the given ID + //Will only return a dataset object group without its affiliated objects + GetDatasetObjectGroup(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*datasetentrymodels.DatasetObjectGroup, error) + //DeleteDatasetObjectGroup Deletes the given dataset group and all associated dataset objects + //Can only be used when all linked dataset versions have been deleted + DeleteDatasetObjectGroup(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*commonmodels.Empty, error) +} + +type objectsServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewObjectsServiceClient(cc grpc.ClientConnInterface) ObjectsServiceClient { + return &objectsServiceClient{cc} +} + +func (c *objectsServiceClient) CreateDatsetObjectGroup(ctx context.Context, in *datasetmodels.CreateDatasetObjectGroupRequest, opts ...grpc.CallOption) (*datasetentrymodels.DatasetObjectGroup, error) { + out := new(datasetentrymodels.DatasetObjectGroup) + err := c.cc.Invoke(ctx, "/ObjectsService/CreateDatsetObjectGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *objectsServiceClient) DatasetVersionObjectGroups(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*datasetmodels.DatasetObjectGroupList, error) { + out := new(datasetmodels.DatasetObjectGroupList) + err := c.cc.Invoke(ctx, "/ObjectsService/DatasetVersionObjectGroups", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *objectsServiceClient) GetDatasetObjectGroup(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*datasetentrymodels.DatasetObjectGroup, error) { + out := new(datasetentrymodels.DatasetObjectGroup) + err := c.cc.Invoke(ctx, "/ObjectsService/GetDatasetObjectGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *objectsServiceClient) DeleteDatasetObjectGroup(ctx context.Context, in *commonmodels.ID, opts ...grpc.CallOption) (*commonmodels.Empty, error) { + out := new(commonmodels.Empty) + err := c.cc.Invoke(ctx, "/ObjectsService/DeleteDatasetObjectGroup", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ObjectsServiceServer is the server API for ObjectsService service. +type ObjectsServiceServer interface { + //CreateDatsetObjectGroup Creates a new dataset object group in the database + //Will also create all related dataset objects + CreateDatsetObjectGroup(context.Context, *datasetmodels.CreateDatasetObjectGroupRequest) (*datasetentrymodels.DatasetObjectGroup, error) + //DatasetVersionObjectGroups Lists all objects groups that are part of the given dataset version + DatasetVersionObjectGroups(context.Context, *commonmodels.ID) (*datasetmodels.DatasetObjectGroupList, error) + //GetDatasetObjectGroup The dataset object group with the given ID + //Will only return a dataset object group without its affiliated objects + GetDatasetObjectGroup(context.Context, *commonmodels.ID) (*datasetentrymodels.DatasetObjectGroup, error) + //DeleteDatasetObjectGroup Deletes the given dataset group and all associated dataset objects + //Can only be used when all linked dataset versions have been deleted + DeleteDatasetObjectGroup(context.Context, *commonmodels.ID) (*commonmodels.Empty, error) +} + +// UnimplementedObjectsServiceServer can be embedded to have forward compatible implementations. +type UnimplementedObjectsServiceServer struct { +} + +func (*UnimplementedObjectsServiceServer) CreateDatsetObjectGroup(context.Context, *datasetmodels.CreateDatasetObjectGroupRequest) (*datasetentrymodels.DatasetObjectGroup, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateDatsetObjectGroup not implemented") +} +func (*UnimplementedObjectsServiceServer) DatasetVersionObjectGroups(context.Context, *commonmodels.ID) (*datasetmodels.DatasetObjectGroupList, error) { + return nil, status.Errorf(codes.Unimplemented, "method DatasetVersionObjectGroups not implemented") +} +func (*UnimplementedObjectsServiceServer) GetDatasetObjectGroup(context.Context, *commonmodels.ID) (*datasetentrymodels.DatasetObjectGroup, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetDatasetObjectGroup not implemented") +} +func (*UnimplementedObjectsServiceServer) DeleteDatasetObjectGroup(context.Context, *commonmodels.ID) (*commonmodels.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteDatasetObjectGroup not implemented") +} + +func RegisterObjectsServiceServer(s *grpc.Server, srv ObjectsServiceServer) { + s.RegisterService(&_ObjectsService_serviceDesc, srv) +} + +func _ObjectsService_CreateDatsetObjectGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(datasetmodels.CreateDatasetObjectGroupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ObjectsServiceServer).CreateDatsetObjectGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/ObjectsService/CreateDatsetObjectGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ObjectsServiceServer).CreateDatsetObjectGroup(ctx, req.(*datasetmodels.CreateDatasetObjectGroupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ObjectsService_DatasetVersionObjectGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(commonmodels.ID) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ObjectsServiceServer).DatasetVersionObjectGroups(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/ObjectsService/DatasetVersionObjectGroups", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ObjectsServiceServer).DatasetVersionObjectGroups(ctx, req.(*commonmodels.ID)) + } + return interceptor(ctx, in, info, handler) +} + +func _ObjectsService_GetDatasetObjectGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(commonmodels.ID) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ObjectsServiceServer).GetDatasetObjectGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/ObjectsService/GetDatasetObjectGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ObjectsServiceServer).GetDatasetObjectGroup(ctx, req.(*commonmodels.ID)) + } + return interceptor(ctx, in, info, handler) +} + +func _ObjectsService_DeleteDatasetObjectGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(commonmodels.ID) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ObjectsServiceServer).DeleteDatasetObjectGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/ObjectsService/DeleteDatasetObjectGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ObjectsServiceServer).DeleteDatasetObjectGroup(ctx, req.(*commonmodels.ID)) + } + return interceptor(ctx, in, info, handler) +} + +var _ObjectsService_serviceDesc = grpc.ServiceDesc{ + ServiceName: "ObjectsService", + HandlerType: (*ObjectsServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "CreateDatsetObjectGroup", + Handler: _ObjectsService_CreateDatsetObjectGroup_Handler, }, { MethodName: "DatasetVersionObjectGroups", - Handler: _DatasetService_DatasetVersionObjectGroups_Handler, + Handler: _ObjectsService_DatasetVersionObjectGroups_Handler, + }, + { + MethodName: "GetDatasetObjectGroup", + Handler: _ObjectsService_GetDatasetObjectGroup_Handler, }, { - MethodName: "CreateDatasetObjectGroup", - Handler: _DatasetService_CreateDatasetObjectGroup_Handler, + MethodName: "DeleteDatasetObjectGroup", + Handler: _ObjectsService_DeleteDatasetObjectGroup_Handler, }, }, Streams: []grpc.StreamDesc{}, diff --git a/go/api/DatasetAPI.pb.gw.go b/go/api/DatasetAPI.pb.gw.go index b314fa5..69a6112 100644 --- a/go/api/DatasetAPI.pb.gw.go +++ b/go/api/DatasetAPI.pb.gw.go @@ -71,12 +71,22 @@ func request_DatasetService_Datasets_0(ctx context.Context, marshaler runtime.Ma var protoReq commonmodels.ID var metadata runtime.ServerMetadata - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) } msg, err := client.Datasets(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) @@ -88,12 +98,22 @@ func local_request_DatasetService_Datasets_0(ctx context.Context, marshaler runt var protoReq commonmodels.ID var metadata runtime.ServerMetadata - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) } msg, err := server.Datasets(ctx, &protoReq) @@ -101,10 +121,64 @@ func local_request_DatasetService_Datasets_0(ctx context.Context, marshaler runt } -func request_DatasetService_DeleteDataset_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_DatasetService_DatasetVersions_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq commonmodels.ID var metadata runtime.ServerMetadata + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") + } + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) + } + + msg, err := client.DatasetVersions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_DatasetVersions_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq commonmodels.ID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") + } + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) + } + + msg, err := server.DatasetVersions(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_UpdateDatasetField_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq datasetmodels.UpdateFieldsRequest + var metadata runtime.ServerMetadata + newReader, berr := utilities.IOReaderFactory(req.Body) if berr != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) @@ -113,13 +187,13 @@ func request_DatasetService_DeleteDataset_0(ctx context.Context, marshaler runti return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.DeleteDataset(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.UpdateDatasetField(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_DatasetService_DeleteDataset_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq commonmodels.ID +func local_request_DatasetService_UpdateDatasetField_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq datasetmodels.UpdateFieldsRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -130,13 +204,13 @@ func local_request_DatasetService_DeleteDataset_0(ctx context.Context, marshaler return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.DeleteDataset(ctx, &protoReq) + msg, err := server.UpdateDatasetField(ctx, &protoReq) return msg, metadata, err } -func request_DatasetService_CreateNewDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq datasetmodels.NewDatasetVersionRequest +func request_DatasetService_UpdateCurrentDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq datasetmodels.UpdateCurrentDatasetVersionRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -147,13 +221,13 @@ func request_DatasetService_CreateNewDatasetVersion_0(ctx context.Context, marsh return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.CreateNewDatasetVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.UpdateCurrentDatasetVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_DatasetService_CreateNewDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq datasetmodels.NewDatasetVersionRequest +func local_request_DatasetService_UpdateCurrentDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq datasetmodels.UpdateCurrentDatasetVersionRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -164,15 +238,69 @@ func local_request_DatasetService_CreateNewDatasetVersion_0(ctx context.Context, return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.CreateNewDatasetVersion(ctx, &protoReq) + msg, err := server.UpdateCurrentDatasetVersion(ctx, &protoReq) return msg, metadata, err } -func request_DatasetService_DatasetVersions_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_DatasetService_DeleteDataset_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq commonmodels.ID var metadata runtime.ServerMetadata + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") + } + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) + } + + msg, err := client.DeleteDataset(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_DeleteDataset_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq commonmodels.ID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") + } + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) + } + + msg, err := server.DeleteDataset(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_CreateNewDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq datasetmodels.CreateDatasetVersionRequest + var metadata runtime.ServerMetadata + newReader, berr := utilities.IOReaderFactory(req.Body) if berr != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) @@ -181,13 +309,13 @@ func request_DatasetService_DatasetVersions_0(ctx context.Context, marshaler run return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.DatasetVersions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.CreateNewDatasetVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_DatasetService_DatasetVersions_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq commonmodels.ID +func local_request_DatasetService_CreateNewDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq datasetmodels.CreateDatasetVersionRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -198,7 +326,7 @@ func local_request_DatasetService_DatasetVersions_0(ctx context.Context, marshal return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.DatasetVersions(ctx, &protoReq) + msg, err := server.CreateNewDatasetVersion(ctx, &protoReq) return msg, metadata, err } @@ -207,12 +335,22 @@ func request_DatasetService_GetDatasetVersion_0(ctx context.Context, marshaler r var protoReq commonmodels.ID var metadata runtime.ServerMetadata - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) } msg, err := client.GetDatasetVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) @@ -224,6 +362,33 @@ func local_request_DatasetService_GetDatasetVersion_0(ctx context.Context, marsh var protoReq commonmodels.ID var metadata runtime.ServerMetadata + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") + } + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) + } + + msg, err := server.GetDatasetVersion(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_UpdateDatasetVersionField_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq datasetmodels.UpdateFieldsRequest + var metadata runtime.ServerMetadata + newReader, berr := utilities.IOReaderFactory(req.Body) if berr != nil { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) @@ -232,13 +397,13 @@ func local_request_DatasetService_GetDatasetVersion_0(ctx context.Context, marsh return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.GetDatasetVersion(ctx, &protoReq) + msg, err := client.UpdateDatasetVersionField(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func request_DatasetService_DeleteDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq commonmodels.ID +func local_request_DatasetService_UpdateDatasetVersionField_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq datasetmodels.UpdateFieldsRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -249,6 +414,33 @@ func request_DatasetService_DeleteDatasetVersion_0(ctx context.Context, marshale return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } + msg, err := server.UpdateDatasetVersionField(ctx, &protoReq) + return msg, metadata, err + +} + +func request_DatasetService_DeleteDatasetVersion_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq commonmodels.ID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") + } + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) + } + msg, err := client.DeleteDatasetVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err @@ -258,12 +450,22 @@ func local_request_DatasetService_DeleteDatasetVersion_0(ctx context.Context, ma var protoReq commonmodels.ID var metadata runtime.ServerMetadata - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) } msg, err := server.DeleteDatasetVersion(ctx, &protoReq) @@ -271,8 +473,62 @@ func local_request_DatasetService_DeleteDatasetVersion_0(ctx context.Context, ma } -func request_DatasetService_UpdateDatasetVersionObjectCount_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq datasetmodels.UpdateDatasetVersionObjectCountRequest +func request_DatasetService_DatasetVersionObjectGroups_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq commonmodels.ID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") + } + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) + } + + msg, err := client.DatasetVersionObjectGroups(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_DatasetService_DatasetVersionObjectGroups_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq commonmodels.ID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") + } + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) + } + + msg, err := server.DatasetVersionObjectGroups(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ObjectsService_CreateDatsetObjectGroup_0(ctx context.Context, marshaler runtime.Marshaler, client ObjectsServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq datasetmodels.CreateDatasetObjectGroupRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -283,13 +539,13 @@ func request_DatasetService_UpdateDatasetVersionObjectCount_0(ctx context.Contex return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.UpdateDatasetVersionObjectCount(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.CreateDatsetObjectGroup(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_DatasetService_UpdateDatasetVersionObjectCount_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq datasetmodels.UpdateDatasetVersionObjectCountRequest +func local_request_ObjectsService_CreateDatsetObjectGroup_0(ctx context.Context, marshaler runtime.Marshaler, server ObjectsServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq datasetmodels.CreateDatasetObjectGroupRequest var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -300,21 +556,31 @@ func local_request_DatasetService_UpdateDatasetVersionObjectCount_0(ctx context. return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.UpdateDatasetVersionObjectCount(ctx, &protoReq) + msg, err := server.CreateDatsetObjectGroup(ctx, &protoReq) return msg, metadata, err } -func request_DatasetService_DatasetVersionObjectGroups_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_ObjectsService_DatasetVersionObjectGroups_0(ctx context.Context, marshaler runtime.Marshaler, client ObjectsServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq commonmodels.ID var metadata runtime.ServerMetadata - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) } msg, err := client.DatasetVersionObjectGroups(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) @@ -322,16 +588,26 @@ func request_DatasetService_DatasetVersionObjectGroups_0(ctx context.Context, ma } -func local_request_DatasetService_DatasetVersionObjectGroups_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func local_request_ObjectsService_DatasetVersionObjectGroups_0(ctx context.Context, marshaler runtime.Marshaler, server ObjectsServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq commonmodels.ID var metadata runtime.ServerMetadata - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) } msg, err := server.DatasetVersionObjectGroups(ctx, &protoReq) @@ -339,47 +615,181 @@ func local_request_DatasetService_DatasetVersionObjectGroups_0(ctx context.Conte } -func request_DatasetService_CreateDatasetObjectGroup_0(ctx context.Context, marshaler runtime.Marshaler, client DatasetServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq datasetmodels.CreateDatasetObjectGroupRequest +func request_ObjectsService_GetDatasetObjectGroup_0(ctx context.Context, marshaler runtime.Marshaler, client ObjectsServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq commonmodels.ID var metadata runtime.ServerMetadata - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) } - msg, err := client.CreateDatasetObjectGroup(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetDatasetObjectGroup(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_DatasetService_CreateDatasetObjectGroup_0(ctx context.Context, marshaler runtime.Marshaler, server DatasetServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq datasetmodels.CreateDatasetObjectGroupRequest - var metadata runtime.ServerMetadata +func local_request_ObjectsService_GetDatasetObjectGroup_0(ctx context.Context, marshaler runtime.Marshaler, server ObjectsServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq commonmodels.ID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") + } + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) + } + + msg, err := server.GetDatasetObjectGroup(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ObjectsService_DeleteDatasetObjectGroup_0(ctx context.Context, marshaler runtime.Marshaler, client ObjectsServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq commonmodels.ID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") + } + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) + } + + msg, err := client.DeleteDatasetObjectGroup(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ObjectsService_DeleteDatasetObjectGroup_0(ctx context.Context, marshaler runtime.Marshaler, server ObjectsServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq commonmodels.ID + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["ID"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "ID") + } + + protoReq.ID, err = runtime.String(val) + + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "ID", err) + } + + msg, err := server.DeleteDatasetObjectGroup(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterDatasetServiceHandlerServer registers the http handlers for service DatasetService to "mux". +// UnaryRPC :call DatasetServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features (such as grpc.SendHeader, etc) to stop working. Consider using RegisterDatasetServiceHandlerFromEndpoint instead. +func RegisterDatasetServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server DatasetServiceServer) error { + + mux.Handle("POST", pattern_DatasetService_CreateNewDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_CreateNewDataset_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_CreateNewDataset_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_DatasetService_Datasets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_Datasets_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_Datasets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } + }) - msg, err := server.CreateDatasetObjectGroup(ctx, &protoReq) - return msg, metadata, err + mux.Handle("GET", pattern_DatasetService_DatasetVersions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_DatasetService_DatasetVersions_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } -} + forward_DatasetService_DatasetVersions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) -// RegisterDatasetServiceHandlerServer registers the http handlers for service DatasetService to "mux". -// UnaryRPC :call DatasetServiceServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features (such as grpc.SendHeader, etc) to stop working. Consider using RegisterDatasetServiceHandlerFromEndpoint instead. -func RegisterDatasetServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server DatasetServiceServer) error { + }) - mux.Handle("POST", pattern_DatasetService_CreateNewDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_DatasetService_UpdateDatasetField_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -388,18 +798,18 @@ func RegisterDatasetServiceHandlerServer(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_DatasetService_CreateNewDataset_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_DatasetService_UpdateDatasetField_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_CreateNewDataset_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_DatasetService_UpdateDatasetField_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_DatasetService_Datasets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_DatasetService_UpdateCurrentDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -408,18 +818,18 @@ func RegisterDatasetServiceHandlerServer(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_DatasetService_Datasets_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_DatasetService_UpdateCurrentDatasetVersion_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_Datasets_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_DatasetService_UpdateCurrentDatasetVersion_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_DatasetService_DeleteDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_DatasetService_DeleteDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -459,7 +869,7 @@ func RegisterDatasetServiceHandlerServer(ctx context.Context, mux *runtime.Serve }) - mux.Handle("POST", pattern_DatasetService_DatasetVersions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_DatasetService_GetDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -468,18 +878,18 @@ func RegisterDatasetServiceHandlerServer(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_DatasetService_DatasetVersions_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_DatasetService_GetDatasetVersion_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_DatasetVersions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_DatasetService_GetDatasetVersion_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_DatasetService_GetDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_DatasetService_UpdateDatasetVersionField_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -488,18 +898,18 @@ func RegisterDatasetServiceHandlerServer(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_DatasetService_GetDatasetVersion_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_DatasetService_UpdateDatasetVersionField_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_GetDatasetVersion_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_DatasetService_UpdateDatasetVersionField_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_DatasetService_DeleteDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_DatasetService_DeleteDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -519,7 +929,7 @@ func RegisterDatasetServiceHandlerServer(ctx context.Context, mux *runtime.Serve }) - mux.Handle("POST", pattern_DatasetService_UpdateDatasetVersionObjectCount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_DatasetService_DatasetVersionObjectGroups_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -528,18 +938,27 @@ func RegisterDatasetServiceHandlerServer(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_DatasetService_UpdateDatasetVersionObjectCount_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_DatasetService_DatasetVersionObjectGroups_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_UpdateDatasetVersionObjectCount_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_DatasetService_DatasetVersionObjectGroups_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_DatasetService_DatasetVersionObjectGroups_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + return nil +} + +// RegisterObjectsServiceHandlerServer registers the http handlers for service ObjectsService to "mux". +// UnaryRPC :call ObjectsServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features (such as grpc.SendHeader, etc) to stop working. Consider using RegisterObjectsServiceHandlerFromEndpoint instead. +func RegisterObjectsServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ObjectsServiceServer) error { + + mux.Handle("POST", pattern_ObjectsService_CreateDatsetObjectGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -548,18 +967,58 @@ func RegisterDatasetServiceHandlerServer(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_DatasetService_DatasetVersionObjectGroups_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_ObjectsService_CreateDatsetObjectGroup_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_DatasetVersionObjectGroups_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_ObjectsService_CreateDatsetObjectGroup_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ObjectsService_DatasetVersionObjectGroups_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ObjectsService_DatasetVersionObjectGroups_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectsService_DatasetVersionObjectGroups_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ObjectsService_GetDatasetObjectGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ObjectsService_GetDatasetObjectGroup_0(rctx, inboundMarshaler, server, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectsService_GetDatasetObjectGroup_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_DatasetService_CreateDatasetObjectGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_ObjectsService_DeleteDatasetObjectGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -568,14 +1027,14 @@ func RegisterDatasetServiceHandlerServer(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_DatasetService_CreateDatasetObjectGroup_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_ObjectsService_DeleteDatasetObjectGroup_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_CreateDatasetObjectGroup_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_ObjectsService_DeleteDatasetObjectGroup_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -640,7 +1099,7 @@ func RegisterDatasetServiceHandlerClient(ctx context.Context, mux *runtime.Serve }) - mux.Handle("POST", pattern_DatasetService_Datasets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_DatasetService_Datasets_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -660,7 +1119,7 @@ func RegisterDatasetServiceHandlerClient(ctx context.Context, mux *runtime.Serve }) - mux.Handle("POST", pattern_DatasetService_DeleteDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_DatasetService_DatasetVersions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -669,18 +1128,18 @@ func RegisterDatasetServiceHandlerClient(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_DatasetService_DeleteDataset_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_DatasetService_DatasetVersions_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_DeleteDataset_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_DatasetService_DatasetVersions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_DatasetService_CreateNewDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_DatasetService_UpdateDatasetField_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -689,18 +1148,18 @@ func RegisterDatasetServiceHandlerClient(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_DatasetService_CreateNewDatasetVersion_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_DatasetService_UpdateDatasetField_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_CreateNewDatasetVersion_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_DatasetService_UpdateDatasetField_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_DatasetService_DatasetVersions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_DatasetService_UpdateCurrentDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -709,18 +1168,18 @@ func RegisterDatasetServiceHandlerClient(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_DatasetService_DatasetVersions_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_DatasetService_UpdateCurrentDatasetVersion_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_DatasetVersions_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_DatasetService_UpdateCurrentDatasetVersion_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_DatasetService_GetDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("DELETE", pattern_DatasetService_DeleteDataset_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -729,18 +1188,18 @@ func RegisterDatasetServiceHandlerClient(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_DatasetService_GetDatasetVersion_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_DatasetService_DeleteDataset_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_GetDatasetVersion_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_DatasetService_DeleteDataset_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_DatasetService_DeleteDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_DatasetService_CreateNewDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -749,18 +1208,18 @@ func RegisterDatasetServiceHandlerClient(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_DatasetService_DeleteDatasetVersion_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_DatasetService_CreateNewDatasetVersion_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_DeleteDatasetVersion_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_DatasetService_CreateNewDatasetVersion_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_DatasetService_UpdateDatasetVersionObjectCount_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_DatasetService_GetDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -769,18 +1228,18 @@ func RegisterDatasetServiceHandlerClient(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_DatasetService_UpdateDatasetVersionObjectCount_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_DatasetService_GetDatasetVersion_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_UpdateDatasetVersionObjectCount_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_DatasetService_GetDatasetVersion_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_DatasetService_DatasetVersionObjectGroups_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_DatasetService_UpdateDatasetVersionField_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -789,18 +1248,38 @@ func RegisterDatasetServiceHandlerClient(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_DatasetService_DatasetVersionObjectGroups_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_DatasetService_UpdateDatasetVersionField_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_DatasetVersionObjectGroups_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_DatasetService_UpdateDatasetVersionField_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_DatasetService_DeleteDatasetVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_DatasetService_DeleteDatasetVersion_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_DatasetService_DeleteDatasetVersion_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) - mux.Handle("POST", pattern_DatasetService_CreateDatasetObjectGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("GET", pattern_DatasetService_DatasetVersionObjectGroups_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -809,14 +1288,14 @@ func RegisterDatasetServiceHandlerClient(ctx context.Context, mux *runtime.Serve runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_DatasetService_CreateDatasetObjectGroup_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_DatasetService_DatasetVersionObjectGroups_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_DatasetService_CreateDatasetObjectGroup_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_DatasetService_DatasetVersionObjectGroups_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -826,23 +1305,25 @@ func RegisterDatasetServiceHandlerClient(ctx context.Context, mux *runtime.Serve var ( pattern_DatasetService_CreateNewDataset_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "dataset", "create"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_DatasetService_Datasets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "dataset", "list"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_DatasetService_Datasets_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "datasets", "ID"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_DatasetService_DeleteDataset_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "dataset", "delete"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_DatasetService_DatasetVersions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "dataset", "ID", "versions"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_DatasetService_CreateNewDatasetVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "datasetversion", "create"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_DatasetService_UpdateDatasetField_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "dataset", "update"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_DatasetService_UpdateCurrentDatasetVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "dataset", "updateversion"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_DatasetService_DatasetVersions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "datasetversion", "list"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_DatasetService_DeleteDataset_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "dataset", "ID"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_DatasetService_GetDatasetVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "datasetversion", "get"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_DatasetService_CreateNewDatasetVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "datasetversion", "create"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_DatasetService_DeleteDatasetVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "datasetversion", "delete"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_DatasetService_GetDatasetVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "datasetversion", "ID"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_DatasetService_UpdateDatasetVersionObjectCount_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"api", "v1", "datasetversion", "update", "objectcount"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_DatasetService_UpdateDatasetVersionField_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "datasetversion", "update"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_DatasetService_DatasetVersionObjectGroups_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "datasetobjectgroup", "list"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_DatasetService_DeleteDatasetVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "datasetversion", "ID"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_DatasetService_CreateDatasetObjectGroup_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "datasetobjectgroup", "create"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_DatasetService_DatasetVersionObjectGroups_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "datasetversion", "ID", "objectgroups"}, "", runtime.AssumeColonVerbOpt(true))) ) var ( @@ -850,19 +1331,162 @@ var ( forward_DatasetService_Datasets_0 = runtime.ForwardResponseMessage + forward_DatasetService_DatasetVersions_0 = runtime.ForwardResponseMessage + + forward_DatasetService_UpdateDatasetField_0 = runtime.ForwardResponseMessage + + forward_DatasetService_UpdateCurrentDatasetVersion_0 = runtime.ForwardResponseMessage + forward_DatasetService_DeleteDataset_0 = runtime.ForwardResponseMessage forward_DatasetService_CreateNewDatasetVersion_0 = runtime.ForwardResponseMessage - forward_DatasetService_DatasetVersions_0 = runtime.ForwardResponseMessage - forward_DatasetService_GetDatasetVersion_0 = runtime.ForwardResponseMessage - forward_DatasetService_DeleteDatasetVersion_0 = runtime.ForwardResponseMessage + forward_DatasetService_UpdateDatasetVersionField_0 = runtime.ForwardResponseMessage - forward_DatasetService_UpdateDatasetVersionObjectCount_0 = runtime.ForwardResponseMessage + forward_DatasetService_DeleteDatasetVersion_0 = runtime.ForwardResponseMessage forward_DatasetService_DatasetVersionObjectGroups_0 = runtime.ForwardResponseMessage +) + +// RegisterObjectsServiceHandlerFromEndpoint is same as RegisterObjectsServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterObjectsServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterObjectsServiceHandler(ctx, mux, conn) +} + +// RegisterObjectsServiceHandler registers the http handlers for service ObjectsService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterObjectsServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterObjectsServiceHandlerClient(ctx, mux, NewObjectsServiceClient(conn)) +} + +// RegisterObjectsServiceHandlerClient registers the http handlers for service ObjectsService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ObjectsServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ObjectsServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ObjectsServiceClient" to call the correct interceptors. +func RegisterObjectsServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ObjectsServiceClient) error { + + mux.Handle("POST", pattern_ObjectsService_CreateDatsetObjectGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ObjectsService_CreateDatsetObjectGroup_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectsService_CreateDatsetObjectGroup_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ObjectsService_DatasetVersionObjectGroups_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ObjectsService_DatasetVersionObjectGroups_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectsService_DatasetVersionObjectGroups_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ObjectsService_GetDatasetObjectGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ObjectsService_GetDatasetObjectGroup_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectsService_GetDatasetObjectGroup_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ObjectsService_DeleteDatasetObjectGroup_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + rctx, err := runtime.AnnotateContext(ctx, mux, req) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ObjectsService_DeleteDatasetObjectGroup_0(rctx, inboundMarshaler, client, req, pathParams) + ctx = runtime.NewServerMetadataContext(ctx, md) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + + forward_ObjectsService_DeleteDatasetObjectGroup_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ObjectsService_CreateDatsetObjectGroup_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "datasetobjectgroup", "create"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_ObjectsService_DatasetVersionObjectGroups_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "datasetobjectgroup", "ID"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_ObjectsService_GetDatasetObjectGroup_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "datasetobjectgroup", "ID"}, "", runtime.AssumeColonVerbOpt(true))) + + pattern_ObjectsService_DeleteDatasetObjectGroup_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "datasetobjectgroup", "ID"}, "", runtime.AssumeColonVerbOpt(true))) +) + +var ( + forward_ObjectsService_CreateDatsetObjectGroup_0 = runtime.ForwardResponseMessage + + forward_ObjectsService_DatasetVersionObjectGroups_0 = runtime.ForwardResponseMessage + + forward_ObjectsService_GetDatasetObjectGroup_0 = runtime.ForwardResponseMessage - forward_DatasetService_CreateDatasetObjectGroup_0 = runtime.ForwardResponseMessage + forward_ObjectsService_DeleteDatasetObjectGroup_0 = runtime.ForwardResponseMessage ) diff --git a/go/api/LoadAPI.pb.go b/go/api/LoadAPI.pb.go index c62ce2e..de8cd82 100644 --- a/go/api/LoadAPI.pb.go +++ b/go/api/LoadAPI.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel -// protoc v3.12.3 +// protoc v3.12.4 // source: proto/LoadAPI.proto package api @@ -40,48 +40,48 @@ var file_proto_LoadAPI_proto_rawDesc = []byte{ 0x16, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x4c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xd0, 0x04, 0x0a, 0x0b, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6c, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x18, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6e, 0x6b, 0x73, - 0x3a, 0x01, 0x2a, 0x12, 0x67, 0x0a, 0x13, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, - 0x70, 0x61, 0x72, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1b, 0x2e, 0x49, 0x6e, 0x69, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xcd, 0x04, 0x0a, 0x0b, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x69, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x18, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x19, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, + 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x61, + 0x64, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x3a, 0x01, 0x2a, + 0x12, 0x67, 0x0a, 0x13, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, + 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1b, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x06, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2b, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x25, 0x22, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, + 0x61, 0x64, 0x2f, 0x69, 0x6e, 0x69, 0x74, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, + 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x99, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x06, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, - 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x69, 0x6e, 0x69, 0x74, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, - 0x61, 0x72, 0x74, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x99, 0x01, 0x0a, - 0x1a, 0x47, 0x65, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x61, 0x72, 0x74, 0x12, 0x22, 0x2e, 0x47, 0x65, - 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x23, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x22, 0x27, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x67, 0x65, 0x74, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x6c, 0x69, 0x6e, - 0x6b, 0x70, 0x61, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x6d, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, - 0x73, 0x68, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x1d, 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, - 0x61, 0x72, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x06, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, - 0x22, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x66, - 0x69, 0x6e, 0x69, 0x73, 0x68, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x75, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x44, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x13, 0x2e, 0x47, 0x65, - 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x14, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x64, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x3a, 0x01, 0x2a, 0x42, 0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x67, 0x2d, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2d, 0x62, 0x69, 0x6f, 0x2f, 0x42, 0x69, 0x6f, 0x44, - 0x61, 0x74, 0x61, 0x44, 0x42, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x61, - 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x61, 0x72, 0x74, 0x12, 0x22, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, + 0x6b, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x47, + 0x65, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x50, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x22, 0x27, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x67, 0x65, 0x74, 0x6d, 0x75, 0x6c, 0x74, 0x69, + 0x70, 0x61, 0x72, 0x74, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x6b, 0x70, 0x61, + 0x72, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x6d, 0x0a, 0x15, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1d, + 0x2e, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x06, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x22, 0x22, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x66, 0x69, 0x6e, 0x69, + 0x73, 0x68, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x72, 0x74, 0x75, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x13, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, + 0x47, 0x65, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x15, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x3a, 0x01, 0x2a, 0x42, 0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x67, 0x2d, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x2d, 0x62, 0x69, 0x6f, 0x2f, 0x42, 0x69, 0x6f, 0x44, 0x61, 0x74, 0x61, + 0x44, 0x42, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_proto_LoadAPI_proto_goTypes = []interface{}{ @@ -96,12 +96,12 @@ var file_proto_LoadAPI_proto_goTypes = []interface{}{ (*loadmodels.GetDownloadResponse)(nil), // 8: GetDownloadResponse } var file_proto_LoadAPI_proto_depIdxs = []int32{ - 0, // 0: LoadService.CreateUploadLink:input_type -> CreateUploadLinkRequest + 0, // 0: LoadService.GetUploadLink:input_type -> CreateUploadLinkRequest 1, // 1: LoadService.InitMultipartUpload:input_type -> InitMultipartUploadRequest 2, // 2: LoadService.GetMultipartUploadLinkPart:input_type -> GetMultipartUploadLinkPartRequest 3, // 3: LoadService.FinishMultipartUpload:input_type -> FinishMultipartUploadRequest 4, // 4: LoadService.GetDownloadLinks:input_type -> GetDownloadRequest - 5, // 5: LoadService.CreateUploadLink:output_type -> CreateUploadLinkResponse + 5, // 5: LoadService.GetUploadLink:output_type -> CreateUploadLinkResponse 6, // 6: LoadService.InitMultipartUpload:output_type -> Empty 7, // 7: LoadService.GetMultipartUploadLinkPart:output_type -> GetMultipartUploadLinkPartResponse 6, // 8: LoadService.FinishMultipartUpload:output_type -> Empty @@ -151,7 +151,7 @@ const _ = grpc.SupportPackageIsVersion6 type LoadServiceClient interface { // Creates a list of upload links to place dataset entities in object storage // and adds corresponding metadata objects - CreateUploadLink(ctx context.Context, in *loadmodels.CreateUploadLinkRequest, opts ...grpc.CallOption) (*loadmodels.CreateUploadLinkResponse, error) + GetUploadLink(ctx context.Context, in *loadmodels.CreateUploadLinkRequest, opts ...grpc.CallOption) (*loadmodels.CreateUploadLinkResponse, error) InitMultipartUpload(ctx context.Context, in *loadmodels.InitMultipartUploadRequest, opts ...grpc.CallOption) (*commonmodels.Empty, error) GetMultipartUploadLinkPart(ctx context.Context, in *loadmodels.GetMultipartUploadLinkPartRequest, opts ...grpc.CallOption) (*loadmodels.GetMultipartUploadLinkPartResponse, error) FinishMultipartUpload(ctx context.Context, in *loadmodels.FinishMultipartUploadRequest, opts ...grpc.CallOption) (*commonmodels.Empty, error) @@ -166,9 +166,9 @@ func NewLoadServiceClient(cc grpc.ClientConnInterface) LoadServiceClient { return &loadServiceClient{cc} } -func (c *loadServiceClient) CreateUploadLink(ctx context.Context, in *loadmodels.CreateUploadLinkRequest, opts ...grpc.CallOption) (*loadmodels.CreateUploadLinkResponse, error) { +func (c *loadServiceClient) GetUploadLink(ctx context.Context, in *loadmodels.CreateUploadLinkRequest, opts ...grpc.CallOption) (*loadmodels.CreateUploadLinkResponse, error) { out := new(loadmodels.CreateUploadLinkResponse) - err := c.cc.Invoke(ctx, "/LoadService/CreateUploadLink", in, out, opts...) + err := c.cc.Invoke(ctx, "/LoadService/GetUploadLink", in, out, opts...) if err != nil { return nil, err } @@ -215,7 +215,7 @@ func (c *loadServiceClient) GetDownloadLinks(ctx context.Context, in *loadmodels type LoadServiceServer interface { // Creates a list of upload links to place dataset entities in object storage // and adds corresponding metadata objects - CreateUploadLink(context.Context, *loadmodels.CreateUploadLinkRequest) (*loadmodels.CreateUploadLinkResponse, error) + GetUploadLink(context.Context, *loadmodels.CreateUploadLinkRequest) (*loadmodels.CreateUploadLinkResponse, error) InitMultipartUpload(context.Context, *loadmodels.InitMultipartUploadRequest) (*commonmodels.Empty, error) GetMultipartUploadLinkPart(context.Context, *loadmodels.GetMultipartUploadLinkPartRequest) (*loadmodels.GetMultipartUploadLinkPartResponse, error) FinishMultipartUpload(context.Context, *loadmodels.FinishMultipartUploadRequest) (*commonmodels.Empty, error) @@ -226,8 +226,8 @@ type LoadServiceServer interface { type UnimplementedLoadServiceServer struct { } -func (*UnimplementedLoadServiceServer) CreateUploadLink(context.Context, *loadmodels.CreateUploadLinkRequest) (*loadmodels.CreateUploadLinkResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateUploadLink not implemented") +func (*UnimplementedLoadServiceServer) GetUploadLink(context.Context, *loadmodels.CreateUploadLinkRequest) (*loadmodels.CreateUploadLinkResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUploadLink not implemented") } func (*UnimplementedLoadServiceServer) InitMultipartUpload(context.Context, *loadmodels.InitMultipartUploadRequest) (*commonmodels.Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method InitMultipartUpload not implemented") @@ -246,20 +246,20 @@ func RegisterLoadServiceServer(s *grpc.Server, srv LoadServiceServer) { s.RegisterService(&_LoadService_serviceDesc, srv) } -func _LoadService_CreateUploadLink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _LoadService_GetUploadLink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(loadmodels.CreateUploadLinkRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(LoadServiceServer).CreateUploadLink(ctx, in) + return srv.(LoadServiceServer).GetUploadLink(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/LoadService/CreateUploadLink", + FullMethod: "/LoadService/GetUploadLink", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LoadServiceServer).CreateUploadLink(ctx, req.(*loadmodels.CreateUploadLinkRequest)) + return srv.(LoadServiceServer).GetUploadLink(ctx, req.(*loadmodels.CreateUploadLinkRequest)) } return interceptor(ctx, in, info, handler) } @@ -341,8 +341,8 @@ var _LoadService_serviceDesc = grpc.ServiceDesc{ HandlerType: (*LoadServiceServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "CreateUploadLink", - Handler: _LoadService_CreateUploadLink_Handler, + MethodName: "GetUploadLink", + Handler: _LoadService_GetUploadLink_Handler, }, { MethodName: "InitMultipartUpload", diff --git a/go/api/LoadAPI.pb.gw.go b/go/api/LoadAPI.pb.gw.go index e649512..63fc21a 100644 --- a/go/api/LoadAPI.pb.gw.go +++ b/go/api/LoadAPI.pb.gw.go @@ -32,7 +32,7 @@ var _ = runtime.String var _ = utilities.NewDoubleArray var _ = descriptor.ForMessage -func request_LoadService_CreateUploadLink_0(ctx context.Context, marshaler runtime.Marshaler, client LoadServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_LoadService_GetUploadLink_0(ctx context.Context, marshaler runtime.Marshaler, client LoadServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq loadmodels.CreateUploadLinkRequest var metadata runtime.ServerMetadata @@ -44,12 +44,12 @@ func request_LoadService_CreateUploadLink_0(ctx context.Context, marshaler runti return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.CreateUploadLink(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.GetUploadLink(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_LoadService_CreateUploadLink_0(ctx context.Context, marshaler runtime.Marshaler, server LoadServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func local_request_LoadService_GetUploadLink_0(ctx context.Context, marshaler runtime.Marshaler, server LoadServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq loadmodels.CreateUploadLinkRequest var metadata runtime.ServerMetadata @@ -61,7 +61,7 @@ func local_request_LoadService_CreateUploadLink_0(ctx context.Context, marshaler return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.CreateUploadLink(ctx, &protoReq) + msg, err := server.GetUploadLink(ctx, &protoReq) return msg, metadata, err } @@ -208,7 +208,7 @@ func local_request_LoadService_GetDownloadLinks_0(ctx context.Context, marshaler // Note that using this registration option will cause many gRPC library features (such as grpc.SendHeader, etc) to stop working. Consider using RegisterLoadServiceHandlerFromEndpoint instead. func RegisterLoadServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server LoadServiceServer) error { - mux.Handle("POST", pattern_LoadService_CreateUploadLink_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_LoadService_GetUploadLink_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -217,14 +217,14 @@ func RegisterLoadServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_LoadService_CreateUploadLink_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_LoadService_GetUploadLink_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_LoadService_CreateUploadLink_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_LoadService_GetUploadLink_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -349,7 +349,7 @@ func RegisterLoadServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn // "LoadServiceClient" to call the correct interceptors. func RegisterLoadServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client LoadServiceClient) error { - mux.Handle("POST", pattern_LoadService_CreateUploadLink_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_LoadService_GetUploadLink_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -358,14 +358,14 @@ func RegisterLoadServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_LoadService_CreateUploadLink_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_LoadService_GetUploadLink_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_LoadService_CreateUploadLink_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_LoadService_GetUploadLink_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -453,7 +453,7 @@ func RegisterLoadServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux } var ( - pattern_LoadService_CreateUploadLink_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "load", "createlinks"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_LoadService_GetUploadLink_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "load", "createlinks"}, "", runtime.AssumeColonVerbOpt(true))) pattern_LoadService_InitMultipartUpload_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "load", "initmultipartupload"}, "", runtime.AssumeColonVerbOpt(true))) @@ -465,7 +465,7 @@ var ( ) var ( - forward_LoadService_CreateUploadLink_0 = runtime.ForwardResponseMessage + forward_LoadService_GetUploadLink_0 = runtime.ForwardResponseMessage forward_LoadService_InitMultipartUpload_0 = runtime.ForwardResponseMessage diff --git a/go/api/MetadataAPI.pb.go b/go/api/MetadataAPI.pb.go index 9da52b0..d31638c 100644 --- a/go/api/MetadataAPI.pb.go +++ b/go/api/MetadataAPI.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel -// protoc v3.12.3 +// protoc v3.12.4 // source: proto/MetadataAPI.proto package api @@ -40,53 +40,54 @@ var file_proto_MetadataAPI_proto_rawDesc = []byte{ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x9c, 0x05, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xa0, 0x05, 0x0a, 0x16, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x5e, 0x0a, 0x0e, 0x49, 0x6e, 0x69, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x42, 0x12, 0x16, 0x2e, 0x49, 0x6e, 0x69, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x42, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x42, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x69, - 0x6e, 0x69, 0x74, 0x64, 0x62, 0x3a, 0x01, 0x2a, 0x12, 0x4c, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x42, 0x73, 0x12, 0x06, 0x2e, 0x45, 0x6d, - 0x70, 0x74, 0x79, 0x1a, 0x0f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x42, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x6c, - 0x69, 0x73, 0x74, 0x64, 0x62, 0x73, 0x12, 0x78, 0x0a, 0x18, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x42, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x42, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x22, 0x1f, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x69, - 0x6e, 0x69, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, - 0x12, 0x68, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x44, 0x42, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x06, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x44, 0x42, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, - 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x63, - 0x6f, 0x6c, 0x6c, 0x63, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x49, 0x6e, - 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 0x2e, 0x49, - 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x06, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x22, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x69, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x3a, 0x01, 0x2a, - 0x12, 0x57, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x06, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x16, + 0x69, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x60, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x42, 0x12, 0x16, 0x2e, 0x49, + 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x42, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, + 0x42, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x2f, 0x69, 0x6e, 0x69, 0x74, 0x64, 0x62, 0x3a, 0x01, 0x2a, 0x12, 0x4c, 0x0a, 0x0f, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x42, 0x73, 0x12, 0x06, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x0f, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x44, 0x42, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x01, 0x2a, 0x12, 0x41, 0x0a, 0x05, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x12, 0x0d, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x06, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, 0x42, 0x38, 0x5a, 0x36, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x67, 0x2d, 0x63, 0x6f, - 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2d, 0x62, 0x69, 0x6f, 0x2f, - 0x42, 0x69, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x42, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, - 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2f, 0x6c, 0x69, 0x73, 0x74, 0x64, 0x62, 0x73, 0x12, 0x7a, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x44, 0x42, 0x43, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x44, 0x42, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, + 0x22, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x2f, 0x69, 0x6e, 0x69, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x3a, 0x01, 0x2a, 0x12, 0x68, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x44, 0x42, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x06, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x19, 0x2e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x44, 0x42, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4c, 0x69, 0x73, 0x74, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x6c, + 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6c, 0x6c, 0x63, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x54, + 0x0a, 0x0e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x16, 0x2e, 0x49, 0x6e, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x06, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, + 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x69, 0x6e, 0x73, 0x65, 0x72, + 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x57, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x06, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x01, 0x2a, 0x12, 0x41, 0x0a, + 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x0d, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x06, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x21, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x3a, 0x01, 0x2a, + 0x42, 0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x67, 0x2d, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2d, + 0x62, 0x69, 0x6f, 0x2f, 0x42, 0x69, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x42, 0x4d, 0x6f, 0x64, + 0x65, 0x6c, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var file_proto_MetadataAPI_proto_goTypes = []interface{}{ @@ -102,16 +103,16 @@ var file_proto_MetadataAPI_proto_goTypes = []interface{}{ (*metadatamodels.Field)(nil), // 9: Field } var file_proto_MetadataAPI_proto_depIdxs = []int32{ - 0, // 0: MetadataCompositeStore.InitMetadataDB:input_type -> InitMetadataDBRequest + 0, // 0: MetadataCompositeStore.CreateMetadataDB:input_type -> InitMetadataDBRequest 1, // 1: MetadataCompositeStore.ListMetadataDBs:input_type -> Empty - 2, // 2: MetadataCompositeStore.InitMetadataDBCollection:input_type -> InitMetadataCollectionRequest + 2, // 2: MetadataCompositeStore.CreateMetadataDBCollection:input_type -> InitMetadataCollectionRequest 1, // 3: MetadataCompositeStore.ListMetadataDBCollections:input_type -> Empty 3, // 4: MetadataCompositeStore.InsertMetadata:input_type -> InsertMetadataRequest 4, // 5: MetadataCompositeStore.AddMetadataIndex:input_type -> AddMetadataIndexRequest 5, // 6: MetadataCompositeStore.Query:input_type -> QueryRequest - 6, // 7: MetadataCompositeStore.InitMetadataDB:output_type -> MetadataDBEntry + 6, // 7: MetadataCompositeStore.CreateMetadataDB:output_type -> MetadataDBEntry 7, // 8: MetadataCompositeStore.ListMetadataDBs:output_type -> MetadataDBList - 6, // 9: MetadataCompositeStore.InitMetadataDBCollection:output_type -> MetadataDBEntry + 6, // 9: MetadataCompositeStore.CreateMetadataDBCollection:output_type -> MetadataDBEntry 8, // 10: MetadataCompositeStore.ListMetadataDBCollections:output_type -> MetadataDBCollectionList 1, // 11: MetadataCompositeStore.InsertMetadata:output_type -> Empty 1, // 12: MetadataCompositeStore.AddMetadataIndex:output_type -> Empty @@ -159,9 +160,9 @@ const _ = grpc.SupportPackageIsVersion6 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type MetadataCompositeStoreClient interface { - InitMetadataDB(ctx context.Context, in *metadatamodels.InitMetadataDBRequest, opts ...grpc.CallOption) (*metadatamodels.MetadataDBEntry, error) + CreateMetadataDB(ctx context.Context, in *metadatamodels.InitMetadataDBRequest, opts ...grpc.CallOption) (*metadatamodels.MetadataDBEntry, error) ListMetadataDBs(ctx context.Context, in *commonmodels.Empty, opts ...grpc.CallOption) (*metadatamodels.MetadataDBList, error) - InitMetadataDBCollection(ctx context.Context, in *metadatamodels.InitMetadataCollectionRequest, opts ...grpc.CallOption) (*metadatamodels.MetadataDBEntry, error) + CreateMetadataDBCollection(ctx context.Context, in *metadatamodels.InitMetadataCollectionRequest, opts ...grpc.CallOption) (*metadatamodels.MetadataDBEntry, error) ListMetadataDBCollections(ctx context.Context, in *commonmodels.Empty, opts ...grpc.CallOption) (*metadatamodels.MetadataDBCollectionList, error) InsertMetadata(ctx context.Context, in *metadatamodels.InsertMetadataRequest, opts ...grpc.CallOption) (*commonmodels.Empty, error) AddMetadataIndex(ctx context.Context, in *metadatamodels.AddMetadataIndexRequest, opts ...grpc.CallOption) (*commonmodels.Empty, error) @@ -176,9 +177,9 @@ func NewMetadataCompositeStoreClient(cc grpc.ClientConnInterface) MetadataCompos return &metadataCompositeStoreClient{cc} } -func (c *metadataCompositeStoreClient) InitMetadataDB(ctx context.Context, in *metadatamodels.InitMetadataDBRequest, opts ...grpc.CallOption) (*metadatamodels.MetadataDBEntry, error) { +func (c *metadataCompositeStoreClient) CreateMetadataDB(ctx context.Context, in *metadatamodels.InitMetadataDBRequest, opts ...grpc.CallOption) (*metadatamodels.MetadataDBEntry, error) { out := new(metadatamodels.MetadataDBEntry) - err := c.cc.Invoke(ctx, "/MetadataCompositeStore/InitMetadataDB", in, out, opts...) + err := c.cc.Invoke(ctx, "/MetadataCompositeStore/CreateMetadataDB", in, out, opts...) if err != nil { return nil, err } @@ -194,9 +195,9 @@ func (c *metadataCompositeStoreClient) ListMetadataDBs(ctx context.Context, in * return out, nil } -func (c *metadataCompositeStoreClient) InitMetadataDBCollection(ctx context.Context, in *metadatamodels.InitMetadataCollectionRequest, opts ...grpc.CallOption) (*metadatamodels.MetadataDBEntry, error) { +func (c *metadataCompositeStoreClient) CreateMetadataDBCollection(ctx context.Context, in *metadatamodels.InitMetadataCollectionRequest, opts ...grpc.CallOption) (*metadatamodels.MetadataDBEntry, error) { out := new(metadatamodels.MetadataDBEntry) - err := c.cc.Invoke(ctx, "/MetadataCompositeStore/InitMetadataDBCollection", in, out, opts...) + err := c.cc.Invoke(ctx, "/MetadataCompositeStore/CreateMetadataDBCollection", in, out, opts...) if err != nil { return nil, err } @@ -241,9 +242,9 @@ func (c *metadataCompositeStoreClient) Query(ctx context.Context, in *metadatamo // MetadataCompositeStoreServer is the server API for MetadataCompositeStore service. type MetadataCompositeStoreServer interface { - InitMetadataDB(context.Context, *metadatamodels.InitMetadataDBRequest) (*metadatamodels.MetadataDBEntry, error) + CreateMetadataDB(context.Context, *metadatamodels.InitMetadataDBRequest) (*metadatamodels.MetadataDBEntry, error) ListMetadataDBs(context.Context, *commonmodels.Empty) (*metadatamodels.MetadataDBList, error) - InitMetadataDBCollection(context.Context, *metadatamodels.InitMetadataCollectionRequest) (*metadatamodels.MetadataDBEntry, error) + CreateMetadataDBCollection(context.Context, *metadatamodels.InitMetadataCollectionRequest) (*metadatamodels.MetadataDBEntry, error) ListMetadataDBCollections(context.Context, *commonmodels.Empty) (*metadatamodels.MetadataDBCollectionList, error) InsertMetadata(context.Context, *metadatamodels.InsertMetadataRequest) (*commonmodels.Empty, error) AddMetadataIndex(context.Context, *metadatamodels.AddMetadataIndexRequest) (*commonmodels.Empty, error) @@ -254,14 +255,14 @@ type MetadataCompositeStoreServer interface { type UnimplementedMetadataCompositeStoreServer struct { } -func (*UnimplementedMetadataCompositeStoreServer) InitMetadataDB(context.Context, *metadatamodels.InitMetadataDBRequest) (*metadatamodels.MetadataDBEntry, error) { - return nil, status.Errorf(codes.Unimplemented, "method InitMetadataDB not implemented") +func (*UnimplementedMetadataCompositeStoreServer) CreateMetadataDB(context.Context, *metadatamodels.InitMetadataDBRequest) (*metadatamodels.MetadataDBEntry, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateMetadataDB not implemented") } func (*UnimplementedMetadataCompositeStoreServer) ListMetadataDBs(context.Context, *commonmodels.Empty) (*metadatamodels.MetadataDBList, error) { return nil, status.Errorf(codes.Unimplemented, "method ListMetadataDBs not implemented") } -func (*UnimplementedMetadataCompositeStoreServer) InitMetadataDBCollection(context.Context, *metadatamodels.InitMetadataCollectionRequest) (*metadatamodels.MetadataDBEntry, error) { - return nil, status.Errorf(codes.Unimplemented, "method InitMetadataDBCollection not implemented") +func (*UnimplementedMetadataCompositeStoreServer) CreateMetadataDBCollection(context.Context, *metadatamodels.InitMetadataCollectionRequest) (*metadatamodels.MetadataDBEntry, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateMetadataDBCollection not implemented") } func (*UnimplementedMetadataCompositeStoreServer) ListMetadataDBCollections(context.Context, *commonmodels.Empty) (*metadatamodels.MetadataDBCollectionList, error) { return nil, status.Errorf(codes.Unimplemented, "method ListMetadataDBCollections not implemented") @@ -280,20 +281,20 @@ func RegisterMetadataCompositeStoreServer(s *grpc.Server, srv MetadataCompositeS s.RegisterService(&_MetadataCompositeStore_serviceDesc, srv) } -func _MetadataCompositeStore_InitMetadataDB_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _MetadataCompositeStore_CreateMetadataDB_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(metadatamodels.InitMetadataDBRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MetadataCompositeStoreServer).InitMetadataDB(ctx, in) + return srv.(MetadataCompositeStoreServer).CreateMetadataDB(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/MetadataCompositeStore/InitMetadataDB", + FullMethod: "/MetadataCompositeStore/CreateMetadataDB", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MetadataCompositeStoreServer).InitMetadataDB(ctx, req.(*metadatamodels.InitMetadataDBRequest)) + return srv.(MetadataCompositeStoreServer).CreateMetadataDB(ctx, req.(*metadatamodels.InitMetadataDBRequest)) } return interceptor(ctx, in, info, handler) } @@ -316,20 +317,20 @@ func _MetadataCompositeStore_ListMetadataDBs_Handler(srv interface{}, ctx contex return interceptor(ctx, in, info, handler) } -func _MetadataCompositeStore_InitMetadataDBCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { +func _MetadataCompositeStore_CreateMetadataDBCollection_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(metadatamodels.InitMetadataCollectionRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MetadataCompositeStoreServer).InitMetadataDBCollection(ctx, in) + return srv.(MetadataCompositeStoreServer).CreateMetadataDBCollection(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/MetadataCompositeStore/InitMetadataDBCollection", + FullMethod: "/MetadataCompositeStore/CreateMetadataDBCollection", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MetadataCompositeStoreServer).InitMetadataDBCollection(ctx, req.(*metadatamodels.InitMetadataCollectionRequest)) + return srv.(MetadataCompositeStoreServer).CreateMetadataDBCollection(ctx, req.(*metadatamodels.InitMetadataCollectionRequest)) } return interceptor(ctx, in, info, handler) } @@ -411,16 +412,16 @@ var _MetadataCompositeStore_serviceDesc = grpc.ServiceDesc{ HandlerType: (*MetadataCompositeStoreServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "InitMetadataDB", - Handler: _MetadataCompositeStore_InitMetadataDB_Handler, + MethodName: "CreateMetadataDB", + Handler: _MetadataCompositeStore_CreateMetadataDB_Handler, }, { MethodName: "ListMetadataDBs", Handler: _MetadataCompositeStore_ListMetadataDBs_Handler, }, { - MethodName: "InitMetadataDBCollection", - Handler: _MetadataCompositeStore_InitMetadataDBCollection_Handler, + MethodName: "CreateMetadataDBCollection", + Handler: _MetadataCompositeStore_CreateMetadataDBCollection_Handler, }, { MethodName: "ListMetadataDBCollections", diff --git a/go/api/MetadataAPI.pb.gw.go b/go/api/MetadataAPI.pb.gw.go index f4f2b7a..cec72a8 100644 --- a/go/api/MetadataAPI.pb.gw.go +++ b/go/api/MetadataAPI.pb.gw.go @@ -33,7 +33,7 @@ var _ = runtime.String var _ = utilities.NewDoubleArray var _ = descriptor.ForMessage -func request_MetadataCompositeStore_InitMetadataDB_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataCompositeStoreClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_MetadataCompositeStore_CreateMetadataDB_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataCompositeStoreClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq metadatamodels.InitMetadataDBRequest var metadata runtime.ServerMetadata @@ -45,12 +45,12 @@ func request_MetadataCompositeStore_InitMetadataDB_0(ctx context.Context, marsha return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.InitMetadataDB(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.CreateMetadataDB(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_MetadataCompositeStore_InitMetadataDB_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataCompositeStoreServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func local_request_MetadataCompositeStore_CreateMetadataDB_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataCompositeStoreServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq metadatamodels.InitMetadataDBRequest var metadata runtime.ServerMetadata @@ -62,7 +62,7 @@ func local_request_MetadataCompositeStore_InitMetadataDB_0(ctx context.Context, return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.InitMetadataDB(ctx, &protoReq) + msg, err := server.CreateMetadataDB(ctx, &protoReq) return msg, metadata, err } @@ -85,7 +85,7 @@ func local_request_MetadataCompositeStore_ListMetadataDBs_0(ctx context.Context, } -func request_MetadataCompositeStore_InitMetadataDBCollection_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataCompositeStoreClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func request_MetadataCompositeStore_CreateMetadataDBCollection_0(ctx context.Context, marshaler runtime.Marshaler, client MetadataCompositeStoreClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq metadatamodels.InitMetadataCollectionRequest var metadata runtime.ServerMetadata @@ -97,12 +97,12 @@ func request_MetadataCompositeStore_InitMetadataDBCollection_0(ctx context.Conte return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := client.InitMetadataDBCollection(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + msg, err := client.CreateMetadataDBCollection(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err } -func local_request_MetadataCompositeStore_InitMetadataDBCollection_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataCompositeStoreServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { +func local_request_MetadataCompositeStore_CreateMetadataDBCollection_0(ctx context.Context, marshaler runtime.Marshaler, server MetadataCompositeStoreServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq metadatamodels.InitMetadataCollectionRequest var metadata runtime.ServerMetadata @@ -114,7 +114,7 @@ func local_request_MetadataCompositeStore_InitMetadataDBCollection_0(ctx context return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } - msg, err := server.InitMetadataDBCollection(ctx, &protoReq) + msg, err := server.CreateMetadataDBCollection(ctx, &protoReq) return msg, metadata, err } @@ -245,7 +245,7 @@ func local_request_MetadataCompositeStore_Query_0(ctx context.Context, marshaler // Note that using this registration option will cause many gRPC library features (such as grpc.SendHeader, etc) to stop working. Consider using RegisterMetadataCompositeStoreHandlerFromEndpoint instead. func RegisterMetadataCompositeStoreHandlerServer(ctx context.Context, mux *runtime.ServeMux, server MetadataCompositeStoreServer) error { - mux.Handle("POST", pattern_MetadataCompositeStore_InitMetadataDB_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_MetadataCompositeStore_CreateMetadataDB_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -254,14 +254,14 @@ func RegisterMetadataCompositeStoreHandlerServer(ctx context.Context, mux *runti runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_MetadataCompositeStore_InitMetadataDB_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_MetadataCompositeStore_CreateMetadataDB_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_MetadataCompositeStore_InitMetadataDB_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_MetadataCompositeStore_CreateMetadataDB_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -285,7 +285,7 @@ func RegisterMetadataCompositeStoreHandlerServer(ctx context.Context, mux *runti }) - mux.Handle("POST", pattern_MetadataCompositeStore_InitMetadataDBCollection_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_MetadataCompositeStore_CreateMetadataDBCollection_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -294,14 +294,14 @@ func RegisterMetadataCompositeStoreHandlerServer(ctx context.Context, mux *runti runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := local_request_MetadataCompositeStore_InitMetadataDBCollection_0(rctx, inboundMarshaler, server, req, pathParams) + resp, md, err := local_request_MetadataCompositeStore_CreateMetadataDBCollection_0(rctx, inboundMarshaler, server, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_MetadataCompositeStore_InitMetadataDBCollection_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_MetadataCompositeStore_CreateMetadataDBCollection_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -426,7 +426,7 @@ func RegisterMetadataCompositeStoreHandler(ctx context.Context, mux *runtime.Ser // "MetadataCompositeStoreClient" to call the correct interceptors. func RegisterMetadataCompositeStoreHandlerClient(ctx context.Context, mux *runtime.ServeMux, client MetadataCompositeStoreClient) error { - mux.Handle("POST", pattern_MetadataCompositeStore_InitMetadataDB_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_MetadataCompositeStore_CreateMetadataDB_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -435,14 +435,14 @@ func RegisterMetadataCompositeStoreHandlerClient(ctx context.Context, mux *runti runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_MetadataCompositeStore_InitMetadataDB_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_MetadataCompositeStore_CreateMetadataDB_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_MetadataCompositeStore_InitMetadataDB_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_MetadataCompositeStore_CreateMetadataDB_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -466,7 +466,7 @@ func RegisterMetadataCompositeStoreHandlerClient(ctx context.Context, mux *runti }) - mux.Handle("POST", pattern_MetadataCompositeStore_InitMetadataDBCollection_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("POST", pattern_MetadataCompositeStore_CreateMetadataDBCollection_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) @@ -475,14 +475,14 @@ func RegisterMetadataCompositeStoreHandlerClient(ctx context.Context, mux *runti runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - resp, md, err := request_MetadataCompositeStore_InitMetadataDBCollection_0(rctx, inboundMarshaler, client, req, pathParams) + resp, md, err := request_MetadataCompositeStore_CreateMetadataDBCollection_0(rctx, inboundMarshaler, client, req, pathParams) ctx = runtime.NewServerMetadataContext(ctx, md) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return } - forward_MetadataCompositeStore_InitMetadataDBCollection_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + forward_MetadataCompositeStore_CreateMetadataDBCollection_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) }) @@ -570,11 +570,11 @@ func RegisterMetadataCompositeStoreHandlerClient(ctx context.Context, mux *runti } var ( - pattern_MetadataCompositeStore_InitMetadataDB_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "metadata", "initdb"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_MetadataCompositeStore_CreateMetadataDB_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "metadata", "initdb"}, "", runtime.AssumeColonVerbOpt(true))) pattern_MetadataCompositeStore_ListMetadataDBs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "metadata", "listdbs"}, "", runtime.AssumeColonVerbOpt(true))) - pattern_MetadataCompositeStore_InitMetadataDBCollection_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "metadata", "initcollection"}, "", runtime.AssumeColonVerbOpt(true))) + pattern_MetadataCompositeStore_CreateMetadataDBCollection_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "metadata", "initcollection"}, "", runtime.AssumeColonVerbOpt(true))) pattern_MetadataCompositeStore_ListMetadataDBCollections_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "metadata", "listcollcetions"}, "", runtime.AssumeColonVerbOpt(true))) @@ -586,11 +586,11 @@ var ( ) var ( - forward_MetadataCompositeStore_InitMetadataDB_0 = runtime.ForwardResponseMessage + forward_MetadataCompositeStore_CreateMetadataDB_0 = runtime.ForwardResponseMessage forward_MetadataCompositeStore_ListMetadataDBs_0 = runtime.ForwardResponseMessage - forward_MetadataCompositeStore_InitMetadataDBCollection_0 = runtime.ForwardResponseMessage + forward_MetadataCompositeStore_CreateMetadataDBCollection_0 = runtime.ForwardResponseMessage forward_MetadataCompositeStore_ListMetadataDBCollections_0 = runtime.ForwardResponseMessage diff --git a/go/api/ProjectAPI.pb.go b/go/api/ProjectAPI.pb.go index 22794b4..54fcbc4 100644 --- a/go/api/ProjectAPI.pb.go +++ b/go/api/ProjectAPI.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel -// protoc v3.12.3 +// protoc v3.12.4 // source: proto/ProjectAPI.proto package api @@ -36,47 +36,48 @@ var File_proto_ProjectAPI_proto protoreflect.FileDescriptor var file_proto_ProjectAPI_proto_rawDesc = []byte{ 0x0a, 0x16, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, - 0x50, 0x49, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x6f, 0x64, 0x65, - 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xb5, 0x03, 0x0a, 0x0a, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x41, 0x50, 0x49, 0x12, 0x5f, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x15, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x28, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x68, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, - 0x72, 0x54, 0x6f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x2e, 0x41, 0x64, 0x64, - 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x20, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x61, 0x64, 0x64, - 0x75, 0x73, 0x65, 0x72, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x01, 0x2a, - 0x12, 0x53, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x03, 0x2e, 0x49, 0x44, 0x1a, 0x0c, 0x2e, 0x44, 0x61, - 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x24, 0x22, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, - 0x74, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x46, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x06, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, - 0x1a, 0x11, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x4c, - 0x69, 0x73, 0x74, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x3f, 0x0a, - 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x03, - 0x2e, 0x49, 0x44, 0x1a, 0x06, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0x42, 0x38, - 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x67, 0x2d, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2d, 0x62, 0x69, - 0x6f, 0x2f, 0x42, 0x69, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x42, 0x4d, 0x6f, 0x64, 0x65, 0x6c, - 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x50, 0x49, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x41, 0x50, 0x49, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x19, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, + 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xb5, 0x03, 0x0a, 0x0a, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x50, 0x49, 0x12, 0x5f, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x15, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x0d, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, + 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x01, 0x2a, 0x12, 0x68, 0x0a, 0x10, 0x41, 0x64, 0x64, + 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x18, 0x2e, + 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0d, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x22, 0x20, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, + 0x61, 0x64, 0x64, 0x75, 0x73, 0x65, 0x72, 0x74, 0x6f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x3a, 0x01, 0x2a, 0x12, 0x53, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x12, 0x03, 0x2e, 0x49, 0x44, 0x1a, 0x0c, + 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x2a, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x24, 0x22, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x64, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x46, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x06, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x11, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x12, 0x3f, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x03, 0x2e, 0x49, 0x44, 0x1a, 0x06, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x21, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, + 0x2a, 0x42, 0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x67, 0x2d, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x2d, 0x62, 0x69, 0x6f, 0x2f, 0x42, 0x69, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x42, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var file_proto_ProjectAPI_proto_goTypes = []interface{}{ diff --git a/go/authmodels/AuthModels.pb.go b/go/authmodels/AuthModels.pb.go index 092265c..9f2c0c7 100644 --- a/go/authmodels/AuthModels.pb.go +++ b/go/authmodels/AuthModels.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel -// protoc v3.12.3 +// protoc v3.12.4 // source: proto/AuthModels.proto package authmodels diff --git a/go/commonmodels/CommonModels.pb.go b/go/commonmodels/CommonModels.pb.go index 9e7ffd6..ba905d7 100644 --- a/go/commonmodels/CommonModels.pb.go +++ b/go/commonmodels/CommonModels.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel -// protoc v3.12.3 +// protoc v3.12.4 // source: proto/CommonModels.proto package commonmodels @@ -127,6 +127,55 @@ func (Resource) EnumDescriptor() ([]byte, []int) { return file_proto_CommonModels_proto_rawDescGZIP(), []int{1} } +type Stage int32 + +const ( + Stage_Stable Stage = 0 + Stage_Beta Stage = 1 + Stage_Alpha Stage = 2 +) + +// Enum value maps for Stage. +var ( + Stage_name = map[int32]string{ + 0: "Stable", + 1: "Beta", + 2: "Alpha", + } + Stage_value = map[string]int32{ + "Stable": 0, + "Beta": 1, + "Alpha": 2, + } +) + +func (x Stage) Enum() *Stage { + p := new(Stage) + *p = x + return p +} + +func (x Stage) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Stage) Descriptor() protoreflect.EnumDescriptor { + return file_proto_CommonModels_proto_enumTypes[2].Descriptor() +} + +func (Stage) Type() protoreflect.EnumType { + return &file_proto_CommonModels_proto_enumTypes[2] +} + +func (x Stage) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Stage.Descriptor instead. +func (Stage) EnumDescriptor() ([]byte, []int) { + return file_proto_CommonModels_proto_rawDescGZIP(), []int{2} +} + type Origin_OriginTypeEnum int32 const ( @@ -157,11 +206,11 @@ func (x Origin_OriginTypeEnum) String() string { } func (Origin_OriginTypeEnum) Descriptor() protoreflect.EnumDescriptor { - return file_proto_CommonModels_proto_enumTypes[2].Descriptor() + return file_proto_CommonModels_proto_enumTypes[3].Descriptor() } func (Origin_OriginTypeEnum) Type() protoreflect.EnumType { - return &file_proto_CommonModels_proto_enumTypes[2] + return &file_proto_CommonModels_proto_enumTypes[3] } func (x Origin_OriginTypeEnum) Number() protoreflect.EnumNumber { @@ -209,11 +258,11 @@ func (x Version_VersionStage) String() string { } func (Version_VersionStage) Descriptor() protoreflect.EnumDescriptor { - return file_proto_CommonModels_proto_enumTypes[3].Descriptor() + return file_proto_CommonModels_proto_enumTypes[4].Descriptor() } func (Version_VersionStage) Type() protoreflect.EnumType { - return &file_proto_CommonModels_proto_enumTypes[3] + return &file_proto_CommonModels_proto_enumTypes[4] } func (x Version_VersionStage) Number() protoreflect.EnumNumber { @@ -773,12 +822,14 @@ var file_proto_CommonModels_proto_rawDesc = []byte{ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0x04, 0x42, 0x41, 0x5a, 0x3f, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x67, 0x2d, 0x63, 0x6f, 0x6d, 0x70, - 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2d, 0x62, 0x69, 0x6f, 0x2f, 0x42, 0x69, - 0x6f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x42, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, 0x6f, - 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0x04, 0x2a, 0x28, 0x0a, 0x05, 0x53, 0x74, + 0x61, 0x67, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x00, 0x12, + 0x08, 0x0a, 0x04, 0x42, 0x65, 0x74, 0x61, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x6c, 0x70, + 0x68, 0x61, 0x10, 0x02, 0x42, 0x41, 0x5a, 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x67, 0x2d, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x2d, 0x62, 0x69, 0x6f, 0x2f, 0x42, 0x69, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x44, + 0x42, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -793,28 +844,29 @@ func file_proto_CommonModels_proto_rawDescGZIP() []byte { return file_proto_CommonModels_proto_rawDescData } -var file_proto_CommonModels_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_proto_CommonModels_proto_enumTypes = make([]protoimpl.EnumInfo, 5) var file_proto_CommonModels_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_proto_CommonModels_proto_goTypes = []interface{}{ (Right)(0), // 0: Right (Resource)(0), // 1: Resource - (Origin_OriginTypeEnum)(0), // 2: Origin.OriginTypeEnum - (Version_VersionStage)(0), // 3: Version.VersionStage - (*User)(nil), // 4: User - (*Empty)(nil), // 5: Empty - (*Location)(nil), // 6: Location - (*Origin)(nil), // 7: Origin - (*ID)(nil), // 8: ID - (*Version)(nil), // 9: Version - (*Int64Wrapper)(nil), // 10: Int64Wrapper - (*IDList)(nil), // 11: IDList + (Stage)(0), // 2: Stage + (Origin_OriginTypeEnum)(0), // 3: Origin.OriginTypeEnum + (Version_VersionStage)(0), // 4: Version.VersionStage + (*User)(nil), // 5: User + (*Empty)(nil), // 6: Empty + (*Location)(nil), // 7: Location + (*Origin)(nil), // 8: Origin + (*ID)(nil), // 9: ID + (*Version)(nil), // 10: Version + (*Int64Wrapper)(nil), // 11: Int64Wrapper + (*IDList)(nil), // 12: IDList } var file_proto_CommonModels_proto_depIdxs = []int32{ 0, // 0: User.Rights:type_name -> Right 1, // 1: User.Resource:type_name -> Resource - 6, // 2: Origin.ObjectStorageLocatio:type_name -> Location - 2, // 3: Origin.OriginType:type_name -> Origin.OriginTypeEnum - 3, // 4: Version.Stage:type_name -> Version.VersionStage + 7, // 2: Origin.ObjectStorageLocatio:type_name -> Location + 3, // 3: Origin.OriginType:type_name -> Origin.OriginTypeEnum + 4, // 4: Version.Stage:type_name -> Version.VersionStage 5, // [5:5] is the sub-list for method output_type 5, // [5:5] is the sub-list for method input_type 5, // [5:5] is the sub-list for extension type_name @@ -930,7 +982,7 @@ func file_proto_CommonModels_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_proto_CommonModels_proto_rawDesc, - NumEnums: 4, + NumEnums: 5, NumMessages: 8, NumExtensions: 0, NumServices: 0, diff --git a/go/datasetapimodels/DatasetAPIModels.pb.go b/go/datasetapimodels/DatasetAPIModels.pb.go new file mode 100644 index 0000000..d06e1a1 --- /dev/null +++ b/go/datasetapimodels/DatasetAPIModels.pb.go @@ -0,0 +1,1252 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.25.0-devel +// protoc v3.12.4 +// source: proto/DatasetAPIModels.proto + +package datasetmodels + +import ( + commonmodels "github.com/ag-computational-bio/BioDataDBModels/go/commonmodels" + datasetentrymodels "github.com/ag-computational-bio/BioDataDBModels/go/datasetentrymodels" + proto "github.com/golang/protobuf/proto" + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/options" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +// Dataset related Models +type CreateDatasetRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DatasetName string `protobuf:"bytes,1,opt,name=DatasetName,proto3" json:"DatasetName,omitempty"` // Name of the dataset + Datatype string `protobuf:"bytes,2,opt,name=Datatype,proto3" json:"Datatype,omitempty"` //Datatype of the dataset, e.g. json, gbff, fasta + ProjectID string `protobuf:"bytes,3,opt,name=ProjectID,proto3" json:"ProjectID,omitempty"` //ProjectID of the project the dataset is associated with +} + +func (x *CreateDatasetRequest) Reset() { + *x = CreateDatasetRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDatasetRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDatasetRequest) ProtoMessage() {} + +func (x *CreateDatasetRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateDatasetRequest.ProtoReflect.Descriptor instead. +func (*CreateDatasetRequest) Descriptor() ([]byte, []int) { + return file_proto_DatasetAPIModels_proto_rawDescGZIP(), []int{0} +} + +func (x *CreateDatasetRequest) GetDatasetName() string { + if x != nil { + return x.DatasetName + } + return "" +} + +func (x *CreateDatasetRequest) GetDatatype() string { + if x != nil { + return x.Datatype + } + return "" +} + +func (x *CreateDatasetRequest) GetProjectID() string { + if x != nil { + return x.ProjectID + } + return "" +} + +type DatasetList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Datasets []*datasetentrymodels.DatasetEntry `protobuf:"bytes,1,rep,name=Datasets,proto3" json:"Datasets,omitempty"` +} + +func (x *DatasetList) Reset() { + *x = DatasetList{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DatasetList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DatasetList) ProtoMessage() {} + +func (x *DatasetList) ProtoReflect() protoreflect.Message { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DatasetList.ProtoReflect.Descriptor instead. +func (*DatasetList) Descriptor() ([]byte, []int) { + return file_proto_DatasetAPIModels_proto_rawDescGZIP(), []int{1} +} + +func (x *DatasetList) GetDatasets() []*datasetentrymodels.DatasetEntry { + if x != nil { + return x.Datasets + } + return nil +} + +type CreateDatasetVersionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DatasetID string `protobuf:"bytes,1,opt,name=DatasetID,proto3" json:"DatasetID,omitempty"` // ID of the parent Dataset + Version *commonmodels.Version `protobuf:"bytes,2,opt,name=Version,proto3" json:"Version,omitempty"` // Version of the Dataset + AdditionalMetadataMessageRef string `protobuf:"bytes,3,opt,name=AdditionalMetadataMessageRef,proto3" json:"AdditionalMetadataMessageRef,omitempty"` // Message reference for the metadata + AdditionalObjectMetadataMessageRef string `protobuf:"bytes,4,opt,name=AdditionalObjectMetadataMessageRef,proto3" json:"AdditionalObjectMetadataMessageRef,omitempty"` // Message reference for the metadata of the objects associated with this DatasetVersion + AdditionalMetadata *_struct.Struct `protobuf:"bytes,5,opt,name=AdditionalMetadata,proto3" json:"AdditionalMetadata,omitempty"` // Additional metadata for the dataset version + ExpectedObjectCount int64 `protobuf:"varint,6,opt,name=ExpectedObjectCount,proto3" json:"ExpectedObjectCount,omitempty"` // Expected objects +} + +func (x *CreateDatasetVersionRequest) Reset() { + *x = CreateDatasetVersionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDatasetVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDatasetVersionRequest) ProtoMessage() {} + +func (x *CreateDatasetVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateDatasetVersionRequest.ProtoReflect.Descriptor instead. +func (*CreateDatasetVersionRequest) Descriptor() ([]byte, []int) { + return file_proto_DatasetAPIModels_proto_rawDescGZIP(), []int{2} +} + +func (x *CreateDatasetVersionRequest) GetDatasetID() string { + if x != nil { + return x.DatasetID + } + return "" +} + +func (x *CreateDatasetVersionRequest) GetVersion() *commonmodels.Version { + if x != nil { + return x.Version + } + return nil +} + +func (x *CreateDatasetVersionRequest) GetAdditionalMetadataMessageRef() string { + if x != nil { + return x.AdditionalMetadataMessageRef + } + return "" +} + +func (x *CreateDatasetVersionRequest) GetAdditionalObjectMetadataMessageRef() string { + if x != nil { + return x.AdditionalObjectMetadataMessageRef + } + return "" +} + +func (x *CreateDatasetVersionRequest) GetAdditionalMetadata() *_struct.Struct { + if x != nil { + return x.AdditionalMetadata + } + return nil +} + +func (x *CreateDatasetVersionRequest) GetExpectedObjectCount() int64 { + if x != nil { + return x.ExpectedObjectCount + } + return 0 +} + +type DatasetVersionList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DatasetVersions []*datasetentrymodels.DatasetVersionEntry `protobuf:"bytes,2,rep,name=DatasetVersions,proto3" json:"DatasetVersions,omitempty"` +} + +func (x *DatasetVersionList) Reset() { + *x = DatasetVersionList{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DatasetVersionList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DatasetVersionList) ProtoMessage() {} + +func (x *DatasetVersionList) ProtoReflect() protoreflect.Message { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DatasetVersionList.ProtoReflect.Descriptor instead. +func (*DatasetVersionList) Descriptor() ([]byte, []int) { + return file_proto_DatasetAPIModels_proto_rawDescGZIP(), []int{3} +} + +func (x *DatasetVersionList) GetDatasetVersions() []*datasetentrymodels.DatasetVersionEntry { + if x != nil { + return x.DatasetVersions + } + return nil +} + +type UpdateDatasetVersionObjectCountRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DatasetVersionID string `protobuf:"bytes,1,opt,name=DatasetVersionID,proto3" json:"DatasetVersionID,omitempty"` + Value int64 `protobuf:"varint,2,opt,name=Value,proto3" json:"Value,omitempty"` + DatasetID string `protobuf:"bytes,3,opt,name=DatasetID,proto3" json:"DatasetID,omitempty"` +} + +func (x *UpdateDatasetVersionObjectCountRequest) Reset() { + *x = UpdateDatasetVersionObjectCountRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateDatasetVersionObjectCountRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateDatasetVersionObjectCountRequest) ProtoMessage() {} + +func (x *UpdateDatasetVersionObjectCountRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateDatasetVersionObjectCountRequest.ProtoReflect.Descriptor instead. +func (*UpdateDatasetVersionObjectCountRequest) Descriptor() ([]byte, []int) { + return file_proto_DatasetAPIModels_proto_rawDescGZIP(), []int{4} +} + +func (x *UpdateDatasetVersionObjectCountRequest) GetDatasetVersionID() string { + if x != nil { + return x.DatasetVersionID + } + return "" +} + +func (x *UpdateDatasetVersionObjectCountRequest) GetValue() int64 { + if x != nil { + return x.Value + } + return 0 +} + +func (x *UpdateDatasetVersionObjectCountRequest) GetDatasetID() string { + if x != nil { + return x.DatasetID + } + return "" +} + +type CreateDatasetObjectGroupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DatasetObjectAnchor string `protobuf:"bytes,1,opt,name=DatasetObjectAnchor,proto3" json:"DatasetObjectAnchor,omitempty"` + Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` + Version *commonmodels.Version `protobuf:"bytes,3,opt,name=Version,proto3" json:"Version,omitempty"` + DatasetID string `protobuf:"bytes,4,opt,name=DatasetID,proto3" json:"DatasetID,omitempty"` + DatasetVersionID []string `protobuf:"bytes,5,rep,name=DatasetVersionID,proto3" json:"DatasetVersionID,omitempty"` + DatasetObjects []*CreateDatasetObjectRequest `protobuf:"bytes,6,rep,name=DatasetObjects,proto3" json:"DatasetObjects,omitempty"` +} + +func (x *CreateDatasetObjectGroupRequest) Reset() { + *x = CreateDatasetObjectGroupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDatasetObjectGroupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDatasetObjectGroupRequest) ProtoMessage() {} + +func (x *CreateDatasetObjectGroupRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateDatasetObjectGroupRequest.ProtoReflect.Descriptor instead. +func (*CreateDatasetObjectGroupRequest) Descriptor() ([]byte, []int) { + return file_proto_DatasetAPIModels_proto_rawDescGZIP(), []int{5} +} + +func (x *CreateDatasetObjectGroupRequest) GetDatasetObjectAnchor() string { + if x != nil { + return x.DatasetObjectAnchor + } + return "" +} + +func (x *CreateDatasetObjectGroupRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CreateDatasetObjectGroupRequest) GetVersion() *commonmodels.Version { + if x != nil { + return x.Version + } + return nil +} + +func (x *CreateDatasetObjectGroupRequest) GetDatasetID() string { + if x != nil { + return x.DatasetID + } + return "" +} + +func (x *CreateDatasetObjectGroupRequest) GetDatasetVersionID() []string { + if x != nil { + return x.DatasetVersionID + } + return nil +} + +func (x *CreateDatasetObjectGroupRequest) GetDatasetObjects() []*CreateDatasetObjectRequest { + if x != nil { + return x.DatasetObjects + } + return nil +} + +type CreateDatasetObjectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filename string `protobuf:"bytes,1,opt,name=Filename,proto3" json:"Filename,omitempty"` // Filename: Name of the original file e.g.: mydata.json + Filetype string `protobuf:"bytes,2,opt,name=Filetype,proto3" json:"Filetype,omitempty"` // Filetype: Type of the stored file, e.g.: json, gbff,... + Origin *commonmodels.Origin `protobuf:"bytes,3,opt,name=Origin,proto3" json:"Origin,omitempty"` // Origin: Source of the dataset + Created *timestamp.Timestamp `protobuf:"bytes,4,opt,name=Created,proto3" json:"Created,omitempty"` // When the data object was created + AdditionalMetadata *_struct.Struct `protobuf:"bytes,5,opt,name=AdditionalMetadata,proto3" json:"AdditionalMetadata,omitempty"` // Additional metadata of the object + ContentLen int64 `protobuf:"varint,8,opt,name=ContentLen,proto3" json:"ContentLen,omitempty"` // ContentLen: Lenght of the stored dataset + UploadID string `protobuf:"bytes,9,opt,name=UploadID,proto3" json:"UploadID,omitempty"` +} + +func (x *CreateDatasetObjectRequest) Reset() { + *x = CreateDatasetObjectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateDatasetObjectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateDatasetObjectRequest) ProtoMessage() {} + +func (x *CreateDatasetObjectRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateDatasetObjectRequest.ProtoReflect.Descriptor instead. +func (*CreateDatasetObjectRequest) Descriptor() ([]byte, []int) { + return file_proto_DatasetAPIModels_proto_rawDescGZIP(), []int{6} +} + +func (x *CreateDatasetObjectRequest) GetFilename() string { + if x != nil { + return x.Filename + } + return "" +} + +func (x *CreateDatasetObjectRequest) GetFiletype() string { + if x != nil { + return x.Filetype + } + return "" +} + +func (x *CreateDatasetObjectRequest) GetOrigin() *commonmodels.Origin { + if x != nil { + return x.Origin + } + return nil +} + +func (x *CreateDatasetObjectRequest) GetCreated() *timestamp.Timestamp { + if x != nil { + return x.Created + } + return nil +} + +func (x *CreateDatasetObjectRequest) GetAdditionalMetadata() *_struct.Struct { + if x != nil { + return x.AdditionalMetadata + } + return nil +} + +func (x *CreateDatasetObjectRequest) GetContentLen() int64 { + if x != nil { + return x.ContentLen + } + return 0 +} + +func (x *CreateDatasetObjectRequest) GetUploadID() string { + if x != nil { + return x.UploadID + } + return "" +} + +type DatasetObjectGroupList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DatasetObjectGroups []*datasetentrymodels.DatasetObjectGroup `protobuf:"bytes,1,rep,name=DatasetObjectGroups,proto3" json:"DatasetObjectGroups,omitempty"` +} + +func (x *DatasetObjectGroupList) Reset() { + *x = DatasetObjectGroupList{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DatasetObjectGroupList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DatasetObjectGroupList) ProtoMessage() {} + +func (x *DatasetObjectGroupList) ProtoReflect() protoreflect.Message { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DatasetObjectGroupList.ProtoReflect.Descriptor instead. +func (*DatasetObjectGroupList) Descriptor() ([]byte, []int) { + return file_proto_DatasetAPIModels_proto_rawDescGZIP(), []int{7} +} + +func (x *DatasetObjectGroupList) GetDatasetObjectGroups() []*datasetentrymodels.DatasetObjectGroup { + if x != nil { + return x.DatasetObjectGroups + } + return nil +} + +type DatasetObjectLinks struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` + Entites []*DatasetObjectLink `protobuf:"bytes,2,rep,name=Entites,proto3" json:"Entites,omitempty"` +} + +func (x *DatasetObjectLinks) Reset() { + *x = DatasetObjectLinks{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DatasetObjectLinks) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DatasetObjectLinks) ProtoMessage() {} + +func (x *DatasetObjectLinks) ProtoReflect() protoreflect.Message { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DatasetObjectLinks.ProtoReflect.Descriptor instead. +func (*DatasetObjectLinks) Descriptor() ([]byte, []int) { + return file_proto_DatasetAPIModels_proto_rawDescGZIP(), []int{8} +} + +func (x *DatasetObjectLinks) GetID() string { + if x != nil { + return x.ID + } + return "" +} + +func (x *DatasetObjectLinks) GetEntites() []*DatasetObjectLink { + if x != nil { + return x.Entites + } + return nil +} + +type DatasetObjectLink struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Link string `protobuf:"bytes,1,opt,name=Link,proto3" json:"Link,omitempty"` + ObjectID string `protobuf:"bytes,2,opt,name=ObjectID,proto3" json:"ObjectID,omitempty"` + Object *datasetentrymodels.DatasetObjectEntry `protobuf:"bytes,3,opt,name=Object,proto3" json:"Object,omitempty"` +} + +func (x *DatasetObjectLink) Reset() { + *x = DatasetObjectLink{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DatasetObjectLink) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DatasetObjectLink) ProtoMessage() {} + +func (x *DatasetObjectLink) ProtoReflect() protoreflect.Message { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DatasetObjectLink.ProtoReflect.Descriptor instead. +func (*DatasetObjectLink) Descriptor() ([]byte, []int) { + return file_proto_DatasetAPIModels_proto_rawDescGZIP(), []int{9} +} + +func (x *DatasetObjectLink) GetLink() string { + if x != nil { + return x.Link + } + return "" +} + +func (x *DatasetObjectLink) GetObjectID() string { + if x != nil { + return x.ObjectID + } + return "" +} + +func (x *DatasetObjectLink) GetObject() *datasetentrymodels.DatasetObjectEntry { + if x != nil { + return x.Object + } + return nil +} + +type UpdateFieldsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` + UpdateStringFields map[string]string `protobuf:"bytes,2,rep,name=UpdateStringFields,proto3" json:"UpdateStringFields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + UpdateInt64Fields map[string]int64 `protobuf:"bytes,3,rep,name=UpdateInt64Fields,proto3" json:"UpdateInt64Fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *UpdateFieldsRequest) Reset() { + *x = UpdateFieldsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFieldsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFieldsRequest) ProtoMessage() {} + +func (x *UpdateFieldsRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateFieldsRequest.ProtoReflect.Descriptor instead. +func (*UpdateFieldsRequest) Descriptor() ([]byte, []int) { + return file_proto_DatasetAPIModels_proto_rawDescGZIP(), []int{10} +} + +func (x *UpdateFieldsRequest) GetID() string { + if x != nil { + return x.ID + } + return "" +} + +func (x *UpdateFieldsRequest) GetUpdateStringFields() map[string]string { + if x != nil { + return x.UpdateStringFields + } + return nil +} + +func (x *UpdateFieldsRequest) GetUpdateInt64Fields() map[string]int64 { + if x != nil { + return x.UpdateInt64Fields + } + return nil +} + +type UpdateCurrentDatasetVersionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` + UpdateTargetID string `protobuf:"bytes,2,opt,name=UpdateTargetID,proto3" json:"UpdateTargetID,omitempty"` + TargetResource commonmodels.Resource `protobuf:"varint,3,opt,name=TargetResource,proto3,enum=Resource" json:"TargetResource,omitempty"` + UpdateStage commonmodels.Stage `protobuf:"varint,4,opt,name=UpdateStage,proto3,enum=Stage" json:"UpdateStage,omitempty"` +} + +func (x *UpdateCurrentDatasetVersionRequest) Reset() { + *x = UpdateCurrentDatasetVersionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateCurrentDatasetVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateCurrentDatasetVersionRequest) ProtoMessage() {} + +func (x *UpdateCurrentDatasetVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_DatasetAPIModels_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateCurrentDatasetVersionRequest.ProtoReflect.Descriptor instead. +func (*UpdateCurrentDatasetVersionRequest) Descriptor() ([]byte, []int) { + return file_proto_DatasetAPIModels_proto_rawDescGZIP(), []int{11} +} + +func (x *UpdateCurrentDatasetVersionRequest) GetID() string { + if x != nil { + return x.ID + } + return "" +} + +func (x *UpdateCurrentDatasetVersionRequest) GetUpdateTargetID() string { + if x != nil { + return x.UpdateTargetID + } + return "" +} + +func (x *UpdateCurrentDatasetVersionRequest) GetTargetResource() commonmodels.Resource { + if x != nil { + return x.TargetResource + } + return commonmodels.Resource_Project +} + +func (x *UpdateCurrentDatasetVersionRequest) GetUpdateStage() commonmodels.Stage { + if x != nil { + return x.UpdateStage + } + return commonmodels.Stage_Stable +} + +var File_proto_DatasetAPIModels_proto protoreflect.FileDescriptor + +var file_proto_DatasetAPIModels_proto_rawDesc = []byte{ + 0x0a, 0x1c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x41, + 0x50, 0x49, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2f, 0x67, + 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x97, 0x02, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x44, 0x61, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x3a, 0xa2, 0x01, 0x92, 0x41, 0x9e, 0x01, 0x0a, 0x4e, 0x2a, + 0x0f, 0x49, 0x6e, 0x69, 0x74, 0x4c, 0x6f, 0x61, 0x64, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x32, 0x3b, 0x44, 0x61, 0x74, 0x61, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, + 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x42, 0x69, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x42, 0x32, 0x4c, 0x12, + 0x4a, 0x7b, 0x20, 0x22, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x22, + 0x3a, 0x20, 0x22, 0x74, 0x65, 0x73, 0x74, 0x22, 0x2c, 0x20, 0x22, 0x44, 0x61, 0x74, 0x61, 0x74, + 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x74, 0x65, 0x73, 0x74, 0x32, 0x22, 0x2c, 0x20, 0x22, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x22, 0x3a, 0x20, 0x22, 0x74, 0x65, 0x73, + 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x20, 0x7d, 0x22, 0x60, 0x0a, 0x0b, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x08, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x73, 0x3a, 0x26, 0x92, 0x41, 0x23, 0x0a, 0x21, 0x2a, 0x0b, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x12, 0x41, 0x20, 0x6c, 0x69, 0x73, + 0x74, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x22, 0xb1, 0x03, + 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x07, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x42, 0x0a, 0x1c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x66, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1c, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x66, 0x12, 0x4e, 0x0a, 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x22, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x66, 0x12, 0x47, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x12, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x30, 0x0a, 0x13, + 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x45, 0x78, 0x70, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x41, + 0x92, 0x41, 0x3e, 0x0a, 0x3c, 0x2a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x32, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x65, + 0x77, 0x20, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x12, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0f, 0x44, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x2d, 0x92, 0x41, 0x2a, 0x0a, 0x28, 0x2a, + 0x0b, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x19, 0x41, 0x20, + 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x88, 0x01, 0x0a, 0x26, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x14, + 0x0a, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, + 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x49, 0x44, 0x22, 0x9a, 0x02, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x13, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x07, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x44, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x44, 0x12, 0x2a, + 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x44, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x43, 0x0a, 0x0e, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x0e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, + 0xb0, 0x02, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x69, + 0x6c, 0x65, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x46, 0x69, + 0x6c, 0x65, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x06, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x07, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x52, + 0x06, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x34, 0x0a, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x47, 0x0a, + 0x12, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x52, 0x12, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x4c, 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x49, 0x44, 0x22, 0x95, 0x01, 0x0a, 0x16, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, + 0x13, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x13, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x3a, 0x34, 0x92, 0x41, 0x31, 0x0a, 0x2f, 0x2a, 0x0b, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x20, 0x41, 0x20, 0x6c, 0x69, 0x73, 0x74, + 0x20, 0x6f, 0x66, 0x20, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x9c, 0x01, 0x0a, 0x12, 0x44, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x6e, 0x6b, + 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, + 0x44, 0x12, 0x2c, 0x0a, 0x07, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x07, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x65, 0x73, 0x3a, + 0x48, 0x92, 0x41, 0x45, 0x0a, 0x43, 0x2a, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4c, + 0x69, 0x6e, 0x6b, 0x73, 0x32, 0x33, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x69, + 0x6e, 0x6b, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, + 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x22, 0xbc, 0x01, 0x0a, 0x11, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x12, + 0x12, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4c, + 0x69, 0x6e, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x12, + 0x2b, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3a, 0x4a, 0x92, 0x41, + 0x47, 0x0a, 0x45, 0x2a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x32, 0x30, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x63, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x61, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x22, 0xeb, 0x02, 0x0a, 0x13, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x44, + 0x12, 0x5c, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x59, + 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x45, 0x0a, 0x17, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x44, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x88, 0x02, 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x44, 0x12, 0x26, 0x0a, + 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x44, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x49, 0x44, 0x12, 0x31, 0x0a, 0x0e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x06, 0x2e, + 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, + 0x67, 0x65, 0x3a, 0x4d, 0x92, 0x41, 0x4a, 0x0a, 0x48, 0x2a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x32, 0x22, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x2e, 0x42, 0x42, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x67, 0x2d, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x2d, 0x62, 0x69, 0x6f, 0x2f, 0x42, 0x69, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x42, 0x4d, 0x6f, + 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_proto_DatasetAPIModels_proto_rawDescOnce sync.Once + file_proto_DatasetAPIModels_proto_rawDescData = file_proto_DatasetAPIModels_proto_rawDesc +) + +func file_proto_DatasetAPIModels_proto_rawDescGZIP() []byte { + file_proto_DatasetAPIModels_proto_rawDescOnce.Do(func() { + file_proto_DatasetAPIModels_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_DatasetAPIModels_proto_rawDescData) + }) + return file_proto_DatasetAPIModels_proto_rawDescData +} + +var file_proto_DatasetAPIModels_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_proto_DatasetAPIModels_proto_goTypes = []interface{}{ + (*CreateDatasetRequest)(nil), // 0: CreateDatasetRequest + (*DatasetList)(nil), // 1: DatasetList + (*CreateDatasetVersionRequest)(nil), // 2: CreateDatasetVersionRequest + (*DatasetVersionList)(nil), // 3: DatasetVersionList + (*UpdateDatasetVersionObjectCountRequest)(nil), // 4: UpdateDatasetVersionObjectCountRequest + (*CreateDatasetObjectGroupRequest)(nil), // 5: CreateDatasetObjectGroupRequest + (*CreateDatasetObjectRequest)(nil), // 6: CreateDatasetObjectRequest + (*DatasetObjectGroupList)(nil), // 7: DatasetObjectGroupList + (*DatasetObjectLinks)(nil), // 8: DatasetObjectLinks + (*DatasetObjectLink)(nil), // 9: DatasetObjectLink + (*UpdateFieldsRequest)(nil), // 10: UpdateFieldsRequest + (*UpdateCurrentDatasetVersionRequest)(nil), // 11: UpdateCurrentDatasetVersionRequest + nil, // 12: UpdateFieldsRequest.UpdateStringFieldsEntry + nil, // 13: UpdateFieldsRequest.UpdateInt64FieldsEntry + (*datasetentrymodels.DatasetEntry)(nil), // 14: DatasetEntry + (*commonmodels.Version)(nil), // 15: Version + (*_struct.Struct)(nil), // 16: google.protobuf.Struct + (*datasetentrymodels.DatasetVersionEntry)(nil), // 17: DatasetVersionEntry + (*commonmodels.Origin)(nil), // 18: Origin + (*timestamp.Timestamp)(nil), // 19: google.protobuf.Timestamp + (*datasetentrymodels.DatasetObjectGroup)(nil), // 20: DatasetObjectGroup + (*datasetentrymodels.DatasetObjectEntry)(nil), // 21: DatasetObjectEntry + (commonmodels.Resource)(0), // 22: Resource + (commonmodels.Stage)(0), // 23: Stage +} +var file_proto_DatasetAPIModels_proto_depIdxs = []int32{ + 14, // 0: DatasetList.Datasets:type_name -> DatasetEntry + 15, // 1: CreateDatasetVersionRequest.Version:type_name -> Version + 16, // 2: CreateDatasetVersionRequest.AdditionalMetadata:type_name -> google.protobuf.Struct + 17, // 3: DatasetVersionList.DatasetVersions:type_name -> DatasetVersionEntry + 15, // 4: CreateDatasetObjectGroupRequest.Version:type_name -> Version + 6, // 5: CreateDatasetObjectGroupRequest.DatasetObjects:type_name -> CreateDatasetObjectRequest + 18, // 6: CreateDatasetObjectRequest.Origin:type_name -> Origin + 19, // 7: CreateDatasetObjectRequest.Created:type_name -> google.protobuf.Timestamp + 16, // 8: CreateDatasetObjectRequest.AdditionalMetadata:type_name -> google.protobuf.Struct + 20, // 9: DatasetObjectGroupList.DatasetObjectGroups:type_name -> DatasetObjectGroup + 9, // 10: DatasetObjectLinks.Entites:type_name -> DatasetObjectLink + 21, // 11: DatasetObjectLink.Object:type_name -> DatasetObjectEntry + 12, // 12: UpdateFieldsRequest.UpdateStringFields:type_name -> UpdateFieldsRequest.UpdateStringFieldsEntry + 13, // 13: UpdateFieldsRequest.UpdateInt64Fields:type_name -> UpdateFieldsRequest.UpdateInt64FieldsEntry + 22, // 14: UpdateCurrentDatasetVersionRequest.TargetResource:type_name -> Resource + 23, // 15: UpdateCurrentDatasetVersionRequest.UpdateStage:type_name -> Stage + 16, // [16:16] is the sub-list for method output_type + 16, // [16:16] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name +} + +func init() { file_proto_DatasetAPIModels_proto_init() } +func file_proto_DatasetAPIModels_proto_init() { + if File_proto_DatasetAPIModels_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_proto_DatasetAPIModels_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDatasetRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_DatasetAPIModels_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DatasetList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_DatasetAPIModels_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDatasetVersionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_DatasetAPIModels_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DatasetVersionList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_DatasetAPIModels_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateDatasetVersionObjectCountRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_DatasetAPIModels_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDatasetObjectGroupRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_DatasetAPIModels_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateDatasetObjectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_DatasetAPIModels_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DatasetObjectGroupList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_DatasetAPIModels_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DatasetObjectLinks); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_DatasetAPIModels_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DatasetObjectLink); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_DatasetAPIModels_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFieldsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_DatasetAPIModels_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateCurrentDatasetVersionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_proto_DatasetAPIModels_proto_rawDesc, + NumEnums: 0, + NumMessages: 14, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_proto_DatasetAPIModels_proto_goTypes, + DependencyIndexes: file_proto_DatasetAPIModels_proto_depIdxs, + MessageInfos: file_proto_DatasetAPIModels_proto_msgTypes, + }.Build() + File_proto_DatasetAPIModels_proto = out.File + file_proto_DatasetAPIModels_proto_rawDesc = nil + file_proto_DatasetAPIModels_proto_goTypes = nil + file_proto_DatasetAPIModels_proto_depIdxs = nil +} diff --git a/go/datasetmodels/DatasetModels.pb.go b/go/datasetapimodels/DatasetModels.pb.go similarity index 80% rename from go/datasetmodels/DatasetModels.pb.go rename to go/datasetapimodels/DatasetModels.pb.go index 2443aa3..49f54c2 100644 --- a/go/datasetmodels/DatasetModels.pb.go +++ b/go/datasetapimodels/DatasetModels.pb.go @@ -794,6 +794,140 @@ func (x *CreateDatasetObjectReponse) GetDatasetObjects() []*datasetentrymodels.D return nil } +type UpdateFieldsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` + UpdateStringFields map[string]string `protobuf:"bytes,2,rep,name=UpdateStringFields,proto3" json:"UpdateStringFields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + UpdateInt64Fields map[string]int64 `protobuf:"bytes,3,rep,name=UpdateInt64Fields,proto3" json:"UpdateInt64Fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *UpdateFieldsRequest) Reset() { + *x = UpdateFieldsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_DatasetModels_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateFieldsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateFieldsRequest) ProtoMessage() {} + +func (x *UpdateFieldsRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_DatasetModels_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateFieldsRequest.ProtoReflect.Descriptor instead. +func (*UpdateFieldsRequest) Descriptor() ([]byte, []int) { + return file_proto_DatasetModels_proto_rawDescGZIP(), []int{12} +} + +func (x *UpdateFieldsRequest) GetID() string { + if x != nil { + return x.ID + } + return "" +} + +func (x *UpdateFieldsRequest) GetUpdateStringFields() map[string]string { + if x != nil { + return x.UpdateStringFields + } + return nil +} + +func (x *UpdateFieldsRequest) GetUpdateInt64Fields() map[string]int64 { + if x != nil { + return x.UpdateInt64Fields + } + return nil +} + +type UpdateCurrentDatasetVersionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` + UpdateTargetID string `protobuf:"bytes,2,opt,name=UpdateTargetID,proto3" json:"UpdateTargetID,omitempty"` + TargetResource commonmodels.Resource `protobuf:"varint,3,opt,name=TargetResource,proto3,enum=Resource" json:"TargetResource,omitempty"` + UpdateStage commonmodels.Stage `protobuf:"varint,4,opt,name=UpdateStage,proto3,enum=Stage" json:"UpdateStage,omitempty"` +} + +func (x *UpdateCurrentDatasetVersionRequest) Reset() { + *x = UpdateCurrentDatasetVersionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_DatasetModels_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateCurrentDatasetVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateCurrentDatasetVersionRequest) ProtoMessage() {} + +func (x *UpdateCurrentDatasetVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_DatasetModels_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateCurrentDatasetVersionRequest.ProtoReflect.Descriptor instead. +func (*UpdateCurrentDatasetVersionRequest) Descriptor() ([]byte, []int) { + return file_proto_DatasetModels_proto_rawDescGZIP(), []int{13} +} + +func (x *UpdateCurrentDatasetVersionRequest) GetID() string { + if x != nil { + return x.ID + } + return "" +} + +func (x *UpdateCurrentDatasetVersionRequest) GetUpdateTargetID() string { + if x != nil { + return x.UpdateTargetID + } + return "" +} + +func (x *UpdateCurrentDatasetVersionRequest) GetTargetResource() commonmodels.Resource { + if x != nil { + return x.TargetResource + } + return commonmodels.Resource_Project +} + +func (x *UpdateCurrentDatasetVersionRequest) GetUpdateStage() commonmodels.Stage { + if x != nil { + return x.UpdateStage + } + return commonmodels.Stage_Stable +} + var File_proto_DatasetModels_proto protoreflect.FileDescriptor var file_proto_DatasetModels_proto_rawDesc = []byte{ @@ -964,12 +1098,51 @@ var file_proto_DatasetModels_proto_rawDesc = []byte{ 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x44, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x42, 0x42, 0x5a, 0x40, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x67, 0x2d, 0x63, 0x6f, 0x6d, - 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2d, 0x62, 0x69, 0x6f, 0x2f, 0x42, - 0x69, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x42, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, - 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0xeb, 0x02, 0x0a, 0x13, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x49, 0x44, 0x12, 0x5c, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x12, 0x59, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x45, 0x0a, 0x17, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x88, 0x02, 0x0a, 0x22, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x44, + 0x12, 0x26, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, + 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x49, 0x44, 0x12, 0x31, 0x0a, 0x0e, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x09, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0e, 0x54, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0b, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x06, 0x2e, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x61, 0x67, 0x65, 0x3a, 0x4d, 0x92, 0x41, 0x4a, 0x0a, 0x48, 0x2a, 0x22, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x32, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x2e, 0x42, 0x42, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x67, 0x2d, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x2d, 0x62, 0x69, 0x6f, 0x2f, 0x42, 0x69, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x44, + 0x42, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x65, 0x74, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -984,7 +1157,7 @@ func file_proto_DatasetModels_proto_rawDescGZIP() []byte { return file_proto_DatasetModels_proto_rawDescData } -var file_proto_DatasetModels_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_proto_DatasetModels_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_proto_DatasetModels_proto_goTypes = []interface{}{ (*DatasetObjectLinks)(nil), // 0: DatasetObjectLinks (*DatasetObjectLink)(nil), // 1: DatasetObjectLink @@ -998,37 +1171,47 @@ var file_proto_DatasetModels_proto_goTypes = []interface{}{ (*CreateDatasetObjectGroupRequest)(nil), // 9: CreateDatasetObjectGroupRequest (*CreateDatasetObjectRequest)(nil), // 10: CreateDatasetObjectRequest (*CreateDatasetObjectReponse)(nil), // 11: CreateDatasetObjectReponse - (*datasetentrymodels.DatasetObjectEntry)(nil), // 12: DatasetObjectEntry - (*datasetentrymodels.DatasetEntry)(nil), // 13: DatasetEntry - (*datasetentrymodels.DatasetVersionEntry)(nil), // 14: DatasetVersionEntry - (*datasetentrymodels.DatasetObjectGroup)(nil), // 15: DatasetObjectGroup - (*commonmodels.Version)(nil), // 16: Version - (*_struct.Struct)(nil), // 17: google.protobuf.Struct - (*commonmodels.Origin)(nil), // 18: Origin - (*timestamp.Timestamp)(nil), // 19: google.protobuf.Timestamp + (*UpdateFieldsRequest)(nil), // 12: UpdateFieldsRequest + (*UpdateCurrentDatasetVersionRequest)(nil), // 13: UpdateCurrentDatasetVersionRequest + nil, // 14: UpdateFieldsRequest.UpdateStringFieldsEntry + nil, // 15: UpdateFieldsRequest.UpdateInt64FieldsEntry + (*datasetentrymodels.DatasetObjectEntry)(nil), // 16: DatasetObjectEntry + (*datasetentrymodels.DatasetEntry)(nil), // 17: DatasetEntry + (*datasetentrymodels.DatasetVersionEntry)(nil), // 18: DatasetVersionEntry + (*datasetentrymodels.DatasetObjectGroup)(nil), // 19: DatasetObjectGroup + (*commonmodels.Version)(nil), // 20: Version + (*_struct.Struct)(nil), // 21: google.protobuf.Struct + (*commonmodels.Origin)(nil), // 22: Origin + (*timestamp.Timestamp)(nil), // 23: google.protobuf.Timestamp + (commonmodels.Resource)(0), // 24: Resource + (commonmodels.Stage)(0), // 25: Stage } var file_proto_DatasetModels_proto_depIdxs = []int32{ 1, // 0: DatasetObjectLinks.Entites:type_name -> DatasetObjectLink - 12, // 1: DatasetObjectLink.Object:type_name -> DatasetObjectEntry - 13, // 2: DatasetList.Datasets:type_name -> DatasetEntry - 14, // 3: DatasetVersionList.DatasetVersions:type_name -> DatasetVersionEntry + 16, // 1: DatasetObjectLink.Object:type_name -> DatasetObjectEntry + 17, // 2: DatasetList.Datasets:type_name -> DatasetEntry + 18, // 3: DatasetVersionList.DatasetVersions:type_name -> DatasetVersionEntry 7, // 4: DatasetObjectGroupList.DatasetObjectGroups:type_name -> DatasetObjectGroupObjectContainer - 15, // 5: DatasetObjectGroupObjectContainer.DatasetObjectGroup:type_name -> DatasetObjectGroup - 12, // 6: DatasetObjectGroupObjectContainer.Objects:type_name -> DatasetObjectEntry - 16, // 7: NewDatasetVersionRequest.Version:type_name -> Version - 17, // 8: NewDatasetVersionRequest.AdditionalMetadata:type_name -> google.protobuf.Struct - 16, // 9: CreateDatasetObjectGroupRequest.Version:type_name -> Version + 19, // 5: DatasetObjectGroupObjectContainer.DatasetObjectGroup:type_name -> DatasetObjectGroup + 16, // 6: DatasetObjectGroupObjectContainer.Objects:type_name -> DatasetObjectEntry + 20, // 7: NewDatasetVersionRequest.Version:type_name -> Version + 21, // 8: NewDatasetVersionRequest.AdditionalMetadata:type_name -> google.protobuf.Struct + 20, // 9: CreateDatasetObjectGroupRequest.Version:type_name -> Version 10, // 10: CreateDatasetObjectGroupRequest.DatasetObjects:type_name -> CreateDatasetObjectRequest - 18, // 11: CreateDatasetObjectRequest.Origin:type_name -> Origin - 19, // 12: CreateDatasetObjectRequest.Created:type_name -> google.protobuf.Timestamp - 17, // 13: CreateDatasetObjectRequest.AdditionalMetadata:type_name -> google.protobuf.Struct - 15, // 14: CreateDatasetObjectReponse.DatasetObjectGroup:type_name -> DatasetObjectGroup - 12, // 15: CreateDatasetObjectReponse.DatasetObjects:type_name -> DatasetObjectEntry - 16, // [16:16] is the sub-list for method output_type - 16, // [16:16] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 22, // 11: CreateDatasetObjectRequest.Origin:type_name -> Origin + 23, // 12: CreateDatasetObjectRequest.Created:type_name -> google.protobuf.Timestamp + 21, // 13: CreateDatasetObjectRequest.AdditionalMetadata:type_name -> google.protobuf.Struct + 19, // 14: CreateDatasetObjectReponse.DatasetObjectGroup:type_name -> DatasetObjectGroup + 16, // 15: CreateDatasetObjectReponse.DatasetObjects:type_name -> DatasetObjectEntry + 14, // 16: UpdateFieldsRequest.UpdateStringFields:type_name -> UpdateFieldsRequest.UpdateStringFieldsEntry + 15, // 17: UpdateFieldsRequest.UpdateInt64Fields:type_name -> UpdateFieldsRequest.UpdateInt64FieldsEntry + 24, // 18: UpdateCurrentDatasetVersionRequest.TargetResource:type_name -> Resource + 25, // 19: UpdateCurrentDatasetVersionRequest.UpdateStage:type_name -> Stage + 20, // [20:20] is the sub-list for method output_type + 20, // [20:20] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name } func init() { file_proto_DatasetModels_proto_init() } @@ -1181,6 +1364,30 @@ func file_proto_DatasetModels_proto_init() { return nil } } + file_proto_DatasetModels_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateFieldsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_DatasetModels_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateCurrentDatasetVersionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1188,7 +1395,7 @@ func file_proto_DatasetModels_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_proto_DatasetModels_proto_rawDesc, NumEnums: 0, - NumMessages: 12, + NumMessages: 16, NumExtensions: 0, NumServices: 0, }, diff --git a/go/datasetentrymodels/DatasetEntryModels.pb.go b/go/datasetentrymodels/DatasetEntryModels.pb.go index 1b920b6..5a05539 100644 --- a/go/datasetentrymodels/DatasetEntryModels.pb.go +++ b/go/datasetentrymodels/DatasetEntryModels.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel -// protoc v3.12.3 +// protoc v3.12.4 // source: proto/DatasetEntryModels.proto package datasetentrymodels @@ -448,7 +448,6 @@ type DatasetObjectEntry struct { AdditionalMetadata *_struct.Struct `protobuf:"bytes,8,opt,name=AdditionalMetadata,proto3" json:"AdditionalMetadata,omitempty"` // Additional metadata of the object UploadID string `protobuf:"bytes,9,opt,name=UploadID,proto3" json:"UploadID,omitempty"` Status Status `protobuf:"varint,10,opt,name=Status,proto3,enum=Status" json:"Status,omitempty"` - DatasetObjectGroup string `protobuf:"bytes,11,opt,name=DatasetObjectGroup,proto3" json:"DatasetObjectGroup,omitempty"` } func (x *DatasetObjectEntry) Reset() { @@ -553,24 +552,19 @@ func (x *DatasetObjectEntry) GetStatus() Status { return Status_Initiating } -func (x *DatasetObjectEntry) GetDatasetObjectGroup() string { - if x != nil { - return x.DatasetObjectGroup - } - return "" -} - type DatasetObjectGroup struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` - DatasetObjectAnchor string `protobuf:"bytes,2,opt,name=DatasetObjectAnchor,proto3" json:"DatasetObjectAnchor,omitempty"` - Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` - Version *commonmodels.Version `protobuf:"bytes,4,opt,name=Version,proto3" json:"Version,omitempty"` - DatasetID string `protobuf:"bytes,5,opt,name=DatasetID,proto3" json:"DatasetID,omitempty"` // DatasetID: ID of the parent dataset - DatasetVersionID []string `protobuf:"bytes,6,rep,name=DatasetVersionID,proto3" json:"DatasetVersionID,omitempty"` // DatasetVersionID: ID of the parent dataset version + ID string `protobuf:"bytes,1,opt,name=ID,proto3" json:"ID,omitempty"` + DatasetGroupHistoryID string `protobuf:"bytes,2,opt,name=DatasetGroupHistoryID,proto3" json:"DatasetGroupHistoryID,omitempty"` + Name string `protobuf:"bytes,3,opt,name=Name,proto3" json:"Name,omitempty"` + Version *commonmodels.Version `protobuf:"bytes,4,opt,name=Version,proto3" json:"Version,omitempty"` + DatasetID string `protobuf:"bytes,5,opt,name=DatasetID,proto3" json:"DatasetID,omitempty"` // DatasetID: ID of the parent dataset + DatasetVersionID []string `protobuf:"bytes,6,rep,name=DatasetVersionID,proto3" json:"DatasetVersionID,omitempty"` // DatasetVersionID: ID of the parent dataset version + Objects []*DatasetObjectEntry `protobuf:"bytes,7,rep,name=Objects,proto3" json:"Objects,omitempty"` + AdditionalMetadata *_struct.Struct `protobuf:"bytes,8,opt,name=AdditionalMetadata,proto3" json:"AdditionalMetadata,omitempty"` // Additional metadata of the object } func (x *DatasetObjectGroup) Reset() { @@ -612,9 +606,9 @@ func (x *DatasetObjectGroup) GetID() string { return "" } -func (x *DatasetObjectGroup) GetDatasetObjectAnchor() string { +func (x *DatasetObjectGroup) GetDatasetGroupHistoryID() string { if x != nil { - return x.DatasetObjectAnchor + return x.DatasetGroupHistoryID } return "" } @@ -647,6 +641,20 @@ func (x *DatasetObjectGroup) GetDatasetVersionID() []string { return nil } +func (x *DatasetObjectGroup) GetObjects() []*DatasetObjectEntry { + if x != nil { + return x.Objects + } + return nil +} + +func (x *DatasetObjectGroup) GetAdditionalMetadata() *_struct.Struct { + if x != nil { + return x.AdditionalMetadata + } + return nil +} + var File_proto_DatasetEntryModels_proto protoreflect.FileDescriptor var file_proto_DatasetEntryModels_proto_rawDesc = []byte{ @@ -755,7 +763,7 @@ var file_proto_DatasetEntryModels_proto_rawDesc = []byte{ 0x61, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2e, 0x20, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, - 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x22, 0xef, 0x03, 0x0a, 0x12, 0x44, 0x61, + 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x22, 0xbf, 0x03, 0x0a, 0x12, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, @@ -779,50 +787,55 @@ var file_proto_DatasetEntryModels_proto_rawDesc = []byte{ 0x1a, 0x0a, 0x08, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x44, 0x12, 0x1f, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x07, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x12, - 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, - 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x3a, 0x3d, 0x92, 0x41, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3d, 0x92, 0x41, 0x3a, 0x0a, 0x38, 0x2a, 0x12, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x32, 0x22, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, - 0x61, 0x73, 0x65, 0x74, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x96, 0x03, 0x0a, 0x12, + 0x61, 0x73, 0x65, 0x74, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0x92, 0x04, 0x0a, 0x12, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x49, 0x44, 0x12, 0x30, 0x0a, 0x13, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x13, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x6e, - 0x63, 0x68, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, - 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10, 0x44, 0x61, - 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x3a, 0xbb, 0x01, 0x92, 0x41, 0xb7, 0x01, 0x0a, 0xb4, 0x01, - 0x2a, 0x12, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x32, 0x9d, 0x01, 0x41, 0x20, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x66, 0x20, - 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x20, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x67, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, - 0x73, 0x69, 0x65, 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, - 0x20, 0x41, 0x6e, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x75, 0x73, 0x65, 0x20, - 0x63, 0x61, 0x73, 0x65, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, - 0x73, 0x65, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x20, 0x61, 0x6c, 0x6f, 0x6e, 0x67, - 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x66, - 0x69, 0x6c, 0x65, 0x2e, 0x2a, 0x51, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, - 0x0a, 0x0a, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x0d, - 0x0a, 0x09, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x01, 0x12, 0x0c, 0x0a, - 0x08, 0x55, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x04, 0x42, 0x47, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x67, 0x2d, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2d, 0x62, 0x69, 0x6f, 0x2f, 0x42, 0x69, 0x6f, 0x44, 0x61, - 0x74, 0x61, 0x44, 0x42, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x64, 0x61, - 0x74, 0x61, 0x73, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x49, 0x44, 0x12, 0x34, 0x0a, 0x15, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x15, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x07, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x44, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x49, 0x44, 0x12, 0x2a, + 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x44, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x2d, 0x0a, 0x07, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x07, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x47, 0x0a, 0x12, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x12, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x3a, 0xbb, 0x01, 0x92, 0x41, 0xb7, 0x01, 0x0a, 0xb4, 0x01, 0x2a, 0x12, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x32, 0x9d, 0x01, 0x41, 0x20, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x65, 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x61, 0x72, 0x65, 0x20, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x67, + 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x73, 0x69, 0x65, 0x72, + 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x20, 0x41, 0x6e, 0x20, + 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x75, 0x73, 0x65, 0x20, 0x63, 0x61, 0x73, 0x65, + 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x73, 0x65, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x20, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2e, + 0x2a, 0x51, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x6e, + 0x69, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x64, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6e, + 0x67, 0x10, 0x04, 0x42, 0x47, 0x5a, 0x45, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x67, 0x2d, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x2d, 0x62, 0x69, 0x6f, 0x2f, 0x42, 0x69, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x44, 0x42, + 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -867,11 +880,13 @@ var file_proto_DatasetEntryModels_proto_depIdxs = []int32{ 9, // 10: DatasetObjectEntry.AdditionalMetadata:type_name -> google.protobuf.Struct 0, // 11: DatasetObjectEntry.Status:type_name -> Status 8, // 12: DatasetObjectGroup.Version:type_name -> Version - 13, // [13:13] is the sub-list for method output_type - 13, // [13:13] is the sub-list for method input_type - 13, // [13:13] is the sub-list for extension type_name - 13, // [13:13] is the sub-list for extension extendee - 0, // [0:13] is the sub-list for field type_name + 4, // 13: DatasetObjectGroup.Objects:type_name -> DatasetObjectEntry + 9, // 14: DatasetObjectGroup.AdditionalMetadata:type_name -> google.protobuf.Struct + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_proto_DatasetEntryModels_proto_init() } diff --git a/go/loadmodels/LoadModels.pb.go b/go/loadmodels/LoadModels.pb.go index c0ce590..f5f50d3 100644 --- a/go/loadmodels/LoadModels.pb.go +++ b/go/loadmodels/LoadModels.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel -// protoc v3.12.3 +// protoc v3.12.4 // source: proto/LoadModels.proto package loadmodels diff --git a/go/metadatamodels/MetadataModels.pb.go b/go/metadatamodels/MetadataModels.pb.go index 67ba8fa..be8d3da 100644 --- a/go/metadatamodels/MetadataModels.pb.go +++ b/go/metadatamodels/MetadataModels.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel -// protoc v3.12.3 +// protoc v3.12.4 // source: proto/MetadataModels.proto package metadatamodels diff --git a/go/projectmodels/ProjectEntryModels.pb.go b/go/projectmodels/ProjectEntryModels.pb.go index 9e0e581..7ce7f09 100644 --- a/go/projectmodels/ProjectEntryModels.pb.go +++ b/go/projectmodels/ProjectEntryModels.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel -// protoc v3.12.3 +// protoc v3.12.4 // source: proto/ProjectEntryModels.proto package projectmodels diff --git a/go/projectmodels/ProjectModels.pb.go b/go/projectmodels/ProjectModels.pb.go index 20f0570..1a2f96c 100644 --- a/go/projectmodels/ProjectModels.pb.go +++ b/go/projectmodels/ProjectModels.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0-devel -// protoc v3.12.3 +// protoc v3.12.4 // source: proto/ProjectModels.proto package projectmodels diff --git a/go/swaggerhandler/Swagger.go b/go/swaggerhandler/Swagger.go index 378a9c8..c3ee8fc 100644 --- a/go/swaggerhandler/Swagger.go +++ b/go/swaggerhandler/Swagger.go @@ -1,9 +1,9 @@ // Code generated by go generate; DO NOT EDIT. // This file was generated by robots at -// 2020-08-12 18:17:18.04662886 +0200 CEST m=+0.000387899 +// 2020-09-06 12:52:55.473411611 +0200 CEST m=+0.000514991 package swaggerhandler var SwaggerJSON = []byte{ -'{','\n',' ',' ','"','s','w','a','g','g','e','r','"',':',' ','"','2','.','0','"',',','\n',' ',' ','"','i','n','f','o','"',':',' ','{','\n',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','p','r','o','t','o','/','A','u','t','h','A','P','I','.','p','r','o','t','o','"',',','\n',' ',' ',' ',' ','"','v','e','r','s','i','o','n','"',':',' ','"','v','e','r','s','i','o','n',' ','n','o','t',' ','s','e','t','"','\n',' ',' ','}',',','\n',' ',' ','"','c','o','n','s','u','m','e','s','"',':',' ','[','\n',' ',' ',' ',' ','"','a','p','p','l','i','c','a','t','i','o','n','/','j','s','o','n','"','\n',' ',' ',']',',','\n',' ',' ','"','p','r','o','d','u','c','e','s','"',':',' ','[','\n',' ',' ',' ',' ','"','a','p','p','l','i','c','a','t','i','o','n','/','j','s','o','n','"','\n',' ',' ',']',',','\n',' ',' ','"','p','a','t','h','s','"',':',' ','{','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','a','u','t','h','/','c','r','e','a','t','e','a','p','i','t','o','k','e','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','C','r','e','a','t','e','A','P','I','T','o','k','e','n',' ','C','r','e','a','t','e','s',' ','a',' ','n','e','w',' ','A','P','I',' ','t','o','k','e','n',' ','a','n','d',' ','r','e','t','u','r','n','s',' ','i','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','A','P','I','T','o','k','e','n','S','e','r','v','i','c','e','_','C','r','e','a','t','e','A','P','I','T','o','k','e','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','T','o','k','e','n','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','T','o','k','e','n','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','A','P','I','T','o','k','e','n','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','a','u','t','h','/','d','e','l','e','t','e','a','p','i','t','o','k','e','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','R','e','v','o','k','e','T','o','k','e','n',' ','R','e','v','o','k','e','s',' ','a','n',' ','a','c','c','e','s','s',' ','t','o','k','e','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','A','P','I','T','o','k','e','n','S','e','r','v','i','c','e','_','R','e','v','o','k','e','T','o','k','e','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','D','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','A','P','I','T','o','k','e','n','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','a','u','t','h','/','l','i','s','t','a','p','i','t','o','k','e','n','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','g','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','G','e','t','T','o','k','e','n','L','i','s','t',' ','L','i','s','t','s',' ','a','l','l',' ','a','v','a','i','l','a','b','l','e',' ','a','c','c','e','s','s',' ','t','o','k','e','n','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','A','P','I','T','o','k','e','n','S','e','r','v','i','c','e','_','G','e','t','T','o','k','e','n','L','i','s','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','T','o','k','e','n','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','I','D','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','q','u','e','r','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','f','a','l','s','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','A','P','I','T','o','k','e','n','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','/','c','r','e','a','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','C','r','e','a','t','e','N','e','w','D','a','t','a','s','e','t',' ','C','r','e','a','t','e','s',' ','a',' ','n','e','w',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','C','r','e','a','t','e','N','e','w','D','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','D','a','t','a','s','e','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','/','d','e','l','e','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','D','e','l','e','t','e','D','a','t','a','s','e','t',' ','D','e','l','e','t','e',' ','a',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','D','e','l','e','t','e','D','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','D','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','/','l','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','D','a','t','a','s','e','t','s',' ','L','i','s','t','s',' ','a','l','l',' ','d','a','t','a','s','e','t','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','D','a','t','a','s','e','t','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','D','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','o','b','j','e','c','t','g','r','o','u','p','/','c','r','e','a','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','C','r','e','a','t','e','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','D','a','t','a','s','e','t','O','b','j','e','c','t','R','e','p','o','n','s','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','o','b','j','e','c','t','g','r','o','u','p','/','l','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','L','i','s','t','s',' ','a','l','l',' ','e','n','t','i','t','i','e','s',' ','o','f',' ','a',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','D','a','t','a','s','e','t','V','e','r','s','i','o','n','O','b','j','e','c','t','G','r','o','u','p','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','D','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','v','e','r','s','i','o','n','/','c','r','e','a','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','C','r','e','a','t','e','s',' ','a',' ','n','e','w',' ','d','a','t','a','s','e','t',' ','v','e','r','s','i','o','n',' ','b','a','s','e','d',' ','o','n',' ','a','n',' ','e','x','i','s','t','i','n','g',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','C','r','e','a','t','e','N','e','w','D','a','t','a','s','e','t','V','e','r','s','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','V','e','r','s','i','o','n','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','N','e','w','D','a','t','a','s','e','t','V','e','r','s','i','o','n','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','v','e','r','s','i','o','n','/','d','e','l','e','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','D','e','l','e','t','e','s',' ','a',' ','d','a','t','a','s','e','t',' ','v','e','r','s','i','o','n','\\','n','T','h','i','s',' ','s','h','o','u','l','d',' ','n','o','t',' ','d','e','l','e','t','e',' ','t','h','e',' ','u','n','d','e','r','l','a','y','i','n','g',' ','d','a','t','a','s','e','t',' ','o','b','j','e','c','t','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','D','e','l','e','t','e','D','a','t','a','s','e','t','V','e','r','s','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','D','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','v','e','r','s','i','o','n','/','g','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','G','e','t','D','a','t','a','s','e','t','V','e','r','s','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','V','e','r','s','i','o','n','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','D','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','v','e','r','s','i','o','n','/','l','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','L','i','s','t','s',' ','V','e','r','s','i','o','n','s',' ','o','f',' ','a',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','D','a','t','a','s','e','t','V','e','r','s','i','o','n','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','V','e','r','s','i','o','n','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','D','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','v','e','r','s','i','o','n','/','u','p','d','a','t','e','/','o','b','j','e','c','t','c','o','u','n','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','U','p','d','a','t','e','s',' ','t','h','e',' ','e','x','p','e','c','t','e','d',' ','n','u','m','b','e','r',' ','o','f',' ','o','b','j','e','c','t','s',' ','i','n',' ','a',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','U','p','d','a','t','e','D','a','t','a','s','e','t','V','e','r','s','i','o','n','O','b','j','e','c','t','C','o','u','n','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','U','p','d','a','t','e','D','a','t','a','s','e','t','V','e','r','s','i','o','n','O','b','j','e','c','t','C','o','u','n','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','l','o','a','d','/','c','r','e','a','t','e','l','i','n','k','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','C','r','e','a','t','e','s',' ','a',' ','l','i','s','t',' ','o','f',' ','u','p','l','o','a','d',' ','l','i','n','k','s',' ','t','o',' ','p','l','a','c','e',' ','d','a','t','a','s','e','t',' ','e','n','t','i','t','i','e','s',' ','i','n',' ','o','b','j','e','c','t',' ','s','t','o','r','a','g','e','\\','n','a','n','d',' ','a','d','d','s',' ','c','o','r','r','e','s','p','o','n','d','i','n','g',' ','m','e','t','a','d','a','t','a',' ','o','b','j','e','c','t','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','L','o','a','d','S','e','r','v','i','c','e','_','C','r','e','a','t','e','U','p','l','o','a','d','L','i','n','k','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','U','p','l','o','a','d','L','i','n','k','R','e','s','p','o','n','s','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','U','p','l','o','a','d','L','i','n','k','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','L','o','a','d','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','l','o','a','d','/','d','o','w','n','l','o','a','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','L','o','a','d','S','e','r','v','i','c','e','_','G','e','t','D','o','w','n','l','o','a','d','L','i','n','k','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','G','e','t','D','o','w','n','l','o','a','d','R','e','s','p','o','n','s','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','G','e','t','D','o','w','n','l','o','a','d','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','L','o','a','d','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','l','o','a','d','/','f','i','n','i','s','h','m','u','l','t','i','p','a','r','t','u','p','l','o','a','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','L','o','a','d','S','e','r','v','i','c','e','_','F','i','n','i','s','h','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','F','i','n','i','s','h','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','L','o','a','d','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','l','o','a','d','/','g','e','t','m','u','l','t','i','p','a','r','t','u','p','l','o','a','d','l','i','n','k','p','a','r','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','L','o','a','d','S','e','r','v','i','c','e','_','G','e','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','L','i','n','k','P','a','r','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','G','e','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','L','i','n','k','P','a','r','t','R','e','s','p','o','n','s','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','G','e','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','L','i','n','k','P','a','r','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','L','o','a','d','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','l','o','a','d','/','i','n','i','t','m','u','l','t','i','p','a','r','t','u','p','l','o','a','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','L','o','a','d','S','e','r','v','i','c','e','_','I','n','i','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','n','i','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','L','o','a','d','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','m','e','t','a','d','a','t','a','/','i','n','d','e','x','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','_','A','d','d','M','e','t','a','d','a','t','a','I','n','d','e','x','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','A','d','d','M','e','t','a','d','a','t','a','I','n','d','e','x','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','m','e','t','a','d','a','t','a','/','i','n','i','t','c','o','l','l','e','c','t','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','_','I','n','i','t','M','e','t','a','d','a','t','a','D','B','C','o','l','l','e','c','t','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','M','e','t','a','d','a','t','a','D','B','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','n','i','t','M','e','t','a','d','a','t','a','C','o','l','l','e','c','t','i','o','n','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','m','e','t','a','d','a','t','a','/','i','n','i','t','d','b','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','_','I','n','i','t','M','e','t','a','d','a','t','a','D','B','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','M','e','t','a','d','a','t','a','D','B','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','n','i','t','M','e','t','a','d','a','t','a','D','B','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','m','e','t','a','d','a','t','a','/','i','n','s','e','r','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','_','I','n','s','e','r','t','M','e','t','a','d','a','t','a','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','n','s','e','r','t','M','e','t','a','d','a','t','a','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','m','e','t','a','d','a','t','a','/','l','i','s','t','c','o','l','l','c','e','t','i','o','n','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','g','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','_','L','i','s','t','M','e','t','a','d','a','t','a','D','B','C','o','l','l','e','c','t','i','o','n','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','M','e','t','a','d','a','t','a','D','B','C','o','l','l','e','c','t','i','o','n','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','m','e','t','a','d','a','t','a','/','l','i','s','t','d','b','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','g','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','_','L','i','s','t','M','e','t','a','d','a','t','a','D','B','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','M','e','t','a','d','a','t','a','D','B','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','m','e','t','a','d','a','t','a','/','q','u','e','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','_','Q','u','e','r','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','F','i','e','l','d','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','Q','u','e','r','y','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','p','r','o','j','e','c','t','/','a','d','d','u','s','e','r','t','o','p','r','o','j','e','c','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','P','r','o','j','e','c','t','A','P','I','_','A','d','d','U','s','e','r','T','o','P','r','o','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','P','r','o','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','A','d','d','U','s','e','r','T','o','P','r','o','j','e','c','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','A','P','I','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','p','r','o','j','e','c','t','/','c','r','e','a','t','e','p','r','o','j','e','c','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','P','r','o','j','e','c','t','A','P','I','_','C','r','e','a','t','e','P','r','o','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','P','r','o','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','P','r','o','j','e','c','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','A','P','I','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','p','r','o','j','e','c','t','/','d','e','l','e','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','P','r','o','j','e','c','t','A','P','I','_','D','e','l','e','t','e','P','r','o','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','D','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','A','P','I','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','p','r','o','j','e','c','t','/','p','r','o','j','e','c','t','d','a','t','a','s','e','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','P','r','o','j','e','c','t','A','P','I','_','G','e','t','P','r','o','j','e','c','t','D','a','t','a','s','e','t','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','D','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','A','P','I','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','p','r','o','j','e','c','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','g','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','P','r','o','j','e','c','t','A','P','I','_','G','e','t','U','s','e','r','P','r','o','j','e','c','t','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','P','r','o','j','e','c','t','E','n','t','r','y','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','A','P','I','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}','\n',' ',' ','}',',','\n',' ',' ','"','d','e','f','i','n','i','t','i','o','n','s','"',':',' ','{','\n',' ',' ',' ',' ','"','A','d','d','M','e','t','a','d','a','t','a','I','n','d','e','x','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','D','B','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','o','l','l','e','c','t','i','o','n','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','n','d','i','c','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','n','d','e','x','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','R','e','q','u','e','s','t',' ','t','o',' ','a','d','d',' ','i','n','d','i','c','e','s',' ','o','n',' ','a',' ','l','i','s','t',' ','o','f',' ','f','i','e','l','d','s','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','A','d','d','M','e','t','a','d','a','t','a','I','n','d','e','x','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','A','d','d','U','s','e','r','T','o','P','r','o','j','e','c','t','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','s','e','r','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','c','o','p','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','i','g','h','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','d','d','s',' ','a',' ','n','e','w',' ','u','s','e','r',' ','t','o',' ','a',' ','p','r','o','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','A','d','d','U','s','e','r','T','o','P','r','o','j','e','c','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','o','m','p','l','e','t','e','d','U','p','l','o','a','d','P','a','r','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','E','t','a','g','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','a','r','t','n','u','m','b','e','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','A','n','c','h','o','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','V','e','r','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','V','e','r','s','i','o','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','D','a','t','a','s','e','t','O','b','j','e','c','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','D','a','t','a','s','e','t','O','b','j','e','c','t','R','e','p','o','n','s','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','D','a','t','a','s','e','t','O','b','j','e','c','t','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','F','i','l','e','n','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','F','i','l','e','t','y','p','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','r','i','g','i','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','O','r','i','g','i','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','r','e','a','t','e','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','M','e','t','a','d','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','o','n','t','e','n','t','L','e','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','p','l','o','a','d','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','D','a','t','a','s','e','t','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','x','a','m','p','l','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','N','a','m','e','"',':',' ','"','t','e','s','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','t','y','p','e','"',':',' ','"','t','e','s','t','2','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','I','D','"',':',' ','"','t','e','s','t','P','r','o','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','t','y','p','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','D','a','t','a',' ','r','e','q','u','i','r','e','d',' ','t','o',' ','s','t','a','r','t',' ','l','o','a','d','i','n','g',' ','a',' ','d','a','t','a','s','e','t',' ','i','n','t','o',' ','t','h','e',' ','B','i','o','D','a','t','a','D','B','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','I','n','i','t','L','o','a','d','D','a','t','a','s','e','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','P','r','o','j','e','c','t','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','e','s','c','r','i','p','t','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','R','e','q','u','e','s','t',' ','t','o',' ','c','r','e','a','t','e',' ','a',' ','n','e','w',' ','p','r','o','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','C','r','e','a','t','e','P','r','o','j','e','c','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','T','o','k','e','n','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','i','g','h','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','i','g','h','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','e','s','o','u','r','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','E','x','p','i','r','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','R','e','q','u','e','s','t',' ','d','a','t','a',' ','t','o',' ','c','r','e','a','t','e',' ','a',' ','n','e','w',' ','t','o','k','e','n',' ','f','o','r',' ','a',' ','g','i','v','e','n',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','C','r','e','a','t','e','T','o','k','e','n','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','U','p','l','o','a','d','L','i','n','k','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','s','e','t','O','b','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','U','p','l','o','a','d','L','i','n','k','R','e','s','p','o','n','s','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','L','i','n','k','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','p','r','e','s','i','g','n','e','d',' ','U','R','L',' ','l','i','n','k',' ','a','n','d',' ','i','t','s',' ','u','p','l','o','a','d',' ','r','e','q','u','e','s','t',' ','U','R','L','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','U','p','l','o','a','d','L','i','n','k','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','E','n','t','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','n','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','t','y','p','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','s','P','u','b','l','i','c','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','b','o','o','l','e','a','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','b','o','o','l','e','a','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','r','e','a','t','e','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','u','r','r','e','n','t','V','e','r','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','a','t','u','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','S','t','a','t','u','s','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','w','n','e','r','P','r','o','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','B','u','r','r','o','w','e','d','P','r','o','j','e','c','t','I','D','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','D','a','t','a','b','a','s','e',' ','e','n','t','r','y',' ','f','o','r',' ','a',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','D','a','t','a','s','e','t','E','n','t','r','y','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','L','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','l','i','s','t',' ','o','f',' ','d','a','t','a','s','e','t','s','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','D','a','t','a','s','e','t','L','i','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','E','n','t','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','F','i','l','e','n','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','F','i','l','e','t','y','p','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','r','i','g','i','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','O','r','i','g','i','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','o','n','t','e','n','t','L','e','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','L','o','c','a','t','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','L','o','c','a','t','i','o','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','r','e','a','t','e','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','M','e','t','a','d','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','p','l','o','a','d','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','a','t','u','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','S','t','a','t','u','s','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','R','e','p','r','e','s','e','n','t','a','t','i','o','n',' ','o','f',' ','a',' ','d','a','t','a','s','e','t',' ','e','n','t','i','t','y','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','A','n','c','h','o','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','V','e','r','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','V','e','r','s','i','o','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','e','t',' ','o','f',' ','d','a','t','a','s','e','t',' ','o','b','j','e','c','t','s',' ','t','h','a','t',' ','a','r','e',' ','b','u','n','d','l','e','d',' ','t','o','g','e','t','h','e','r',' ','f','o','r',' ','e','a','s','i','e','r',' ','m','a','n','a','g','e','m','e','n','t','.',' ','A','n',' ','e','x','a','m','p','l','e',' ','u','s','e',' ','c','a','s','e',' ','w','o','u','l','d',' ','b','e',' ','a',' ','s','e','t',' ','o','f',' ','b','i','n','a','r','y',' ','d','a','t','a',' ','o','b','j','e','c','t','s',' ','a','l','o','n','g',' ','w','i','t','h',' ','a','n',' ','i','n','d','e','x',' ','f','i','l','e','.','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','L','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','O','b','j','e','c','t','C','o','n','t','a','i','n','e','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','l','i','s','t',' ','o','f',' ','d','a','t','a','s','e','t','s','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','D','a','t','a','s','e','t','L','i','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','O','b','j','e','c','t','C','o','n','t','a','i','n','e','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','E','n','t','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','n','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','V','e','r','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','V','e','r','s','i','o','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','r','e','a','t','e','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','M','e','t','a','d','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','M','e','t','a','d','a','t','a','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','O','b','j','e','c','t','M','e','t','a','d','a','t','a','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','C','o','u','n','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','L','i','n','k','C','o','u','n','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','E','x','p','e','c','t','e','d','O','b','j','e','c','t','C','o','u','n','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','a','t','u','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','S','t','a','t','u','s','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','D','a','t','a','s','e','t',' ','v','e','r','s','i','o','n',' ','r','e','p','r','e','s','e','n','t','a','t','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','E','n','t','r','y','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','L','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','V','e','r','s','i','o','n','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','l','i','s','t',' ','o','f',' ','d','a','t','a','s','e','t','v','e','r','s','i','o','n','s','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','D','a','t','a','s','e','t','L','i','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','E','m','p','t','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','e','m','p','t','y',' ','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','E','m','p','t','y','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','F','i','e','l','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','T','O','D','O',' ','-',' ','W','I','P','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','F','i','e','l','d','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','F','i','n','i','s','h','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','o','m','p','l','e','t','e','d','U','p','l','o','a','d','P','a','r','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','o','m','p','l','e','t','e','d','U','p','l','o','a','d','P','a','r','t','s','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','G','e','t','D','o','w','n','l','o','a','d','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','e','s','o','u','r','c','e','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','G','e','t','D','o','w','n','l','o','a','d','R','e','s','p','o','n','s','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','L','i','n','k','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','O','b','j','e','c','t','D','o','w','n','l','o','a','d','L','i','n','k','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','G','e','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','L','i','n','k','P','a','r','t','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','p','l','o','a','d','P','a','r','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','o','n','t','e','n','t','L','e','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','G','e','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','L','i','n','k','P','a','r','t','R','e','s','p','o','n','s','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','p','l','o','a','d','L','i','n','k','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','E','t','a','g','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','a','r','b','i','t','r','a','r','y',' ','I','D','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','I','D','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','I','n','d','e','x','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','F','i','e','l','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','T','O','D','O',' ','-',' ','W','I','P','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','I','n','d','e','x','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','I','n','i','t','M','e','t','a','d','a','t','a','C','o','l','l','e','c','t','i','o','n','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','D','B','E','n','t','r','y','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','R','e','q','u','e','s','t',' ','a',' ','n','e','w',' ','M','e','t','a','d','a','t','a','D','B',' ','C','o','l','l','e','c','t','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','I','n','i','t','M','e','t','a','d','a','t','a','C','o','l','l','e','c','t','i','o','n','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','I','n','i','t','M','e','t','a','d','a','t','a','D','B','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','R','e','q','u','e','s','t',' ','a',' ','n','e','w',' ','M','e','t','a','d','a','t','a','D','B','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','I','n','i','t','M','e','t','a','d','a','t','a','D','B','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','I','n','i','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','s','e','t','O','b','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','I','n','s','e','r','t','M','e','t','a','d','a','t','a','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','D','B','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','o','l','l','e','c','t','i','o','n','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','r','u','c','t','M','e','t','a','d','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','S','t','r','u','c','t','M','e','t','a','d','a','t','a','M','e','s','s','a','g','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','r','e','q','u','e','s','t',' ','t','o',' ','i','n','s','e','r','t',' ','a',' ','s','e','t',' ','o','f',' ','m','e','t','a','d','a','t','a','.',' ','M','e','t','a','d','a','t','a',' ','c','a','n',' ','b','e',' ','p','r','o','v','i','d','e','d',' ','e','i','t','h','e','r',' ','a','s',' ','A','n','y',' ','m','e','s','s','a','g','e',' ','t','y','p','e',' ','o','r',' ','S','t','r','u','c','t',' ','m','e','s','s','a','g','e',' ','t','y','p','e','.',' ','I','f',' ','A','n','y',' ','t','y','p','e',' ','i','s',' ','u','s','e','d',',',' ','t','h','e',' ','m','e','s','s','a','g','e',' ','m','u','s','t',' ','b','e',' ','w','e','l','l',' ','k','n','o','w','n','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','I','n','s','e','r','t','M','e','t','a','d','a','t','a','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','L','o','c','a','t','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','B','u','c','k','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','K','e','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','R','L','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','l','o','c','a','t','i','o','n',' ','i','n',' ','a','n',' ','o','b','j','e','c','t',' ','s','t','o','r','a','g','e','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','L','o','c','a','t','i','o','n','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','l','l','e','c','t','i','o','n','E','n','t','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','r','u','c','t','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','r','e','a','t','e','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','D','B','E','n','t','r','y','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','M','e','t','a','d','a','t','a','D','B',' ','C','o','l','l','e','c','t','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','l','l','e','c','t','i','o','n','E','n','t','r','y','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','D','B','C','o','l','l','e','c','t','i','o','n','L','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','e','n','t','r','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','M','e','t','a','d','a','t','a','C','o','l','l','e','c','t','i','o','n','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','D','B','E','n','t','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','r','u','c','t','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','r','e','a','t','e','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','M','e','t','a','d','a','t','a','D','B','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','M','e','t','a','d','a','t','a','D','B','E','n','t','r','y','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','D','B','L','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','e','n','t','r','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','M','e','t','a','d','a','t','a','D','B','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','N','e','w','D','a','t','a','s','e','t','V','e','r','s','i','o','n','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','V','e','r','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','V','e','r','s','i','o','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','M','e','t','a','d','a','t','a','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','O','b','j','e','c','t','M','e','t','a','d','a','t','a','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','M','e','t','a','d','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','E','x','p','e','c','t','e','d','O','b','j','e','c','t','C','o','u','n','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','C','r','e','a','t','e','s',' ','a',' ','n','e','w',' ','d','a','t','a','s','e','t',' ','v','e','r','s','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','N','e','w','D','a','t','a','s','e','t','V','e','r','s','i','o','n','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','O','b','j','e','c','t','D','o','w','n','l','o','a','d','L','i','n','k','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','L','i','n','k','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','O','r','i','g','i','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','x','a','m','p','l','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','L','i','n','k','"',':',' ','"','e','x','a','m','p','l','e','.','c','o','m','/','m','y','a','w','s','o','m','e','d','a','t','a','.','t','e','s','t','.','g','b','f','f','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','r','i','g','i','n','T','y','p','e','E','n','u','m','"',':',' ','"','O','r','i','g','i','n','L','i','n','k','"','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','L','i','n','k','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','S','t','o','r','a','g','e','L','o','c','a','t','i','o','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','L','o','c','a','t','i','o','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','r','i','g','i','n','T','y','p','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','O','r','i','g','i','n','O','r','i','g','i','n','T','y','p','e','E','n','u','m','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','T','h','e',' ','s','o','u','r','c','e',' ','o','f',' ','a',' ','d','a','t','a','s','e','t','.',' ','E','n','t','r','i','e','s',' ','a','r','e',' ','s','e','t',' ','d','e','p','e','n','d','i','n','g',' ','o','f',' ','t','h','e',' ','o','r','i','g','i','n',' ','t','y','p','e','.',' ',' ','O','r','i','g','i','n','L','i','n','k',' ','m','e','a','n','s',' ','t','h','a','t',' ','a',' ','l','i','n','k',' ','i','s',' ','g','i','v','e','n',',',' ','o','b','j','e','c','t','s','t','o','r','a','g','e',' ','t','h','a','t',' ','b','u','c','k','e','t',',',' ','k','e','y',' ','a','n','d',' ','l','i','n','k',' ','a','r','e',' ','p','r','e','s','e','n','t','.',' ','L','i','n','k',' ','i','s',' ','t','h','e',' ','s','3',' ','e','n','d','p','o','i','n','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','O','r','i','g','i','n','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','O','r','i','g','i','n','O','r','i','g','i','n','T','y','p','e','E','n','u','m','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','n','u','m','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','S','t','o','r','a','g','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','r','i','g','i','n','L','i','n','k','"','\n',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','"','O','b','j','e','c','t','S','t','o','r','a','g','e','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','P','r','o','j','e','c','t','E','n','t','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','e','s','c','r','i','p','t','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','s','e','r','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','U','s','e','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','P','r','o','j','e','c','t','E','n','t','r','y','L','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','P','r','o','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','L','i','s','t','s',' ','a','l','l',' ','p','r','o','j','e','c','t','s',' ','o','f',' ','a',' ','u','s','e','r','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','P','r','o','j','e','c','t','E','n','t','r','y','L','i','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','Q','u','e','r','y','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','D','B','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','o','l','l','e','c','t','i','o','n','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','Q','u','e','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','T','O','D','O',' ','-',' ','W','I','P','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','Q','u','e','r','y','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','n','u','m','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','R','e','s','o','u','r','c','e','"','\n',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','"','P','r','o','j','e','c','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','e','s','o','u','r','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','R','i','g','h','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','n','u','m','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','a','d','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','W','r','i','t','e','"','\n',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','"','R','e','a','d','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','S','t','a','t','u','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','n','u','m','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','n','i','t','i','a','t','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','v','a','i','l','a','b','l','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','p','d','a','t','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','r','c','h','i','v','e','d','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','e','l','e','t','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','"','I','n','i','t','i','a','t','i','n','g','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','S','t','r','u','c','t','M','e','t','a','d','a','t','a','M','e','s','s','a','g','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','n','t','6','4','I','n','d','i','c','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','a','d','d','i','t','i','o','n','a','l','P','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','I','n','t','6','4','I','n','d','i','c','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','a','d','d','i','t','i','o','n','a','l','P','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','u','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','M','e','t','a','d','a','t','a',' ','m','e','s','s','a','g','e',' ','o','f',' ','s','t','r','u','c','t',' ','t','y','p','e','.',' ','T','h','e',' ','s','t','r','u','c','t',' ','t','y','p','e',' ','u','s','e','s',' ','J','S','O','N',' ','a','n','d',' ','c','a','n','n','o','t',' ','s','t','o','r','e',' ','i','n','t','6','4','/','u','i','n','t','6','4',' ','p','r','o','p','e','r','l','y','.',' ','T','o',' ','c','r','e','a','t','e',' ','i','n','d','i','c','e','s',' ','o','n',' ','i','n','t','6','4','/','u','i','n','t','6','4',' ','v','a','l','u','e','s',' ','p','l','e','a','s','e',' ','u','s','e',' ','t','h','e',' ','p','r','o','v','i','d','e','d',' ','m','a','p','s','.','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','A','n','y','M','e','t','a','d','a','t','a','M','e','s','s','a','g','e','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','T','o','k','e','n','E','n','t','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','s','e','r','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','U','s','e','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','T','o','k','e','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','e','s','o','u','r','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','r','e','a','t','e','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','E','x','p','i','r','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','d','e','s','c','r','i','p','t','i','o','n',' ','o','f',' ','a','n',' ','a','p','i',' ','t','o','k','e','n','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','T','o','k','e','n','E','n','t','r','y','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','T','o','k','e','n','L','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','o','k','e','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','T','o','k','e','n','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','L','i','s','t','s',' ','a','l','l',' ','a','v','a','i','l','a','b','l','e',' ','a','p','i',' ','t','o','k','e','n','s',' ','f','o','r',' ','a',' ','u','s','e','r','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','T','o','k','e','n','L','i','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','U','p','d','a','t','e','D','a','t','a','s','e','t','V','e','r','s','i','o','n','O','b','j','e','c','t','C','o','u','n','t','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','V','a','l','u','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','U','s','e','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','s','e','r','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','i','g','h','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','i','g','h','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','e','s','o','u','r','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','V','e','r','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','x','a','m','p','l','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','a','j','o','r','"',':',' ','0',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','i','n','o','r','"',':',' ','1',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','a','t','c','h','"',':',' ','0',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','v','i','s','i','o','n','"',':',' ','1',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','a','g','e','"',':',' ','"','A','l','p','h','a','"','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','a','j','o','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','i','n','t','e','g','e','r','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','3','2','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','i','n','o','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','i','n','t','e','g','e','r','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','3','2','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','a','t','c','h','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','i','n','t','e','g','e','r','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','3','2','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','v','i','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','i','n','t','e','g','e','r','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','3','2','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','a','g','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','V','e','r','s','i','o','n','V','e','r','s','i','o','n','S','t','a','g','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','v','e','r','s','i','o','n',' ','r','e','p','r','e','s','e','n','t','a','t','i','o','n',' ','b','a','s','e','d',' ','o','n',' ','s','e','m','a','n','t','i','c',' ','v','e','r','s','i','o','n','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','V','e','r','s','i','o','n','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','V','e','r','s','i','o','n','V','e','r','s','i','o','n','S','t','a','g','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','n','u','m','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','a','b','l','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','l','e','a','s','e','C','a','n','d','i','d','a','t','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','B','e','t','a','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','l','p','h','a','"','\n',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','"','S','t','a','b','l','e','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','p','r','o','t','o','b','u','f','A','n','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','_','u','r','l','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','U','R','L','/','r','e','s','o','u','r','c','e',' ','n','a','m','e',' ','t','h','a','t',' ','u','n','i','q','u','e','l','y',' ','i','d','e','n','t','i','f','i','e','s',' ','t','h','e',' ','t','y','p','e',' ','o','f',' ','t','h','e',' ','s','e','r','i','a','l','i','z','e','d','\\','n','p','r','o','t','o','c','o','l',' ','b','u','f','f','e','r',' ','m','e','s','s','a','g','e','.',' ','T','h','i','s',' ','s','t','r','i','n','g',' ','m','u','s','t',' ','c','o','n','t','a','i','n',' ','a','t',' ','l','e','a','s','t','\\','n','o','n','e',' ','\\','"','/','\\','"',' ','c','h','a','r','a','c','t','e','r','.',' ','T','h','e',' ','l','a','s','t',' ','s','e','g','m','e','n','t',' ','o','f',' ','t','h','e',' ','U','R','L','\'','s',' ','p','a','t','h',' ','m','u','s','t',' ','r','e','p','r','e','s','e','n','t','\\','n','t','h','e',' ','f','u','l','l','y',' ','q','u','a','l','i','f','i','e','d',' ','n','a','m','e',' ','o','f',' ','t','h','e',' ','t','y','p','e',' ','(','a','s',' ','i','n','\\','n','`','p','a','t','h','/','g','o','o','g','l','e','.','p','r','o','t','o','b','u','f','.','D','u','r','a','t','i','o','n','`',')','.',' ','T','h','e',' ','n','a','m','e',' ','s','h','o','u','l','d',' ','b','e',' ','i','n',' ','a',' ','c','a','n','o','n','i','c','a','l',' ','f','o','r','m','\\','n','(','e','.','g','.',',',' ','l','e','a','d','i','n','g',' ','\\','"','.','\\','"',' ','i','s',' ','n','o','t',' ','a','c','c','e','p','t','e','d',')','.','\\','n','\\','n','I','n',' ','p','r','a','c','t','i','c','e',',',' ','t','e','a','m','s',' ','u','s','u','a','l','l','y',' ','p','r','e','c','o','m','p','i','l','e',' ','i','n','t','o',' ','t','h','e',' ','b','i','n','a','r','y',' ','a','l','l',' ','t','y','p','e','s',' ','t','h','a','t',' ','t','h','e','y','\\','n','e','x','p','e','c','t',' ','i','t',' ','t','o',' ','u','s','e',' ','i','n',' ','t','h','e',' ','c','o','n','t','e','x','t',' ','o','f',' ','A','n','y','.',' ','H','o','w','e','v','e','r',',',' ','f','o','r',' ','U','R','L','s',' ','w','h','i','c','h',' ','u','s','e',' ','t','h','e','\\','n','s','c','h','e','m','e',' ','`','h','t','t','p','`',',',' ','`','h','t','t','p','s','`',',',' ','o','r',' ','n','o',' ','s','c','h','e','m','e',',',' ','o','n','e',' ','c','a','n',' ','o','p','t','i','o','n','a','l','l','y',' ','s','e','t',' ','u','p',' ','a',' ','t','y','p','e','\\','n','s','e','r','v','e','r',' ','t','h','a','t',' ','m','a','p','s',' ','t','y','p','e',' ','U','R','L','s',' ','t','o',' ','m','e','s','s','a','g','e',' ','d','e','f','i','n','i','t','i','o','n','s',' ','a','s',' ','f','o','l','l','o','w','s',':','\\','n','\\','n','*',' ','I','f',' ','n','o',' ','s','c','h','e','m','e',' ','i','s',' ','p','r','o','v','i','d','e','d',',',' ','`','h','t','t','p','s','`',' ','i','s',' ','a','s','s','u','m','e','d','.','\\','n','*',' ','A','n',' ','H','T','T','P',' ','G','E','T',' ','o','n',' ','t','h','e',' ','U','R','L',' ','m','u','s','t',' ','y','i','e','l','d',' ','a',' ','[','g','o','o','g','l','e','.','p','r','o','t','o','b','u','f','.','T','y','p','e',']','[',']','\\','n',' ',' ','v','a','l','u','e',' ','i','n',' ','b','i','n','a','r','y',' ','f','o','r','m','a','t',',',' ','o','r',' ','p','r','o','d','u','c','e',' ','a','n',' ','e','r','r','o','r','.','\\','n','*',' ','A','p','p','l','i','c','a','t','i','o','n','s',' ','a','r','e',' ','a','l','l','o','w','e','d',' ','t','o',' ','c','a','c','h','e',' ','l','o','o','k','u','p',' ','r','e','s','u','l','t','s',' ','b','a','s','e','d',' ','o','n',' ','t','h','e','\\','n',' ',' ','U','R','L',',',' ','o','r',' ','h','a','v','e',' ','t','h','e','m',' ','p','r','e','c','o','m','p','i','l','e','d',' ','i','n','t','o',' ','a',' ','b','i','n','a','r','y',' ','t','o',' ','a','v','o','i','d',' ','a','n','y','\\','n',' ',' ','l','o','o','k','u','p','.',' ','T','h','e','r','e','f','o','r','e',',',' ','b','i','n','a','r','y',' ','c','o','m','p','a','t','i','b','i','l','i','t','y',' ','n','e','e','d','s',' ','t','o',' ','b','e',' ','p','r','e','s','e','r','v','e','d','\\','n',' ',' ','o','n',' ','c','h','a','n','g','e','s',' ','t','o',' ','t','y','p','e','s','.',' ','(','U','s','e',' ','v','e','r','s','i','o','n','e','d',' ','t','y','p','e',' ','n','a','m','e','s',' ','t','o',' ','m','a','n','a','g','e','\\','n',' ',' ','b','r','e','a','k','i','n','g',' ','c','h','a','n','g','e','s','.',')','\\','n','\\','n','N','o','t','e',':',' ','t','h','i','s',' ','f','u','n','c','t','i','o','n','a','l','i','t','y',' ','i','s',' ','n','o','t',' ','c','u','r','r','e','n','t','l','y',' ','a','v','a','i','l','a','b','l','e',' ','i','n',' ','t','h','e',' ','o','f','f','i','c','i','a','l','\\','n','p','r','o','t','o','b','u','f',' ','r','e','l','e','a','s','e',',',' ','a','n','d',' ','i','t',' ','i','s',' ','n','o','t',' ','u','s','e','d',' ','f','o','r',' ','t','y','p','e',' ','U','R','L','s',' ','b','e','g','i','n','n','i','n','g',' ','w','i','t','h','\\','n','t','y','p','e','.','g','o','o','g','l','e','a','p','i','s','.','c','o','m','.','\\','n','\\','n','S','c','h','e','m','e','s',' ','o','t','h','e','r',' ','t','h','a','n',' ','`','h','t','t','p','`',',',' ','`','h','t','t','p','s','`',' ','(','o','r',' ','t','h','e',' ','e','m','p','t','y',' ','s','c','h','e','m','e',')',' ','m','i','g','h','t',' ','b','e','\\','n','u','s','e','d',' ','w','i','t','h',' ','i','m','p','l','e','m','e','n','t','a','t','i','o','n',' ','s','p','e','c','i','f','i','c',' ','s','e','m','a','n','t','i','c','s','.','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','v','a','l','u','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','b','y','t','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','M','u','s','t',' ','b','e',' ','a',' ','v','a','l','i','d',' ','s','e','r','i','a','l','i','z','e','d',' ','p','r','o','t','o','c','o','l',' ','b','u','f','f','e','r',' ','o','f',' ','t','h','e',' ','a','b','o','v','e',' ','s','p','e','c','i','f','i','e','d',' ','t','y','p','e','.','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','`','A','n','y','`',' ','c','o','n','t','a','i','n','s',' ','a','n',' ','a','r','b','i','t','r','a','r','y',' ','s','e','r','i','a','l','i','z','e','d',' ','p','r','o','t','o','c','o','l',' ','b','u','f','f','e','r',' ','m','e','s','s','a','g','e',' ','a','l','o','n','g',' ','w','i','t','h',' ','a','\\','n','U','R','L',' ','t','h','a','t',' ','d','e','s','c','r','i','b','e','s',' ','t','h','e',' ','t','y','p','e',' ','o','f',' ','t','h','e',' ','s','e','r','i','a','l','i','z','e','d',' ','m','e','s','s','a','g','e','.','\\','n','\\','n','P','r','o','t','o','b','u','f',' ','l','i','b','r','a','r','y',' ','p','r','o','v','i','d','e','s',' ','s','u','p','p','o','r','t',' ','t','o',' ','p','a','c','k','/','u','n','p','a','c','k',' ','A','n','y',' ','v','a','l','u','e','s',' ','i','n',' ','t','h','e',' ','f','o','r','m','\\','n','o','f',' ','u','t','i','l','i','t','y',' ','f','u','n','c','t','i','o','n','s',' ','o','r',' ','a','d','d','i','t','i','o','n','a','l',' ','g','e','n','e','r','a','t','e','d',' ','m','e','t','h','o','d','s',' ','o','f',' ','t','h','e',' ','A','n','y',' ','t','y','p','e','.','\\','n','\\','n','E','x','a','m','p','l','e',' ','1',':',' ','P','a','c','k',' ','a','n','d',' ','u','n','p','a','c','k',' ','a',' ','m','e','s','s','a','g','e',' ','i','n',' ','C','+','+','.','\\','n','\\','n',' ',' ',' ',' ','F','o','o',' ','f','o','o',' ','=',' ','.','.','.',';','\\','n',' ',' ',' ',' ','A','n','y',' ','a','n','y',';','\\','n',' ',' ',' ',' ','a','n','y','.','P','a','c','k','F','r','o','m','(','f','o','o',')',';','\\','n',' ',' ',' ',' ','.','.','.','\\','n',' ',' ',' ',' ','i','f',' ','(','a','n','y','.','U','n','p','a','c','k','T','o','(','\\','u','0','0','2','6','f','o','o',')',')',' ','{','\\','n',' ',' ',' ',' ',' ',' ','.','.','.','\\','n',' ',' ',' ',' ','}','\\','n','\\','n','E','x','a','m','p','l','e',' ','2',':',' ','P','a','c','k',' ','a','n','d',' ','u','n','p','a','c','k',' ','a',' ','m','e','s','s','a','g','e',' ','i','n',' ','J','a','v','a','.','\\','n','\\','n',' ',' ',' ',' ','F','o','o',' ','f','o','o',' ','=',' ','.','.','.',';','\\','n',' ',' ',' ',' ','A','n','y',' ','a','n','y',' ','=',' ','A','n','y','.','p','a','c','k','(','f','o','o',')',';','\\','n',' ',' ',' ',' ','.','.','.','\\','n',' ',' ',' ',' ','i','f',' ','(','a','n','y','.','i','s','(','F','o','o','.','c','l','a','s','s',')',')',' ','{','\\','n',' ',' ',' ',' ',' ',' ','f','o','o',' ','=',' ','a','n','y','.','u','n','p','a','c','k','(','F','o','o','.','c','l','a','s','s',')',';','\\','n',' ',' ',' ',' ','}','\\','n','\\','n',' ','E','x','a','m','p','l','e',' ','3',':',' ','P','a','c','k',' ','a','n','d',' ','u','n','p','a','c','k',' ','a',' ','m','e','s','s','a','g','e',' ','i','n',' ','P','y','t','h','o','n','.','\\','n','\\','n',' ',' ',' ',' ','f','o','o',' ','=',' ','F','o','o','(','.','.','.',')','\\','n',' ',' ',' ',' ','a','n','y',' ','=',' ','A','n','y','(',')','\\','n',' ',' ',' ',' ','a','n','y','.','P','a','c','k','(','f','o','o',')','\\','n',' ',' ',' ',' ','.','.','.','\\','n',' ',' ',' ',' ','i','f',' ','a','n','y','.','I','s','(','F','o','o','.','D','E','S','C','R','I','P','T','O','R',')',':','\\','n',' ',' ',' ',' ',' ',' ','a','n','y','.','U','n','p','a','c','k','(','f','o','o',')','\\','n',' ',' ',' ',' ',' ',' ','.','.','.','\\','n','\\','n',' ','E','x','a','m','p','l','e',' ','4',':',' ','P','a','c','k',' ','a','n','d',' ','u','n','p','a','c','k',' ','a',' ','m','e','s','s','a','g','e',' ','i','n',' ','G','o','\\','n','\\','n',' ',' ',' ',' ',' ','f','o','o',' ',':','=',' ','\\','u','0','0','2','6','p','b','.','F','o','o','{','.','.','.','}','\\','n',' ',' ',' ',' ',' ','a','n','y',',',' ','e','r','r',' ',':','=',' ','p','t','y','p','e','s','.','M','a','r','s','h','a','l','A','n','y','(','f','o','o',')','\\','n',' ',' ',' ',' ',' ','.','.','.','\\','n',' ',' ',' ',' ',' ','f','o','o',' ',':','=',' ','\\','u','0','0','2','6','p','b','.','F','o','o','{','}','\\','n',' ',' ',' ',' ',' ','i','f',' ','e','r','r',' ',':','=',' ','p','t','y','p','e','s','.','U','n','m','a','r','s','h','a','l','A','n','y','(','a','n','y',',',' ','f','o','o',')',';',' ','e','r','r',' ','!','=',' ','n','i','l',' ','{','\\','n',' ',' ',' ',' ',' ',' ',' ','.','.','.','\\','n',' ',' ',' ',' ',' ','}','\\','n','\\','n','T','h','e',' ','p','a','c','k',' ','m','e','t','h','o','d','s',' ','p','r','o','v','i','d','e','d',' ','b','y',' ','p','r','o','t','o','b','u','f',' ','l','i','b','r','a','r','y',' ','w','i','l','l',' ','b','y',' ','d','e','f','a','u','l','t',' ','u','s','e','\\','n','\'','t','y','p','e','.','g','o','o','g','l','e','a','p','i','s','.','c','o','m','/','f','u','l','l','.','t','y','p','e','.','n','a','m','e','\'',' ','a','s',' ','t','h','e',' ','t','y','p','e',' ','U','R','L',' ','a','n','d',' ','t','h','e',' ','u','n','p','a','c','k','\\','n','m','e','t','h','o','d','s',' ','o','n','l','y',' ','u','s','e',' ','t','h','e',' ','f','u','l','l','y',' ','q','u','a','l','i','f','i','e','d',' ','t','y','p','e',' ','n','a','m','e',' ','a','f','t','e','r',' ','t','h','e',' ','l','a','s','t',' ','\'','/','\'','\\','n','i','n',' ','t','h','e',' ','t','y','p','e',' ','U','R','L',',',' ','f','o','r',' ','e','x','a','m','p','l','e',' ','\\','"','f','o','o','.','b','a','r','.','c','o','m','/','x','/','y','.','z','\\','"',' ','w','i','l','l',' ','y','i','e','l','d',' ','t','y','p','e','\\','n','n','a','m','e',' ','\\','"','y','.','z','\\','"','.','\\','n','\\','n','\\','n','J','S','O','N','\\','n','=','=','=','=','\\','n','T','h','e',' ','J','S','O','N',' ','r','e','p','r','e','s','e','n','t','a','t','i','o','n',' ','o','f',' ','a','n',' ','`','A','n','y','`',' ','v','a','l','u','e',' ','u','s','e','s',' ','t','h','e',' ','r','e','g','u','l','a','r','\\','n','r','e','p','r','e','s','e','n','t','a','t','i','o','n',' ','o','f',' ','t','h','e',' ','d','e','s','e','r','i','a','l','i','z','e','d',',',' ','e','m','b','e','d','d','e','d',' ','m','e','s','s','a','g','e',',',' ','w','i','t','h',' ','a','n','\\','n','a','d','d','i','t','i','o','n','a','l',' ','f','i','e','l','d',' ','`','@','t','y','p','e','`',' ','w','h','i','c','h',' ','c','o','n','t','a','i','n','s',' ','t','h','e',' ','t','y','p','e',' ','U','R','L','.',' ','E','x','a','m','p','l','e',':','\\','n','\\','n',' ',' ',' ',' ','p','a','c','k','a','g','e',' ','g','o','o','g','l','e','.','p','r','o','f','i','l','e',';','\\','n',' ',' ',' ',' ','m','e','s','s','a','g','e',' ','P','e','r','s','o','n',' ','{','\\','n',' ',' ',' ',' ',' ',' ','s','t','r','i','n','g',' ','f','i','r','s','t','_','n','a','m','e',' ','=',' ','1',';','\\','n',' ',' ',' ',' ',' ',' ','s','t','r','i','n','g',' ','l','a','s','t','_','n','a','m','e',' ','=',' ','2',';','\\','n',' ',' ',' ',' ','}','\\','n','\\','n',' ',' ',' ',' ','{','\\','n',' ',' ',' ',' ',' ',' ','\\','"','@','t','y','p','e','\\','"',':',' ','\\','"','t','y','p','e','.','g','o','o','g','l','e','a','p','i','s','.','c','o','m','/','g','o','o','g','l','e','.','p','r','o','f','i','l','e','.','P','e','r','s','o','n','\\','"',',','\\','n',' ',' ',' ',' ',' ',' ','\\','"','f','i','r','s','t','N','a','m','e','\\','"',':',' ','\\','u','0','0','3','c','s','t','r','i','n','g','\\','u','0','0','3','e',',','\\','n',' ',' ',' ',' ',' ',' ','\\','"','l','a','s','t','N','a','m','e','\\','"',':',' ','\\','u','0','0','3','c','s','t','r','i','n','g','\\','u','0','0','3','e','\\','n',' ',' ',' ',' ','}','\\','n','\\','n','I','f',' ','t','h','e',' ','e','m','b','e','d','d','e','d',' ','m','e','s','s','a','g','e',' ','t','y','p','e',' ','i','s',' ','w','e','l','l','-','k','n','o','w','n',' ','a','n','d',' ','h','a','s',' ','a',' ','c','u','s','t','o','m',' ','J','S','O','N','\\','n','r','e','p','r','e','s','e','n','t','a','t','i','o','n',',',' ','t','h','a','t',' ','r','e','p','r','e','s','e','n','t','a','t','i','o','n',' ','w','i','l','l',' ','b','e',' ','e','m','b','e','d','d','e','d',' ','a','d','d','i','n','g',' ','a',' ','f','i','e','l','d','\\','n','`','v','a','l','u','e','`',' ','w','h','i','c','h',' ','h','o','l','d','s',' ','t','h','e',' ','c','u','s','t','o','m',' ','J','S','O','N',' ','i','n',' ','a','d','d','i','t','i','o','n',' ','t','o',' ','t','h','e',' ','`','@','t','y','p','e','`','\\','n','f','i','e','l','d','.',' ','E','x','a','m','p','l','e',' ','(','f','o','r',' ','m','e','s','s','a','g','e',' ','[','g','o','o','g','l','e','.','p','r','o','t','o','b','u','f','.','D','u','r','a','t','i','o','n',']','[',']',')',':','\\','n','\\','n',' ',' ',' ',' ','{','\\','n',' ',' ',' ',' ',' ',' ','\\','"','@','t','y','p','e','\\','"',':',' ','\\','"','t','y','p','e','.','g','o','o','g','l','e','a','p','i','s','.','c','o','m','/','g','o','o','g','l','e','.','p','r','o','t','o','b','u','f','.','D','u','r','a','t','i','o','n','\\','"',',','\\','n',' ',' ',' ',' ',' ',' ','\\','"','v','a','l','u','e','\\','"',':',' ','\\','"','1','.','2','1','2','s','\\','"','\\','n',' ',' ',' ',' ','}','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','p','r','o','t','o','b','u','f','N','u','l','l','V','a','l','u','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','n','u','m','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','U','L','L','_','V','A','L','U','E','"','\n',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','"','N','U','L','L','_','V','A','L','U','E','"',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','`','N','u','l','l','V','a','l','u','e','`',' ','i','s',' ','a',' ','s','i','n','g','l','e','t','o','n',' ','e','n','u','m','e','r','a','t','i','o','n',' ','t','o',' ','r','e','p','r','e','s','e','n','t',' ','t','h','e',' ','n','u','l','l',' ','v','a','l','u','e',' ','f','o','r',' ','t','h','e','\\','n','`','V','a','l','u','e','`',' ','t','y','p','e',' ','u','n','i','o','n','.','\\','n','\\','n',' ','T','h','e',' ','J','S','O','N',' ','r','e','p','r','e','s','e','n','t','a','t','i','o','n',' ','f','o','r',' ','`','N','u','l','l','V','a','l','u','e','`',' ','i','s',' ','J','S','O','N',' ','`','n','u','l','l','`','.','\\','n','\\','n',' ','-',' ','N','U','L','L','_','V','A','L','U','E',':',' ','N','u','l','l',' ','v','a','l','u','e','.','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','r','u','n','t','i','m','e','E','r','r','o','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','e','r','r','o','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','c','o','d','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','i','n','t','e','g','e','r','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','3','2','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','m','e','s','s','a','g','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','t','a','i','l','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','p','r','o','t','o','b','u','f','A','n','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}','\n',' ',' ','}','\n','}','\n', +'{','\n',' ',' ','"','s','w','a','g','g','e','r','"',':',' ','"','2','.','0','"',',','\n',' ',' ','"','i','n','f','o','"',':',' ','{','\n',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','p','r','o','t','o','/','A','u','t','h','A','P','I','.','p','r','o','t','o','"',',','\n',' ',' ',' ',' ','"','v','e','r','s','i','o','n','"',':',' ','"','v','e','r','s','i','o','n',' ','n','o','t',' ','s','e','t','"','\n',' ',' ','}',',','\n',' ',' ','"','c','o','n','s','u','m','e','s','"',':',' ','[','\n',' ',' ',' ',' ','"','a','p','p','l','i','c','a','t','i','o','n','/','j','s','o','n','"','\n',' ',' ',']',',','\n',' ',' ','"','p','r','o','d','u','c','e','s','"',':',' ','[','\n',' ',' ',' ',' ','"','a','p','p','l','i','c','a','t','i','o','n','/','j','s','o','n','"','\n',' ',' ',']',',','\n',' ',' ','"','p','a','t','h','s','"',':',' ','{','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','a','u','t','h','/','c','r','e','a','t','e','a','p','i','t','o','k','e','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','C','r','e','a','t','e','A','P','I','T','o','k','e','n',' ','C','r','e','a','t','e','s',' ','a',' ','n','e','w',' ','A','P','I',' ','t','o','k','e','n',' ','a','n','d',' ','r','e','t','u','r','n','s',' ','i','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','A','P','I','T','o','k','e','n','S','e','r','v','i','c','e','_','C','r','e','a','t','e','A','P','I','T','o','k','e','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','T','o','k','e','n','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','T','o','k','e','n','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','A','P','I','T','o','k','e','n','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','a','u','t','h','/','d','e','l','e','t','e','a','p','i','t','o','k','e','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','R','e','v','o','k','e','T','o','k','e','n',' ','R','e','v','o','k','e','s',' ','a','n',' ','a','c','c','e','s','s',' ','t','o','k','e','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','A','P','I','T','o','k','e','n','S','e','r','v','i','c','e','_','R','e','v','o','k','e','T','o','k','e','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','D','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','A','P','I','T','o','k','e','n','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','a','u','t','h','/','l','i','s','t','a','p','i','t','o','k','e','n','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','g','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','G','e','t','T','o','k','e','n','L','i','s','t',' ','L','i','s','t','s',' ','a','l','l',' ','a','v','a','i','l','a','b','l','e',' ','a','c','c','e','s','s',' ','t','o','k','e','n','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','A','P','I','T','o','k','e','n','S','e','r','v','i','c','e','_','G','e','t','T','o','k','e','n','L','i','s','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','T','o','k','e','n','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','I','D','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','q','u','e','r','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','f','a','l','s','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','A','P','I','T','o','k','e','n','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','/','c','r','e','a','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','C','r','e','a','t','e','N','e','w','D','a','t','a','s','e','t',' ','C','r','e','a','t','e','s',' ','a',' ','n','e','w',' ','d','a','t','a','s','e','t',' ','a','n','d',' ','a','s','s','o','c','i','a','t','e','s',' ','i','t',' ','w','i','t','h',' ','a',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','C','r','e','a','t','e','N','e','w','D','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','D','a','t','a','s','e','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','/','u','p','d','a','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','U','p','d','a','t','e','s',' ','a',' ','f','i','e','l','d',' ','o','f',' ','a',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','U','p','d','a','t','e','D','a','t','a','s','e','t','F','i','e','l','d','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','U','p','d','a','t','e','F','i','e','l','d','s','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','/','u','p','d','a','t','e','v','e','r','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','U','p','d','a','t','e','s',' ','t','h','e',' ','c','u','r','r','e','n','t',' ','d','a','t','a','s','e','t',' ','v','e','r','s','i','o','n',' ','o','f',' ','a',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','U','p','d','a','t','e','C','u','r','r','e','n','t','D','a','t','a','s','e','t','V','e','r','s','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','U','p','d','a','t','e','C','u','r','r','e','n','t','D','a','t','a','s','e','t','V','e','r','s','i','o','n','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','/','{','I','D','}','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','d','e','l','e','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','D','e','l','e','t','e','D','a','t','a','s','e','t',' ','D','e','l','e','t','e',' ','a',' ','d','a','t','a','s','e','t','\\','n','D','a','t','a','s','e','t','s',' ','c','a','n',' ','o','n','l','y',' ','b','e',' ','d','e','l','e','t','e','d',' ','i','f','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','D','e','l','e','t','e','D','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','I','D','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','p','a','t','h','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','/','{','I','D','}','/','v','e','r','s','i','o','n','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','g','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','L','i','s','t','s',' ','V','e','r','s','i','o','n','s',' ','o','f',' ','a',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','D','a','t','a','s','e','t','V','e','r','s','i','o','n','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','V','e','r','s','i','o','n','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','I','D','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','p','a','t','h','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','o','b','j','e','c','t','g','r','o','u','p','/','c','r','e','a','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','C','r','e','a','t','e','D','a','t','s','e','t','O','b','j','e','c','t','G','r','o','u','p',' ','C','r','e','a','t','e','s',' ','a',' ','n','e','w',' ','d','a','t','a','s','e','t',' ','o','b','j','e','c','t',' ','g','r','o','u','p',' ','i','n',' ','t','h','e',' ','d','a','t','a','b','a','s','e','\\','n','W','i','l','l',' ','a','l','s','o',' ','c','r','e','a','t','e',' ','a','l','l',' ','r','e','l','a','t','e','d',' ','d','a','t','a','s','e','t',' ','o','b','j','e','c','t','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','O','b','j','e','c','t','s','S','e','r','v','i','c','e','_','C','r','e','a','t','e','D','a','t','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','s','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','o','b','j','e','c','t','g','r','o','u','p','/','{','I','D','}','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','g','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','G','e','t','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p',' ','T','h','e',' ','d','a','t','a','s','e','t',' ','o','b','j','e','c','t',' ','g','r','o','u','p',' ','w','i','t','h',' ','t','h','e',' ','g','i','v','e','n',' ','I','D','\\','n','W','i','l','l',' ','o','n','l','y',' ','r','e','t','u','r','n',' ','a',' ','d','a','t','a','s','e','t',' ','o','b','j','e','c','t',' ','g','r','o','u','p',' ','w','i','t','h','o','u','t',' ','i','t','s',' ','a','f','f','i','l','i','a','t','e','d',' ','o','b','j','e','c','t','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','O','b','j','e','c','t','s','S','e','r','v','i','c','e','_','G','e','t','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','I','D','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','p','a','t','h','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','s','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','l','e','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','D','e','l','e','t','e','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p',' ','D','e','l','e','t','e','s',' ','t','h','e',' ','g','i','v','e','n',' ','d','a','t','a','s','e','t',' ','g','r','o','u','p',' ','a','n','d',' ','a','l','l',' ','a','s','s','o','c','i','a','t','e','d',' ','d','a','t','a','s','e','t',' ','o','b','j','e','c','t','s','\\','n','C','a','n',' ','o','n','l','y',' ','b','e',' ','u','s','e','d',' ','w','h','e','n',' ','a','l','l',' ','l','i','n','k','e','d',' ','d','a','t','a','s','e','t',' ','v','e','r','s','i','o','n','s',' ','h','a','v','e',' ','b','e','e','n',' ','d','e','l','e','t','e','d','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','O','b','j','e','c','t','s','S','e','r','v','i','c','e','_','D','e','l','e','t','e','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','I','D','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','p','a','t','h','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','s','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','s','/','{','I','D','}','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','g','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','D','a','t','a','s','e','t','s',' ','L','i','s','t','s',' ','a','l','l',' ','d','a','t','a','s','e','t','s',' ','o','f',' ','a',' ','u','s','e','r','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','D','a','t','a','s','e','t','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','I','D','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','p','a','t','h','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','v','e','r','s','i','o','n','/','c','r','e','a','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','C','r','e','a','t','e','s',' ','a',' ','n','e','w',' ','d','a','t','a','s','e','t',' ','v','e','r','s','i','o','n',' ','w','h','i','c','h',' ','i','s',' ','l','i','n','k','e','d',' ','t','o',' ','a','n',' ','e','x','i','s','i','t','i','n','g',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','C','r','e','a','t','e','N','e','w','D','a','t','a','s','e','t','V','e','r','s','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','V','e','r','s','i','o','n','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','D','a','t','a','s','e','t','V','e','r','s','i','o','n','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','v','e','r','s','i','o','n','/','u','p','d','a','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','U','p','d','a','t','e','D','a','t','a','s','e','t','V','e','r','s','i','o','n','F','i','e','l','d','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','U','p','d','a','t','e','F','i','e','l','d','s','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','v','e','r','s','i','o','n','/','{','I','D','}','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','g','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','G','e','t','D','a','t','a','s','e','t','V','e','r','s','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','V','e','r','s','i','o','n','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','I','D','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','p','a','t','h','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','l','e','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','D','e','l','e','t','e','s',' ','a',' ','d','a','t','a','s','e','t',' ','v','e','r','s','i','o','n','\\','n','T','h','i','s',' ','s','h','o','u','l','d',' ','n','o','t',' ','d','e','l','e','t','e',' ','t','h','e',' ','u','n','d','e','r','l','a','y','i','n','g',' ','d','a','t','a','s','e','t',' ','o','b','j','e','c','t','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','D','e','l','e','t','e','D','a','t','a','s','e','t','V','e','r','s','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','I','D','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','p','a','t','h','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','d','a','t','a','s','e','t','v','e','r','s','i','o','n','/','{','I','D','}','/','o','b','j','e','c','t','g','r','o','u','p','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','g','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','O','b','j','e','c','t','G','r','o','u','p','s',' ','L','i','s','t','s',' ','a','l','l',' ','o','b','j','e','c','t','s',' ','g','r','o','u','p','s',' ','t','h','a','t',' ','a','r','e',' ','p','a','r','t',' ','o','f',' ','t','h','e',' ','g','i','v','e','n',' ','d','a','t','a','s','e','t',' ','v','e','r','s','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','_','D','a','t','a','s','e','t','V','e','r','s','i','o','n','O','b','j','e','c','t','G','r','o','u','p','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','I','D','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','p','a','t','h','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','l','o','a','d','/','c','r','e','a','t','e','l','i','n','k','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','s','u','m','m','a','r','y','"',':',' ','"','C','r','e','a','t','e','s',' ','a',' ','l','i','s','t',' ','o','f',' ','u','p','l','o','a','d',' ','l','i','n','k','s',' ','t','o',' ','p','l','a','c','e',' ','d','a','t','a','s','e','t',' ','e','n','t','i','t','i','e','s',' ','i','n',' ','o','b','j','e','c','t',' ','s','t','o','r','a','g','e','\\','n','a','n','d',' ','a','d','d','s',' ','c','o','r','r','e','s','p','o','n','d','i','n','g',' ','m','e','t','a','d','a','t','a',' ','o','b','j','e','c','t','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','L','o','a','d','S','e','r','v','i','c','e','_','G','e','t','U','p','l','o','a','d','L','i','n','k','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','U','p','l','o','a','d','L','i','n','k','R','e','s','p','o','n','s','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','U','p','l','o','a','d','L','i','n','k','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','L','o','a','d','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','l','o','a','d','/','d','o','w','n','l','o','a','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','L','o','a','d','S','e','r','v','i','c','e','_','G','e','t','D','o','w','n','l','o','a','d','L','i','n','k','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','G','e','t','D','o','w','n','l','o','a','d','R','e','s','p','o','n','s','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','G','e','t','D','o','w','n','l','o','a','d','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','L','o','a','d','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','l','o','a','d','/','f','i','n','i','s','h','m','u','l','t','i','p','a','r','t','u','p','l','o','a','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','L','o','a','d','S','e','r','v','i','c','e','_','F','i','n','i','s','h','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','F','i','n','i','s','h','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','L','o','a','d','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','l','o','a','d','/','g','e','t','m','u','l','t','i','p','a','r','t','u','p','l','o','a','d','l','i','n','k','p','a','r','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','L','o','a','d','S','e','r','v','i','c','e','_','G','e','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','L','i','n','k','P','a','r','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','G','e','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','L','i','n','k','P','a','r','t','R','e','s','p','o','n','s','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','G','e','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','L','i','n','k','P','a','r','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','L','o','a','d','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','l','o','a','d','/','i','n','i','t','m','u','l','t','i','p','a','r','t','u','p','l','o','a','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','L','o','a','d','S','e','r','v','i','c','e','_','I','n','i','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','n','i','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','L','o','a','d','S','e','r','v','i','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','m','e','t','a','d','a','t','a','/','i','n','d','e','x','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','_','A','d','d','M','e','t','a','d','a','t','a','I','n','d','e','x','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','A','d','d','M','e','t','a','d','a','t','a','I','n','d','e','x','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','m','e','t','a','d','a','t','a','/','i','n','i','t','c','o','l','l','e','c','t','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','_','C','r','e','a','t','e','M','e','t','a','d','a','t','a','D','B','C','o','l','l','e','c','t','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','M','e','t','a','d','a','t','a','D','B','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','n','i','t','M','e','t','a','d','a','t','a','C','o','l','l','e','c','t','i','o','n','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','m','e','t','a','d','a','t','a','/','i','n','i','t','d','b','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','_','C','r','e','a','t','e','M','e','t','a','d','a','t','a','D','B','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','M','e','t','a','d','a','t','a','D','B','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','n','i','t','M','e','t','a','d','a','t','a','D','B','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','m','e','t','a','d','a','t','a','/','i','n','s','e','r','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','_','I','n','s','e','r','t','M','e','t','a','d','a','t','a','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','n','s','e','r','t','M','e','t','a','d','a','t','a','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','m','e','t','a','d','a','t','a','/','l','i','s','t','c','o','l','l','c','e','t','i','o','n','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','g','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','_','L','i','s','t','M','e','t','a','d','a','t','a','D','B','C','o','l','l','e','c','t','i','o','n','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','M','e','t','a','d','a','t','a','D','B','C','o','l','l','e','c','t','i','o','n','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','m','e','t','a','d','a','t','a','/','l','i','s','t','d','b','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','g','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','_','L','i','s','t','M','e','t','a','d','a','t','a','D','B','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','M','e','t','a','d','a','t','a','D','B','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','m','e','t','a','d','a','t','a','/','q','u','e','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','_','Q','u','e','r','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','F','i','e','l','d','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','Q','u','e','r','y','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','m','p','o','s','i','t','e','S','t','o','r','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','p','r','o','j','e','c','t','/','a','d','d','u','s','e','r','t','o','p','r','o','j','e','c','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','P','r','o','j','e','c','t','A','P','I','_','A','d','d','U','s','e','r','T','o','P','r','o','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','P','r','o','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','A','d','d','U','s','e','r','T','o','P','r','o','j','e','c','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','A','P','I','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','p','r','o','j','e','c','t','/','c','r','e','a','t','e','p','r','o','j','e','c','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','P','r','o','j','e','c','t','A','P','I','_','C','r','e','a','t','e','P','r','o','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','P','r','o','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','P','r','o','j','e','c','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','A','P','I','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','p','r','o','j','e','c','t','/','d','e','l','e','t','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','P','r','o','j','e','c','t','A','P','I','_','D','e','l','e','t','e','P','r','o','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','E','m','p','t','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','D','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','A','P','I','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','p','r','o','j','e','c','t','/','p','r','o','j','e','c','t','d','a','t','a','s','e','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','p','o','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','P','r','o','j','e','c','t','A','P','I','_','G','e','t','P','r','o','j','e','c','t','D','a','t','a','s','e','t','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','p','a','r','a','m','e','t','e','r','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','n','a','m','e','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','n','"',':',' ','"','b','o','d','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','q','u','i','r','e','d','"',':',' ','t','r','u','e',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','D','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','A','P','I','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','/','a','p','i','/','v','1','/','p','r','o','j','e','c','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','g','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','o','p','e','r','a','t','i','o','n','I','d','"',':',' ','"','P','r','o','j','e','c','t','A','P','I','_','G','e','t','U','s','e','r','P','r','o','j','e','c','t','s','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','r','e','s','p','o','n','s','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','2','0','0','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','u','c','c','e','s','s','f','u','l',' ','r','e','s','p','o','n','s','e','.','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','P','r','o','j','e','c','t','E','n','t','r','y','L','i','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','u','n','e','x','p','e','c','t','e','d',' ','e','r','r','o','r',' ','r','e','s','p','o','n','s','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','s','c','h','e','m','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','r','u','n','t','i','m','e','E','r','r','o','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','a','g','s','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','A','P','I','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',']','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}','\n',' ',' ','}',',','\n',' ',' ','"','d','e','f','i','n','i','t','i','o','n','s','"',':',' ','{','\n',' ',' ',' ',' ','"','A','d','d','M','e','t','a','d','a','t','a','I','n','d','e','x','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','D','B','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','o','l','l','e','c','t','i','o','n','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','n','d','i','c','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','I','n','d','e','x','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','R','e','q','u','e','s','t',' ','t','o',' ','a','d','d',' ','i','n','d','i','c','e','s',' ','o','n',' ','a',' ','l','i','s','t',' ','o','f',' ','f','i','e','l','d','s','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','A','d','d','M','e','t','a','d','a','t','a','I','n','d','e','x','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','A','d','d','U','s','e','r','T','o','P','r','o','j','e','c','t','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','s','e','r','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','c','o','p','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','i','g','h','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','d','d','s',' ','a',' ','n','e','w',' ','u','s','e','r',' ','t','o',' ','a',' ','p','r','o','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','A','d','d','U','s','e','r','T','o','P','r','o','j','e','c','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','o','m','p','l','e','t','e','d','U','p','l','o','a','d','P','a','r','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','E','t','a','g','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','a','r','t','n','u','m','b','e','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','A','n','c','h','o','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','V','e','r','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','V','e','r','s','i','o','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','r','e','a','t','e','D','a','t','a','s','e','t','O','b','j','e','c','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','D','a','t','a','s','e','t','O','b','j','e','c','t','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','F','i','l','e','n','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','F','i','l','e','t','y','p','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','r','i','g','i','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','O','r','i','g','i','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','r','e','a','t','e','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','M','e','t','a','d','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','o','n','t','e','n','t','L','e','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','p','l','o','a','d','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','D','a','t','a','s','e','t','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','x','a','m','p','l','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','N','a','m','e','"',':',' ','"','t','e','s','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','t','y','p','e','"',':',' ','"','t','e','s','t','2','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','I','D','"',':',' ','"','t','e','s','t','P','r','o','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','t','y','p','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','D','a','t','a',' ','r','e','q','u','i','r','e','d',' ','t','o',' ','s','t','a','r','t',' ','l','o','a','d','i','n','g',' ','a',' ','d','a','t','a','s','e','t',' ','i','n','t','o',' ','t','h','e',' ','B','i','o','D','a','t','a','D','B','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','I','n','i','t','L','o','a','d','D','a','t','a','s','e','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','D','a','t','a','s','e','t','V','e','r','s','i','o','n','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','V','e','r','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','V','e','r','s','i','o','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','M','e','t','a','d','a','t','a','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','O','b','j','e','c','t','M','e','t','a','d','a','t','a','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','M','e','t','a','d','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','E','x','p','e','c','t','e','d','O','b','j','e','c','t','C','o','u','n','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','C','r','e','a','t','e','s',' ','a',' ','n','e','w',' ','d','a','t','a','s','e','t',' ','v','e','r','s','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','C','r','e','a','t','e','D','a','t','a','s','e','t','V','e','r','s','i','o','n','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','P','r','o','j','e','c','t','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','e','s','c','r','i','p','t','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','R','e','q','u','e','s','t',' ','t','o',' ','c','r','e','a','t','e',' ','a',' ','n','e','w',' ','p','r','o','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','C','r','e','a','t','e','P','r','o','j','e','c','t','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','T','o','k','e','n','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','i','g','h','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','i','g','h','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','e','s','o','u','r','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','E','x','p','i','r','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','R','e','q','u','e','s','t',' ','d','a','t','a',' ','t','o',' ','c','r','e','a','t','e',' ','a',' ','n','e','w',' ','t','o','k','e','n',' ','f','o','r',' ','a',' ','g','i','v','e','n',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','C','r','e','a','t','e','T','o','k','e','n','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','U','p','l','o','a','d','L','i','n','k','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','s','e','t','O','b','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','C','r','e','a','t','e','U','p','l','o','a','d','L','i','n','k','R','e','s','p','o','n','s','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','L','i','n','k','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','p','r','e','s','i','g','n','e','d',' ','U','R','L',' ','l','i','n','k',' ','a','n','d',' ','i','t','s',' ','u','p','l','o','a','d',' ','r','e','q','u','e','s','t',' ','U','R','L','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','U','p','l','o','a','d','L','i','n','k','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','E','n','t','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','n','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','t','y','p','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','s','P','u','b','l','i','c','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','b','o','o','l','e','a','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','b','o','o','l','e','a','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','r','e','a','t','e','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','u','r','r','e','n','t','V','e','r','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','a','t','u','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','S','t','a','t','u','s','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','w','n','e','r','P','r','o','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','B','u','r','r','o','w','e','d','P','r','o','j','e','c','t','I','D','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','D','a','t','a','b','a','s','e',' ','e','n','t','r','y',' ','f','o','r',' ','a',' ','d','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','D','a','t','a','s','e','t','E','n','t','r','y','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','L','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','l','i','s','t',' ','o','f',' ','d','a','t','a','s','e','t','s','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','D','a','t','a','s','e','t','L','i','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','E','n','t','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','F','i','l','e','n','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','F','i','l','e','t','y','p','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','r','i','g','i','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','O','r','i','g','i','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','o','n','t','e','n','t','L','e','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','L','o','c','a','t','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','L','o','c','a','t','i','o','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','r','e','a','t','e','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','M','e','t','a','d','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','p','l','o','a','d','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','a','t','u','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','S','t','a','t','u','s','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','R','e','p','r','e','s','e','n','t','a','t','i','o','n',' ','o','f',' ','a',' ','d','a','t','a','s','e','t',' ','e','n','t','i','t','y','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','G','r','o','u','p','H','i','s','t','o','r','y','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','V','e','r','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','V','e','r','s','i','o','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','M','e','t','a','d','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','s','e','t',' ','o','f',' ','d','a','t','a','s','e','t',' ','o','b','j','e','c','t','s',' ','t','h','a','t',' ','a','r','e',' ','b','u','n','d','l','e','d',' ','t','o','g','e','t','h','e','r',' ','f','o','r',' ','e','a','s','i','e','r',' ','m','a','n','a','g','e','m','e','n','t','.',' ','A','n',' ','e','x','a','m','p','l','e',' ','u','s','e',' ','c','a','s','e',' ','w','o','u','l','d',' ','b','e',' ','a',' ','s','e','t',' ','o','f',' ','b','i','n','a','r','y',' ','d','a','t','a',' ','o','b','j','e','c','t','s',' ','a','l','o','n','g',' ','w','i','t','h',' ','a','n',' ','i','n','d','e','x',' ','f','i','l','e','.','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','L','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','l','i','s','t',' ','o','f',' ','d','a','t','a','s','e','t',' ','o','b','j','e','c','t','s',' ','g','r','o','u','p','s','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','D','a','t','a','s','e','t','L','i','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','E','n','t','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','n','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','V','e','r','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','V','e','r','s','i','o','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','r','e','a','t','e','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','M','e','t','a','d','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','M','e','t','a','d','a','t','a','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','d','d','i','t','i','o','n','a','l','O','b','j','e','c','t','M','e','t','a','d','a','t','a','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','C','o','u','n','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','L','i','n','k','C','o','u','n','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','E','x','p','e','c','t','e','d','O','b','j','e','c','t','C','o','u','n','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','a','t','u','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','S','t','a','t','u','s','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','D','a','t','a','s','e','t',' ','v','e','r','s','i','o','n',' ','r','e','p','r','e','s','e','n','t','a','t','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','E','n','t','r','y','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','L','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','V','e','r','s','i','o','n','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','l','i','s','t',' ','o','f',' ','d','a','t','a','s','e','t','v','e','r','s','i','o','n','s','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','D','a','t','a','s','e','t','L','i','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','E','m','p','t','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','e','m','p','t','y',' ','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','E','m','p','t','y','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','F','i','e','l','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','T','O','D','O',' ','-',' ','W','I','P','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','F','i','e','l','d','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','F','i','n','i','s','h','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','o','m','p','l','e','t','e','d','U','p','l','o','a','d','P','a','r','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','C','o','m','p','l','e','t','e','d','U','p','l','o','a','d','P','a','r','t','s','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','G','e','t','D','o','w','n','l','o','a','d','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','e','s','o','u','r','c','e','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','G','e','t','D','o','w','n','l','o','a','d','R','e','s','p','o','n','s','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','L','i','n','k','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','O','b','j','e','c','t','D','o','w','n','l','o','a','d','L','i','n','k','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','G','e','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','L','i','n','k','P','a','r','t','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','p','l','o','a','d','P','a','r','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','o','n','t','e','n','t','L','e','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','G','e','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','L','i','n','k','P','a','r','t','R','e','s','p','o','n','s','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','p','l','o','a','d','L','i','n','k','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','E','t','a','g','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A','n',' ','a','r','b','i','t','r','a','r','y',' ','I','D','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','I','D','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','I','n','d','e','x','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','F','i','e','l','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','T','O','D','O',' ','-',' ','W','I','P','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','I','n','d','e','x','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','I','n','i','t','M','e','t','a','d','a','t','a','C','o','l','l','e','c','t','i','o','n','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','D','B','E','n','t','r','y','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','R','e','q','u','e','s','t',' ','a',' ','n','e','w',' ','M','e','t','a','d','a','t','a','D','B',' ','C','o','l','l','e','c','t','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','I','n','i','t','M','e','t','a','d','a','t','a','C','o','l','l','e','c','t','i','o','n','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','I','n','i','t','M','e','t','a','d','a','t','a','D','B','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','R','e','q','u','e','s','t',' ','a',' ','n','e','w',' ','M','e','t','a','d','a','t','a','D','B','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','I','n','i','t','M','e','t','a','d','a','t','a','D','B','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','I','n','i','t','M','u','l','t','i','p','a','r','t','U','p','l','o','a','d','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','s','e','t','O','b','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','I','n','s','e','r','t','M','e','t','a','d','a','t','a','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','D','B','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','o','l','l','e','c','t','i','o','n','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','r','u','c','t','M','e','t','a','d','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','S','t','r','u','c','t','M','e','t','a','d','a','t','a','M','e','s','s','a','g','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','r','e','q','u','e','s','t',' ','t','o',' ','i','n','s','e','r','t',' ','a',' ','s','e','t',' ','o','f',' ','m','e','t','a','d','a','t','a','.',' ','M','e','t','a','d','a','t','a',' ','c','a','n',' ','b','e',' ','p','r','o','v','i','d','e','d',' ','e','i','t','h','e','r',' ','a','s',' ','A','n','y',' ','m','e','s','s','a','g','e',' ','t','y','p','e',' ','o','r',' ','S','t','r','u','c','t',' ','m','e','s','s','a','g','e',' ','t','y','p','e','.',' ','I','f',' ','A','n','y',' ','t','y','p','e',' ','i','s',' ','u','s','e','d',',',' ','t','h','e',' ','m','e','s','s','a','g','e',' ','m','u','s','t',' ','b','e',' ','w','e','l','l',' ','k','n','o','w','n','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','I','n','s','e','r','t','M','e','t','a','d','a','t','a','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','L','o','c','a','t','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','B','u','c','k','e','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','K','e','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','R','L','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','l','o','c','a','t','i','o','n',' ','i','n',' ','a','n',' ','o','b','j','e','c','t',' ','s','t','o','r','a','g','e','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','L','o','c','a','t','i','o','n','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','C','o','l','l','e','c','t','i','o','n','E','n','t','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','r','u','c','t','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','r','e','a','t','e','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','D','B','E','n','t','r','y','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','M','e','t','a','d','a','t','a','D','B',' ','C','o','l','l','e','c','t','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','M','e','t','a','d','a','t','a','C','o','l','l','e','c','t','i','o','n','E','n','t','r','y','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','D','B','C','o','l','l','e','c','t','i','o','n','L','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','e','n','t','r','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','M','e','t','a','d','a','t','a','C','o','l','l','e','c','t','i','o','n','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','D','B','E','n','t','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','r','u','c','t','M','e','s','s','a','g','e','R','e','f','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','r','e','a','t','e','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','M','e','t','a','d','a','t','a','D','B','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','M','e','t','a','d','a','t','a','D','B','E','n','t','r','y','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','D','B','L','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','e','n','t','r','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','M','e','t','a','d','a','t','a','D','B','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','O','b','j','e','c','t','D','o','w','n','l','o','a','d','L','i','n','k','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','L','i','n','k','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','D','a','t','a','s','e','t','O','b','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','O','r','i','g','i','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','x','a','m','p','l','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','L','i','n','k','"',':',' ','"','e','x','a','m','p','l','e','.','c','o','m','/','m','y','a','w','s','o','m','e','d','a','t','a','.','t','e','s','t','.','g','b','f','f','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','r','i','g','i','n','T','y','p','e','E','n','u','m','"',':',' ','"','O','r','i','g','i','n','L','i','n','k','"','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','L','i','n','k','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','S','t','o','r','a','g','e','L','o','c','a','t','i','o','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','L','o','c','a','t','i','o','n','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','r','i','g','i','n','T','y','p','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','O','r','i','g','i','n','O','r','i','g','i','n','T','y','p','e','E','n','u','m','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','T','h','e',' ','s','o','u','r','c','e',' ','o','f',' ','a',' ','d','a','t','a','s','e','t','.',' ','E','n','t','r','i','e','s',' ','a','r','e',' ','s','e','t',' ','d','e','p','e','n','d','i','n','g',' ','o','f',' ','t','h','e',' ','o','r','i','g','i','n',' ','t','y','p','e','.',' ',' ','O','r','i','g','i','n','L','i','n','k',' ','m','e','a','n','s',' ','t','h','a','t',' ','a',' ','l','i','n','k',' ','i','s',' ','g','i','v','e','n',',',' ','o','b','j','e','c','t','s','t','o','r','a','g','e',' ','t','h','a','t',' ','b','u','c','k','e','t',',',' ','k','e','y',' ','a','n','d',' ','l','i','n','k',' ','a','r','e',' ','p','r','e','s','e','n','t','.',' ','L','i','n','k',' ','i','s',' ','t','h','e',' ','s','3',' ','e','n','d','p','o','i','n','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','O','r','i','g','i','n','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','O','r','i','g','i','n','O','r','i','g','i','n','T','y','p','e','E','n','u','m','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','n','u','m','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','b','j','e','c','t','S','t','o','r','a','g','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','O','r','i','g','i','n','L','i','n','k','"','\n',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','"','O','b','j','e','c','t','S','t','o','r','a','g','e','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','P','r','o','j','e','c','t','E','n','t','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','e','s','c','r','i','p','t','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','s','e','r','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','U','s','e','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','N','a','m','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','P','r','o','j','e','c','t','E','n','t','r','y','L','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','P','r','o','j','e','c','t','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','L','i','s','t','s',' ','a','l','l',' ','p','r','o','j','e','c','t','s',' ','o','f',' ','a',' ','u','s','e','r','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','P','r','o','j','e','c','t','E','n','t','r','y','L','i','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','Q','u','e','r','y','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','D','B','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','o','l','l','e','c','t','i','o','n','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','Q','u','e','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','T','O','D','O',' ','-',' ','W','I','P','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','Q','u','e','r','y','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','n','u','m','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','V','e','r','s','i','o','n','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','a','t','a','s','e','t','O','b','j','e','c','t','G','r','o','u','p','R','e','s','o','u','r','c','e','"','\n',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','"','P','r','o','j','e','c','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','e','s','o','u','r','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','R','i','g','h','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','n','u','m','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','a','d','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','W','r','i','t','e','"','\n',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','"','R','e','a','d','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','S','t','a','g','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','n','u','m','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','a','b','l','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','B','e','t','a','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','l','p','h','a','"','\n',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','"','S','t','a','b','l','e','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','S','t','a','t','u','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','n','u','m','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','n','i','t','i','a','t','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','v','a','i','l','a','b','l','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','p','d','a','t','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','r','c','h','i','v','e','d','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','D','e','l','e','t','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','"','I','n','i','t','i','a','t','i','n','g','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','S','t','r','u','c','t','M','e','t','a','d','a','t','a','M','e','s','s','a','g','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','e','t','a','d','a','t','a','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','n','t','6','4','I','n','d','i','c','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','a','d','d','i','t','i','o','n','a','l','P','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','I','n','t','6','4','I','n','d','i','c','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','a','d','d','i','t','i','o','n','a','l','P','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','u','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','M','e','t','a','d','a','t','a',' ','m','e','s','s','a','g','e',' ','o','f',' ','s','t','r','u','c','t',' ','t','y','p','e','.',' ','T','h','e',' ','s','t','r','u','c','t',' ','t','y','p','e',' ','u','s','e','s',' ','J','S','O','N',' ','a','n','d',' ','c','a','n','n','o','t',' ','s','t','o','r','e',' ','i','n','t','6','4','/','u','i','n','t','6','4',' ','p','r','o','p','e','r','l','y','.',' ','T','o',' ','c','r','e','a','t','e',' ','i','n','d','i','c','e','s',' ','o','n',' ','i','n','t','6','4','/','u','i','n','t','6','4',' ','v','a','l','u','e','s',' ','p','l','e','a','s','e',' ','u','s','e',' ','t','h','e',' ','p','r','o','v','i','d','e','d',' ','m','a','p','s','.','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','A','n','y','M','e','t','a','d','a','t','a','M','e','s','s','a','g','e','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','T','o','k','e','n','E','n','t','r','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','s','e','r','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','U','s','e','r','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','T','o','k','e','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','e','s','o','u','r','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','C','r','e','a','t','e','d','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','E','x','p','i','r','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','d','a','t','e','-','t','i','m','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','d','e','s','c','r','i','p','t','i','o','n',' ','o','f',' ','a','n',' ','a','p','i',' ','t','o','k','e','n','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','T','o','k','e','n','E','n','t','r','y','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','T','o','k','e','n','L','i','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','r','o','j','e','c','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','o','k','e','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','T','o','k','e','n','E','n','t','r','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','L','i','s','t','s',' ','a','l','l',' ','a','v','a','i','l','a','b','l','e',' ','a','p','i',' ','t','o','k','e','n','s',' ','f','o','r',' ','a',' ','u','s','e','r','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','T','o','k','e','n','L','i','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','U','p','d','a','t','e','C','u','r','r','e','n','t','D','a','t','a','s','e','t','V','e','r','s','i','o','n','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','p','d','a','t','e','T','a','r','g','e','t','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','T','a','r','g','e','t','R','e','s','o','u','r','c','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','e','s','o','u','r','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','p','d','a','t','e','S','t','a','g','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','S','t','a','g','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','U','p','d','a','t','e','s',' ','t','h','e',' ','c','u','r','r','e','n','t',' ','v','e','r','s','i','o','n',' ','e','n','t','r','y','.','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','U','p','d','a','t','e','C','u','r','r','e','n','t','D','a','t','a','s','e','t','V','e','r','s','i','o','n','R','e','q','u','e','s','t','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','U','p','d','a','t','e','F','i','e','l','d','s','R','e','q','u','e','s','t','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','p','d','a','t','e','S','t','r','i','n','g','F','i','e','l','d','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','a','d','d','i','t','i','o','n','a','l','P','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','p','d','a','t','e','I','n','t','6','4','F','i','e','l','d','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','a','d','d','i','t','i','o','n','a','l','P','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','6','4','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','U','s','e','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','U','s','e','r','I','D','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','i','g','h','t','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','i','g','h','t','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','s','o','u','r','c','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','R','e','s','o','u','r','c','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','V','e','r','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','x','a','m','p','l','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','a','j','o','r','"',':',' ','0',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','i','n','o','r','"',':',' ','1',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','a','t','c','h','"',':',' ','0',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','v','i','s','i','o','n','"',':',' ','1',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','a','g','e','"',':',' ','"','A','l','p','h','a','"','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','a','j','o','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','i','n','t','e','g','e','r','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','3','2','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','M','i','n','o','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','i','n','t','e','g','e','r','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','3','2','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','P','a','t','c','h','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','i','n','t','e','g','e','r','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','3','2','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','v','i','s','i','o','n','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','i','n','t','e','g','e','r','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','3','2','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','a','g','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','V','e','r','s','i','o','n','V','e','r','s','i','o','n','S','t','a','g','e','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','v','e','r','s','i','o','n',' ','r','e','p','r','e','s','e','n','t','a','t','i','o','n',' ','b','a','s','e','d',' ','o','n',' ','s','e','m','a','n','t','i','c',' ','v','e','r','s','i','o','n','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','t','i','t','l','e','"',':',' ','"','V','e','r','s','i','o','n','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','V','e','r','s','i','o','n','V','e','r','s','i','o','n','S','t','a','g','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','n','u','m','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','S','t','a','b','l','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','R','e','l','e','a','s','e','C','a','n','d','i','d','a','t','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','B','e','t','a','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','A','l','p','h','a','"','\n',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','"','S','t','a','b','l','e','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','p','r','o','t','o','b','u','f','A','n','y','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','_','u','r','l','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','A',' ','U','R','L','/','r','e','s','o','u','r','c','e',' ','n','a','m','e',' ','t','h','a','t',' ','u','n','i','q','u','e','l','y',' ','i','d','e','n','t','i','f','i','e','s',' ','t','h','e',' ','t','y','p','e',' ','o','f',' ','t','h','e',' ','s','e','r','i','a','l','i','z','e','d','\\','n','p','r','o','t','o','c','o','l',' ','b','u','f','f','e','r',' ','m','e','s','s','a','g','e','.',' ','T','h','i','s',' ','s','t','r','i','n','g',' ','m','u','s','t',' ','c','o','n','t','a','i','n',' ','a','t',' ','l','e','a','s','t','\\','n','o','n','e',' ','\\','"','/','\\','"',' ','c','h','a','r','a','c','t','e','r','.',' ','T','h','e',' ','l','a','s','t',' ','s','e','g','m','e','n','t',' ','o','f',' ','t','h','e',' ','U','R','L','\'','s',' ','p','a','t','h',' ','m','u','s','t',' ','r','e','p','r','e','s','e','n','t','\\','n','t','h','e',' ','f','u','l','l','y',' ','q','u','a','l','i','f','i','e','d',' ','n','a','m','e',' ','o','f',' ','t','h','e',' ','t','y','p','e',' ','(','a','s',' ','i','n','\\','n','`','p','a','t','h','/','g','o','o','g','l','e','.','p','r','o','t','o','b','u','f','.','D','u','r','a','t','i','o','n','`',')','.',' ','T','h','e',' ','n','a','m','e',' ','s','h','o','u','l','d',' ','b','e',' ','i','n',' ','a',' ','c','a','n','o','n','i','c','a','l',' ','f','o','r','m','\\','n','(','e','.','g','.',',',' ','l','e','a','d','i','n','g',' ','\\','"','.','\\','"',' ','i','s',' ','n','o','t',' ','a','c','c','e','p','t','e','d',')','.','\\','n','\\','n','I','n',' ','p','r','a','c','t','i','c','e',',',' ','t','e','a','m','s',' ','u','s','u','a','l','l','y',' ','p','r','e','c','o','m','p','i','l','e',' ','i','n','t','o',' ','t','h','e',' ','b','i','n','a','r','y',' ','a','l','l',' ','t','y','p','e','s',' ','t','h','a','t',' ','t','h','e','y','\\','n','e','x','p','e','c','t',' ','i','t',' ','t','o',' ','u','s','e',' ','i','n',' ','t','h','e',' ','c','o','n','t','e','x','t',' ','o','f',' ','A','n','y','.',' ','H','o','w','e','v','e','r',',',' ','f','o','r',' ','U','R','L','s',' ','w','h','i','c','h',' ','u','s','e',' ','t','h','e','\\','n','s','c','h','e','m','e',' ','`','h','t','t','p','`',',',' ','`','h','t','t','p','s','`',',',' ','o','r',' ','n','o',' ','s','c','h','e','m','e',',',' ','o','n','e',' ','c','a','n',' ','o','p','t','i','o','n','a','l','l','y',' ','s','e','t',' ','u','p',' ','a',' ','t','y','p','e','\\','n','s','e','r','v','e','r',' ','t','h','a','t',' ','m','a','p','s',' ','t','y','p','e',' ','U','R','L','s',' ','t','o',' ','m','e','s','s','a','g','e',' ','d','e','f','i','n','i','t','i','o','n','s',' ','a','s',' ','f','o','l','l','o','w','s',':','\\','n','\\','n','*',' ','I','f',' ','n','o',' ','s','c','h','e','m','e',' ','i','s',' ','p','r','o','v','i','d','e','d',',',' ','`','h','t','t','p','s','`',' ','i','s',' ','a','s','s','u','m','e','d','.','\\','n','*',' ','A','n',' ','H','T','T','P',' ','G','E','T',' ','o','n',' ','t','h','e',' ','U','R','L',' ','m','u','s','t',' ','y','i','e','l','d',' ','a',' ','[','g','o','o','g','l','e','.','p','r','o','t','o','b','u','f','.','T','y','p','e',']','[',']','\\','n',' ',' ','v','a','l','u','e',' ','i','n',' ','b','i','n','a','r','y',' ','f','o','r','m','a','t',',',' ','o','r',' ','p','r','o','d','u','c','e',' ','a','n',' ','e','r','r','o','r','.','\\','n','*',' ','A','p','p','l','i','c','a','t','i','o','n','s',' ','a','r','e',' ','a','l','l','o','w','e','d',' ','t','o',' ','c','a','c','h','e',' ','l','o','o','k','u','p',' ','r','e','s','u','l','t','s',' ','b','a','s','e','d',' ','o','n',' ','t','h','e','\\','n',' ',' ','U','R','L',',',' ','o','r',' ','h','a','v','e',' ','t','h','e','m',' ','p','r','e','c','o','m','p','i','l','e','d',' ','i','n','t','o',' ','a',' ','b','i','n','a','r','y',' ','t','o',' ','a','v','o','i','d',' ','a','n','y','\\','n',' ',' ','l','o','o','k','u','p','.',' ','T','h','e','r','e','f','o','r','e',',',' ','b','i','n','a','r','y',' ','c','o','m','p','a','t','i','b','i','l','i','t','y',' ','n','e','e','d','s',' ','t','o',' ','b','e',' ','p','r','e','s','e','r','v','e','d','\\','n',' ',' ','o','n',' ','c','h','a','n','g','e','s',' ','t','o',' ','t','y','p','e','s','.',' ','(','U','s','e',' ','v','e','r','s','i','o','n','e','d',' ','t','y','p','e',' ','n','a','m','e','s',' ','t','o',' ','m','a','n','a','g','e','\\','n',' ',' ','b','r','e','a','k','i','n','g',' ','c','h','a','n','g','e','s','.',')','\\','n','\\','n','N','o','t','e',':',' ','t','h','i','s',' ','f','u','n','c','t','i','o','n','a','l','i','t','y',' ','i','s',' ','n','o','t',' ','c','u','r','r','e','n','t','l','y',' ','a','v','a','i','l','a','b','l','e',' ','i','n',' ','t','h','e',' ','o','f','f','i','c','i','a','l','\\','n','p','r','o','t','o','b','u','f',' ','r','e','l','e','a','s','e',',',' ','a','n','d',' ','i','t',' ','i','s',' ','n','o','t',' ','u','s','e','d',' ','f','o','r',' ','t','y','p','e',' ','U','R','L','s',' ','b','e','g','i','n','n','i','n','g',' ','w','i','t','h','\\','n','t','y','p','e','.','g','o','o','g','l','e','a','p','i','s','.','c','o','m','.','\\','n','\\','n','S','c','h','e','m','e','s',' ','o','t','h','e','r',' ','t','h','a','n',' ','`','h','t','t','p','`',',',' ','`','h','t','t','p','s','`',' ','(','o','r',' ','t','h','e',' ','e','m','p','t','y',' ','s','c','h','e','m','e',')',' ','m','i','g','h','t',' ','b','e','\\','n','u','s','e','d',' ','w','i','t','h',' ','i','m','p','l','e','m','e','n','t','a','t','i','o','n',' ','s','p','e','c','i','f','i','c',' ','s','e','m','a','n','t','i','c','s','.','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','v','a','l','u','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','b','y','t','e','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','M','u','s','t',' ','b','e',' ','a',' ','v','a','l','i','d',' ','s','e','r','i','a','l','i','z','e','d',' ','p','r','o','t','o','c','o','l',' ','b','u','f','f','e','r',' ','o','f',' ','t','h','e',' ','a','b','o','v','e',' ','s','p','e','c','i','f','i','e','d',' ','t','y','p','e','.','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','`','A','n','y','`',' ','c','o','n','t','a','i','n','s',' ','a','n',' ','a','r','b','i','t','r','a','r','y',' ','s','e','r','i','a','l','i','z','e','d',' ','p','r','o','t','o','c','o','l',' ','b','u','f','f','e','r',' ','m','e','s','s','a','g','e',' ','a','l','o','n','g',' ','w','i','t','h',' ','a','\\','n','U','R','L',' ','t','h','a','t',' ','d','e','s','c','r','i','b','e','s',' ','t','h','e',' ','t','y','p','e',' ','o','f',' ','t','h','e',' ','s','e','r','i','a','l','i','z','e','d',' ','m','e','s','s','a','g','e','.','\\','n','\\','n','P','r','o','t','o','b','u','f',' ','l','i','b','r','a','r','y',' ','p','r','o','v','i','d','e','s',' ','s','u','p','p','o','r','t',' ','t','o',' ','p','a','c','k','/','u','n','p','a','c','k',' ','A','n','y',' ','v','a','l','u','e','s',' ','i','n',' ','t','h','e',' ','f','o','r','m','\\','n','o','f',' ','u','t','i','l','i','t','y',' ','f','u','n','c','t','i','o','n','s',' ','o','r',' ','a','d','d','i','t','i','o','n','a','l',' ','g','e','n','e','r','a','t','e','d',' ','m','e','t','h','o','d','s',' ','o','f',' ','t','h','e',' ','A','n','y',' ','t','y','p','e','.','\\','n','\\','n','E','x','a','m','p','l','e',' ','1',':',' ','P','a','c','k',' ','a','n','d',' ','u','n','p','a','c','k',' ','a',' ','m','e','s','s','a','g','e',' ','i','n',' ','C','+','+','.','\\','n','\\','n',' ',' ',' ',' ','F','o','o',' ','f','o','o',' ','=',' ','.','.','.',';','\\','n',' ',' ',' ',' ','A','n','y',' ','a','n','y',';','\\','n',' ',' ',' ',' ','a','n','y','.','P','a','c','k','F','r','o','m','(','f','o','o',')',';','\\','n',' ',' ',' ',' ','.','.','.','\\','n',' ',' ',' ',' ','i','f',' ','(','a','n','y','.','U','n','p','a','c','k','T','o','(','\\','u','0','0','2','6','f','o','o',')',')',' ','{','\\','n',' ',' ',' ',' ',' ',' ','.','.','.','\\','n',' ',' ',' ',' ','}','\\','n','\\','n','E','x','a','m','p','l','e',' ','2',':',' ','P','a','c','k',' ','a','n','d',' ','u','n','p','a','c','k',' ','a',' ','m','e','s','s','a','g','e',' ','i','n',' ','J','a','v','a','.','\\','n','\\','n',' ',' ',' ',' ','F','o','o',' ','f','o','o',' ','=',' ','.','.','.',';','\\','n',' ',' ',' ',' ','A','n','y',' ','a','n','y',' ','=',' ','A','n','y','.','p','a','c','k','(','f','o','o',')',';','\\','n',' ',' ',' ',' ','.','.','.','\\','n',' ',' ',' ',' ','i','f',' ','(','a','n','y','.','i','s','(','F','o','o','.','c','l','a','s','s',')',')',' ','{','\\','n',' ',' ',' ',' ',' ',' ','f','o','o',' ','=',' ','a','n','y','.','u','n','p','a','c','k','(','F','o','o','.','c','l','a','s','s',')',';','\\','n',' ',' ',' ',' ','}','\\','n','\\','n',' ','E','x','a','m','p','l','e',' ','3',':',' ','P','a','c','k',' ','a','n','d',' ','u','n','p','a','c','k',' ','a',' ','m','e','s','s','a','g','e',' ','i','n',' ','P','y','t','h','o','n','.','\\','n','\\','n',' ',' ',' ',' ','f','o','o',' ','=',' ','F','o','o','(','.','.','.',')','\\','n',' ',' ',' ',' ','a','n','y',' ','=',' ','A','n','y','(',')','\\','n',' ',' ',' ',' ','a','n','y','.','P','a','c','k','(','f','o','o',')','\\','n',' ',' ',' ',' ','.','.','.','\\','n',' ',' ',' ',' ','i','f',' ','a','n','y','.','I','s','(','F','o','o','.','D','E','S','C','R','I','P','T','O','R',')',':','\\','n',' ',' ',' ',' ',' ',' ','a','n','y','.','U','n','p','a','c','k','(','f','o','o',')','\\','n',' ',' ',' ',' ',' ',' ','.','.','.','\\','n','\\','n',' ','E','x','a','m','p','l','e',' ','4',':',' ','P','a','c','k',' ','a','n','d',' ','u','n','p','a','c','k',' ','a',' ','m','e','s','s','a','g','e',' ','i','n',' ','G','o','\\','n','\\','n',' ',' ',' ',' ',' ','f','o','o',' ',':','=',' ','\\','u','0','0','2','6','p','b','.','F','o','o','{','.','.','.','}','\\','n',' ',' ',' ',' ',' ','a','n','y',',',' ','e','r','r',' ',':','=',' ','p','t','y','p','e','s','.','M','a','r','s','h','a','l','A','n','y','(','f','o','o',')','\\','n',' ',' ',' ',' ',' ','.','.','.','\\','n',' ',' ',' ',' ',' ','f','o','o',' ',':','=',' ','\\','u','0','0','2','6','p','b','.','F','o','o','{','}','\\','n',' ',' ',' ',' ',' ','i','f',' ','e','r','r',' ',':','=',' ','p','t','y','p','e','s','.','U','n','m','a','r','s','h','a','l','A','n','y','(','a','n','y',',',' ','f','o','o',')',';',' ','e','r','r',' ','!','=',' ','n','i','l',' ','{','\\','n',' ',' ',' ',' ',' ',' ',' ','.','.','.','\\','n',' ',' ',' ',' ',' ','}','\\','n','\\','n','T','h','e',' ','p','a','c','k',' ','m','e','t','h','o','d','s',' ','p','r','o','v','i','d','e','d',' ','b','y',' ','p','r','o','t','o','b','u','f',' ','l','i','b','r','a','r','y',' ','w','i','l','l',' ','b','y',' ','d','e','f','a','u','l','t',' ','u','s','e','\\','n','\'','t','y','p','e','.','g','o','o','g','l','e','a','p','i','s','.','c','o','m','/','f','u','l','l','.','t','y','p','e','.','n','a','m','e','\'',' ','a','s',' ','t','h','e',' ','t','y','p','e',' ','U','R','L',' ','a','n','d',' ','t','h','e',' ','u','n','p','a','c','k','\\','n','m','e','t','h','o','d','s',' ','o','n','l','y',' ','u','s','e',' ','t','h','e',' ','f','u','l','l','y',' ','q','u','a','l','i','f','i','e','d',' ','t','y','p','e',' ','n','a','m','e',' ','a','f','t','e','r',' ','t','h','e',' ','l','a','s','t',' ','\'','/','\'','\\','n','i','n',' ','t','h','e',' ','t','y','p','e',' ','U','R','L',',',' ','f','o','r',' ','e','x','a','m','p','l','e',' ','\\','"','f','o','o','.','b','a','r','.','c','o','m','/','x','/','y','.','z','\\','"',' ','w','i','l','l',' ','y','i','e','l','d',' ','t','y','p','e','\\','n','n','a','m','e',' ','\\','"','y','.','z','\\','"','.','\\','n','\\','n','\\','n','J','S','O','N','\\','n','=','=','=','=','\\','n','T','h','e',' ','J','S','O','N',' ','r','e','p','r','e','s','e','n','t','a','t','i','o','n',' ','o','f',' ','a','n',' ','`','A','n','y','`',' ','v','a','l','u','e',' ','u','s','e','s',' ','t','h','e',' ','r','e','g','u','l','a','r','\\','n','r','e','p','r','e','s','e','n','t','a','t','i','o','n',' ','o','f',' ','t','h','e',' ','d','e','s','e','r','i','a','l','i','z','e','d',',',' ','e','m','b','e','d','d','e','d',' ','m','e','s','s','a','g','e',',',' ','w','i','t','h',' ','a','n','\\','n','a','d','d','i','t','i','o','n','a','l',' ','f','i','e','l','d',' ','`','@','t','y','p','e','`',' ','w','h','i','c','h',' ','c','o','n','t','a','i','n','s',' ','t','h','e',' ','t','y','p','e',' ','U','R','L','.',' ','E','x','a','m','p','l','e',':','\\','n','\\','n',' ',' ',' ',' ','p','a','c','k','a','g','e',' ','g','o','o','g','l','e','.','p','r','o','f','i','l','e',';','\\','n',' ',' ',' ',' ','m','e','s','s','a','g','e',' ','P','e','r','s','o','n',' ','{','\\','n',' ',' ',' ',' ',' ',' ','s','t','r','i','n','g',' ','f','i','r','s','t','_','n','a','m','e',' ','=',' ','1',';','\\','n',' ',' ',' ',' ',' ',' ','s','t','r','i','n','g',' ','l','a','s','t','_','n','a','m','e',' ','=',' ','2',';','\\','n',' ',' ',' ',' ','}','\\','n','\\','n',' ',' ',' ',' ','{','\\','n',' ',' ',' ',' ',' ',' ','\\','"','@','t','y','p','e','\\','"',':',' ','\\','"','t','y','p','e','.','g','o','o','g','l','e','a','p','i','s','.','c','o','m','/','g','o','o','g','l','e','.','p','r','o','f','i','l','e','.','P','e','r','s','o','n','\\','"',',','\\','n',' ',' ',' ',' ',' ',' ','\\','"','f','i','r','s','t','N','a','m','e','\\','"',':',' ','\\','u','0','0','3','c','s','t','r','i','n','g','\\','u','0','0','3','e',',','\\','n',' ',' ',' ',' ',' ',' ','\\','"','l','a','s','t','N','a','m','e','\\','"',':',' ','\\','u','0','0','3','c','s','t','r','i','n','g','\\','u','0','0','3','e','\\','n',' ',' ',' ',' ','}','\\','n','\\','n','I','f',' ','t','h','e',' ','e','m','b','e','d','d','e','d',' ','m','e','s','s','a','g','e',' ','t','y','p','e',' ','i','s',' ','w','e','l','l','-','k','n','o','w','n',' ','a','n','d',' ','h','a','s',' ','a',' ','c','u','s','t','o','m',' ','J','S','O','N','\\','n','r','e','p','r','e','s','e','n','t','a','t','i','o','n',',',' ','t','h','a','t',' ','r','e','p','r','e','s','e','n','t','a','t','i','o','n',' ','w','i','l','l',' ','b','e',' ','e','m','b','e','d','d','e','d',' ','a','d','d','i','n','g',' ','a',' ','f','i','e','l','d','\\','n','`','v','a','l','u','e','`',' ','w','h','i','c','h',' ','h','o','l','d','s',' ','t','h','e',' ','c','u','s','t','o','m',' ','J','S','O','N',' ','i','n',' ','a','d','d','i','t','i','o','n',' ','t','o',' ','t','h','e',' ','`','@','t','y','p','e','`','\\','n','f','i','e','l','d','.',' ','E','x','a','m','p','l','e',' ','(','f','o','r',' ','m','e','s','s','a','g','e',' ','[','g','o','o','g','l','e','.','p','r','o','t','o','b','u','f','.','D','u','r','a','t','i','o','n',']','[',']',')',':','\\','n','\\','n',' ',' ',' ',' ','{','\\','n',' ',' ',' ',' ',' ',' ','\\','"','@','t','y','p','e','\\','"',':',' ','\\','"','t','y','p','e','.','g','o','o','g','l','e','a','p','i','s','.','c','o','m','/','g','o','o','g','l','e','.','p','r','o','t','o','b','u','f','.','D','u','r','a','t','i','o','n','\\','"',',','\\','n',' ',' ',' ',' ',' ',' ','\\','"','v','a','l','u','e','\\','"',':',' ','\\','"','1','.','2','1','2','s','\\','"','\\','n',' ',' ',' ',' ','}','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','p','r','o','t','o','b','u','f','N','u','l','l','V','a','l','u','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"',',','\n',' ',' ',' ',' ',' ',' ','"','e','n','u','m','"',':',' ','[','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','N','U','L','L','_','V','A','L','U','E','"','\n',' ',' ',' ',' ',' ',' ',']',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','f','a','u','l','t','"',':',' ','"','N','U','L','L','_','V','A','L','U','E','"',',','\n',' ',' ',' ',' ',' ',' ','"','d','e','s','c','r','i','p','t','i','o','n','"',':',' ','"','`','N','u','l','l','V','a','l','u','e','`',' ','i','s',' ','a',' ','s','i','n','g','l','e','t','o','n',' ','e','n','u','m','e','r','a','t','i','o','n',' ','t','o',' ','r','e','p','r','e','s','e','n','t',' ','t','h','e',' ','n','u','l','l',' ','v','a','l','u','e',' ','f','o','r',' ','t','h','e','\\','n','`','V','a','l','u','e','`',' ','t','y','p','e',' ','u','n','i','o','n','.','\\','n','\\','n',' ','T','h','e',' ','J','S','O','N',' ','r','e','p','r','e','s','e','n','t','a','t','i','o','n',' ','f','o','r',' ','`','N','u','l','l','V','a','l','u','e','`',' ','i','s',' ','J','S','O','N',' ','`','n','u','l','l','`','.','\\','n','\\','n',' ','-',' ','N','U','L','L','_','V','A','L','U','E',':',' ','N','u','l','l',' ','v','a','l','u','e','.','"','\n',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ','"','r','u','n','t','i','m','e','E','r','r','o','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','o','b','j','e','c','t','"',',','\n',' ',' ',' ',' ',' ',' ','"','p','r','o','p','e','r','t','i','e','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','e','r','r','o','r','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','c','o','d','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','i','n','t','e','g','e','r','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','f','o','r','m','a','t','"',':',' ','"','i','n','t','3','2','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','m','e','s','s','a','g','e','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','s','t','r','i','n','g','"','\n',' ',' ',' ',' ',' ',' ',' ',' ','}',',','\n',' ',' ',' ',' ',' ',' ',' ',' ','"','d','e','t','a','i','l','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','t','y','p','e','"',':',' ','"','a','r','r','a','y','"',',','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','i','t','e','m','s','"',':',' ','{','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','"','$','r','e','f','"',':',' ','"','#','/','d','e','f','i','n','i','t','i','o','n','s','/','p','r','o','t','o','b','u','f','A','n','y','"','\n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ',' ',' ','}','\n',' ',' ',' ',' ','}','\n',' ',' ','}','\n','}','\n', } diff --git a/go/swaggerhandler/apidocs.swagger.json b/go/swaggerhandler/apidocs.swagger.json index e5d34a7..9f5804c 100644 --- a/go/swaggerhandler/apidocs.swagger.json +++ b/go/swaggerhandler/apidocs.swagger.json @@ -110,7 +110,7 @@ }, "/api/v1/dataset/create": { "post": { - "summary": "CreateNewDataset Creates a new dataset", + "summary": "CreateNewDataset Creates a new dataset and associates it with a dataset", "operationId": "DatasetService_CreateNewDataset", "responses": { "200": { @@ -141,15 +141,15 @@ ] } }, - "/api/v1/dataset/delete": { + "/api/v1/dataset/update": { "post": { - "summary": "DeleteDataset Delete a dataset", - "operationId": "DatasetService_DeleteDataset", + "summary": "Updates a field of a dataset", + "operationId": "DatasetService_UpdateDatasetField", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/Empty" + "$ref": "#/definitions/DatasetEntry" } }, "default": { @@ -165,7 +165,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ID" + "$ref": "#/definitions/UpdateFieldsRequest" } } ], @@ -174,15 +174,15 @@ ] } }, - "/api/v1/dataset/list": { + "/api/v1/dataset/updateversion": { "post": { - "summary": "Datasets Lists all datasets", - "operationId": "DatasetService_Datasets", + "summary": "Updates the current dataset version of a dataset", + "operationId": "DatasetService_UpdateCurrentDatasetVersion", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DatasetList" + "$ref": "#/definitions/DatasetEntry" } }, "default": { @@ -198,7 +198,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ID" + "$ref": "#/definitions/UpdateCurrentDatasetVersionRequest" } } ], @@ -207,14 +207,15 @@ ] } }, - "/api/v1/datasetobjectgroup/create": { - "post": { - "operationId": "DatasetService_CreateDatasetObjectGroup", + "/api/v1/dataset/{ID}": { + "delete": { + "summary": "DeleteDataset Delete a dataset\nDatasets can only be deleted if", + "operationId": "DatasetService_DeleteDataset", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateDatasetObjectReponse" + "$ref": "#/definitions/Empty" } }, "default": { @@ -226,12 +227,10 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "ID", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/CreateDatasetObjectGroupRequest" - } + "type": "string" } ], "tags": [ @@ -239,15 +238,15 @@ ] } }, - "/api/v1/datasetobjectgroup/list": { - "post": { - "summary": "Lists all entities of a dataset", - "operationId": "DatasetService_DatasetVersionObjectGroups", + "/api/v1/dataset/{ID}/versions": { + "get": { + "summary": "Lists Versions of a dataset", + "operationId": "DatasetService_DatasetVersions", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DatasetObjectGroupList" + "$ref": "#/definitions/DatasetVersionList" } }, "default": { @@ -259,12 +258,10 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "ID", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/ID" - } + "type": "string" } ], "tags": [ @@ -272,15 +269,15 @@ ] } }, - "/api/v1/datasetversion/create": { + "/api/v1/datasetobjectgroup/create": { "post": { - "summary": "Creates a new dataset version based on an existing dataset", - "operationId": "DatasetService_CreateNewDatasetVersion", + "summary": "CreateDatsetObjectGroup Creates a new dataset object group in the database\nWill also create all related dataset objects", + "operationId": "ObjectsService_CreateDatsetObjectGroup", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DatasetVersionEntry" + "$ref": "#/definitions/DatasetObjectGroup" } }, "default": { @@ -296,19 +293,48 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/NewDatasetVersionRequest" + "$ref": "#/definitions/CreateDatasetObjectGroupRequest" } } ], "tags": [ - "DatasetService" + "ObjectsService" ] } }, - "/api/v1/datasetversion/delete": { - "post": { - "summary": "Deletes a dataset version\nThis should not delete the underlaying dataset objects", - "operationId": "DatasetService_DeleteDatasetVersion", + "/api/v1/datasetobjectgroup/{ID}": { + "get": { + "summary": "GetDatasetObjectGroup The dataset object group with the given ID\nWill only return a dataset object group without its affiliated objects", + "operationId": "ObjectsService_GetDatasetObjectGroup", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/DatasetObjectGroup" + } + }, + "default": { + "description": "An unexpected error response", + "schema": { + "$ref": "#/definitions/runtimeError" + } + } + }, + "parameters": [ + { + "name": "ID", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "ObjectsService" + ] + }, + "delete": { + "summary": "DeleteDatasetObjectGroup Deletes the given dataset group and all associated dataset objects\nCan only be used when all linked dataset versions have been deleted", + "operationId": "ObjectsService_DeleteDatasetObjectGroup", "responses": { "200": { "description": "A successful response.", @@ -325,22 +351,52 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "ID", + "in": "path", "required": true, + "type": "string" + } + ], + "tags": [ + "ObjectsService" + ] + } + }, + "/api/v1/datasets/{ID}": { + "get": { + "summary": "Datasets Lists all datasets of a user", + "operationId": "DatasetService_Datasets", + "responses": { + "200": { + "description": "A successful response.", "schema": { - "$ref": "#/definitions/ID" + "$ref": "#/definitions/DatasetList" + } + }, + "default": { + "description": "An unexpected error response", + "schema": { + "$ref": "#/definitions/runtimeError" } } + }, + "parameters": [ + { + "name": "ID", + "in": "path", + "required": true, + "type": "string" + } ], "tags": [ "DatasetService" ] } }, - "/api/v1/datasetversion/get": { + "/api/v1/datasetversion/create": { "post": { - "operationId": "DatasetService_GetDatasetVersion", + "summary": "Creates a new dataset version which is linked to an exisiting dataset", + "operationId": "DatasetService_CreateNewDatasetVersion", "responses": { "200": { "description": "A successful response.", @@ -361,7 +417,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ID" + "$ref": "#/definitions/CreateDatasetVersionRequest" } } ], @@ -370,15 +426,14 @@ ] } }, - "/api/v1/datasetversion/list": { + "/api/v1/datasetversion/update": { "post": { - "summary": "Lists Versions of a dataset", - "operationId": "DatasetService_DatasetVersions", + "operationId": "DatasetService_UpdateDatasetVersionField", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DatasetVersionList" + "$ref": "#/definitions/DatasetEntry" } }, "default": { @@ -394,7 +449,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ID" + "$ref": "#/definitions/UpdateFieldsRequest" } } ], @@ -403,10 +458,38 @@ ] } }, - "/api/v1/datasetversion/update/objectcount": { - "post": { - "summary": "Updates the expected number of objects in a dataset", - "operationId": "DatasetService_UpdateDatasetVersionObjectCount", + "/api/v1/datasetversion/{ID}": { + "get": { + "operationId": "DatasetService_GetDatasetVersion", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/DatasetVersionEntry" + } + }, + "default": { + "description": "An unexpected error response", + "schema": { + "$ref": "#/definitions/runtimeError" + } + } + }, + "parameters": [ + { + "name": "ID", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "DatasetService" + ] + }, + "delete": { + "summary": "Deletes a dataset version\nThis should not delete the underlaying dataset objects", + "operationId": "DatasetService_DeleteDatasetVersion", "responses": { "200": { "description": "A successful response.", @@ -423,13 +506,42 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "ID", + "in": "path", "required": true, + "type": "string" + } + ], + "tags": [ + "DatasetService" + ] + } + }, + "/api/v1/datasetversion/{ID}/objectgroups": { + "get": { + "summary": "DatasetVersionObjectGroups Lists all objects groups that are part of the given dataset version", + "operationId": "DatasetService_DatasetVersionObjectGroups", + "responses": { + "200": { + "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateDatasetVersionObjectCountRequest" + "$ref": "#/definitions/DatasetObjectGroupList" + } + }, + "default": { + "description": "An unexpected error response", + "schema": { + "$ref": "#/definitions/runtimeError" } } + }, + "parameters": [ + { + "name": "ID", + "in": "path", + "required": true, + "type": "string" + } ], "tags": [ "DatasetService" @@ -439,7 +551,7 @@ "/api/v1/load/createlinks": { "post": { "summary": "Creates a list of upload links to place dataset entities in object storage\nand adds corresponding metadata objects", - "operationId": "LoadService_CreateUploadLink", + "operationId": "LoadService_GetUploadLink", "responses": { "200": { "description": "A successful response.", @@ -631,7 +743,7 @@ }, "/api/v1/metadata/initcollection": { "post": { - "operationId": "MetadataCompositeStore_InitMetadataDBCollection", + "operationId": "MetadataCompositeStore_CreateMetadataDBCollection", "responses": { "200": { "description": "A successful response.", @@ -663,7 +775,7 @@ }, "/api/v1/metadata/initdb": { "post": { - "operationId": "MetadataCompositeStore_InitMetadataDB", + "operationId": "MetadataCompositeStore_CreateMetadataDB", "responses": { "200": { "description": "A successful response.", @@ -1032,20 +1144,6 @@ } } }, - "CreateDatasetObjectReponse": { - "type": "object", - "properties": { - "DatasetObjectGroup": { - "$ref": "#/definitions/DatasetObjectGroup" - }, - "DatasetObjects": { - "type": "array", - "items": { - "$ref": "#/definitions/DatasetObjectEntry" - } - } - } - }, "CreateDatasetObjectRequest": { "type": "object", "properties": { @@ -1095,6 +1193,32 @@ "description": "Data required to start loading a dataset into the BioDataDB", "title": "InitLoadDataset" }, + "CreateDatasetVersionRequest": { + "type": "object", + "properties": { + "DatasetID": { + "type": "string" + }, + "Version": { + "$ref": "#/definitions/Version" + }, + "AdditionalMetadataMessageRef": { + "type": "string" + }, + "AdditionalObjectMetadataMessageRef": { + "type": "string" + }, + "AdditionalMetadata": { + "type": "object" + }, + "ExpectedObjectCount": { + "type": "string", + "format": "int64" + } + }, + "description": "Creates a new dataset version", + "title": "CreateDatasetVersionRequest" + }, "CreateProjectRequest": { "type": "object", "properties": { @@ -1241,9 +1365,6 @@ }, "Status": { "$ref": "#/definitions/Status" - }, - "DatasetObjectGroup": { - "type": "string" } }, "description": "Representation of a dataset entity", @@ -1255,7 +1376,7 @@ "ID": { "type": "string" }, - "DatasetObjectAnchor": { + "DatasetGroupHistoryID": { "type": "string" }, "Name": { @@ -1272,6 +1393,15 @@ "items": { "type": "string" } + }, + "Objects": { + "type": "array", + "items": { + "$ref": "#/definitions/DatasetObjectEntry" + } + }, + "AdditionalMetadata": { + "type": "object" } }, "description": "A set of dataset objects that are bundled together for easier management. An example use case would be a set of binary data objects along with an index file.", @@ -1283,27 +1413,13 @@ "DatasetObjectGroups": { "type": "array", "items": { - "$ref": "#/definitions/DatasetObjectGroupObjectContainer" + "$ref": "#/definitions/DatasetObjectGroup" } } }, - "description": "A list of datasets", + "description": "A list of dataset objects groups", "title": "DatasetList" }, - "DatasetObjectGroupObjectContainer": { - "type": "object", - "properties": { - "DatasetObjectGroup": { - "$ref": "#/definitions/DatasetObjectGroup" - }, - "Objects": { - "type": "array", - "items": { - "$ref": "#/definitions/DatasetObjectEntry" - } - } - } - }, "DatasetVersionEntry": { "type": "object", "properties": { @@ -1602,32 +1718,6 @@ } } }, - "NewDatasetVersionRequest": { - "type": "object", - "properties": { - "DatasetID": { - "type": "string" - }, - "Version": { - "$ref": "#/definitions/Version" - }, - "AdditionalMetadataMessageRef": { - "type": "string" - }, - "AdditionalObjectMetadataMessageRef": { - "type": "string" - }, - "AdditionalMetadata": { - "type": "object" - }, - "ExpectedObjectCount": { - "type": "string", - "format": "int64" - } - }, - "description": "Creates a new dataset version", - "title": "NewDatasetVersionRequest" - }, "ObjectDownloadLink": { "type": "object", "properties": { @@ -1746,6 +1836,15 @@ ], "default": "Read" }, + "Stage": { + "type": "string", + "enum": [ + "Stable", + "Beta", + "Alpha" + ], + "default": "Stable" + }, "Status": { "type": "string", "enum": [ @@ -1824,18 +1923,43 @@ "description": "Lists all available api tokens for a user", "title": "TokenList" }, - "UpdateDatasetVersionObjectCountRequest": { + "UpdateCurrentDatasetVersionRequest": { "type": "object", "properties": { - "DatasetVersionID": { + "ID": { "type": "string" }, - "Value": { - "type": "string", - "format": "int64" + "UpdateTargetID": { + "type": "string" }, - "DatasetID": { + "TargetResource": { + "$ref": "#/definitions/Resource" + }, + "UpdateStage": { + "$ref": "#/definitions/Stage" + } + }, + "description": "Updates the current version entry.", + "title": "UpdateCurrentDatasetVersionRequest" + }, + "UpdateFieldsRequest": { + "type": "object", + "properties": { + "ID": { "type": "string" + }, + "UpdateStringFields": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "UpdateInt64Fields": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + } } } }, diff --git a/proto/CommonModels.proto b/proto/CommonModels.proto index 6c94b96..0df8258 100644 --- a/proto/CommonModels.proto +++ b/proto/CommonModels.proto @@ -19,6 +19,12 @@ enum Resource { DatasetObjectGroupResource = 4; } +enum Stage { + Stable = 0; + Beta = 1; + Alpha = 2; +} + message User { string UserID = 1; repeated Right Rights = 2; diff --git a/proto/DatasetAPI.proto b/proto/DatasetAPI.proto index 4e2132a..b198306 100644 --- a/proto/DatasetAPI.proto +++ b/proto/DatasetAPI.proto @@ -2,7 +2,7 @@ syntax = "proto3"; option go_package = "github.com/ag-computational-bio/BioDataDBModels/go/api"; -import "proto/DatasetModels.proto"; +import "proto/DatasetAPIModels.proto"; import "proto/DatasetEntryModels.proto"; import "proto/CommonModels.proto"; import "google/api/annotations.proto"; @@ -12,8 +12,9 @@ import "google/api/annotations.proto"; // All data objects are associated with one data dataset // Dataset versions group these data objects, which makes them reusable service DatasetService { + //Dataset calls - // CreateNewDataset Creates a new dataset + // CreateNewDataset Creates a new dataset and associates it with a dataset rpc CreateNewDataset(CreateDatasetRequest) returns (DatasetEntry) { option (google.api.http) = { post: "/api/v1/dataset/create" @@ -21,24 +22,49 @@ service DatasetService { }; } - // Datasets Lists all datasets + // Datasets Lists all datasets of a user rpc Datasets(ID) returns (DatasetList) { option (google.api.http) = { - post: "/api/v1/dataset/list" + get: "/api/v1/datasets/{ID}" + }; + } + + // Lists Versions of a dataset + rpc DatasetVersions(ID) returns (DatasetVersionList) { + option (google.api.http) = { + get: "/api/v1/dataset/{ID}/versions" + }; + } + + // Updates a field of a dataset + rpc UpdateDatasetField(UpdateFieldsRequest) returns (DatasetEntry) { + option (google.api.http) = { + post: "/api/v1/dataset/update" + body: "*" + }; + } + + // Updates the current dataset version of a dataset + rpc UpdateCurrentDatasetVersion(UpdateCurrentDatasetVersionRequest) returns (DatasetEntry) { + option (google.api.http) = { + post: "/api/v1/dataset/updateversion" body: "*" }; } // DeleteDataset Delete a dataset + // Datasets can only be deleted if rpc DeleteDataset(ID) returns (Empty) { option (google.api.http) = { - post: "/api/v1/dataset/delete" - body: "*" + delete: "/api/v1/dataset/{ID}" }; } - // Creates a new dataset version based on an existing dataset - rpc CreateNewDatasetVersion(NewDatasetVersionRequest) returns (DatasetVersionEntry) { + //--------------------------------------------------------------------------------------- + // Dataset version calls + + // Creates a new dataset version which is linked to an exisiting dataset + rpc CreateNewDatasetVersion(CreateDatasetVersionRequest) returns (DatasetVersionEntry) { option (google.api.http) = { post: "/api/v1/datasetversion/create" body: "*" @@ -46,51 +72,69 @@ service DatasetService { } - // Lists Versions of a dataset - rpc DatasetVersions(ID) returns (DatasetVersionList) { + rpc GetDatasetVersion(ID) returns (DatasetVersionEntry){ option (google.api.http) = { - post: "/api/v1/datasetversion/list" - body: "*" + get: "/api/v1/datasetversion/{ID}" }; } - rpc GetDatasetVersion(ID) returns (DatasetVersionEntry){ + rpc UpdateDatasetVersionField(UpdateFieldsRequest) returns (DatasetEntry) { option (google.api.http) = { - post: "/api/v1/datasetversion/get" + post: "/api/v1/datasetversion/update" body: "*" }; } - // Deletes a dataset version // This should not delete the underlaying dataset objects rpc DeleteDatasetVersion(ID) returns (Empty) { option (google.api.http) = { - post: "/api/v1/datasetversion/delete" - body: "*" + delete: "/api/v1/datasetversion/{ID}" + }; + } + + + //DatasetVersionObjectGroups Lists all objects groups that are part of the given dataset version + rpc DatasetVersionObjectGroups(ID) returns (DatasetObjectGroupList) { + option (google.api.http) = { + get: "/api/v1/datasetversion/{ID}/objectgroups" }; } - // Updates the expected number of objects in a dataset - rpc UpdateDatasetVersionObjectCount(UpdateDatasetVersionObjectCountRequest) returns (Empty) { + } + + service ObjectsService { + // Object group calls + + //CreateDatsetObjectGroup Creates a new dataset object group in the database + //Will also create all related dataset objects + rpc CreateDatsetObjectGroup (CreateDatasetObjectGroupRequest) returns (DatasetObjectGroup) { option (google.api.http) = { - post: "/api/v1/datasetversion/update/objectcount" + post: "/api/v1/datasetobjectgroup/create" body: "*" }; } - // Lists all entities of a dataset + //DatasetVersionObjectGroups Lists all objects groups that are part of the given dataset version rpc DatasetVersionObjectGroups(ID) returns (DatasetObjectGroupList) { option (google.api.http) = { - post: "/api/v1/datasetobjectgroup/list" - body: "*" + get: "/api/v1/datasetobjectgroup/{ID}" }; } - rpc CreateDatasetObjectGroup (CreateDatasetObjectGroupRequest) returns (CreateDatasetObjectReponse) { + //GetDatasetObjectGroup The dataset object group with the given ID + //Will only return a dataset object group without its affiliated objects + rpc GetDatasetObjectGroup(ID) returns (DatasetObjectGroup) { option (google.api.http) = { - post: "/api/v1/datasetobjectgroup/create" - body: "*" + get: "/api/v1/datasetobjectgroup/{ID}" }; } - } + + //DeleteDatasetObjectGroup Deletes the given dataset group and all associated dataset objects + //Can only be used when all linked dataset versions have been deleted + rpc DeleteDatasetObjectGroup(ID) returns (Empty) { + option (google.api.http) = { + delete: "/api/v1/datasetobjectgroup/{ID}" + }; + } + } \ No newline at end of file diff --git a/proto/DatasetModels.proto b/proto/DatasetAPIModels.proto similarity index 77% rename from proto/DatasetModels.proto rename to proto/DatasetAPIModels.proto index ed09fd1..5dd07e0 100644 --- a/proto/DatasetModels.proto +++ b/proto/DatasetAPIModels.proto @@ -8,33 +8,11 @@ import "proto/DatasetEntryModels.proto"; import "protoc/gateway/options/annotations.proto"; import "google/protobuf/timestamp.proto"; -// These messages are used as templates for the Database storage schemas - -message DatasetObjectLinks { - option (grpc.gateway.protoc_gen_swagger.options.openapiv2_schema) = { - json_schema: { - title: "DatasetLinks"; - description: "List of links to download the entities of a dataset" - }; - }; - string ID = 1; - repeated DatasetObjectLink Entites = 2; -} - -message DatasetObjectLink { - option (grpc.gateway.protoc_gen_swagger.options.openapiv2_schema) = { - json_schema: { - title: "DatasetObjectLink"; - description: "Links to download a specific entity of a dataset" - }; - }; - string Link = 1; - string ObjectID = 2; - DatasetObjectEntry Object = 3; +// These messages are used inside the DatasetAPI -} +// Dataset related Models message CreateDatasetRequest { option (grpc.gateway.protoc_gen_swagger.options.openapiv2_schema) = { example: { value: '{ "DatasetName": "test", "Datatype": "test2", "ProjectID": "testProject" }' } @@ -48,11 +26,6 @@ message CreateDatasetRequest { string ProjectID = 3; //ProjectID of the project the dataset is associated with } -message UpdateDatasetVersionObjectCountRequest { - string DatasetVersionID = 1; - int64 Value = 2; - string DatasetID = 3; -} message DatasetList { option (grpc.gateway.protoc_gen_swagger.options.openapiv2_schema) = { @@ -64,46 +37,44 @@ message DatasetList { repeated DatasetEntry Datasets = 1; } -message DatasetVersionList { + +//-------------------------------------------------------------------------------------------------------------- +// Dataset version models + +message CreateDatasetVersionRequest { option (grpc.gateway.protoc_gen_swagger.options.openapiv2_schema) = { json_schema: { - title: "DatasetList"; - description: "A list of datasetversions" + title: "CreateDatasetVersionRequest"; + description: "Creates a new dataset version" }; }; - repeated DatasetVersionEntry DatasetVersions = 2; + string DatasetID = 1; // ID of the parent Dataset + Version Version = 2; // Version of the Dataset + string AdditionalMetadataMessageRef = 3; // Message reference for the metadata + string AdditionalObjectMetadataMessageRef = 4; // Message reference for the metadata of the objects associated with this DatasetVersion + google.protobuf.Struct AdditionalMetadata = 5; // Additional metadata for the dataset version + int64 ExpectedObjectCount = 6; // Expected objects } -message DatasetObjectGroupList { +message DatasetVersionList { option (grpc.gateway.protoc_gen_swagger.options.openapiv2_schema) = { json_schema: { title: "DatasetList"; - description: "A list of datasets" + description: "A list of datasetversions" }; }; - repeated DatasetObjectGroupObjectContainer DatasetObjectGroups = 1; + repeated DatasetVersionEntry DatasetVersions = 2; } -message DatasetObjectGroupObjectContainer { - DatasetObjectGroup DatasetObjectGroup = 1; - repeated DatasetObjectEntry Objects = 2; +message UpdateDatasetVersionObjectCountRequest { + string DatasetVersionID = 1; + int64 Value = 2; + string DatasetID = 3; } -message NewDatasetVersionRequest { - option (grpc.gateway.protoc_gen_swagger.options.openapiv2_schema) = { - json_schema: { - title: "NewDatasetVersionRequest"; - description: "Creates a new dataset version" - }; - }; - string DatasetID = 1; // ID of the parent Dataset - Version Version = 2; // Version of the Dataset - string AdditionalMetadataMessageRef = 3; // Message reference for the metadata - string AdditionalObjectMetadataMessageRef = 4; // Message reference for the metadata of the objects associated with this DatasetVersion - google.protobuf.Struct AdditionalMetadata = 5; // Additional metadata for the dataset version - int64 ExpectedObjectCount = 6; // Expected objects -} +//------------------------------------------------------------------------------------------------------ +// Dataset object and group models message CreateDatasetObjectGroupRequest { string DatasetObjectAnchor = 1; @@ -124,7 +95,54 @@ message CreateDatasetObjectRequest { string UploadID = 9; } -message CreateDatasetObjectReponse { - DatasetObjectGroup DatasetObjectGroup = 1; - repeated DatasetObjectEntry DatasetObjects = 2; +message DatasetObjectGroupList { + option (grpc.gateway.protoc_gen_swagger.options.openapiv2_schema) = { + json_schema: { + title: "DatasetList"; + description: "A list of dataset objects groups" + }; + }; + repeated DatasetObjectGroup DatasetObjectGroups = 1; +} + +message DatasetObjectLinks { + option (grpc.gateway.protoc_gen_swagger.options.openapiv2_schema) = { + json_schema: { + title: "DatasetLinks"; + description: "List of links to download the entities of a dataset" + }; + }; + string ID = 1; + repeated DatasetObjectLink Entites = 2; +} + +message DatasetObjectLink { + option (grpc.gateway.protoc_gen_swagger.options.openapiv2_schema) = { + json_schema: { + title: "DatasetObjectLink"; + description: "Links to download a specific entity of a dataset" + }; + }; + string Link = 1; + string ObjectID = 2; + DatasetObjectEntry Object = 3; +} + +message UpdateFieldsRequest { + string ID = 1; + map UpdateStringFields = 2; + map UpdateInt64Fields = 3; +} + +message UpdateCurrentDatasetVersionRequest { + option (grpc.gateway.protoc_gen_swagger.options.openapiv2_schema) = { + json_schema: { + title: "UpdateCurrentDatasetVersionRequest"; + description: "Updates the current version entry." + }; + }; + string ID = 1; + string UpdateTargetID = 2; + Resource TargetResource = 3; + Stage UpdateStage = 4; } \ No newline at end of file diff --git a/proto/DatasetEntryModels.proto b/proto/DatasetEntryModels.proto index 46304ee..721def9 100644 --- a/proto/DatasetEntryModels.proto +++ b/proto/DatasetEntryModels.proto @@ -88,7 +88,6 @@ message DatasetObjectEntry { google.protobuf.Struct AdditionalMetadata = 8; // Additional metadata of the object string UploadID = 9; Status Status = 10; - string DatasetObjectGroup = 11; } message DatasetObjectGroup { @@ -100,9 +99,12 @@ message DatasetObjectGroup { }; string ID = 1; - string DatasetObjectAnchor = 2; + string DatasetGroupHistoryID = 2; string Name = 3; Version Version = 4; string DatasetID = 5; // DatasetID: ID of the parent dataset repeated string DatasetVersionID = 6; // DatasetVersionID: ID of the parent dataset version + repeated DatasetObjectEntry Objects = 7; + google.protobuf.Struct AdditionalMetadata = 8; // Additional metadata of the object + } diff --git a/proto/LoadAPI.proto b/proto/LoadAPI.proto index 4cb500e..4186f2e 100644 --- a/proto/LoadAPI.proto +++ b/proto/LoadAPI.proto @@ -13,7 +13,7 @@ import "google/api/annotations.proto"; service LoadService { // Creates a list of upload links to place dataset entities in object storage // and adds corresponding metadata objects - rpc CreateUploadLink(CreateUploadLinkRequest) returns (CreateUploadLinkResponse) { + rpc GetUploadLink(CreateUploadLinkRequest) returns (CreateUploadLinkResponse) { option (google.api.http) = { post: "/api/v1/load/createlinks" body: "*" diff --git a/proto/MetadataAPI.proto b/proto/MetadataAPI.proto index 1618c75..f68b8b7 100644 --- a/proto/MetadataAPI.proto +++ b/proto/MetadataAPI.proto @@ -8,7 +8,7 @@ import "proto/CommonModels.proto"; import "google/api/annotations.proto"; service MetadataCompositeStore { - rpc InitMetadataDB(InitMetadataDBRequest) returns (MetadataDBEntry) { + rpc CreateMetadataDB(InitMetadataDBRequest) returns (MetadataDBEntry) { option (google.api.http) = { post: "/api/v1/metadata/initdb" body: "*" @@ -21,7 +21,7 @@ service MetadataCompositeStore { }; } - rpc InitMetadataDBCollection(InitMetadataCollectionRequest) returns (MetadataDBEntry) { + rpc CreateMetadataDBCollection(InitMetadataCollectionRequest) returns (MetadataDBEntry) { option (google.api.http) = { post: "/api/v1/metadata/initcollection" body: "*" diff --git a/proto/ProjectAPI.proto b/proto/ProjectAPI.proto index 958b818..466627e 100644 --- a/proto/ProjectAPI.proto +++ b/proto/ProjectAPI.proto @@ -2,7 +2,7 @@ syntax = "proto3"; option go_package = "github.com/ag-computational-bio/BioDataDBModels/go/api"; -import "proto/DatasetModels.proto"; +import "proto/DatasetAPIModels.proto"; import "proto/CommonModels.proto"; import "proto/ProjectEntryModels.proto"; import "proto/ProjectModels.proto"; diff --git a/ruby/lib/CommonModels_pb.rb b/ruby/lib/CommonModels_pb.rb index 115259d..498a195 100644 --- a/ruby/lib/CommonModels_pb.rb +++ b/ruby/lib/CommonModels_pb.rb @@ -60,6 +60,11 @@ value :DatasetObject, 3 value :DatasetObjectGroupResource, 4 end + add_enum "Stage" do + value :Stable, 0 + value :Beta, 1 + value :Alpha, 2 + end end end @@ -75,3 +80,4 @@ IDList = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("IDList").msgclass Right = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Right").enummodule Resource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Resource").enummodule +Stage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("Stage").enummodule diff --git a/ruby/lib/DatasetAPIModels_pb.rb b/ruby/lib/DatasetAPIModels_pb.rb new file mode 100644 index 0000000..6f9d9e4 --- /dev/null +++ b/ruby/lib/DatasetAPIModels_pb.rb @@ -0,0 +1,91 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: proto/DatasetAPIModels.proto + +require 'google/protobuf' + +require 'google/protobuf/struct_pb' +require 'proto/CommonModels_pb' +require 'proto/DatasetEntryModels_pb' +require 'protoc/gateway/options/annotations_pb' +require 'google/protobuf/timestamp_pb' +Google::Protobuf::DescriptorPool.generated_pool.build do + add_file("proto/DatasetAPIModels.proto", :syntax => :proto3) do + add_message "CreateDatasetRequest" do + optional :DatasetName, :string, 1 + optional :Datatype, :string, 2 + optional :ProjectID, :string, 3 + end + add_message "DatasetList" do + repeated :Datasets, :message, 1, "DatasetEntry" + end + add_message "CreateDatasetVersionRequest" do + optional :DatasetID, :string, 1 + optional :Version, :message, 2, "Version" + optional :AdditionalMetadataMessageRef, :string, 3 + optional :AdditionalObjectMetadataMessageRef, :string, 4 + optional :AdditionalMetadata, :message, 5, "google.protobuf.Struct" + optional :ExpectedObjectCount, :int64, 6 + end + add_message "DatasetVersionList" do + repeated :DatasetVersions, :message, 2, "DatasetVersionEntry" + end + add_message "UpdateDatasetVersionObjectCountRequest" do + optional :DatasetVersionID, :string, 1 + optional :Value, :int64, 2 + optional :DatasetID, :string, 3 + end + add_message "CreateDatasetObjectGroupRequest" do + optional :DatasetObjectAnchor, :string, 1 + optional :Name, :string, 2 + optional :Version, :message, 3, "Version" + optional :DatasetID, :string, 4 + repeated :DatasetVersionID, :string, 5 + repeated :DatasetObjects, :message, 6, "CreateDatasetObjectRequest" + end + add_message "CreateDatasetObjectRequest" do + optional :Filename, :string, 1 + optional :Filetype, :string, 2 + optional :Origin, :message, 3, "Origin" + optional :Created, :message, 4, "google.protobuf.Timestamp" + optional :AdditionalMetadata, :message, 5, "google.protobuf.Struct" + optional :ContentLen, :int64, 8 + optional :UploadID, :string, 9 + end + add_message "DatasetObjectGroupList" do + repeated :DatasetObjectGroups, :message, 1, "DatasetObjectGroup" + end + add_message "DatasetObjectLinks" do + optional :ID, :string, 1 + repeated :Entites, :message, 2, "DatasetObjectLink" + end + add_message "DatasetObjectLink" do + optional :Link, :string, 1 + optional :ObjectID, :string, 2 + optional :Object, :message, 3, "DatasetObjectEntry" + end + add_message "UpdateFieldsRequest" do + optional :ID, :string, 1 + map :UpdateStringFields, :string, :string, 2 + map :UpdateInt64Fields, :string, :int64, 3 + end + add_message "UpdateCurrentDatasetVersionRequest" do + optional :ID, :string, 1 + optional :UpdateTargetID, :string, 2 + optional :TargetResource, :enum, 3, "Resource" + optional :UpdateStage, :enum, 4, "Stage" + end + end +end + +CreateDatasetRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("CreateDatasetRequest").msgclass +DatasetList = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("DatasetList").msgclass +CreateDatasetVersionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("CreateDatasetVersionRequest").msgclass +DatasetVersionList = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("DatasetVersionList").msgclass +UpdateDatasetVersionObjectCountRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("UpdateDatasetVersionObjectCountRequest").msgclass +CreateDatasetObjectGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("CreateDatasetObjectGroupRequest").msgclass +CreateDatasetObjectRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("CreateDatasetObjectRequest").msgclass +DatasetObjectGroupList = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("DatasetObjectGroupList").msgclass +DatasetObjectLinks = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("DatasetObjectLinks").msgclass +DatasetObjectLink = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("DatasetObjectLink").msgclass +UpdateFieldsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("UpdateFieldsRequest").msgclass +UpdateCurrentDatasetVersionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("UpdateCurrentDatasetVersionRequest").msgclass diff --git a/ruby/lib/DatasetAPI_pb.rb b/ruby/lib/DatasetAPI_pb.rb index 5ce54ee..0e6e0c5 100644 --- a/ruby/lib/DatasetAPI_pb.rb +++ b/ruby/lib/DatasetAPI_pb.rb @@ -3,7 +3,7 @@ require 'google/protobuf' -require 'proto/DatasetModels_pb' +require 'proto/DatasetAPIModels_pb' require 'proto/DatasetEntryModels_pb' require 'proto/CommonModels_pb' require 'google/api/annotations_pb' diff --git a/ruby/lib/DatasetAPI_services_pb.rb b/ruby/lib/DatasetAPI_services_pb.rb index 7a6ebfd..af6a95a 100644 --- a/ruby/lib/DatasetAPI_services_pb.rb +++ b/ruby/lib/DatasetAPI_services_pb.rb @@ -17,26 +17,58 @@ class Service self.unmarshal_class_method = :decode self.service_name = 'DatasetService' - # CreateNewDataset Creates a new dataset + # CreateNewDataset Creates a new dataset and associates it with a dataset rpc :CreateNewDataset, CreateDatasetRequest, DatasetEntry - # Datasets Lists all datasets + # Datasets Lists all datasets of a user rpc :Datasets, ID, DatasetList - # DeleteDataset Delete a dataset - rpc :DeleteDataset, ID, Empty - # Creates a new dataset version based on an existing dataset - rpc :CreateNewDatasetVersion, NewDatasetVersionRequest, DatasetVersionEntry # Lists Versions of a dataset rpc :DatasetVersions, ID, DatasetVersionList + # Updates a field of a dataset + rpc :UpdateDatasetField, UpdateFieldsRequest, DatasetEntry + # Updates the current dataset version of a dataset + rpc :UpdateCurrentDatasetVersion, UpdateCurrentDatasetVersionRequest, DatasetEntry + # DeleteDataset Delete a dataset + # Datasets can only be deleted if + rpc :DeleteDataset, ID, Empty + # --------------------------------------------------------------------------------------- + # Dataset version calls + # + # Creates a new dataset version which is linked to an exisiting dataset + rpc :CreateNewDatasetVersion, CreateDatasetVersionRequest, DatasetVersionEntry rpc :GetDatasetVersion, ID, DatasetVersionEntry + rpc :UpdateDatasetVersionField, UpdateFieldsRequest, DatasetEntry # Deletes a dataset version # This should not delete the underlaying dataset objects rpc :DeleteDatasetVersion, ID, Empty - # Updates the expected number of objects in a dataset - rpc :UpdateDatasetVersionObjectCount, UpdateDatasetVersionObjectCountRequest, Empty - # Lists all entities of a dataset + # DatasetVersionObjectGroups Lists all objects groups that are part of the given dataset version + rpc :DatasetVersionObjectGroups, ID, DatasetObjectGroupList + end + + Stub = Service.rpc_stub_class +end +# Dataset calls +module ObjectsService + class Service + + include GRPC::GenericService + + self.marshal_class_method = :encode + self.unmarshal_class_method = :decode + self.service_name = 'ObjectsService' + + # CreateDatsetObjectGroup Creates a new dataset object group in the database + # Will also create all related dataset objects + rpc :CreateDatsetObjectGroup, CreateDatasetObjectGroupRequest, DatasetObjectGroup + # DatasetVersionObjectGroups Lists all objects groups that are part of the given dataset version rpc :DatasetVersionObjectGroups, ID, DatasetObjectGroupList - rpc :CreateDatasetObjectGroup, CreateDatasetObjectGroupRequest, CreateDatasetObjectReponse + # GetDatasetObjectGroup The dataset object group with the given ID + # Will only return a dataset object group without its affiliated objects + rpc :GetDatasetObjectGroup, ID, DatasetObjectGroup + # DeleteDatasetObjectGroup Deletes the given dataset group and all associated dataset objects + # Can only be used when all linked dataset versions have been deleted + rpc :DeleteDatasetObjectGroup, ID, Empty end Stub = Service.rpc_stub_class end +# Object group calls diff --git a/ruby/lib/DatasetEntryModels_pb.rb b/ruby/lib/DatasetEntryModels_pb.rb index dd8d727..f956b8a 100644 --- a/ruby/lib/DatasetEntryModels_pb.rb +++ b/ruby/lib/DatasetEntryModels_pb.rb @@ -55,15 +55,16 @@ optional :AdditionalMetadata, :message, 8, "google.protobuf.Struct" optional :UploadID, :string, 9 optional :Status, :enum, 10, "Status" - optional :DatasetObjectGroup, :string, 11 end add_message "DatasetObjectGroup" do optional :ID, :string, 1 - optional :DatasetObjectAnchor, :string, 2 + optional :DatasetGroupHistoryID, :string, 2 optional :Name, :string, 3 optional :Version, :message, 4, "Version" optional :DatasetID, :string, 5 repeated :DatasetVersionID, :string, 6 + repeated :Objects, :message, 7, "DatasetObjectEntry" + optional :AdditionalMetadata, :message, 8, "google.protobuf.Struct" end add_enum "Status" do value :Initiating, 0 diff --git a/ruby/lib/DatasetModels_pb.rb b/ruby/lib/DatasetModels_pb.rb index 5b460c1..f4d9f0d 100644 --- a/ruby/lib/DatasetModels_pb.rb +++ b/ruby/lib/DatasetModels_pb.rb @@ -71,6 +71,17 @@ optional :DatasetObjectGroup, :message, 1, "DatasetObjectGroup" repeated :DatasetObjects, :message, 2, "DatasetObjectEntry" end + add_message "UpdateFieldsRequest" do + optional :ID, :string, 1 + map :UpdateStringFields, :string, :string, 2 + map :UpdateInt64Fields, :string, :int64, 3 + end + add_message "UpdateCurrentDatasetVersionRequest" do + optional :ID, :string, 1 + optional :UpdateTargetID, :string, 2 + optional :TargetResource, :enum, 3, "Resource" + optional :UpdateStage, :enum, 4, "Stage" + end end end @@ -86,3 +97,5 @@ CreateDatasetObjectGroupRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("CreateDatasetObjectGroupRequest").msgclass CreateDatasetObjectRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("CreateDatasetObjectRequest").msgclass CreateDatasetObjectReponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("CreateDatasetObjectReponse").msgclass +UpdateFieldsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("UpdateFieldsRequest").msgclass +UpdateCurrentDatasetVersionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("UpdateCurrentDatasetVersionRequest").msgclass diff --git a/ruby/lib/LoadAPI_services_pb.rb b/ruby/lib/LoadAPI_services_pb.rb index 485ffd3..037f434 100644 --- a/ruby/lib/LoadAPI_services_pb.rb +++ b/ruby/lib/LoadAPI_services_pb.rb @@ -18,7 +18,7 @@ class Service # Creates a list of upload links to place dataset entities in object storage # and adds corresponding metadata objects - rpc :CreateUploadLink, CreateUploadLinkRequest, CreateUploadLinkResponse + rpc :GetUploadLink, CreateUploadLinkRequest, CreateUploadLinkResponse rpc :InitMultipartUpload, InitMultipartUploadRequest, Empty rpc :GetMultipartUploadLinkPart, GetMultipartUploadLinkPartRequest, GetMultipartUploadLinkPartResponse rpc :FinishMultipartUpload, FinishMultipartUploadRequest, Empty diff --git a/ruby/lib/MetadataAPI_services_pb.rb b/ruby/lib/MetadataAPI_services_pb.rb index 5e9ddf5..0c513cd 100644 --- a/ruby/lib/MetadataAPI_services_pb.rb +++ b/ruby/lib/MetadataAPI_services_pb.rb @@ -13,9 +13,9 @@ class Service self.unmarshal_class_method = :decode self.service_name = 'MetadataCompositeStore' - rpc :InitMetadataDB, InitMetadataDBRequest, MetadataDBEntry + rpc :CreateMetadataDB, InitMetadataDBRequest, MetadataDBEntry rpc :ListMetadataDBs, Empty, MetadataDBList - rpc :InitMetadataDBCollection, InitMetadataCollectionRequest, MetadataDBEntry + rpc :CreateMetadataDBCollection, InitMetadataCollectionRequest, MetadataDBEntry rpc :ListMetadataDBCollections, Empty, MetadataDBCollectionList rpc :InsertMetadata, InsertMetadataRequest, Empty rpc :AddMetadataIndex, AddMetadataIndexRequest, Empty diff --git a/ruby/lib/ProjectAPI_pb.rb b/ruby/lib/ProjectAPI_pb.rb index 09da368..d1fb653 100644 --- a/ruby/lib/ProjectAPI_pb.rb +++ b/ruby/lib/ProjectAPI_pb.rb @@ -3,7 +3,7 @@ require 'google/protobuf' -require 'proto/DatasetModels_pb' +require 'proto/DatasetAPIModels_pb' require 'proto/CommonModels_pb' require 'proto/ProjectEntryModels_pb' require 'proto/ProjectModels_pb'