diff --git a/.github/workflows/ci-checks.yml b/.github/workflows/ci-checks.yml index 247fb39..27bf7f0 100644 --- a/.github/workflows/ci-checks.yml +++ b/.github/workflows/ci-checks.yml @@ -75,4 +75,4 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@v7 with: - version: latest + version: v2.13.1 diff --git a/.golangci.yml b/.golangci.yml index 0fe3d49..48c783c 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -23,6 +23,7 @@ linters: # Too opinionated / noisy for a real codebase - varnamelen # short var names are idiomatic Go - exhaustruct # requiring all struct fields is impractical + - exhaustruct_v5 # same, under the name golangci-lint 2.13 gave it - lll # line length enforcement is too rigid - mnd # magic number detection is overly aggressive - wsl_v5 # whitespace style is too opinionated diff --git a/Makefile b/Makefile index 0fd78d3..38b1a8c 100644 --- a/Makefile +++ b/Makefile @@ -21,5 +21,5 @@ docker: @docker build -f apps/rotom-ng/Dockerfile -t rotom-ng:latest . clean: - @rm -rf rotom-ng libs/rotom_ui/static apps/rotom-ng/app/version/version.go libs/protos/rotom.pb.go + @rm -rf rotom-ng libs/rotom_ui/static @rm -rf .nx node_modules libs/base-ui/node_modules apps/rotom-ng-ui/src/version.ts diff --git a/apps/rotom-ng-mock-connector/controller.go b/apps/rotom-ng-mock-connector/controller.go index 698e73a..911f434 100644 --- a/apps/rotom-ng-mock-connector/controller.go +++ b/apps/rotom-ng-mock-connector/controller.go @@ -105,6 +105,7 @@ func (c *controller) sendLogin(ctx context.Context, conn *ws.Conn, workerID stri Payload: &protos.MitmRequest_LoginRequest_{ LoginRequest: &protos.MitmRequest_LoginRequest{ Username: c.id + "@mock", + //nolint:staticcheck Source: protos.MitmRequest_LoginRequest_PTC, WorkerId: workerID, }, diff --git a/apps/rotom-ng/app/error_handling_test.go b/apps/rotom-ng/app/error_handling_test.go index baca600..b479ee4 100644 --- a/apps/rotom-ng/app/error_handling_test.go +++ b/apps/rotom-ng/app/error_handling_test.go @@ -101,7 +101,8 @@ func dialRawController(t *testing.T, addr string) *websocket.Conn { LoginRequest: &protos.MitmRequest_LoginRequest{ WorkerId: controllerID, Username: "test-user", - Source: protos.MitmRequest_LoginRequest_PTC, + //nolint:staticcheck + Source: protos.MitmRequest_LoginRequest_PTC, }, }, } diff --git a/go.mod b/go.mod index 6f1f863..6928700 100644 --- a/go.mod +++ b/go.mod @@ -65,3 +65,5 @@ require ( golang.org/x/sys v0.45.0 // indirect golang.org/x/text v0.37.0 // indirect ) + +tool google.golang.org/protobuf/cmd/protoc-gen-go diff --git a/libs/connections/manager.go b/libs/connections/manager.go index aedfcf7..102b9ae 100644 --- a/libs/connections/manager.go +++ b/libs/connections/manager.go @@ -290,12 +290,12 @@ func (mgr *ConnectionManager[C, W]) registerController(controller C) { }) } -func (mgr *ConnectionManager[C, W]) pruneSelectorWorkerIDs() { +func (mgr *ConnectionManager[C, W]) pruneSelectorWorkerIDs(ctx context.Context) { // ensure periodic task runner doesn't die defer func() { r := recover() if r != nil { - mgr.logger.LogAttrs(context.Background(), slog.LevelError, "PruneWorkerIDsSeen panicked", slog.Any("panic", r)) + mgr.logger.LogAttrs(ctx, slog.LevelError, "PruneWorkerIDsSeen panicked", slog.Any("panic", r)) return } }() @@ -871,7 +871,7 @@ func (mgr *ConnectionManager[C, W]) RunPeriodicTasks(ctx context.Context) { case <-ctx.Done(): return case <-ticker.C: - mgr.pruneSelectorWorkerIDs() + mgr.pruneSelectorWorkerIDs(ctx) } } } diff --git a/libs/connections/manager_test.go b/libs/connections/manager_test.go index 7fd9692..ed8a8e9 100644 --- a/libs/connections/manager_test.go +++ b/libs/connections/manager_test.go @@ -1242,12 +1242,12 @@ func TestPruneSelectorWorkerIDs_PanicRecovery(_ *testing.T) { o.selector.prunePanic = true // Should not panic - mgr.pruneSelectorWorkerIDs() + mgr.pruneSelectorWorkerIDs(context.Background()) } func TestPruneSelectorWorkerIDs_Success(t *testing.T) { mgr, o := newTestManager() - mgr.pruneSelectorWorkerIDs() + mgr.pruneSelectorWorkerIDs(context.Background()) o.selector.mu.Lock() if !o.selector.pruneCalled { diff --git a/libs/protos/generate.go b/libs/protos/generate.go index a5604a7..16f37e2 100644 --- a/libs/protos/generate.go +++ b/libs/protos/generate.go @@ -2,4 +2,4 @@ // for the MITM communication protocol. package protos -//go:generate protoc --go_opt=paths=source_relative --experimental_allow_proto3_optional --go_opt=Mrotom.proto=github.com/UnownHash/RotomNG/libs/protos --go_out=. rotom.proto +//go:generate ./generate.sh diff --git a/libs/protos/generate.sh b/libs/protos/generate.sh new file mode 100755 index 0000000..5eb6e24 --- /dev/null +++ b/libs/protos/generate.sh @@ -0,0 +1,20 @@ +#!/bin/sh +set -e + +if ! command -v protoc >/dev/null 2>&1; then + echo "protoc not found. Install it: apt install protobuf-compiler, or brew install protobuf." >&2 + exit 1 +fi + +# protoc-gen-go comes from the tool directive in go.mod, so it is built on +# demand at the same google.golang.org/protobuf version the generated code +# links against. Nothing to install by hand, and the two cannot drift apart. +plugin="$(go tool -n protoc-gen-go)" + +exec protoc \ + --plugin=protoc-gen-go="$plugin" \ + --go_opt=paths=source_relative \ + --experimental_allow_proto3_optional \ + --go_opt=Mrotom.proto=github.com/UnownHash/RotomNG/libs/protos \ + --go_out=. \ + rotom.proto diff --git a/libs/protos/rotom.pb.go b/libs/protos/rotom.pb.go index 61605c9..ef066f1 100644 --- a/libs/protos/rotom.pb.go +++ b/libs/protos/rotom.pb.go @@ -2,7 +2,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.32.0 +// protoc-gen-go v1.36.11 // protoc v3.21.12 // source: rotom.proto @@ -13,6 +13,7 @@ import ( protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -253,12 +254,15 @@ func (MitmRequest_Method) EnumDescriptor() ([]byte, []int) { type MitmRequest_LoginRequest_LoginSource int32 const ( - MitmRequest_LoginRequest_UNSET MitmRequest_LoginRequest_LoginSource = 0 + MitmRequest_LoginRequest_UNSET MitmRequest_LoginRequest_LoginSource = 0 + // Deprecated: Marked as deprecated in rotom.proto. MitmRequest_LoginRequest_PTC MitmRequest_LoginRequest_LoginSource = 1 MitmRequest_LoginRequest_PTC_OAUTH MitmRequest_LoginRequest_LoginSource = 2 MitmRequest_LoginRequest_FB MitmRequest_LoginRequest_LoginSource = 3 MitmRequest_LoginRequest_GOOGLE MitmRequest_LoginRequest_LoginSource = 4 - MitmRequest_LoginRequest_N_KIDS MitmRequest_LoginRequest_LoginSource = 5 + // Deprecated: Marked as deprecated in rotom.proto. + MitmRequest_LoginRequest_SUPER_AWESOME MitmRequest_LoginRequest_LoginSource = 5 + MitmRequest_LoginRequest_NIANTIC_JWT MitmRequest_LoginRequest_LoginSource = 6 ) // Enum value maps for MitmRequest_LoginRequest_LoginSource. @@ -269,15 +273,17 @@ var ( 2: "PTC_OAUTH", 3: "FB", 4: "GOOGLE", - 5: "N_KIDS", + 5: "SUPER_AWESOME", + 6: "NIANTIC_JWT", } MitmRequest_LoginRequest_LoginSource_value = map[string]int32{ - "UNSET": 0, - "PTC": 1, - "PTC_OAUTH": 2, - "FB": 3, - "GOOGLE": 4, - "N_KIDS": 5, + "UNSET": 0, + "PTC": 1, + "PTC_OAUTH": 2, + "FB": 3, + "GOOGLE": 4, + "SUPER_AWESOME": 5, + "NIANTIC_JWT": 6, } ) @@ -471,26 +477,23 @@ func (RegisterControllerResponse_RegisterControllerResponseStatus) EnumDescripto } type MitmRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Method MitmRequest_Method `protobuf:"varint,2,opt,name=method,proto3,enum=RotomProtos.MitmRequest_Method" json:"method,omitempty"` - // Types that are assignable to Payload: + state protoimpl.MessageState `protogen:"open.v1"` + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Method MitmRequest_Method `protobuf:"varint,2,opt,name=method,proto3,enum=RotomProtos.MitmRequest_Method" json:"method,omitempty"` + // Types that are valid to be assigned to Payload: // // *MitmRequest_LoginRequest_ // *MitmRequest_RpcRequest_ - Payload isMitmRequest_Payload `protobuf_oneof:"payload"` + Payload isMitmRequest_Payload `protobuf_oneof:"payload"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MitmRequest) Reset() { *x = MitmRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_rotom_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_rotom_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MitmRequest) String() string { @@ -501,7 +504,7 @@ func (*MitmRequest) ProtoMessage() {} func (x *MitmRequest) ProtoReflect() protoreflect.Message { mi := &file_rotom_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -530,23 +533,27 @@ func (x *MitmRequest) GetMethod() MitmRequest_Method { return MitmRequest_UNSET } -func (m *MitmRequest) GetPayload() isMitmRequest_Payload { - if m != nil { - return m.Payload +func (x *MitmRequest) GetPayload() isMitmRequest_Payload { + if x != nil { + return x.Payload } return nil } func (x *MitmRequest) GetLoginRequest() *MitmRequest_LoginRequest { - if x, ok := x.GetPayload().(*MitmRequest_LoginRequest_); ok { - return x.LoginRequest + if x != nil { + if x, ok := x.Payload.(*MitmRequest_LoginRequest_); ok { + return x.LoginRequest + } } return nil } func (x *MitmRequest) GetRpcRequest() *MitmRequest_RpcRequest { - if x, ok := x.GetPayload().(*MitmRequest_RpcRequest_); ok { - return x.RpcRequest + if x != nil { + if x, ok := x.Payload.(*MitmRequest_RpcRequest_); ok { + return x.RpcRequest + } } return nil } @@ -568,27 +575,24 @@ func (*MitmRequest_LoginRequest_) isMitmRequest_Payload() {} func (*MitmRequest_RpcRequest_) isMitmRequest_Payload() {} type MitmResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Status MitmResponse_Status `protobuf:"varint,2,opt,name=status,proto3,enum=RotomProtos.MitmResponse_Status" json:"status,omitempty"` - // Types that are assignable to Payload: + state protoimpl.MessageState `protogen:"open.v1"` + Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Status MitmResponse_Status `protobuf:"varint,2,opt,name=status,proto3,enum=RotomProtos.MitmResponse_Status" json:"status,omitempty"` + // Types that are valid to be assigned to Payload: // // *MitmResponse_LoginResponse_ // *MitmResponse_RpcResponse_ - Payload isMitmResponse_Payload `protobuf_oneof:"payload"` - MitmError string `protobuf:"bytes,100,opt,name=mitm_error,json=mitmError,proto3" json:"mitm_error,omitempty"` + Payload isMitmResponse_Payload `protobuf_oneof:"payload"` + MitmError string `protobuf:"bytes,100,opt,name=mitm_error,json=mitmError,proto3" json:"mitm_error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MitmResponse) Reset() { *x = MitmResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_rotom_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_rotom_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MitmResponse) String() string { @@ -599,7 +603,7 @@ func (*MitmResponse) ProtoMessage() {} func (x *MitmResponse) ProtoReflect() protoreflect.Message { mi := &file_rotom_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -628,23 +632,27 @@ func (x *MitmResponse) GetStatus() MitmResponse_Status { return MitmResponse_UNSET } -func (m *MitmResponse) GetPayload() isMitmResponse_Payload { - if m != nil { - return m.Payload +func (x *MitmResponse) GetPayload() isMitmResponse_Payload { + if x != nil { + return x.Payload } return nil } func (x *MitmResponse) GetLoginResponse() *MitmResponse_LoginResponse { - if x, ok := x.GetPayload().(*MitmResponse_LoginResponse_); ok { - return x.LoginResponse + if x != nil { + if x, ok := x.Payload.(*MitmResponse_LoginResponse_); ok { + return x.LoginResponse + } } return nil } func (x *MitmResponse) GetRpcResponse() *MitmResponse_RpcResponse { - if x, ok := x.GetPayload().(*MitmResponse_RpcResponse_); ok { - return x.RpcResponse + if x != nil { + if x, ok := x.Payload.(*MitmResponse_RpcResponse_); ok { + return x.RpcResponse + } } return nil } @@ -673,28 +681,25 @@ func (*MitmResponse_LoginResponse_) isMitmResponse_Payload() {} func (*MitmResponse_RpcResponse_) isMitmResponse_Payload() {} type WelcomeMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"` + Origin string `protobuf:"bytes,2,opt,name=origin,proto3" json:"origin,omitempty"` + VersionCode int32 `protobuf:"varint,3,opt,name=version_code,json=versionCode,proto3" json:"version_code,omitempty"` + VersionName string `protobuf:"bytes,4,opt,name=version_name,json=versionName,proto3" json:"version_name,omitempty"` + Useragent string `protobuf:"bytes,5,opt,name=useragent,proto3" json:"useragent,omitempty"` + DeviceId string `protobuf:"bytes,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` + Platform WelcomeMessage_Platform `protobuf:"varint,7,opt,name=platform,proto3,enum=RotomProtos.WelcomeMessage_Platform" json:"platform,omitempty"` + Reserved1 bool `protobuf:"varint,8,opt,name=reserved1,proto3" json:"reserved1,omitempty"` + Reserved2 string `protobuf:"bytes,9,opt,name=reserved2,proto3" json:"reserved2,omitempty"` unknownFields protoimpl.UnknownFields - - WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"` - Origin string `protobuf:"bytes,2,opt,name=origin,proto3" json:"origin,omitempty"` - VersionCode int32 `protobuf:"varint,3,opt,name=version_code,json=versionCode,proto3" json:"version_code,omitempty"` - VersionName string `protobuf:"bytes,4,opt,name=version_name,json=versionName,proto3" json:"version_name,omitempty"` - Useragent string `protobuf:"bytes,5,opt,name=useragent,proto3" json:"useragent,omitempty"` - DeviceId string `protobuf:"bytes,6,opt,name=device_id,json=deviceId,proto3" json:"device_id,omitempty"` - Platform WelcomeMessage_Platform `protobuf:"varint,7,opt,name=platform,proto3,enum=RotomProtos.WelcomeMessage_Platform" json:"platform,omitempty"` - Reserved1 bool `protobuf:"varint,8,opt,name=reserved1,proto3" json:"reserved1,omitempty"` - Reserved2 string `protobuf:"bytes,9,opt,name=reserved2,proto3" json:"reserved2,omitempty"` + sizeCache protoimpl.SizeCache } func (x *WelcomeMessage) Reset() { *x = WelcomeMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_rotom_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_rotom_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *WelcomeMessage) String() string { @@ -705,7 +710,7 @@ func (*WelcomeMessage) ProtoMessage() {} func (x *WelcomeMessage) ProtoReflect() protoreflect.Message { mi := &file_rotom_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -784,23 +789,20 @@ func (x *WelcomeMessage) GetReserved2() string { } type RegisterControllerRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - ProtoMajorVersion int32 `protobuf:"varint,2,opt,name=proto_major_version,json=protoMajorVersion,proto3" json:"proto_major_version,omitempty"` - ProtoMinorVersion int32 `protobuf:"varint,3,opt,name=proto_minor_version,json=protoMinorVersion,proto3" json:"proto_minor_version,omitempty"` - Weight int32 `protobuf:"varint,4,opt,name=weight,proto3" json:"weight,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ProtoMajorVersion int32 `protobuf:"varint,2,opt,name=proto_major_version,json=protoMajorVersion,proto3" json:"proto_major_version,omitempty"` + ProtoMinorVersion int32 `protobuf:"varint,3,opt,name=proto_minor_version,json=protoMinorVersion,proto3" json:"proto_minor_version,omitempty"` + Weight int32 `protobuf:"varint,4,opt,name=weight,proto3" json:"weight,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RegisterControllerRequest) Reset() { *x = RegisterControllerRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_rotom_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_rotom_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RegisterControllerRequest) String() string { @@ -811,7 +813,7 @@ func (*RegisterControllerRequest) ProtoMessage() {} func (x *RegisterControllerRequest) ProtoReflect() protoreflect.Message { mi := &file_rotom_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -855,10 +857,7 @@ func (x *RegisterControllerRequest) GetWeight() int32 { } type RegisterControllerResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Status RegisterControllerResponse_RegisterControllerResponseStatus `protobuf:"varint,1,opt,name=status,proto3,enum=RotomProtos.RegisterControllerResponse_RegisterControllerResponseStatus" json:"status,omitempty"` StatusReason string `protobuf:"bytes,2,opt,name=status_reason,json=statusReason,proto3" json:"status_reason,omitempty"` UserAgent string `protobuf:"bytes,3,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"` @@ -866,15 +865,15 @@ type RegisterControllerResponse struct { ProtoMinorVersion int32 `protobuf:"varint,5,opt,name=proto_minor_version,json=protoMinorVersion,proto3" json:"proto_minor_version,omitempty"` AssignedWorkerId string `protobuf:"bytes,7,opt,name=assigned_worker_id,json=assignedWorkerId,proto3" json:"assigned_worker_id,omitempty"` RetryAfter int64 `protobuf:"varint,8,opt,name=retry_after,json=retryAfter,proto3" json:"retry_after,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RegisterControllerResponse) Reset() { *x = RegisterControllerResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_rotom_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_rotom_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RegisterControllerResponse) String() string { @@ -885,7 +884,7 @@ func (*RegisterControllerResponse) ProtoMessage() {} func (x *RegisterControllerResponse) ProtoReflect() protoreflect.Message { mi := &file_rotom_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -950,24 +949,21 @@ func (x *RegisterControllerResponse) GetRetryAfter() int64 { } type MitmRequest_LoginRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` Source MitmRequest_LoginRequest_LoginSource `protobuf:"varint,2,opt,name=source,proto3,enum=RotomProtos.MitmRequest_LoginRequest_LoginSource" json:"source,omitempty"` TokenProto []byte `protobuf:"bytes,3,opt,name=token_proto,json=tokenProto,proto3" json:"token_proto,omitempty"` WorkerId string `protobuf:"bytes,4,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"` EnableCompression bool `protobuf:"varint,5,opt,name=enable_compression,json=enableCompression,proto3" json:"enable_compression,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MitmRequest_LoginRequest) Reset() { *x = MitmRequest_LoginRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_rotom_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_rotom_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MitmRequest_LoginRequest) String() string { @@ -978,7 +974,7 @@ func (*MitmRequest_LoginRequest) ProtoMessage() {} func (x *MitmRequest_LoginRequest) ProtoReflect() protoreflect.Message { mi := &file_rotom_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1029,22 +1025,19 @@ func (x *MitmRequest_LoginRequest) GetEnableCompression() bool { } type MitmRequest_RpcRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Request []*MitmRequest_RpcRequest_SingleRpcRequest `protobuf:"bytes,1,rep,name=request,proto3" json:"request,omitempty"` + Lat float64 `protobuf:"fixed64,2,opt,name=lat,proto3" json:"lat,omitempty"` + Lon float64 `protobuf:"fixed64,3,opt,name=lon,proto3" json:"lon,omitempty"` unknownFields protoimpl.UnknownFields - - Request []*MitmRequest_RpcRequest_SingleRpcRequest `protobuf:"bytes,1,rep,name=request,proto3" json:"request,omitempty"` - Lat float64 `protobuf:"fixed64,2,opt,name=lat,proto3" json:"lat,omitempty"` - Lon float64 `protobuf:"fixed64,3,opt,name=lon,proto3" json:"lon,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MitmRequest_RpcRequest) Reset() { *x = MitmRequest_RpcRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_rotom_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_rotom_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MitmRequest_RpcRequest) String() string { @@ -1055,7 +1048,7 @@ func (*MitmRequest_RpcRequest) ProtoMessage() {} func (x *MitmRequest_RpcRequest) ProtoReflect() protoreflect.Message { mi := &file_rotom_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1092,22 +1085,19 @@ func (x *MitmRequest_RpcRequest) GetLon() float64 { } type MitmRequest_RpcRequest_SingleRpcRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Method int32 `protobuf:"varint,1,opt,name=method,proto3" json:"method,omitempty"` + Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + IsCompressed bool `protobuf:"varint,3,opt,name=is_compressed,json=isCompressed,proto3" json:"is_compressed,omitempty"` unknownFields protoimpl.UnknownFields - - Method int32 `protobuf:"varint,1,opt,name=method,proto3" json:"method,omitempty"` - Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` - IsCompressed bool `protobuf:"varint,3,opt,name=is_compressed,json=isCompressed,proto3" json:"is_compressed,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MitmRequest_RpcRequest_SingleRpcRequest) Reset() { *x = MitmRequest_RpcRequest_SingleRpcRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_rotom_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_rotom_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MitmRequest_RpcRequest_SingleRpcRequest) String() string { @@ -1118,7 +1108,7 @@ func (*MitmRequest_RpcRequest_SingleRpcRequest) ProtoMessage() {} func (x *MitmRequest_RpcRequest_SingleRpcRequest) ProtoReflect() protoreflect.Message { mi := &file_rotom_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1155,23 +1145,20 @@ func (x *MitmRequest_RpcRequest_SingleRpcRequest) GetIsCompressed() bool { } type MitmResponse_LoginResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"` - Status AuthStatus `protobuf:"varint,2,opt,name=status,proto3,enum=RotomProtos.AuthStatus" json:"status,omitempty"` - SupportsCompression bool `protobuf:"varint,3,opt,name=supports_compression,json=supportsCompression,proto3" json:"supports_compression,omitempty"` - Useragent string `protobuf:"bytes,4,opt,name=useragent,proto3" json:"useragent,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + WorkerId string `protobuf:"bytes,1,opt,name=worker_id,json=workerId,proto3" json:"worker_id,omitempty"` + Status AuthStatus `protobuf:"varint,2,opt,name=status,proto3,enum=RotomProtos.AuthStatus" json:"status,omitempty"` + SupportsCompression bool `protobuf:"varint,3,opt,name=supports_compression,json=supportsCompression,proto3" json:"supports_compression,omitempty"` + Useragent string `protobuf:"bytes,4,opt,name=useragent,proto3" json:"useragent,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MitmResponse_LoginResponse) Reset() { *x = MitmResponse_LoginResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_rotom_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_rotom_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MitmResponse_LoginResponse) String() string { @@ -1182,7 +1169,7 @@ func (*MitmResponse_LoginResponse) ProtoMessage() {} func (x *MitmResponse_LoginResponse) ProtoReflect() protoreflect.Message { mi := &file_rotom_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1226,21 +1213,18 @@ func (x *MitmResponse_LoginResponse) GetUseragent() string { } type MitmResponse_RpcResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + RpcStatus RpcStatus `protobuf:"varint,1,opt,name=rpc_status,json=rpcStatus,proto3,enum=RotomProtos.RpcStatus" json:"rpc_status,omitempty"` + Response []*MitmResponse_RpcResponse_SingleRpcResponse `protobuf:"bytes,2,rep,name=response,proto3" json:"response,omitempty"` unknownFields protoimpl.UnknownFields - - RpcStatus RpcStatus `protobuf:"varint,1,opt,name=rpc_status,json=rpcStatus,proto3,enum=RotomProtos.RpcStatus" json:"rpc_status,omitempty"` - Response []*MitmResponse_RpcResponse_SingleRpcResponse `protobuf:"bytes,2,rep,name=response,proto3" json:"response,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MitmResponse_RpcResponse) Reset() { *x = MitmResponse_RpcResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_rotom_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_rotom_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MitmResponse_RpcResponse) String() string { @@ -1251,7 +1235,7 @@ func (*MitmResponse_RpcResponse) ProtoMessage() {} func (x *MitmResponse_RpcResponse) ProtoReflect() protoreflect.Message { mi := &file_rotom_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1281,22 +1265,19 @@ func (x *MitmResponse_RpcResponse) GetResponse() []*MitmResponse_RpcResponse_Sin } type MitmResponse_RpcResponse_SingleRpcResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Method int32 `protobuf:"varint,1,opt,name=method,proto3" json:"method,omitempty"` + Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + IsCompressed bool `protobuf:"varint,3,opt,name=is_compressed,json=isCompressed,proto3" json:"is_compressed,omitempty"` unknownFields protoimpl.UnknownFields - - Method int32 `protobuf:"varint,1,opt,name=method,proto3" json:"method,omitempty"` - Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` - IsCompressed bool `protobuf:"varint,3,opt,name=is_compressed,json=isCompressed,proto3" json:"is_compressed,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MitmResponse_RpcResponse_SingleRpcResponse) Reset() { *x = MitmResponse_RpcResponse_SingleRpcResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_rotom_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_rotom_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MitmResponse_RpcResponse_SingleRpcResponse) String() string { @@ -1307,7 +1288,7 @@ func (*MitmResponse_RpcResponse_SingleRpcResponse) ProtoMessage() {} func (x *MitmResponse_RpcResponse_SingleRpcResponse) ProtoReflect() protoreflect.Message { mi := &file_rotom_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1345,268 +1326,162 @@ func (x *MitmResponse_RpcResponse_SingleRpcResponse) GetIsCompressed() bool { var File_rotom_proto protoreflect.FileDescriptor -var file_rotom_proto_rawDesc = []byte{ - 0x0a, 0x0b, 0x72, 0x6f, 0x74, 0x6f, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x52, - 0x6f, 0x74, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x22, 0xcd, 0x06, 0x0a, 0x0b, 0x4d, - 0x69, 0x74, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x6d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x52, 0x6f, 0x74, - 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x4d, 0x69, 0x74, 0x6d, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x06, 0x6d, 0x65, 0x74, - 0x68, 0x6f, 0x64, 0x12, 0x4c, 0x0a, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x52, 0x6f, 0x74, - 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x4d, 0x69, 0x74, 0x6d, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x70, 0x63, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x52, 0x6f, 0x74, 0x6f, 0x6d, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x4d, 0x69, 0x74, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x52, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x72, - 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0xb4, 0x02, 0x0a, 0x0c, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, - 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, - 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x52, 0x6f, 0x74, 0x6f, 0x6d, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x4d, 0x69, 0x74, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x6f, - 0x67, 0x69, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x2d, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x50, - 0x0a, 0x0b, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x09, 0x0a, - 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x54, 0x43, 0x10, - 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x54, 0x43, 0x5f, 0x4f, 0x41, 0x55, 0x54, 0x48, 0x10, 0x02, - 0x12, 0x06, 0x0a, 0x02, 0x46, 0x42, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x4f, 0x4f, 0x47, - 0x4c, 0x45, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x5f, 0x4b, 0x49, 0x44, 0x53, 0x10, 0x05, - 0x1a, 0xeb, 0x01, 0x0a, 0x0a, 0x52, 0x70, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x4e, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x34, 0x2e, 0x52, 0x6f, 0x74, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x4d, - 0x69, 0x74, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x70, 0x63, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x70, 0x63, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x10, 0x0a, 0x03, 0x6c, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, 0x6c, 0x61, - 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6c, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x03, - 0x6c, 0x6f, 0x6e, 0x1a, 0x69, 0x0a, 0x10, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x70, 0x63, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, - 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0c, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x22, 0x2f, - 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, - 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0f, - 0x0a, 0x0b, 0x52, 0x50, 0x43, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x02, 0x42, - 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0xf6, 0x06, 0x0a, 0x0c, 0x4d, - 0x69, 0x74, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x52, 0x6f, - 0x74, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x4d, 0x69, 0x74, 0x6d, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x50, 0x0a, 0x0e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x52, 0x6f, 0x74, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x4d, 0x69, 0x74, 0x6d, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0c, 0x72, 0x70, 0x63, 0x5f, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x52, 0x6f, 0x74, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x4d, 0x69, 0x74, 0x6d, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x70, 0x63, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x70, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, 0x74, 0x6d, 0x5f, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x69, 0x74, 0x6d, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x1a, 0xae, 0x01, 0x0a, 0x0d, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x2f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x17, 0x2e, 0x52, 0x6f, 0x74, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, - 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x63, - 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x13, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x1a, 0x85, 0x02, 0x0a, 0x0b, 0x52, 0x70, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0a, 0x72, 0x70, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x52, 0x6f, 0x74, 0x6f, 0x6d, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x52, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x09, 0x72, 0x70, 0x63, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x53, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x52, - 0x6f, 0x74, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x4d, 0x69, 0x74, 0x6d, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x70, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x70, 0x63, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, - 0x6a, 0x0a, 0x11, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x70, 0x63, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6d, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, - 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x22, 0x9a, 0x01, 0x0a, 0x06, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, - 0x00, 0x12, 0x0c, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0xc8, 0x01, 0x12, - 0x12, 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0xf4, 0x03, 0x12, 0x16, 0x0a, 0x11, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x54, - 0x52, 0x59, 0x5f, 0x4c, 0x41, 0x54, 0x45, 0x52, 0x10, 0xf5, 0x03, 0x12, 0x19, 0x0a, 0x14, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x4f, 0x50, - 0x50, 0x45, 0x44, 0x10, 0xf6, 0x03, 0x12, 0x14, 0x0a, 0x0f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, - 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0xf7, 0x03, 0x12, 0x1a, 0x0a, 0x15, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x53, 0x45, - 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0xf8, 0x03, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x22, 0xf1, 0x02, 0x0a, 0x0e, 0x57, 0x65, 0x6c, 0x63, 0x6f, 0x6d, 0x65, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, - 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x08, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, - 0x2e, 0x52, 0x6f, 0x74, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x57, 0x65, 0x6c, - 0x63, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1c, - 0x0a, 0x09, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x31, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x31, 0x12, 0x1c, 0x0a, 0x09, - 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x32, 0x22, 0x2b, 0x0a, 0x08, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, - 0x00, 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4f, 0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4e, - 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x02, 0x22, 0xa3, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x6d, - 0x61, 0x6a, 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x6d, - 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xd2, 0x03, - 0x0a, 0x1a, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x48, 0x2e, 0x52, - 0x6f, 0x74, 0x6f, 0x6d, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, - 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x6a, 0x6f, - 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x4d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, - 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x11, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x77, - 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, - 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x61, 0x66, 0x74, 0x65, 0x72, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x72, 0x79, 0x41, 0x66, 0x74, 0x65, - 0x72, 0x22, 0x5f, 0x0a, 0x20, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, - 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x18, 0x0a, - 0x14, 0x4e, 0x4f, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x45, 0x52, 0x53, 0x5f, 0x41, 0x56, 0x41, 0x49, - 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x10, 0x03, 0x2a, 0xa2, 0x03, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x15, 0x0a, 0x11, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x29, 0x0a, 0x25, 0x41, 0x55, 0x54, 0x48, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x54, 0x4f, 0x4b, - 0x45, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x52, 0x45, - 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x55, 0x54, - 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x47, 0x4f, 0x54, 0x5f, 0x41, 0x55, 0x54, - 0x48, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x55, 0x54, - 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, - 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x54, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x04, 0x12, 0x1e, - 0x0a, 0x1a, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x53, - 0x45, 0x52, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x05, 0x12, 0x1d, - 0x0a, 0x19, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, - 0x43, 0x45, 0x53, 0x53, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x06, 0x12, 0x20, 0x0a, - 0x1c, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, - 0x45, 0x53, 0x53, 0x5f, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x07, 0x12, - 0x23, 0x0a, 0x1f, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, - 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, - 0x45, 0x44, 0x10, 0x08, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x55, 0x54, 0x48, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x45, 0x52, 0x4d, - 0x49, 0x4e, 0x41, 0x54, 0x45, 0x44, 0x10, 0x09, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x55, 0x54, 0x48, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x55, 0x54, 0x48, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x5f, 0x54, 0x49, - 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x14, 0x2a, 0xb0, 0x05, 0x0a, 0x09, 0x52, 0x70, 0x63, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x16, 0x0a, 0x12, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, - 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x41, 0x44, 0x5f, 0x52, 0x45, 0x53, 0x50, 0x4f, 0x4e, - 0x53, 0x45, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x04, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x44, 0x49, 0x53, 0x50, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x05, - 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, - 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x06, 0x12, 0x1f, 0x0a, - 0x1b, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x53, 0x53, 0x49, - 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x07, 0x12, 0x1d, - 0x0a, 0x19, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x52, 0x4f, - 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x08, 0x12, 0x23, 0x0a, - 0x1f, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x55, 0x54, 0x48, - 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x10, 0x09, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, - 0x53, 0x54, 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, - 0x10, 0x0b, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x54, 0x52, 0x49, 0x45, 0x53, 0x5f, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x10, 0x0c, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x55, 0x4e, 0x41, 0x55, 0x54, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x45, 0x44, 0x5f, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x10, 0x0d, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x41, 0x52, 0x53, 0x49, 0x4e, 0x47, 0x5f, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x10, 0x0e, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, - 0x10, 0x0f, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x55, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x45, - 0x44, 0x10, 0x10, 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x41, - 0x54, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x11, 0x12, 0x22, 0x0a, 0x1e, 0x52, 0x50, 0x43, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x52, 0x41, 0x54, - 0x45, 0x5f, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x45, 0x44, 0x10, 0x12, 0x12, 0x24, 0x0a, 0x20, 0x52, - 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x47, 0x4f, 0x4f, 0x47, 0x4c, 0x45, - 0x5f, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, - 0x13, 0x12, 0x1f, 0x0a, 0x1b, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x4c, 0x4f, 0x47, 0x49, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x5f, 0x42, 0x41, 0x49, 0x4c, - 0x10, 0x14, 0x12, 0x26, 0x0a, 0x22, 0x52, 0x50, 0x43, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x4d, 0x49, 0x54, 0x4d, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x4c, 0x4c, 0x4f, 0x57, 0x45, 0x44, - 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, -} +const file_rotom_proto_rawDesc = "" + + "\n" + + "\vrotom.proto\x12\vRotomProtos\"\xed\x06\n" + + "\vMitmRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\rR\x02id\x127\n" + + "\x06method\x18\x02 \x01(\x0e2\x1f.RotomProtos.MitmRequest.MethodR\x06method\x12L\n" + + "\rlogin_request\x18\x03 \x01(\v2%.RotomProtos.MitmRequest.LoginRequestH\x00R\floginRequest\x12F\n" + + "\vrpc_request\x18\x04 \x01(\v2#.RotomProtos.MitmRequest.RpcRequestH\x00R\n" + + "rpcRequest\x1a\xd4\x02\n" + + "\fLoginRequest\x12\x1a\n" + + "\busername\x18\x01 \x01(\tR\busername\x12I\n" + + "\x06source\x18\x02 \x01(\x0e21.RotomProtos.MitmRequest.LoginRequest.LoginSourceR\x06source\x12\x1f\n" + + "\vtoken_proto\x18\x03 \x01(\fR\n" + + "tokenProto\x12\x1b\n" + + "\tworker_id\x18\x04 \x01(\tR\bworkerId\x12-\n" + + "\x12enable_compression\x18\x05 \x01(\bR\x11enableCompression\"p\n" + + "\vLoginSource\x12\t\n" + + "\x05UNSET\x10\x00\x12\v\n" + + "\x03PTC\x10\x01\x1a\x02\b\x01\x12\r\n" + + "\tPTC_OAUTH\x10\x02\x12\x06\n" + + "\x02FB\x10\x03\x12\n" + + "\n" + + "\x06GOOGLE\x10\x04\x12\x15\n" + + "\rSUPER_AWESOME\x10\x05\x1a\x02\b\x01\x12\x0f\n" + + "\vNIANTIC_JWT\x10\x06\x1a\xeb\x01\n" + + "\n" + + "RpcRequest\x12N\n" + + "\arequest\x18\x01 \x03(\v24.RotomProtos.MitmRequest.RpcRequest.SingleRpcRequestR\arequest\x12\x10\n" + + "\x03lat\x18\x02 \x01(\x01R\x03lat\x12\x10\n" + + "\x03lon\x18\x03 \x01(\x01R\x03lon\x1ai\n" + + "\x10SingleRpcRequest\x12\x16\n" + + "\x06method\x18\x01 \x01(\x05R\x06method\x12\x18\n" + + "\apayload\x18\x02 \x01(\fR\apayload\x12#\n" + + "\ris_compressed\x18\x03 \x01(\bR\fisCompressed\"/\n" + + "\x06Method\x12\t\n" + + "\x05UNSET\x10\x00\x12\t\n" + + "\x05LOGIN\x10\x01\x12\x0f\n" + + "\vRPC_REQUEST\x10\x02B\t\n" + + "\apayload\"\xf6\x06\n" + + "\fMitmResponse\x12\x0e\n" + + "\x02id\x18\x01 \x01(\rR\x02id\x128\n" + + "\x06status\x18\x02 \x01(\x0e2 .RotomProtos.MitmResponse.StatusR\x06status\x12P\n" + + "\x0elogin_response\x18\x03 \x01(\v2'.RotomProtos.MitmResponse.LoginResponseH\x00R\rloginResponse\x12J\n" + + "\frpc_response\x18\x04 \x01(\v2%.RotomProtos.MitmResponse.RpcResponseH\x00R\vrpcResponse\x12\x1d\n" + + "\n" + + "mitm_error\x18d \x01(\tR\tmitmError\x1a\xae\x01\n" + + "\rLoginResponse\x12\x1b\n" + + "\tworker_id\x18\x01 \x01(\tR\bworkerId\x12/\n" + + "\x06status\x18\x02 \x01(\x0e2\x17.RotomProtos.AuthStatusR\x06status\x121\n" + + "\x14supports_compression\x18\x03 \x01(\bR\x13supportsCompression\x12\x1c\n" + + "\tuseragent\x18\x04 \x01(\tR\tuseragent\x1a\x85\x02\n" + + "\vRpcResponse\x125\n" + + "\n" + + "rpc_status\x18\x01 \x01(\x0e2\x16.RotomProtos.RpcStatusR\trpcStatus\x12S\n" + + "\bresponse\x18\x02 \x03(\v27.RotomProtos.MitmResponse.RpcResponse.SingleRpcResponseR\bresponse\x1aj\n" + + "\x11SingleRpcResponse\x12\x16\n" + + "\x06method\x18\x01 \x01(\x05R\x06method\x12\x18\n" + + "\apayload\x18\x02 \x01(\fR\apayload\x12#\n" + + "\ris_compressed\x18\x03 \x01(\bR\fisCompressed\"\x9a\x01\n" + + "\x06Status\x12\t\n" + + "\x05UNSET\x10\x00\x12\f\n" + + "\aSUCCESS\x10\xc8\x01\x12\x12\n" + + "\rERROR_UNKNOWN\x10\xf4\x03\x12\x16\n" + + "\x11ERROR_RETRY_LATER\x10\xf5\x03\x12\x19\n" + + "\x14ERROR_WORKER_STOPPED\x10\xf6\x03\x12\x14\n" + + "\x0fERROR_RECONNECT\x10\xf7\x03\x12\x1a\n" + + "\x15ERROR_RESTART_SESSION\x10\xf8\x03B\t\n" + + "\apayload\"\xf1\x02\n" + + "\x0eWelcomeMessage\x12\x1b\n" + + "\tworker_id\x18\x01 \x01(\tR\bworkerId\x12\x16\n" + + "\x06origin\x18\x02 \x01(\tR\x06origin\x12!\n" + + "\fversion_code\x18\x03 \x01(\x05R\vversionCode\x12!\n" + + "\fversion_name\x18\x04 \x01(\tR\vversionName\x12\x1c\n" + + "\tuseragent\x18\x05 \x01(\tR\tuseragent\x12\x1b\n" + + "\tdevice_id\x18\x06 \x01(\tR\bdeviceId\x12@\n" + + "\bplatform\x18\a \x01(\x0e2$.RotomProtos.WelcomeMessage.PlatformR\bplatform\x12\x1c\n" + + "\treserved1\x18\b \x01(\bR\treserved1\x12\x1c\n" + + "\treserved2\x18\t \x01(\tR\treserved2\"+\n" + + "\bPlatform\x12\t\n" + + "\x05UNSET\x10\x00\x12\a\n" + + "\x03IOS\x10\x01\x12\v\n" + + "\aANDROID\x10\x02\"\xa3\x01\n" + + "\x19RegisterControllerRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12.\n" + + "\x13proto_major_version\x18\x02 \x01(\x05R\x11protoMajorVersion\x12.\n" + + "\x13proto_minor_version\x18\x03 \x01(\x05R\x11protoMinorVersion\x12\x16\n" + + "\x06weight\x18\x04 \x01(\x05R\x06weight\"\xd2\x03\n" + + "\x1aRegisterControllerResponse\x12`\n" + + "\x06status\x18\x01 \x01(\x0e2H.RotomProtos.RegisterControllerResponse.RegisterControllerResponseStatusR\x06status\x12#\n" + + "\rstatus_reason\x18\x02 \x01(\tR\fstatusReason\x12\x1d\n" + + "\n" + + "user_agent\x18\x03 \x01(\tR\tuserAgent\x12.\n" + + "\x13proto_major_version\x18\x04 \x01(\x05R\x11protoMajorVersion\x12.\n" + + "\x13proto_minor_version\x18\x05 \x01(\x05R\x11protoMinorVersion\x12,\n" + + "\x12assigned_worker_id\x18\a \x01(\tR\x10assignedWorkerId\x12\x1f\n" + + "\vretry_after\x18\b \x01(\x03R\n" + + "retryAfter\"_\n" + + " RegisterControllerResponseStatus\x12\t\n" + + "\x05UNSET\x10\x00\x12\v\n" + + "\aSUCCESS\x10\x01\x12\x18\n" + + "\x14NO_WORKERS_AVAILABLE\x10\x02\x12\t\n" + + "\x05ERROR\x10\x03*\xa2\x03\n" + + "\n" + + "AuthStatus\x12\x15\n" + + "\x11AUTH_STATUS_UNSET\x10\x00\x12)\n" + + "%AUTH_STATUS_AUTH_TOKEN_REQUEST_FAILED\x10\x01\x12$\n" + + " AUTH_STATUS_AUTH_TOKEN_REQUESTED\x10\x02\x12\x1e\n" + + "\x1aAUTH_STATUS_GOT_AUTH_TOKEN\x10\x03\x12#\n" + + "\x1fAUTH_STATUS_DEVICE_INCOMPATIBLE\x10\x04\x12\x1e\n" + + "\x1aAUTH_STATUS_USER_NOT_FOUND\x10\x05\x12\x1d\n" + + "\x19AUTH_STATUS_ACCESS_DENIED\x10\x06\x12 \n" + + "\x1cAUTH_STATUS_ACCESS_SUSPENDED\x10\a\x12#\n" + + "\x1fAUTH_STATUS_ACCESS_RATE_LIMITED\x10\b\x12\"\n" + + "\x1eAUTH_STATUS_SESSION_TERMINATED\x10\t\x12\x1e\n" + + "\x1aAUTH_STATUS_SESSION_FAILED\x10\n" + + "\x12\x1d\n" + + "\x19AUTH_STATUS_LOGIN_TIMEOUT\x10\x14*\xb0\x05\n" + + "\tRpcStatus\x12\x18\n" + + "\x14RPC_STATUS_UNDEFINED\x10\x00\x12\x16\n" + + "\x12RPC_STATUS_SUCCESS\x10\x01\x12\x1b\n" + + "\x17RPC_STATUS_BAD_RESPONSE\x10\x03\x12\x1b\n" + + "\x17RPC_STATUS_ACTION_ERROR\x10\x04\x12\x1d\n" + + "\x19RPC_STATUS_DISPATCH_ERROR\x10\x05\x12\x1b\n" + + "\x17RPC_STATUS_SERVER_ERROR\x10\x06\x12\x1f\n" + + "\x1bRPC_STATUS_ASSIGNMENT_ERROR\x10\a\x12\x1d\n" + + "\x19RPC_STATUS_PROTOCOL_ERROR\x10\b\x12#\n" + + "\x1fRPC_STATUS_AUTHENTICATION_ERROR\x10\t\x12 \n" + + "\x1cRPC_STATUS_CANCELLED_REQUEST\x10\n" + + "\x12\x1c\n" + + "\x18RPC_STATUS_UNKNOWN_ERROR\x10\v\x12\x1f\n" + + "\x1bRPC_STATUS_NO_RETRIES_ERROR\x10\f\x12!\n" + + "\x1dRPC_STATUS_UNAUTHORIZED_ERROR\x10\r\x12\x1c\n" + + "\x18RPC_STATUS_PARSING_ERROR\x10\x0e\x12\x1c\n" + + "\x18RPC_STATUS_ACCESS_DENIED\x10\x0f\x12\x1f\n" + + "\x1bRPC_STATUS_ACCESS_SUSPENDED\x10\x10\x12\"\n" + + "\x1eRPC_STATUS_DEVICE_INCOMPATIBLE\x10\x11\x12\"\n" + + "\x1eRPC_STATUS_ACCESS_RATE_LIMITED\x10\x12\x12$\n" + + " RPC_STATUS_GOOGLE_PLAY_NOT_READY\x10\x13\x12\x1f\n" + + "\x1bRPC_STATUS_LOGIN_ERROR_BAIL\x10\x14\x12&\n" + + "\"RPC_STATUS_MITM_DISALLOWED_REQUEST\x10cb\x06proto3" var ( file_rotom_proto_rawDescOnce sync.Once - file_rotom_proto_rawDescData = file_rotom_proto_rawDesc + file_rotom_proto_rawDescData []byte ) func file_rotom_proto_rawDescGZIP() []byte { file_rotom_proto_rawDescOnce.Do(func() { - file_rotom_proto_rawDescData = protoimpl.X.CompressGZIP(file_rotom_proto_rawDescData) + file_rotom_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_rotom_proto_rawDesc), len(file_rotom_proto_rawDesc))) }) return file_rotom_proto_rawDescData } var file_rotom_proto_enumTypes = make([]protoimpl.EnumInfo, 7) var file_rotom_proto_msgTypes = make([]protoimpl.MessageInfo, 11) -var file_rotom_proto_goTypes = []interface{}{ +var file_rotom_proto_goTypes = []any{ (AuthStatus)(0), // 0: RotomProtos.AuthStatus (RpcStatus)(0), // 1: RotomProtos.RpcStatus (MitmRequest_Method)(0), // 2: RotomProtos.MitmRequest.Method @@ -1652,145 +1527,11 @@ func file_rotom_proto_init() { if File_rotom_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_rotom_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MitmRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_rotom_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MitmResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_rotom_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WelcomeMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_rotom_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterControllerRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_rotom_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RegisterControllerResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_rotom_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MitmRequest_LoginRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_rotom_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MitmRequest_RpcRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_rotom_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MitmRequest_RpcRequest_SingleRpcRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_rotom_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MitmResponse_LoginResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_rotom_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MitmResponse_RpcResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_rotom_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MitmResponse_RpcResponse_SingleRpcResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_rotom_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_rotom_proto_msgTypes[0].OneofWrappers = []any{ (*MitmRequest_LoginRequest_)(nil), (*MitmRequest_RpcRequest_)(nil), } - file_rotom_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_rotom_proto_msgTypes[1].OneofWrappers = []any{ (*MitmResponse_LoginResponse_)(nil), (*MitmResponse_RpcResponse_)(nil), } @@ -1798,7 +1539,7 @@ func file_rotom_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_rotom_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_rotom_proto_rawDesc), len(file_rotom_proto_rawDesc)), NumEnums: 7, NumMessages: 11, NumExtensions: 0, @@ -1810,7 +1551,6 @@ func file_rotom_proto_init() { MessageInfos: file_rotom_proto_msgTypes, }.Build() File_rotom_proto = out.File - file_rotom_proto_rawDesc = nil file_rotom_proto_goTypes = nil file_rotom_proto_depIdxs = nil } diff --git a/libs/protos/rotom.proto b/libs/protos/rotom.proto index a4cc022..2b3eea2 100644 --- a/libs/protos/rotom.proto +++ b/libs/protos/rotom.proto @@ -12,11 +12,12 @@ message MitmRequest { message LoginRequest { enum LoginSource { UNSET = 0; - PTC = 1; + PTC = 1 [deprecated = true]; PTC_OAUTH = 2; FB = 3; GOOGLE = 4; - N_KIDS = 5; + SUPER_AWESOME = 5 [deprecated = true]; + NIANTIC_JWT = 6; } string username = 1; diff --git a/libs/testutil/builders.go b/libs/testutil/builders.go index c4df0ec..089f52c 100644 --- a/libs/testutil/builders.go +++ b/libs/testutil/builders.go @@ -146,7 +146,8 @@ func BuildLoginRequest(opts ...LoginRequestOption) *protos.MitmRequest { lr := &protos.MitmRequest_LoginRequest{ WorkerId: uuid.New().String(), Username: defaultTestUser, - Source: protos.MitmRequest_LoginRequest_PTC, + //nolint:staticcheck + Source: protos.MitmRequest_LoginRequest_PTC, } for _, opt := range opts { opt(lr) diff --git a/libs/testutil/builders_test.go b/libs/testutil/builders_test.go index 72e8a5d..4ff490e 100644 --- a/libs/testutil/builders_test.go +++ b/libs/testutil/builders_test.go @@ -66,6 +66,7 @@ func TestBuildLoginRequestDefaults(t *testing.T) { if lr.Username != "test-user" { t.Fatalf("expected Username 'test-user', got %q", lr.Username) } + //nolint:staticcheck if lr.Source != protos.MitmRequest_LoginRequest_PTC { t.Fatalf("expected Source PTC, got %v", lr.Source) } diff --git a/libs/testutil/fake_controller.go b/libs/testutil/fake_controller.go index 073d2de..1074f0e 100644 --- a/libs/testutil/fake_controller.go +++ b/libs/testutil/fake_controller.go @@ -266,7 +266,8 @@ func (fc *FakeController) connectV2(ctx context.Context, addr string) error { LoginRequest: &protos.MitmRequest_LoginRequest{ WorkerId: fc.cfg.controllerID, Username: defaultTestUser, - Source: protos.MitmRequest_LoginRequest_PTC, + //nolint:staticcheck + Source: protos.MitmRequest_LoginRequest_PTC, }, }, } @@ -323,7 +324,8 @@ func (fc *FakeController) connectV1(ctx context.Context, addr string) error { LoginRequest: &protos.MitmRequest_LoginRequest{ WorkerId: fc.cfg.controllerID, Username: defaultTestUser, - Source: protos.MitmRequest_LoginRequest_PTC, + //nolint:staticcheck + Source: protos.MitmRequest_LoginRequest_PTC, }, }, }