diff --git a/cln/cln_client.go b/cln/cln_client.go index c4c1e1dc..05412197 100644 --- a/cln/cln_client.go +++ b/cln/cln_client.go @@ -211,12 +211,7 @@ func (c *ClnClient) GetChannel(peerID []byte, channelPoint wire.OutPoint) (*ligh } for _, c := range channels.Channels { - if c.State == nil { - log.Printf("Channel '%+v' with peer '%x' doesn't have a state (yet).", - c.ShortChannelId, c.PeerId) - continue - } - state := int32(*c.State) + state := int32(c.State) log.Printf("getChannel destination: %s, scid: %+v, local alias: %+v, "+ "FundingTxID:%x, State:%+v ", pubkey, c.ShortChannelId, c.Alias.Local, c.FundingTxid, c.State) @@ -267,12 +262,7 @@ func (c *ClnClient) GetClosedChannels( lookup := make(map[string]uint64) for _, c := range channels.Channels { - if c.State == nil { - log.Printf("Channel '%+v' with peer '%x' doesn't have a state (yet).", - c.ShortChannelId, c.PeerId) - continue - } - state := int32(*c.State) + state := int32(c.State) if slices.Contains(CLOSING_STATUSES, state) { if c.ShortChannelId == nil { @@ -371,11 +361,7 @@ func (c *ClnClient) WaitChannelActive(peerID []byte, deadline time.Time) error { ) if err == nil { for _, c := range peer.Channels { - if c.State == nil { - continue - } - - if slices.Contains(OPEN_STATUSES, int32(*c.State)) { + if slices.Contains(OPEN_STATUSES, int32(c.State)) { return nil } } diff --git a/cln/rpc/node.pb.go b/cln/rpc/node.pb.go index c7095188..36ed3467 100644 --- a/cln/rpc/node.pb.go +++ b/cln/rpc/node.pb.go @@ -81,30 +81,30 @@ type GetinfoBinding_GetinfoBindingType int32 const ( GetinfoBinding_LOCAL_SOCKET GetinfoBinding_GetinfoBindingType = 0 - GetinfoBinding_WEBSOCKET GetinfoBinding_GetinfoBindingType = 5 GetinfoBinding_IPV4 GetinfoBinding_GetinfoBindingType = 1 GetinfoBinding_IPV6 GetinfoBinding_GetinfoBindingType = 2 GetinfoBinding_TORV2 GetinfoBinding_GetinfoBindingType = 3 GetinfoBinding_TORV3 GetinfoBinding_GetinfoBindingType = 4 + GetinfoBinding_WEBSOCKET GetinfoBinding_GetinfoBindingType = 5 ) // Enum value maps for GetinfoBinding_GetinfoBindingType. var ( GetinfoBinding_GetinfoBindingType_name = map[int32]string{ 0: "LOCAL_SOCKET", - 5: "WEBSOCKET", 1: "IPV4", 2: "IPV6", 3: "TORV2", 4: "TORV3", + 5: "WEBSOCKET", } GetinfoBinding_GetinfoBindingType_value = map[string]int32{ "LOCAL_SOCKET": 0, - "WEBSOCKET": 5, "IPV4": 1, "IPV6": 2, "TORV2": 3, "TORV3": 4, + "WEBSOCKET": 5, } ) @@ -135,6 +135,62 @@ func (GetinfoBinding_GetinfoBindingType) EnumDescriptor() ([]byte, []int) { return file_node_proto_rawDescGZIP(), []int{4, 0} } +// ListPeers.level +type ListpeersRequest_ListpeersLevel int32 + +const ( + ListpeersRequest_IO ListpeersRequest_ListpeersLevel = 0 + ListpeersRequest_DEBUG ListpeersRequest_ListpeersLevel = 1 + ListpeersRequest_INFO ListpeersRequest_ListpeersLevel = 2 + ListpeersRequest_UNUSUAL ListpeersRequest_ListpeersLevel = 3 + ListpeersRequest_TRACE ListpeersRequest_ListpeersLevel = 4 +) + +// Enum value maps for ListpeersRequest_ListpeersLevel. +var ( + ListpeersRequest_ListpeersLevel_name = map[int32]string{ + 0: "IO", + 1: "DEBUG", + 2: "INFO", + 3: "UNUSUAL", + 4: "TRACE", + } + ListpeersRequest_ListpeersLevel_value = map[string]int32{ + "IO": 0, + "DEBUG": 1, + "INFO": 2, + "UNUSUAL": 3, + "TRACE": 4, + } +) + +func (x ListpeersRequest_ListpeersLevel) Enum() *ListpeersRequest_ListpeersLevel { + p := new(ListpeersRequest_ListpeersLevel) + *p = x + return p +} + +func (x ListpeersRequest_ListpeersLevel) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ListpeersRequest_ListpeersLevel) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[2].Descriptor() +} + +func (ListpeersRequest_ListpeersLevel) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[2] +} + +func (x ListpeersRequest_ListpeersLevel) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ListpeersRequest_ListpeersLevel.Descriptor instead. +func (ListpeersRequest_ListpeersLevel) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{5, 0} +} + // ListPeers.peers[].log[].type type ListpeersPeersLog_ListpeersPeersLogType int32 @@ -146,6 +202,7 @@ const ( ListpeersPeersLog_DEBUG ListpeersPeersLog_ListpeersPeersLogType = 4 ListpeersPeersLog_IO_IN ListpeersPeersLog_ListpeersPeersLogType = 5 ListpeersPeersLog_IO_OUT ListpeersPeersLog_ListpeersPeersLogType = 6 + ListpeersPeersLog_TRACE ListpeersPeersLog_ListpeersPeersLogType = 7 ) // Enum value maps for ListpeersPeersLog_ListpeersPeersLogType. @@ -158,6 +215,7 @@ var ( 4: "DEBUG", 5: "IO_IN", 6: "IO_OUT", + 7: "TRACE", } ListpeersPeersLog_ListpeersPeersLogType_value = map[string]int32{ "SKIPPED": 0, @@ -167,6 +225,7 @@ var ( "DEBUG": 4, "IO_IN": 5, "IO_OUT": 6, + "TRACE": 7, } ) @@ -181,11 +240,11 @@ func (x ListpeersPeersLog_ListpeersPeersLogType) String() string { } func (ListpeersPeersLog_ListpeersPeersLogType) Descriptor() protoreflect.EnumDescriptor { - return file_node_proto_enumTypes[2].Descriptor() + return file_node_proto_enumTypes[3].Descriptor() } func (ListpeersPeersLog_ListpeersPeersLogType) Type() protoreflect.EnumType { - return &file_node_proto_enumTypes[2] + return &file_node_proto_enumTypes[3] } func (x ListpeersPeersLog_ListpeersPeersLogType) Number() protoreflect.EnumNumber { @@ -197,133 +256,6 @@ func (ListpeersPeersLog_ListpeersPeersLogType) EnumDescriptor() ([]byte, []int) return file_node_proto_rawDescGZIP(), []int{8, 0} } -// ListPeers.peers[].channels[].state -type ListpeersPeersChannels_ListpeersPeersChannelsState int32 - -const ( - ListpeersPeersChannels_OPENINGD ListpeersPeersChannels_ListpeersPeersChannelsState = 0 - ListpeersPeersChannels_CHANNELD_AWAITING_LOCKIN ListpeersPeersChannels_ListpeersPeersChannelsState = 1 - ListpeersPeersChannels_CHANNELD_NORMAL ListpeersPeersChannels_ListpeersPeersChannelsState = 2 - ListpeersPeersChannels_CHANNELD_SHUTTING_DOWN ListpeersPeersChannels_ListpeersPeersChannelsState = 3 - ListpeersPeersChannels_CLOSINGD_SIGEXCHANGE ListpeersPeersChannels_ListpeersPeersChannelsState = 4 - ListpeersPeersChannels_CLOSINGD_COMPLETE ListpeersPeersChannels_ListpeersPeersChannelsState = 5 - ListpeersPeersChannels_AWAITING_UNILATERAL ListpeersPeersChannels_ListpeersPeersChannelsState = 6 - ListpeersPeersChannels_FUNDING_SPEND_SEEN ListpeersPeersChannels_ListpeersPeersChannelsState = 7 - ListpeersPeersChannels_ONCHAIN ListpeersPeersChannels_ListpeersPeersChannelsState = 8 - ListpeersPeersChannels_DUALOPEND_OPEN_INIT ListpeersPeersChannels_ListpeersPeersChannelsState = 9 - ListpeersPeersChannels_DUALOPEND_AWAITING_LOCKIN ListpeersPeersChannels_ListpeersPeersChannelsState = 10 - ListpeersPeersChannels_DUALOPEND_OPEN_COMMITTED ListpeersPeersChannels_ListpeersPeersChannelsState = 11 - ListpeersPeersChannels_DUALOPEND_OPEN_COMMIT_READY ListpeersPeersChannels_ListpeersPeersChannelsState = 12 -) - -// Enum value maps for ListpeersPeersChannels_ListpeersPeersChannelsState. -var ( - ListpeersPeersChannels_ListpeersPeersChannelsState_name = map[int32]string{ - 0: "OPENINGD", - 1: "CHANNELD_AWAITING_LOCKIN", - 2: "CHANNELD_NORMAL", - 3: "CHANNELD_SHUTTING_DOWN", - 4: "CLOSINGD_SIGEXCHANGE", - 5: "CLOSINGD_COMPLETE", - 6: "AWAITING_UNILATERAL", - 7: "FUNDING_SPEND_SEEN", - 8: "ONCHAIN", - 9: "DUALOPEND_OPEN_INIT", - 10: "DUALOPEND_AWAITING_LOCKIN", - 11: "DUALOPEND_OPEN_COMMITTED", - 12: "DUALOPEND_OPEN_COMMIT_READY", - } - ListpeersPeersChannels_ListpeersPeersChannelsState_value = map[string]int32{ - "OPENINGD": 0, - "CHANNELD_AWAITING_LOCKIN": 1, - "CHANNELD_NORMAL": 2, - "CHANNELD_SHUTTING_DOWN": 3, - "CLOSINGD_SIGEXCHANGE": 4, - "CLOSINGD_COMPLETE": 5, - "AWAITING_UNILATERAL": 6, - "FUNDING_SPEND_SEEN": 7, - "ONCHAIN": 8, - "DUALOPEND_OPEN_INIT": 9, - "DUALOPEND_AWAITING_LOCKIN": 10, - "DUALOPEND_OPEN_COMMITTED": 11, - "DUALOPEND_OPEN_COMMIT_READY": 12, - } -) - -func (x ListpeersPeersChannels_ListpeersPeersChannelsState) Enum() *ListpeersPeersChannels_ListpeersPeersChannelsState { - p := new(ListpeersPeersChannels_ListpeersPeersChannelsState) - *p = x - return p -} - -func (x ListpeersPeersChannels_ListpeersPeersChannelsState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ListpeersPeersChannels_ListpeersPeersChannelsState) Descriptor() protoreflect.EnumDescriptor { - return file_node_proto_enumTypes[3].Descriptor() -} - -func (ListpeersPeersChannels_ListpeersPeersChannelsState) Type() protoreflect.EnumType { - return &file_node_proto_enumTypes[3] -} - -func (x ListpeersPeersChannels_ListpeersPeersChannelsState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ListpeersPeersChannels_ListpeersPeersChannelsState.Descriptor instead. -func (ListpeersPeersChannels_ListpeersPeersChannelsState) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{9, 0} -} - -// ListPeers.peers[].channels[].htlcs[].direction -type ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection int32 - -const ( - ListpeersPeersChannelsHtlcs_IN ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection = 0 - ListpeersPeersChannelsHtlcs_OUT ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection = 1 -) - -// Enum value maps for ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection. -var ( - ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection_name = map[int32]string{ - 0: "IN", - 1: "OUT", - } - ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection_value = map[string]int32{ - "IN": 0, - "OUT": 1, - } -) - -func (x ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection) Enum() *ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection { - p := new(ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection) - *p = x - return p -} - -func (x ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection) Descriptor() protoreflect.EnumDescriptor { - return file_node_proto_enumTypes[4].Descriptor() -} - -func (ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection) Type() protoreflect.EnumType { - return &file_node_proto_enumTypes[4] -} - -func (x ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection.Descriptor instead. -func (ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{14, 0} -} - // ListFunds.outputs[].status type ListfundsOutputs_ListfundsOutputsStatus int32 @@ -361,11 +293,11 @@ func (x ListfundsOutputs_ListfundsOutputsStatus) String() string { } func (ListfundsOutputs_ListfundsOutputsStatus) Descriptor() protoreflect.EnumDescriptor { - return file_node_proto_enumTypes[5].Descriptor() + return file_node_proto_enumTypes[4].Descriptor() } func (ListfundsOutputs_ListfundsOutputsStatus) Type() protoreflect.EnumType { - return &file_node_proto_enumTypes[5] + return &file_node_proto_enumTypes[4] } func (x ListfundsOutputs_ListfundsOutputsStatus) Number() protoreflect.EnumNumber { @@ -374,7 +306,7 @@ func (x ListfundsOutputs_ListfundsOutputsStatus) Number() protoreflect.EnumNumbe // Deprecated: Use ListfundsOutputs_ListfundsOutputsStatus.Descriptor instead. func (ListfundsOutputs_ListfundsOutputsStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{17, 0} + return file_node_proto_rawDescGZIP(), []int{11, 0} } // SendPay.status @@ -408,11 +340,11 @@ func (x SendpayResponse_SendpayStatus) String() string { } func (SendpayResponse_SendpayStatus) Descriptor() protoreflect.EnumDescriptor { - return file_node_proto_enumTypes[6].Descriptor() + return file_node_proto_enumTypes[5].Descriptor() } func (SendpayResponse_SendpayStatus) Type() protoreflect.EnumType { - return &file_node_proto_enumTypes[6] + return &file_node_proto_enumTypes[5] } func (x SendpayResponse_SendpayStatus) Number() protoreflect.EnumNumber { @@ -421,7 +353,7 @@ func (x SendpayResponse_SendpayStatus) Number() protoreflect.EnumNumber { // Deprecated: Use SendpayResponse_SendpayStatus.Descriptor instead. func (SendpayResponse_SendpayStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{20, 0} + return file_node_proto_rawDescGZIP(), []int{14, 0} } // Close.type @@ -458,11 +390,11 @@ func (x CloseResponse_CloseType) String() string { } func (CloseResponse_CloseType) Descriptor() protoreflect.EnumDescriptor { - return file_node_proto_enumTypes[7].Descriptor() + return file_node_proto_enumTypes[6].Descriptor() } func (CloseResponse_CloseType) Type() protoreflect.EnumType { - return &file_node_proto_enumTypes[7] + return &file_node_proto_enumTypes[6] } func (x CloseResponse_CloseType) Number() protoreflect.EnumNumber { @@ -471,7 +403,7 @@ func (x CloseResponse_CloseType) Number() protoreflect.EnumNumber { // Deprecated: Use CloseResponse_CloseType.Descriptor instead. func (CloseResponse_CloseType) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{32, 0} + return file_node_proto_rawDescGZIP(), []int{46, 0} } // Connect.direction @@ -505,11 +437,11 @@ func (x ConnectResponse_ConnectDirection) String() string { } func (ConnectResponse_ConnectDirection) Descriptor() protoreflect.EnumDescriptor { - return file_node_proto_enumTypes[8].Descriptor() + return file_node_proto_enumTypes[7].Descriptor() } func (ConnectResponse_ConnectDirection) Type() protoreflect.EnumType { - return &file_node_proto_enumTypes[8] + return &file_node_proto_enumTypes[7] } func (x ConnectResponse_ConnectDirection) Number() protoreflect.EnumNumber { @@ -518,7 +450,7 @@ func (x ConnectResponse_ConnectDirection) Number() protoreflect.EnumNumber { // Deprecated: Use ConnectResponse_ConnectDirection.Descriptor instead. func (ConnectResponse_ConnectDirection) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{34, 0} + return file_node_proto_rawDescGZIP(), []int{48, 0} } // Connect.address.type @@ -561,11 +493,11 @@ func (x ConnectAddress_ConnectAddressType) String() string { } func (ConnectAddress_ConnectAddressType) Descriptor() protoreflect.EnumDescriptor { - return file_node_proto_enumTypes[9].Descriptor() + return file_node_proto_enumTypes[8].Descriptor() } func (ConnectAddress_ConnectAddressType) Type() protoreflect.EnumType { - return &file_node_proto_enumTypes[9] + return &file_node_proto_enumTypes[8] } func (x ConnectAddress_ConnectAddressType) Number() protoreflect.EnumNumber { @@ -574,7 +506,7 @@ func (x ConnectAddress_ConnectAddressType) Number() protoreflect.EnumNumber { // Deprecated: Use ConnectAddress_ConnectAddressType.Descriptor instead. func (ConnectAddress_ConnectAddressType) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{35, 0} + return file_node_proto_rawDescGZIP(), []int{49, 0} } // CreateInvoice.status @@ -611,11 +543,11 @@ func (x CreateinvoiceResponse_CreateinvoiceStatus) String() string { } func (CreateinvoiceResponse_CreateinvoiceStatus) Descriptor() protoreflect.EnumDescriptor { - return file_node_proto_enumTypes[10].Descriptor() + return file_node_proto_enumTypes[9].Descriptor() } func (CreateinvoiceResponse_CreateinvoiceStatus) Type() protoreflect.EnumType { - return &file_node_proto_enumTypes[10] + return &file_node_proto_enumTypes[9] } func (x CreateinvoiceResponse_CreateinvoiceStatus) Number() protoreflect.EnumNumber { @@ -624,7 +556,7 @@ func (x CreateinvoiceResponse_CreateinvoiceStatus) Number() protoreflect.EnumNum // Deprecated: Use CreateinvoiceResponse_CreateinvoiceStatus.Descriptor instead. func (CreateinvoiceResponse_CreateinvoiceStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{37, 0} + return file_node_proto_rawDescGZIP(), []int{51, 0} } // Datastore.mode @@ -667,11 +599,11 @@ func (x DatastoreRequest_DatastoreMode) String() string { } func (DatastoreRequest_DatastoreMode) Descriptor() protoreflect.EnumDescriptor { - return file_node_proto_enumTypes[11].Descriptor() + return file_node_proto_enumTypes[10].Descriptor() } func (DatastoreRequest_DatastoreMode) Type() protoreflect.EnumType { - return &file_node_proto_enumTypes[11] + return &file_node_proto_enumTypes[10] } func (x DatastoreRequest_DatastoreMode) Number() protoreflect.EnumNumber { @@ -680,7 +612,7 @@ func (x DatastoreRequest_DatastoreMode) Number() protoreflect.EnumNumber { // Deprecated: Use DatastoreRequest_DatastoreMode.Descriptor instead. func (DatastoreRequest_DatastoreMode) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{39, 0} + return file_node_proto_rawDescGZIP(), []int{53, 0} } // DelInvoice.status @@ -717,11 +649,11 @@ func (x DelinvoiceRequest_DelinvoiceStatus) String() string { } func (DelinvoiceRequest_DelinvoiceStatus) Descriptor() protoreflect.EnumDescriptor { - return file_node_proto_enumTypes[12].Descriptor() + return file_node_proto_enumTypes[11].Descriptor() } func (DelinvoiceRequest_DelinvoiceStatus) Type() protoreflect.EnumType { - return &file_node_proto_enumTypes[12] + return &file_node_proto_enumTypes[11] } func (x DelinvoiceRequest_DelinvoiceStatus) Number() protoreflect.EnumNumber { @@ -730,7 +662,7 @@ func (x DelinvoiceRequest_DelinvoiceStatus) Number() protoreflect.EnumNumber { // Deprecated: Use DelinvoiceRequest_DelinvoiceStatus.Descriptor instead. func (DelinvoiceRequest_DelinvoiceStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{51, 0} + return file_node_proto_rawDescGZIP(), []int{63, 0} } // DelInvoice.status @@ -767,11 +699,11 @@ func (x DelinvoiceResponse_DelinvoiceStatus) String() string { } func (DelinvoiceResponse_DelinvoiceStatus) Descriptor() protoreflect.EnumDescriptor { - return file_node_proto_enumTypes[13].Descriptor() + return file_node_proto_enumTypes[12].Descriptor() } func (DelinvoiceResponse_DelinvoiceStatus) Type() protoreflect.EnumType { - return &file_node_proto_enumTypes[13] + return &file_node_proto_enumTypes[12] } func (x DelinvoiceResponse_DelinvoiceStatus) Number() protoreflect.EnumNumber { @@ -780,7 +712,51 @@ func (x DelinvoiceResponse_DelinvoiceStatus) Number() protoreflect.EnumNumber { // Deprecated: Use DelinvoiceResponse_DelinvoiceStatus.Descriptor instead. func (DelinvoiceResponse_DelinvoiceStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{52, 0} + return file_node_proto_rawDescGZIP(), []int{64, 0} +} + +// Recover.result +type RecoverResponse_RecoverResult int32 + +const ( + RecoverResponse_RECOVERY_RESTART_IN_PROGRESS RecoverResponse_RecoverResult = 0 +) + +// Enum value maps for RecoverResponse_RecoverResult. +var ( + RecoverResponse_RecoverResult_name = map[int32]string{ + 0: "RECOVERY_RESTART_IN_PROGRESS", + } + RecoverResponse_RecoverResult_value = map[string]int32{ + "RECOVERY_RESTART_IN_PROGRESS": 0, + } +) + +func (x RecoverResponse_RecoverResult) Enum() *RecoverResponse_RecoverResult { + p := new(RecoverResponse_RecoverResult) + *p = x + return p +} + +func (x RecoverResponse_RecoverResult) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RecoverResponse_RecoverResult) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[13].Descriptor() +} + +func (RecoverResponse_RecoverResult) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[13] +} + +func (x RecoverResponse_RecoverResult) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RecoverResponse_RecoverResult.Descriptor instead. +func (RecoverResponse_RecoverResult) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{70, 0} } // ListInvoices.index @@ -827,7 +803,7 @@ func (x ListinvoicesRequest_ListinvoicesIndex) Number() protoreflect.EnumNumber // Deprecated: Use ListinvoicesRequest_ListinvoicesIndex.Descriptor instead. func (ListinvoicesRequest_ListinvoicesIndex) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{58, 0} + return file_node_proto_rawDescGZIP(), []int{85, 0} } // ListInvoices.invoices[].status @@ -877,7 +853,7 @@ func (x ListinvoicesInvoices_ListinvoicesInvoicesStatus) Number() protoreflect.E // Deprecated: Use ListinvoicesInvoices_ListinvoicesInvoicesStatus.Descriptor instead. func (ListinvoicesInvoices_ListinvoicesInvoicesStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{60, 0} + return file_node_proto_rawDescGZIP(), []int{87, 0} } // SendOnion.status @@ -924,7 +900,7 @@ func (x SendonionResponse_SendonionStatus) Number() protoreflect.EnumNumber { // Deprecated: Use SendonionResponse_SendonionStatus.Descriptor instead. func (SendonionResponse_SendonionStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{63, 0} + return file_node_proto_rawDescGZIP(), []int{90, 0} } // ListSendPays.status @@ -974,7 +950,7 @@ func (x ListsendpaysRequest_ListsendpaysStatus) Number() protoreflect.EnumNumber // Deprecated: Use ListsendpaysRequest_ListsendpaysStatus.Descriptor instead. func (ListsendpaysRequest_ListsendpaysStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{65, 0} + return file_node_proto_rawDescGZIP(), []int{92, 0} } // ListSendPays.index @@ -1021,7 +997,7 @@ func (x ListsendpaysRequest_ListsendpaysIndex) Number() protoreflect.EnumNumber // Deprecated: Use ListsendpaysRequest_ListsendpaysIndex.Descriptor instead. func (ListsendpaysRequest_ListsendpaysIndex) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{65, 1} + return file_node_proto_rawDescGZIP(), []int{92, 1} } // ListSendPays.payments[].status @@ -1071,7 +1047,7 @@ func (x ListsendpaysPayments_ListsendpaysPaymentsStatus) Number() protoreflect.E // Deprecated: Use ListsendpaysPayments_ListsendpaysPaymentsStatus.Descriptor instead. func (ListsendpaysPayments_ListsendpaysPaymentsStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{67, 0} + return file_node_proto_rawDescGZIP(), []int{94, 0} } // Pay.status @@ -1121,7 +1097,7 @@ func (x PayResponse_PayStatus) Number() protoreflect.EnumNumber { // Deprecated: Use PayResponse_PayStatus.Descriptor instead. func (PayResponse_PayStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{74, 0} + return file_node_proto_rawDescGZIP(), []int{103, 0} } // ListNodes.nodes[].addresses[].type @@ -1177,7 +1153,7 @@ func (x ListnodesNodesAddresses_ListnodesNodesAddressesType) Number() protorefle // Deprecated: Use ListnodesNodesAddresses_ListnodesNodesAddressesType.Descriptor instead. func (ListnodesNodesAddresses_ListnodesNodesAddressesType) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{78, 0} + return file_node_proto_rawDescGZIP(), []int{108, 0} } // WaitAnyInvoice.status @@ -1224,7 +1200,7 @@ func (x WaitanyinvoiceResponse_WaitanyinvoiceStatus) Number() protoreflect.EnumN // Deprecated: Use WaitanyinvoiceResponse_WaitanyinvoiceStatus.Descriptor instead. func (WaitanyinvoiceResponse_WaitanyinvoiceStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{80, 0} + return file_node_proto_rawDescGZIP(), []int{110, 0} } // WaitInvoice.status @@ -1271,7 +1247,7 @@ func (x WaitinvoiceResponse_WaitinvoiceStatus) Number() protoreflect.EnumNumber // Deprecated: Use WaitinvoiceResponse_WaitinvoiceStatus.Descriptor instead. func (WaitinvoiceResponse_WaitinvoiceStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{83, 0} + return file_node_proto_rawDescGZIP(), []int{113, 0} } // WaitSendPay.status @@ -1315,7 +1291,7 @@ func (x WaitsendpayResponse_WaitsendpayStatus) Number() protoreflect.EnumNumber // Deprecated: Use WaitsendpayResponse_WaitsendpayStatus.Descriptor instead. func (WaitsendpayResponse_WaitsendpayStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{86, 0} + return file_node_proto_rawDescGZIP(), []int{116, 0} } // NewAddr.addresstype @@ -1323,21 +1299,21 @@ type NewaddrRequest_NewaddrAddresstype int32 const ( NewaddrRequest_BECH32 NewaddrRequest_NewaddrAddresstype = 0 - NewaddrRequest_P2TR NewaddrRequest_NewaddrAddresstype = 3 NewaddrRequest_ALL NewaddrRequest_NewaddrAddresstype = 2 + NewaddrRequest_P2TR NewaddrRequest_NewaddrAddresstype = 3 ) // Enum value maps for NewaddrRequest_NewaddrAddresstype. var ( NewaddrRequest_NewaddrAddresstype_name = map[int32]string{ 0: "BECH32", - 3: "P2TR", 2: "ALL", + 3: "P2TR", } NewaddrRequest_NewaddrAddresstype_value = map[string]int32{ "BECH32": 0, - "P2TR": 3, "ALL": 2, + "P2TR": 3, } ) @@ -1365,7 +1341,7 @@ func (x NewaddrRequest_NewaddrAddresstype) Number() protoreflect.EnumNumber { // Deprecated: Use NewaddrRequest_NewaddrAddresstype.Descriptor instead. func (NewaddrRequest_NewaddrAddresstype) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{87, 0} + return file_node_proto_rawDescGZIP(), []int{117, 0} } // KeySend.status @@ -1409,7 +1385,7 @@ func (x KeysendResponse_KeysendStatus) Number() protoreflect.EnumNumber { // Deprecated: Use KeysendResponse_KeysendStatus.Descriptor instead. func (KeysendResponse_KeysendStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{92, 0} + return file_node_proto_rawDescGZIP(), []int{122, 0} } // ListPeerChannels.channels[].state @@ -1492,7 +1468,7 @@ func (x ListpeerchannelsChannels_ListpeerchannelsChannelsState) Number() protore // Deprecated: Use ListpeerchannelsChannels_ListpeerchannelsChannelsState.Descriptor instead. func (ListpeerchannelsChannels_ListpeerchannelsChannelsState) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{111, 0} + return file_node_proto_rawDescGZIP(), []int{141, 0} } // ListPeerChannels.channels[].htlcs[].direction @@ -1539,7 +1515,7 @@ func (x ListpeerchannelsChannelsHtlcs_ListpeerchannelsChannelsHtlcsDirection) Nu // Deprecated: Use ListpeerchannelsChannelsHtlcs_ListpeerchannelsChannelsHtlcsDirection.Descriptor instead. func (ListpeerchannelsChannelsHtlcs_ListpeerchannelsChannelsHtlcsDirection) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{119, 0} + return file_node_proto_rawDescGZIP(), []int{149, 0} } // ListClosedChannels.closedchannels[].close_cause @@ -1598,7 +1574,7 @@ func (x ListclosedchannelsClosedchannels_ListclosedchannelsClosedchannelsCloseCa // Deprecated: Use ListclosedchannelsClosedchannels_ListclosedchannelsClosedchannelsCloseCause.Descriptor instead. func (ListclosedchannelsClosedchannels_ListclosedchannelsClosedchannelsCloseCause) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{122, 0} + return file_node_proto_rawDescGZIP(), []int{152, 0} } // DecodePay.fallbacks[].type @@ -1654,7 +1630,7 @@ func (x DecodepayFallbacks_DecodepayFallbacksType) Number() protoreflect.EnumNum // Deprecated: Use DecodepayFallbacks_DecodepayFallbacksType.Descriptor instead. func (DecodepayFallbacks_DecodepayFallbacksType) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{126, 0} + return file_node_proto_rawDescGZIP(), []int{156, 0} } // Decode.type @@ -1713,1832 +1689,1706 @@ func (x DecodeResponse_DecodeType) Number() protoreflect.EnumNumber { // Deprecated: Use DecodeResponse_DecodeType.Descriptor instead. func (DecodeResponse_DecodeType) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{129, 0} + return file_node_proto_rawDescGZIP(), []int{159, 0} } -// Feerates.style -type FeeratesRequest_FeeratesStyle int32 +// Decode.fallbacks[].type +type DecodeFallbacks_DecodeFallbacksType int32 const ( - FeeratesRequest_PERKB FeeratesRequest_FeeratesStyle = 0 - FeeratesRequest_PERKW FeeratesRequest_FeeratesStyle = 1 + DecodeFallbacks_P2PKH DecodeFallbacks_DecodeFallbacksType = 0 + DecodeFallbacks_P2SH DecodeFallbacks_DecodeFallbacksType = 1 + DecodeFallbacks_P2WPKH DecodeFallbacks_DecodeFallbacksType = 2 + DecodeFallbacks_P2WSH DecodeFallbacks_DecodeFallbacksType = 3 + DecodeFallbacks_P2TR DecodeFallbacks_DecodeFallbacksType = 4 ) -// Enum value maps for FeeratesRequest_FeeratesStyle. +// Enum value maps for DecodeFallbacks_DecodeFallbacksType. var ( - FeeratesRequest_FeeratesStyle_name = map[int32]string{ - 0: "PERKB", - 1: "PERKW", + DecodeFallbacks_DecodeFallbacksType_name = map[int32]string{ + 0: "P2PKH", + 1: "P2SH", + 2: "P2WPKH", + 3: "P2WSH", + 4: "P2TR", } - FeeratesRequest_FeeratesStyle_value = map[string]int32{ - "PERKB": 0, - "PERKW": 1, + DecodeFallbacks_DecodeFallbacksType_value = map[string]int32{ + "P2PKH": 0, + "P2SH": 1, + "P2WPKH": 2, + "P2WSH": 3, + "P2TR": 4, } ) -func (x FeeratesRequest_FeeratesStyle) Enum() *FeeratesRequest_FeeratesStyle { - p := new(FeeratesRequest_FeeratesStyle) +func (x DecodeFallbacks_DecodeFallbacksType) Enum() *DecodeFallbacks_DecodeFallbacksType { + p := new(DecodeFallbacks_DecodeFallbacksType) *p = x return p } -func (x FeeratesRequest_FeeratesStyle) String() string { +func (x DecodeFallbacks_DecodeFallbacksType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (FeeratesRequest_FeeratesStyle) Descriptor() protoreflect.EnumDescriptor { +func (DecodeFallbacks_DecodeFallbacksType) Descriptor() protoreflect.EnumDescriptor { return file_node_proto_enumTypes[32].Descriptor() } -func (FeeratesRequest_FeeratesStyle) Type() protoreflect.EnumType { +func (DecodeFallbacks_DecodeFallbacksType) Type() protoreflect.EnumType { return &file_node_proto_enumTypes[32] } -func (x FeeratesRequest_FeeratesStyle) Number() protoreflect.EnumNumber { +func (x DecodeFallbacks_DecodeFallbacksType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use FeeratesRequest_FeeratesStyle.Descriptor instead. -func (FeeratesRequest_FeeratesStyle) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{139, 0} +// Deprecated: Use DecodeFallbacks_DecodeFallbacksType.Descriptor instead. +func (DecodeFallbacks_DecodeFallbacksType) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{164, 0} } -// GetRoute.route[].style -type GetrouteRoute_GetrouteRouteStyle int32 +// DelPay.status +type DelpayRequest_DelpayStatus int32 const ( - GetrouteRoute_TLV GetrouteRoute_GetrouteRouteStyle = 0 + DelpayRequest_COMPLETE DelpayRequest_DelpayStatus = 0 + DelpayRequest_FAILED DelpayRequest_DelpayStatus = 1 ) -// Enum value maps for GetrouteRoute_GetrouteRouteStyle. +// Enum value maps for DelpayRequest_DelpayStatus. var ( - GetrouteRoute_GetrouteRouteStyle_name = map[int32]string{ - 0: "TLV", + DelpayRequest_DelpayStatus_name = map[int32]string{ + 0: "COMPLETE", + 1: "FAILED", } - GetrouteRoute_GetrouteRouteStyle_value = map[string]int32{ - "TLV": 0, + DelpayRequest_DelpayStatus_value = map[string]int32{ + "COMPLETE": 0, + "FAILED": 1, } ) -func (x GetrouteRoute_GetrouteRouteStyle) Enum() *GetrouteRoute_GetrouteRouteStyle { - p := new(GetrouteRoute_GetrouteRouteStyle) +func (x DelpayRequest_DelpayStatus) Enum() *DelpayRequest_DelpayStatus { + p := new(DelpayRequest_DelpayStatus) *p = x return p } -func (x GetrouteRoute_GetrouteRouteStyle) String() string { +func (x DelpayRequest_DelpayStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (GetrouteRoute_GetrouteRouteStyle) Descriptor() protoreflect.EnumDescriptor { +func (DelpayRequest_DelpayStatus) Descriptor() protoreflect.EnumDescriptor { return file_node_proto_enumTypes[33].Descriptor() } -func (GetrouteRoute_GetrouteRouteStyle) Type() protoreflect.EnumType { +func (DelpayRequest_DelpayStatus) Type() protoreflect.EnumType { return &file_node_proto_enumTypes[33] } -func (x GetrouteRoute_GetrouteRouteStyle) Number() protoreflect.EnumNumber { +func (x DelpayRequest_DelpayStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use GetrouteRoute_GetrouteRouteStyle.Descriptor instead. -func (GetrouteRoute_GetrouteRouteStyle) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{155, 0} +// Deprecated: Use DelpayRequest_DelpayStatus.Descriptor instead. +func (DelpayRequest_DelpayStatus) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{167, 0} } -// ListForwards.status -type ListforwardsRequest_ListforwardsStatus int32 +// DelPay.payments[].status +type DelpayPayments_DelpayPaymentsStatus int32 const ( - ListforwardsRequest_OFFERED ListforwardsRequest_ListforwardsStatus = 0 - ListforwardsRequest_SETTLED ListforwardsRequest_ListforwardsStatus = 1 - ListforwardsRequest_LOCAL_FAILED ListforwardsRequest_ListforwardsStatus = 2 - ListforwardsRequest_FAILED ListforwardsRequest_ListforwardsStatus = 3 + DelpayPayments_PENDING DelpayPayments_DelpayPaymentsStatus = 0 + DelpayPayments_FAILED DelpayPayments_DelpayPaymentsStatus = 1 + DelpayPayments_COMPLETE DelpayPayments_DelpayPaymentsStatus = 2 ) -// Enum value maps for ListforwardsRequest_ListforwardsStatus. +// Enum value maps for DelpayPayments_DelpayPaymentsStatus. var ( - ListforwardsRequest_ListforwardsStatus_name = map[int32]string{ - 0: "OFFERED", - 1: "SETTLED", - 2: "LOCAL_FAILED", - 3: "FAILED", + DelpayPayments_DelpayPaymentsStatus_name = map[int32]string{ + 0: "PENDING", + 1: "FAILED", + 2: "COMPLETE", } - ListforwardsRequest_ListforwardsStatus_value = map[string]int32{ - "OFFERED": 0, - "SETTLED": 1, - "LOCAL_FAILED": 2, - "FAILED": 3, + DelpayPayments_DelpayPaymentsStatus_value = map[string]int32{ + "PENDING": 0, + "FAILED": 1, + "COMPLETE": 2, } ) -func (x ListforwardsRequest_ListforwardsStatus) Enum() *ListforwardsRequest_ListforwardsStatus { - p := new(ListforwardsRequest_ListforwardsStatus) +func (x DelpayPayments_DelpayPaymentsStatus) Enum() *DelpayPayments_DelpayPaymentsStatus { + p := new(DelpayPayments_DelpayPaymentsStatus) *p = x return p } -func (x ListforwardsRequest_ListforwardsStatus) String() string { +func (x DelpayPayments_DelpayPaymentsStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ListforwardsRequest_ListforwardsStatus) Descriptor() protoreflect.EnumDescriptor { +func (DelpayPayments_DelpayPaymentsStatus) Descriptor() protoreflect.EnumDescriptor { return file_node_proto_enumTypes[34].Descriptor() } -func (ListforwardsRequest_ListforwardsStatus) Type() protoreflect.EnumType { +func (DelpayPayments_DelpayPaymentsStatus) Type() protoreflect.EnumType { return &file_node_proto_enumTypes[34] } -func (x ListforwardsRequest_ListforwardsStatus) Number() protoreflect.EnumNumber { +func (x DelpayPayments_DelpayPaymentsStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ListforwardsRequest_ListforwardsStatus.Descriptor instead. -func (ListforwardsRequest_ListforwardsStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{156, 0} +// Deprecated: Use DelpayPayments_DelpayPaymentsStatus.Descriptor instead. +func (DelpayPayments_DelpayPaymentsStatus) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{169, 0} } -// ListForwards.index -type ListforwardsRequest_ListforwardsIndex int32 +// DelForward.status +type DelforwardRequest_DelforwardStatus int32 const ( - ListforwardsRequest_CREATED ListforwardsRequest_ListforwardsIndex = 0 - ListforwardsRequest_UPDATED ListforwardsRequest_ListforwardsIndex = 1 + DelforwardRequest_SETTLED DelforwardRequest_DelforwardStatus = 0 + DelforwardRequest_LOCAL_FAILED DelforwardRequest_DelforwardStatus = 1 + DelforwardRequest_FAILED DelforwardRequest_DelforwardStatus = 2 ) -// Enum value maps for ListforwardsRequest_ListforwardsIndex. +// Enum value maps for DelforwardRequest_DelforwardStatus. var ( - ListforwardsRequest_ListforwardsIndex_name = map[int32]string{ - 0: "CREATED", - 1: "UPDATED", + DelforwardRequest_DelforwardStatus_name = map[int32]string{ + 0: "SETTLED", + 1: "LOCAL_FAILED", + 2: "FAILED", } - ListforwardsRequest_ListforwardsIndex_value = map[string]int32{ - "CREATED": 0, - "UPDATED": 1, + DelforwardRequest_DelforwardStatus_value = map[string]int32{ + "SETTLED": 0, + "LOCAL_FAILED": 1, + "FAILED": 2, } ) -func (x ListforwardsRequest_ListforwardsIndex) Enum() *ListforwardsRequest_ListforwardsIndex { - p := new(ListforwardsRequest_ListforwardsIndex) +func (x DelforwardRequest_DelforwardStatus) Enum() *DelforwardRequest_DelforwardStatus { + p := new(DelforwardRequest_DelforwardStatus) *p = x return p } -func (x ListforwardsRequest_ListforwardsIndex) String() string { +func (x DelforwardRequest_DelforwardStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ListforwardsRequest_ListforwardsIndex) Descriptor() protoreflect.EnumDescriptor { +func (DelforwardRequest_DelforwardStatus) Descriptor() protoreflect.EnumDescriptor { return file_node_proto_enumTypes[35].Descriptor() } -func (ListforwardsRequest_ListforwardsIndex) Type() protoreflect.EnumType { +func (DelforwardRequest_DelforwardStatus) Type() protoreflect.EnumType { return &file_node_proto_enumTypes[35] } -func (x ListforwardsRequest_ListforwardsIndex) Number() protoreflect.EnumNumber { +func (x DelforwardRequest_DelforwardStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ListforwardsRequest_ListforwardsIndex.Descriptor instead. -func (ListforwardsRequest_ListforwardsIndex) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{156, 1} +// Deprecated: Use DelforwardRequest_DelforwardStatus.Descriptor instead. +func (DelforwardRequest_DelforwardStatus) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{170, 0} } -// ListForwards.forwards[].status -type ListforwardsForwards_ListforwardsForwardsStatus int32 +// Feerates.style +type FeeratesRequest_FeeratesStyle int32 const ( - ListforwardsForwards_OFFERED ListforwardsForwards_ListforwardsForwardsStatus = 0 - ListforwardsForwards_SETTLED ListforwardsForwards_ListforwardsForwardsStatus = 1 - ListforwardsForwards_LOCAL_FAILED ListforwardsForwards_ListforwardsForwardsStatus = 2 - ListforwardsForwards_FAILED ListforwardsForwards_ListforwardsForwardsStatus = 3 + FeeratesRequest_PERKB FeeratesRequest_FeeratesStyle = 0 + FeeratesRequest_PERKW FeeratesRequest_FeeratesStyle = 1 ) -// Enum value maps for ListforwardsForwards_ListforwardsForwardsStatus. +// Enum value maps for FeeratesRequest_FeeratesStyle. var ( - ListforwardsForwards_ListforwardsForwardsStatus_name = map[int32]string{ - 0: "OFFERED", - 1: "SETTLED", - 2: "LOCAL_FAILED", - 3: "FAILED", + FeeratesRequest_FeeratesStyle_name = map[int32]string{ + 0: "PERKB", + 1: "PERKW", } - ListforwardsForwards_ListforwardsForwardsStatus_value = map[string]int32{ - "OFFERED": 0, - "SETTLED": 1, - "LOCAL_FAILED": 2, - "FAILED": 3, + FeeratesRequest_FeeratesStyle_value = map[string]int32{ + "PERKB": 0, + "PERKW": 1, } ) -func (x ListforwardsForwards_ListforwardsForwardsStatus) Enum() *ListforwardsForwards_ListforwardsForwardsStatus { - p := new(ListforwardsForwards_ListforwardsForwardsStatus) +func (x FeeratesRequest_FeeratesStyle) Enum() *FeeratesRequest_FeeratesStyle { + p := new(FeeratesRequest_FeeratesStyle) *p = x return p } -func (x ListforwardsForwards_ListforwardsForwardsStatus) String() string { +func (x FeeratesRequest_FeeratesStyle) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ListforwardsForwards_ListforwardsForwardsStatus) Descriptor() protoreflect.EnumDescriptor { +func (FeeratesRequest_FeeratesStyle) Descriptor() protoreflect.EnumDescriptor { return file_node_proto_enumTypes[36].Descriptor() } -func (ListforwardsForwards_ListforwardsForwardsStatus) Type() protoreflect.EnumType { +func (FeeratesRequest_FeeratesStyle) Type() protoreflect.EnumType { return &file_node_proto_enumTypes[36] } -func (x ListforwardsForwards_ListforwardsForwardsStatus) Number() protoreflect.EnumNumber { +func (x FeeratesRequest_FeeratesStyle) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ListforwardsForwards_ListforwardsForwardsStatus.Descriptor instead. -func (ListforwardsForwards_ListforwardsForwardsStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{158, 0} +// Deprecated: Use FeeratesRequest_FeeratesStyle.Descriptor instead. +func (FeeratesRequest_FeeratesStyle) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{176, 0} } -// ListForwards.forwards[].style -type ListforwardsForwards_ListforwardsForwardsStyle int32 +// GetLog.level +type GetlogRequest_GetlogLevel int32 const ( - ListforwardsForwards_LEGACY ListforwardsForwards_ListforwardsForwardsStyle = 0 - ListforwardsForwards_TLV ListforwardsForwards_ListforwardsForwardsStyle = 1 + GetlogRequest_BROKEN GetlogRequest_GetlogLevel = 0 + GetlogRequest_UNUSUAL GetlogRequest_GetlogLevel = 1 + GetlogRequest_INFO GetlogRequest_GetlogLevel = 2 + GetlogRequest_DEBUG GetlogRequest_GetlogLevel = 3 + GetlogRequest_IO GetlogRequest_GetlogLevel = 4 + GetlogRequest_TRACE GetlogRequest_GetlogLevel = 5 ) -// Enum value maps for ListforwardsForwards_ListforwardsForwardsStyle. +// Enum value maps for GetlogRequest_GetlogLevel. var ( - ListforwardsForwards_ListforwardsForwardsStyle_name = map[int32]string{ - 0: "LEGACY", - 1: "TLV", - } - ListforwardsForwards_ListforwardsForwardsStyle_value = map[string]int32{ - "LEGACY": 0, - "TLV": 1, + GetlogRequest_GetlogLevel_name = map[int32]string{ + 0: "BROKEN", + 1: "UNUSUAL", + 2: "INFO", + 3: "DEBUG", + 4: "IO", + 5: "TRACE", + } + GetlogRequest_GetlogLevel_value = map[string]int32{ + "BROKEN": 0, + "UNUSUAL": 1, + "INFO": 2, + "DEBUG": 3, + "IO": 4, + "TRACE": 5, } ) -func (x ListforwardsForwards_ListforwardsForwardsStyle) Enum() *ListforwardsForwards_ListforwardsForwardsStyle { - p := new(ListforwardsForwards_ListforwardsForwardsStyle) +func (x GetlogRequest_GetlogLevel) Enum() *GetlogRequest_GetlogLevel { + p := new(GetlogRequest_GetlogLevel) *p = x return p } -func (x ListforwardsForwards_ListforwardsForwardsStyle) String() string { +func (x GetlogRequest_GetlogLevel) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ListforwardsForwards_ListforwardsForwardsStyle) Descriptor() protoreflect.EnumDescriptor { +func (GetlogRequest_GetlogLevel) Descriptor() protoreflect.EnumDescriptor { return file_node_proto_enumTypes[37].Descriptor() } -func (ListforwardsForwards_ListforwardsForwardsStyle) Type() protoreflect.EnumType { +func (GetlogRequest_GetlogLevel) Type() protoreflect.EnumType { return &file_node_proto_enumTypes[37] } -func (x ListforwardsForwards_ListforwardsForwardsStyle) Number() protoreflect.EnumNumber { +func (x GetlogRequest_GetlogLevel) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ListforwardsForwards_ListforwardsForwardsStyle.Descriptor instead. -func (ListforwardsForwards_ListforwardsForwardsStyle) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{158, 1} +// Deprecated: Use GetlogRequest_GetlogLevel.Descriptor instead. +func (GetlogRequest_GetlogLevel) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{197, 0} } -// ListPays.status -type ListpaysRequest_ListpaysStatus int32 +// GetLog.log[].type +type GetlogLog_GetlogLogType int32 const ( - ListpaysRequest_PENDING ListpaysRequest_ListpaysStatus = 0 - ListpaysRequest_COMPLETE ListpaysRequest_ListpaysStatus = 1 - ListpaysRequest_FAILED ListpaysRequest_ListpaysStatus = 2 + GetlogLog_SKIPPED GetlogLog_GetlogLogType = 0 + GetlogLog_BROKEN GetlogLog_GetlogLogType = 1 + GetlogLog_UNUSUAL GetlogLog_GetlogLogType = 2 + GetlogLog_INFO GetlogLog_GetlogLogType = 3 + GetlogLog_DEBUG GetlogLog_GetlogLogType = 4 + GetlogLog_IO_IN GetlogLog_GetlogLogType = 5 + GetlogLog_IO_OUT GetlogLog_GetlogLogType = 6 + GetlogLog_TRACE GetlogLog_GetlogLogType = 7 ) -// Enum value maps for ListpaysRequest_ListpaysStatus. +// Enum value maps for GetlogLog_GetlogLogType. var ( - ListpaysRequest_ListpaysStatus_name = map[int32]string{ - 0: "PENDING", - 1: "COMPLETE", - 2: "FAILED", + GetlogLog_GetlogLogType_name = map[int32]string{ + 0: "SKIPPED", + 1: "BROKEN", + 2: "UNUSUAL", + 3: "INFO", + 4: "DEBUG", + 5: "IO_IN", + 6: "IO_OUT", + 7: "TRACE", } - ListpaysRequest_ListpaysStatus_value = map[string]int32{ - "PENDING": 0, - "COMPLETE": 1, - "FAILED": 2, + GetlogLog_GetlogLogType_value = map[string]int32{ + "SKIPPED": 0, + "BROKEN": 1, + "UNUSUAL": 2, + "INFO": 3, + "DEBUG": 4, + "IO_IN": 5, + "IO_OUT": 6, + "TRACE": 7, } ) -func (x ListpaysRequest_ListpaysStatus) Enum() *ListpaysRequest_ListpaysStatus { - p := new(ListpaysRequest_ListpaysStatus) +func (x GetlogLog_GetlogLogType) Enum() *GetlogLog_GetlogLogType { + p := new(GetlogLog_GetlogLogType) *p = x return p } -func (x ListpaysRequest_ListpaysStatus) String() string { +func (x GetlogLog_GetlogLogType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ListpaysRequest_ListpaysStatus) Descriptor() protoreflect.EnumDescriptor { +func (GetlogLog_GetlogLogType) Descriptor() protoreflect.EnumDescriptor { return file_node_proto_enumTypes[38].Descriptor() } -func (ListpaysRequest_ListpaysStatus) Type() protoreflect.EnumType { +func (GetlogLog_GetlogLogType) Type() protoreflect.EnumType { return &file_node_proto_enumTypes[38] } -func (x ListpaysRequest_ListpaysStatus) Number() protoreflect.EnumNumber { +func (x GetlogLog_GetlogLogType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ListpaysRequest_ListpaysStatus.Descriptor instead. -func (ListpaysRequest_ListpaysStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{162, 0} +// Deprecated: Use GetlogLog_GetlogLogType.Descriptor instead. +func (GetlogLog_GetlogLogType) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{199, 0} } -// ListPays.pays[].status -type ListpaysPays_ListpaysPaysStatus int32 +// FunderUpdate.policy +type FunderupdateRequest_FunderupdatePolicy int32 const ( - ListpaysPays_PENDING ListpaysPays_ListpaysPaysStatus = 0 - ListpaysPays_FAILED ListpaysPays_ListpaysPaysStatus = 1 - ListpaysPays_COMPLETE ListpaysPays_ListpaysPaysStatus = 2 + FunderupdateRequest_MATCH FunderupdateRequest_FunderupdatePolicy = 0 + FunderupdateRequest_AVAILABLE FunderupdateRequest_FunderupdatePolicy = 1 + FunderupdateRequest_FIXED FunderupdateRequest_FunderupdatePolicy = 2 ) -// Enum value maps for ListpaysPays_ListpaysPaysStatus. +// Enum value maps for FunderupdateRequest_FunderupdatePolicy. var ( - ListpaysPays_ListpaysPaysStatus_name = map[int32]string{ - 0: "PENDING", - 1: "FAILED", - 2: "COMPLETE", + FunderupdateRequest_FunderupdatePolicy_name = map[int32]string{ + 0: "MATCH", + 1: "AVAILABLE", + 2: "FIXED", } - ListpaysPays_ListpaysPaysStatus_value = map[string]int32{ - "PENDING": 0, - "FAILED": 1, - "COMPLETE": 2, + FunderupdateRequest_FunderupdatePolicy_value = map[string]int32{ + "MATCH": 0, + "AVAILABLE": 1, + "FIXED": 2, } ) -func (x ListpaysPays_ListpaysPaysStatus) Enum() *ListpaysPays_ListpaysPaysStatus { - p := new(ListpaysPays_ListpaysPaysStatus) +func (x FunderupdateRequest_FunderupdatePolicy) Enum() *FunderupdateRequest_FunderupdatePolicy { + p := new(FunderupdateRequest_FunderupdatePolicy) *p = x return p } -func (x ListpaysPays_ListpaysPaysStatus) String() string { +func (x FunderupdateRequest_FunderupdatePolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ListpaysPays_ListpaysPaysStatus) Descriptor() protoreflect.EnumDescriptor { +func (FunderupdateRequest_FunderupdatePolicy) Descriptor() protoreflect.EnumDescriptor { return file_node_proto_enumTypes[39].Descriptor() } -func (ListpaysPays_ListpaysPaysStatus) Type() protoreflect.EnumType { +func (FunderupdateRequest_FunderupdatePolicy) Type() protoreflect.EnumType { return &file_node_proto_enumTypes[39] } -func (x ListpaysPays_ListpaysPaysStatus) Number() protoreflect.EnumNumber { +func (x FunderupdateRequest_FunderupdatePolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ListpaysPays_ListpaysPaysStatus.Descriptor instead. -func (ListpaysPays_ListpaysPaysStatus) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{164, 0} +// Deprecated: Use FunderupdateRequest_FunderupdatePolicy.Descriptor instead. +func (FunderupdateRequest_FunderupdatePolicy) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{200, 0} } -// ListHtlcs.htlcs[].direction -type ListhtlcsHtlcs_ListhtlcsHtlcsDirection int32 +// FunderUpdate.policy +type FunderupdateResponse_FunderupdatePolicy int32 const ( - ListhtlcsHtlcs_OUT ListhtlcsHtlcs_ListhtlcsHtlcsDirection = 0 - ListhtlcsHtlcs_IN ListhtlcsHtlcs_ListhtlcsHtlcsDirection = 1 + FunderupdateResponse_MATCH FunderupdateResponse_FunderupdatePolicy = 0 + FunderupdateResponse_AVAILABLE FunderupdateResponse_FunderupdatePolicy = 1 + FunderupdateResponse_FIXED FunderupdateResponse_FunderupdatePolicy = 2 ) -// Enum value maps for ListhtlcsHtlcs_ListhtlcsHtlcsDirection. +// Enum value maps for FunderupdateResponse_FunderupdatePolicy. var ( - ListhtlcsHtlcs_ListhtlcsHtlcsDirection_name = map[int32]string{ - 0: "OUT", - 1: "IN", + FunderupdateResponse_FunderupdatePolicy_name = map[int32]string{ + 0: "MATCH", + 1: "AVAILABLE", + 2: "FIXED", } - ListhtlcsHtlcs_ListhtlcsHtlcsDirection_value = map[string]int32{ - "OUT": 0, - "IN": 1, + FunderupdateResponse_FunderupdatePolicy_value = map[string]int32{ + "MATCH": 0, + "AVAILABLE": 1, + "FIXED": 2, } ) -func (x ListhtlcsHtlcs_ListhtlcsHtlcsDirection) Enum() *ListhtlcsHtlcs_ListhtlcsHtlcsDirection { - p := new(ListhtlcsHtlcs_ListhtlcsHtlcsDirection) +func (x FunderupdateResponse_FunderupdatePolicy) Enum() *FunderupdateResponse_FunderupdatePolicy { + p := new(FunderupdateResponse_FunderupdatePolicy) *p = x return p } -func (x ListhtlcsHtlcs_ListhtlcsHtlcsDirection) String() string { +func (x FunderupdateResponse_FunderupdatePolicy) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (ListhtlcsHtlcs_ListhtlcsHtlcsDirection) Descriptor() protoreflect.EnumDescriptor { +func (FunderupdateResponse_FunderupdatePolicy) Descriptor() protoreflect.EnumDescriptor { return file_node_proto_enumTypes[40].Descriptor() } -func (ListhtlcsHtlcs_ListhtlcsHtlcsDirection) Type() protoreflect.EnumType { +func (FunderupdateResponse_FunderupdatePolicy) Type() protoreflect.EnumType { return &file_node_proto_enumTypes[40] } -func (x ListhtlcsHtlcs_ListhtlcsHtlcsDirection) Number() protoreflect.EnumNumber { +func (x FunderupdateResponse_FunderupdatePolicy) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use ListhtlcsHtlcs_ListhtlcsHtlcsDirection.Descriptor instead. -func (ListhtlcsHtlcs_ListhtlcsHtlcsDirection) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{167, 0} +// Deprecated: Use FunderupdateResponse_FunderupdatePolicy.Descriptor instead. +func (FunderupdateResponse_FunderupdatePolicy) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{201, 0} } -// Wait.subsystem -type WaitRequest_WaitSubsystem int32 +// GetRoute.route[].style +type GetrouteRoute_GetrouteRouteStyle int32 const ( - WaitRequest_INVOICES WaitRequest_WaitSubsystem = 0 - WaitRequest_FORWARDS WaitRequest_WaitSubsystem = 1 - WaitRequest_SENDPAYS WaitRequest_WaitSubsystem = 2 + GetrouteRoute_TLV GetrouteRoute_GetrouteRouteStyle = 0 ) -// Enum value maps for WaitRequest_WaitSubsystem. +// Enum value maps for GetrouteRoute_GetrouteRouteStyle. var ( - WaitRequest_WaitSubsystem_name = map[int32]string{ - 0: "INVOICES", - 1: "FORWARDS", - 2: "SENDPAYS", + GetrouteRoute_GetrouteRouteStyle_name = map[int32]string{ + 0: "TLV", } - WaitRequest_WaitSubsystem_value = map[string]int32{ - "INVOICES": 0, - "FORWARDS": 1, - "SENDPAYS": 2, + GetrouteRoute_GetrouteRouteStyle_value = map[string]int32{ + "TLV": 0, } ) -func (x WaitRequest_WaitSubsystem) Enum() *WaitRequest_WaitSubsystem { - p := new(WaitRequest_WaitSubsystem) +func (x GetrouteRoute_GetrouteRouteStyle) Enum() *GetrouteRoute_GetrouteRouteStyle { + p := new(GetrouteRoute_GetrouteRouteStyle) *p = x return p } -func (x WaitRequest_WaitSubsystem) String() string { +func (x GetrouteRoute_GetrouteRouteStyle) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (WaitRequest_WaitSubsystem) Descriptor() protoreflect.EnumDescriptor { +func (GetrouteRoute_GetrouteRouteStyle) Descriptor() protoreflect.EnumDescriptor { return file_node_proto_enumTypes[41].Descriptor() } -func (WaitRequest_WaitSubsystem) Type() protoreflect.EnumType { +func (GetrouteRoute_GetrouteRouteStyle) Type() protoreflect.EnumType { return &file_node_proto_enumTypes[41] } -func (x WaitRequest_WaitSubsystem) Number() protoreflect.EnumNumber { +func (x GetrouteRoute_GetrouteRouteStyle) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use WaitRequest_WaitSubsystem.Descriptor instead. -func (WaitRequest_WaitSubsystem) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{183, 0} +// Deprecated: Use GetrouteRoute_GetrouteRouteStyle.Descriptor instead. +func (GetrouteRoute_GetrouteRouteStyle) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{204, 0} } -// Wait.indexname -type WaitRequest_WaitIndexname int32 +// ListForwards.status +type ListforwardsRequest_ListforwardsStatus int32 const ( - WaitRequest_CREATED WaitRequest_WaitIndexname = 0 - WaitRequest_UPDATED WaitRequest_WaitIndexname = 1 - WaitRequest_DELETED WaitRequest_WaitIndexname = 2 + ListforwardsRequest_OFFERED ListforwardsRequest_ListforwardsStatus = 0 + ListforwardsRequest_SETTLED ListforwardsRequest_ListforwardsStatus = 1 + ListforwardsRequest_LOCAL_FAILED ListforwardsRequest_ListforwardsStatus = 2 + ListforwardsRequest_FAILED ListforwardsRequest_ListforwardsStatus = 3 ) -// Enum value maps for WaitRequest_WaitIndexname. +// Enum value maps for ListforwardsRequest_ListforwardsStatus. var ( - WaitRequest_WaitIndexname_name = map[int32]string{ - 0: "CREATED", - 1: "UPDATED", - 2: "DELETED", - } - WaitRequest_WaitIndexname_value = map[string]int32{ - "CREATED": 0, - "UPDATED": 1, - "DELETED": 2, + ListforwardsRequest_ListforwardsStatus_name = map[int32]string{ + 0: "OFFERED", + 1: "SETTLED", + 2: "LOCAL_FAILED", + 3: "FAILED", } -) - -func (x WaitRequest_WaitIndexname) Enum() *WaitRequest_WaitIndexname { - p := new(WaitRequest_WaitIndexname) + ListforwardsRequest_ListforwardsStatus_value = map[string]int32{ + "OFFERED": 0, + "SETTLED": 1, + "LOCAL_FAILED": 2, + "FAILED": 3, + } +) + +func (x ListforwardsRequest_ListforwardsStatus) Enum() *ListforwardsRequest_ListforwardsStatus { + p := new(ListforwardsRequest_ListforwardsStatus) *p = x return p } -func (x WaitRequest_WaitIndexname) String() string { +func (x ListforwardsRequest_ListforwardsStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (WaitRequest_WaitIndexname) Descriptor() protoreflect.EnumDescriptor { +func (ListforwardsRequest_ListforwardsStatus) Descriptor() protoreflect.EnumDescriptor { return file_node_proto_enumTypes[42].Descriptor() } -func (WaitRequest_WaitIndexname) Type() protoreflect.EnumType { +func (ListforwardsRequest_ListforwardsStatus) Type() protoreflect.EnumType { return &file_node_proto_enumTypes[42] } -func (x WaitRequest_WaitIndexname) Number() protoreflect.EnumNumber { +func (x ListforwardsRequest_ListforwardsStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use WaitRequest_WaitIndexname.Descriptor instead. -func (WaitRequest_WaitIndexname) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{183, 1} +// Deprecated: Use ListforwardsRequest_ListforwardsStatus.Descriptor instead. +func (ListforwardsRequest_ListforwardsStatus) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{205, 0} } -// Wait.subsystem -type WaitResponse_WaitSubsystem int32 +// ListForwards.index +type ListforwardsRequest_ListforwardsIndex int32 const ( - WaitResponse_INVOICES WaitResponse_WaitSubsystem = 0 - WaitResponse_FORWARDS WaitResponse_WaitSubsystem = 1 - WaitResponse_SENDPAYS WaitResponse_WaitSubsystem = 2 + ListforwardsRequest_CREATED ListforwardsRequest_ListforwardsIndex = 0 + ListforwardsRequest_UPDATED ListforwardsRequest_ListforwardsIndex = 1 ) -// Enum value maps for WaitResponse_WaitSubsystem. +// Enum value maps for ListforwardsRequest_ListforwardsIndex. var ( - WaitResponse_WaitSubsystem_name = map[int32]string{ - 0: "INVOICES", - 1: "FORWARDS", - 2: "SENDPAYS", + ListforwardsRequest_ListforwardsIndex_name = map[int32]string{ + 0: "CREATED", + 1: "UPDATED", } - WaitResponse_WaitSubsystem_value = map[string]int32{ - "INVOICES": 0, - "FORWARDS": 1, - "SENDPAYS": 2, + ListforwardsRequest_ListforwardsIndex_value = map[string]int32{ + "CREATED": 0, + "UPDATED": 1, } ) -func (x WaitResponse_WaitSubsystem) Enum() *WaitResponse_WaitSubsystem { - p := new(WaitResponse_WaitSubsystem) +func (x ListforwardsRequest_ListforwardsIndex) Enum() *ListforwardsRequest_ListforwardsIndex { + p := new(ListforwardsRequest_ListforwardsIndex) *p = x return p } -func (x WaitResponse_WaitSubsystem) String() string { +func (x ListforwardsRequest_ListforwardsIndex) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (WaitResponse_WaitSubsystem) Descriptor() protoreflect.EnumDescriptor { +func (ListforwardsRequest_ListforwardsIndex) Descriptor() protoreflect.EnumDescriptor { return file_node_proto_enumTypes[43].Descriptor() } -func (WaitResponse_WaitSubsystem) Type() protoreflect.EnumType { +func (ListforwardsRequest_ListforwardsIndex) Type() protoreflect.EnumType { return &file_node_proto_enumTypes[43] } -func (x WaitResponse_WaitSubsystem) Number() protoreflect.EnumNumber { +func (x ListforwardsRequest_ListforwardsIndex) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } -// Deprecated: Use WaitResponse_WaitSubsystem.Descriptor instead. -func (WaitResponse_WaitSubsystem) EnumDescriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{184, 0} -} - -type GetinfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetinfoRequest) Reset() { - *x = GetinfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +// Deprecated: Use ListforwardsRequest_ListforwardsIndex.Descriptor instead. +func (ListforwardsRequest_ListforwardsIndex) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{205, 1} } -func (x *GetinfoRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} +// ListForwards.forwards[].status +type ListforwardsForwards_ListforwardsForwardsStatus int32 -func (*GetinfoRequest) ProtoMessage() {} +const ( + ListforwardsForwards_OFFERED ListforwardsForwards_ListforwardsForwardsStatus = 0 + ListforwardsForwards_SETTLED ListforwardsForwards_ListforwardsForwardsStatus = 1 + ListforwardsForwards_LOCAL_FAILED ListforwardsForwards_ListforwardsForwardsStatus = 2 + ListforwardsForwards_FAILED ListforwardsForwards_ListforwardsForwardsStatus = 3 +) -func (x *GetinfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +// Enum value maps for ListforwardsForwards_ListforwardsForwardsStatus. +var ( + ListforwardsForwards_ListforwardsForwardsStatus_name = map[int32]string{ + 0: "OFFERED", + 1: "SETTLED", + 2: "LOCAL_FAILED", + 3: "FAILED", } - return mi.MessageOf(x) -} + ListforwardsForwards_ListforwardsForwardsStatus_value = map[string]int32{ + "OFFERED": 0, + "SETTLED": 1, + "LOCAL_FAILED": 2, + "FAILED": 3, + } +) -// Deprecated: Use GetinfoRequest.ProtoReflect.Descriptor instead. -func (*GetinfoRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{0} +func (x ListforwardsForwards_ListforwardsForwardsStatus) Enum() *ListforwardsForwards_ListforwardsForwardsStatus { + p := new(ListforwardsForwards_ListforwardsForwardsStatus) + *p = x + return p } -type GetinfoResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Alias *string `protobuf:"bytes,2,opt,name=alias,proto3,oneof" json:"alias,omitempty"` - Color []byte `protobuf:"bytes,3,opt,name=color,proto3" json:"color,omitempty"` - NumPeers uint32 `protobuf:"varint,4,opt,name=num_peers,json=numPeers,proto3" json:"num_peers,omitempty"` - NumPendingChannels uint32 `protobuf:"varint,5,opt,name=num_pending_channels,json=numPendingChannels,proto3" json:"num_pending_channels,omitempty"` - NumActiveChannels uint32 `protobuf:"varint,6,opt,name=num_active_channels,json=numActiveChannels,proto3" json:"num_active_channels,omitempty"` - NumInactiveChannels uint32 `protobuf:"varint,7,opt,name=num_inactive_channels,json=numInactiveChannels,proto3" json:"num_inactive_channels,omitempty"` - Version string `protobuf:"bytes,8,opt,name=version,proto3" json:"version,omitempty"` - LightningDir string `protobuf:"bytes,9,opt,name=lightning_dir,json=lightningDir,proto3" json:"lightning_dir,omitempty"` - OurFeatures *GetinfoOurFeatures `protobuf:"bytes,10,opt,name=our_features,json=ourFeatures,proto3,oneof" json:"our_features,omitempty"` - Blockheight uint32 `protobuf:"varint,11,opt,name=blockheight,proto3" json:"blockheight,omitempty"` - Network string `protobuf:"bytes,12,opt,name=network,proto3" json:"network,omitempty"` - FeesCollectedMsat *Amount `protobuf:"bytes,13,opt,name=fees_collected_msat,json=feesCollectedMsat,proto3" json:"fees_collected_msat,omitempty"` - Address []*GetinfoAddress `protobuf:"bytes,14,rep,name=address,proto3" json:"address,omitempty"` - Binding []*GetinfoBinding `protobuf:"bytes,15,rep,name=binding,proto3" json:"binding,omitempty"` - WarningBitcoindSync *string `protobuf:"bytes,16,opt,name=warning_bitcoind_sync,json=warningBitcoindSync,proto3,oneof" json:"warning_bitcoind_sync,omitempty"` - WarningLightningdSync *string `protobuf:"bytes,17,opt,name=warning_lightningd_sync,json=warningLightningdSync,proto3,oneof" json:"warning_lightningd_sync,omitempty"` +func (x ListforwardsForwards_ListforwardsForwardsStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *GetinfoResponse) Reset() { - *x = GetinfoResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (ListforwardsForwards_ListforwardsForwardsStatus) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[44].Descriptor() } -func (x *GetinfoResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (ListforwardsForwards_ListforwardsForwardsStatus) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[44] } -func (*GetinfoResponse) ProtoMessage() {} - -func (x *GetinfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_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) +func (x ListforwardsForwards_ListforwardsForwardsStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -// Deprecated: Use GetinfoResponse.ProtoReflect.Descriptor instead. -func (*GetinfoResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{1} +// Deprecated: Use ListforwardsForwards_ListforwardsForwardsStatus.Descriptor instead. +func (ListforwardsForwards_ListforwardsForwardsStatus) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{207, 0} } -func (x *GetinfoResponse) GetId() []byte { - if x != nil { - return x.Id - } - return nil -} +// ListForwards.forwards[].style +type ListforwardsForwards_ListforwardsForwardsStyle int32 -func (x *GetinfoResponse) GetAlias() string { - if x != nil && x.Alias != nil { - return *x.Alias - } - return "" -} +const ( + ListforwardsForwards_LEGACY ListforwardsForwards_ListforwardsForwardsStyle = 0 + ListforwardsForwards_TLV ListforwardsForwards_ListforwardsForwardsStyle = 1 +) -func (x *GetinfoResponse) GetColor() []byte { - if x != nil { - return x.Color +// Enum value maps for ListforwardsForwards_ListforwardsForwardsStyle. +var ( + ListforwardsForwards_ListforwardsForwardsStyle_name = map[int32]string{ + 0: "LEGACY", + 1: "TLV", } - return nil -} - -func (x *GetinfoResponse) GetNumPeers() uint32 { - if x != nil { - return x.NumPeers + ListforwardsForwards_ListforwardsForwardsStyle_value = map[string]int32{ + "LEGACY": 0, + "TLV": 1, } - return 0 -} +) -func (x *GetinfoResponse) GetNumPendingChannels() uint32 { - if x != nil { - return x.NumPendingChannels - } - return 0 +func (x ListforwardsForwards_ListforwardsForwardsStyle) Enum() *ListforwardsForwards_ListforwardsForwardsStyle { + p := new(ListforwardsForwards_ListforwardsForwardsStyle) + *p = x + return p } -func (x *GetinfoResponse) GetNumActiveChannels() uint32 { - if x != nil { - return x.NumActiveChannels - } - return 0 +func (x ListforwardsForwards_ListforwardsForwardsStyle) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *GetinfoResponse) GetNumInactiveChannels() uint32 { - if x != nil { - return x.NumInactiveChannels - } - return 0 +func (ListforwardsForwards_ListforwardsForwardsStyle) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[45].Descriptor() } -func (x *GetinfoResponse) GetVersion() string { - if x != nil { - return x.Version - } - return "" +func (ListforwardsForwards_ListforwardsForwardsStyle) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[45] } -func (x *GetinfoResponse) GetLightningDir() string { - if x != nil { - return x.LightningDir - } - return "" +func (x ListforwardsForwards_ListforwardsForwardsStyle) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *GetinfoResponse) GetOurFeatures() *GetinfoOurFeatures { - if x != nil { - return x.OurFeatures - } - return nil +// Deprecated: Use ListforwardsForwards_ListforwardsForwardsStyle.Descriptor instead. +func (ListforwardsForwards_ListforwardsForwardsStyle) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{207, 1} } -func (x *GetinfoResponse) GetBlockheight() uint32 { - if x != nil { - return x.Blockheight - } - return 0 -} +// ListPays.status +type ListpaysRequest_ListpaysStatus int32 -func (x *GetinfoResponse) GetNetwork() string { - if x != nil { - return x.Network - } - return "" -} +const ( + ListpaysRequest_PENDING ListpaysRequest_ListpaysStatus = 0 + ListpaysRequest_COMPLETE ListpaysRequest_ListpaysStatus = 1 + ListpaysRequest_FAILED ListpaysRequest_ListpaysStatus = 2 +) -func (x *GetinfoResponse) GetFeesCollectedMsat() *Amount { - if x != nil { - return x.FeesCollectedMsat +// Enum value maps for ListpaysRequest_ListpaysStatus. +var ( + ListpaysRequest_ListpaysStatus_name = map[int32]string{ + 0: "PENDING", + 1: "COMPLETE", + 2: "FAILED", } - return nil -} - -func (x *GetinfoResponse) GetAddress() []*GetinfoAddress { - if x != nil { - return x.Address + ListpaysRequest_ListpaysStatus_value = map[string]int32{ + "PENDING": 0, + "COMPLETE": 1, + "FAILED": 2, } - return nil -} +) -func (x *GetinfoResponse) GetBinding() []*GetinfoBinding { - if x != nil { - return x.Binding - } - return nil +func (x ListpaysRequest_ListpaysStatus) Enum() *ListpaysRequest_ListpaysStatus { + p := new(ListpaysRequest_ListpaysStatus) + *p = x + return p } -func (x *GetinfoResponse) GetWarningBitcoindSync() string { - if x != nil && x.WarningBitcoindSync != nil { - return *x.WarningBitcoindSync - } - return "" +func (x ListpaysRequest_ListpaysStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *GetinfoResponse) GetWarningLightningdSync() string { - if x != nil && x.WarningLightningdSync != nil { - return *x.WarningLightningdSync - } - return "" +func (ListpaysRequest_ListpaysStatus) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[46].Descriptor() } -type GetinfoOurFeatures struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Init []byte `protobuf:"bytes,1,opt,name=init,proto3" json:"init,omitempty"` - Node []byte `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"` - Channel []byte `protobuf:"bytes,3,opt,name=channel,proto3" json:"channel,omitempty"` - Invoice []byte `protobuf:"bytes,4,opt,name=invoice,proto3" json:"invoice,omitempty"` +func (ListpaysRequest_ListpaysStatus) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[46] } -func (x *GetinfoOurFeatures) Reset() { - *x = GetinfoOurFeatures{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x ListpaysRequest_ListpaysStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *GetinfoOurFeatures) String() string { - return protoimpl.X.MessageStringOf(x) +// Deprecated: Use ListpaysRequest_ListpaysStatus.Descriptor instead. +func (ListpaysRequest_ListpaysStatus) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{211, 0} } -func (*GetinfoOurFeatures) ProtoMessage() {} +// ListPays.pays[].status +type ListpaysPays_ListpaysPaysStatus int32 -func (x *GetinfoOurFeatures) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +const ( + ListpaysPays_PENDING ListpaysPays_ListpaysPaysStatus = 0 + ListpaysPays_FAILED ListpaysPays_ListpaysPaysStatus = 1 + ListpaysPays_COMPLETE ListpaysPays_ListpaysPaysStatus = 2 +) + +// Enum value maps for ListpaysPays_ListpaysPaysStatus. +var ( + ListpaysPays_ListpaysPaysStatus_name = map[int32]string{ + 0: "PENDING", + 1: "FAILED", + 2: "COMPLETE", } - return mi.MessageOf(x) + ListpaysPays_ListpaysPaysStatus_value = map[string]int32{ + "PENDING": 0, + "FAILED": 1, + "COMPLETE": 2, + } +) + +func (x ListpaysPays_ListpaysPaysStatus) Enum() *ListpaysPays_ListpaysPaysStatus { + p := new(ListpaysPays_ListpaysPaysStatus) + *p = x + return p } -// Deprecated: Use GetinfoOurFeatures.ProtoReflect.Descriptor instead. -func (*GetinfoOurFeatures) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{2} +func (x ListpaysPays_ListpaysPaysStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *GetinfoOurFeatures) GetInit() []byte { - if x != nil { - return x.Init - } - return nil +func (ListpaysPays_ListpaysPaysStatus) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[47].Descriptor() } -func (x *GetinfoOurFeatures) GetNode() []byte { - if x != nil { - return x.Node - } - return nil +func (ListpaysPays_ListpaysPaysStatus) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[47] } -func (x *GetinfoOurFeatures) GetChannel() []byte { - if x != nil { - return x.Channel - } - return nil +func (x ListpaysPays_ListpaysPaysStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *GetinfoOurFeatures) GetInvoice() []byte { - if x != nil { - return x.Invoice - } - return nil +// Deprecated: Use ListpaysPays_ListpaysPaysStatus.Descriptor instead. +func (ListpaysPays_ListpaysPaysStatus) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{213, 0} } -type GetinfoAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// ListHtlcs.htlcs[].direction +type ListhtlcsHtlcs_ListhtlcsHtlcsDirection int32 - ItemType GetinfoAddress_GetinfoAddressType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.GetinfoAddress_GetinfoAddressType" json:"item_type,omitempty"` - Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` - Address *string `protobuf:"bytes,3,opt,name=address,proto3,oneof" json:"address,omitempty"` -} +const ( + ListhtlcsHtlcs_OUT ListhtlcsHtlcs_ListhtlcsHtlcsDirection = 0 + ListhtlcsHtlcs_IN ListhtlcsHtlcs_ListhtlcsHtlcsDirection = 1 +) -func (x *GetinfoAddress) Reset() { - *x = GetinfoAddress{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Enum value maps for ListhtlcsHtlcs_ListhtlcsHtlcsDirection. +var ( + ListhtlcsHtlcs_ListhtlcsHtlcsDirection_name = map[int32]string{ + 0: "OUT", + 1: "IN", + } + ListhtlcsHtlcs_ListhtlcsHtlcsDirection_value = map[string]int32{ + "OUT": 0, + "IN": 1, } +) + +func (x ListhtlcsHtlcs_ListhtlcsHtlcsDirection) Enum() *ListhtlcsHtlcs_ListhtlcsHtlcsDirection { + p := new(ListhtlcsHtlcs_ListhtlcsHtlcsDirection) + *p = x + return p } -func (x *GetinfoAddress) String() string { - return protoimpl.X.MessageStringOf(x) +func (x ListhtlcsHtlcs_ListhtlcsHtlcsDirection) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (*GetinfoAddress) ProtoMessage() {} +func (ListhtlcsHtlcs_ListhtlcsHtlcsDirection) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[48].Descriptor() +} -func (x *GetinfoAddress) ProtoReflect() protoreflect.Message { - mi := &file_node_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) +func (ListhtlcsHtlcs_ListhtlcsHtlcsDirection) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[48] } -// Deprecated: Use GetinfoAddress.ProtoReflect.Descriptor instead. -func (*GetinfoAddress) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{3} +func (x ListhtlcsHtlcs_ListhtlcsHtlcsDirection) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *GetinfoAddress) GetItemType() GetinfoAddress_GetinfoAddressType { - if x != nil { - return x.ItemType - } - return GetinfoAddress_DNS +// Deprecated: Use ListhtlcsHtlcs_ListhtlcsHtlcsDirection.Descriptor instead. +func (ListhtlcsHtlcs_ListhtlcsHtlcsDirection) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{216, 0} } -func (x *GetinfoAddress) GetPort() uint32 { - if x != nil { - return x.Port +// MultiFundChannel.failed[].method +type MultifundchannelFailed_MultifundchannelFailedMethod int32 + +const ( + MultifundchannelFailed_CONNECT MultifundchannelFailed_MultifundchannelFailedMethod = 0 + MultifundchannelFailed_OPENCHANNEL_INIT MultifundchannelFailed_MultifundchannelFailedMethod = 1 + MultifundchannelFailed_FUNDCHANNEL_START MultifundchannelFailed_MultifundchannelFailedMethod = 2 + MultifundchannelFailed_FUNDCHANNEL_COMPLETE MultifundchannelFailed_MultifundchannelFailedMethod = 3 +) + +// Enum value maps for MultifundchannelFailed_MultifundchannelFailedMethod. +var ( + MultifundchannelFailed_MultifundchannelFailedMethod_name = map[int32]string{ + 0: "CONNECT", + 1: "OPENCHANNEL_INIT", + 2: "FUNDCHANNEL_START", + 3: "FUNDCHANNEL_COMPLETE", + } + MultifundchannelFailed_MultifundchannelFailedMethod_value = map[string]int32{ + "CONNECT": 0, + "OPENCHANNEL_INIT": 1, + "FUNDCHANNEL_START": 2, + "FUNDCHANNEL_COMPLETE": 3, } - return 0 +) + +func (x MultifundchannelFailed_MultifundchannelFailedMethod) Enum() *MultifundchannelFailed_MultifundchannelFailedMethod { + p := new(MultifundchannelFailed_MultifundchannelFailedMethod) + *p = x + return p } -func (x *GetinfoAddress) GetAddress() string { - if x != nil && x.Address != nil { - return *x.Address - } - return "" +func (x MultifundchannelFailed_MultifundchannelFailedMethod) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -type GetinfoBinding struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (MultifundchannelFailed_MultifundchannelFailedMethod) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[49].Descriptor() +} - ItemType GetinfoBinding_GetinfoBindingType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.GetinfoBinding_GetinfoBindingType" json:"item_type,omitempty"` - Address *string `protobuf:"bytes,2,opt,name=address,proto3,oneof" json:"address,omitempty"` - Port *uint32 `protobuf:"varint,3,opt,name=port,proto3,oneof" json:"port,omitempty"` - Socket *string `protobuf:"bytes,4,opt,name=socket,proto3,oneof" json:"socket,omitempty"` +func (MultifundchannelFailed_MultifundchannelFailedMethod) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[49] } -func (x *GetinfoBinding) Reset() { - *x = GetinfoBinding{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x MultifundchannelFailed_MultifundchannelFailedMethod) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *GetinfoBinding) String() string { - return protoimpl.X.MessageStringOf(x) +// Deprecated: Use MultifundchannelFailed_MultifundchannelFailedMethod.Descriptor instead. +func (MultifundchannelFailed_MultifundchannelFailedMethod) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{222, 0} } -func (*GetinfoBinding) ProtoMessage() {} +// RenePayStatus.paystatus[].status +type RenepaystatusPaystatus_RenepaystatusPaystatusStatus int32 -func (x *GetinfoBinding) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +const ( + RenepaystatusPaystatus_COMPLETE RenepaystatusPaystatus_RenepaystatusPaystatusStatus = 0 + RenepaystatusPaystatus_PENDING RenepaystatusPaystatus_RenepaystatusPaystatusStatus = 1 + RenepaystatusPaystatus_FAILED RenepaystatusPaystatus_RenepaystatusPaystatusStatus = 2 +) + +// Enum value maps for RenepaystatusPaystatus_RenepaystatusPaystatusStatus. +var ( + RenepaystatusPaystatus_RenepaystatusPaystatusStatus_name = map[int32]string{ + 0: "COMPLETE", + 1: "PENDING", + 2: "FAILED", } - return mi.MessageOf(x) + RenepaystatusPaystatus_RenepaystatusPaystatusStatus_value = map[string]int32{ + "COMPLETE": 0, + "PENDING": 1, + "FAILED": 2, + } +) + +func (x RenepaystatusPaystatus_RenepaystatusPaystatusStatus) Enum() *RenepaystatusPaystatus_RenepaystatusPaystatusStatus { + p := new(RenepaystatusPaystatus_RenepaystatusPaystatusStatus) + *p = x + return p } -// Deprecated: Use GetinfoBinding.ProtoReflect.Descriptor instead. -func (*GetinfoBinding) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{4} +func (x RenepaystatusPaystatus_RenepaystatusPaystatusStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *GetinfoBinding) GetItemType() GetinfoBinding_GetinfoBindingType { - if x != nil { - return x.ItemType - } - return GetinfoBinding_LOCAL_SOCKET +func (RenepaystatusPaystatus_RenepaystatusPaystatusStatus) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[50].Descriptor() } -func (x *GetinfoBinding) GetAddress() string { - if x != nil && x.Address != nil { - return *x.Address - } - return "" +func (RenepaystatusPaystatus_RenepaystatusPaystatusStatus) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[50] } -func (x *GetinfoBinding) GetPort() uint32 { - if x != nil && x.Port != nil { - return *x.Port - } - return 0 +func (x RenepaystatusPaystatus_RenepaystatusPaystatusStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *GetinfoBinding) GetSocket() string { - if x != nil && x.Socket != nil { - return *x.Socket - } - return "" +// Deprecated: Use RenepaystatusPaystatus_RenepaystatusPaystatusStatus.Descriptor instead. +func (RenepaystatusPaystatus_RenepaystatusPaystatusStatus) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{248, 0} } -type ListpeersRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// RenePay.status +type RenepayResponse_RenepayStatus int32 - Id []byte `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` - Level *string `protobuf:"bytes,2,opt,name=level,proto3,oneof" json:"level,omitempty"` -} +const ( + RenepayResponse_COMPLETE RenepayResponse_RenepayStatus = 0 + RenepayResponse_PENDING RenepayResponse_RenepayStatus = 1 + RenepayResponse_FAILED RenepayResponse_RenepayStatus = 2 +) -func (x *ListpeersRequest) Reset() { - *x = ListpeersRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Enum value maps for RenepayResponse_RenepayStatus. +var ( + RenepayResponse_RenepayStatus_name = map[int32]string{ + 0: "COMPLETE", + 1: "PENDING", + 2: "FAILED", } -} + RenepayResponse_RenepayStatus_value = map[string]int32{ + "COMPLETE": 0, + "PENDING": 1, + "FAILED": 2, + } +) -func (x *ListpeersRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func (x RenepayResponse_RenepayStatus) Enum() *RenepayResponse_RenepayStatus { + p := new(RenepayResponse_RenepayStatus) + *p = x + return p } -func (*ListpeersRequest) ProtoMessage() {} +func (x RenepayResponse_RenepayStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} -func (x *ListpeersRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_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) +func (RenepayResponse_RenepayStatus) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[51].Descriptor() } -// Deprecated: Use ListpeersRequest.ProtoReflect.Descriptor instead. -func (*ListpeersRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{5} +func (RenepayResponse_RenepayStatus) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[51] } -func (x *ListpeersRequest) GetId() []byte { - if x != nil { - return x.Id - } - return nil +func (x RenepayResponse_RenepayStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ListpeersRequest) GetLevel() string { - if x != nil && x.Level != nil { - return *x.Level - } - return "" +// Deprecated: Use RenepayResponse_RenepayStatus.Descriptor instead. +func (RenepayResponse_RenepayStatus) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{250, 0} } -type ListpeersResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// SendInvoice.status +type SendinvoiceResponse_SendinvoiceStatus int32 - Peers []*ListpeersPeers `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"` -} +const ( + SendinvoiceResponse_UNPAID SendinvoiceResponse_SendinvoiceStatus = 0 + SendinvoiceResponse_PAID SendinvoiceResponse_SendinvoiceStatus = 1 + SendinvoiceResponse_EXPIRED SendinvoiceResponse_SendinvoiceStatus = 2 +) -func (x *ListpeersResponse) Reset() { - *x = ListpeersResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Enum value maps for SendinvoiceResponse_SendinvoiceStatus. +var ( + SendinvoiceResponse_SendinvoiceStatus_name = map[int32]string{ + 0: "UNPAID", + 1: "PAID", + 2: "EXPIRED", } -} + SendinvoiceResponse_SendinvoiceStatus_value = map[string]int32{ + "UNPAID": 0, + "PAID": 1, + "EXPIRED": 2, + } +) -func (x *ListpeersResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (x SendinvoiceResponse_SendinvoiceStatus) Enum() *SendinvoiceResponse_SendinvoiceStatus { + p := new(SendinvoiceResponse_SendinvoiceStatus) + *p = x + return p } -func (*ListpeersResponse) ProtoMessage() {} - -func (x *ListpeersResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_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) +func (x SendinvoiceResponse_SendinvoiceStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -// Deprecated: Use ListpeersResponse.ProtoReflect.Descriptor instead. -func (*ListpeersResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{6} +func (SendinvoiceResponse_SendinvoiceStatus) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[52].Descriptor() } -func (x *ListpeersResponse) GetPeers() []*ListpeersPeers { - if x != nil { - return x.Peers - } - return nil +func (SendinvoiceResponse_SendinvoiceStatus) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[52] } -type ListpeersPeers struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Connected bool `protobuf:"varint,2,opt,name=connected,proto3" json:"connected,omitempty"` - NumChannels *uint32 `protobuf:"varint,8,opt,name=num_channels,json=numChannels,proto3,oneof" json:"num_channels,omitempty"` - Log []*ListpeersPeersLog `protobuf:"bytes,3,rep,name=log,proto3" json:"log,omitempty"` - Channels []*ListpeersPeersChannels `protobuf:"bytes,4,rep,name=channels,proto3" json:"channels,omitempty"` - Netaddr []string `protobuf:"bytes,5,rep,name=netaddr,proto3" json:"netaddr,omitempty"` - RemoteAddr *string `protobuf:"bytes,7,opt,name=remote_addr,json=remoteAddr,proto3,oneof" json:"remote_addr,omitempty"` - Features []byte `protobuf:"bytes,6,opt,name=features,proto3,oneof" json:"features,omitempty"` +func (x SendinvoiceResponse_SendinvoiceStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ListpeersPeers) Reset() { - *x = ListpeersPeers{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +// Deprecated: Use SendinvoiceResponse_SendinvoiceStatus.Descriptor instead. +func (SendinvoiceResponse_SendinvoiceStatus) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{257, 0} } -func (x *ListpeersPeers) String() string { - return protoimpl.X.MessageStringOf(x) -} +// Wait.subsystem +type WaitRequest_WaitSubsystem int32 -func (*ListpeersPeers) ProtoMessage() {} +const ( + WaitRequest_INVOICES WaitRequest_WaitSubsystem = 0 + WaitRequest_FORWARDS WaitRequest_WaitSubsystem = 1 + WaitRequest_SENDPAYS WaitRequest_WaitSubsystem = 2 +) -func (x *ListpeersPeers) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +// Enum value maps for WaitRequest_WaitSubsystem. +var ( + WaitRequest_WaitSubsystem_name = map[int32]string{ + 0: "INVOICES", + 1: "FORWARDS", + 2: "SENDPAYS", } - return mi.MessageOf(x) -} - -// Deprecated: Use ListpeersPeers.ProtoReflect.Descriptor instead. -func (*ListpeersPeers) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{7} -} - -func (x *ListpeersPeers) GetId() []byte { - if x != nil { - return x.Id + WaitRequest_WaitSubsystem_value = map[string]int32{ + "INVOICES": 0, + "FORWARDS": 1, + "SENDPAYS": 2, } - return nil -} +) -func (x *ListpeersPeers) GetConnected() bool { - if x != nil { - return x.Connected - } - return false +func (x WaitRequest_WaitSubsystem) Enum() *WaitRequest_WaitSubsystem { + p := new(WaitRequest_WaitSubsystem) + *p = x + return p } -func (x *ListpeersPeers) GetNumChannels() uint32 { - if x != nil && x.NumChannels != nil { - return *x.NumChannels - } - return 0 +func (x WaitRequest_WaitSubsystem) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *ListpeersPeers) GetLog() []*ListpeersPeersLog { - if x != nil { - return x.Log - } - return nil +func (WaitRequest_WaitSubsystem) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[53].Descriptor() } -func (x *ListpeersPeers) GetChannels() []*ListpeersPeersChannels { - if x != nil { - return x.Channels - } - return nil +func (WaitRequest_WaitSubsystem) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[53] } -func (x *ListpeersPeers) GetNetaddr() []string { - if x != nil { - return x.Netaddr - } - return nil +func (x WaitRequest_WaitSubsystem) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ListpeersPeers) GetRemoteAddr() string { - if x != nil && x.RemoteAddr != nil { - return *x.RemoteAddr - } - return "" +// Deprecated: Use WaitRequest_WaitSubsystem.Descriptor instead. +func (WaitRequest_WaitSubsystem) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{286, 0} } -func (x *ListpeersPeers) GetFeatures() []byte { - if x != nil { - return x.Features - } - return nil -} +// Wait.indexname +type WaitRequest_WaitIndexname int32 -type ListpeersPeersLog struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ItemType ListpeersPeersLog_ListpeersPeersLogType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.ListpeersPeersLog_ListpeersPeersLogType" json:"item_type,omitempty"` - NumSkipped *uint32 `protobuf:"varint,2,opt,name=num_skipped,json=numSkipped,proto3,oneof" json:"num_skipped,omitempty"` - Time *string `protobuf:"bytes,3,opt,name=time,proto3,oneof" json:"time,omitempty"` - Source *string `protobuf:"bytes,4,opt,name=source,proto3,oneof" json:"source,omitempty"` - Log *string `protobuf:"bytes,5,opt,name=log,proto3,oneof" json:"log,omitempty"` - NodeId []byte `protobuf:"bytes,6,opt,name=node_id,json=nodeId,proto3,oneof" json:"node_id,omitempty"` - Data []byte `protobuf:"bytes,7,opt,name=data,proto3,oneof" json:"data,omitempty"` -} +const ( + WaitRequest_CREATED WaitRequest_WaitIndexname = 0 + WaitRequest_UPDATED WaitRequest_WaitIndexname = 1 + WaitRequest_DELETED WaitRequest_WaitIndexname = 2 +) -func (x *ListpeersPeersLog) Reset() { - *x = ListpeersPeersLog{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Enum value maps for WaitRequest_WaitIndexname. +var ( + WaitRequest_WaitIndexname_name = map[int32]string{ + 0: "CREATED", + 1: "UPDATED", + 2: "DELETED", } -} + WaitRequest_WaitIndexname_value = map[string]int32{ + "CREATED": 0, + "UPDATED": 1, + "DELETED": 2, + } +) -func (x *ListpeersPeersLog) String() string { - return protoimpl.X.MessageStringOf(x) +func (x WaitRequest_WaitIndexname) Enum() *WaitRequest_WaitIndexname { + p := new(WaitRequest_WaitIndexname) + *p = x + return p } -func (*ListpeersPeersLog) ProtoMessage() {} - -func (x *ListpeersPeersLog) ProtoReflect() protoreflect.Message { - mi := &file_node_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) +func (x WaitRequest_WaitIndexname) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -// Deprecated: Use ListpeersPeersLog.ProtoReflect.Descriptor instead. -func (*ListpeersPeersLog) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{8} +func (WaitRequest_WaitIndexname) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[54].Descriptor() } -func (x *ListpeersPeersLog) GetItemType() ListpeersPeersLog_ListpeersPeersLogType { - if x != nil { - return x.ItemType - } - return ListpeersPeersLog_SKIPPED +func (WaitRequest_WaitIndexname) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[54] } -func (x *ListpeersPeersLog) GetNumSkipped() uint32 { - if x != nil && x.NumSkipped != nil { - return *x.NumSkipped - } - return 0 +func (x WaitRequest_WaitIndexname) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ListpeersPeersLog) GetTime() string { - if x != nil && x.Time != nil { - return *x.Time - } - return "" +// Deprecated: Use WaitRequest_WaitIndexname.Descriptor instead. +func (WaitRequest_WaitIndexname) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{286, 1} } -func (x *ListpeersPeersLog) GetSource() string { - if x != nil && x.Source != nil { - return *x.Source +// Wait.subsystem +type WaitResponse_WaitSubsystem int32 + +const ( + WaitResponse_INVOICES WaitResponse_WaitSubsystem = 0 + WaitResponse_FORWARDS WaitResponse_WaitSubsystem = 1 + WaitResponse_SENDPAYS WaitResponse_WaitSubsystem = 2 +) + +// Enum value maps for WaitResponse_WaitSubsystem. +var ( + WaitResponse_WaitSubsystem_name = map[int32]string{ + 0: "INVOICES", + 1: "FORWARDS", + 2: "SENDPAYS", } - return "" + WaitResponse_WaitSubsystem_value = map[string]int32{ + "INVOICES": 0, + "FORWARDS": 1, + "SENDPAYS": 2, + } +) + +func (x WaitResponse_WaitSubsystem) Enum() *WaitResponse_WaitSubsystem { + p := new(WaitResponse_WaitSubsystem) + *p = x + return p } -func (x *ListpeersPeersLog) GetLog() string { - if x != nil && x.Log != nil { - return *x.Log - } - return "" +func (x WaitResponse_WaitSubsystem) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *ListpeersPeersLog) GetNodeId() []byte { - if x != nil { - return x.NodeId - } - return nil +func (WaitResponse_WaitSubsystem) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[55].Descriptor() } -func (x *ListpeersPeersLog) GetData() []byte { - if x != nil { - return x.Data - } - return nil +func (WaitResponse_WaitSubsystem) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[55] } -type ListpeersPeersChannels struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - State ListpeersPeersChannels_ListpeersPeersChannelsState `protobuf:"varint,1,opt,name=state,proto3,enum=cln.ListpeersPeersChannels_ListpeersPeersChannelsState" json:"state,omitempty"` - ScratchTxid []byte `protobuf:"bytes,2,opt,name=scratch_txid,json=scratchTxid,proto3,oneof" json:"scratch_txid,omitempty"` - Feerate *ListpeersPeersChannelsFeerate `protobuf:"bytes,3,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` - Owner *string `protobuf:"bytes,4,opt,name=owner,proto3,oneof" json:"owner,omitempty"` - ShortChannelId *string `protobuf:"bytes,5,opt,name=short_channel_id,json=shortChannelId,proto3,oneof" json:"short_channel_id,omitempty"` - ChannelId []byte `protobuf:"bytes,6,opt,name=channel_id,json=channelId,proto3,oneof" json:"channel_id,omitempty"` - FundingTxid []byte `protobuf:"bytes,7,opt,name=funding_txid,json=fundingTxid,proto3,oneof" json:"funding_txid,omitempty"` - FundingOutnum *uint32 `protobuf:"varint,8,opt,name=funding_outnum,json=fundingOutnum,proto3,oneof" json:"funding_outnum,omitempty"` - InitialFeerate *string `protobuf:"bytes,9,opt,name=initial_feerate,json=initialFeerate,proto3,oneof" json:"initial_feerate,omitempty"` - LastFeerate *string `protobuf:"bytes,10,opt,name=last_feerate,json=lastFeerate,proto3,oneof" json:"last_feerate,omitempty"` - NextFeerate *string `protobuf:"bytes,11,opt,name=next_feerate,json=nextFeerate,proto3,oneof" json:"next_feerate,omitempty"` - NextFeeStep *uint32 `protobuf:"varint,12,opt,name=next_fee_step,json=nextFeeStep,proto3,oneof" json:"next_fee_step,omitempty"` - Inflight []*ListpeersPeersChannelsInflight `protobuf:"bytes,13,rep,name=inflight,proto3" json:"inflight,omitempty"` - CloseTo []byte `protobuf:"bytes,14,opt,name=close_to,json=closeTo,proto3,oneof" json:"close_to,omitempty"` - Private *bool `protobuf:"varint,15,opt,name=private,proto3,oneof" json:"private,omitempty"` - Opener ChannelSide `protobuf:"varint,16,opt,name=opener,proto3,enum=cln.ChannelSide" json:"opener,omitempty"` - Closer *ChannelSide `protobuf:"varint,17,opt,name=closer,proto3,enum=cln.ChannelSide,oneof" json:"closer,omitempty"` - Features []string `protobuf:"bytes,18,rep,name=features,proto3" json:"features,omitempty"` - Funding *ListpeersPeersChannelsFunding `protobuf:"bytes,19,opt,name=funding,proto3,oneof" json:"funding,omitempty"` - ToUsMsat *Amount `protobuf:"bytes,20,opt,name=to_us_msat,json=toUsMsat,proto3,oneof" json:"to_us_msat,omitempty"` - MinToUsMsat *Amount `protobuf:"bytes,21,opt,name=min_to_us_msat,json=minToUsMsat,proto3,oneof" json:"min_to_us_msat,omitempty"` - MaxToUsMsat *Amount `protobuf:"bytes,22,opt,name=max_to_us_msat,json=maxToUsMsat,proto3,oneof" json:"max_to_us_msat,omitempty"` - TotalMsat *Amount `protobuf:"bytes,23,opt,name=total_msat,json=totalMsat,proto3,oneof" json:"total_msat,omitempty"` - FeeBaseMsat *Amount `protobuf:"bytes,24,opt,name=fee_base_msat,json=feeBaseMsat,proto3,oneof" json:"fee_base_msat,omitempty"` - FeeProportionalMillionths *uint32 `protobuf:"varint,25,opt,name=fee_proportional_millionths,json=feeProportionalMillionths,proto3,oneof" json:"fee_proportional_millionths,omitempty"` - DustLimitMsat *Amount `protobuf:"bytes,26,opt,name=dust_limit_msat,json=dustLimitMsat,proto3,oneof" json:"dust_limit_msat,omitempty"` - MaxTotalHtlcInMsat *Amount `protobuf:"bytes,27,opt,name=max_total_htlc_in_msat,json=maxTotalHtlcInMsat,proto3,oneof" json:"max_total_htlc_in_msat,omitempty"` - TheirReserveMsat *Amount `protobuf:"bytes,28,opt,name=their_reserve_msat,json=theirReserveMsat,proto3,oneof" json:"their_reserve_msat,omitempty"` - OurReserveMsat *Amount `protobuf:"bytes,29,opt,name=our_reserve_msat,json=ourReserveMsat,proto3,oneof" json:"our_reserve_msat,omitempty"` - SpendableMsat *Amount `protobuf:"bytes,30,opt,name=spendable_msat,json=spendableMsat,proto3,oneof" json:"spendable_msat,omitempty"` - ReceivableMsat *Amount `protobuf:"bytes,31,opt,name=receivable_msat,json=receivableMsat,proto3,oneof" json:"receivable_msat,omitempty"` - MinimumHtlcInMsat *Amount `protobuf:"bytes,32,opt,name=minimum_htlc_in_msat,json=minimumHtlcInMsat,proto3,oneof" json:"minimum_htlc_in_msat,omitempty"` - MinimumHtlcOutMsat *Amount `protobuf:"bytes,48,opt,name=minimum_htlc_out_msat,json=minimumHtlcOutMsat,proto3,oneof" json:"minimum_htlc_out_msat,omitempty"` - MaximumHtlcOutMsat *Amount `protobuf:"bytes,49,opt,name=maximum_htlc_out_msat,json=maximumHtlcOutMsat,proto3,oneof" json:"maximum_htlc_out_msat,omitempty"` - TheirToSelfDelay *uint32 `protobuf:"varint,33,opt,name=their_to_self_delay,json=theirToSelfDelay,proto3,oneof" json:"their_to_self_delay,omitempty"` - OurToSelfDelay *uint32 `protobuf:"varint,34,opt,name=our_to_self_delay,json=ourToSelfDelay,proto3,oneof" json:"our_to_self_delay,omitempty"` - MaxAcceptedHtlcs *uint32 `protobuf:"varint,35,opt,name=max_accepted_htlcs,json=maxAcceptedHtlcs,proto3,oneof" json:"max_accepted_htlcs,omitempty"` - Alias *ListpeersPeersChannelsAlias `protobuf:"bytes,50,opt,name=alias,proto3,oneof" json:"alias,omitempty"` - Status []string `protobuf:"bytes,37,rep,name=status,proto3" json:"status,omitempty"` - InPaymentsOffered *uint64 `protobuf:"varint,38,opt,name=in_payments_offered,json=inPaymentsOffered,proto3,oneof" json:"in_payments_offered,omitempty"` - InOfferedMsat *Amount `protobuf:"bytes,39,opt,name=in_offered_msat,json=inOfferedMsat,proto3,oneof" json:"in_offered_msat,omitempty"` - InPaymentsFulfilled *uint64 `protobuf:"varint,40,opt,name=in_payments_fulfilled,json=inPaymentsFulfilled,proto3,oneof" json:"in_payments_fulfilled,omitempty"` - InFulfilledMsat *Amount `protobuf:"bytes,41,opt,name=in_fulfilled_msat,json=inFulfilledMsat,proto3,oneof" json:"in_fulfilled_msat,omitempty"` - OutPaymentsOffered *uint64 `protobuf:"varint,42,opt,name=out_payments_offered,json=outPaymentsOffered,proto3,oneof" json:"out_payments_offered,omitempty"` - OutOfferedMsat *Amount `protobuf:"bytes,43,opt,name=out_offered_msat,json=outOfferedMsat,proto3,oneof" json:"out_offered_msat,omitempty"` - OutPaymentsFulfilled *uint64 `protobuf:"varint,44,opt,name=out_payments_fulfilled,json=outPaymentsFulfilled,proto3,oneof" json:"out_payments_fulfilled,omitempty"` - OutFulfilledMsat *Amount `protobuf:"bytes,45,opt,name=out_fulfilled_msat,json=outFulfilledMsat,proto3,oneof" json:"out_fulfilled_msat,omitempty"` - Htlcs []*ListpeersPeersChannelsHtlcs `protobuf:"bytes,46,rep,name=htlcs,proto3" json:"htlcs,omitempty"` - CloseToAddr *string `protobuf:"bytes,47,opt,name=close_to_addr,json=closeToAddr,proto3,oneof" json:"close_to_addr,omitempty"` -} - -func (x *ListpeersPeersChannels) Reset() { - *x = ListpeersPeersChannels{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +func (x WaitResponse_WaitSubsystem) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ListpeersPeersChannels) String() string { - return protoimpl.X.MessageStringOf(x) +// Deprecated: Use WaitResponse_WaitSubsystem.Descriptor instead. +func (WaitResponse_WaitSubsystem) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{287, 0} } -func (*ListpeersPeersChannels) ProtoMessage() {} +// Wait.details.status +type WaitDetails_WaitDetailsStatus int32 -func (x *ListpeersPeersChannels) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +const ( + WaitDetails_UNPAID WaitDetails_WaitDetailsStatus = 0 + WaitDetails_PAID WaitDetails_WaitDetailsStatus = 1 + WaitDetails_EXPIRED WaitDetails_WaitDetailsStatus = 2 + WaitDetails_PENDING WaitDetails_WaitDetailsStatus = 3 + WaitDetails_FAILED WaitDetails_WaitDetailsStatus = 4 + WaitDetails_COMPLETE WaitDetails_WaitDetailsStatus = 5 + WaitDetails_OFFERED WaitDetails_WaitDetailsStatus = 6 + WaitDetails_SETTLED WaitDetails_WaitDetailsStatus = 7 + WaitDetails_LOCAL_FAILED WaitDetails_WaitDetailsStatus = 8 +) + +// Enum value maps for WaitDetails_WaitDetailsStatus. +var ( + WaitDetails_WaitDetailsStatus_name = map[int32]string{ + 0: "UNPAID", + 1: "PAID", + 2: "EXPIRED", + 3: "PENDING", + 4: "FAILED", + 5: "COMPLETE", + 6: "OFFERED", + 7: "SETTLED", + 8: "LOCAL_FAILED", + } + WaitDetails_WaitDetailsStatus_value = map[string]int32{ + "UNPAID": 0, + "PAID": 1, + "EXPIRED": 2, + "PENDING": 3, + "FAILED": 4, + "COMPLETE": 5, + "OFFERED": 6, + "SETTLED": 7, + "LOCAL_FAILED": 8, } - return mi.MessageOf(x) -} +) -// Deprecated: Use ListpeersPeersChannels.ProtoReflect.Descriptor instead. -func (*ListpeersPeersChannels) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{9} +func (x WaitDetails_WaitDetailsStatus) Enum() *WaitDetails_WaitDetailsStatus { + p := new(WaitDetails_WaitDetailsStatus) + *p = x + return p } -func (x *ListpeersPeersChannels) GetState() ListpeersPeersChannels_ListpeersPeersChannelsState { - if x != nil { - return x.State - } - return ListpeersPeersChannels_OPENINGD +func (x WaitDetails_WaitDetailsStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *ListpeersPeersChannels) GetScratchTxid() []byte { - if x != nil { - return x.ScratchTxid - } - return nil +func (WaitDetails_WaitDetailsStatus) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[56].Descriptor() } -func (x *ListpeersPeersChannels) GetFeerate() *ListpeersPeersChannelsFeerate { - if x != nil { - return x.Feerate - } - return nil +func (WaitDetails_WaitDetailsStatus) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[56] } -func (x *ListpeersPeersChannels) GetOwner() string { - if x != nil && x.Owner != nil { - return *x.Owner - } - return "" +func (x WaitDetails_WaitDetailsStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ListpeersPeersChannels) GetShortChannelId() string { - if x != nil && x.ShortChannelId != nil { - return *x.ShortChannelId - } - return "" +// Deprecated: Use WaitDetails_WaitDetailsStatus.Descriptor instead. +func (WaitDetails_WaitDetailsStatus) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{288, 0} } -func (x *ListpeersPeersChannels) GetChannelId() []byte { - if x != nil { - return x.ChannelId - } - return nil -} +// ListConfigs.configs.conf.source +type ListconfigsConfigsConf_ListconfigsConfigsConfSource int32 -func (x *ListpeersPeersChannels) GetFundingTxid() []byte { - if x != nil { - return x.FundingTxid +const ( + ListconfigsConfigsConf_CMDLINE ListconfigsConfigsConf_ListconfigsConfigsConfSource = 0 +) + +// Enum value maps for ListconfigsConfigsConf_ListconfigsConfigsConfSource. +var ( + ListconfigsConfigsConf_ListconfigsConfigsConfSource_name = map[int32]string{ + 0: "CMDLINE", } - return nil + ListconfigsConfigsConf_ListconfigsConfigsConfSource_value = map[string]int32{ + "CMDLINE": 0, + } +) + +func (x ListconfigsConfigsConf_ListconfigsConfigsConfSource) Enum() *ListconfigsConfigsConf_ListconfigsConfigsConfSource { + p := new(ListconfigsConfigsConf_ListconfigsConfigsConfSource) + *p = x + return p } -func (x *ListpeersPeersChannels) GetFundingOutnum() uint32 { - if x != nil && x.FundingOutnum != nil { - return *x.FundingOutnum - } - return 0 +func (x ListconfigsConfigsConf_ListconfigsConfigsConfSource) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *ListpeersPeersChannels) GetInitialFeerate() string { - if x != nil && x.InitialFeerate != nil { - return *x.InitialFeerate - } - return "" +func (ListconfigsConfigsConf_ListconfigsConfigsConfSource) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[57].Descriptor() } -func (x *ListpeersPeersChannels) GetLastFeerate() string { - if x != nil && x.LastFeerate != nil { - return *x.LastFeerate - } - return "" +func (ListconfigsConfigsConf_ListconfigsConfigsConfSource) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[57] } -func (x *ListpeersPeersChannels) GetNextFeerate() string { - if x != nil && x.NextFeerate != nil { - return *x.NextFeerate - } - return "" +func (x ListconfigsConfigsConf_ListconfigsConfigsConfSource) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ListpeersPeersChannels) GetNextFeeStep() uint32 { - if x != nil && x.NextFeeStep != nil { - return *x.NextFeeStep - } - return 0 +// Deprecated: Use ListconfigsConfigsConf_ListconfigsConfigsConfSource.Descriptor instead. +func (ListconfigsConfigsConf_ListconfigsConfigsConfSource) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{292, 0} } -func (x *ListpeersPeersChannels) GetInflight() []*ListpeersPeersChannelsInflight { - if x != nil { - return x.Inflight +// ListConfigs.configs.announce-addr-discovered.value_str +type ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr int32 + +const ( + ListconfigsConfigsAnnounceaddrdiscovered_TRUE ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr = 0 + ListconfigsConfigsAnnounceaddrdiscovered_FALSE ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr = 1 + ListconfigsConfigsAnnounceaddrdiscovered_AUTO ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr = 2 +) + +// Enum value maps for ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr. +var ( + ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr_name = map[int32]string{ + 0: "TRUE", + 1: "FALSE", + 2: "AUTO", } - return nil + ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr_value = map[string]int32{ + "TRUE": 0, + "FALSE": 1, + "AUTO": 2, + } +) + +func (x ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr) Enum() *ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr { + p := new(ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr) + *p = x + return p } -func (x *ListpeersPeersChannels) GetCloseTo() []byte { - if x != nil { - return x.CloseTo - } - return nil +func (x ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *ListpeersPeersChannels) GetPrivate() bool { - if x != nil && x.Private != nil { - return *x.Private - } - return false +func (ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[58].Descriptor() } -func (x *ListpeersPeersChannels) GetOpener() ChannelSide { - if x != nil { - return x.Opener - } - return ChannelSide_LOCAL +func (ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[58] } -func (x *ListpeersPeersChannels) GetCloser() ChannelSide { - if x != nil && x.Closer != nil { - return *x.Closer - } - return ChannelSide_LOCAL +func (x ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ListpeersPeersChannels) GetFeatures() []string { - if x != nil { - return x.Features - } - return nil +// Deprecated: Use ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr.Descriptor instead. +func (ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{345, 0} } -func (x *ListpeersPeersChannels) GetFunding() *ListpeersPeersChannelsFunding { - if x != nil { - return x.Funding - } - return nil -} +// Stop.result +type StopResponse_StopResult int32 -func (x *ListpeersPeersChannels) GetToUsMsat() *Amount { - if x != nil { - return x.ToUsMsat +const ( + StopResponse_SHUTDOWN_COMPLETE StopResponse_StopResult = 0 +) + +// Enum value maps for StopResponse_StopResult. +var ( + StopResponse_StopResult_name = map[int32]string{ + 0: "SHUTDOWN_COMPLETE", } - return nil + StopResponse_StopResult_value = map[string]int32{ + "SHUTDOWN_COMPLETE": 0, + } +) + +func (x StopResponse_StopResult) Enum() *StopResponse_StopResult { + p := new(StopResponse_StopResult) + *p = x + return p } -func (x *ListpeersPeersChannels) GetMinToUsMsat() *Amount { - if x != nil { - return x.MinToUsMsat - } - return nil +func (x StopResponse_StopResult) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *ListpeersPeersChannels) GetMaxToUsMsat() *Amount { - if x != nil { - return x.MaxToUsMsat - } - return nil +func (StopResponse_StopResult) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[59].Descriptor() } -func (x *ListpeersPeersChannels) GetTotalMsat() *Amount { - if x != nil { - return x.TotalMsat - } - return nil +func (StopResponse_StopResult) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[59] } -func (x *ListpeersPeersChannels) GetFeeBaseMsat() *Amount { - if x != nil { - return x.FeeBaseMsat - } - return nil +func (x StopResponse_StopResult) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ListpeersPeersChannels) GetFeeProportionalMillionths() uint32 { - if x != nil && x.FeeProportionalMillionths != nil { - return *x.FeeProportionalMillionths - } - return 0 +// Deprecated: Use StopResponse_StopResult.Descriptor instead. +func (StopResponse_StopResult) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{367, 0} } -func (x *ListpeersPeersChannels) GetDustLimitMsat() *Amount { - if x != nil { - return x.DustLimitMsat +// Help.format-hint +type HelpResponse_HelpFormathint int32 + +const ( + HelpResponse_SIMPLE HelpResponse_HelpFormathint = 0 +) + +// Enum value maps for HelpResponse_HelpFormathint. +var ( + HelpResponse_HelpFormathint_name = map[int32]string{ + 0: "SIMPLE", } - return nil + HelpResponse_HelpFormathint_value = map[string]int32{ + "SIMPLE": 0, + } +) + +func (x HelpResponse_HelpFormathint) Enum() *HelpResponse_HelpFormathint { + p := new(HelpResponse_HelpFormathint) + *p = x + return p } -func (x *ListpeersPeersChannels) GetMaxTotalHtlcInMsat() *Amount { - if x != nil { - return x.MaxTotalHtlcInMsat - } - return nil +func (x HelpResponse_HelpFormathint) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *ListpeersPeersChannels) GetTheirReserveMsat() *Amount { - if x != nil { - return x.TheirReserveMsat - } - return nil +func (HelpResponse_HelpFormathint) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[60].Descriptor() } -func (x *ListpeersPeersChannels) GetOurReserveMsat() *Amount { - if x != nil { - return x.OurReserveMsat - } - return nil +func (HelpResponse_HelpFormathint) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[60] } -func (x *ListpeersPeersChannels) GetSpendableMsat() *Amount { - if x != nil { - return x.SpendableMsat - } - return nil +func (x HelpResponse_HelpFormathint) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ListpeersPeersChannels) GetReceivableMsat() *Amount { - if x != nil { - return x.ReceivableMsat - } - return nil +// Deprecated: Use HelpResponse_HelpFormathint.Descriptor instead. +func (HelpResponse_HelpFormathint) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{369, 0} } -func (x *ListpeersPeersChannels) GetMinimumHtlcInMsat() *Amount { - if x != nil { - return x.MinimumHtlcInMsat +// Bkpr-DumpIncomeCsv.csv_format +type BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat int32 + +const ( + BkprdumpincomecsvResponse_COINTRACKER BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat = 0 + BkprdumpincomecsvResponse_KOINLY BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat = 1 + BkprdumpincomecsvResponse_HARMONY BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat = 2 + BkprdumpincomecsvResponse_QUICKBOOKS BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat = 3 +) + +// Enum value maps for BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat. +var ( + BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat_name = map[int32]string{ + 0: "COINTRACKER", + 1: "KOINLY", + 2: "HARMONY", + 3: "QUICKBOOKS", + } + BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat_value = map[string]int32{ + "COINTRACKER": 0, + "KOINLY": 1, + "HARMONY": 2, + "QUICKBOOKS": 3, } - return nil +) + +func (x BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat) Enum() *BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat { + p := new(BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat) + *p = x + return p } -func (x *ListpeersPeersChannels) GetMinimumHtlcOutMsat() *Amount { - if x != nil { - return x.MinimumHtlcOutMsat - } - return nil +func (x BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *ListpeersPeersChannels) GetMaximumHtlcOutMsat() *Amount { - if x != nil { - return x.MaximumHtlcOutMsat - } - return nil +func (BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[61].Descriptor() } -func (x *ListpeersPeersChannels) GetTheirToSelfDelay() uint32 { - if x != nil && x.TheirToSelfDelay != nil { - return *x.TheirToSelfDelay - } - return 0 +func (BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[61] } -func (x *ListpeersPeersChannels) GetOurToSelfDelay() uint32 { - if x != nil && x.OurToSelfDelay != nil { - return *x.OurToSelfDelay - } - return 0 +func (x BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ListpeersPeersChannels) GetMaxAcceptedHtlcs() uint32 { - if x != nil && x.MaxAcceptedHtlcs != nil { - return *x.MaxAcceptedHtlcs - } - return 0 +// Deprecated: Use BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat.Descriptor instead. +func (BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{381, 0} } -func (x *ListpeersPeersChannels) GetAlias() *ListpeersPeersChannelsAlias { - if x != nil { - return x.Alias +// Bkpr-ListAccountEvents.events[].type +type BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType int32 + +const ( + BkprlistaccounteventsEvents_ONCHAIN_FEE BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType = 0 + BkprlistaccounteventsEvents_CHAIN BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType = 1 + BkprlistaccounteventsEvents_CHANNEL BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType = 2 +) + +// Enum value maps for BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType. +var ( + BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType_name = map[int32]string{ + 0: "ONCHAIN_FEE", + 1: "CHAIN", + 2: "CHANNEL", } - return nil + BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType_value = map[string]int32{ + "ONCHAIN_FEE": 0, + "CHAIN": 1, + "CHANNEL": 2, + } +) + +func (x BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType) Enum() *BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType { + p := new(BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType) + *p = x + return p } -func (x *ListpeersPeersChannels) GetStatus() []string { - if x != nil { - return x.Status - } - return nil +func (x BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *ListpeersPeersChannels) GetInPaymentsOffered() uint64 { - if x != nil && x.InPaymentsOffered != nil { - return *x.InPaymentsOffered - } - return 0 +func (BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[62].Descriptor() } -func (x *ListpeersPeersChannels) GetInOfferedMsat() *Amount { - if x != nil { - return x.InOfferedMsat - } - return nil +func (BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[62] } -func (x *ListpeersPeersChannels) GetInPaymentsFulfilled() uint64 { - if x != nil && x.InPaymentsFulfilled != nil { - return *x.InPaymentsFulfilled - } - return 0 +func (x BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ListpeersPeersChannels) GetInFulfilledMsat() *Amount { - if x != nil { - return x.InFulfilledMsat - } - return nil +// Deprecated: Use BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType.Descriptor instead. +func (BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{388, 0} } -func (x *ListpeersPeersChannels) GetOutPaymentsOffered() uint64 { - if x != nil && x.OutPaymentsOffered != nil { - return *x.OutPaymentsOffered +// connect.direction +type PeerConnectNotification_PeerConnectDirection int32 + +const ( + PeerConnectNotification_IN PeerConnectNotification_PeerConnectDirection = 0 + PeerConnectNotification_OUT PeerConnectNotification_PeerConnectDirection = 1 +) + +// Enum value maps for PeerConnectNotification_PeerConnectDirection. +var ( + PeerConnectNotification_PeerConnectDirection_name = map[int32]string{ + 0: "IN", + 1: "OUT", } - return 0 + PeerConnectNotification_PeerConnectDirection_value = map[string]int32{ + "IN": 0, + "OUT": 1, + } +) + +func (x PeerConnectNotification_PeerConnectDirection) Enum() *PeerConnectNotification_PeerConnectDirection { + p := new(PeerConnectNotification_PeerConnectDirection) + *p = x + return p } -func (x *ListpeersPeersChannels) GetOutOfferedMsat() *Amount { - if x != nil { - return x.OutOfferedMsat - } - return nil +func (x PeerConnectNotification_PeerConnectDirection) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } -func (x *ListpeersPeersChannels) GetOutPaymentsFulfilled() uint64 { - if x != nil && x.OutPaymentsFulfilled != nil { - return *x.OutPaymentsFulfilled - } - return 0 +func (PeerConnectNotification_PeerConnectDirection) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[63].Descriptor() } -func (x *ListpeersPeersChannels) GetOutFulfilledMsat() *Amount { - if x != nil { - return x.OutFulfilledMsat - } - return nil +func (PeerConnectNotification_PeerConnectDirection) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[63] } -func (x *ListpeersPeersChannels) GetHtlcs() []*ListpeersPeersChannelsHtlcs { - if x != nil { - return x.Htlcs - } - return nil +func (x PeerConnectNotification_PeerConnectDirection) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ListpeersPeersChannels) GetCloseToAddr() string { - if x != nil && x.CloseToAddr != nil { - return *x.CloseToAddr - } - return "" +// Deprecated: Use PeerConnectNotification_PeerConnectDirection.Descriptor instead. +func (PeerConnectNotification_PeerConnectDirection) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{415, 0} } -type ListpeersPeersChannelsFeerate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// connect.address.type +type PeerConnectAddress_PeerConnectAddressType int32 - Perkw uint32 `protobuf:"varint,1,opt,name=perkw,proto3" json:"perkw,omitempty"` - Perkb uint32 `protobuf:"varint,2,opt,name=perkb,proto3" json:"perkb,omitempty"` -} +const ( + PeerConnectAddress_LOCAL_SOCKET PeerConnectAddress_PeerConnectAddressType = 0 + PeerConnectAddress_IPV4 PeerConnectAddress_PeerConnectAddressType = 1 + PeerConnectAddress_IPV6 PeerConnectAddress_PeerConnectAddressType = 2 + PeerConnectAddress_TORV2 PeerConnectAddress_PeerConnectAddressType = 3 + PeerConnectAddress_TORV3 PeerConnectAddress_PeerConnectAddressType = 4 +) -func (x *ListpeersPeersChannelsFeerate) Reset() { - *x = ListpeersPeersChannelsFeerate{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +// Enum value maps for PeerConnectAddress_PeerConnectAddressType. +var ( + PeerConnectAddress_PeerConnectAddressType_name = map[int32]string{ + 0: "LOCAL_SOCKET", + 1: "IPV4", + 2: "IPV6", + 3: "TORV2", + 4: "TORV3", } -} + PeerConnectAddress_PeerConnectAddressType_value = map[string]int32{ + "LOCAL_SOCKET": 0, + "IPV4": 1, + "IPV6": 2, + "TORV2": 3, + "TORV3": 4, + } +) -func (x *ListpeersPeersChannelsFeerate) String() string { - return protoimpl.X.MessageStringOf(x) +func (x PeerConnectAddress_PeerConnectAddressType) Enum() *PeerConnectAddress_PeerConnectAddressType { + p := new(PeerConnectAddress_PeerConnectAddressType) + *p = x + return p } -func (*ListpeersPeersChannelsFeerate) ProtoMessage() {} +func (x PeerConnectAddress_PeerConnectAddressType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} -func (x *ListpeersPeersChannelsFeerate) ProtoReflect() protoreflect.Message { - mi := &file_node_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) +func (PeerConnectAddress_PeerConnectAddressType) Descriptor() protoreflect.EnumDescriptor { + return file_node_proto_enumTypes[64].Descriptor() } -// Deprecated: Use ListpeersPeersChannelsFeerate.ProtoReflect.Descriptor instead. -func (*ListpeersPeersChannelsFeerate) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{10} +func (PeerConnectAddress_PeerConnectAddressType) Type() protoreflect.EnumType { + return &file_node_proto_enumTypes[64] } -func (x *ListpeersPeersChannelsFeerate) GetPerkw() uint32 { - if x != nil { - return x.Perkw - } - return 0 +func (x PeerConnectAddress_PeerConnectAddressType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) } -func (x *ListpeersPeersChannelsFeerate) GetPerkb() uint32 { - if x != nil { - return x.Perkb - } - return 0 +// Deprecated: Use PeerConnectAddress_PeerConnectAddressType.Descriptor instead. +func (PeerConnectAddress_PeerConnectAddressType) EnumDescriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{416, 0} } -type ListpeersPeersChannelsInflight struct { +type GetinfoRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - FundingTxid []byte `protobuf:"bytes,1,opt,name=funding_txid,json=fundingTxid,proto3" json:"funding_txid,omitempty"` - FundingOutnum uint32 `protobuf:"varint,2,opt,name=funding_outnum,json=fundingOutnum,proto3" json:"funding_outnum,omitempty"` - Feerate string `protobuf:"bytes,3,opt,name=feerate,proto3" json:"feerate,omitempty"` - TotalFundingMsat *Amount `protobuf:"bytes,4,opt,name=total_funding_msat,json=totalFundingMsat,proto3" json:"total_funding_msat,omitempty"` - OurFundingMsat *Amount `protobuf:"bytes,5,opt,name=our_funding_msat,json=ourFundingMsat,proto3" json:"our_funding_msat,omitempty"` - SpliceAmount *int64 `protobuf:"zigzag64,7,opt,name=splice_amount,json=spliceAmount,proto3,oneof" json:"splice_amount,omitempty"` - ScratchTxid []byte `protobuf:"bytes,6,opt,name=scratch_txid,json=scratchTxid,proto3" json:"scratch_txid,omitempty"` } -func (x *ListpeersPeersChannelsInflight) Reset() { - *x = ListpeersPeersChannelsInflight{} +func (x *GetinfoRequest) Reset() { + *x = GetinfoRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[11] + mi := &file_node_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListpeersPeersChannelsInflight) String() string { +func (x *GetinfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListpeersPeersChannelsInflight) ProtoMessage() {} +func (*GetinfoRequest) ProtoMessage() {} -func (x *ListpeersPeersChannelsInflight) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[11] +func (x *GetinfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3549,89 +3399,214 @@ func (x *ListpeersPeersChannelsInflight) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListpeersPeersChannelsInflight.ProtoReflect.Descriptor instead. -func (*ListpeersPeersChannelsInflight) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{11} +// Deprecated: Use GetinfoRequest.ProtoReflect.Descriptor instead. +func (*GetinfoRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{0} } -func (x *ListpeersPeersChannelsInflight) GetFundingTxid() []byte { - if x != nil { - return x.FundingTxid - } - return nil +type GetinfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Alias *string `protobuf:"bytes,2,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + Color []byte `protobuf:"bytes,3,opt,name=color,proto3" json:"color,omitempty"` + NumPeers uint32 `protobuf:"varint,4,opt,name=num_peers,json=numPeers,proto3" json:"num_peers,omitempty"` + NumPendingChannels uint32 `protobuf:"varint,5,opt,name=num_pending_channels,json=numPendingChannels,proto3" json:"num_pending_channels,omitempty"` + NumActiveChannels uint32 `protobuf:"varint,6,opt,name=num_active_channels,json=numActiveChannels,proto3" json:"num_active_channels,omitempty"` + NumInactiveChannels uint32 `protobuf:"varint,7,opt,name=num_inactive_channels,json=numInactiveChannels,proto3" json:"num_inactive_channels,omitempty"` + Version string `protobuf:"bytes,8,opt,name=version,proto3" json:"version,omitempty"` + LightningDir string `protobuf:"bytes,9,opt,name=lightning_dir,json=lightningDir,proto3" json:"lightning_dir,omitempty"` + OurFeatures *GetinfoOurFeatures `protobuf:"bytes,10,opt,name=our_features,json=ourFeatures,proto3,oneof" json:"our_features,omitempty"` + Blockheight uint32 `protobuf:"varint,11,opt,name=blockheight,proto3" json:"blockheight,omitempty"` + Network string `protobuf:"bytes,12,opt,name=network,proto3" json:"network,omitempty"` + FeesCollectedMsat *Amount `protobuf:"bytes,13,opt,name=fees_collected_msat,json=feesCollectedMsat,proto3" json:"fees_collected_msat,omitempty"` + Address []*GetinfoAddress `protobuf:"bytes,14,rep,name=address,proto3" json:"address,omitempty"` + Binding []*GetinfoBinding `protobuf:"bytes,15,rep,name=binding,proto3" json:"binding,omitempty"` + WarningBitcoindSync *string `protobuf:"bytes,16,opt,name=warning_bitcoind_sync,json=warningBitcoindSync,proto3,oneof" json:"warning_bitcoind_sync,omitempty"` + WarningLightningdSync *string `protobuf:"bytes,17,opt,name=warning_lightningd_sync,json=warningLightningdSync,proto3,oneof" json:"warning_lightningd_sync,omitempty"` +} + +func (x *GetinfoResponse) Reset() { + *x = GetinfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetinfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetinfoResponse) ProtoMessage() {} + +func (x *GetinfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_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 GetinfoResponse.ProtoReflect.Descriptor instead. +func (*GetinfoResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{1} } -func (x *ListpeersPeersChannelsInflight) GetFundingOutnum() uint32 { +func (x *GetinfoResponse) GetId() []byte { if x != nil { - return x.FundingOutnum + return x.Id + } + return nil +} + +func (x *GetinfoResponse) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *GetinfoResponse) GetColor() []byte { + if x != nil { + return x.Color + } + return nil +} + +func (x *GetinfoResponse) GetNumPeers() uint32 { + if x != nil { + return x.NumPeers } return 0 } -func (x *ListpeersPeersChannelsInflight) GetFeerate() string { +func (x *GetinfoResponse) GetNumPendingChannels() uint32 { if x != nil { - return x.Feerate + return x.NumPendingChannels + } + return 0 +} + +func (x *GetinfoResponse) GetNumActiveChannels() uint32 { + if x != nil { + return x.NumActiveChannels + } + return 0 +} + +func (x *GetinfoResponse) GetNumInactiveChannels() uint32 { + if x != nil { + return x.NumInactiveChannels + } + return 0 +} + +func (x *GetinfoResponse) GetVersion() string { + if x != nil { + return x.Version } return "" } -func (x *ListpeersPeersChannelsInflight) GetTotalFundingMsat() *Amount { +func (x *GetinfoResponse) GetLightningDir() string { if x != nil { - return x.TotalFundingMsat + return x.LightningDir } - return nil + return "" } -func (x *ListpeersPeersChannelsInflight) GetOurFundingMsat() *Amount { +func (x *GetinfoResponse) GetOurFeatures() *GetinfoOurFeatures { if x != nil { - return x.OurFundingMsat + return x.OurFeatures } return nil } -func (x *ListpeersPeersChannelsInflight) GetSpliceAmount() int64 { - if x != nil && x.SpliceAmount != nil { - return *x.SpliceAmount +func (x *GetinfoResponse) GetBlockheight() uint32 { + if x != nil { + return x.Blockheight } return 0 } -func (x *ListpeersPeersChannelsInflight) GetScratchTxid() []byte { +func (x *GetinfoResponse) GetNetwork() string { if x != nil { - return x.ScratchTxid + return x.Network + } + return "" +} + +func (x *GetinfoResponse) GetFeesCollectedMsat() *Amount { + if x != nil { + return x.FeesCollectedMsat + } + return nil +} + +func (x *GetinfoResponse) GetAddress() []*GetinfoAddress { + if x != nil { + return x.Address + } + return nil +} + +func (x *GetinfoResponse) GetBinding() []*GetinfoBinding { + if x != nil { + return x.Binding } return nil } -type ListpeersPeersChannelsFunding struct { +func (x *GetinfoResponse) GetWarningBitcoindSync() string { + if x != nil && x.WarningBitcoindSync != nil { + return *x.WarningBitcoindSync + } + return "" +} + +func (x *GetinfoResponse) GetWarningLightningdSync() string { + if x != nil && x.WarningLightningdSync != nil { + return *x.WarningLightningdSync + } + return "" +} + +type GetinfoOurFeatures struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PushedMsat *Amount `protobuf:"bytes,3,opt,name=pushed_msat,json=pushedMsat,proto3,oneof" json:"pushed_msat,omitempty"` - LocalFundsMsat *Amount `protobuf:"bytes,4,opt,name=local_funds_msat,json=localFundsMsat,proto3" json:"local_funds_msat,omitempty"` - RemoteFundsMsat *Amount `protobuf:"bytes,7,opt,name=remote_funds_msat,json=remoteFundsMsat,proto3" json:"remote_funds_msat,omitempty"` - FeePaidMsat *Amount `protobuf:"bytes,5,opt,name=fee_paid_msat,json=feePaidMsat,proto3,oneof" json:"fee_paid_msat,omitempty"` - FeeRcvdMsat *Amount `protobuf:"bytes,6,opt,name=fee_rcvd_msat,json=feeRcvdMsat,proto3,oneof" json:"fee_rcvd_msat,omitempty"` + Init []byte `protobuf:"bytes,1,opt,name=init,proto3" json:"init,omitempty"` + Node []byte `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"` + Channel []byte `protobuf:"bytes,3,opt,name=channel,proto3" json:"channel,omitempty"` + Invoice []byte `protobuf:"bytes,4,opt,name=invoice,proto3" json:"invoice,omitempty"` } -func (x *ListpeersPeersChannelsFunding) Reset() { - *x = ListpeersPeersChannelsFunding{} +func (x *GetinfoOurFeatures) Reset() { + *x = GetinfoOurFeatures{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[12] + mi := &file_node_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListpeersPeersChannelsFunding) String() string { +func (x *GetinfoOurFeatures) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListpeersPeersChannelsFunding) ProtoMessage() {} +func (*GetinfoOurFeatures) ProtoMessage() {} -func (x *ListpeersPeersChannelsFunding) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[12] +func (x *GetinfoOurFeatures) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3642,72 +3617,66 @@ func (x *ListpeersPeersChannelsFunding) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListpeersPeersChannelsFunding.ProtoReflect.Descriptor instead. -func (*ListpeersPeersChannelsFunding) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{12} -} - -func (x *ListpeersPeersChannelsFunding) GetPushedMsat() *Amount { - if x != nil { - return x.PushedMsat - } - return nil +// Deprecated: Use GetinfoOurFeatures.ProtoReflect.Descriptor instead. +func (*GetinfoOurFeatures) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{2} } -func (x *ListpeersPeersChannelsFunding) GetLocalFundsMsat() *Amount { +func (x *GetinfoOurFeatures) GetInit() []byte { if x != nil { - return x.LocalFundsMsat + return x.Init } return nil } -func (x *ListpeersPeersChannelsFunding) GetRemoteFundsMsat() *Amount { +func (x *GetinfoOurFeatures) GetNode() []byte { if x != nil { - return x.RemoteFundsMsat + return x.Node } return nil } -func (x *ListpeersPeersChannelsFunding) GetFeePaidMsat() *Amount { +func (x *GetinfoOurFeatures) GetChannel() []byte { if x != nil { - return x.FeePaidMsat + return x.Channel } return nil } -func (x *ListpeersPeersChannelsFunding) GetFeeRcvdMsat() *Amount { +func (x *GetinfoOurFeatures) GetInvoice() []byte { if x != nil { - return x.FeeRcvdMsat + return x.Invoice } return nil } -type ListpeersPeersChannelsAlias struct { +type GetinfoAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Local *string `protobuf:"bytes,1,opt,name=local,proto3,oneof" json:"local,omitempty"` - Remote *string `protobuf:"bytes,2,opt,name=remote,proto3,oneof" json:"remote,omitempty"` + ItemType GetinfoAddress_GetinfoAddressType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.GetinfoAddress_GetinfoAddressType" json:"item_type,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + Address *string `protobuf:"bytes,3,opt,name=address,proto3,oneof" json:"address,omitempty"` } -func (x *ListpeersPeersChannelsAlias) Reset() { - *x = ListpeersPeersChannelsAlias{} +func (x *GetinfoAddress) Reset() { + *x = GetinfoAddress{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[13] + mi := &file_node_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListpeersPeersChannelsAlias) String() string { +func (x *GetinfoAddress) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListpeersPeersChannelsAlias) ProtoMessage() {} +func (*GetinfoAddress) ProtoMessage() {} -func (x *ListpeersPeersChannelsAlias) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[13] +func (x *GetinfoAddress) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3718,57 +3687,61 @@ func (x *ListpeersPeersChannelsAlias) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListpeersPeersChannelsAlias.ProtoReflect.Descriptor instead. -func (*ListpeersPeersChannelsAlias) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{13} +// Deprecated: Use GetinfoAddress.ProtoReflect.Descriptor instead. +func (*GetinfoAddress) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{3} } -func (x *ListpeersPeersChannelsAlias) GetLocal() string { - if x != nil && x.Local != nil { - return *x.Local +func (x *GetinfoAddress) GetItemType() GetinfoAddress_GetinfoAddressType { + if x != nil { + return x.ItemType } - return "" + return GetinfoAddress_DNS } -func (x *ListpeersPeersChannelsAlias) GetRemote() string { - if x != nil && x.Remote != nil { - return *x.Remote +func (x *GetinfoAddress) GetPort() uint32 { + if x != nil { + return x.Port + } + return 0 +} + +func (x *GetinfoAddress) GetAddress() string { + if x != nil && x.Address != nil { + return *x.Address } return "" } -type ListpeersPeersChannelsHtlcs struct { +type GetinfoBinding struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Direction ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection `protobuf:"varint,1,opt,name=direction,proto3,enum=cln.ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection" json:"direction,omitempty"` - Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` - AmountMsat *Amount `protobuf:"bytes,3,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` - Expiry uint32 `protobuf:"varint,4,opt,name=expiry,proto3" json:"expiry,omitempty"` - PaymentHash []byte `protobuf:"bytes,5,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - LocalTrimmed *bool `protobuf:"varint,6,opt,name=local_trimmed,json=localTrimmed,proto3,oneof" json:"local_trimmed,omitempty"` - Status *string `protobuf:"bytes,7,opt,name=status,proto3,oneof" json:"status,omitempty"` - State HtlcState `protobuf:"varint,8,opt,name=state,proto3,enum=cln.HtlcState" json:"state,omitempty"` + ItemType GetinfoBinding_GetinfoBindingType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.GetinfoBinding_GetinfoBindingType" json:"item_type,omitempty"` + Address *string `protobuf:"bytes,2,opt,name=address,proto3,oneof" json:"address,omitempty"` + Port *uint32 `protobuf:"varint,3,opt,name=port,proto3,oneof" json:"port,omitempty"` + Socket *string `protobuf:"bytes,4,opt,name=socket,proto3,oneof" json:"socket,omitempty"` + Subtype *string `protobuf:"bytes,5,opt,name=subtype,proto3,oneof" json:"subtype,omitempty"` } -func (x *ListpeersPeersChannelsHtlcs) Reset() { - *x = ListpeersPeersChannelsHtlcs{} +func (x *GetinfoBinding) Reset() { + *x = GetinfoBinding{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[14] + mi := &file_node_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListpeersPeersChannelsHtlcs) String() string { +func (x *GetinfoBinding) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListpeersPeersChannelsHtlcs) ProtoMessage() {} +func (*GetinfoBinding) ProtoMessage() {} -func (x *ListpeersPeersChannelsHtlcs) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[14] +func (x *GetinfoBinding) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3779,92 +3752,72 @@ func (x *ListpeersPeersChannelsHtlcs) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListpeersPeersChannelsHtlcs.ProtoReflect.Descriptor instead. -func (*ListpeersPeersChannelsHtlcs) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{14} +// Deprecated: Use GetinfoBinding.ProtoReflect.Descriptor instead. +func (*GetinfoBinding) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{4} } -func (x *ListpeersPeersChannelsHtlcs) GetDirection() ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection { +func (x *GetinfoBinding) GetItemType() GetinfoBinding_GetinfoBindingType { if x != nil { - return x.Direction + return x.ItemType } - return ListpeersPeersChannelsHtlcs_IN + return GetinfoBinding_LOCAL_SOCKET } -func (x *ListpeersPeersChannelsHtlcs) GetId() uint64 { - if x != nil { - return x.Id +func (x *GetinfoBinding) GetAddress() string { + if x != nil && x.Address != nil { + return *x.Address } - return 0 + return "" } -func (x *ListpeersPeersChannelsHtlcs) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat - } - return nil -} - -func (x *ListpeersPeersChannelsHtlcs) GetExpiry() uint32 { - if x != nil { - return x.Expiry +func (x *GetinfoBinding) GetPort() uint32 { + if x != nil && x.Port != nil { + return *x.Port } return 0 } -func (x *ListpeersPeersChannelsHtlcs) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash - } - return nil -} - -func (x *ListpeersPeersChannelsHtlcs) GetLocalTrimmed() bool { - if x != nil && x.LocalTrimmed != nil { - return *x.LocalTrimmed - } - return false -} - -func (x *ListpeersPeersChannelsHtlcs) GetStatus() string { - if x != nil && x.Status != nil { - return *x.Status +func (x *GetinfoBinding) GetSocket() string { + if x != nil && x.Socket != nil { + return *x.Socket } return "" } -func (x *ListpeersPeersChannelsHtlcs) GetState() HtlcState { - if x != nil { - return x.State +func (x *GetinfoBinding) GetSubtype() string { + if x != nil && x.Subtype != nil { + return *x.Subtype } - return HtlcState_SentAddHtlc + return "" } -type ListfundsRequest struct { +type ListpeersRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Spent *bool `protobuf:"varint,1,opt,name=spent,proto3,oneof" json:"spent,omitempty"` + Id []byte `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` + Level *ListpeersRequest_ListpeersLevel `protobuf:"varint,2,opt,name=level,proto3,enum=cln.ListpeersRequest_ListpeersLevel,oneof" json:"level,omitempty"` } -func (x *ListfundsRequest) Reset() { - *x = ListfundsRequest{} +func (x *ListpeersRequest) Reset() { + *x = ListpeersRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[15] + mi := &file_node_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListfundsRequest) String() string { +func (x *ListpeersRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListfundsRequest) ProtoMessage() {} +func (*ListpeersRequest) ProtoMessage() {} -func (x *ListfundsRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[15] +func (x *ListpeersRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3875,44 +3828,50 @@ func (x *ListfundsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListfundsRequest.ProtoReflect.Descriptor instead. -func (*ListfundsRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{15} +// Deprecated: Use ListpeersRequest.ProtoReflect.Descriptor instead. +func (*ListpeersRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{5} } -func (x *ListfundsRequest) GetSpent() bool { - if x != nil && x.Spent != nil { - return *x.Spent +func (x *ListpeersRequest) GetId() []byte { + if x != nil { + return x.Id } - return false + return nil } -type ListfundsResponse struct { +func (x *ListpeersRequest) GetLevel() ListpeersRequest_ListpeersLevel { + if x != nil && x.Level != nil { + return *x.Level + } + return ListpeersRequest_IO +} + +type ListpeersResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Outputs []*ListfundsOutputs `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"` - Channels []*ListfundsChannels `protobuf:"bytes,2,rep,name=channels,proto3" json:"channels,omitempty"` + Peers []*ListpeersPeers `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"` } -func (x *ListfundsResponse) Reset() { - *x = ListfundsResponse{} +func (x *ListpeersResponse) Reset() { + *x = ListpeersResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[16] + mi := &file_node_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListfundsResponse) String() string { +func (x *ListpeersResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListfundsResponse) ProtoMessage() {} +func (*ListpeersResponse) ProtoMessage() {} -func (x *ListfundsResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[16] +func (x *ListpeersResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3923,58 +3882,49 @@ func (x *ListfundsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListfundsResponse.ProtoReflect.Descriptor instead. -func (*ListfundsResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{16} -} - -func (x *ListfundsResponse) GetOutputs() []*ListfundsOutputs { - if x != nil { - return x.Outputs - } - return nil +// Deprecated: Use ListpeersResponse.ProtoReflect.Descriptor instead. +func (*ListpeersResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{6} } -func (x *ListfundsResponse) GetChannels() []*ListfundsChannels { +func (x *ListpeersResponse) GetPeers() []*ListpeersPeers { if x != nil { - return x.Channels + return x.Peers } return nil } -type ListfundsOutputs struct { +type ListpeersPeers struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` - Output uint32 `protobuf:"varint,2,opt,name=output,proto3" json:"output,omitempty"` - AmountMsat *Amount `protobuf:"bytes,3,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` - Scriptpubkey []byte `protobuf:"bytes,4,opt,name=scriptpubkey,proto3" json:"scriptpubkey,omitempty"` - Address *string `protobuf:"bytes,5,opt,name=address,proto3,oneof" json:"address,omitempty"` - Redeemscript []byte `protobuf:"bytes,6,opt,name=redeemscript,proto3,oneof" json:"redeemscript,omitempty"` - Status ListfundsOutputs_ListfundsOutputsStatus `protobuf:"varint,7,opt,name=status,proto3,enum=cln.ListfundsOutputs_ListfundsOutputsStatus" json:"status,omitempty"` - Reserved bool `protobuf:"varint,9,opt,name=reserved,proto3" json:"reserved,omitempty"` - Blockheight *uint32 `protobuf:"varint,8,opt,name=blockheight,proto3,oneof" json:"blockheight,omitempty"` + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Connected bool `protobuf:"varint,2,opt,name=connected,proto3" json:"connected,omitempty"` + Log []*ListpeersPeersLog `protobuf:"bytes,3,rep,name=log,proto3" json:"log,omitempty"` + Netaddr []string `protobuf:"bytes,5,rep,name=netaddr,proto3" json:"netaddr,omitempty"` + Features []byte `protobuf:"bytes,6,opt,name=features,proto3,oneof" json:"features,omitempty"` + RemoteAddr *string `protobuf:"bytes,7,opt,name=remote_addr,json=remoteAddr,proto3,oneof" json:"remote_addr,omitempty"` + NumChannels *uint32 `protobuf:"varint,8,opt,name=num_channels,json=numChannels,proto3,oneof" json:"num_channels,omitempty"` } -func (x *ListfundsOutputs) Reset() { - *x = ListfundsOutputs{} +func (x *ListpeersPeers) Reset() { + *x = ListpeersPeers{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[17] + mi := &file_node_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListfundsOutputs) String() string { +func (x *ListpeersPeers) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListfundsOutputs) ProtoMessage() {} +func (*ListpeersPeers) ProtoMessage() {} -func (x *ListfundsOutputs) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[17] +func (x *ListpeersPeers) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3985,107 +3935,91 @@ func (x *ListfundsOutputs) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListfundsOutputs.ProtoReflect.Descriptor instead. -func (*ListfundsOutputs) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{17} +// Deprecated: Use ListpeersPeers.ProtoReflect.Descriptor instead. +func (*ListpeersPeers) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{7} } -func (x *ListfundsOutputs) GetTxid() []byte { +func (x *ListpeersPeers) GetId() []byte { if x != nil { - return x.Txid + return x.Id } return nil } -func (x *ListfundsOutputs) GetOutput() uint32 { +func (x *ListpeersPeers) GetConnected() bool { if x != nil { - return x.Output + return x.Connected } - return 0 + return false } -func (x *ListfundsOutputs) GetAmountMsat() *Amount { +func (x *ListpeersPeers) GetLog() []*ListpeersPeersLog { if x != nil { - return x.AmountMsat + return x.Log } return nil } -func (x *ListfundsOutputs) GetScriptpubkey() []byte { +func (x *ListpeersPeers) GetNetaddr() []string { if x != nil { - return x.Scriptpubkey + return x.Netaddr } return nil } -func (x *ListfundsOutputs) GetAddress() string { - if x != nil && x.Address != nil { - return *x.Address - } - return "" -} - -func (x *ListfundsOutputs) GetRedeemscript() []byte { +func (x *ListpeersPeers) GetFeatures() []byte { if x != nil { - return x.Redeemscript + return x.Features } return nil } -func (x *ListfundsOutputs) GetStatus() ListfundsOutputs_ListfundsOutputsStatus { - if x != nil { - return x.Status - } - return ListfundsOutputs_UNCONFIRMED -} - -func (x *ListfundsOutputs) GetReserved() bool { - if x != nil { - return x.Reserved +func (x *ListpeersPeers) GetRemoteAddr() string { + if x != nil && x.RemoteAddr != nil { + return *x.RemoteAddr } - return false + return "" } -func (x *ListfundsOutputs) GetBlockheight() uint32 { - if x != nil && x.Blockheight != nil { - return *x.Blockheight +func (x *ListpeersPeers) GetNumChannels() uint32 { + if x != nil && x.NumChannels != nil { + return *x.NumChannels } return 0 } -type ListfundsChannels struct { +type ListpeersPeersLog struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PeerId []byte `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"` - OurAmountMsat *Amount `protobuf:"bytes,2,opt,name=our_amount_msat,json=ourAmountMsat,proto3" json:"our_amount_msat,omitempty"` - AmountMsat *Amount `protobuf:"bytes,3,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` - FundingTxid []byte `protobuf:"bytes,4,opt,name=funding_txid,json=fundingTxid,proto3" json:"funding_txid,omitempty"` - FundingOutput uint32 `protobuf:"varint,5,opt,name=funding_output,json=fundingOutput,proto3" json:"funding_output,omitempty"` - Connected bool `protobuf:"varint,6,opt,name=connected,proto3" json:"connected,omitempty"` - State ChannelState `protobuf:"varint,7,opt,name=state,proto3,enum=cln.ChannelState" json:"state,omitempty"` - ChannelId []byte `protobuf:"bytes,9,opt,name=channel_id,json=channelId,proto3,oneof" json:"channel_id,omitempty"` - ShortChannelId *string `protobuf:"bytes,8,opt,name=short_channel_id,json=shortChannelId,proto3,oneof" json:"short_channel_id,omitempty"` + ItemType ListpeersPeersLog_ListpeersPeersLogType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.ListpeersPeersLog_ListpeersPeersLogType" json:"item_type,omitempty"` + NumSkipped *uint32 `protobuf:"varint,2,opt,name=num_skipped,json=numSkipped,proto3,oneof" json:"num_skipped,omitempty"` + Time *string `protobuf:"bytes,3,opt,name=time,proto3,oneof" json:"time,omitempty"` + Source *string `protobuf:"bytes,4,opt,name=source,proto3,oneof" json:"source,omitempty"` + Log *string `protobuf:"bytes,5,opt,name=log,proto3,oneof" json:"log,omitempty"` + NodeId []byte `protobuf:"bytes,6,opt,name=node_id,json=nodeId,proto3,oneof" json:"node_id,omitempty"` + Data []byte `protobuf:"bytes,7,opt,name=data,proto3,oneof" json:"data,omitempty"` } -func (x *ListfundsChannels) Reset() { - *x = ListfundsChannels{} +func (x *ListpeersPeersLog) Reset() { + *x = ListpeersPeersLog{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[18] + mi := &file_node_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListfundsChannels) String() string { +func (x *ListpeersPeersLog) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListfundsChannels) ProtoMessage() {} +func (*ListpeersPeersLog) ProtoMessage() {} -func (x *ListfundsChannels) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[18] +func (x *ListpeersPeersLog) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4096,107 +4030,85 @@ func (x *ListfundsChannels) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListfundsChannels.ProtoReflect.Descriptor instead. -func (*ListfundsChannels) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{18} +// Deprecated: Use ListpeersPeersLog.ProtoReflect.Descriptor instead. +func (*ListpeersPeersLog) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{8} } -func (x *ListfundsChannels) GetPeerId() []byte { +func (x *ListpeersPeersLog) GetItemType() ListpeersPeersLog_ListpeersPeersLogType { if x != nil { - return x.PeerId + return x.ItemType } - return nil + return ListpeersPeersLog_SKIPPED } -func (x *ListfundsChannels) GetOurAmountMsat() *Amount { - if x != nil { - return x.OurAmountMsat +func (x *ListpeersPeersLog) GetNumSkipped() uint32 { + if x != nil && x.NumSkipped != nil { + return *x.NumSkipped } - return nil + return 0 } -func (x *ListfundsChannels) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat +func (x *ListpeersPeersLog) GetTime() string { + if x != nil && x.Time != nil { + return *x.Time } - return nil + return "" } -func (x *ListfundsChannels) GetFundingTxid() []byte { - if x != nil { - return x.FundingTxid +func (x *ListpeersPeersLog) GetSource() string { + if x != nil && x.Source != nil { + return *x.Source } - return nil + return "" } -func (x *ListfundsChannels) GetFundingOutput() uint32 { - if x != nil { - return x.FundingOutput +func (x *ListpeersPeersLog) GetLog() string { + if x != nil && x.Log != nil { + return *x.Log } - return 0 + return "" } -func (x *ListfundsChannels) GetConnected() bool { +func (x *ListpeersPeersLog) GetNodeId() []byte { if x != nil { - return x.Connected + return x.NodeId } - return false -} - -func (x *ListfundsChannels) GetState() ChannelState { - if x != nil { - return x.State - } - return ChannelState_Openingd + return nil } -func (x *ListfundsChannels) GetChannelId() []byte { +func (x *ListpeersPeersLog) GetData() []byte { if x != nil { - return x.ChannelId + return x.Data } return nil } -func (x *ListfundsChannels) GetShortChannelId() string { - if x != nil && x.ShortChannelId != nil { - return *x.ShortChannelId - } - return "" -} - -type SendpayRequest struct { +type ListfundsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Route []*SendpayRoute `protobuf:"bytes,1,rep,name=route,proto3" json:"route,omitempty"` - PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - Label *string `protobuf:"bytes,3,opt,name=label,proto3,oneof" json:"label,omitempty"` - AmountMsat *Amount `protobuf:"bytes,10,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - Bolt11 *string `protobuf:"bytes,5,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` - PaymentSecret []byte `protobuf:"bytes,6,opt,name=payment_secret,json=paymentSecret,proto3,oneof" json:"payment_secret,omitempty"` - Partid *uint32 `protobuf:"varint,7,opt,name=partid,proto3,oneof" json:"partid,omitempty"` - Localinvreqid []byte `protobuf:"bytes,11,opt,name=localinvreqid,proto3,oneof" json:"localinvreqid,omitempty"` - Groupid *uint64 `protobuf:"varint,9,opt,name=groupid,proto3,oneof" json:"groupid,omitempty"` + Spent *bool `protobuf:"varint,1,opt,name=spent,proto3,oneof" json:"spent,omitempty"` } -func (x *SendpayRequest) Reset() { - *x = SendpayRequest{} +func (x *ListfundsRequest) Reset() { + *x = ListfundsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[19] + mi := &file_node_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SendpayRequest) String() string { +func (x *ListfundsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SendpayRequest) ProtoMessage() {} +func (*ListfundsRequest) ProtoMessage() {} -func (x *SendpayRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[19] +func (x *ListfundsRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4207,115 +4119,107 @@ func (x *SendpayRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SendpayRequest.ProtoReflect.Descriptor instead. -func (*SendpayRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{19} +// Deprecated: Use ListfundsRequest.ProtoReflect.Descriptor instead. +func (*ListfundsRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{9} } -func (x *SendpayRequest) GetRoute() []*SendpayRoute { - if x != nil { - return x.Route +func (x *ListfundsRequest) GetSpent() bool { + if x != nil && x.Spent != nil { + return *x.Spent } - return nil + return false } -func (x *SendpayRequest) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash - } - return nil -} +type ListfundsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *SendpayRequest) GetLabel() string { - if x != nil && x.Label != nil { - return *x.Label - } - return "" + Outputs []*ListfundsOutputs `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"` + Channels []*ListfundsChannels `protobuf:"bytes,2,rep,name=channels,proto3" json:"channels,omitempty"` } -func (x *SendpayRequest) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat +func (x *ListfundsResponse) Reset() { + *x = ListfundsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *SendpayRequest) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 - } - return "" +func (x *ListfundsResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *SendpayRequest) GetPaymentSecret() []byte { - if x != nil { - return x.PaymentSecret +func (*ListfundsResponse) ProtoMessage() {} + +func (x *ListfundsResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_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 nil + return mi.MessageOf(x) } -func (x *SendpayRequest) GetPartid() uint32 { - if x != nil && x.Partid != nil { - return *x.Partid - } - return 0 +// Deprecated: Use ListfundsResponse.ProtoReflect.Descriptor instead. +func (*ListfundsResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{10} } -func (x *SendpayRequest) GetLocalinvreqid() []byte { +func (x *ListfundsResponse) GetOutputs() []*ListfundsOutputs { if x != nil { - return x.Localinvreqid + return x.Outputs } return nil } -func (x *SendpayRequest) GetGroupid() uint64 { - if x != nil && x.Groupid != nil { - return *x.Groupid +func (x *ListfundsResponse) GetChannels() []*ListfundsChannels { + if x != nil { + return x.Channels } - return 0 + return nil } -type SendpayResponse struct { +type ListfundsOutputs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CreatedIndex *uint64 `protobuf:"varint,16,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` - UpdatedIndex *uint64 `protobuf:"varint,17,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Groupid *uint64 `protobuf:"varint,2,opt,name=groupid,proto3,oneof" json:"groupid,omitempty"` - PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - Status SendpayResponse_SendpayStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cln.SendpayResponse_SendpayStatus" json:"status,omitempty"` - AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - Destination []byte `protobuf:"bytes,6,opt,name=destination,proto3,oneof" json:"destination,omitempty"` - CreatedAt uint64 `protobuf:"varint,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - CompletedAt *uint64 `protobuf:"varint,15,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` - AmountSentMsat *Amount `protobuf:"bytes,8,opt,name=amount_sent_msat,json=amountSentMsat,proto3" json:"amount_sent_msat,omitempty"` - Label *string `protobuf:"bytes,9,opt,name=label,proto3,oneof" json:"label,omitempty"` - Partid *uint64 `protobuf:"varint,10,opt,name=partid,proto3,oneof" json:"partid,omitempty"` - Bolt11 *string `protobuf:"bytes,11,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` - Bolt12 *string `protobuf:"bytes,12,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` - PaymentPreimage []byte `protobuf:"bytes,13,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` - Message *string `protobuf:"bytes,14,opt,name=message,proto3,oneof" json:"message,omitempty"` + Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Output uint32 `protobuf:"varint,2,opt,name=output,proto3" json:"output,omitempty"` + AmountMsat *Amount `protobuf:"bytes,3,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` + Scriptpubkey []byte `protobuf:"bytes,4,opt,name=scriptpubkey,proto3" json:"scriptpubkey,omitempty"` + Address *string `protobuf:"bytes,5,opt,name=address,proto3,oneof" json:"address,omitempty"` + Redeemscript []byte `protobuf:"bytes,6,opt,name=redeemscript,proto3,oneof" json:"redeemscript,omitempty"` + Status ListfundsOutputs_ListfundsOutputsStatus `protobuf:"varint,7,opt,name=status,proto3,enum=cln.ListfundsOutputs_ListfundsOutputsStatus" json:"status,omitempty"` + Blockheight *uint32 `protobuf:"varint,8,opt,name=blockheight,proto3,oneof" json:"blockheight,omitempty"` + Reserved bool `protobuf:"varint,9,opt,name=reserved,proto3" json:"reserved,omitempty"` + ReservedToBlock *uint32 `protobuf:"varint,10,opt,name=reserved_to_block,json=reservedToBlock,proto3,oneof" json:"reserved_to_block,omitempty"` } -func (x *SendpayResponse) Reset() { - *x = SendpayResponse{} +func (x *ListfundsOutputs) Reset() { + *x = ListfundsOutputs{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[20] + mi := &file_node_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SendpayResponse) String() string { +func (x *ListfundsOutputs) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SendpayResponse) ProtoMessage() {} +func (*ListfundsOutputs) ProtoMessage() {} -func (x *SendpayResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[20] +func (x *ListfundsOutputs) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4326,158 +4230,114 @@ func (x *SendpayResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SendpayResponse.ProtoReflect.Descriptor instead. -func (*SendpayResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{20} -} - -func (x *SendpayResponse) GetCreatedIndex() uint64 { - if x != nil && x.CreatedIndex != nil { - return *x.CreatedIndex - } - return 0 -} - -func (x *SendpayResponse) GetUpdatedIndex() uint64 { - if x != nil && x.UpdatedIndex != nil { - return *x.UpdatedIndex - } - return 0 +// Deprecated: Use ListfundsOutputs.ProtoReflect.Descriptor instead. +func (*ListfundsOutputs) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{11} } -func (x *SendpayResponse) GetId() uint64 { +func (x *ListfundsOutputs) GetTxid() []byte { if x != nil { - return x.Id + return x.Txid } - return 0 + return nil } -func (x *SendpayResponse) GetGroupid() uint64 { - if x != nil && x.Groupid != nil { - return *x.Groupid +func (x *ListfundsOutputs) GetOutput() uint32 { + if x != nil { + return x.Output } return 0 } -func (x *SendpayResponse) GetPaymentHash() []byte { +func (x *ListfundsOutputs) GetAmountMsat() *Amount { if x != nil { - return x.PaymentHash + return x.AmountMsat } return nil } -func (x *SendpayResponse) GetStatus() SendpayResponse_SendpayStatus { +func (x *ListfundsOutputs) GetScriptpubkey() []byte { if x != nil { - return x.Status + return x.Scriptpubkey } - return SendpayResponse_PENDING + return nil } -func (x *SendpayResponse) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat +func (x *ListfundsOutputs) GetAddress() string { + if x != nil && x.Address != nil { + return *x.Address } - return nil + return "" } -func (x *SendpayResponse) GetDestination() []byte { +func (x *ListfundsOutputs) GetRedeemscript() []byte { if x != nil { - return x.Destination + return x.Redeemscript } return nil } -func (x *SendpayResponse) GetCreatedAt() uint64 { +func (x *ListfundsOutputs) GetStatus() ListfundsOutputs_ListfundsOutputsStatus { if x != nil { - return x.CreatedAt + return x.Status } - return 0 + return ListfundsOutputs_UNCONFIRMED } -func (x *SendpayResponse) GetCompletedAt() uint64 { - if x != nil && x.CompletedAt != nil { - return *x.CompletedAt +func (x *ListfundsOutputs) GetBlockheight() uint32 { + if x != nil && x.Blockheight != nil { + return *x.Blockheight } return 0 } -func (x *SendpayResponse) GetAmountSentMsat() *Amount { +func (x *ListfundsOutputs) GetReserved() bool { if x != nil { - return x.AmountSentMsat - } - return nil -} - -func (x *SendpayResponse) GetLabel() string { - if x != nil && x.Label != nil { - return *x.Label + return x.Reserved } - return "" + return false } -func (x *SendpayResponse) GetPartid() uint64 { - if x != nil && x.Partid != nil { - return *x.Partid +func (x *ListfundsOutputs) GetReservedToBlock() uint32 { + if x != nil && x.ReservedToBlock != nil { + return *x.ReservedToBlock } return 0 } -func (x *SendpayResponse) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 - } - return "" +type ListfundsChannels struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PeerId []byte `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"` + OurAmountMsat *Amount `protobuf:"bytes,2,opt,name=our_amount_msat,json=ourAmountMsat,proto3" json:"our_amount_msat,omitempty"` + AmountMsat *Amount `protobuf:"bytes,3,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` + FundingTxid []byte `protobuf:"bytes,4,opt,name=funding_txid,json=fundingTxid,proto3" json:"funding_txid,omitempty"` + FundingOutput uint32 `protobuf:"varint,5,opt,name=funding_output,json=fundingOutput,proto3" json:"funding_output,omitempty"` + Connected bool `protobuf:"varint,6,opt,name=connected,proto3" json:"connected,omitempty"` + State ChannelState `protobuf:"varint,7,opt,name=state,proto3,enum=cln.ChannelState" json:"state,omitempty"` + ShortChannelId *string `protobuf:"bytes,8,opt,name=short_channel_id,json=shortChannelId,proto3,oneof" json:"short_channel_id,omitempty"` + ChannelId []byte `protobuf:"bytes,9,opt,name=channel_id,json=channelId,proto3,oneof" json:"channel_id,omitempty"` } -func (x *SendpayResponse) GetBolt12() string { - if x != nil && x.Bolt12 != nil { - return *x.Bolt12 - } - return "" -} - -func (x *SendpayResponse) GetPaymentPreimage() []byte { - if x != nil { - return x.PaymentPreimage - } - return nil -} - -func (x *SendpayResponse) GetMessage() string { - if x != nil && x.Message != nil { - return *x.Message - } - return "" -} - -type SendpayRoute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` - Id []byte `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` - Delay uint32 `protobuf:"varint,3,opt,name=delay,proto3" json:"delay,omitempty"` - Channel string `protobuf:"bytes,4,opt,name=channel,proto3" json:"channel,omitempty"` -} - -func (x *SendpayRoute) Reset() { - *x = SendpayRoute{} +func (x *ListfundsChannels) Reset() { + *x = ListfundsChannels{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[21] + mi := &file_node_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SendpayRoute) String() string { +func (x *ListfundsChannels) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SendpayRoute) ProtoMessage() {} +func (*ListfundsChannels) ProtoMessage() {} -func (x *SendpayRoute) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[21] +func (x *ListfundsChannels) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4488,127 +4348,109 @@ func (x *SendpayRoute) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SendpayRoute.ProtoReflect.Descriptor instead. -func (*SendpayRoute) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{21} +// Deprecated: Use ListfundsChannels.ProtoReflect.Descriptor instead. +func (*ListfundsChannels) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{12} } -func (x *SendpayRoute) GetAmountMsat() *Amount { +func (x *ListfundsChannels) GetPeerId() []byte { if x != nil { - return x.AmountMsat + return x.PeerId } return nil } -func (x *SendpayRoute) GetId() []byte { +func (x *ListfundsChannels) GetOurAmountMsat() *Amount { if x != nil { - return x.Id + return x.OurAmountMsat } return nil } -func (x *SendpayRoute) GetDelay() uint32 { +func (x *ListfundsChannels) GetAmountMsat() *Amount { if x != nil { - return x.Delay + return x.AmountMsat } - return 0 + return nil } -func (x *SendpayRoute) GetChannel() string { +func (x *ListfundsChannels) GetFundingTxid() []byte { if x != nil { - return x.Channel + return x.FundingTxid } - return "" -} - -type ListchannelsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ShortChannelId *string `protobuf:"bytes,1,opt,name=short_channel_id,json=shortChannelId,proto3,oneof" json:"short_channel_id,omitempty"` - Source []byte `protobuf:"bytes,2,opt,name=source,proto3,oneof" json:"source,omitempty"` - Destination []byte `protobuf:"bytes,3,opt,name=destination,proto3,oneof" json:"destination,omitempty"` + return nil } -func (x *ListchannelsRequest) Reset() { - *x = ListchannelsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ListfundsChannels) GetFundingOutput() uint32 { + if x != nil { + return x.FundingOutput } + return 0 } -func (x *ListchannelsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListchannelsRequest) ProtoMessage() {} - -func (x *ListchannelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ListfundsChannels) GetConnected() bool { + if x != nil { + return x.Connected } - return mi.MessageOf(x) + return false } -// Deprecated: Use ListchannelsRequest.ProtoReflect.Descriptor instead. -func (*ListchannelsRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{22} +func (x *ListfundsChannels) GetState() ChannelState { + if x != nil { + return x.State + } + return ChannelState_Openingd } -func (x *ListchannelsRequest) GetShortChannelId() string { +func (x *ListfundsChannels) GetShortChannelId() string { if x != nil && x.ShortChannelId != nil { return *x.ShortChannelId } return "" } -func (x *ListchannelsRequest) GetSource() []byte { - if x != nil { - return x.Source - } - return nil -} - -func (x *ListchannelsRequest) GetDestination() []byte { +func (x *ListfundsChannels) GetChannelId() []byte { if x != nil { - return x.Destination + return x.ChannelId } return nil } -type ListchannelsResponse struct { +type SendpayRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Channels []*ListchannelsChannels `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` + Route []*SendpayRoute `protobuf:"bytes,1,rep,name=route,proto3" json:"route,omitempty"` + PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Label *string `protobuf:"bytes,3,opt,name=label,proto3,oneof" json:"label,omitempty"` + Bolt11 *string `protobuf:"bytes,5,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + PaymentSecret []byte `protobuf:"bytes,6,opt,name=payment_secret,json=paymentSecret,proto3,oneof" json:"payment_secret,omitempty"` + Partid *uint64 `protobuf:"varint,7,opt,name=partid,proto3,oneof" json:"partid,omitempty"` + Groupid *uint64 `protobuf:"varint,9,opt,name=groupid,proto3,oneof" json:"groupid,omitempty"` + AmountMsat *Amount `protobuf:"bytes,10,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Localinvreqid []byte `protobuf:"bytes,11,opt,name=localinvreqid,proto3,oneof" json:"localinvreqid,omitempty"` + PaymentMetadata []byte `protobuf:"bytes,12,opt,name=payment_metadata,json=paymentMetadata,proto3,oneof" json:"payment_metadata,omitempty"` + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` } -func (x *ListchannelsResponse) Reset() { - *x = ListchannelsResponse{} +func (x *SendpayRequest) Reset() { + *x = SendpayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[23] + mi := &file_node_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListchannelsResponse) String() string { +func (x *SendpayRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListchannelsResponse) ProtoMessage() {} +func (*SendpayRequest) ProtoMessage() {} -func (x *ListchannelsResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[23] +func (x *SendpayRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4619,255 +4461,291 @@ func (x *ListchannelsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListchannelsResponse.ProtoReflect.Descriptor instead. -func (*ListchannelsResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{23} +// Deprecated: Use SendpayRequest.ProtoReflect.Descriptor instead. +func (*SendpayRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{13} } -func (x *ListchannelsResponse) GetChannels() []*ListchannelsChannels { +func (x *SendpayRequest) GetRoute() []*SendpayRoute { if x != nil { - return x.Channels + return x.Route } return nil } -type ListchannelsChannels struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Source []byte `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` - Destination []byte `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"` - ShortChannelId string `protobuf:"bytes,3,opt,name=short_channel_id,json=shortChannelId,proto3" json:"short_channel_id,omitempty"` - Direction uint32 `protobuf:"varint,16,opt,name=direction,proto3" json:"direction,omitempty"` - Public bool `protobuf:"varint,4,opt,name=public,proto3" json:"public,omitempty"` - AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` - MessageFlags uint32 `protobuf:"varint,6,opt,name=message_flags,json=messageFlags,proto3" json:"message_flags,omitempty"` - ChannelFlags uint32 `protobuf:"varint,7,opt,name=channel_flags,json=channelFlags,proto3" json:"channel_flags,omitempty"` - Active bool `protobuf:"varint,8,opt,name=active,proto3" json:"active,omitempty"` - LastUpdate uint32 `protobuf:"varint,9,opt,name=last_update,json=lastUpdate,proto3" json:"last_update,omitempty"` - BaseFeeMillisatoshi uint32 `protobuf:"varint,10,opt,name=base_fee_millisatoshi,json=baseFeeMillisatoshi,proto3" json:"base_fee_millisatoshi,omitempty"` - FeePerMillionth uint32 `protobuf:"varint,11,opt,name=fee_per_millionth,json=feePerMillionth,proto3" json:"fee_per_millionth,omitempty"` - Delay uint32 `protobuf:"varint,12,opt,name=delay,proto3" json:"delay,omitempty"` - HtlcMinimumMsat *Amount `protobuf:"bytes,13,opt,name=htlc_minimum_msat,json=htlcMinimumMsat,proto3" json:"htlc_minimum_msat,omitempty"` - HtlcMaximumMsat *Amount `protobuf:"bytes,14,opt,name=htlc_maximum_msat,json=htlcMaximumMsat,proto3,oneof" json:"htlc_maximum_msat,omitempty"` - Features []byte `protobuf:"bytes,15,opt,name=features,proto3" json:"features,omitempty"` -} - -func (x *ListchannelsChannels) Reset() { - *x = ListchannelsChannels{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *SendpayRequest) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash } + return nil } -func (x *ListchannelsChannels) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListchannelsChannels) ProtoMessage() {} - -func (x *ListchannelsChannels) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *SendpayRequest) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label } - return mi.MessageOf(x) -} - -// Deprecated: Use ListchannelsChannels.ProtoReflect.Descriptor instead. -func (*ListchannelsChannels) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{24} + return "" } -func (x *ListchannelsChannels) GetSource() []byte { - if x != nil { - return x.Source +func (x *SendpayRequest) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 } - return nil + return "" } -func (x *ListchannelsChannels) GetDestination() []byte { +func (x *SendpayRequest) GetPaymentSecret() []byte { if x != nil { - return x.Destination + return x.PaymentSecret } return nil } -func (x *ListchannelsChannels) GetShortChannelId() string { - if x != nil { - return x.ShortChannelId +func (x *SendpayRequest) GetPartid() uint64 { + if x != nil && x.Partid != nil { + return *x.Partid } - return "" + return 0 } -func (x *ListchannelsChannels) GetDirection() uint32 { - if x != nil { - return x.Direction +func (x *SendpayRequest) GetGroupid() uint64 { + if x != nil && x.Groupid != nil { + return *x.Groupid } return 0 } -func (x *ListchannelsChannels) GetPublic() bool { +func (x *SendpayRequest) GetAmountMsat() *Amount { if x != nil { - return x.Public + return x.AmountMsat } - return false + return nil } -func (x *ListchannelsChannels) GetAmountMsat() *Amount { +func (x *SendpayRequest) GetLocalinvreqid() []byte { if x != nil { - return x.AmountMsat + return x.Localinvreqid } return nil } -func (x *ListchannelsChannels) GetMessageFlags() uint32 { +func (x *SendpayRequest) GetPaymentMetadata() []byte { if x != nil { - return x.MessageFlags + return x.PaymentMetadata } - return 0 + return nil } -func (x *ListchannelsChannels) GetChannelFlags() uint32 { - if x != nil { - return x.ChannelFlags +func (x *SendpayRequest) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description } - return 0 + return "" } -func (x *ListchannelsChannels) GetActive() bool { - if x != nil { - return x.Active +type SendpayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Groupid *uint64 `protobuf:"varint,2,opt,name=groupid,proto3,oneof" json:"groupid,omitempty"` + PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Status SendpayResponse_SendpayStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cln.SendpayResponse_SendpayStatus" json:"status,omitempty"` + AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Destination []byte `protobuf:"bytes,6,opt,name=destination,proto3,oneof" json:"destination,omitempty"` + CreatedAt uint64 `protobuf:"varint,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + AmountSentMsat *Amount `protobuf:"bytes,8,opt,name=amount_sent_msat,json=amountSentMsat,proto3" json:"amount_sent_msat,omitempty"` + Label *string `protobuf:"bytes,9,opt,name=label,proto3,oneof" json:"label,omitempty"` + Partid *uint64 `protobuf:"varint,10,opt,name=partid,proto3,oneof" json:"partid,omitempty"` + Bolt11 *string `protobuf:"bytes,11,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + Bolt12 *string `protobuf:"bytes,12,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` + PaymentPreimage []byte `protobuf:"bytes,13,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` + Message *string `protobuf:"bytes,14,opt,name=message,proto3,oneof" json:"message,omitempty"` + CompletedAt *uint64 `protobuf:"varint,15,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` + CreatedIndex *uint64 `protobuf:"varint,16,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` + UpdatedIndex *uint64 `protobuf:"varint,17,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` +} + +func (x *SendpayResponse) Reset() { + *x = SendpayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return false } -func (x *ListchannelsChannels) GetLastUpdate() uint32 { +func (x *SendpayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendpayResponse) ProtoMessage() {} + +func (x *SendpayResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[14] + 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 SendpayResponse.ProtoReflect.Descriptor instead. +func (*SendpayResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{14} +} + +func (x *SendpayResponse) GetId() uint64 { if x != nil { - return x.LastUpdate + return x.Id } return 0 } -func (x *ListchannelsChannels) GetBaseFeeMillisatoshi() uint32 { - if x != nil { - return x.BaseFeeMillisatoshi +func (x *SendpayResponse) GetGroupid() uint64 { + if x != nil && x.Groupid != nil { + return *x.Groupid } return 0 } -func (x *ListchannelsChannels) GetFeePerMillionth() uint32 { +func (x *SendpayResponse) GetPaymentHash() []byte { if x != nil { - return x.FeePerMillionth + return x.PaymentHash } - return 0 + return nil } -func (x *ListchannelsChannels) GetDelay() uint32 { +func (x *SendpayResponse) GetStatus() SendpayResponse_SendpayStatus { if x != nil { - return x.Delay + return x.Status } - return 0 + return SendpayResponse_PENDING } -func (x *ListchannelsChannels) GetHtlcMinimumMsat() *Amount { +func (x *SendpayResponse) GetAmountMsat() *Amount { if x != nil { - return x.HtlcMinimumMsat + return x.AmountMsat } return nil } -func (x *ListchannelsChannels) GetHtlcMaximumMsat() *Amount { +func (x *SendpayResponse) GetDestination() []byte { if x != nil { - return x.HtlcMaximumMsat + return x.Destination } return nil } -func (x *ListchannelsChannels) GetFeatures() []byte { +func (x *SendpayResponse) GetCreatedAt() uint64 { if x != nil { - return x.Features + return x.CreatedAt + } + return 0 +} + +func (x *SendpayResponse) GetAmountSentMsat() *Amount { + if x != nil { + return x.AmountSentMsat } return nil } -type AddgossipRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *SendpayResponse) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label + } + return "" +} - Message []byte `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` +func (x *SendpayResponse) GetPartid() uint64 { + if x != nil && x.Partid != nil { + return *x.Partid + } + return 0 } -func (x *AddgossipRequest) Reset() { - *x = AddgossipRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *SendpayResponse) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 + } + return "" +} + +func (x *SendpayResponse) GetBolt12() string { + if x != nil && x.Bolt12 != nil { + return *x.Bolt12 } + return "" } -func (x *AddgossipRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *SendpayResponse) GetPaymentPreimage() []byte { + if x != nil { + return x.PaymentPreimage + } + return nil } -func (*AddgossipRequest) ProtoMessage() {} +func (x *SendpayResponse) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message + } + return "" +} -func (x *AddgossipRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *SendpayResponse) GetCompletedAt() uint64 { + if x != nil && x.CompletedAt != nil { + return *x.CompletedAt } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use AddgossipRequest.ProtoReflect.Descriptor instead. -func (*AddgossipRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{25} +func (x *SendpayResponse) GetCreatedIndex() uint64 { + if x != nil && x.CreatedIndex != nil { + return *x.CreatedIndex + } + return 0 } -func (x *AddgossipRequest) GetMessage() []byte { - if x != nil { - return x.Message +func (x *SendpayResponse) GetUpdatedIndex() uint64 { + if x != nil && x.UpdatedIndex != nil { + return *x.UpdatedIndex } - return nil + return 0 } -type AddgossipResponse struct { +type SendpayRoute struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Delay uint32 `protobuf:"varint,3,opt,name=delay,proto3" json:"delay,omitempty"` + Channel string `protobuf:"bytes,4,opt,name=channel,proto3" json:"channel,omitempty"` + AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` } -func (x *AddgossipResponse) Reset() { - *x = AddgossipResponse{} +func (x *SendpayRoute) Reset() { + *x = SendpayRoute{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[26] + mi := &file_node_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AddgossipResponse) String() string { +func (x *SendpayRoute) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AddgossipResponse) ProtoMessage() {} +func (*SendpayRoute) ProtoMessage() {} -func (x *AddgossipResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[26] +func (x *SendpayRoute) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4878,37 +4756,66 @@ func (x *AddgossipResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AddgossipResponse.ProtoReflect.Descriptor instead. -func (*AddgossipResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{26} +// Deprecated: Use SendpayRoute.ProtoReflect.Descriptor instead. +func (*SendpayRoute) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{15} } -type AutocleaninvoiceRequest struct { +func (x *SendpayRoute) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *SendpayRoute) GetDelay() uint32 { + if x != nil { + return x.Delay + } + return 0 +} + +func (x *SendpayRoute) GetChannel() string { + if x != nil { + return x.Channel + } + return "" +} + +func (x *SendpayRoute) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil +} + +type ListchannelsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ExpiredBy *uint64 `protobuf:"varint,1,opt,name=expired_by,json=expiredBy,proto3,oneof" json:"expired_by,omitempty"` - CycleSeconds *uint64 `protobuf:"varint,2,opt,name=cycle_seconds,json=cycleSeconds,proto3,oneof" json:"cycle_seconds,omitempty"` + ShortChannelId *string `protobuf:"bytes,1,opt,name=short_channel_id,json=shortChannelId,proto3,oneof" json:"short_channel_id,omitempty"` + Source []byte `protobuf:"bytes,2,opt,name=source,proto3,oneof" json:"source,omitempty"` + Destination []byte `protobuf:"bytes,3,opt,name=destination,proto3,oneof" json:"destination,omitempty"` } -func (x *AutocleaninvoiceRequest) Reset() { - *x = AutocleaninvoiceRequest{} +func (x *ListchannelsRequest) Reset() { + *x = ListchannelsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[27] + mi := &file_node_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AutocleaninvoiceRequest) String() string { +func (x *ListchannelsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AutocleaninvoiceRequest) ProtoMessage() {} +func (*ListchannelsRequest) ProtoMessage() {} -func (x *AutocleaninvoiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[27] +func (x *ListchannelsRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4919,52 +4826,57 @@ func (x *AutocleaninvoiceRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AutocleaninvoiceRequest.ProtoReflect.Descriptor instead. -func (*AutocleaninvoiceRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{27} +// Deprecated: Use ListchannelsRequest.ProtoReflect.Descriptor instead. +func (*ListchannelsRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{16} } -func (x *AutocleaninvoiceRequest) GetExpiredBy() uint64 { - if x != nil && x.ExpiredBy != nil { - return *x.ExpiredBy +func (x *ListchannelsRequest) GetShortChannelId() string { + if x != nil && x.ShortChannelId != nil { + return *x.ShortChannelId } - return 0 + return "" } -func (x *AutocleaninvoiceRequest) GetCycleSeconds() uint64 { - if x != nil && x.CycleSeconds != nil { - return *x.CycleSeconds +func (x *ListchannelsRequest) GetSource() []byte { + if x != nil { + return x.Source } - return 0 + return nil } -type AutocleaninvoiceResponse struct { +func (x *ListchannelsRequest) GetDestination() []byte { + if x != nil { + return x.Destination + } + return nil +} + +type ListchannelsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` - ExpiredBy *uint64 `protobuf:"varint,2,opt,name=expired_by,json=expiredBy,proto3,oneof" json:"expired_by,omitempty"` - CycleSeconds *uint64 `protobuf:"varint,3,opt,name=cycle_seconds,json=cycleSeconds,proto3,oneof" json:"cycle_seconds,omitempty"` + Channels []*ListchannelsChannels `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` } -func (x *AutocleaninvoiceResponse) Reset() { - *x = AutocleaninvoiceResponse{} +func (x *ListchannelsResponse) Reset() { + *x = ListchannelsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[28] + mi := &file_node_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *AutocleaninvoiceResponse) String() string { +func (x *ListchannelsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*AutocleaninvoiceResponse) ProtoMessage() {} +func (*ListchannelsResponse) ProtoMessage() {} -func (x *AutocleaninvoiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[28] +func (x *ListchannelsResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4975,59 +4887,58 @@ func (x *AutocleaninvoiceResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use AutocleaninvoiceResponse.ProtoReflect.Descriptor instead. -func (*AutocleaninvoiceResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{28} +// Deprecated: Use ListchannelsResponse.ProtoReflect.Descriptor instead. +func (*ListchannelsResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{17} } -func (x *AutocleaninvoiceResponse) GetEnabled() bool { +func (x *ListchannelsResponse) GetChannels() []*ListchannelsChannels { if x != nil { - return x.Enabled - } - return false -} - -func (x *AutocleaninvoiceResponse) GetExpiredBy() uint64 { - if x != nil && x.ExpiredBy != nil { - return *x.ExpiredBy - } - return 0 -} - -func (x *AutocleaninvoiceResponse) GetCycleSeconds() uint64 { - if x != nil && x.CycleSeconds != nil { - return *x.CycleSeconds + return x.Channels } - return 0 + return nil } -type CheckmessageRequest struct { +type ListchannelsChannels struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` - Zbase string `protobuf:"bytes,2,opt,name=zbase,proto3" json:"zbase,omitempty"` - Pubkey []byte `protobuf:"bytes,3,opt,name=pubkey,proto3,oneof" json:"pubkey,omitempty"` + Source []byte `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` + Destination []byte `protobuf:"bytes,2,opt,name=destination,proto3" json:"destination,omitempty"` + ShortChannelId string `protobuf:"bytes,3,opt,name=short_channel_id,json=shortChannelId,proto3" json:"short_channel_id,omitempty"` + Public bool `protobuf:"varint,4,opt,name=public,proto3" json:"public,omitempty"` + AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` + MessageFlags uint32 `protobuf:"varint,6,opt,name=message_flags,json=messageFlags,proto3" json:"message_flags,omitempty"` + ChannelFlags uint32 `protobuf:"varint,7,opt,name=channel_flags,json=channelFlags,proto3" json:"channel_flags,omitempty"` + Active bool `protobuf:"varint,8,opt,name=active,proto3" json:"active,omitempty"` + LastUpdate uint32 `protobuf:"varint,9,opt,name=last_update,json=lastUpdate,proto3" json:"last_update,omitempty"` + BaseFeeMillisatoshi uint32 `protobuf:"varint,10,opt,name=base_fee_millisatoshi,json=baseFeeMillisatoshi,proto3" json:"base_fee_millisatoshi,omitempty"` + FeePerMillionth uint32 `protobuf:"varint,11,opt,name=fee_per_millionth,json=feePerMillionth,proto3" json:"fee_per_millionth,omitempty"` + Delay uint32 `protobuf:"varint,12,opt,name=delay,proto3" json:"delay,omitempty"` + HtlcMinimumMsat *Amount `protobuf:"bytes,13,opt,name=htlc_minimum_msat,json=htlcMinimumMsat,proto3" json:"htlc_minimum_msat,omitempty"` + HtlcMaximumMsat *Amount `protobuf:"bytes,14,opt,name=htlc_maximum_msat,json=htlcMaximumMsat,proto3,oneof" json:"htlc_maximum_msat,omitempty"` + Features []byte `protobuf:"bytes,15,opt,name=features,proto3" json:"features,omitempty"` + Direction uint32 `protobuf:"varint,16,opt,name=direction,proto3" json:"direction,omitempty"` } -func (x *CheckmessageRequest) Reset() { - *x = CheckmessageRequest{} +func (x *ListchannelsChannels) Reset() { + *x = ListchannelsChannels{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[29] + mi := &file_node_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CheckmessageRequest) String() string { +func (x *ListchannelsChannels) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CheckmessageRequest) ProtoMessage() {} +func (*ListchannelsChannels) ProtoMessage() {} -func (x *CheckmessageRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[29] +func (x *ListchannelsChannels) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5038,118 +4949,148 @@ func (x *CheckmessageRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CheckmessageRequest.ProtoReflect.Descriptor instead. -func (*CheckmessageRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{29} +// Deprecated: Use ListchannelsChannels.ProtoReflect.Descriptor instead. +func (*ListchannelsChannels) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{18} } -func (x *CheckmessageRequest) GetMessage() string { +func (x *ListchannelsChannels) GetSource() []byte { if x != nil { - return x.Message + return x.Source } - return "" + return nil } -func (x *CheckmessageRequest) GetZbase() string { +func (x *ListchannelsChannels) GetDestination() []byte { if x != nil { - return x.Zbase + return x.Destination + } + return nil +} + +func (x *ListchannelsChannels) GetShortChannelId() string { + if x != nil { + return x.ShortChannelId } return "" } -func (x *CheckmessageRequest) GetPubkey() []byte { +func (x *ListchannelsChannels) GetPublic() bool { if x != nil { - return x.Pubkey + return x.Public + } + return false +} + +func (x *ListchannelsChannels) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat } return nil } -type CheckmessageResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ListchannelsChannels) GetMessageFlags() uint32 { + if x != nil { + return x.MessageFlags + } + return 0 +} - Verified bool `protobuf:"varint,1,opt,name=verified,proto3" json:"verified,omitempty"` - Pubkey []byte `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"` +func (x *ListchannelsChannels) GetChannelFlags() uint32 { + if x != nil { + return x.ChannelFlags + } + return 0 } -func (x *CheckmessageResponse) Reset() { - *x = CheckmessageResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ListchannelsChannels) GetActive() bool { + if x != nil { + return x.Active } + return false } -func (x *CheckmessageResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ListchannelsChannels) GetLastUpdate() uint32 { + if x != nil { + return x.LastUpdate + } + return 0 } -func (*CheckmessageResponse) ProtoMessage() {} +func (x *ListchannelsChannels) GetBaseFeeMillisatoshi() uint32 { + if x != nil { + return x.BaseFeeMillisatoshi + } + return 0 +} -func (x *CheckmessageResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ListchannelsChannels) GetFeePerMillionth() uint32 { + if x != nil { + return x.FeePerMillionth } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use CheckmessageResponse.ProtoReflect.Descriptor instead. -func (*CheckmessageResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{30} +func (x *ListchannelsChannels) GetDelay() uint32 { + if x != nil { + return x.Delay + } + return 0 } -func (x *CheckmessageResponse) GetVerified() bool { +func (x *ListchannelsChannels) GetHtlcMinimumMsat() *Amount { if x != nil { - return x.Verified + return x.HtlcMinimumMsat } - return false + return nil } -func (x *CheckmessageResponse) GetPubkey() []byte { +func (x *ListchannelsChannels) GetHtlcMaximumMsat() *Amount { if x != nil { - return x.Pubkey + return x.HtlcMaximumMsat } return nil } -type CloseRequest struct { +func (x *ListchannelsChannels) GetFeatures() []byte { + if x != nil { + return x.Features + } + return nil +} + +func (x *ListchannelsChannels) GetDirection() uint32 { + if x != nil { + return x.Direction + } + return 0 +} + +type AddgossipRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Unilateraltimeout *uint32 `protobuf:"varint,2,opt,name=unilateraltimeout,proto3,oneof" json:"unilateraltimeout,omitempty"` - Destination *string `protobuf:"bytes,3,opt,name=destination,proto3,oneof" json:"destination,omitempty"` - FeeNegotiationStep *string `protobuf:"bytes,4,opt,name=fee_negotiation_step,json=feeNegotiationStep,proto3,oneof" json:"fee_negotiation_step,omitempty"` - WrongFunding *Outpoint `protobuf:"bytes,5,opt,name=wrong_funding,json=wrongFunding,proto3,oneof" json:"wrong_funding,omitempty"` - ForceLeaseClosed *bool `protobuf:"varint,6,opt,name=force_lease_closed,json=forceLeaseClosed,proto3,oneof" json:"force_lease_closed,omitempty"` - Feerange []*Feerate `protobuf:"bytes,7,rep,name=feerange,proto3" json:"feerange,omitempty"` + Message []byte `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` } -func (x *CloseRequest) Reset() { - *x = CloseRequest{} +func (x *AddgossipRequest) Reset() { + *x = AddgossipRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[31] + mi := &file_node_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CloseRequest) String() string { +func (x *AddgossipRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CloseRequest) ProtoMessage() {} +func (*AddgossipRequest) ProtoMessage() {} -func (x *CloseRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[31] +func (x *AddgossipRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5160,87 +5101,41 @@ func (x *CloseRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CloseRequest.ProtoReflect.Descriptor instead. -func (*CloseRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{31} -} - -func (x *CloseRequest) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *CloseRequest) GetUnilateraltimeout() uint32 { - if x != nil && x.Unilateraltimeout != nil { - return *x.Unilateraltimeout - } - return 0 -} - -func (x *CloseRequest) GetDestination() string { - if x != nil && x.Destination != nil { - return *x.Destination - } - return "" -} - -func (x *CloseRequest) GetFeeNegotiationStep() string { - if x != nil && x.FeeNegotiationStep != nil { - return *x.FeeNegotiationStep - } - return "" -} - -func (x *CloseRequest) GetWrongFunding() *Outpoint { - if x != nil { - return x.WrongFunding - } - return nil -} - -func (x *CloseRequest) GetForceLeaseClosed() bool { - if x != nil && x.ForceLeaseClosed != nil { - return *x.ForceLeaseClosed - } - return false +// Deprecated: Use AddgossipRequest.ProtoReflect.Descriptor instead. +func (*AddgossipRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{19} } -func (x *CloseRequest) GetFeerange() []*Feerate { +func (x *AddgossipRequest) GetMessage() []byte { if x != nil { - return x.Feerange + return x.Message } return nil } -type CloseResponse struct { +type AddgossipResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - ItemType CloseResponse_CloseType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.CloseResponse_CloseType" json:"item_type,omitempty"` - Tx []byte `protobuf:"bytes,2,opt,name=tx,proto3,oneof" json:"tx,omitempty"` - Txid []byte `protobuf:"bytes,3,opt,name=txid,proto3,oneof" json:"txid,omitempty"` } -func (x *CloseResponse) Reset() { - *x = CloseResponse{} +func (x *AddgossipResponse) Reset() { + *x = AddgossipResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[32] + mi := &file_node_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CloseResponse) String() string { +func (x *AddgossipResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CloseResponse) ProtoMessage() {} +func (*AddgossipResponse) ProtoMessage() {} -func (x *CloseResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[32] +func (x *AddgossipResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5251,59 +5146,39 @@ func (x *CloseResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CloseResponse.ProtoReflect.Descriptor instead. -func (*CloseResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{32} -} - -func (x *CloseResponse) GetItemType() CloseResponse_CloseType { - if x != nil { - return x.ItemType - } - return CloseResponse_MUTUAL -} - -func (x *CloseResponse) GetTx() []byte { - if x != nil { - return x.Tx - } - return nil -} - -func (x *CloseResponse) GetTxid() []byte { - if x != nil { - return x.Txid - } - return nil +// Deprecated: Use AddgossipResponse.ProtoReflect.Descriptor instead. +func (*AddgossipResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{20} } -type ConnectRequest struct { +type AddpsbtoutputRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Host *string `protobuf:"bytes,2,opt,name=host,proto3,oneof" json:"host,omitempty"` - Port *uint32 `protobuf:"varint,3,opt,name=port,proto3,oneof" json:"port,omitempty"` + Satoshi *Amount `protobuf:"bytes,1,opt,name=satoshi,proto3" json:"satoshi,omitempty"` + Locktime *uint32 `protobuf:"varint,2,opt,name=locktime,proto3,oneof" json:"locktime,omitempty"` + Initialpsbt *string `protobuf:"bytes,3,opt,name=initialpsbt,proto3,oneof" json:"initialpsbt,omitempty"` + Destination *string `protobuf:"bytes,4,opt,name=destination,proto3,oneof" json:"destination,omitempty"` } -func (x *ConnectRequest) Reset() { - *x = ConnectRequest{} +func (x *AddpsbtoutputRequest) Reset() { + *x = AddpsbtoutputRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[33] + mi := &file_node_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ConnectRequest) String() string { +func (x *AddpsbtoutputRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ConnectRequest) ProtoMessage() {} +func (*AddpsbtoutputRequest) ProtoMessage() {} -func (x *ConnectRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[33] +func (x *AddpsbtoutputRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5314,60 +5189,66 @@ func (x *ConnectRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConnectRequest.ProtoReflect.Descriptor instead. -func (*ConnectRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{33} +// Deprecated: Use AddpsbtoutputRequest.ProtoReflect.Descriptor instead. +func (*AddpsbtoutputRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{21} } -func (x *ConnectRequest) GetId() string { +func (x *AddpsbtoutputRequest) GetSatoshi() *Amount { if x != nil { - return x.Id + return x.Satoshi } - return "" + return nil } -func (x *ConnectRequest) GetHost() string { - if x != nil && x.Host != nil { - return *x.Host +func (x *AddpsbtoutputRequest) GetLocktime() uint32 { + if x != nil && x.Locktime != nil { + return *x.Locktime + } + return 0 +} + +func (x *AddpsbtoutputRequest) GetInitialpsbt() string { + if x != nil && x.Initialpsbt != nil { + return *x.Initialpsbt } return "" } -func (x *ConnectRequest) GetPort() uint32 { - if x != nil && x.Port != nil { - return *x.Port +func (x *AddpsbtoutputRequest) GetDestination() string { + if x != nil && x.Destination != nil { + return *x.Destination } - return 0 + return "" } -type ConnectResponse struct { +type AddpsbtoutputResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Features []byte `protobuf:"bytes,2,opt,name=features,proto3" json:"features,omitempty"` - Direction ConnectResponse_ConnectDirection `protobuf:"varint,3,opt,name=direction,proto3,enum=cln.ConnectResponse_ConnectDirection" json:"direction,omitempty"` - Address *ConnectAddress `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` + Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` + EstimatedAddedWeight uint32 `protobuf:"varint,2,opt,name=estimated_added_weight,json=estimatedAddedWeight,proto3" json:"estimated_added_weight,omitempty"` + Outnum uint32 `protobuf:"varint,3,opt,name=outnum,proto3" json:"outnum,omitempty"` } -func (x *ConnectResponse) Reset() { - *x = ConnectResponse{} +func (x *AddpsbtoutputResponse) Reset() { + *x = AddpsbtoutputResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[34] + mi := &file_node_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ConnectResponse) String() string { +func (x *AddpsbtoutputResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ConnectResponse) ProtoMessage() {} +func (*AddpsbtoutputResponse) ProtoMessage() {} -func (x *ConnectResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[34] +func (x *AddpsbtoutputResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5378,67 +5259,58 @@ func (x *ConnectResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConnectResponse.ProtoReflect.Descriptor instead. -func (*ConnectResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{34} -} - -func (x *ConnectResponse) GetId() []byte { - if x != nil { - return x.Id - } - return nil +// Deprecated: Use AddpsbtoutputResponse.ProtoReflect.Descriptor instead. +func (*AddpsbtoutputResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{22} } -func (x *ConnectResponse) GetFeatures() []byte { +func (x *AddpsbtoutputResponse) GetPsbt() string { if x != nil { - return x.Features + return x.Psbt } - return nil + return "" } -func (x *ConnectResponse) GetDirection() ConnectResponse_ConnectDirection { +func (x *AddpsbtoutputResponse) GetEstimatedAddedWeight() uint32 { if x != nil { - return x.Direction + return x.EstimatedAddedWeight } - return ConnectResponse_IN + return 0 } -func (x *ConnectResponse) GetAddress() *ConnectAddress { +func (x *AddpsbtoutputResponse) GetOutnum() uint32 { if x != nil { - return x.Address + return x.Outnum } - return nil + return 0 } -type ConnectAddress struct { +type AutocleaninvoiceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ItemType ConnectAddress_ConnectAddressType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.ConnectAddress_ConnectAddressType" json:"item_type,omitempty"` - Socket *string `protobuf:"bytes,2,opt,name=socket,proto3,oneof" json:"socket,omitempty"` - Address *string `protobuf:"bytes,3,opt,name=address,proto3,oneof" json:"address,omitempty"` - Port *uint32 `protobuf:"varint,4,opt,name=port,proto3,oneof" json:"port,omitempty"` + ExpiredBy *uint64 `protobuf:"varint,1,opt,name=expired_by,json=expiredBy,proto3,oneof" json:"expired_by,omitempty"` + CycleSeconds *uint64 `protobuf:"varint,2,opt,name=cycle_seconds,json=cycleSeconds,proto3,oneof" json:"cycle_seconds,omitempty"` } -func (x *ConnectAddress) Reset() { - *x = ConnectAddress{} +func (x *AutocleaninvoiceRequest) Reset() { + *x = AutocleaninvoiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[35] + mi := &file_node_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ConnectAddress) String() string { +func (x *AutocleaninvoiceRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ConnectAddress) ProtoMessage() {} +func (*AutocleaninvoiceRequest) ProtoMessage() {} -func (x *ConnectAddress) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[35] +func (x *AutocleaninvoiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5449,66 +5321,52 @@ func (x *ConnectAddress) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ConnectAddress.ProtoReflect.Descriptor instead. -func (*ConnectAddress) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{35} -} - -func (x *ConnectAddress) GetItemType() ConnectAddress_ConnectAddressType { - if x != nil { - return x.ItemType - } - return ConnectAddress_LOCAL_SOCKET -} - -func (x *ConnectAddress) GetSocket() string { - if x != nil && x.Socket != nil { - return *x.Socket - } - return "" +// Deprecated: Use AutocleaninvoiceRequest.ProtoReflect.Descriptor instead. +func (*AutocleaninvoiceRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{23} } -func (x *ConnectAddress) GetAddress() string { - if x != nil && x.Address != nil { - return *x.Address +func (x *AutocleaninvoiceRequest) GetExpiredBy() uint64 { + if x != nil && x.ExpiredBy != nil { + return *x.ExpiredBy } - return "" + return 0 } -func (x *ConnectAddress) GetPort() uint32 { - if x != nil && x.Port != nil { - return *x.Port +func (x *AutocleaninvoiceRequest) GetCycleSeconds() uint64 { + if x != nil && x.CycleSeconds != nil { + return *x.CycleSeconds } return 0 } -type CreateinvoiceRequest struct { +type AutocleaninvoiceResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Invstring string `protobuf:"bytes,1,opt,name=invstring,proto3" json:"invstring,omitempty"` - Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` - Preimage []byte `protobuf:"bytes,3,opt,name=preimage,proto3" json:"preimage,omitempty"` + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + ExpiredBy *uint64 `protobuf:"varint,2,opt,name=expired_by,json=expiredBy,proto3,oneof" json:"expired_by,omitempty"` + CycleSeconds *uint64 `protobuf:"varint,3,opt,name=cycle_seconds,json=cycleSeconds,proto3,oneof" json:"cycle_seconds,omitempty"` } -func (x *CreateinvoiceRequest) Reset() { - *x = CreateinvoiceRequest{} +func (x *AutocleaninvoiceResponse) Reset() { + *x = AutocleaninvoiceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[36] + mi := &file_node_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateinvoiceRequest) String() string { +func (x *AutocleaninvoiceResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateinvoiceRequest) ProtoMessage() {} +func (*AutocleaninvoiceResponse) ProtoMessage() {} -func (x *CreateinvoiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[36] +func (x *AutocleaninvoiceResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5519,72 +5377,58 @@ func (x *CreateinvoiceRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateinvoiceRequest.ProtoReflect.Descriptor instead. -func (*CreateinvoiceRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{36} +// Deprecated: Use AutocleaninvoiceResponse.ProtoReflect.Descriptor instead. +func (*AutocleaninvoiceResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{24} } -func (x *CreateinvoiceRequest) GetInvstring() string { +func (x *AutocleaninvoiceResponse) GetEnabled() bool { if x != nil { - return x.Invstring + return x.Enabled } - return "" + return false } -func (x *CreateinvoiceRequest) GetLabel() string { - if x != nil { - return x.Label +func (x *AutocleaninvoiceResponse) GetExpiredBy() uint64 { + if x != nil && x.ExpiredBy != nil { + return *x.ExpiredBy } - return "" + return 0 } -func (x *CreateinvoiceRequest) GetPreimage() []byte { - if x != nil { - return x.Preimage +func (x *AutocleaninvoiceResponse) GetCycleSeconds() uint64 { + if x != nil && x.CycleSeconds != nil { + return *x.CycleSeconds } - return nil + return 0 } -type CreateinvoiceResponse struct { +type AutocleanonceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` - Bolt11 *string `protobuf:"bytes,2,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` - Bolt12 *string `protobuf:"bytes,3,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` - PaymentHash []byte `protobuf:"bytes,4,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - Status CreateinvoiceResponse_CreateinvoiceStatus `protobuf:"varint,6,opt,name=status,proto3,enum=cln.CreateinvoiceResponse_CreateinvoiceStatus" json:"status,omitempty"` - Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` - ExpiresAt uint64 `protobuf:"varint,8,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` - CreatedIndex *uint64 `protobuf:"varint,16,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` - PayIndex *uint64 `protobuf:"varint,9,opt,name=pay_index,json=payIndex,proto3,oneof" json:"pay_index,omitempty"` - AmountReceivedMsat *Amount `protobuf:"bytes,10,opt,name=amount_received_msat,json=amountReceivedMsat,proto3,oneof" json:"amount_received_msat,omitempty"` - PaidAt *uint64 `protobuf:"varint,11,opt,name=paid_at,json=paidAt,proto3,oneof" json:"paid_at,omitempty"` - PaidOutpoint *CreateinvoicePaidOutpoint `protobuf:"bytes,17,opt,name=paid_outpoint,json=paidOutpoint,proto3,oneof" json:"paid_outpoint,omitempty"` - PaymentPreimage []byte `protobuf:"bytes,12,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` - LocalOfferId []byte `protobuf:"bytes,13,opt,name=local_offer_id,json=localOfferId,proto3,oneof" json:"local_offer_id,omitempty"` - InvreqPayerNote *string `protobuf:"bytes,15,opt,name=invreq_payer_note,json=invreqPayerNote,proto3,oneof" json:"invreq_payer_note,omitempty"` + Subsystem AutocleanSubsystem `protobuf:"varint,1,opt,name=subsystem,proto3,enum=cln.AutocleanSubsystem" json:"subsystem,omitempty"` + Age uint64 `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"` } -func (x *CreateinvoiceResponse) Reset() { - *x = CreateinvoiceResponse{} +func (x *AutocleanonceRequest) Reset() { + *x = AutocleanonceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[37] + mi := &file_node_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateinvoiceResponse) String() string { +func (x *AutocleanonceRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateinvoiceResponse) ProtoMessage() {} +func (*AutocleanonceRequest) ProtoMessage() {} -func (x *CreateinvoiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[37] +func (x *AutocleanonceRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5595,149 +5439,185 @@ func (x *CreateinvoiceResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateinvoiceResponse.ProtoReflect.Descriptor instead. -func (*CreateinvoiceResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{37} +// Deprecated: Use AutocleanonceRequest.ProtoReflect.Descriptor instead. +func (*AutocleanonceRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{25} } -func (x *CreateinvoiceResponse) GetLabel() string { +func (x *AutocleanonceRequest) GetSubsystem() AutocleanSubsystem { if x != nil { - return x.Label + return x.Subsystem } - return "" + return AutocleanSubsystem_SUCCEEDEDFORWARDS } -func (x *CreateinvoiceResponse) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 +func (x *AutocleanonceRequest) GetAge() uint64 { + if x != nil { + return x.Age } - return "" + return 0 } -func (x *CreateinvoiceResponse) GetBolt12() string { - if x != nil && x.Bolt12 != nil { - return *x.Bolt12 +type AutocleanonceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Autoclean *AutocleanonceAutoclean `protobuf:"bytes,1,opt,name=autoclean,proto3" json:"autoclean,omitempty"` +} + +func (x *AutocleanonceResponse) Reset() { + *x = AutocleanonceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *CreateinvoiceResponse) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash +func (x *AutocleanonceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AutocleanonceResponse) ProtoMessage() {} + +func (x *AutocleanonceResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *CreateinvoiceResponse) GetAmountMsat() *Amount { +// Deprecated: Use AutocleanonceResponse.ProtoReflect.Descriptor instead. +func (*AutocleanonceResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{26} +} + +func (x *AutocleanonceResponse) GetAutoclean() *AutocleanonceAutoclean { if x != nil { - return x.AmountMsat + return x.Autoclean } return nil } -func (x *CreateinvoiceResponse) GetStatus() CreateinvoiceResponse_CreateinvoiceStatus { - if x != nil { - return x.Status - } - return CreateinvoiceResponse_PAID +type AutocleanonceAutoclean struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Succeededforwards *AutocleanonceAutocleanSucceededforwards `protobuf:"bytes,1,opt,name=succeededforwards,proto3,oneof" json:"succeededforwards,omitempty"` + Failedforwards *AutocleanonceAutocleanFailedforwards `protobuf:"bytes,2,opt,name=failedforwards,proto3,oneof" json:"failedforwards,omitempty"` + Succeededpays *AutocleanonceAutocleanSucceededpays `protobuf:"bytes,3,opt,name=succeededpays,proto3,oneof" json:"succeededpays,omitempty"` + Failedpays *AutocleanonceAutocleanFailedpays `protobuf:"bytes,4,opt,name=failedpays,proto3,oneof" json:"failedpays,omitempty"` + Paidinvoices *AutocleanonceAutocleanPaidinvoices `protobuf:"bytes,5,opt,name=paidinvoices,proto3,oneof" json:"paidinvoices,omitempty"` + Expiredinvoices *AutocleanonceAutocleanExpiredinvoices `protobuf:"bytes,6,opt,name=expiredinvoices,proto3,oneof" json:"expiredinvoices,omitempty"` } -func (x *CreateinvoiceResponse) GetDescription() string { - if x != nil { - return x.Description +func (x *AutocleanonceAutoclean) Reset() { + *x = AutocleanonceAutoclean{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *CreateinvoiceResponse) GetExpiresAt() uint64 { - if x != nil { - return x.ExpiresAt - } - return 0 +func (x *AutocleanonceAutoclean) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *CreateinvoiceResponse) GetCreatedIndex() uint64 { - if x != nil && x.CreatedIndex != nil { - return *x.CreatedIndex +func (*AutocleanonceAutoclean) ProtoMessage() {} + +func (x *AutocleanonceAutoclean) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *CreateinvoiceResponse) GetPayIndex() uint64 { - if x != nil && x.PayIndex != nil { - return *x.PayIndex - } - return 0 +// Deprecated: Use AutocleanonceAutoclean.ProtoReflect.Descriptor instead. +func (*AutocleanonceAutoclean) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{27} } -func (x *CreateinvoiceResponse) GetAmountReceivedMsat() *Amount { +func (x *AutocleanonceAutoclean) GetSucceededforwards() *AutocleanonceAutocleanSucceededforwards { if x != nil { - return x.AmountReceivedMsat + return x.Succeededforwards } return nil } -func (x *CreateinvoiceResponse) GetPaidAt() uint64 { - if x != nil && x.PaidAt != nil { - return *x.PaidAt +func (x *AutocleanonceAutoclean) GetFailedforwards() *AutocleanonceAutocleanFailedforwards { + if x != nil { + return x.Failedforwards } - return 0 + return nil } -func (x *CreateinvoiceResponse) GetPaidOutpoint() *CreateinvoicePaidOutpoint { +func (x *AutocleanonceAutoclean) GetSucceededpays() *AutocleanonceAutocleanSucceededpays { if x != nil { - return x.PaidOutpoint + return x.Succeededpays } return nil } -func (x *CreateinvoiceResponse) GetPaymentPreimage() []byte { +func (x *AutocleanonceAutoclean) GetFailedpays() *AutocleanonceAutocleanFailedpays { if x != nil { - return x.PaymentPreimage + return x.Failedpays } return nil } -func (x *CreateinvoiceResponse) GetLocalOfferId() []byte { +func (x *AutocleanonceAutoclean) GetPaidinvoices() *AutocleanonceAutocleanPaidinvoices { if x != nil { - return x.LocalOfferId + return x.Paidinvoices } return nil } -func (x *CreateinvoiceResponse) GetInvreqPayerNote() string { - if x != nil && x.InvreqPayerNote != nil { - return *x.InvreqPayerNote +func (x *AutocleanonceAutoclean) GetExpiredinvoices() *AutocleanonceAutocleanExpiredinvoices { + if x != nil { + return x.Expiredinvoices } - return "" + return nil } -type CreateinvoicePaidOutpoint struct { +type AutocleanonceAutocleanSucceededforwards struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3,oneof" json:"txid,omitempty"` - Outnum *uint32 `protobuf:"varint,2,opt,name=outnum,proto3,oneof" json:"outnum,omitempty"` + Cleaned uint64 `protobuf:"varint,1,opt,name=cleaned,proto3" json:"cleaned,omitempty"` + Uncleaned uint64 `protobuf:"varint,2,opt,name=uncleaned,proto3" json:"uncleaned,omitempty"` } -func (x *CreateinvoicePaidOutpoint) Reset() { - *x = CreateinvoicePaidOutpoint{} +func (x *AutocleanonceAutocleanSucceededforwards) Reset() { + *x = AutocleanonceAutocleanSucceededforwards{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[38] + mi := &file_node_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateinvoicePaidOutpoint) String() string { +func (x *AutocleanonceAutocleanSucceededforwards) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateinvoicePaidOutpoint) ProtoMessage() {} +func (*AutocleanonceAutocleanSucceededforwards) ProtoMessage() {} -func (x *CreateinvoicePaidOutpoint) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[38] +func (x *AutocleanonceAutocleanSucceededforwards) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5748,54 +5628,51 @@ func (x *CreateinvoicePaidOutpoint) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateinvoicePaidOutpoint.ProtoReflect.Descriptor instead. -func (*CreateinvoicePaidOutpoint) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{38} +// Deprecated: Use AutocleanonceAutocleanSucceededforwards.ProtoReflect.Descriptor instead. +func (*AutocleanonceAutocleanSucceededforwards) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{28} } -func (x *CreateinvoicePaidOutpoint) GetTxid() []byte { +func (x *AutocleanonceAutocleanSucceededforwards) GetCleaned() uint64 { if x != nil { - return x.Txid + return x.Cleaned } - return nil + return 0 } -func (x *CreateinvoicePaidOutpoint) GetOutnum() uint32 { - if x != nil && x.Outnum != nil { - return *x.Outnum +func (x *AutocleanonceAutocleanSucceededforwards) GetUncleaned() uint64 { + if x != nil { + return x.Uncleaned } return 0 } -type DatastoreRequest struct { +type AutocleanonceAutocleanFailedforwards struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Key []string `protobuf:"bytes,5,rep,name=key,proto3" json:"key,omitempty"` - String_ *string `protobuf:"bytes,6,opt,name=string,proto3,oneof" json:"string,omitempty"` - Hex []byte `protobuf:"bytes,2,opt,name=hex,proto3,oneof" json:"hex,omitempty"` - Mode *DatastoreRequest_DatastoreMode `protobuf:"varint,3,opt,name=mode,proto3,enum=cln.DatastoreRequest_DatastoreMode,oneof" json:"mode,omitempty"` - Generation *uint64 `protobuf:"varint,4,opt,name=generation,proto3,oneof" json:"generation,omitempty"` + Cleaned uint64 `protobuf:"varint,1,opt,name=cleaned,proto3" json:"cleaned,omitempty"` + Uncleaned uint64 `protobuf:"varint,2,opt,name=uncleaned,proto3" json:"uncleaned,omitempty"` } -func (x *DatastoreRequest) Reset() { - *x = DatastoreRequest{} +func (x *AutocleanonceAutocleanFailedforwards) Reset() { + *x = AutocleanonceAutocleanFailedforwards{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[39] + mi := &file_node_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DatastoreRequest) String() string { +func (x *AutocleanonceAutocleanFailedforwards) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DatastoreRequest) ProtoMessage() {} +func (*AutocleanonceAutocleanFailedforwards) ProtoMessage() {} -func (x *DatastoreRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[39] +func (x *AutocleanonceAutocleanFailedforwards) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5806,74 +5683,51 @@ func (x *DatastoreRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DatastoreRequest.ProtoReflect.Descriptor instead. -func (*DatastoreRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{39} +// Deprecated: Use AutocleanonceAutocleanFailedforwards.ProtoReflect.Descriptor instead. +func (*AutocleanonceAutocleanFailedforwards) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{29} } -func (x *DatastoreRequest) GetKey() []string { +func (x *AutocleanonceAutocleanFailedforwards) GetCleaned() uint64 { if x != nil { - return x.Key + return x.Cleaned } - return nil -} - -func (x *DatastoreRequest) GetString_() string { - if x != nil && x.String_ != nil { - return *x.String_ - } - return "" + return 0 } -func (x *DatastoreRequest) GetHex() []byte { +func (x *AutocleanonceAutocleanFailedforwards) GetUncleaned() uint64 { if x != nil { - return x.Hex - } - return nil -} - -func (x *DatastoreRequest) GetMode() DatastoreRequest_DatastoreMode { - if x != nil && x.Mode != nil { - return *x.Mode - } - return DatastoreRequest_MUST_CREATE -} - -func (x *DatastoreRequest) GetGeneration() uint64 { - if x != nil && x.Generation != nil { - return *x.Generation + return x.Uncleaned } return 0 } -type DatastoreResponse struct { +type AutocleanonceAutocleanSucceededpays struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Key []string `protobuf:"bytes,5,rep,name=key,proto3" json:"key,omitempty"` - Generation *uint64 `protobuf:"varint,2,opt,name=generation,proto3,oneof" json:"generation,omitempty"` - Hex []byte `protobuf:"bytes,3,opt,name=hex,proto3,oneof" json:"hex,omitempty"` - String_ *string `protobuf:"bytes,4,opt,name=string,proto3,oneof" json:"string,omitempty"` + Cleaned uint64 `protobuf:"varint,1,opt,name=cleaned,proto3" json:"cleaned,omitempty"` + Uncleaned uint64 `protobuf:"varint,2,opt,name=uncleaned,proto3" json:"uncleaned,omitempty"` } -func (x *DatastoreResponse) Reset() { - *x = DatastoreResponse{} +func (x *AutocleanonceAutocleanSucceededpays) Reset() { + *x = AutocleanonceAutocleanSucceededpays{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[40] + mi := &file_node_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DatastoreResponse) String() string { +func (x *AutocleanonceAutocleanSucceededpays) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DatastoreResponse) ProtoMessage() {} +func (*AutocleanonceAutocleanSucceededpays) ProtoMessage() {} -func (x *DatastoreResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[40] +func (x *AutocleanonceAutocleanSucceededpays) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5884,62 +5738,51 @@ func (x *DatastoreResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DatastoreResponse.ProtoReflect.Descriptor instead. -func (*DatastoreResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{40} +// Deprecated: Use AutocleanonceAutocleanSucceededpays.ProtoReflect.Descriptor instead. +func (*AutocleanonceAutocleanSucceededpays) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{30} } -func (x *DatastoreResponse) GetKey() []string { +func (x *AutocleanonceAutocleanSucceededpays) GetCleaned() uint64 { if x != nil { - return x.Key - } - return nil -} - -func (x *DatastoreResponse) GetGeneration() uint64 { - if x != nil && x.Generation != nil { - return *x.Generation + return x.Cleaned } return 0 } -func (x *DatastoreResponse) GetHex() []byte { +func (x *AutocleanonceAutocleanSucceededpays) GetUncleaned() uint64 { if x != nil { - return x.Hex + return x.Uncleaned } - return nil + return 0 } -func (x *DatastoreResponse) GetString_() string { - if x != nil && x.String_ != nil { - return *x.String_ - } - return "" -} - -type DatastoreusageRequest struct { +type AutocleanonceAutocleanFailedpays struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Cleaned uint64 `protobuf:"varint,1,opt,name=cleaned,proto3" json:"cleaned,omitempty"` + Uncleaned uint64 `protobuf:"varint,2,opt,name=uncleaned,proto3" json:"uncleaned,omitempty"` } -func (x *DatastoreusageRequest) Reset() { - *x = DatastoreusageRequest{} +func (x *AutocleanonceAutocleanFailedpays) Reset() { + *x = AutocleanonceAutocleanFailedpays{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[41] + mi := &file_node_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DatastoreusageRequest) String() string { +func (x *AutocleanonceAutocleanFailedpays) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DatastoreusageRequest) ProtoMessage() {} +func (*AutocleanonceAutocleanFailedpays) ProtoMessage() {} -func (x *DatastoreusageRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[41] +func (x *AutocleanonceAutocleanFailedpays) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5950,36 +5793,51 @@ func (x *DatastoreusageRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DatastoreusageRequest.ProtoReflect.Descriptor instead. -func (*DatastoreusageRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{41} +// Deprecated: Use AutocleanonceAutocleanFailedpays.ProtoReflect.Descriptor instead. +func (*AutocleanonceAutocleanFailedpays) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{31} } -type DatastoreusageResponse struct { +func (x *AutocleanonceAutocleanFailedpays) GetCleaned() uint64 { + if x != nil { + return x.Cleaned + } + return 0 +} + +func (x *AutocleanonceAutocleanFailedpays) GetUncleaned() uint64 { + if x != nil { + return x.Uncleaned + } + return 0 +} + +type AutocleanonceAutocleanPaidinvoices struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Datastoreusage *DatastoreusageDatastoreusage `protobuf:"bytes,1,opt,name=datastoreusage,proto3,oneof" json:"datastoreusage,omitempty"` + Cleaned uint64 `protobuf:"varint,1,opt,name=cleaned,proto3" json:"cleaned,omitempty"` + Uncleaned uint64 `protobuf:"varint,2,opt,name=uncleaned,proto3" json:"uncleaned,omitempty"` } -func (x *DatastoreusageResponse) Reset() { - *x = DatastoreusageResponse{} +func (x *AutocleanonceAutocleanPaidinvoices) Reset() { + *x = AutocleanonceAutocleanPaidinvoices{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[42] + mi := &file_node_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DatastoreusageResponse) String() string { +func (x *AutocleanonceAutocleanPaidinvoices) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DatastoreusageResponse) ProtoMessage() {} +func (*AutocleanonceAutocleanPaidinvoices) ProtoMessage() {} -func (x *DatastoreusageResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[42] +func (x *AutocleanonceAutocleanPaidinvoices) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5990,44 +5848,51 @@ func (x *DatastoreusageResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DatastoreusageResponse.ProtoReflect.Descriptor instead. -func (*DatastoreusageResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{42} +// Deprecated: Use AutocleanonceAutocleanPaidinvoices.ProtoReflect.Descriptor instead. +func (*AutocleanonceAutocleanPaidinvoices) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{32} } -func (x *DatastoreusageResponse) GetDatastoreusage() *DatastoreusageDatastoreusage { +func (x *AutocleanonceAutocleanPaidinvoices) GetCleaned() uint64 { if x != nil { - return x.Datastoreusage + return x.Cleaned } - return nil + return 0 } -type DatastoreusageDatastoreusage struct { +func (x *AutocleanonceAutocleanPaidinvoices) GetUncleaned() uint64 { + if x != nil { + return x.Uncleaned + } + return 0 +} + +type AutocleanonceAutocleanExpiredinvoices struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Key *string `protobuf:"bytes,1,opt,name=key,proto3,oneof" json:"key,omitempty"` - TotalBytes *uint64 `protobuf:"varint,2,opt,name=total_bytes,json=totalBytes,proto3,oneof" json:"total_bytes,omitempty"` + Cleaned uint64 `protobuf:"varint,1,opt,name=cleaned,proto3" json:"cleaned,omitempty"` + Uncleaned uint64 `protobuf:"varint,2,opt,name=uncleaned,proto3" json:"uncleaned,omitempty"` } -func (x *DatastoreusageDatastoreusage) Reset() { - *x = DatastoreusageDatastoreusage{} +func (x *AutocleanonceAutocleanExpiredinvoices) Reset() { + *x = AutocleanonceAutocleanExpiredinvoices{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[43] + mi := &file_node_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DatastoreusageDatastoreusage) String() string { +func (x *AutocleanonceAutocleanExpiredinvoices) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DatastoreusageDatastoreusage) ProtoMessage() {} +func (*AutocleanonceAutocleanExpiredinvoices) ProtoMessage() {} -func (x *DatastoreusageDatastoreusage) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[43] +func (x *AutocleanonceAutocleanExpiredinvoices) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6038,53 +5903,50 @@ func (x *DatastoreusageDatastoreusage) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DatastoreusageDatastoreusage.ProtoReflect.Descriptor instead. -func (*DatastoreusageDatastoreusage) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{43} +// Deprecated: Use AutocleanonceAutocleanExpiredinvoices.ProtoReflect.Descriptor instead. +func (*AutocleanonceAutocleanExpiredinvoices) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{33} } -func (x *DatastoreusageDatastoreusage) GetKey() string { - if x != nil && x.Key != nil { - return *x.Key +func (x *AutocleanonceAutocleanExpiredinvoices) GetCleaned() uint64 { + if x != nil { + return x.Cleaned } - return "" + return 0 } -func (x *DatastoreusageDatastoreusage) GetTotalBytes() uint64 { - if x != nil && x.TotalBytes != nil { - return *x.TotalBytes +func (x *AutocleanonceAutocleanExpiredinvoices) GetUncleaned() uint64 { + if x != nil { + return x.Uncleaned } return 0 } -type CreateonionRequest struct { +type AutocleanstatusRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Hops []*CreateonionHops `protobuf:"bytes,1,rep,name=hops,proto3" json:"hops,omitempty"` - Assocdata []byte `protobuf:"bytes,2,opt,name=assocdata,proto3" json:"assocdata,omitempty"` - SessionKey []byte `protobuf:"bytes,3,opt,name=session_key,json=sessionKey,proto3,oneof" json:"session_key,omitempty"` - OnionSize *uint32 `protobuf:"varint,4,opt,name=onion_size,json=onionSize,proto3,oneof" json:"onion_size,omitempty"` + Subsystem *AutocleanSubsystem `protobuf:"varint,1,opt,name=subsystem,proto3,enum=cln.AutocleanSubsystem,oneof" json:"subsystem,omitempty"` } -func (x *CreateonionRequest) Reset() { - *x = CreateonionRequest{} +func (x *AutocleanstatusRequest) Reset() { + *x = AutocleanstatusRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[44] + mi := &file_node_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateonionRequest) String() string { +func (x *AutocleanstatusRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateonionRequest) ProtoMessage() {} +func (*AutocleanstatusRequest) ProtoMessage() {} -func (x *CreateonionRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[44] +func (x *AutocleanstatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6095,65 +5957,43 @@ func (x *CreateonionRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateonionRequest.ProtoReflect.Descriptor instead. -func (*CreateonionRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{44} -} - -func (x *CreateonionRequest) GetHops() []*CreateonionHops { - if x != nil { - return x.Hops - } - return nil -} - -func (x *CreateonionRequest) GetAssocdata() []byte { - if x != nil { - return x.Assocdata - } - return nil -} - -func (x *CreateonionRequest) GetSessionKey() []byte { - if x != nil { - return x.SessionKey - } - return nil +// Deprecated: Use AutocleanstatusRequest.ProtoReflect.Descriptor instead. +func (*AutocleanstatusRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{34} } -func (x *CreateonionRequest) GetOnionSize() uint32 { - if x != nil && x.OnionSize != nil { - return *x.OnionSize +func (x *AutocleanstatusRequest) GetSubsystem() AutocleanSubsystem { + if x != nil && x.Subsystem != nil { + return *x.Subsystem } - return 0 + return AutocleanSubsystem_SUCCEEDEDFORWARDS } -type CreateonionResponse struct { +type AutocleanstatusResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Onion []byte `protobuf:"bytes,1,opt,name=onion,proto3" json:"onion,omitempty"` - SharedSecrets [][]byte `protobuf:"bytes,2,rep,name=shared_secrets,json=sharedSecrets,proto3" json:"shared_secrets,omitempty"` + Autoclean *AutocleanstatusAutoclean `protobuf:"bytes,1,opt,name=autoclean,proto3" json:"autoclean,omitempty"` } -func (x *CreateonionResponse) Reset() { - *x = CreateonionResponse{} +func (x *AutocleanstatusResponse) Reset() { + *x = AutocleanstatusResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[45] + mi := &file_node_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateonionResponse) String() string { +func (x *AutocleanstatusResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateonionResponse) ProtoMessage() {} +func (*AutocleanstatusResponse) ProtoMessage() {} -func (x *CreateonionResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[45] +func (x *AutocleanstatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6164,51 +6004,48 @@ func (x *CreateonionResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateonionResponse.ProtoReflect.Descriptor instead. -func (*CreateonionResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{45} -} - -func (x *CreateonionResponse) GetOnion() []byte { - if x != nil { - return x.Onion - } - return nil +// Deprecated: Use AutocleanstatusResponse.ProtoReflect.Descriptor instead. +func (*AutocleanstatusResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{35} } -func (x *CreateonionResponse) GetSharedSecrets() [][]byte { +func (x *AutocleanstatusResponse) GetAutoclean() *AutocleanstatusAutoclean { if x != nil { - return x.SharedSecrets + return x.Autoclean } return nil } -type CreateonionHops struct { +type AutocleanstatusAutoclean struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Pubkey []byte `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"` - Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + Succeededforwards *AutocleanstatusAutocleanSucceededforwards `protobuf:"bytes,1,opt,name=succeededforwards,proto3,oneof" json:"succeededforwards,omitempty"` + Failedforwards *AutocleanstatusAutocleanFailedforwards `protobuf:"bytes,2,opt,name=failedforwards,proto3,oneof" json:"failedforwards,omitempty"` + Succeededpays *AutocleanstatusAutocleanSucceededpays `protobuf:"bytes,3,opt,name=succeededpays,proto3,oneof" json:"succeededpays,omitempty"` + Failedpays *AutocleanstatusAutocleanFailedpays `protobuf:"bytes,4,opt,name=failedpays,proto3,oneof" json:"failedpays,omitempty"` + Paidinvoices *AutocleanstatusAutocleanPaidinvoices `protobuf:"bytes,5,opt,name=paidinvoices,proto3,oneof" json:"paidinvoices,omitempty"` + Expiredinvoices *AutocleanstatusAutocleanExpiredinvoices `protobuf:"bytes,6,opt,name=expiredinvoices,proto3,oneof" json:"expiredinvoices,omitempty"` } -func (x *CreateonionHops) Reset() { - *x = CreateonionHops{} +func (x *AutocleanstatusAutoclean) Reset() { + *x = AutocleanstatusAutoclean{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[46] + mi := &file_node_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CreateonionHops) String() string { +func (x *AutocleanstatusAutoclean) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CreateonionHops) ProtoMessage() {} +func (*AutocleanstatusAutoclean) ProtoMessage() {} -func (x *CreateonionHops) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[46] +func (x *AutocleanstatusAutoclean) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6219,51 +6056,80 @@ func (x *CreateonionHops) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use CreateonionHops.ProtoReflect.Descriptor instead. -func (*CreateonionHops) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{46} +// Deprecated: Use AutocleanstatusAutoclean.ProtoReflect.Descriptor instead. +func (*AutocleanstatusAutoclean) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{36} } -func (x *CreateonionHops) GetPubkey() []byte { +func (x *AutocleanstatusAutoclean) GetSucceededforwards() *AutocleanstatusAutocleanSucceededforwards { if x != nil { - return x.Pubkey + return x.Succeededforwards } return nil } -func (x *CreateonionHops) GetPayload() []byte { +func (x *AutocleanstatusAutoclean) GetFailedforwards() *AutocleanstatusAutocleanFailedforwards { if x != nil { - return x.Payload + return x.Failedforwards } return nil } -type DeldatastoreRequest struct { +func (x *AutocleanstatusAutoclean) GetSucceededpays() *AutocleanstatusAutocleanSucceededpays { + if x != nil { + return x.Succeededpays + } + return nil +} + +func (x *AutocleanstatusAutoclean) GetFailedpays() *AutocleanstatusAutocleanFailedpays { + if x != nil { + return x.Failedpays + } + return nil +} + +func (x *AutocleanstatusAutoclean) GetPaidinvoices() *AutocleanstatusAutocleanPaidinvoices { + if x != nil { + return x.Paidinvoices + } + return nil +} + +func (x *AutocleanstatusAutoclean) GetExpiredinvoices() *AutocleanstatusAutocleanExpiredinvoices { + if x != nil { + return x.Expiredinvoices + } + return nil +} + +type AutocleanstatusAutocleanSucceededforwards struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Key []string `protobuf:"bytes,3,rep,name=key,proto3" json:"key,omitempty"` - Generation *uint64 `protobuf:"varint,2,opt,name=generation,proto3,oneof" json:"generation,omitempty"` + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Cleaned uint64 `protobuf:"varint,2,opt,name=cleaned,proto3" json:"cleaned,omitempty"` + Age *uint64 `protobuf:"varint,3,opt,name=age,proto3,oneof" json:"age,omitempty"` } -func (x *DeldatastoreRequest) Reset() { - *x = DeldatastoreRequest{} +func (x *AutocleanstatusAutocleanSucceededforwards) Reset() { + *x = AutocleanstatusAutocleanSucceededforwards{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[47] + mi := &file_node_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DeldatastoreRequest) String() string { +func (x *AutocleanstatusAutocleanSucceededforwards) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeldatastoreRequest) ProtoMessage() {} +func (*AutocleanstatusAutocleanSucceededforwards) ProtoMessage() {} -func (x *DeldatastoreRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[47] +func (x *AutocleanstatusAutocleanSucceededforwards) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6274,53 +6140,59 @@ func (x *DeldatastoreRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeldatastoreRequest.ProtoReflect.Descriptor instead. -func (*DeldatastoreRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{47} +// Deprecated: Use AutocleanstatusAutocleanSucceededforwards.ProtoReflect.Descriptor instead. +func (*AutocleanstatusAutocleanSucceededforwards) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{37} } -func (x *DeldatastoreRequest) GetKey() []string { +func (x *AutocleanstatusAutocleanSucceededforwards) GetEnabled() bool { if x != nil { - return x.Key + return x.Enabled } - return nil + return false } -func (x *DeldatastoreRequest) GetGeneration() uint64 { - if x != nil && x.Generation != nil { - return *x.Generation +func (x *AutocleanstatusAutocleanSucceededforwards) GetCleaned() uint64 { + if x != nil { + return x.Cleaned } return 0 } -type DeldatastoreResponse struct { +func (x *AutocleanstatusAutocleanSucceededforwards) GetAge() uint64 { + if x != nil && x.Age != nil { + return *x.Age + } + return 0 +} + +type AutocleanstatusAutocleanFailedforwards struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Key []string `protobuf:"bytes,5,rep,name=key,proto3" json:"key,omitempty"` - Generation *uint64 `protobuf:"varint,2,opt,name=generation,proto3,oneof" json:"generation,omitempty"` - Hex []byte `protobuf:"bytes,3,opt,name=hex,proto3,oneof" json:"hex,omitempty"` - String_ *string `protobuf:"bytes,4,opt,name=string,proto3,oneof" json:"string,omitempty"` + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Cleaned uint64 `protobuf:"varint,2,opt,name=cleaned,proto3" json:"cleaned,omitempty"` + Age *uint64 `protobuf:"varint,3,opt,name=age,proto3,oneof" json:"age,omitempty"` } -func (x *DeldatastoreResponse) Reset() { - *x = DeldatastoreResponse{} +func (x *AutocleanstatusAutocleanFailedforwards) Reset() { + *x = AutocleanstatusAutocleanFailedforwards{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[48] + mi := &file_node_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DeldatastoreResponse) String() string { +func (x *AutocleanstatusAutocleanFailedforwards) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DeldatastoreResponse) ProtoMessage() {} +func (*AutocleanstatusAutocleanFailedforwards) ProtoMessage() {} -func (x *DeldatastoreResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[48] +func (x *AutocleanstatusAutocleanFailedforwards) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6331,64 +6203,59 @@ func (x *DeldatastoreResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DeldatastoreResponse.ProtoReflect.Descriptor instead. -func (*DeldatastoreResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{48} +// Deprecated: Use AutocleanstatusAutocleanFailedforwards.ProtoReflect.Descriptor instead. +func (*AutocleanstatusAutocleanFailedforwards) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{38} } -func (x *DeldatastoreResponse) GetKey() []string { +func (x *AutocleanstatusAutocleanFailedforwards) GetEnabled() bool { if x != nil { - return x.Key - } - return nil -} - -func (x *DeldatastoreResponse) GetGeneration() uint64 { - if x != nil && x.Generation != nil { - return *x.Generation + return x.Enabled } - return 0 + return false } -func (x *DeldatastoreResponse) GetHex() []byte { +func (x *AutocleanstatusAutocleanFailedforwards) GetCleaned() uint64 { if x != nil { - return x.Hex + return x.Cleaned } - return nil + return 0 } -func (x *DeldatastoreResponse) GetString_() string { - if x != nil && x.String_ != nil { - return *x.String_ +func (x *AutocleanstatusAutocleanFailedforwards) GetAge() uint64 { + if x != nil && x.Age != nil { + return *x.Age } - return "" + return 0 } -type DelexpiredinvoiceRequest struct { +type AutocleanstatusAutocleanSucceededpays struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Maxexpirytime *uint64 `protobuf:"varint,1,opt,name=maxexpirytime,proto3,oneof" json:"maxexpirytime,omitempty"` + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Cleaned uint64 `protobuf:"varint,2,opt,name=cleaned,proto3" json:"cleaned,omitempty"` + Age *uint64 `protobuf:"varint,3,opt,name=age,proto3,oneof" json:"age,omitempty"` } -func (x *DelexpiredinvoiceRequest) Reset() { - *x = DelexpiredinvoiceRequest{} +func (x *AutocleanstatusAutocleanSucceededpays) Reset() { + *x = AutocleanstatusAutocleanSucceededpays{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[49] + mi := &file_node_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DelexpiredinvoiceRequest) String() string { +func (x *AutocleanstatusAutocleanSucceededpays) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DelexpiredinvoiceRequest) ProtoMessage() {} +func (*AutocleanstatusAutocleanSucceededpays) ProtoMessage() {} -func (x *DelexpiredinvoiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[49] +func (x *AutocleanstatusAutocleanSucceededpays) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6399,41 +6266,59 @@ func (x *DelexpiredinvoiceRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DelexpiredinvoiceRequest.ProtoReflect.Descriptor instead. -func (*DelexpiredinvoiceRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{49} +// Deprecated: Use AutocleanstatusAutocleanSucceededpays.ProtoReflect.Descriptor instead. +func (*AutocleanstatusAutocleanSucceededpays) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{39} +} + +func (x *AutocleanstatusAutocleanSucceededpays) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *AutocleanstatusAutocleanSucceededpays) GetCleaned() uint64 { + if x != nil { + return x.Cleaned + } + return 0 } -func (x *DelexpiredinvoiceRequest) GetMaxexpirytime() uint64 { - if x != nil && x.Maxexpirytime != nil { - return *x.Maxexpirytime +func (x *AutocleanstatusAutocleanSucceededpays) GetAge() uint64 { + if x != nil && x.Age != nil { + return *x.Age } return 0 } -type DelexpiredinvoiceResponse struct { +type AutocleanstatusAutocleanFailedpays struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Cleaned uint64 `protobuf:"varint,2,opt,name=cleaned,proto3" json:"cleaned,omitempty"` + Age *uint64 `protobuf:"varint,3,opt,name=age,proto3,oneof" json:"age,omitempty"` } -func (x *DelexpiredinvoiceResponse) Reset() { - *x = DelexpiredinvoiceResponse{} +func (x *AutocleanstatusAutocleanFailedpays) Reset() { + *x = AutocleanstatusAutocleanFailedpays{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[50] + mi := &file_node_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DelexpiredinvoiceResponse) String() string { +func (x *AutocleanstatusAutocleanFailedpays) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DelexpiredinvoiceResponse) ProtoMessage() {} +func (*AutocleanstatusAutocleanFailedpays) ProtoMessage() {} -func (x *DelexpiredinvoiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[50] +func (x *AutocleanstatusAutocleanFailedpays) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6444,38 +6329,59 @@ func (x *DelexpiredinvoiceResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DelexpiredinvoiceResponse.ProtoReflect.Descriptor instead. -func (*DelexpiredinvoiceResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{50} +// Deprecated: Use AutocleanstatusAutocleanFailedpays.ProtoReflect.Descriptor instead. +func (*AutocleanstatusAutocleanFailedpays) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{40} } -type DelinvoiceRequest struct { +func (x *AutocleanstatusAutocleanFailedpays) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *AutocleanstatusAutocleanFailedpays) GetCleaned() uint64 { + if x != nil { + return x.Cleaned + } + return 0 +} + +func (x *AutocleanstatusAutocleanFailedpays) GetAge() uint64 { + if x != nil && x.Age != nil { + return *x.Age + } + return 0 +} + +type AutocleanstatusAutocleanPaidinvoices struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` - Status DelinvoiceRequest_DelinvoiceStatus `protobuf:"varint,2,opt,name=status,proto3,enum=cln.DelinvoiceRequest_DelinvoiceStatus" json:"status,omitempty"` - Desconly *bool `protobuf:"varint,3,opt,name=desconly,proto3,oneof" json:"desconly,omitempty"` + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Cleaned uint64 `protobuf:"varint,2,opt,name=cleaned,proto3" json:"cleaned,omitempty"` + Age *uint64 `protobuf:"varint,3,opt,name=age,proto3,oneof" json:"age,omitempty"` } -func (x *DelinvoiceRequest) Reset() { - *x = DelinvoiceRequest{} +func (x *AutocleanstatusAutocleanPaidinvoices) Reset() { + *x = AutocleanstatusAutocleanPaidinvoices{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[51] + mi := &file_node_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DelinvoiceRequest) String() string { +func (x *AutocleanstatusAutocleanPaidinvoices) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DelinvoiceRequest) ProtoMessage() {} +func (*AutocleanstatusAutocleanPaidinvoices) ProtoMessage() {} -func (x *DelinvoiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[51] +func (x *AutocleanstatusAutocleanPaidinvoices) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6486,68 +6392,59 @@ func (x *DelinvoiceRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DelinvoiceRequest.ProtoReflect.Descriptor instead. -func (*DelinvoiceRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{51} +// Deprecated: Use AutocleanstatusAutocleanPaidinvoices.ProtoReflect.Descriptor instead. +func (*AutocleanstatusAutocleanPaidinvoices) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{41} } -func (x *DelinvoiceRequest) GetLabel() string { +func (x *AutocleanstatusAutocleanPaidinvoices) GetEnabled() bool { if x != nil { - return x.Label + return x.Enabled } - return "" + return false } -func (x *DelinvoiceRequest) GetStatus() DelinvoiceRequest_DelinvoiceStatus { +func (x *AutocleanstatusAutocleanPaidinvoices) GetCleaned() uint64 { if x != nil { - return x.Status + return x.Cleaned } - return DelinvoiceRequest_PAID + return 0 } -func (x *DelinvoiceRequest) GetDesconly() bool { - if x != nil && x.Desconly != nil { - return *x.Desconly +func (x *AutocleanstatusAutocleanPaidinvoices) GetAge() uint64 { + if x != nil && x.Age != nil { + return *x.Age } - return false + return 0 } -type DelinvoiceResponse struct { +type AutocleanstatusAutocleanExpiredinvoices struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` - Bolt11 *string `protobuf:"bytes,2,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` - Bolt12 *string `protobuf:"bytes,3,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` - AmountMsat *Amount `protobuf:"bytes,4,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - Description *string `protobuf:"bytes,5,opt,name=description,proto3,oneof" json:"description,omitempty"` - PaymentHash []byte `protobuf:"bytes,6,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - CreatedIndex *uint64 `protobuf:"varint,12,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` - UpdatedIndex *uint64 `protobuf:"varint,13,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` - Status DelinvoiceResponse_DelinvoiceStatus `protobuf:"varint,7,opt,name=status,proto3,enum=cln.DelinvoiceResponse_DelinvoiceStatus" json:"status,omitempty"` - ExpiresAt uint64 `protobuf:"varint,8,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` - LocalOfferId []byte `protobuf:"bytes,9,opt,name=local_offer_id,json=localOfferId,proto3,oneof" json:"local_offer_id,omitempty"` - InvreqPayerNote *string `protobuf:"bytes,11,opt,name=invreq_payer_note,json=invreqPayerNote,proto3,oneof" json:"invreq_payer_note,omitempty"` + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + Cleaned uint64 `protobuf:"varint,2,opt,name=cleaned,proto3" json:"cleaned,omitempty"` + Age *uint64 `protobuf:"varint,3,opt,name=age,proto3,oneof" json:"age,omitempty"` } -func (x *DelinvoiceResponse) Reset() { - *x = DelinvoiceResponse{} +func (x *AutocleanstatusAutocleanExpiredinvoices) Reset() { + *x = AutocleanstatusAutocleanExpiredinvoices{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[52] + mi := &file_node_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DelinvoiceResponse) String() string { +func (x *AutocleanstatusAutocleanExpiredinvoices) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DelinvoiceResponse) ProtoMessage() {} +func (*AutocleanstatusAutocleanExpiredinvoices) ProtoMessage() {} -func (x *DelinvoiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[52] +func (x *AutocleanstatusAutocleanExpiredinvoices) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6558,128 +6455,121 @@ func (x *DelinvoiceResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DelinvoiceResponse.ProtoReflect.Descriptor instead. -func (*DelinvoiceResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{52} +// Deprecated: Use AutocleanstatusAutocleanExpiredinvoices.ProtoReflect.Descriptor instead. +func (*AutocleanstatusAutocleanExpiredinvoices) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{42} } -func (x *DelinvoiceResponse) GetLabel() string { +func (x *AutocleanstatusAutocleanExpiredinvoices) GetEnabled() bool { if x != nil { - return x.Label + return x.Enabled } - return "" + return false } -func (x *DelinvoiceResponse) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 +func (x *AutocleanstatusAutocleanExpiredinvoices) GetCleaned() uint64 { + if x != nil { + return x.Cleaned } - return "" + return 0 } -func (x *DelinvoiceResponse) GetBolt12() string { - if x != nil && x.Bolt12 != nil { - return *x.Bolt12 +func (x *AutocleanstatusAutocleanExpiredinvoices) GetAge() uint64 { + if x != nil && x.Age != nil { + return *x.Age } - return "" + return 0 } -func (x *DelinvoiceResponse) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat - } - return nil +type CheckmessageRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Zbase string `protobuf:"bytes,2,opt,name=zbase,proto3" json:"zbase,omitempty"` + Pubkey []byte `protobuf:"bytes,3,opt,name=pubkey,proto3,oneof" json:"pubkey,omitempty"` } -func (x *DelinvoiceResponse) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description +func (x *CheckmessageRequest) Reset() { + *x = CheckmessageRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *DelinvoiceResponse) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash - } - return nil +func (x *CheckmessageRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *DelinvoiceResponse) GetCreatedIndex() uint64 { - if x != nil && x.CreatedIndex != nil { - return *x.CreatedIndex +func (*CheckmessageRequest) ProtoMessage() {} + +func (x *CheckmessageRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *DelinvoiceResponse) GetUpdatedIndex() uint64 { - if x != nil && x.UpdatedIndex != nil { - return *x.UpdatedIndex - } - return 0 +// Deprecated: Use CheckmessageRequest.ProtoReflect.Descriptor instead. +func (*CheckmessageRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{43} } -func (x *DelinvoiceResponse) GetStatus() DelinvoiceResponse_DelinvoiceStatus { +func (x *CheckmessageRequest) GetMessage() string { if x != nil { - return x.Status + return x.Message } - return DelinvoiceResponse_PAID + return "" } -func (x *DelinvoiceResponse) GetExpiresAt() uint64 { +func (x *CheckmessageRequest) GetZbase() string { if x != nil { - return x.ExpiresAt + return x.Zbase } - return 0 + return "" } -func (x *DelinvoiceResponse) GetLocalOfferId() []byte { +func (x *CheckmessageRequest) GetPubkey() []byte { if x != nil { - return x.LocalOfferId + return x.Pubkey } return nil } -func (x *DelinvoiceResponse) GetInvreqPayerNote() string { - if x != nil && x.InvreqPayerNote != nil { - return *x.InvreqPayerNote - } - return "" -} - -type InvoiceRequest struct { +type CheckmessageResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AmountMsat *AmountOrAny `protobuf:"bytes,10,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - Label string `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"` - Expiry *uint64 `protobuf:"varint,7,opt,name=expiry,proto3,oneof" json:"expiry,omitempty"` - Fallbacks []string `protobuf:"bytes,4,rep,name=fallbacks,proto3" json:"fallbacks,omitempty"` - Preimage []byte `protobuf:"bytes,5,opt,name=preimage,proto3,oneof" json:"preimage,omitempty"` - Cltv *uint32 `protobuf:"varint,6,opt,name=cltv,proto3,oneof" json:"cltv,omitempty"` - Exposeprivatechannels *bool `protobuf:"varint,8,opt,name=exposeprivatechannels,proto3,oneof" json:"exposeprivatechannels,omitempty"` - Deschashonly *bool `protobuf:"varint,9,opt,name=deschashonly,proto3,oneof" json:"deschashonly,omitempty"` + Verified bool `protobuf:"varint,1,opt,name=verified,proto3" json:"verified,omitempty"` + Pubkey []byte `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"` } -func (x *InvoiceRequest) Reset() { - *x = InvoiceRequest{} +func (x *CheckmessageResponse) Reset() { + *x = CheckmessageResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[53] + mi := &file_node_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *InvoiceRequest) String() string { +func (x *CheckmessageResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*InvoiceRequest) ProtoMessage() {} +func (*CheckmessageResponse) ProtoMessage() {} -func (x *InvoiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[53] +func (x *CheckmessageResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6690,108 +6580,56 @@ func (x *InvoiceRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InvoiceRequest.ProtoReflect.Descriptor instead. -func (*InvoiceRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{53} +// Deprecated: Use CheckmessageResponse.ProtoReflect.Descriptor instead. +func (*CheckmessageResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{44} } -func (x *InvoiceRequest) GetAmountMsat() *AmountOrAny { +func (x *CheckmessageResponse) GetVerified() bool { if x != nil { - return x.AmountMsat + return x.Verified } - return nil + return false } -func (x *InvoiceRequest) GetDescription() string { +func (x *CheckmessageResponse) GetPubkey() []byte { if x != nil { - return x.Description + return x.Pubkey } - return "" + return nil } -func (x *InvoiceRequest) GetLabel() string { - if x != nil { - return x.Label - } - return "" -} +type CloseRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *InvoiceRequest) GetExpiry() uint64 { - if x != nil && x.Expiry != nil { - return *x.Expiry - } - return 0 + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Unilateraltimeout *uint32 `protobuf:"varint,2,opt,name=unilateraltimeout,proto3,oneof" json:"unilateraltimeout,omitempty"` + Destination *string `protobuf:"bytes,3,opt,name=destination,proto3,oneof" json:"destination,omitempty"` + FeeNegotiationStep *string `protobuf:"bytes,4,opt,name=fee_negotiation_step,json=feeNegotiationStep,proto3,oneof" json:"fee_negotiation_step,omitempty"` + WrongFunding *Outpoint `protobuf:"bytes,5,opt,name=wrong_funding,json=wrongFunding,proto3,oneof" json:"wrong_funding,omitempty"` + ForceLeaseClosed *bool `protobuf:"varint,6,opt,name=force_lease_closed,json=forceLeaseClosed,proto3,oneof" json:"force_lease_closed,omitempty"` + Feerange []*Feerate `protobuf:"bytes,7,rep,name=feerange,proto3" json:"feerange,omitempty"` } -func (x *InvoiceRequest) GetFallbacks() []string { - if x != nil { - return x.Fallbacks +func (x *CloseRequest) Reset() { + *x = CloseRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *InvoiceRequest) GetPreimage() []byte { - if x != nil { - return x.Preimage - } - return nil +func (x *CloseRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *InvoiceRequest) GetCltv() uint32 { - if x != nil && x.Cltv != nil { - return *x.Cltv - } - return 0 -} - -func (x *InvoiceRequest) GetExposeprivatechannels() bool { - if x != nil && x.Exposeprivatechannels != nil { - return *x.Exposeprivatechannels - } - return false -} - -func (x *InvoiceRequest) GetDeschashonly() bool { - if x != nil && x.Deschashonly != nil { - return *x.Deschashonly - } - return false -} - -type InvoiceResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Bolt11 string `protobuf:"bytes,1,opt,name=bolt11,proto3" json:"bolt11,omitempty"` - PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - PaymentSecret []byte `protobuf:"bytes,3,opt,name=payment_secret,json=paymentSecret,proto3" json:"payment_secret,omitempty"` - ExpiresAt uint64 `protobuf:"varint,4,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` - CreatedIndex *uint64 `protobuf:"varint,10,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` - WarningCapacity *string `protobuf:"bytes,5,opt,name=warning_capacity,json=warningCapacity,proto3,oneof" json:"warning_capacity,omitempty"` - WarningOffline *string `protobuf:"bytes,6,opt,name=warning_offline,json=warningOffline,proto3,oneof" json:"warning_offline,omitempty"` - WarningDeadends *string `protobuf:"bytes,7,opt,name=warning_deadends,json=warningDeadends,proto3,oneof" json:"warning_deadends,omitempty"` - WarningPrivateUnused *string `protobuf:"bytes,8,opt,name=warning_private_unused,json=warningPrivateUnused,proto3,oneof" json:"warning_private_unused,omitempty"` - WarningMpp *string `protobuf:"bytes,9,opt,name=warning_mpp,json=warningMpp,proto3,oneof" json:"warning_mpp,omitempty"` -} - -func (x *InvoiceResponse) Reset() { - *x = InvoiceResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InvoiceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InvoiceResponse) ProtoMessage() {} +func (*CloseRequest) ProtoMessage() {} -func (x *InvoiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[54] +func (x *CloseRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6802,106 +6640,87 @@ func (x *InvoiceResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use InvoiceResponse.ProtoReflect.Descriptor instead. -func (*InvoiceResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{54} +// Deprecated: Use CloseRequest.ProtoReflect.Descriptor instead. +func (*CloseRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{45} } -func (x *InvoiceResponse) GetBolt11() string { +func (x *CloseRequest) GetId() string { if x != nil { - return x.Bolt11 + return x.Id } return "" } -func (x *InvoiceResponse) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash - } - return nil -} - -func (x *InvoiceResponse) GetPaymentSecret() []byte { - if x != nil { - return x.PaymentSecret - } - return nil -} - -func (x *InvoiceResponse) GetExpiresAt() uint64 { - if x != nil { - return x.ExpiresAt - } - return 0 -} - -func (x *InvoiceResponse) GetCreatedIndex() uint64 { - if x != nil && x.CreatedIndex != nil { - return *x.CreatedIndex +func (x *CloseRequest) GetUnilateraltimeout() uint32 { + if x != nil && x.Unilateraltimeout != nil { + return *x.Unilateraltimeout } return 0 } -func (x *InvoiceResponse) GetWarningCapacity() string { - if x != nil && x.WarningCapacity != nil { - return *x.WarningCapacity +func (x *CloseRequest) GetDestination() string { + if x != nil && x.Destination != nil { + return *x.Destination } return "" } -func (x *InvoiceResponse) GetWarningOffline() string { - if x != nil && x.WarningOffline != nil { - return *x.WarningOffline +func (x *CloseRequest) GetFeeNegotiationStep() string { + if x != nil && x.FeeNegotiationStep != nil { + return *x.FeeNegotiationStep } return "" } -func (x *InvoiceResponse) GetWarningDeadends() string { - if x != nil && x.WarningDeadends != nil { - return *x.WarningDeadends +func (x *CloseRequest) GetWrongFunding() *Outpoint { + if x != nil { + return x.WrongFunding } - return "" + return nil } -func (x *InvoiceResponse) GetWarningPrivateUnused() string { - if x != nil && x.WarningPrivateUnused != nil { - return *x.WarningPrivateUnused +func (x *CloseRequest) GetForceLeaseClosed() bool { + if x != nil && x.ForceLeaseClosed != nil { + return *x.ForceLeaseClosed } - return "" + return false } -func (x *InvoiceResponse) GetWarningMpp() string { - if x != nil && x.WarningMpp != nil { - return *x.WarningMpp +func (x *CloseRequest) GetFeerange() []*Feerate { + if x != nil { + return x.Feerange } - return "" + return nil } -type ListdatastoreRequest struct { +type CloseResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Key []string `protobuf:"bytes,2,rep,name=key,proto3" json:"key,omitempty"` + ItemType CloseResponse_CloseType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.CloseResponse_CloseType" json:"item_type,omitempty"` + Tx []byte `protobuf:"bytes,2,opt,name=tx,proto3,oneof" json:"tx,omitempty"` + Txid []byte `protobuf:"bytes,3,opt,name=txid,proto3,oneof" json:"txid,omitempty"` } -func (x *ListdatastoreRequest) Reset() { - *x = ListdatastoreRequest{} +func (x *CloseResponse) Reset() { + *x = CloseResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[55] + mi := &file_node_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListdatastoreRequest) String() string { +func (x *CloseResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListdatastoreRequest) ProtoMessage() {} +func (*CloseResponse) ProtoMessage() {} -func (x *ListdatastoreRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[55] +func (x *CloseResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6912,43 +6731,59 @@ func (x *ListdatastoreRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListdatastoreRequest.ProtoReflect.Descriptor instead. -func (*ListdatastoreRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{55} +// Deprecated: Use CloseResponse.ProtoReflect.Descriptor instead. +func (*CloseResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{46} } -func (x *ListdatastoreRequest) GetKey() []string { +func (x *CloseResponse) GetItemType() CloseResponse_CloseType { if x != nil { - return x.Key + return x.ItemType + } + return CloseResponse_MUTUAL +} + +func (x *CloseResponse) GetTx() []byte { + if x != nil { + return x.Tx } return nil } -type ListdatastoreResponse struct { +func (x *CloseResponse) GetTxid() []byte { + if x != nil { + return x.Txid + } + return nil +} + +type ConnectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Datastore []*ListdatastoreDatastore `protobuf:"bytes,1,rep,name=datastore,proto3" json:"datastore,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Host *string `protobuf:"bytes,2,opt,name=host,proto3,oneof" json:"host,omitempty"` + Port *uint32 `protobuf:"varint,3,opt,name=port,proto3,oneof" json:"port,omitempty"` } -func (x *ListdatastoreResponse) Reset() { - *x = ListdatastoreResponse{} +func (x *ConnectRequest) Reset() { + *x = ConnectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[56] + mi := &file_node_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListdatastoreResponse) String() string { +func (x *ConnectRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListdatastoreResponse) ProtoMessage() {} +func (*ConnectRequest) ProtoMessage() {} -func (x *ListdatastoreResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[56] +func (x *ConnectRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6959,46 +6794,60 @@ func (x *ListdatastoreResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListdatastoreResponse.ProtoReflect.Descriptor instead. -func (*ListdatastoreResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{56} +// Deprecated: Use ConnectRequest.ProtoReflect.Descriptor instead. +func (*ConnectRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{47} } -func (x *ListdatastoreResponse) GetDatastore() []*ListdatastoreDatastore { +func (x *ConnectRequest) GetId() string { if x != nil { - return x.Datastore + return x.Id } - return nil + return "" } -type ListdatastoreDatastore struct { +func (x *ConnectRequest) GetHost() string { + if x != nil && x.Host != nil { + return *x.Host + } + return "" +} + +func (x *ConnectRequest) GetPort() uint32 { + if x != nil && x.Port != nil { + return *x.Port + } + return 0 +} + +type ConnectResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Key []string `protobuf:"bytes,1,rep,name=key,proto3" json:"key,omitempty"` - Generation *uint64 `protobuf:"varint,2,opt,name=generation,proto3,oneof" json:"generation,omitempty"` - Hex []byte `protobuf:"bytes,3,opt,name=hex,proto3,oneof" json:"hex,omitempty"` - String_ *string `protobuf:"bytes,4,opt,name=string,proto3,oneof" json:"string,omitempty"` + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Features []byte `protobuf:"bytes,2,opt,name=features,proto3" json:"features,omitempty"` + Direction ConnectResponse_ConnectDirection `protobuf:"varint,3,opt,name=direction,proto3,enum=cln.ConnectResponse_ConnectDirection" json:"direction,omitempty"` + Address *ConnectAddress `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` } -func (x *ListdatastoreDatastore) Reset() { - *x = ListdatastoreDatastore{} +func (x *ConnectResponse) Reset() { + *x = ConnectResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[57] + mi := &file_node_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListdatastoreDatastore) String() string { +func (x *ConnectResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListdatastoreDatastore) ProtoMessage() {} +func (*ConnectResponse) ProtoMessage() {} -func (x *ListdatastoreDatastore) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[57] +func (x *ConnectResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7009,70 +6858,67 @@ func (x *ListdatastoreDatastore) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListdatastoreDatastore.ProtoReflect.Descriptor instead. -func (*ListdatastoreDatastore) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{57} +// Deprecated: Use ConnectResponse.ProtoReflect.Descriptor instead. +func (*ConnectResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{48} } -func (x *ListdatastoreDatastore) GetKey() []string { +func (x *ConnectResponse) GetId() []byte { if x != nil { - return x.Key + return x.Id } return nil } -func (x *ListdatastoreDatastore) GetGeneration() uint64 { - if x != nil && x.Generation != nil { - return *x.Generation +func (x *ConnectResponse) GetFeatures() []byte { + if x != nil { + return x.Features } - return 0 + return nil } -func (x *ListdatastoreDatastore) GetHex() []byte { +func (x *ConnectResponse) GetDirection() ConnectResponse_ConnectDirection { if x != nil { - return x.Hex + return x.Direction } - return nil + return ConnectResponse_IN } -func (x *ListdatastoreDatastore) GetString_() string { - if x != nil && x.String_ != nil { - return *x.String_ +func (x *ConnectResponse) GetAddress() *ConnectAddress { + if x != nil { + return x.Address } - return "" + return nil } -type ListinvoicesRequest struct { +type ConnectAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Label *string `protobuf:"bytes,1,opt,name=label,proto3,oneof" json:"label,omitempty"` - Invstring *string `protobuf:"bytes,2,opt,name=invstring,proto3,oneof" json:"invstring,omitempty"` - PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3,oneof" json:"payment_hash,omitempty"` - OfferId *string `protobuf:"bytes,4,opt,name=offer_id,json=offerId,proto3,oneof" json:"offer_id,omitempty"` - Index *ListinvoicesRequest_ListinvoicesIndex `protobuf:"varint,5,opt,name=index,proto3,enum=cln.ListinvoicesRequest_ListinvoicesIndex,oneof" json:"index,omitempty"` - Start *uint64 `protobuf:"varint,6,opt,name=start,proto3,oneof" json:"start,omitempty"` - Limit *uint32 `protobuf:"varint,7,opt,name=limit,proto3,oneof" json:"limit,omitempty"` + ItemType ConnectAddress_ConnectAddressType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.ConnectAddress_ConnectAddressType" json:"item_type,omitempty"` + Socket *string `protobuf:"bytes,2,opt,name=socket,proto3,oneof" json:"socket,omitempty"` + Address *string `protobuf:"bytes,3,opt,name=address,proto3,oneof" json:"address,omitempty"` + Port *uint32 `protobuf:"varint,4,opt,name=port,proto3,oneof" json:"port,omitempty"` } -func (x *ListinvoicesRequest) Reset() { - *x = ListinvoicesRequest{} +func (x *ConnectAddress) Reset() { + *x = ConnectAddress{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[58] + mi := &file_node_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListinvoicesRequest) String() string { +func (x *ConnectAddress) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListinvoicesRequest) ProtoMessage() {} +func (*ConnectAddress) ProtoMessage() {} -func (x *ListinvoicesRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[58] +func (x *ConnectAddress) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7083,85 +6929,66 @@ func (x *ListinvoicesRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListinvoicesRequest.ProtoReflect.Descriptor instead. -func (*ListinvoicesRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{58} -} - -func (x *ListinvoicesRequest) GetLabel() string { - if x != nil && x.Label != nil { - return *x.Label - } - return "" -} - -func (x *ListinvoicesRequest) GetInvstring() string { - if x != nil && x.Invstring != nil { - return *x.Invstring - } - return "" +// Deprecated: Use ConnectAddress.ProtoReflect.Descriptor instead. +func (*ConnectAddress) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{49} } -func (x *ListinvoicesRequest) GetPaymentHash() []byte { +func (x *ConnectAddress) GetItemType() ConnectAddress_ConnectAddressType { if x != nil { - return x.PaymentHash + return x.ItemType } - return nil + return ConnectAddress_LOCAL_SOCKET } -func (x *ListinvoicesRequest) GetOfferId() string { - if x != nil && x.OfferId != nil { - return *x.OfferId +func (x *ConnectAddress) GetSocket() string { + if x != nil && x.Socket != nil { + return *x.Socket } return "" } -func (x *ListinvoicesRequest) GetIndex() ListinvoicesRequest_ListinvoicesIndex { - if x != nil && x.Index != nil { - return *x.Index - } - return ListinvoicesRequest_CREATED -} - -func (x *ListinvoicesRequest) GetStart() uint64 { - if x != nil && x.Start != nil { - return *x.Start +func (x *ConnectAddress) GetAddress() string { + if x != nil && x.Address != nil { + return *x.Address } - return 0 + return "" } -func (x *ListinvoicesRequest) GetLimit() uint32 { - if x != nil && x.Limit != nil { - return *x.Limit +func (x *ConnectAddress) GetPort() uint32 { + if x != nil && x.Port != nil { + return *x.Port } return 0 } -type ListinvoicesResponse struct { +type CreateinvoiceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Invoices []*ListinvoicesInvoices `protobuf:"bytes,1,rep,name=invoices,proto3" json:"invoices,omitempty"` + Invstring string `protobuf:"bytes,1,opt,name=invstring,proto3" json:"invstring,omitempty"` + Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` + Preimage []byte `protobuf:"bytes,3,opt,name=preimage,proto3" json:"preimage,omitempty"` } -func (x *ListinvoicesResponse) Reset() { - *x = ListinvoicesResponse{} +func (x *CreateinvoiceRequest) Reset() { + *x = CreateinvoiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[59] + mi := &file_node_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListinvoicesResponse) String() string { +func (x *CreateinvoiceRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListinvoicesResponse) ProtoMessage() {} +func (*CreateinvoiceRequest) ProtoMessage() {} -func (x *ListinvoicesResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[59] +func (x *CreateinvoiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7172,59 +6999,72 @@ func (x *ListinvoicesResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListinvoicesResponse.ProtoReflect.Descriptor instead. -func (*ListinvoicesResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{59} +// Deprecated: Use CreateinvoiceRequest.ProtoReflect.Descriptor instead. +func (*CreateinvoiceRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{50} } -func (x *ListinvoicesResponse) GetInvoices() []*ListinvoicesInvoices { +func (x *CreateinvoiceRequest) GetInvstring() string { if x != nil { - return x.Invoices + return x.Invstring + } + return "" +} + +func (x *CreateinvoiceRequest) GetLabel() string { + if x != nil { + return x.Label + } + return "" +} + +func (x *CreateinvoiceRequest) GetPreimage() []byte { + if x != nil { + return x.Preimage } return nil } -type ListinvoicesInvoices struct { +type CreateinvoiceResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` - Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"` - PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - Status ListinvoicesInvoices_ListinvoicesInvoicesStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cln.ListinvoicesInvoices_ListinvoicesInvoicesStatus" json:"status,omitempty"` - ExpiresAt uint64 `protobuf:"varint,5,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` - AmountMsat *Amount `protobuf:"bytes,6,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - Bolt11 *string `protobuf:"bytes,7,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` - Bolt12 *string `protobuf:"bytes,8,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` - LocalOfferId []byte `protobuf:"bytes,9,opt,name=local_offer_id,json=localOfferId,proto3,oneof" json:"local_offer_id,omitempty"` - InvreqPayerNote *string `protobuf:"bytes,15,opt,name=invreq_payer_note,json=invreqPayerNote,proto3,oneof" json:"invreq_payer_note,omitempty"` - CreatedIndex *uint64 `protobuf:"varint,16,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` - UpdatedIndex *uint64 `protobuf:"varint,17,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` - PayIndex *uint64 `protobuf:"varint,11,opt,name=pay_index,json=payIndex,proto3,oneof" json:"pay_index,omitempty"` - AmountReceivedMsat *Amount `protobuf:"bytes,12,opt,name=amount_received_msat,json=amountReceivedMsat,proto3,oneof" json:"amount_received_msat,omitempty"` - PaidAt *uint64 `protobuf:"varint,13,opt,name=paid_at,json=paidAt,proto3,oneof" json:"paid_at,omitempty"` - PaidOutpoint *ListinvoicesInvoicesPaidOutpoint `protobuf:"bytes,18,opt,name=paid_outpoint,json=paidOutpoint,proto3,oneof" json:"paid_outpoint,omitempty"` - PaymentPreimage []byte `protobuf:"bytes,14,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + Bolt11 *string `protobuf:"bytes,2,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + Bolt12 *string `protobuf:"bytes,3,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` + PaymentHash []byte `protobuf:"bytes,4,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Status CreateinvoiceResponse_CreateinvoiceStatus `protobuf:"varint,6,opt,name=status,proto3,enum=cln.CreateinvoiceResponse_CreateinvoiceStatus" json:"status,omitempty"` + Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"` + ExpiresAt uint64 `protobuf:"varint,8,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + PayIndex *uint64 `protobuf:"varint,9,opt,name=pay_index,json=payIndex,proto3,oneof" json:"pay_index,omitempty"` + AmountReceivedMsat *Amount `protobuf:"bytes,10,opt,name=amount_received_msat,json=amountReceivedMsat,proto3,oneof" json:"amount_received_msat,omitempty"` + PaidAt *uint64 `protobuf:"varint,11,opt,name=paid_at,json=paidAt,proto3,oneof" json:"paid_at,omitempty"` + PaymentPreimage []byte `protobuf:"bytes,12,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` + LocalOfferId []byte `protobuf:"bytes,13,opt,name=local_offer_id,json=localOfferId,proto3,oneof" json:"local_offer_id,omitempty"` + InvreqPayerNote *string `protobuf:"bytes,15,opt,name=invreq_payer_note,json=invreqPayerNote,proto3,oneof" json:"invreq_payer_note,omitempty"` + CreatedIndex *uint64 `protobuf:"varint,16,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` + PaidOutpoint *CreateinvoicePaidOutpoint `protobuf:"bytes,17,opt,name=paid_outpoint,json=paidOutpoint,proto3,oneof" json:"paid_outpoint,omitempty"` } -func (x *ListinvoicesInvoices) Reset() { - *x = ListinvoicesInvoices{} +func (x *CreateinvoiceResponse) Reset() { + *x = CreateinvoiceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[60] + mi := &file_node_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListinvoicesInvoices) String() string { +func (x *CreateinvoiceResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListinvoicesInvoices) ProtoMessage() {} +func (*CreateinvoiceResponse) ProtoMessage() {} -func (x *ListinvoicesInvoices) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[60] +func (x *CreateinvoiceResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7235,156 +7075,149 @@ func (x *ListinvoicesInvoices) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListinvoicesInvoices.ProtoReflect.Descriptor instead. -func (*ListinvoicesInvoices) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{60} +// Deprecated: Use CreateinvoiceResponse.ProtoReflect.Descriptor instead. +func (*CreateinvoiceResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{51} } -func (x *ListinvoicesInvoices) GetLabel() string { +func (x *CreateinvoiceResponse) GetLabel() string { if x != nil { return x.Label } return "" } -func (x *ListinvoicesInvoices) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description +func (x *CreateinvoiceResponse) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 } return "" } -func (x *ListinvoicesInvoices) GetPaymentHash() []byte { +func (x *CreateinvoiceResponse) GetBolt12() string { + if x != nil && x.Bolt12 != nil { + return *x.Bolt12 + } + return "" +} + +func (x *CreateinvoiceResponse) GetPaymentHash() []byte { if x != nil { return x.PaymentHash } return nil } -func (x *ListinvoicesInvoices) GetStatus() ListinvoicesInvoices_ListinvoicesInvoicesStatus { +func (x *CreateinvoiceResponse) GetAmountMsat() *Amount { if x != nil { - return x.Status + return x.AmountMsat } - return ListinvoicesInvoices_UNPAID + return nil } -func (x *ListinvoicesInvoices) GetExpiresAt() uint64 { +func (x *CreateinvoiceResponse) GetStatus() CreateinvoiceResponse_CreateinvoiceStatus { if x != nil { - return x.ExpiresAt + return x.Status } - return 0 + return CreateinvoiceResponse_PAID } -func (x *ListinvoicesInvoices) GetAmountMsat() *Amount { +func (x *CreateinvoiceResponse) GetDescription() string { if x != nil { - return x.AmountMsat + return x.Description } - return nil + return "" } -func (x *ListinvoicesInvoices) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 +func (x *CreateinvoiceResponse) GetExpiresAt() uint64 { + if x != nil { + return x.ExpiresAt } - return "" + return 0 } -func (x *ListinvoicesInvoices) GetBolt12() string { - if x != nil && x.Bolt12 != nil { - return *x.Bolt12 +func (x *CreateinvoiceResponse) GetPayIndex() uint64 { + if x != nil && x.PayIndex != nil { + return *x.PayIndex } - return "" + return 0 } -func (x *ListinvoicesInvoices) GetLocalOfferId() []byte { +func (x *CreateinvoiceResponse) GetAmountReceivedMsat() *Amount { if x != nil { - return x.LocalOfferId + return x.AmountReceivedMsat } return nil } -func (x *ListinvoicesInvoices) GetInvreqPayerNote() string { - if x != nil && x.InvreqPayerNote != nil { - return *x.InvreqPayerNote - } - return "" -} - -func (x *ListinvoicesInvoices) GetCreatedIndex() uint64 { - if x != nil && x.CreatedIndex != nil { - return *x.CreatedIndex - } - return 0 -} - -func (x *ListinvoicesInvoices) GetUpdatedIndex() uint64 { - if x != nil && x.UpdatedIndex != nil { - return *x.UpdatedIndex +func (x *CreateinvoiceResponse) GetPaidAt() uint64 { + if x != nil && x.PaidAt != nil { + return *x.PaidAt } return 0 } -func (x *ListinvoicesInvoices) GetPayIndex() uint64 { - if x != nil && x.PayIndex != nil { - return *x.PayIndex +func (x *CreateinvoiceResponse) GetPaymentPreimage() []byte { + if x != nil { + return x.PaymentPreimage } - return 0 + return nil } -func (x *ListinvoicesInvoices) GetAmountReceivedMsat() *Amount { +func (x *CreateinvoiceResponse) GetLocalOfferId() []byte { if x != nil { - return x.AmountReceivedMsat + return x.LocalOfferId } return nil } -func (x *ListinvoicesInvoices) GetPaidAt() uint64 { - if x != nil && x.PaidAt != nil { - return *x.PaidAt +func (x *CreateinvoiceResponse) GetInvreqPayerNote() string { + if x != nil && x.InvreqPayerNote != nil { + return *x.InvreqPayerNote } - return 0 + return "" } -func (x *ListinvoicesInvoices) GetPaidOutpoint() *ListinvoicesInvoicesPaidOutpoint { - if x != nil { - return x.PaidOutpoint +func (x *CreateinvoiceResponse) GetCreatedIndex() uint64 { + if x != nil && x.CreatedIndex != nil { + return *x.CreatedIndex } - return nil + return 0 } -func (x *ListinvoicesInvoices) GetPaymentPreimage() []byte { +func (x *CreateinvoiceResponse) GetPaidOutpoint() *CreateinvoicePaidOutpoint { if x != nil { - return x.PaymentPreimage + return x.PaidOutpoint } return nil } -type ListinvoicesInvoicesPaidOutpoint struct { +type CreateinvoicePaidOutpoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3,oneof" json:"txid,omitempty"` - Outnum *uint32 `protobuf:"varint,2,opt,name=outnum,proto3,oneof" json:"outnum,omitempty"` + Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Outnum uint32 `protobuf:"varint,2,opt,name=outnum,proto3" json:"outnum,omitempty"` } -func (x *ListinvoicesInvoicesPaidOutpoint) Reset() { - *x = ListinvoicesInvoicesPaidOutpoint{} +func (x *CreateinvoicePaidOutpoint) Reset() { + *x = CreateinvoicePaidOutpoint{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[61] + mi := &file_node_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListinvoicesInvoicesPaidOutpoint) String() string { +func (x *CreateinvoicePaidOutpoint) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListinvoicesInvoicesPaidOutpoint) ProtoMessage() {} +func (*CreateinvoicePaidOutpoint) ProtoMessage() {} -func (x *ListinvoicesInvoicesPaidOutpoint) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[61] +func (x *CreateinvoicePaidOutpoint) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7395,60 +7228,54 @@ func (x *ListinvoicesInvoicesPaidOutpoint) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListinvoicesInvoicesPaidOutpoint.ProtoReflect.Descriptor instead. -func (*ListinvoicesInvoicesPaidOutpoint) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{61} +// Deprecated: Use CreateinvoicePaidOutpoint.ProtoReflect.Descriptor instead. +func (*CreateinvoicePaidOutpoint) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{52} } -func (x *ListinvoicesInvoicesPaidOutpoint) GetTxid() []byte { +func (x *CreateinvoicePaidOutpoint) GetTxid() []byte { if x != nil { return x.Txid } return nil } -func (x *ListinvoicesInvoicesPaidOutpoint) GetOutnum() uint32 { - if x != nil && x.Outnum != nil { - return *x.Outnum +func (x *CreateinvoicePaidOutpoint) GetOutnum() uint32 { + if x != nil { + return x.Outnum } return 0 } -type SendonionRequest struct { +type DatastoreRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Onion []byte `protobuf:"bytes,1,opt,name=onion,proto3" json:"onion,omitempty"` - FirstHop *SendonionFirstHop `protobuf:"bytes,2,opt,name=first_hop,json=firstHop,proto3" json:"first_hop,omitempty"` - PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - Label *string `protobuf:"bytes,4,opt,name=label,proto3,oneof" json:"label,omitempty"` - SharedSecrets [][]byte `protobuf:"bytes,5,rep,name=shared_secrets,json=sharedSecrets,proto3" json:"shared_secrets,omitempty"` - Partid *uint32 `protobuf:"varint,6,opt,name=partid,proto3,oneof" json:"partid,omitempty"` - Bolt11 *string `protobuf:"bytes,7,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` - AmountMsat *Amount `protobuf:"bytes,12,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - Destination []byte `protobuf:"bytes,9,opt,name=destination,proto3,oneof" json:"destination,omitempty"` - Localinvreqid []byte `protobuf:"bytes,13,opt,name=localinvreqid,proto3,oneof" json:"localinvreqid,omitempty"` - Groupid *uint64 `protobuf:"varint,11,opt,name=groupid,proto3,oneof" json:"groupid,omitempty"` + Hex []byte `protobuf:"bytes,2,opt,name=hex,proto3,oneof" json:"hex,omitempty"` + Mode *DatastoreRequest_DatastoreMode `protobuf:"varint,3,opt,name=mode,proto3,enum=cln.DatastoreRequest_DatastoreMode,oneof" json:"mode,omitempty"` + Generation *uint64 `protobuf:"varint,4,opt,name=generation,proto3,oneof" json:"generation,omitempty"` + Key []string `protobuf:"bytes,5,rep,name=key,proto3" json:"key,omitempty"` + String_ *string `protobuf:"bytes,6,opt,name=string,proto3,oneof" json:"string,omitempty"` } -func (x *SendonionRequest) Reset() { - *x = SendonionRequest{} +func (x *DatastoreRequest) Reset() { + *x = DatastoreRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[62] + mi := &file_node_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SendonionRequest) String() string { +func (x *DatastoreRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SendonionRequest) ProtoMessage() {} +func (*DatastoreRequest) ProtoMessage() {} -func (x *SendonionRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[62] +func (x *DatastoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7459,127 +7286,142 @@ func (x *SendonionRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SendonionRequest.ProtoReflect.Descriptor instead. -func (*SendonionRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{62} +// Deprecated: Use DatastoreRequest.ProtoReflect.Descriptor instead. +func (*DatastoreRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{53} } -func (x *SendonionRequest) GetOnion() []byte { +func (x *DatastoreRequest) GetHex() []byte { if x != nil { - return x.Onion + return x.Hex } return nil } -func (x *SendonionRequest) GetFirstHop() *SendonionFirstHop { - if x != nil { - return x.FirstHop +func (x *DatastoreRequest) GetMode() DatastoreRequest_DatastoreMode { + if x != nil && x.Mode != nil { + return *x.Mode } - return nil + return DatastoreRequest_MUST_CREATE } -func (x *SendonionRequest) GetPaymentHash() []byte { +func (x *DatastoreRequest) GetGeneration() uint64 { + if x != nil && x.Generation != nil { + return *x.Generation + } + return 0 +} + +func (x *DatastoreRequest) GetKey() []string { if x != nil { - return x.PaymentHash + return x.Key } return nil } -func (x *SendonionRequest) GetLabel() string { - if x != nil && x.Label != nil { - return *x.Label +func (x *DatastoreRequest) GetString_() string { + if x != nil && x.String_ != nil { + return *x.String_ } return "" } -func (x *SendonionRequest) GetSharedSecrets() [][]byte { - if x != nil { - return x.SharedSecrets - } - return nil +type DatastoreResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Generation *uint64 `protobuf:"varint,2,opt,name=generation,proto3,oneof" json:"generation,omitempty"` + Hex []byte `protobuf:"bytes,3,opt,name=hex,proto3,oneof" json:"hex,omitempty"` + String_ *string `protobuf:"bytes,4,opt,name=string,proto3,oneof" json:"string,omitempty"` + Key []string `protobuf:"bytes,5,rep,name=key,proto3" json:"key,omitempty"` } -func (x *SendonionRequest) GetPartid() uint32 { - if x != nil && x.Partid != nil { - return *x.Partid +func (x *DatastoreResponse) Reset() { + *x = DatastoreResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *SendonionRequest) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 +func (x *DatastoreResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DatastoreResponse) ProtoMessage() {} + +func (x *DatastoreResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *SendonionRequest) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat +// Deprecated: Use DatastoreResponse.ProtoReflect.Descriptor instead. +func (*DatastoreResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{54} +} + +func (x *DatastoreResponse) GetGeneration() uint64 { + if x != nil && x.Generation != nil { + return *x.Generation } - return nil + return 0 } -func (x *SendonionRequest) GetDestination() []byte { +func (x *DatastoreResponse) GetHex() []byte { if x != nil { - return x.Destination + return x.Hex } return nil } -func (x *SendonionRequest) GetLocalinvreqid() []byte { - if x != nil { - return x.Localinvreqid +func (x *DatastoreResponse) GetString_() string { + if x != nil && x.String_ != nil { + return *x.String_ } - return nil + return "" } -func (x *SendonionRequest) GetGroupid() uint64 { - if x != nil && x.Groupid != nil { - return *x.Groupid +func (x *DatastoreResponse) GetKey() []string { + if x != nil { + return x.Key } - return 0 + return nil } -type SendonionResponse struct { +type DatastoreusageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CreatedIndex *uint64 `protobuf:"varint,14,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - Status SendonionResponse_SendonionStatus `protobuf:"varint,3,opt,name=status,proto3,enum=cln.SendonionResponse_SendonionStatus" json:"status,omitempty"` - AmountMsat *Amount `protobuf:"bytes,4,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - Destination []byte `protobuf:"bytes,5,opt,name=destination,proto3,oneof" json:"destination,omitempty"` - CreatedAt uint64 `protobuf:"varint,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - AmountSentMsat *Amount `protobuf:"bytes,7,opt,name=amount_sent_msat,json=amountSentMsat,proto3" json:"amount_sent_msat,omitempty"` - Label *string `protobuf:"bytes,8,opt,name=label,proto3,oneof" json:"label,omitempty"` - Bolt11 *string `protobuf:"bytes,9,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` - Bolt12 *string `protobuf:"bytes,10,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` - Partid *uint64 `protobuf:"varint,13,opt,name=partid,proto3,oneof" json:"partid,omitempty"` - UpdatedIndex *uint64 `protobuf:"varint,15,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` - PaymentPreimage []byte `protobuf:"bytes,11,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` - Message *string `protobuf:"bytes,12,opt,name=message,proto3,oneof" json:"message,omitempty"` + Key []string `protobuf:"bytes,1,rep,name=key,proto3" json:"key,omitempty"` } -func (x *SendonionResponse) Reset() { - *x = SendonionResponse{} +func (x *DatastoreusageRequest) Reset() { + *x = DatastoreusageRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[63] + mi := &file_node_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SendonionResponse) String() string { +func (x *DatastoreusageRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SendonionResponse) ProtoMessage() {} +func (*DatastoreusageRequest) ProtoMessage() {} -func (x *SendonionResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[63] +func (x *DatastoreusageRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7590,143 +7432,91 @@ func (x *SendonionResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SendonionResponse.ProtoReflect.Descriptor instead. -func (*SendonionResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{63} +// Deprecated: Use DatastoreusageRequest.ProtoReflect.Descriptor instead. +func (*DatastoreusageRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{55} } -func (x *SendonionResponse) GetCreatedIndex() uint64 { - if x != nil && x.CreatedIndex != nil { - return *x.CreatedIndex - } - return 0 -} - -func (x *SendonionResponse) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *SendonionResponse) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash - } - return nil -} - -func (x *SendonionResponse) GetStatus() SendonionResponse_SendonionStatus { - if x != nil { - return x.Status - } - return SendonionResponse_PENDING -} - -func (x *SendonionResponse) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat - } - return nil -} - -func (x *SendonionResponse) GetDestination() []byte { +func (x *DatastoreusageRequest) GetKey() []string { if x != nil { - return x.Destination + return x.Key } return nil } -func (x *SendonionResponse) GetCreatedAt() uint64 { - if x != nil { - return x.CreatedAt - } - return 0 -} +type DatastoreusageResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *SendonionResponse) GetAmountSentMsat() *Amount { - if x != nil { - return x.AmountSentMsat - } - return nil + Datastoreusage *DatastoreusageDatastoreusage `protobuf:"bytes,1,opt,name=datastoreusage,proto3" json:"datastoreusage,omitempty"` } -func (x *SendonionResponse) GetLabel() string { - if x != nil && x.Label != nil { - return *x.Label +func (x *DatastoreusageResponse) Reset() { + *x = DatastoreusageResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *SendonionResponse) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 - } - return "" +func (x *DatastoreusageResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *SendonionResponse) GetBolt12() string { - if x != nil && x.Bolt12 != nil { - return *x.Bolt12 - } - return "" -} +func (*DatastoreusageResponse) ProtoMessage() {} -func (x *SendonionResponse) GetPartid() uint64 { - if x != nil && x.Partid != nil { - return *x.Partid +func (x *DatastoreusageResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *SendonionResponse) GetUpdatedIndex() uint64 { - if x != nil && x.UpdatedIndex != nil { - return *x.UpdatedIndex - } - return 0 +// Deprecated: Use DatastoreusageResponse.ProtoReflect.Descriptor instead. +func (*DatastoreusageResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{56} } -func (x *SendonionResponse) GetPaymentPreimage() []byte { +func (x *DatastoreusageResponse) GetDatastoreusage() *DatastoreusageDatastoreusage { if x != nil { - return x.PaymentPreimage + return x.Datastoreusage } return nil } -func (x *SendonionResponse) GetMessage() string { - if x != nil && x.Message != nil { - return *x.Message - } - return "" -} - -type SendonionFirstHop struct { +type DatastoreusageDatastoreusage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - AmountMsat *Amount `protobuf:"bytes,2,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` - Delay uint32 `protobuf:"varint,3,opt,name=delay,proto3" json:"delay,omitempty"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + TotalBytes uint64 `protobuf:"varint,2,opt,name=total_bytes,json=totalBytes,proto3" json:"total_bytes,omitempty"` } -func (x *SendonionFirstHop) Reset() { - *x = SendonionFirstHop{} +func (x *DatastoreusageDatastoreusage) Reset() { + *x = DatastoreusageDatastoreusage{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[64] + mi := &file_node_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SendonionFirstHop) String() string { +func (x *DatastoreusageDatastoreusage) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SendonionFirstHop) ProtoMessage() {} +func (*DatastoreusageDatastoreusage) ProtoMessage() {} -func (x *SendonionFirstHop) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[64] +func (x *DatastoreusageDatastoreusage) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7737,62 +7527,53 @@ func (x *SendonionFirstHop) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SendonionFirstHop.ProtoReflect.Descriptor instead. -func (*SendonionFirstHop) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{64} -} - -func (x *SendonionFirstHop) GetId() []byte { - if x != nil { - return x.Id - } - return nil +// Deprecated: Use DatastoreusageDatastoreusage.ProtoReflect.Descriptor instead. +func (*DatastoreusageDatastoreusage) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{57} } -func (x *SendonionFirstHop) GetAmountMsat() *Amount { +func (x *DatastoreusageDatastoreusage) GetKey() string { if x != nil { - return x.AmountMsat + return x.Key } - return nil + return "" } -func (x *SendonionFirstHop) GetDelay() uint32 { +func (x *DatastoreusageDatastoreusage) GetTotalBytes() uint64 { if x != nil { - return x.Delay + return x.TotalBytes } return 0 } -type ListsendpaysRequest struct { +type CreateonionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Bolt11 *string `protobuf:"bytes,1,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` - PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3,oneof" json:"payment_hash,omitempty"` - Status *ListsendpaysRequest_ListsendpaysStatus `protobuf:"varint,3,opt,name=status,proto3,enum=cln.ListsendpaysRequest_ListsendpaysStatus,oneof" json:"status,omitempty"` - Index *ListsendpaysRequest_ListsendpaysIndex `protobuf:"varint,4,opt,name=index,proto3,enum=cln.ListsendpaysRequest_ListsendpaysIndex,oneof" json:"index,omitempty"` - Start *uint64 `protobuf:"varint,5,opt,name=start,proto3,oneof" json:"start,omitempty"` - Limit *uint32 `protobuf:"varint,6,opt,name=limit,proto3,oneof" json:"limit,omitempty"` + Hops []*CreateonionHops `protobuf:"bytes,1,rep,name=hops,proto3" json:"hops,omitempty"` + Assocdata []byte `protobuf:"bytes,2,opt,name=assocdata,proto3" json:"assocdata,omitempty"` + SessionKey []byte `protobuf:"bytes,3,opt,name=session_key,json=sessionKey,proto3,oneof" json:"session_key,omitempty"` + OnionSize *uint32 `protobuf:"varint,4,opt,name=onion_size,json=onionSize,proto3,oneof" json:"onion_size,omitempty"` } -func (x *ListsendpaysRequest) Reset() { - *x = ListsendpaysRequest{} +func (x *CreateonionRequest) Reset() { + *x = CreateonionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[65] + mi := &file_node_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListsendpaysRequest) String() string { +func (x *CreateonionRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListsendpaysRequest) ProtoMessage() {} +func (*CreateonionRequest) ProtoMessage() {} -func (x *ListsendpaysRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[65] +func (x *CreateonionRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7803,78 +7584,65 @@ func (x *ListsendpaysRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListsendpaysRequest.ProtoReflect.Descriptor instead. -func (*ListsendpaysRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{65} -} - -func (x *ListsendpaysRequest) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 - } - return "" +// Deprecated: Use CreateonionRequest.ProtoReflect.Descriptor instead. +func (*CreateonionRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{58} } -func (x *ListsendpaysRequest) GetPaymentHash() []byte { +func (x *CreateonionRequest) GetHops() []*CreateonionHops { if x != nil { - return x.PaymentHash + return x.Hops } return nil } -func (x *ListsendpaysRequest) GetStatus() ListsendpaysRequest_ListsendpaysStatus { - if x != nil && x.Status != nil { - return *x.Status - } - return ListsendpaysRequest_PENDING -} - -func (x *ListsendpaysRequest) GetIndex() ListsendpaysRequest_ListsendpaysIndex { - if x != nil && x.Index != nil { - return *x.Index +func (x *CreateonionRequest) GetAssocdata() []byte { + if x != nil { + return x.Assocdata } - return ListsendpaysRequest_CREATED + return nil } -func (x *ListsendpaysRequest) GetStart() uint64 { - if x != nil && x.Start != nil { - return *x.Start +func (x *CreateonionRequest) GetSessionKey() []byte { + if x != nil { + return x.SessionKey } - return 0 + return nil } -func (x *ListsendpaysRequest) GetLimit() uint32 { - if x != nil && x.Limit != nil { - return *x.Limit +func (x *CreateonionRequest) GetOnionSize() uint32 { + if x != nil && x.OnionSize != nil { + return *x.OnionSize } return 0 } -type ListsendpaysResponse struct { +type CreateonionResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Payments []*ListsendpaysPayments `protobuf:"bytes,1,rep,name=payments,proto3" json:"payments,omitempty"` + Onion []byte `protobuf:"bytes,1,opt,name=onion,proto3" json:"onion,omitempty"` + SharedSecrets [][]byte `protobuf:"bytes,2,rep,name=shared_secrets,json=sharedSecrets,proto3" json:"shared_secrets,omitempty"` } -func (x *ListsendpaysResponse) Reset() { - *x = ListsendpaysResponse{} +func (x *CreateonionResponse) Reset() { + *x = CreateonionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[66] + mi := &file_node_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListsendpaysResponse) String() string { +func (x *CreateonionResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListsendpaysResponse) ProtoMessage() {} +func (*CreateonionResponse) ProtoMessage() {} -func (x *ListsendpaysResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[66] +func (x *CreateonionResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7885,59 +7653,51 @@ func (x *ListsendpaysResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListsendpaysResponse.ProtoReflect.Descriptor instead. -func (*ListsendpaysResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{66} +// Deprecated: Use CreateonionResponse.ProtoReflect.Descriptor instead. +func (*CreateonionResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{59} } -func (x *ListsendpaysResponse) GetPayments() []*ListsendpaysPayments { +func (x *CreateonionResponse) GetOnion() []byte { if x != nil { - return x.Payments + return x.Onion } return nil } -type ListsendpaysPayments struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CreatedIndex *uint64 `protobuf:"varint,16,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Groupid uint64 `protobuf:"varint,2,opt,name=groupid,proto3" json:"groupid,omitempty"` - Partid *uint64 `protobuf:"varint,15,opt,name=partid,proto3,oneof" json:"partid,omitempty"` - PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - UpdatedIndex *uint64 `protobuf:"varint,17,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` - Status ListsendpaysPayments_ListsendpaysPaymentsStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cln.ListsendpaysPayments_ListsendpaysPaymentsStatus" json:"status,omitempty"` - AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - Destination []byte `protobuf:"bytes,6,opt,name=destination,proto3,oneof" json:"destination,omitempty"` - CreatedAt uint64 `protobuf:"varint,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - AmountSentMsat *Amount `protobuf:"bytes,8,opt,name=amount_sent_msat,json=amountSentMsat,proto3" json:"amount_sent_msat,omitempty"` - Label *string `protobuf:"bytes,9,opt,name=label,proto3,oneof" json:"label,omitempty"` - Bolt11 *string `protobuf:"bytes,10,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` - Description *string `protobuf:"bytes,14,opt,name=description,proto3,oneof" json:"description,omitempty"` - Bolt12 *string `protobuf:"bytes,11,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` - PaymentPreimage []byte `protobuf:"bytes,12,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` - Erroronion []byte `protobuf:"bytes,13,opt,name=erroronion,proto3,oneof" json:"erroronion,omitempty"` +func (x *CreateonionResponse) GetSharedSecrets() [][]byte { + if x != nil { + return x.SharedSecrets + } + return nil } -func (x *ListsendpaysPayments) Reset() { - *x = ListsendpaysPayments{} +type CreateonionHops struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pubkey []byte `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` +} + +func (x *CreateonionHops) Reset() { + *x = CreateonionHops{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[67] + mi := &file_node_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListsendpaysPayments) String() string { +func (x *CreateonionHops) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListsendpaysPayments) ProtoMessage() {} +func (*CreateonionHops) ProtoMessage() {} -func (x *ListsendpaysPayments) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[67] +func (x *CreateonionHops) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7948,153 +7708,108 @@ func (x *ListsendpaysPayments) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListsendpaysPayments.ProtoReflect.Descriptor instead. -func (*ListsendpaysPayments) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{67} -} - -func (x *ListsendpaysPayments) GetCreatedIndex() uint64 { - if x != nil && x.CreatedIndex != nil { - return *x.CreatedIndex - } - return 0 -} - -func (x *ListsendpaysPayments) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *ListsendpaysPayments) GetGroupid() uint64 { - if x != nil { - return x.Groupid - } - return 0 -} - -func (x *ListsendpaysPayments) GetPartid() uint64 { - if x != nil && x.Partid != nil { - return *x.Partid - } - return 0 +// Deprecated: Use CreateonionHops.ProtoReflect.Descriptor instead. +func (*CreateonionHops) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{60} } -func (x *ListsendpaysPayments) GetPaymentHash() []byte { +func (x *CreateonionHops) GetPubkey() []byte { if x != nil { - return x.PaymentHash + return x.Pubkey } return nil } -func (x *ListsendpaysPayments) GetUpdatedIndex() uint64 { - if x != nil && x.UpdatedIndex != nil { - return *x.UpdatedIndex - } - return 0 -} - -func (x *ListsendpaysPayments) GetStatus() ListsendpaysPayments_ListsendpaysPaymentsStatus { - if x != nil { - return x.Status - } - return ListsendpaysPayments_PENDING -} - -func (x *ListsendpaysPayments) GetAmountMsat() *Amount { +func (x *CreateonionHops) GetPayload() []byte { if x != nil { - return x.AmountMsat + return x.Payload } return nil } -func (x *ListsendpaysPayments) GetDestination() []byte { - if x != nil { - return x.Destination - } - return nil -} +type DeldatastoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *ListsendpaysPayments) GetCreatedAt() uint64 { - if x != nil { - return x.CreatedAt - } - return 0 + Generation *uint64 `protobuf:"varint,2,opt,name=generation,proto3,oneof" json:"generation,omitempty"` + Key []string `protobuf:"bytes,3,rep,name=key,proto3" json:"key,omitempty"` } -func (x *ListsendpaysPayments) GetAmountSentMsat() *Amount { - if x != nil { - return x.AmountSentMsat +func (x *DeldatastoreRequest) Reset() { + *x = DeldatastoreRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ListsendpaysPayments) GetLabel() string { - if x != nil && x.Label != nil { - return *x.Label - } - return "" +func (x *DeldatastoreRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ListsendpaysPayments) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 - } - return "" -} +func (*DeldatastoreRequest) ProtoMessage() {} -func (x *ListsendpaysPayments) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description +func (x *DeldatastoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *ListsendpaysPayments) GetBolt12() string { - if x != nil && x.Bolt12 != nil { - return *x.Bolt12 - } - return "" +// Deprecated: Use DeldatastoreRequest.ProtoReflect.Descriptor instead. +func (*DeldatastoreRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{61} } -func (x *ListsendpaysPayments) GetPaymentPreimage() []byte { - if x != nil { - return x.PaymentPreimage +func (x *DeldatastoreRequest) GetGeneration() uint64 { + if x != nil && x.Generation != nil { + return *x.Generation } - return nil + return 0 } -func (x *ListsendpaysPayments) GetErroronion() []byte { +func (x *DeldatastoreRequest) GetKey() []string { if x != nil { - return x.Erroronion + return x.Key } return nil } -type ListtransactionsRequest struct { +type DeldatastoreResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Generation *uint64 `protobuf:"varint,2,opt,name=generation,proto3,oneof" json:"generation,omitempty"` + Hex []byte `protobuf:"bytes,3,opt,name=hex,proto3,oneof" json:"hex,omitempty"` + String_ *string `protobuf:"bytes,4,opt,name=string,proto3,oneof" json:"string,omitempty"` + Key []string `protobuf:"bytes,5,rep,name=key,proto3" json:"key,omitempty"` } -func (x *ListtransactionsRequest) Reset() { - *x = ListtransactionsRequest{} +func (x *DeldatastoreResponse) Reset() { + *x = DeldatastoreResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[68] + mi := &file_node_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListtransactionsRequest) String() string { +func (x *DeldatastoreResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListtransactionsRequest) ProtoMessage() {} +func (*DeldatastoreResponse) ProtoMessage() {} -func (x *ListtransactionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[68] +func (x *DeldatastoreResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8105,36 +7820,66 @@ func (x *ListtransactionsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListtransactionsRequest.ProtoReflect.Descriptor instead. -func (*ListtransactionsRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{68} +// Deprecated: Use DeldatastoreResponse.ProtoReflect.Descriptor instead. +func (*DeldatastoreResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{62} } -type ListtransactionsResponse struct { +func (x *DeldatastoreResponse) GetGeneration() uint64 { + if x != nil && x.Generation != nil { + return *x.Generation + } + return 0 +} + +func (x *DeldatastoreResponse) GetHex() []byte { + if x != nil { + return x.Hex + } + return nil +} + +func (x *DeldatastoreResponse) GetString_() string { + if x != nil && x.String_ != nil { + return *x.String_ + } + return "" +} + +func (x *DeldatastoreResponse) GetKey() []string { + if x != nil { + return x.Key + } + return nil +} + +type DelinvoiceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Transactions []*ListtransactionsTransactions `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"` + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + Status DelinvoiceRequest_DelinvoiceStatus `protobuf:"varint,2,opt,name=status,proto3,enum=cln.DelinvoiceRequest_DelinvoiceStatus" json:"status,omitempty"` + Desconly *bool `protobuf:"varint,3,opt,name=desconly,proto3,oneof" json:"desconly,omitempty"` } -func (x *ListtransactionsResponse) Reset() { - *x = ListtransactionsResponse{} +func (x *DelinvoiceRequest) Reset() { + *x = DelinvoiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[69] + mi := &file_node_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListtransactionsResponse) String() string { +func (x *DelinvoiceRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListtransactionsResponse) ProtoMessage() {} +func (*DelinvoiceRequest) ProtoMessage() {} -func (x *ListtransactionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[69] +func (x *DelinvoiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8145,50 +7890,72 @@ func (x *ListtransactionsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListtransactionsResponse.ProtoReflect.Descriptor instead. -func (*ListtransactionsResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{69} +// Deprecated: Use DelinvoiceRequest.ProtoReflect.Descriptor instead. +func (*DelinvoiceRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{63} } -func (x *ListtransactionsResponse) GetTransactions() []*ListtransactionsTransactions { +func (x *DelinvoiceRequest) GetLabel() string { if x != nil { - return x.Transactions + return x.Label } - return nil + return "" } -type ListtransactionsTransactions struct { +func (x *DelinvoiceRequest) GetStatus() DelinvoiceRequest_DelinvoiceStatus { + if x != nil { + return x.Status + } + return DelinvoiceRequest_PAID +} + +func (x *DelinvoiceRequest) GetDesconly() bool { + if x != nil && x.Desconly != nil { + return *x.Desconly + } + return false +} + +type DelinvoiceResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` - Rawtx []byte `protobuf:"bytes,2,opt,name=rawtx,proto3" json:"rawtx,omitempty"` - Blockheight uint32 `protobuf:"varint,3,opt,name=blockheight,proto3" json:"blockheight,omitempty"` - Txindex uint32 `protobuf:"varint,4,opt,name=txindex,proto3" json:"txindex,omitempty"` - Locktime uint32 `protobuf:"varint,7,opt,name=locktime,proto3" json:"locktime,omitempty"` - Version uint32 `protobuf:"varint,8,opt,name=version,proto3" json:"version,omitempty"` - Inputs []*ListtransactionsTransactionsInputs `protobuf:"bytes,9,rep,name=inputs,proto3" json:"inputs,omitempty"` - Outputs []*ListtransactionsTransactionsOutputs `protobuf:"bytes,10,rep,name=outputs,proto3" json:"outputs,omitempty"` + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + Bolt11 *string `protobuf:"bytes,2,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + Bolt12 *string `protobuf:"bytes,3,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` + AmountMsat *Amount `protobuf:"bytes,4,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Description *string `protobuf:"bytes,5,opt,name=description,proto3,oneof" json:"description,omitempty"` + PaymentHash []byte `protobuf:"bytes,6,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Status DelinvoiceResponse_DelinvoiceStatus `protobuf:"varint,7,opt,name=status,proto3,enum=cln.DelinvoiceResponse_DelinvoiceStatus" json:"status,omitempty"` + ExpiresAt uint64 `protobuf:"varint,8,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + LocalOfferId []byte `protobuf:"bytes,9,opt,name=local_offer_id,json=localOfferId,proto3,oneof" json:"local_offer_id,omitempty"` + InvreqPayerNote *string `protobuf:"bytes,11,opt,name=invreq_payer_note,json=invreqPayerNote,proto3,oneof" json:"invreq_payer_note,omitempty"` + CreatedIndex *uint64 `protobuf:"varint,12,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` + UpdatedIndex *uint64 `protobuf:"varint,13,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` + PayIndex *uint64 `protobuf:"varint,14,opt,name=pay_index,json=payIndex,proto3,oneof" json:"pay_index,omitempty"` + AmountReceivedMsat *Amount `protobuf:"bytes,15,opt,name=amount_received_msat,json=amountReceivedMsat,proto3,oneof" json:"amount_received_msat,omitempty"` + PaidAt *uint64 `protobuf:"varint,16,opt,name=paid_at,json=paidAt,proto3,oneof" json:"paid_at,omitempty"` + PaymentPreimage []byte `protobuf:"bytes,17,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` } -func (x *ListtransactionsTransactions) Reset() { - *x = ListtransactionsTransactions{} +func (x *DelinvoiceResponse) Reset() { + *x = DelinvoiceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[70] + mi := &file_node_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListtransactionsTransactions) String() string { +func (x *DelinvoiceResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListtransactionsTransactions) ProtoMessage() {} +func (*DelinvoiceResponse) ProtoMessage() {} -func (x *ListtransactionsTransactions) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[70] +func (x *DelinvoiceResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8199,94 +7966,151 @@ func (x *ListtransactionsTransactions) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListtransactionsTransactions.ProtoReflect.Descriptor instead. -func (*ListtransactionsTransactions) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{70} +// Deprecated: Use DelinvoiceResponse.ProtoReflect.Descriptor instead. +func (*DelinvoiceResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{64} } -func (x *ListtransactionsTransactions) GetHash() []byte { +func (x *DelinvoiceResponse) GetLabel() string { if x != nil { - return x.Hash + return x.Label + } + return "" +} + +func (x *DelinvoiceResponse) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 + } + return "" +} + +func (x *DelinvoiceResponse) GetBolt12() string { + if x != nil && x.Bolt12 != nil { + return *x.Bolt12 + } + return "" +} + +func (x *DelinvoiceResponse) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat } return nil } -func (x *ListtransactionsTransactions) GetRawtx() []byte { +func (x *DelinvoiceResponse) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *DelinvoiceResponse) GetPaymentHash() []byte { if x != nil { - return x.Rawtx + return x.PaymentHash } return nil } -func (x *ListtransactionsTransactions) GetBlockheight() uint32 { +func (x *DelinvoiceResponse) GetStatus() DelinvoiceResponse_DelinvoiceStatus { if x != nil { - return x.Blockheight + return x.Status } - return 0 + return DelinvoiceResponse_PAID } -func (x *ListtransactionsTransactions) GetTxindex() uint32 { +func (x *DelinvoiceResponse) GetExpiresAt() uint64 { if x != nil { - return x.Txindex + return x.ExpiresAt } return 0 } -func (x *ListtransactionsTransactions) GetLocktime() uint32 { +func (x *DelinvoiceResponse) GetLocalOfferId() []byte { if x != nil { - return x.Locktime + return x.LocalOfferId + } + return nil +} + +func (x *DelinvoiceResponse) GetInvreqPayerNote() string { + if x != nil && x.InvreqPayerNote != nil { + return *x.InvreqPayerNote + } + return "" +} + +func (x *DelinvoiceResponse) GetCreatedIndex() uint64 { + if x != nil && x.CreatedIndex != nil { + return *x.CreatedIndex } return 0 } -func (x *ListtransactionsTransactions) GetVersion() uint32 { - if x != nil { - return x.Version +func (x *DelinvoiceResponse) GetUpdatedIndex() uint64 { + if x != nil && x.UpdatedIndex != nil { + return *x.UpdatedIndex } return 0 } -func (x *ListtransactionsTransactions) GetInputs() []*ListtransactionsTransactionsInputs { +func (x *DelinvoiceResponse) GetPayIndex() uint64 { + if x != nil && x.PayIndex != nil { + return *x.PayIndex + } + return 0 +} + +func (x *DelinvoiceResponse) GetAmountReceivedMsat() *Amount { if x != nil { - return x.Inputs + return x.AmountReceivedMsat } return nil } -func (x *ListtransactionsTransactions) GetOutputs() []*ListtransactionsTransactionsOutputs { +func (x *DelinvoiceResponse) GetPaidAt() uint64 { + if x != nil && x.PaidAt != nil { + return *x.PaidAt + } + return 0 +} + +func (x *DelinvoiceResponse) GetPaymentPreimage() []byte { if x != nil { - return x.Outputs + return x.PaymentPreimage } return nil } -type ListtransactionsTransactionsInputs struct { +type DevforgetchannelRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` - Index uint32 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` - Sequence uint32 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"` + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + ShortChannelId *string `protobuf:"bytes,2,opt,name=short_channel_id,json=shortChannelId,proto3,oneof" json:"short_channel_id,omitempty"` + ChannelId []byte `protobuf:"bytes,3,opt,name=channel_id,json=channelId,proto3,oneof" json:"channel_id,omitempty"` + Force *bool `protobuf:"varint,4,opt,name=force,proto3,oneof" json:"force,omitempty"` } -func (x *ListtransactionsTransactionsInputs) Reset() { - *x = ListtransactionsTransactionsInputs{} +func (x *DevforgetchannelRequest) Reset() { + *x = DevforgetchannelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[71] + mi := &file_node_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListtransactionsTransactionsInputs) String() string { +func (x *DevforgetchannelRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListtransactionsTransactionsInputs) ProtoMessage() {} +func (*DevforgetchannelRequest) ProtoMessage() {} -func (x *ListtransactionsTransactionsInputs) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[71] +func (x *DevforgetchannelRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8297,59 +8121,66 @@ func (x *ListtransactionsTransactionsInputs) ProtoReflect() protoreflect.Message return mi.MessageOf(x) } -// Deprecated: Use ListtransactionsTransactionsInputs.ProtoReflect.Descriptor instead. -func (*ListtransactionsTransactionsInputs) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{71} +// Deprecated: Use DevforgetchannelRequest.ProtoReflect.Descriptor instead. +func (*DevforgetchannelRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{65} } -func (x *ListtransactionsTransactionsInputs) GetTxid() []byte { +func (x *DevforgetchannelRequest) GetId() []byte { if x != nil { - return x.Txid + return x.Id } return nil } -func (x *ListtransactionsTransactionsInputs) GetIndex() uint32 { - if x != nil { - return x.Index +func (x *DevforgetchannelRequest) GetShortChannelId() string { + if x != nil && x.ShortChannelId != nil { + return *x.ShortChannelId } - return 0 + return "" } -func (x *ListtransactionsTransactionsInputs) GetSequence() uint32 { +func (x *DevforgetchannelRequest) GetChannelId() []byte { if x != nil { - return x.Sequence + return x.ChannelId } - return 0 + return nil } -type ListtransactionsTransactionsOutputs struct { +func (x *DevforgetchannelRequest) GetForce() bool { + if x != nil && x.Force != nil { + return *x.Force + } + return false +} + +type DevforgetchannelResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Index uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` - AmountMsat *Amount `protobuf:"bytes,6,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` - ScriptPubKey []byte `protobuf:"bytes,3,opt,name=scriptPubKey,proto3" json:"scriptPubKey,omitempty"` + Forced bool `protobuf:"varint,1,opt,name=forced,proto3" json:"forced,omitempty"` + FundingUnspent bool `protobuf:"varint,2,opt,name=funding_unspent,json=fundingUnspent,proto3" json:"funding_unspent,omitempty"` + FundingTxid []byte `protobuf:"bytes,3,opt,name=funding_txid,json=fundingTxid,proto3" json:"funding_txid,omitempty"` } -func (x *ListtransactionsTransactionsOutputs) Reset() { - *x = ListtransactionsTransactionsOutputs{} +func (x *DevforgetchannelResponse) Reset() { + *x = DevforgetchannelResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[72] + mi := &file_node_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListtransactionsTransactionsOutputs) String() string { +func (x *DevforgetchannelResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListtransactionsTransactionsOutputs) ProtoMessage() {} +func (*DevforgetchannelResponse) ProtoMessage() {} -func (x *ListtransactionsTransactionsOutputs) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[72] +func (x *DevforgetchannelResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8360,68 +8191,55 @@ func (x *ListtransactionsTransactionsOutputs) ProtoReflect() protoreflect.Messag return mi.MessageOf(x) } -// Deprecated: Use ListtransactionsTransactionsOutputs.ProtoReflect.Descriptor instead. -func (*ListtransactionsTransactionsOutputs) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{72} +// Deprecated: Use DevforgetchannelResponse.ProtoReflect.Descriptor instead. +func (*DevforgetchannelResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{66} } -func (x *ListtransactionsTransactionsOutputs) GetIndex() uint32 { +func (x *DevforgetchannelResponse) GetForced() bool { if x != nil { - return x.Index + return x.Forced } - return 0 + return false } -func (x *ListtransactionsTransactionsOutputs) GetAmountMsat() *Amount { +func (x *DevforgetchannelResponse) GetFundingUnspent() bool { if x != nil { - return x.AmountMsat + return x.FundingUnspent } - return nil + return false } -func (x *ListtransactionsTransactionsOutputs) GetScriptPubKey() []byte { +func (x *DevforgetchannelResponse) GetFundingTxid() []byte { if x != nil { - return x.ScriptPubKey + return x.FundingTxid } return nil } -type PayRequest struct { +type EmergencyrecoverRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Bolt11 string `protobuf:"bytes,1,opt,name=bolt11,proto3" json:"bolt11,omitempty"` - AmountMsat *Amount `protobuf:"bytes,13,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - Label *string `protobuf:"bytes,3,opt,name=label,proto3,oneof" json:"label,omitempty"` - Riskfactor *float64 `protobuf:"fixed64,8,opt,name=riskfactor,proto3,oneof" json:"riskfactor,omitempty"` - Maxfeepercent *float64 `protobuf:"fixed64,4,opt,name=maxfeepercent,proto3,oneof" json:"maxfeepercent,omitempty"` - RetryFor *uint32 `protobuf:"varint,5,opt,name=retry_for,json=retryFor,proto3,oneof" json:"retry_for,omitempty"` - Maxdelay *uint32 `protobuf:"varint,6,opt,name=maxdelay,proto3,oneof" json:"maxdelay,omitempty"` - Exemptfee *Amount `protobuf:"bytes,7,opt,name=exemptfee,proto3,oneof" json:"exemptfee,omitempty"` - Localinvreqid []byte `protobuf:"bytes,14,opt,name=localinvreqid,proto3,oneof" json:"localinvreqid,omitempty"` - Exclude []string `protobuf:"bytes,10,rep,name=exclude,proto3" json:"exclude,omitempty"` - Maxfee *Amount `protobuf:"bytes,11,opt,name=maxfee,proto3,oneof" json:"maxfee,omitempty"` - Description *string `protobuf:"bytes,12,opt,name=description,proto3,oneof" json:"description,omitempty"` } -func (x *PayRequest) Reset() { - *x = PayRequest{} +func (x *EmergencyrecoverRequest) Reset() { + *x = EmergencyrecoverRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[73] + mi := &file_node_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PayRequest) String() string { +func (x *EmergencyrecoverRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PayRequest) ProtoMessage() {} +func (*EmergencyrecoverRequest) ProtoMessage() {} -func (x *PayRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[73] +func (x *EmergencyrecoverRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8432,128 +8250,83 @@ func (x *PayRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PayRequest.ProtoReflect.Descriptor instead. -func (*PayRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{73} +// Deprecated: Use EmergencyrecoverRequest.ProtoReflect.Descriptor instead. +func (*EmergencyrecoverRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{67} } -func (x *PayRequest) GetBolt11() string { - if x != nil { - return x.Bolt11 - } - return "" -} +type EmergencyrecoverResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *PayRequest) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat - } - return nil + Stubs [][]byte `protobuf:"bytes,1,rep,name=stubs,proto3" json:"stubs,omitempty"` } -func (x *PayRequest) GetLabel() string { - if x != nil && x.Label != nil { - return *x.Label +func (x *EmergencyrecoverResponse) Reset() { + *x = EmergencyrecoverResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *PayRequest) GetRiskfactor() float64 { - if x != nil && x.Riskfactor != nil { - return *x.Riskfactor - } - return 0 +func (x *EmergencyrecoverResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *PayRequest) GetMaxfeepercent() float64 { - if x != nil && x.Maxfeepercent != nil { - return *x.Maxfeepercent - } - return 0 -} - -func (x *PayRequest) GetRetryFor() uint32 { - if x != nil && x.RetryFor != nil { - return *x.RetryFor - } - return 0 -} - -func (x *PayRequest) GetMaxdelay() uint32 { - if x != nil && x.Maxdelay != nil { - return *x.Maxdelay - } - return 0 -} - -func (x *PayRequest) GetExemptfee() *Amount { - if x != nil { - return x.Exemptfee - } - return nil -} +func (*EmergencyrecoverResponse) ProtoMessage() {} -func (x *PayRequest) GetLocalinvreqid() []byte { - if x != nil { - return x.Localinvreqid +func (x *EmergencyrecoverResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[68] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *PayRequest) GetExclude() []string { - if x != nil { - return x.Exclude - } - return nil +// Deprecated: Use EmergencyrecoverResponse.ProtoReflect.Descriptor instead. +func (*EmergencyrecoverResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{68} } -func (x *PayRequest) GetMaxfee() *Amount { +func (x *EmergencyrecoverResponse) GetStubs() [][]byte { if x != nil { - return x.Maxfee + return x.Stubs } return nil } -func (x *PayRequest) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -type PayResponse struct { +type RecoverRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PaymentPreimage []byte `protobuf:"bytes,1,opt,name=payment_preimage,json=paymentPreimage,proto3" json:"payment_preimage,omitempty"` - Destination []byte `protobuf:"bytes,2,opt,name=destination,proto3,oneof" json:"destination,omitempty"` - PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - CreatedAt float64 `protobuf:"fixed64,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - Parts uint32 `protobuf:"varint,5,opt,name=parts,proto3" json:"parts,omitempty"` - AmountMsat *Amount `protobuf:"bytes,6,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` - AmountSentMsat *Amount `protobuf:"bytes,7,opt,name=amount_sent_msat,json=amountSentMsat,proto3" json:"amount_sent_msat,omitempty"` - WarningPartialCompletion *string `protobuf:"bytes,8,opt,name=warning_partial_completion,json=warningPartialCompletion,proto3,oneof" json:"warning_partial_completion,omitempty"` - Status PayResponse_PayStatus `protobuf:"varint,9,opt,name=status,proto3,enum=cln.PayResponse_PayStatus" json:"status,omitempty"` + Hsmsecret string `protobuf:"bytes,1,opt,name=hsmsecret,proto3" json:"hsmsecret,omitempty"` } -func (x *PayResponse) Reset() { - *x = PayResponse{} +func (x *RecoverRequest) Reset() { + *x = RecoverRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[74] + mi := &file_node_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PayResponse) String() string { +func (x *RecoverRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PayResponse) ProtoMessage() {} +func (*RecoverRequest) ProtoMessage() {} -func (x *PayResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[74] +func (x *RecoverRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[69] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8564,99 +8337,90 @@ func (x *PayResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PayResponse.ProtoReflect.Descriptor instead. -func (*PayResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{74} +// Deprecated: Use RecoverRequest.ProtoReflect.Descriptor instead. +func (*RecoverRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{69} } -func (x *PayResponse) GetPaymentPreimage() []byte { +func (x *RecoverRequest) GetHsmsecret() string { if x != nil { - return x.PaymentPreimage + return x.Hsmsecret } - return nil + return "" } -func (x *PayResponse) GetDestination() []byte { - if x != nil { - return x.Destination - } - return nil -} +type RecoverResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *PayResponse) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash - } - return nil + Result *RecoverResponse_RecoverResult `protobuf:"varint,1,opt,name=result,proto3,enum=cln.RecoverResponse_RecoverResult,oneof" json:"result,omitempty"` } -func (x *PayResponse) GetCreatedAt() float64 { - if x != nil { - return x.CreatedAt +func (x *RecoverResponse) Reset() { + *x = RecoverResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *PayResponse) GetParts() uint32 { - if x != nil { - return x.Parts - } - return 0 +func (x *RecoverResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *PayResponse) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat - } - return nil -} +func (*RecoverResponse) ProtoMessage() {} -func (x *PayResponse) GetAmountSentMsat() *Amount { - if x != nil { - return x.AmountSentMsat +func (x *RecoverResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *PayResponse) GetWarningPartialCompletion() string { - if x != nil && x.WarningPartialCompletion != nil { - return *x.WarningPartialCompletion - } - return "" +// Deprecated: Use RecoverResponse.ProtoReflect.Descriptor instead. +func (*RecoverResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{70} } -func (x *PayResponse) GetStatus() PayResponse_PayStatus { - if x != nil { - return x.Status +func (x *RecoverResponse) GetResult() RecoverResponse_RecoverResult { + if x != nil && x.Result != nil { + return *x.Result } - return PayResponse_COMPLETE + return RecoverResponse_RECOVERY_RESTART_IN_PROGRESS } -type ListnodesRequest struct { +type RecoverchannelRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id []byte `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` + Scb [][]byte `protobuf:"bytes,1,rep,name=scb,proto3" json:"scb,omitempty"` } -func (x *ListnodesRequest) Reset() { - *x = ListnodesRequest{} +func (x *RecoverchannelRequest) Reset() { + *x = RecoverchannelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[75] + mi := &file_node_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListnodesRequest) String() string { +func (x *RecoverchannelRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListnodesRequest) ProtoMessage() {} +func (*RecoverchannelRequest) ProtoMessage() {} -func (x *ListnodesRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[75] +func (x *RecoverchannelRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[71] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8667,43 +8431,43 @@ func (x *ListnodesRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListnodesRequest.ProtoReflect.Descriptor instead. -func (*ListnodesRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{75} +// Deprecated: Use RecoverchannelRequest.ProtoReflect.Descriptor instead. +func (*RecoverchannelRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{71} } -func (x *ListnodesRequest) GetId() []byte { +func (x *RecoverchannelRequest) GetScb() [][]byte { if x != nil { - return x.Id + return x.Scb } return nil } -type ListnodesResponse struct { +type RecoverchannelResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Nodes []*ListnodesNodes `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` + Stubs []string `protobuf:"bytes,1,rep,name=stubs,proto3" json:"stubs,omitempty"` } -func (x *ListnodesResponse) Reset() { - *x = ListnodesResponse{} +func (x *RecoverchannelResponse) Reset() { + *x = RecoverchannelResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[76] + mi := &file_node_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListnodesResponse) String() string { +func (x *RecoverchannelResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListnodesResponse) ProtoMessage() {} +func (*RecoverchannelResponse) ProtoMessage() {} -func (x *ListnodesResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[76] +func (x *RecoverchannelResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[72] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8714,48 +8478,51 @@ func (x *ListnodesResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListnodesResponse.ProtoReflect.Descriptor instead. -func (*ListnodesResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{76} +// Deprecated: Use RecoverchannelResponse.ProtoReflect.Descriptor instead. +func (*RecoverchannelResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{72} } -func (x *ListnodesResponse) GetNodes() []*ListnodesNodes { +func (x *RecoverchannelResponse) GetStubs() []string { if x != nil { - return x.Nodes + return x.Stubs } return nil } -type ListnodesNodes struct { +type InvoiceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Nodeid []byte `protobuf:"bytes,1,opt,name=nodeid,proto3" json:"nodeid,omitempty"` - LastTimestamp *uint32 `protobuf:"varint,2,opt,name=last_timestamp,json=lastTimestamp,proto3,oneof" json:"last_timestamp,omitempty"` - Alias *string `protobuf:"bytes,3,opt,name=alias,proto3,oneof" json:"alias,omitempty"` - Color []byte `protobuf:"bytes,4,opt,name=color,proto3,oneof" json:"color,omitempty"` - Features []byte `protobuf:"bytes,5,opt,name=features,proto3,oneof" json:"features,omitempty"` - Addresses []*ListnodesNodesAddresses `protobuf:"bytes,6,rep,name=addresses,proto3" json:"addresses,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Label string `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"` + Fallbacks []string `protobuf:"bytes,4,rep,name=fallbacks,proto3" json:"fallbacks,omitempty"` + Preimage []byte `protobuf:"bytes,5,opt,name=preimage,proto3,oneof" json:"preimage,omitempty"` + Cltv *uint32 `protobuf:"varint,6,opt,name=cltv,proto3,oneof" json:"cltv,omitempty"` + Expiry *uint64 `protobuf:"varint,7,opt,name=expiry,proto3,oneof" json:"expiry,omitempty"` + Exposeprivatechannels []string `protobuf:"bytes,8,rep,name=exposeprivatechannels,proto3" json:"exposeprivatechannels,omitempty"` + Deschashonly *bool `protobuf:"varint,9,opt,name=deschashonly,proto3,oneof" json:"deschashonly,omitempty"` + AmountMsat *AmountOrAny `protobuf:"bytes,10,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` } -func (x *ListnodesNodes) Reset() { - *x = ListnodesNodes{} +func (x *InvoiceRequest) Reset() { + *x = InvoiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[77] + mi := &file_node_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListnodesNodes) String() string { +func (x *InvoiceRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListnodesNodes) ProtoMessage() {} +func (*InvoiceRequest) ProtoMessage() {} -func (x *ListnodesNodes) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[77] +func (x *InvoiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[73] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8766,80 +8533,108 @@ func (x *ListnodesNodes) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListnodesNodes.ProtoReflect.Descriptor instead. -func (*ListnodesNodes) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{77} +// Deprecated: Use InvoiceRequest.ProtoReflect.Descriptor instead. +func (*InvoiceRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{73} } -func (x *ListnodesNodes) GetNodeid() []byte { +func (x *InvoiceRequest) GetDescription() string { if x != nil { - return x.Nodeid + return x.Description } - return nil + return "" } -func (x *ListnodesNodes) GetLastTimestamp() uint32 { - if x != nil && x.LastTimestamp != nil { - return *x.LastTimestamp +func (x *InvoiceRequest) GetLabel() string { + if x != nil { + return x.Label } - return 0 + return "" } -func (x *ListnodesNodes) GetAlias() string { - if x != nil && x.Alias != nil { - return *x.Alias +func (x *InvoiceRequest) GetFallbacks() []string { + if x != nil { + return x.Fallbacks } - return "" + return nil } -func (x *ListnodesNodes) GetColor() []byte { +func (x *InvoiceRequest) GetPreimage() []byte { if x != nil { - return x.Color + return x.Preimage } return nil } -func (x *ListnodesNodes) GetFeatures() []byte { +func (x *InvoiceRequest) GetCltv() uint32 { + if x != nil && x.Cltv != nil { + return *x.Cltv + } + return 0 +} + +func (x *InvoiceRequest) GetExpiry() uint64 { + if x != nil && x.Expiry != nil { + return *x.Expiry + } + return 0 +} + +func (x *InvoiceRequest) GetExposeprivatechannels() []string { if x != nil { - return x.Features + return x.Exposeprivatechannels } return nil } -func (x *ListnodesNodes) GetAddresses() []*ListnodesNodesAddresses { +func (x *InvoiceRequest) GetDeschashonly() bool { + if x != nil && x.Deschashonly != nil { + return *x.Deschashonly + } + return false +} + +func (x *InvoiceRequest) GetAmountMsat() *AmountOrAny { if x != nil { - return x.Addresses + return x.AmountMsat } return nil } -type ListnodesNodesAddresses struct { +type InvoiceResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ItemType ListnodesNodesAddresses_ListnodesNodesAddressesType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.ListnodesNodesAddresses_ListnodesNodesAddressesType" json:"item_type,omitempty"` - Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` - Address *string `protobuf:"bytes,3,opt,name=address,proto3,oneof" json:"address,omitempty"` + Bolt11 string `protobuf:"bytes,1,opt,name=bolt11,proto3" json:"bolt11,omitempty"` + PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + PaymentSecret []byte `protobuf:"bytes,3,opt,name=payment_secret,json=paymentSecret,proto3" json:"payment_secret,omitempty"` + ExpiresAt uint64 `protobuf:"varint,4,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + WarningCapacity *string `protobuf:"bytes,5,opt,name=warning_capacity,json=warningCapacity,proto3,oneof" json:"warning_capacity,omitempty"` + WarningOffline *string `protobuf:"bytes,6,opt,name=warning_offline,json=warningOffline,proto3,oneof" json:"warning_offline,omitempty"` + WarningDeadends *string `protobuf:"bytes,7,opt,name=warning_deadends,json=warningDeadends,proto3,oneof" json:"warning_deadends,omitempty"` + WarningPrivateUnused *string `protobuf:"bytes,8,opt,name=warning_private_unused,json=warningPrivateUnused,proto3,oneof" json:"warning_private_unused,omitempty"` + WarningMpp *string `protobuf:"bytes,9,opt,name=warning_mpp,json=warningMpp,proto3,oneof" json:"warning_mpp,omitempty"` + CreatedIndex *uint64 `protobuf:"varint,10,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` } -func (x *ListnodesNodesAddresses) Reset() { - *x = ListnodesNodesAddresses{} +func (x *InvoiceResponse) Reset() { + *x = InvoiceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[78] + mi := &file_node_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListnodesNodesAddresses) String() string { +func (x *InvoiceResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListnodesNodesAddresses) ProtoMessage() {} +func (*InvoiceResponse) ProtoMessage() {} -func (x *ListnodesNodesAddresses) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[78] +func (x *InvoiceResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[74] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8850,126 +8645,111 @@ func (x *ListnodesNodesAddresses) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListnodesNodesAddresses.ProtoReflect.Descriptor instead. -func (*ListnodesNodesAddresses) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{78} +// Deprecated: Use InvoiceResponse.ProtoReflect.Descriptor instead. +func (*InvoiceResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{74} } -func (x *ListnodesNodesAddresses) GetItemType() ListnodesNodesAddresses_ListnodesNodesAddressesType { +func (x *InvoiceResponse) GetBolt11() string { if x != nil { - return x.ItemType + return x.Bolt11 } - return ListnodesNodesAddresses_DNS + return "" } -func (x *ListnodesNodesAddresses) GetPort() uint32 { +func (x *InvoiceResponse) GetPaymentHash() []byte { if x != nil { - return x.Port + return x.PaymentHash } - return 0 + return nil } -func (x *ListnodesNodesAddresses) GetAddress() string { - if x != nil && x.Address != nil { - return *x.Address +func (x *InvoiceResponse) GetPaymentSecret() []byte { + if x != nil { + return x.PaymentSecret } - return "" + return nil } -type WaitanyinvoiceRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LastpayIndex *uint64 `protobuf:"varint,1,opt,name=lastpay_index,json=lastpayIndex,proto3,oneof" json:"lastpay_index,omitempty"` - Timeout *uint64 `protobuf:"varint,2,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"` +func (x *InvoiceResponse) GetExpiresAt() uint64 { + if x != nil { + return x.ExpiresAt + } + return 0 } -func (x *WaitanyinvoiceRequest) Reset() { - *x = WaitanyinvoiceRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[79] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *InvoiceResponse) GetWarningCapacity() string { + if x != nil && x.WarningCapacity != nil { + return *x.WarningCapacity } + return "" } -func (x *WaitanyinvoiceRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *InvoiceResponse) GetWarningOffline() string { + if x != nil && x.WarningOffline != nil { + return *x.WarningOffline + } + return "" } -func (*WaitanyinvoiceRequest) ProtoMessage() {} - -func (x *WaitanyinvoiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[79] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *InvoiceResponse) GetWarningDeadends() string { + if x != nil && x.WarningDeadends != nil { + return *x.WarningDeadends } - return mi.MessageOf(x) + return "" } -// Deprecated: Use WaitanyinvoiceRequest.ProtoReflect.Descriptor instead. -func (*WaitanyinvoiceRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{79} +func (x *InvoiceResponse) GetWarningPrivateUnused() string { + if x != nil && x.WarningPrivateUnused != nil { + return *x.WarningPrivateUnused + } + return "" } -func (x *WaitanyinvoiceRequest) GetLastpayIndex() uint64 { - if x != nil && x.LastpayIndex != nil { - return *x.LastpayIndex +func (x *InvoiceResponse) GetWarningMpp() string { + if x != nil && x.WarningMpp != nil { + return *x.WarningMpp } - return 0 + return "" } -func (x *WaitanyinvoiceRequest) GetTimeout() uint64 { - if x != nil && x.Timeout != nil { - return *x.Timeout +func (x *InvoiceResponse) GetCreatedIndex() uint64 { + if x != nil && x.CreatedIndex != nil { + return *x.CreatedIndex } return 0 } -type WaitanyinvoiceResponse struct { +type InvoicerequestRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - Status WaitanyinvoiceResponse_WaitanyinvoiceStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cln.WaitanyinvoiceResponse_WaitanyinvoiceStatus" json:"status,omitempty"` - ExpiresAt uint64 `protobuf:"varint,5,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` - AmountMsat *Amount `protobuf:"bytes,6,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - Bolt11 *string `protobuf:"bytes,7,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` - Bolt12 *string `protobuf:"bytes,8,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` - CreatedIndex *uint64 `protobuf:"varint,13,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` - UpdatedIndex *uint64 `protobuf:"varint,14,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` - PayIndex *uint64 `protobuf:"varint,9,opt,name=pay_index,json=payIndex,proto3,oneof" json:"pay_index,omitempty"` - AmountReceivedMsat *Amount `protobuf:"bytes,10,opt,name=amount_received_msat,json=amountReceivedMsat,proto3,oneof" json:"amount_received_msat,omitempty"` - PaidAt *uint64 `protobuf:"varint,11,opt,name=paid_at,json=paidAt,proto3,oneof" json:"paid_at,omitempty"` - PaidOutpoint *WaitanyinvoicePaidOutpoint `protobuf:"bytes,15,opt,name=paid_outpoint,json=paidOutpoint,proto3,oneof" json:"paid_outpoint,omitempty"` - PaymentPreimage []byte `protobuf:"bytes,12,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` + Amount *Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Issuer *string `protobuf:"bytes,3,opt,name=issuer,proto3,oneof" json:"issuer,omitempty"` + Label *string `protobuf:"bytes,4,opt,name=label,proto3,oneof" json:"label,omitempty"` + AbsoluteExpiry *uint64 `protobuf:"varint,5,opt,name=absolute_expiry,json=absoluteExpiry,proto3,oneof" json:"absolute_expiry,omitempty"` + SingleUse *bool `protobuf:"varint,6,opt,name=single_use,json=singleUse,proto3,oneof" json:"single_use,omitempty"` } -func (x *WaitanyinvoiceResponse) Reset() { - *x = WaitanyinvoiceResponse{} +func (x *InvoicerequestRequest) Reset() { + *x = InvoicerequestRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[80] + mi := &file_node_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WaitanyinvoiceResponse) String() string { +func (x *InvoicerequestRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WaitanyinvoiceResponse) ProtoMessage() {} +func (*InvoicerequestRequest) ProtoMessage() {} -func (x *WaitanyinvoiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[80] +func (x *InvoicerequestRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[75] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8980,142 +8760,83 @@ func (x *WaitanyinvoiceResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WaitanyinvoiceResponse.ProtoReflect.Descriptor instead. -func (*WaitanyinvoiceResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{80} +// Deprecated: Use InvoicerequestRequest.ProtoReflect.Descriptor instead. +func (*InvoicerequestRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{75} } -func (x *WaitanyinvoiceResponse) GetLabel() string { +func (x *InvoicerequestRequest) GetAmount() *Amount { if x != nil { - return x.Label + return x.Amount } - return "" + return nil } -func (x *WaitanyinvoiceResponse) GetDescription() string { +func (x *InvoicerequestRequest) GetDescription() string { if x != nil { return x.Description } return "" } -func (x *WaitanyinvoiceResponse) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash - } - return nil -} - -func (x *WaitanyinvoiceResponse) GetStatus() WaitanyinvoiceResponse_WaitanyinvoiceStatus { - if x != nil { - return x.Status - } - return WaitanyinvoiceResponse_PAID -} - -func (x *WaitanyinvoiceResponse) GetExpiresAt() uint64 { - if x != nil { - return x.ExpiresAt - } - return 0 -} - -func (x *WaitanyinvoiceResponse) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat - } - return nil -} - -func (x *WaitanyinvoiceResponse) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 +func (x *InvoicerequestRequest) GetIssuer() string { + if x != nil && x.Issuer != nil { + return *x.Issuer } return "" } -func (x *WaitanyinvoiceResponse) GetBolt12() string { - if x != nil && x.Bolt12 != nil { - return *x.Bolt12 +func (x *InvoicerequestRequest) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label } return "" } -func (x *WaitanyinvoiceResponse) GetCreatedIndex() uint64 { - if x != nil && x.CreatedIndex != nil { - return *x.CreatedIndex - } - return 0 -} - -func (x *WaitanyinvoiceResponse) GetUpdatedIndex() uint64 { - if x != nil && x.UpdatedIndex != nil { - return *x.UpdatedIndex - } - return 0 -} - -func (x *WaitanyinvoiceResponse) GetPayIndex() uint64 { - if x != nil && x.PayIndex != nil { - return *x.PayIndex - } - return 0 -} - -func (x *WaitanyinvoiceResponse) GetAmountReceivedMsat() *Amount { - if x != nil { - return x.AmountReceivedMsat - } - return nil -} - -func (x *WaitanyinvoiceResponse) GetPaidAt() uint64 { - if x != nil && x.PaidAt != nil { - return *x.PaidAt +func (x *InvoicerequestRequest) GetAbsoluteExpiry() uint64 { + if x != nil && x.AbsoluteExpiry != nil { + return *x.AbsoluteExpiry } return 0 } -func (x *WaitanyinvoiceResponse) GetPaidOutpoint() *WaitanyinvoicePaidOutpoint { - if x != nil { - return x.PaidOutpoint - } - return nil -} - -func (x *WaitanyinvoiceResponse) GetPaymentPreimage() []byte { - if x != nil { - return x.PaymentPreimage +func (x *InvoicerequestRequest) GetSingleUse() bool { + if x != nil && x.SingleUse != nil { + return *x.SingleUse } - return nil + return false } -type WaitanyinvoicePaidOutpoint struct { +type InvoicerequestResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3,oneof" json:"txid,omitempty"` - Outnum *uint32 `protobuf:"varint,2,opt,name=outnum,proto3,oneof" json:"outnum,omitempty"` + InvreqId []byte `protobuf:"bytes,1,opt,name=invreq_id,json=invreqId,proto3" json:"invreq_id,omitempty"` + Active bool `protobuf:"varint,2,opt,name=active,proto3" json:"active,omitempty"` + SingleUse bool `protobuf:"varint,3,opt,name=single_use,json=singleUse,proto3" json:"single_use,omitempty"` + Bolt12 string `protobuf:"bytes,4,opt,name=bolt12,proto3" json:"bolt12,omitempty"` + Used bool `protobuf:"varint,5,opt,name=used,proto3" json:"used,omitempty"` + Label *string `protobuf:"bytes,6,opt,name=label,proto3,oneof" json:"label,omitempty"` } -func (x *WaitanyinvoicePaidOutpoint) Reset() { - *x = WaitanyinvoicePaidOutpoint{} +func (x *InvoicerequestResponse) Reset() { + *x = InvoicerequestResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[81] + mi := &file_node_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WaitanyinvoicePaidOutpoint) String() string { +func (x *InvoicerequestResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WaitanyinvoicePaidOutpoint) ProtoMessage() {} +func (*InvoicerequestResponse) ProtoMessage() {} -func (x *WaitanyinvoicePaidOutpoint) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[81] +func (x *InvoicerequestResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[76] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9126,50 +8847,78 @@ func (x *WaitanyinvoicePaidOutpoint) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WaitanyinvoicePaidOutpoint.ProtoReflect.Descriptor instead. -func (*WaitanyinvoicePaidOutpoint) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{81} +// Deprecated: Use InvoicerequestResponse.ProtoReflect.Descriptor instead. +func (*InvoicerequestResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{76} } -func (x *WaitanyinvoicePaidOutpoint) GetTxid() []byte { +func (x *InvoicerequestResponse) GetInvreqId() []byte { if x != nil { - return x.Txid + return x.InvreqId } return nil } -func (x *WaitanyinvoicePaidOutpoint) GetOutnum() uint32 { - if x != nil && x.Outnum != nil { - return *x.Outnum +func (x *InvoicerequestResponse) GetActive() bool { + if x != nil { + return x.Active } - return 0 + return false } -type WaitinvoiceRequest struct { +func (x *InvoicerequestResponse) GetSingleUse() bool { + if x != nil { + return x.SingleUse + } + return false +} + +func (x *InvoicerequestResponse) GetBolt12() string { + if x != nil { + return x.Bolt12 + } + return "" +} + +func (x *InvoicerequestResponse) GetUsed() bool { + if x != nil { + return x.Used + } + return false +} + +func (x *InvoicerequestResponse) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label + } + return "" +} + +type DisableinvoicerequestRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + InvreqId string `protobuf:"bytes,1,opt,name=invreq_id,json=invreqId,proto3" json:"invreq_id,omitempty"` } -func (x *WaitinvoiceRequest) Reset() { - *x = WaitinvoiceRequest{} +func (x *DisableinvoicerequestRequest) Reset() { + *x = DisableinvoicerequestRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[82] + mi := &file_node_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WaitinvoiceRequest) String() string { +func (x *DisableinvoicerequestRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WaitinvoiceRequest) ProtoMessage() {} +func (*DisableinvoicerequestRequest) ProtoMessage() {} -func (x *WaitinvoiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[82] +func (x *DisableinvoicerequestRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[77] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9180,57 +8929,48 @@ func (x *WaitinvoiceRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WaitinvoiceRequest.ProtoReflect.Descriptor instead. -func (*WaitinvoiceRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{82} +// Deprecated: Use DisableinvoicerequestRequest.ProtoReflect.Descriptor instead. +func (*DisableinvoicerequestRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{77} } -func (x *WaitinvoiceRequest) GetLabel() string { +func (x *DisableinvoicerequestRequest) GetInvreqId() string { if x != nil { - return x.Label + return x.InvreqId } return "" } -type WaitinvoiceResponse struct { +type DisableinvoicerequestResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - Status WaitinvoiceResponse_WaitinvoiceStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cln.WaitinvoiceResponse_WaitinvoiceStatus" json:"status,omitempty"` - ExpiresAt uint64 `protobuf:"varint,5,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` - AmountMsat *Amount `protobuf:"bytes,6,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - Bolt11 *string `protobuf:"bytes,7,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` - Bolt12 *string `protobuf:"bytes,8,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` - CreatedIndex *uint64 `protobuf:"varint,13,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` - UpdatedIndex *uint64 `protobuf:"varint,14,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` - PayIndex *uint64 `protobuf:"varint,9,opt,name=pay_index,json=payIndex,proto3,oneof" json:"pay_index,omitempty"` - AmountReceivedMsat *Amount `protobuf:"bytes,10,opt,name=amount_received_msat,json=amountReceivedMsat,proto3,oneof" json:"amount_received_msat,omitempty"` - PaidAt *uint64 `protobuf:"varint,11,opt,name=paid_at,json=paidAt,proto3,oneof" json:"paid_at,omitempty"` - PaidOutpoint *WaitinvoicePaidOutpoint `protobuf:"bytes,15,opt,name=paid_outpoint,json=paidOutpoint,proto3,oneof" json:"paid_outpoint,omitempty"` - PaymentPreimage []byte `protobuf:"bytes,12,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` + InvreqId []byte `protobuf:"bytes,1,opt,name=invreq_id,json=invreqId,proto3" json:"invreq_id,omitempty"` + Active bool `protobuf:"varint,2,opt,name=active,proto3" json:"active,omitempty"` + SingleUse bool `protobuf:"varint,3,opt,name=single_use,json=singleUse,proto3" json:"single_use,omitempty"` + Bolt12 string `protobuf:"bytes,4,opt,name=bolt12,proto3" json:"bolt12,omitempty"` + Used bool `protobuf:"varint,5,opt,name=used,proto3" json:"used,omitempty"` + Label *string `protobuf:"bytes,6,opt,name=label,proto3,oneof" json:"label,omitempty"` } -func (x *WaitinvoiceResponse) Reset() { - *x = WaitinvoiceResponse{} +func (x *DisableinvoicerequestResponse) Reset() { + *x = DisableinvoicerequestResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[83] + mi := &file_node_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WaitinvoiceResponse) String() string { +func (x *DisableinvoicerequestResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WaitinvoiceResponse) ProtoMessage() {} +func (*DisableinvoicerequestResponse) ProtoMessage() {} -func (x *WaitinvoiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[83] +func (x *DisableinvoicerequestResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[78] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9241,142 +8981,133 @@ func (x *WaitinvoiceResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WaitinvoiceResponse.ProtoReflect.Descriptor instead. -func (*WaitinvoiceResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{83} -} - -func (x *WaitinvoiceResponse) GetLabel() string { - if x != nil { - return x.Label - } - return "" +// Deprecated: Use DisableinvoicerequestResponse.ProtoReflect.Descriptor instead. +func (*DisableinvoicerequestResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{78} } -func (x *WaitinvoiceResponse) GetDescription() string { +func (x *DisableinvoicerequestResponse) GetInvreqId() []byte { if x != nil { - return x.Description + return x.InvreqId } - return "" + return nil } -func (x *WaitinvoiceResponse) GetPaymentHash() []byte { +func (x *DisableinvoicerequestResponse) GetActive() bool { if x != nil { - return x.PaymentHash + return x.Active } - return nil + return false } -func (x *WaitinvoiceResponse) GetStatus() WaitinvoiceResponse_WaitinvoiceStatus { +func (x *DisableinvoicerequestResponse) GetSingleUse() bool { if x != nil { - return x.Status + return x.SingleUse } - return WaitinvoiceResponse_PAID + return false } -func (x *WaitinvoiceResponse) GetExpiresAt() uint64 { +func (x *DisableinvoicerequestResponse) GetBolt12() string { if x != nil { - return x.ExpiresAt + return x.Bolt12 } - return 0 + return "" } -func (x *WaitinvoiceResponse) GetAmountMsat() *Amount { +func (x *DisableinvoicerequestResponse) GetUsed() bool { if x != nil { - return x.AmountMsat + return x.Used } - return nil + return false } -func (x *WaitinvoiceResponse) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 +func (x *DisableinvoicerequestResponse) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label } return "" } -func (x *WaitinvoiceResponse) GetBolt12() string { - if x != nil && x.Bolt12 != nil { - return *x.Bolt12 - } - return "" -} +type ListinvoicerequestsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *WaitinvoiceResponse) GetCreatedIndex() uint64 { - if x != nil && x.CreatedIndex != nil { - return *x.CreatedIndex - } - return 0 + InvreqId *string `protobuf:"bytes,1,opt,name=invreq_id,json=invreqId,proto3,oneof" json:"invreq_id,omitempty"` + ActiveOnly *bool `protobuf:"varint,2,opt,name=active_only,json=activeOnly,proto3,oneof" json:"active_only,omitempty"` } -func (x *WaitinvoiceResponse) GetUpdatedIndex() uint64 { - if x != nil && x.UpdatedIndex != nil { - return *x.UpdatedIndex +func (x *ListinvoicerequestsRequest) Reset() { + *x = ListinvoicerequestsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *WaitinvoiceResponse) GetPayIndex() uint64 { - if x != nil && x.PayIndex != nil { - return *x.PayIndex - } - return 0 +func (x *ListinvoicerequestsRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *WaitinvoiceResponse) GetAmountReceivedMsat() *Amount { - if x != nil { - return x.AmountReceivedMsat +func (*ListinvoicerequestsRequest) ProtoMessage() {} + +func (x *ListinvoicerequestsRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[79] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *WaitinvoiceResponse) GetPaidAt() uint64 { - if x != nil && x.PaidAt != nil { - return *x.PaidAt - } - return 0 +// Deprecated: Use ListinvoicerequestsRequest.ProtoReflect.Descriptor instead. +func (*ListinvoicerequestsRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{79} } -func (x *WaitinvoiceResponse) GetPaidOutpoint() *WaitinvoicePaidOutpoint { - if x != nil { - return x.PaidOutpoint +func (x *ListinvoicerequestsRequest) GetInvreqId() string { + if x != nil && x.InvreqId != nil { + return *x.InvreqId } - return nil + return "" } -func (x *WaitinvoiceResponse) GetPaymentPreimage() []byte { - if x != nil { - return x.PaymentPreimage +func (x *ListinvoicerequestsRequest) GetActiveOnly() bool { + if x != nil && x.ActiveOnly != nil { + return *x.ActiveOnly } - return nil + return false } -type WaitinvoicePaidOutpoint struct { +type ListinvoicerequestsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3,oneof" json:"txid,omitempty"` - Outnum *uint32 `protobuf:"varint,2,opt,name=outnum,proto3,oneof" json:"outnum,omitempty"` + Invoicerequests []*ListinvoicerequestsInvoicerequests `protobuf:"bytes,1,rep,name=invoicerequests,proto3" json:"invoicerequests,omitempty"` } -func (x *WaitinvoicePaidOutpoint) Reset() { - *x = WaitinvoicePaidOutpoint{} +func (x *ListinvoicerequestsResponse) Reset() { + *x = ListinvoicerequestsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[84] + mi := &file_node_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WaitinvoicePaidOutpoint) String() string { +func (x *ListinvoicerequestsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WaitinvoicePaidOutpoint) ProtoMessage() {} +func (*ListinvoicerequestsResponse) ProtoMessage() {} -func (x *WaitinvoicePaidOutpoint) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[84] +func (x *ListinvoicerequestsResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[80] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9387,53 +9118,48 @@ func (x *WaitinvoicePaidOutpoint) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WaitinvoicePaidOutpoint.ProtoReflect.Descriptor instead. -func (*WaitinvoicePaidOutpoint) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{84} +// Deprecated: Use ListinvoicerequestsResponse.ProtoReflect.Descriptor instead. +func (*ListinvoicerequestsResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{80} } -func (x *WaitinvoicePaidOutpoint) GetTxid() []byte { +func (x *ListinvoicerequestsResponse) GetInvoicerequests() []*ListinvoicerequestsInvoicerequests { if x != nil { - return x.Txid + return x.Invoicerequests } return nil } -func (x *WaitinvoicePaidOutpoint) GetOutnum() uint32 { - if x != nil && x.Outnum != nil { - return *x.Outnum - } - return 0 -} - -type WaitsendpayRequest struct { +type ListinvoicerequestsInvoicerequests struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - Timeout *uint32 `protobuf:"varint,3,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"` - Partid *uint64 `protobuf:"varint,2,opt,name=partid,proto3,oneof" json:"partid,omitempty"` - Groupid *uint64 `protobuf:"varint,4,opt,name=groupid,proto3,oneof" json:"groupid,omitempty"` + InvreqId []byte `protobuf:"bytes,1,opt,name=invreq_id,json=invreqId,proto3" json:"invreq_id,omitempty"` + Active bool `protobuf:"varint,2,opt,name=active,proto3" json:"active,omitempty"` + SingleUse bool `protobuf:"varint,3,opt,name=single_use,json=singleUse,proto3" json:"single_use,omitempty"` + Bolt12 string `protobuf:"bytes,4,opt,name=bolt12,proto3" json:"bolt12,omitempty"` + Used bool `protobuf:"varint,5,opt,name=used,proto3" json:"used,omitempty"` + Label *string `protobuf:"bytes,6,opt,name=label,proto3,oneof" json:"label,omitempty"` } -func (x *WaitsendpayRequest) Reset() { - *x = WaitsendpayRequest{} +func (x *ListinvoicerequestsInvoicerequests) Reset() { + *x = ListinvoicerequestsInvoicerequests{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[85] + mi := &file_node_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WaitsendpayRequest) String() string { +func (x *ListinvoicerequestsInvoicerequests) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WaitsendpayRequest) ProtoMessage() {} +func (*ListinvoicerequestsInvoicerequests) ProtoMessage() {} -func (x *WaitsendpayRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[85] +func (x *ListinvoicerequestsInvoicerequests) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[81] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9444,79 +9170,78 @@ func (x *WaitsendpayRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WaitsendpayRequest.ProtoReflect.Descriptor instead. -func (*WaitsendpayRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{85} +// Deprecated: Use ListinvoicerequestsInvoicerequests.ProtoReflect.Descriptor instead. +func (*ListinvoicerequestsInvoicerequests) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{81} } -func (x *WaitsendpayRequest) GetPaymentHash() []byte { +func (x *ListinvoicerequestsInvoicerequests) GetInvreqId() []byte { if x != nil { - return x.PaymentHash + return x.InvreqId } return nil } -func (x *WaitsendpayRequest) GetTimeout() uint32 { - if x != nil && x.Timeout != nil { - return *x.Timeout +func (x *ListinvoicerequestsInvoicerequests) GetActive() bool { + if x != nil { + return x.Active } - return 0 + return false } -func (x *WaitsendpayRequest) GetPartid() uint64 { - if x != nil && x.Partid != nil { - return *x.Partid +func (x *ListinvoicerequestsInvoicerequests) GetSingleUse() bool { + if x != nil { + return x.SingleUse } - return 0 + return false } -func (x *WaitsendpayRequest) GetGroupid() uint64 { - if x != nil && x.Groupid != nil { - return *x.Groupid +func (x *ListinvoicerequestsInvoicerequests) GetBolt12() string { + if x != nil { + return x.Bolt12 } - return 0 + return "" } -type WaitsendpayResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CreatedIndex *uint64 `protobuf:"varint,15,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` - Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Groupid *uint64 `protobuf:"varint,2,opt,name=groupid,proto3,oneof" json:"groupid,omitempty"` - PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - Status WaitsendpayResponse_WaitsendpayStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cln.WaitsendpayResponse_WaitsendpayStatus" json:"status,omitempty"` - AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - Destination []byte `protobuf:"bytes,6,opt,name=destination,proto3,oneof" json:"destination,omitempty"` - CreatedAt uint64 `protobuf:"varint,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - UpdatedIndex *uint64 `protobuf:"varint,16,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` - CompletedAt *float64 `protobuf:"fixed64,14,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` - AmountSentMsat *Amount `protobuf:"bytes,8,opt,name=amount_sent_msat,json=amountSentMsat,proto3" json:"amount_sent_msat,omitempty"` - Label *string `protobuf:"bytes,9,opt,name=label,proto3,oneof" json:"label,omitempty"` - Partid *uint64 `protobuf:"varint,10,opt,name=partid,proto3,oneof" json:"partid,omitempty"` - Bolt11 *string `protobuf:"bytes,11,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` - Bolt12 *string `protobuf:"bytes,12,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` - PaymentPreimage []byte `protobuf:"bytes,13,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` +func (x *ListinvoicerequestsInvoicerequests) GetUsed() bool { + if x != nil { + return x.Used + } + return false } -func (x *WaitsendpayResponse) Reset() { - *x = WaitsendpayResponse{} +func (x *ListinvoicerequestsInvoicerequests) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label + } + return "" +} + +type ListdatastoreRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Key []string `protobuf:"bytes,2,rep,name=key,proto3" json:"key,omitempty"` +} + +func (x *ListdatastoreRequest) Reset() { + *x = ListdatastoreRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[86] + mi := &file_node_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WaitsendpayResponse) String() string { +func (x *ListdatastoreRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WaitsendpayResponse) ProtoMessage() {} +func (*ListdatastoreRequest) ProtoMessage() {} -func (x *WaitsendpayResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[86] +func (x *ListdatastoreRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[82] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9527,148 +9252,93 @@ func (x *WaitsendpayResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WaitsendpayResponse.ProtoReflect.Descriptor instead. -func (*WaitsendpayResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{86} -} - -func (x *WaitsendpayResponse) GetCreatedIndex() uint64 { - if x != nil && x.CreatedIndex != nil { - return *x.CreatedIndex - } - return 0 -} - -func (x *WaitsendpayResponse) GetId() uint64 { - if x != nil { - return x.Id - } - return 0 -} - -func (x *WaitsendpayResponse) GetGroupid() uint64 { - if x != nil && x.Groupid != nil { - return *x.Groupid - } - return 0 -} - -func (x *WaitsendpayResponse) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash - } - return nil -} - -func (x *WaitsendpayResponse) GetStatus() WaitsendpayResponse_WaitsendpayStatus { - if x != nil { - return x.Status - } - return WaitsendpayResponse_COMPLETE -} - -func (x *WaitsendpayResponse) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat - } - return nil +// Deprecated: Use ListdatastoreRequest.ProtoReflect.Descriptor instead. +func (*ListdatastoreRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{82} } -func (x *WaitsendpayResponse) GetDestination() []byte { +func (x *ListdatastoreRequest) GetKey() []string { if x != nil { - return x.Destination + return x.Key } return nil } -func (x *WaitsendpayResponse) GetCreatedAt() uint64 { - if x != nil { - return x.CreatedAt - } - return 0 -} - -func (x *WaitsendpayResponse) GetUpdatedIndex() uint64 { - if x != nil && x.UpdatedIndex != nil { - return *x.UpdatedIndex - } - return 0 -} +type ListdatastoreResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *WaitsendpayResponse) GetCompletedAt() float64 { - if x != nil && x.CompletedAt != nil { - return *x.CompletedAt - } - return 0 + Datastore []*ListdatastoreDatastore `protobuf:"bytes,1,rep,name=datastore,proto3" json:"datastore,omitempty"` } -func (x *WaitsendpayResponse) GetAmountSentMsat() *Amount { - if x != nil { - return x.AmountSentMsat +func (x *ListdatastoreResponse) Reset() { + *x = ListdatastoreResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *WaitsendpayResponse) GetLabel() string { - if x != nil && x.Label != nil { - return *x.Label - } - return "" +func (x *ListdatastoreResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *WaitsendpayResponse) GetPartid() uint64 { - if x != nil && x.Partid != nil { - return *x.Partid - } - return 0 -} +func (*ListdatastoreResponse) ProtoMessage() {} -func (x *WaitsendpayResponse) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 +func (x *ListdatastoreResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[83] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *WaitsendpayResponse) GetBolt12() string { - if x != nil && x.Bolt12 != nil { - return *x.Bolt12 - } - return "" +// Deprecated: Use ListdatastoreResponse.ProtoReflect.Descriptor instead. +func (*ListdatastoreResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{83} } -func (x *WaitsendpayResponse) GetPaymentPreimage() []byte { +func (x *ListdatastoreResponse) GetDatastore() []*ListdatastoreDatastore { if x != nil { - return x.PaymentPreimage + return x.Datastore } return nil } -type NewaddrRequest struct { +type ListdatastoreDatastore struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Addresstype *NewaddrRequest_NewaddrAddresstype `protobuf:"varint,1,opt,name=addresstype,proto3,enum=cln.NewaddrRequest_NewaddrAddresstype,oneof" json:"addresstype,omitempty"` + Key []string `protobuf:"bytes,1,rep,name=key,proto3" json:"key,omitempty"` + Generation *uint64 `protobuf:"varint,2,opt,name=generation,proto3,oneof" json:"generation,omitempty"` + Hex []byte `protobuf:"bytes,3,opt,name=hex,proto3,oneof" json:"hex,omitempty"` + String_ *string `protobuf:"bytes,4,opt,name=string,proto3,oneof" json:"string,omitempty"` } -func (x *NewaddrRequest) Reset() { - *x = NewaddrRequest{} +func (x *ListdatastoreDatastore) Reset() { + *x = ListdatastoreDatastore{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[87] + mi := &file_node_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NewaddrRequest) String() string { +func (x *ListdatastoreDatastore) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NewaddrRequest) ProtoMessage() {} +func (*ListdatastoreDatastore) ProtoMessage() {} -func (x *NewaddrRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[87] +func (x *ListdatastoreDatastore) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[84] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9679,44 +9349,70 @@ func (x *NewaddrRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NewaddrRequest.ProtoReflect.Descriptor instead. -func (*NewaddrRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{87} +// Deprecated: Use ListdatastoreDatastore.ProtoReflect.Descriptor instead. +func (*ListdatastoreDatastore) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{84} } -func (x *NewaddrRequest) GetAddresstype() NewaddrRequest_NewaddrAddresstype { - if x != nil && x.Addresstype != nil { - return *x.Addresstype +func (x *ListdatastoreDatastore) GetKey() []string { + if x != nil { + return x.Key } - return NewaddrRequest_BECH32 + return nil } -type NewaddrResponse struct { +func (x *ListdatastoreDatastore) GetGeneration() uint64 { + if x != nil && x.Generation != nil { + return *x.Generation + } + return 0 +} + +func (x *ListdatastoreDatastore) GetHex() []byte { + if x != nil { + return x.Hex + } + return nil +} + +func (x *ListdatastoreDatastore) GetString_() string { + if x != nil && x.String_ != nil { + return *x.String_ + } + return "" +} + +type ListinvoicesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - P2Tr *string `protobuf:"bytes,3,opt,name=p2tr,proto3,oneof" json:"p2tr,omitempty"` - Bech32 *string `protobuf:"bytes,1,opt,name=bech32,proto3,oneof" json:"bech32,omitempty"` + Label *string `protobuf:"bytes,1,opt,name=label,proto3,oneof" json:"label,omitempty"` + Invstring *string `protobuf:"bytes,2,opt,name=invstring,proto3,oneof" json:"invstring,omitempty"` + PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3,oneof" json:"payment_hash,omitempty"` + OfferId *string `protobuf:"bytes,4,opt,name=offer_id,json=offerId,proto3,oneof" json:"offer_id,omitempty"` + Index *ListinvoicesRequest_ListinvoicesIndex `protobuf:"varint,5,opt,name=index,proto3,enum=cln.ListinvoicesRequest_ListinvoicesIndex,oneof" json:"index,omitempty"` + Start *uint64 `protobuf:"varint,6,opt,name=start,proto3,oneof" json:"start,omitempty"` + Limit *uint32 `protobuf:"varint,7,opt,name=limit,proto3,oneof" json:"limit,omitempty"` } -func (x *NewaddrResponse) Reset() { - *x = NewaddrResponse{} +func (x *ListinvoicesRequest) Reset() { + *x = ListinvoicesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[88] + mi := &file_node_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *NewaddrResponse) String() string { +func (x *ListinvoicesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*NewaddrResponse) ProtoMessage() {} +func (*ListinvoicesRequest) ProtoMessage() {} -func (x *NewaddrResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[88] +func (x *ListinvoicesRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[85] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9727,131 +9423,85 @@ func (x *NewaddrResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use NewaddrResponse.ProtoReflect.Descriptor instead. -func (*NewaddrResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{88} +// Deprecated: Use ListinvoicesRequest.ProtoReflect.Descriptor instead. +func (*ListinvoicesRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{85} } -func (x *NewaddrResponse) GetP2Tr() string { - if x != nil && x.P2Tr != nil { - return *x.P2Tr +func (x *ListinvoicesRequest) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label } return "" } -func (x *NewaddrResponse) GetBech32() string { - if x != nil && x.Bech32 != nil { - return *x.Bech32 +func (x *ListinvoicesRequest) GetInvstring() string { + if x != nil && x.Invstring != nil { + return *x.Invstring } return "" } -type WithdrawRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Destination string `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` - Satoshi *AmountOrAll `protobuf:"bytes,2,opt,name=satoshi,proto3,oneof" json:"satoshi,omitempty"` - Feerate *Feerate `protobuf:"bytes,5,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` - Minconf *uint32 `protobuf:"varint,3,opt,name=minconf,proto3,oneof" json:"minconf,omitempty"` - Utxos []*Outpoint `protobuf:"bytes,4,rep,name=utxos,proto3" json:"utxos,omitempty"` -} - -func (x *WithdrawRequest) Reset() { - *x = WithdrawRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WithdrawRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WithdrawRequest) ProtoMessage() {} - -func (x *WithdrawRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[89] - 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 WithdrawRequest.ProtoReflect.Descriptor instead. -func (*WithdrawRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{89} -} - -func (x *WithdrawRequest) GetDestination() string { +func (x *ListinvoicesRequest) GetPaymentHash() []byte { if x != nil { - return x.Destination + return x.PaymentHash } - return "" + return nil } -func (x *WithdrawRequest) GetSatoshi() *AmountOrAll { - if x != nil { - return x.Satoshi +func (x *ListinvoicesRequest) GetOfferId() string { + if x != nil && x.OfferId != nil { + return *x.OfferId } - return nil + return "" } -func (x *WithdrawRequest) GetFeerate() *Feerate { - if x != nil { - return x.Feerate +func (x *ListinvoicesRequest) GetIndex() ListinvoicesRequest_ListinvoicesIndex { + if x != nil && x.Index != nil { + return *x.Index } - return nil + return ListinvoicesRequest_CREATED } -func (x *WithdrawRequest) GetMinconf() uint32 { - if x != nil && x.Minconf != nil { - return *x.Minconf +func (x *ListinvoicesRequest) GetStart() uint64 { + if x != nil && x.Start != nil { + return *x.Start } return 0 } -func (x *WithdrawRequest) GetUtxos() []*Outpoint { - if x != nil { - return x.Utxos +func (x *ListinvoicesRequest) GetLimit() uint32 { + if x != nil && x.Limit != nil { + return *x.Limit } - return nil + return 0 } -type WithdrawResponse struct { +type ListinvoicesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` - Txid []byte `protobuf:"bytes,2,opt,name=txid,proto3" json:"txid,omitempty"` - Psbt string `protobuf:"bytes,3,opt,name=psbt,proto3" json:"psbt,omitempty"` + Invoices []*ListinvoicesInvoices `protobuf:"bytes,1,rep,name=invoices,proto3" json:"invoices,omitempty"` } -func (x *WithdrawResponse) Reset() { - *x = WithdrawResponse{} +func (x *ListinvoicesResponse) Reset() { + *x = ListinvoicesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[90] + mi := &file_node_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WithdrawResponse) String() string { +func (x *ListinvoicesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WithdrawResponse) ProtoMessage() {} +func (*ListinvoicesResponse) ProtoMessage() {} -func (x *WithdrawResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[90] +func (x *ListinvoicesResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[86] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9862,65 +9512,59 @@ func (x *WithdrawResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WithdrawResponse.ProtoReflect.Descriptor instead. -func (*WithdrawResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{90} -} - -func (x *WithdrawResponse) GetTx() []byte { - if x != nil { - return x.Tx - } - return nil +// Deprecated: Use ListinvoicesResponse.ProtoReflect.Descriptor instead. +func (*ListinvoicesResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{86} } -func (x *WithdrawResponse) GetTxid() []byte { +func (x *ListinvoicesResponse) GetInvoices() []*ListinvoicesInvoices { if x != nil { - return x.Txid + return x.Invoices } return nil } -func (x *WithdrawResponse) GetPsbt() string { - if x != nil { - return x.Psbt - } - return "" -} - -type KeysendRequest struct { +type ListinvoicesInvoices struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Destination []byte `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` - AmountMsat *Amount `protobuf:"bytes,10,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` - Label *string `protobuf:"bytes,3,opt,name=label,proto3,oneof" json:"label,omitempty"` - Maxfeepercent *float64 `protobuf:"fixed64,4,opt,name=maxfeepercent,proto3,oneof" json:"maxfeepercent,omitempty"` - RetryFor *uint32 `protobuf:"varint,5,opt,name=retry_for,json=retryFor,proto3,oneof" json:"retry_for,omitempty"` - Maxdelay *uint32 `protobuf:"varint,6,opt,name=maxdelay,proto3,oneof" json:"maxdelay,omitempty"` - Exemptfee *Amount `protobuf:"bytes,7,opt,name=exemptfee,proto3,oneof" json:"exemptfee,omitempty"` - Routehints *RoutehintList `protobuf:"bytes,8,opt,name=routehints,proto3,oneof" json:"routehints,omitempty"` - Extratlvs *TlvStream `protobuf:"bytes,9,opt,name=extratlvs,proto3,oneof" json:"extratlvs,omitempty"` + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"` + PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Status ListinvoicesInvoices_ListinvoicesInvoicesStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cln.ListinvoicesInvoices_ListinvoicesInvoicesStatus" json:"status,omitempty"` + ExpiresAt uint64 `protobuf:"varint,5,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + AmountMsat *Amount `protobuf:"bytes,6,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Bolt11 *string `protobuf:"bytes,7,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + Bolt12 *string `protobuf:"bytes,8,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` + LocalOfferId []byte `protobuf:"bytes,9,opt,name=local_offer_id,json=localOfferId,proto3,oneof" json:"local_offer_id,omitempty"` + PayIndex *uint64 `protobuf:"varint,11,opt,name=pay_index,json=payIndex,proto3,oneof" json:"pay_index,omitempty"` + AmountReceivedMsat *Amount `protobuf:"bytes,12,opt,name=amount_received_msat,json=amountReceivedMsat,proto3,oneof" json:"amount_received_msat,omitempty"` + PaidAt *uint64 `protobuf:"varint,13,opt,name=paid_at,json=paidAt,proto3,oneof" json:"paid_at,omitempty"` + PaymentPreimage []byte `protobuf:"bytes,14,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` + InvreqPayerNote *string `protobuf:"bytes,15,opt,name=invreq_payer_note,json=invreqPayerNote,proto3,oneof" json:"invreq_payer_note,omitempty"` + CreatedIndex *uint64 `protobuf:"varint,16,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` + UpdatedIndex *uint64 `protobuf:"varint,17,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` + PaidOutpoint *ListinvoicesInvoicesPaidOutpoint `protobuf:"bytes,18,opt,name=paid_outpoint,json=paidOutpoint,proto3,oneof" json:"paid_outpoint,omitempty"` } -func (x *KeysendRequest) Reset() { - *x = KeysendRequest{} +func (x *ListinvoicesInvoices) Reset() { + *x = ListinvoicesInvoices{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[91] + mi := &file_node_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *KeysendRequest) String() string { +func (x *ListinvoicesInvoices) String() string { return protoimpl.X.MessageStringOf(x) } -func (*KeysendRequest) ProtoMessage() {} +func (*ListinvoicesInvoices) ProtoMessage() {} -func (x *KeysendRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[91] +func (x *ListinvoicesInvoices) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[87] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9931,219 +9575,221 @@ func (x *KeysendRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use KeysendRequest.ProtoReflect.Descriptor instead. -func (*KeysendRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{91} +// Deprecated: Use ListinvoicesInvoices.ProtoReflect.Descriptor instead. +func (*ListinvoicesInvoices) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{87} } -func (x *KeysendRequest) GetDestination() []byte { +func (x *ListinvoicesInvoices) GetLabel() string { if x != nil { - return x.Destination + return x.Label } - return nil + return "" } -func (x *KeysendRequest) GetAmountMsat() *Amount { +func (x *ListinvoicesInvoices) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *ListinvoicesInvoices) GetPaymentHash() []byte { if x != nil { - return x.AmountMsat + return x.PaymentHash } return nil } -func (x *KeysendRequest) GetLabel() string { - if x != nil && x.Label != nil { - return *x.Label +func (x *ListinvoicesInvoices) GetStatus() ListinvoicesInvoices_ListinvoicesInvoicesStatus { + if x != nil { + return x.Status } - return "" + return ListinvoicesInvoices_UNPAID } -func (x *KeysendRequest) GetMaxfeepercent() float64 { - if x != nil && x.Maxfeepercent != nil { - return *x.Maxfeepercent +func (x *ListinvoicesInvoices) GetExpiresAt() uint64 { + if x != nil { + return x.ExpiresAt } return 0 } -func (x *KeysendRequest) GetRetryFor() uint32 { - if x != nil && x.RetryFor != nil { - return *x.RetryFor +func (x *ListinvoicesInvoices) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat } - return 0 + return nil } -func (x *KeysendRequest) GetMaxdelay() uint32 { - if x != nil && x.Maxdelay != nil { - return *x.Maxdelay +func (x *ListinvoicesInvoices) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 } - return 0 + return "" } -func (x *KeysendRequest) GetExemptfee() *Amount { - if x != nil { - return x.Exemptfee +func (x *ListinvoicesInvoices) GetBolt12() string { + if x != nil && x.Bolt12 != nil { + return *x.Bolt12 } - return nil + return "" } -func (x *KeysendRequest) GetRoutehints() *RoutehintList { +func (x *ListinvoicesInvoices) GetLocalOfferId() []byte { if x != nil { - return x.Routehints + return x.LocalOfferId } return nil } -func (x *KeysendRequest) GetExtratlvs() *TlvStream { +func (x *ListinvoicesInvoices) GetPayIndex() uint64 { + if x != nil && x.PayIndex != nil { + return *x.PayIndex + } + return 0 +} + +func (x *ListinvoicesInvoices) GetAmountReceivedMsat() *Amount { if x != nil { - return x.Extratlvs + return x.AmountReceivedMsat } return nil } -type KeysendResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PaymentPreimage []byte `protobuf:"bytes,1,opt,name=payment_preimage,json=paymentPreimage,proto3" json:"payment_preimage,omitempty"` - Destination []byte `protobuf:"bytes,2,opt,name=destination,proto3,oneof" json:"destination,omitempty"` - PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - CreatedAt float64 `protobuf:"fixed64,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - Parts uint32 `protobuf:"varint,5,opt,name=parts,proto3" json:"parts,omitempty"` - AmountMsat *Amount `protobuf:"bytes,6,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` - AmountSentMsat *Amount `protobuf:"bytes,7,opt,name=amount_sent_msat,json=amountSentMsat,proto3" json:"amount_sent_msat,omitempty"` - WarningPartialCompletion *string `protobuf:"bytes,8,opt,name=warning_partial_completion,json=warningPartialCompletion,proto3,oneof" json:"warning_partial_completion,omitempty"` - Status KeysendResponse_KeysendStatus `protobuf:"varint,9,opt,name=status,proto3,enum=cln.KeysendResponse_KeysendStatus" json:"status,omitempty"` +func (x *ListinvoicesInvoices) GetPaidAt() uint64 { + if x != nil && x.PaidAt != nil { + return *x.PaidAt + } + return 0 } -func (x *KeysendResponse) Reset() { - *x = KeysendResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[92] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ListinvoicesInvoices) GetPaymentPreimage() []byte { + if x != nil { + return x.PaymentPreimage } + return nil } -func (x *KeysendResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ListinvoicesInvoices) GetInvreqPayerNote() string { + if x != nil && x.InvreqPayerNote != nil { + return *x.InvreqPayerNote + } + return "" } -func (*KeysendResponse) ProtoMessage() {} - -func (x *KeysendResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[92] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ListinvoicesInvoices) GetCreatedIndex() uint64 { + if x != nil && x.CreatedIndex != nil { + return *x.CreatedIndex } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use KeysendResponse.ProtoReflect.Descriptor instead. -func (*KeysendResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{92} +func (x *ListinvoicesInvoices) GetUpdatedIndex() uint64 { + if x != nil && x.UpdatedIndex != nil { + return *x.UpdatedIndex + } + return 0 } -func (x *KeysendResponse) GetPaymentPreimage() []byte { +func (x *ListinvoicesInvoices) GetPaidOutpoint() *ListinvoicesInvoicesPaidOutpoint { if x != nil { - return x.PaymentPreimage + return x.PaidOutpoint } return nil } -func (x *KeysendResponse) GetDestination() []byte { - if x != nil { - return x.Destination - } - return nil +type ListinvoicesInvoicesPaidOutpoint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Outnum uint32 `protobuf:"varint,2,opt,name=outnum,proto3" json:"outnum,omitempty"` } -func (x *KeysendResponse) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash +func (x *ListinvoicesInvoicesPaidOutpoint) Reset() { + *x = ListinvoicesInvoicesPaidOutpoint{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *KeysendResponse) GetCreatedAt() float64 { - if x != nil { - return x.CreatedAt - } - return 0 +func (x *ListinvoicesInvoicesPaidOutpoint) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *KeysendResponse) GetParts() uint32 { - if x != nil { - return x.Parts +func (*ListinvoicesInvoicesPaidOutpoint) ProtoMessage() {} + +func (x *ListinvoicesInvoicesPaidOutpoint) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[88] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *KeysendResponse) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat - } - return nil +// Deprecated: Use ListinvoicesInvoicesPaidOutpoint.ProtoReflect.Descriptor instead. +func (*ListinvoicesInvoicesPaidOutpoint) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{88} } -func (x *KeysendResponse) GetAmountSentMsat() *Amount { +func (x *ListinvoicesInvoicesPaidOutpoint) GetTxid() []byte { if x != nil { - return x.AmountSentMsat + return x.Txid } return nil } -func (x *KeysendResponse) GetWarningPartialCompletion() string { - if x != nil && x.WarningPartialCompletion != nil { - return *x.WarningPartialCompletion - } - return "" -} - -func (x *KeysendResponse) GetStatus() KeysendResponse_KeysendStatus { +func (x *ListinvoicesInvoicesPaidOutpoint) GetOutnum() uint32 { if x != nil { - return x.Status + return x.Outnum } - return KeysendResponse_COMPLETE + return 0 } -type FundpsbtRequest struct { +type SendonionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Satoshi *AmountOrAll `protobuf:"bytes,1,opt,name=satoshi,proto3" json:"satoshi,omitempty"` - Feerate *Feerate `protobuf:"bytes,2,opt,name=feerate,proto3" json:"feerate,omitempty"` - Startweight uint32 `protobuf:"varint,3,opt,name=startweight,proto3" json:"startweight,omitempty"` - Minconf *uint32 `protobuf:"varint,4,opt,name=minconf,proto3,oneof" json:"minconf,omitempty"` - Reserve *uint32 `protobuf:"varint,5,opt,name=reserve,proto3,oneof" json:"reserve,omitempty"` - Locktime *uint32 `protobuf:"varint,6,opt,name=locktime,proto3,oneof" json:"locktime,omitempty"` - MinWitnessWeight *uint32 `protobuf:"varint,7,opt,name=min_witness_weight,json=minWitnessWeight,proto3,oneof" json:"min_witness_weight,omitempty"` - ExcessAsChange *bool `protobuf:"varint,8,opt,name=excess_as_change,json=excessAsChange,proto3,oneof" json:"excess_as_change,omitempty"` - Nonwrapped *bool `protobuf:"varint,9,opt,name=nonwrapped,proto3,oneof" json:"nonwrapped,omitempty"` - OpeningAnchorChannel *bool `protobuf:"varint,10,opt,name=opening_anchor_channel,json=openingAnchorChannel,proto3,oneof" json:"opening_anchor_channel,omitempty"` + Onion []byte `protobuf:"bytes,1,opt,name=onion,proto3" json:"onion,omitempty"` + FirstHop *SendonionFirstHop `protobuf:"bytes,2,opt,name=first_hop,json=firstHop,proto3" json:"first_hop,omitempty"` + PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Label *string `protobuf:"bytes,4,opt,name=label,proto3,oneof" json:"label,omitempty"` + SharedSecrets [][]byte `protobuf:"bytes,5,rep,name=shared_secrets,json=sharedSecrets,proto3" json:"shared_secrets,omitempty"` + Partid *uint32 `protobuf:"varint,6,opt,name=partid,proto3,oneof" json:"partid,omitempty"` + Bolt11 *string `protobuf:"bytes,7,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + Destination []byte `protobuf:"bytes,9,opt,name=destination,proto3,oneof" json:"destination,omitempty"` + Groupid *uint64 `protobuf:"varint,11,opt,name=groupid,proto3,oneof" json:"groupid,omitempty"` + AmountMsat *Amount `protobuf:"bytes,12,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Localinvreqid []byte `protobuf:"bytes,13,opt,name=localinvreqid,proto3,oneof" json:"localinvreqid,omitempty"` + Description *string `protobuf:"bytes,14,opt,name=description,proto3,oneof" json:"description,omitempty"` } -func (x *FundpsbtRequest) Reset() { - *x = FundpsbtRequest{} +func (x *SendonionRequest) Reset() { + *x = SendonionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[93] + mi := &file_node_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FundpsbtRequest) String() string { +func (x *SendonionRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FundpsbtRequest) ProtoMessage() {} +func (*SendonionRequest) ProtoMessage() {} -func (x *FundpsbtRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[93] +func (x *SendonionRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[89] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10154,111 +9800,134 @@ func (x *FundpsbtRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FundpsbtRequest.ProtoReflect.Descriptor instead. -func (*FundpsbtRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{93} +// Deprecated: Use SendonionRequest.ProtoReflect.Descriptor instead. +func (*SendonionRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{89} } -func (x *FundpsbtRequest) GetSatoshi() *AmountOrAll { +func (x *SendonionRequest) GetOnion() []byte { if x != nil { - return x.Satoshi + return x.Onion } return nil } -func (x *FundpsbtRequest) GetFeerate() *Feerate { +func (x *SendonionRequest) GetFirstHop() *SendonionFirstHop { if x != nil { - return x.Feerate + return x.FirstHop } return nil } -func (x *FundpsbtRequest) GetStartweight() uint32 { +func (x *SendonionRequest) GetPaymentHash() []byte { if x != nil { - return x.Startweight + return x.PaymentHash } - return 0 + return nil } -func (x *FundpsbtRequest) GetMinconf() uint32 { - if x != nil && x.Minconf != nil { - return *x.Minconf +func (x *SendonionRequest) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label } - return 0 + return "" } -func (x *FundpsbtRequest) GetReserve() uint32 { - if x != nil && x.Reserve != nil { - return *x.Reserve +func (x *SendonionRequest) GetSharedSecrets() [][]byte { + if x != nil { + return x.SharedSecrets } - return 0 + return nil } -func (x *FundpsbtRequest) GetLocktime() uint32 { - if x != nil && x.Locktime != nil { - return *x.Locktime +func (x *SendonionRequest) GetPartid() uint32 { + if x != nil && x.Partid != nil { + return *x.Partid } return 0 } -func (x *FundpsbtRequest) GetMinWitnessWeight() uint32 { - if x != nil && x.MinWitnessWeight != nil { - return *x.MinWitnessWeight +func (x *SendonionRequest) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 + } + return "" +} + +func (x *SendonionRequest) GetDestination() []byte { + if x != nil { + return x.Destination + } + return nil +} + +func (x *SendonionRequest) GetGroupid() uint64 { + if x != nil && x.Groupid != nil { + return *x.Groupid } return 0 } -func (x *FundpsbtRequest) GetExcessAsChange() bool { - if x != nil && x.ExcessAsChange != nil { - return *x.ExcessAsChange +func (x *SendonionRequest) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat } - return false + return nil } -func (x *FundpsbtRequest) GetNonwrapped() bool { - if x != nil && x.Nonwrapped != nil { - return *x.Nonwrapped +func (x *SendonionRequest) GetLocalinvreqid() []byte { + if x != nil { + return x.Localinvreqid } - return false + return nil } -func (x *FundpsbtRequest) GetOpeningAnchorChannel() bool { - if x != nil && x.OpeningAnchorChannel != nil { - return *x.OpeningAnchorChannel +func (x *SendonionRequest) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description } - return false + return "" } -type FundpsbtResponse struct { +type SendonionResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` - FeeratePerKw uint32 `protobuf:"varint,2,opt,name=feerate_per_kw,json=feeratePerKw,proto3" json:"feerate_per_kw,omitempty"` - EstimatedFinalWeight uint32 `protobuf:"varint,3,opt,name=estimated_final_weight,json=estimatedFinalWeight,proto3" json:"estimated_final_weight,omitempty"` - ExcessMsat *Amount `protobuf:"bytes,4,opt,name=excess_msat,json=excessMsat,proto3" json:"excess_msat,omitempty"` - ChangeOutnum *uint32 `protobuf:"varint,5,opt,name=change_outnum,json=changeOutnum,proto3,oneof" json:"change_outnum,omitempty"` - Reservations []*FundpsbtReservations `protobuf:"bytes,6,rep,name=reservations,proto3" json:"reservations,omitempty"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Status SendonionResponse_SendonionStatus `protobuf:"varint,3,opt,name=status,proto3,enum=cln.SendonionResponse_SendonionStatus" json:"status,omitempty"` + AmountMsat *Amount `protobuf:"bytes,4,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Destination []byte `protobuf:"bytes,5,opt,name=destination,proto3,oneof" json:"destination,omitempty"` + CreatedAt uint64 `protobuf:"varint,6,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + AmountSentMsat *Amount `protobuf:"bytes,7,opt,name=amount_sent_msat,json=amountSentMsat,proto3" json:"amount_sent_msat,omitempty"` + Label *string `protobuf:"bytes,8,opt,name=label,proto3,oneof" json:"label,omitempty"` + Bolt11 *string `protobuf:"bytes,9,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + Bolt12 *string `protobuf:"bytes,10,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` + PaymentPreimage []byte `protobuf:"bytes,11,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` + Message *string `protobuf:"bytes,12,opt,name=message,proto3,oneof" json:"message,omitempty"` + Partid *uint64 `protobuf:"varint,13,opt,name=partid,proto3,oneof" json:"partid,omitempty"` + CreatedIndex *uint64 `protobuf:"varint,14,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` + UpdatedIndex *uint64 `protobuf:"varint,15,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` } -func (x *FundpsbtResponse) Reset() { - *x = FundpsbtResponse{} +func (x *SendonionResponse) Reset() { + *x = SendonionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[94] + mi := &file_node_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FundpsbtResponse) String() string { +func (x *SendonionResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FundpsbtResponse) ProtoMessage() {} +func (*SendonionResponse) ProtoMessage() {} -func (x *FundpsbtResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[94] +func (x *SendonionResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[90] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10269,158 +9938,143 @@ func (x *FundpsbtResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FundpsbtResponse.ProtoReflect.Descriptor instead. -func (*FundpsbtResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{94} +// Deprecated: Use SendonionResponse.ProtoReflect.Descriptor instead. +func (*SendonionResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{90} } -func (x *FundpsbtResponse) GetPsbt() string { +func (x *SendonionResponse) GetId() uint64 { if x != nil { - return x.Psbt + return x.Id } - return "" + return 0 } -func (x *FundpsbtResponse) GetFeeratePerKw() uint32 { +func (x *SendonionResponse) GetPaymentHash() []byte { if x != nil { - return x.FeeratePerKw + return x.PaymentHash } - return 0 + return nil } -func (x *FundpsbtResponse) GetEstimatedFinalWeight() uint32 { +func (x *SendonionResponse) GetStatus() SendonionResponse_SendonionStatus { if x != nil { - return x.EstimatedFinalWeight + return x.Status } - return 0 + return SendonionResponse_PENDING } -func (x *FundpsbtResponse) GetExcessMsat() *Amount { +func (x *SendonionResponse) GetAmountMsat() *Amount { if x != nil { - return x.ExcessMsat + return x.AmountMsat } return nil } -func (x *FundpsbtResponse) GetChangeOutnum() uint32 { - if x != nil && x.ChangeOutnum != nil { - return *x.ChangeOutnum - } - return 0 -} - -func (x *FundpsbtResponse) GetReservations() []*FundpsbtReservations { +func (x *SendonionResponse) GetDestination() []byte { if x != nil { - return x.Reservations + return x.Destination } return nil } -type FundpsbtReservations struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` - Vout uint32 `protobuf:"varint,2,opt,name=vout,proto3" json:"vout,omitempty"` - WasReserved bool `protobuf:"varint,3,opt,name=was_reserved,json=wasReserved,proto3" json:"was_reserved,omitempty"` - Reserved bool `protobuf:"varint,4,opt,name=reserved,proto3" json:"reserved,omitempty"` - ReservedToBlock uint32 `protobuf:"varint,5,opt,name=reserved_to_block,json=reservedToBlock,proto3" json:"reserved_to_block,omitempty"` +func (x *SendonionResponse) GetCreatedAt() uint64 { + if x != nil { + return x.CreatedAt + } + return 0 } -func (x *FundpsbtReservations) Reset() { - *x = FundpsbtReservations{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[95] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *SendonionResponse) GetAmountSentMsat() *Amount { + if x != nil { + return x.AmountSentMsat } + return nil } -func (x *FundpsbtReservations) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *SendonionResponse) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label + } + return "" } -func (*FundpsbtReservations) ProtoMessage() {} - -func (x *FundpsbtReservations) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[95] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *SendonionResponse) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 } - return mi.MessageOf(x) + return "" } -// Deprecated: Use FundpsbtReservations.ProtoReflect.Descriptor instead. -func (*FundpsbtReservations) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{95} +func (x *SendonionResponse) GetBolt12() string { + if x != nil && x.Bolt12 != nil { + return *x.Bolt12 + } + return "" } -func (x *FundpsbtReservations) GetTxid() []byte { +func (x *SendonionResponse) GetPaymentPreimage() []byte { if x != nil { - return x.Txid + return x.PaymentPreimage } return nil } -func (x *FundpsbtReservations) GetVout() uint32 { - if x != nil { - return x.Vout +func (x *SendonionResponse) GetMessage() string { + if x != nil && x.Message != nil { + return *x.Message } - return 0 + return "" } -func (x *FundpsbtReservations) GetWasReserved() bool { - if x != nil { - return x.WasReserved +func (x *SendonionResponse) GetPartid() uint64 { + if x != nil && x.Partid != nil { + return *x.Partid } - return false + return 0 } -func (x *FundpsbtReservations) GetReserved() bool { - if x != nil { - return x.Reserved +func (x *SendonionResponse) GetCreatedIndex() uint64 { + if x != nil && x.CreatedIndex != nil { + return *x.CreatedIndex } - return false + return 0 } -func (x *FundpsbtReservations) GetReservedToBlock() uint32 { - if x != nil { - return x.ReservedToBlock +func (x *SendonionResponse) GetUpdatedIndex() uint64 { + if x != nil && x.UpdatedIndex != nil { + return *x.UpdatedIndex } return 0 } -type SendpsbtRequest struct { +type SendonionFirstHop struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` - Reserve *bool `protobuf:"varint,2,opt,name=reserve,proto3,oneof" json:"reserve,omitempty"` + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + AmountMsat *Amount `protobuf:"bytes,2,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` + Delay uint32 `protobuf:"varint,3,opt,name=delay,proto3" json:"delay,omitempty"` } -func (x *SendpsbtRequest) Reset() { - *x = SendpsbtRequest{} +func (x *SendonionFirstHop) Reset() { + *x = SendonionFirstHop{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[96] + mi := &file_node_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SendpsbtRequest) String() string { +func (x *SendonionFirstHop) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SendpsbtRequest) ProtoMessage() {} +func (*SendonionFirstHop) ProtoMessage() {} -func (x *SendpsbtRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[96] +func (x *SendonionFirstHop) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[91] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10431,51 +10085,62 @@ func (x *SendpsbtRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SendpsbtRequest.ProtoReflect.Descriptor instead. -func (*SendpsbtRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{96} +// Deprecated: Use SendonionFirstHop.ProtoReflect.Descriptor instead. +func (*SendonionFirstHop) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{91} } -func (x *SendpsbtRequest) GetPsbt() string { +func (x *SendonionFirstHop) GetId() []byte { if x != nil { - return x.Psbt + return x.Id } - return "" + return nil } -func (x *SendpsbtRequest) GetReserve() bool { - if x != nil && x.Reserve != nil { - return *x.Reserve +func (x *SendonionFirstHop) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat } - return false + return nil } -type SendpsbtResponse struct { +func (x *SendonionFirstHop) GetDelay() uint32 { + if x != nil { + return x.Delay + } + return 0 +} + +type ListsendpaysRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` - Txid []byte `protobuf:"bytes,2,opt,name=txid,proto3" json:"txid,omitempty"` + Bolt11 *string `protobuf:"bytes,1,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3,oneof" json:"payment_hash,omitempty"` + Status *ListsendpaysRequest_ListsendpaysStatus `protobuf:"varint,3,opt,name=status,proto3,enum=cln.ListsendpaysRequest_ListsendpaysStatus,oneof" json:"status,omitempty"` + Index *ListsendpaysRequest_ListsendpaysIndex `protobuf:"varint,4,opt,name=index,proto3,enum=cln.ListsendpaysRequest_ListsendpaysIndex,oneof" json:"index,omitempty"` + Start *uint64 `protobuf:"varint,5,opt,name=start,proto3,oneof" json:"start,omitempty"` + Limit *uint32 `protobuf:"varint,6,opt,name=limit,proto3,oneof" json:"limit,omitempty"` } -func (x *SendpsbtResponse) Reset() { - *x = SendpsbtResponse{} +func (x *ListsendpaysRequest) Reset() { + *x = ListsendpaysRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[97] + mi := &file_node_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SendpsbtResponse) String() string { +func (x *ListsendpaysRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SendpsbtResponse) ProtoMessage() {} +func (*ListsendpaysRequest) ProtoMessage() {} -func (x *SendpsbtResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[97] +func (x *ListsendpaysRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[92] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10486,51 +10151,78 @@ func (x *SendpsbtResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SendpsbtResponse.ProtoReflect.Descriptor instead. -func (*SendpsbtResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{97} +// Deprecated: Use ListsendpaysRequest.ProtoReflect.Descriptor instead. +func (*ListsendpaysRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{92} } -func (x *SendpsbtResponse) GetTx() []byte { - if x != nil { - return x.Tx +func (x *ListsendpaysRequest) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 } - return nil + return "" } -func (x *SendpsbtResponse) GetTxid() []byte { +func (x *ListsendpaysRequest) GetPaymentHash() []byte { if x != nil { - return x.Txid + return x.PaymentHash } return nil } -type SignpsbtRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ListsendpaysRequest) GetStatus() ListsendpaysRequest_ListsendpaysStatus { + if x != nil && x.Status != nil { + return *x.Status + } + return ListsendpaysRequest_PENDING +} - Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` - Signonly []uint32 `protobuf:"varint,2,rep,packed,name=signonly,proto3" json:"signonly,omitempty"` +func (x *ListsendpaysRequest) GetIndex() ListsendpaysRequest_ListsendpaysIndex { + if x != nil && x.Index != nil { + return *x.Index + } + return ListsendpaysRequest_CREATED } -func (x *SignpsbtRequest) Reset() { - *x = SignpsbtRequest{} +func (x *ListsendpaysRequest) GetStart() uint64 { + if x != nil && x.Start != nil { + return *x.Start + } + return 0 +} + +func (x *ListsendpaysRequest) GetLimit() uint32 { + if x != nil && x.Limit != nil { + return *x.Limit + } + return 0 +} + +type ListsendpaysResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Payments []*ListsendpaysPayments `protobuf:"bytes,1,rep,name=payments,proto3" json:"payments,omitempty"` +} + +func (x *ListsendpaysResponse) Reset() { + *x = ListsendpaysResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[98] + mi := &file_node_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SignpsbtRequest) String() string { +func (x *ListsendpaysResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SignpsbtRequest) ProtoMessage() {} +func (*ListsendpaysResponse) ProtoMessage() {} -func (x *SignpsbtRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[98] +func (x *ListsendpaysResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[93] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10541,50 +10233,60 @@ func (x *SignpsbtRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SignpsbtRequest.ProtoReflect.Descriptor instead. -func (*SignpsbtRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{98} -} - -func (x *SignpsbtRequest) GetPsbt() string { - if x != nil { - return x.Psbt - } - return "" +// Deprecated: Use ListsendpaysResponse.ProtoReflect.Descriptor instead. +func (*ListsendpaysResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{93} } -func (x *SignpsbtRequest) GetSignonly() []uint32 { +func (x *ListsendpaysResponse) GetPayments() []*ListsendpaysPayments { if x != nil { - return x.Signonly + return x.Payments } return nil } -type SignpsbtResponse struct { +type ListsendpaysPayments struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SignedPsbt string `protobuf:"bytes,1,opt,name=signed_psbt,json=signedPsbt,proto3" json:"signed_psbt,omitempty"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Groupid uint64 `protobuf:"varint,2,opt,name=groupid,proto3" json:"groupid,omitempty"` + PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Status ListsendpaysPayments_ListsendpaysPaymentsStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cln.ListsendpaysPayments_ListsendpaysPaymentsStatus" json:"status,omitempty"` + AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Destination []byte `protobuf:"bytes,6,opt,name=destination,proto3,oneof" json:"destination,omitempty"` + CreatedAt uint64 `protobuf:"varint,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + AmountSentMsat *Amount `protobuf:"bytes,8,opt,name=amount_sent_msat,json=amountSentMsat,proto3" json:"amount_sent_msat,omitempty"` + Label *string `protobuf:"bytes,9,opt,name=label,proto3,oneof" json:"label,omitempty"` + Bolt11 *string `protobuf:"bytes,10,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + Bolt12 *string `protobuf:"bytes,11,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` + PaymentPreimage []byte `protobuf:"bytes,12,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` + Erroronion []byte `protobuf:"bytes,13,opt,name=erroronion,proto3,oneof" json:"erroronion,omitempty"` + Description *string `protobuf:"bytes,14,opt,name=description,proto3,oneof" json:"description,omitempty"` + Partid *uint64 `protobuf:"varint,15,opt,name=partid,proto3,oneof" json:"partid,omitempty"` + CreatedIndex *uint64 `protobuf:"varint,16,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` + UpdatedIndex *uint64 `protobuf:"varint,17,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` + CompletedAt *uint64 `protobuf:"varint,18,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` } -func (x *SignpsbtResponse) Reset() { - *x = SignpsbtResponse{} +func (x *ListsendpaysPayments) Reset() { + *x = ListsendpaysPayments{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[99] + mi := &file_node_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SignpsbtResponse) String() string { +func (x *ListsendpaysPayments) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SignpsbtResponse) ProtoMessage() {} +func (*ListsendpaysPayments) ProtoMessage() {} -func (x *SignpsbtResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[99] +func (x *ListsendpaysPayments) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[94] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10595,168 +10297,161 @@ func (x *SignpsbtResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SignpsbtResponse.ProtoReflect.Descriptor instead. -func (*SignpsbtResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{99} +// Deprecated: Use ListsendpaysPayments.ProtoReflect.Descriptor instead. +func (*ListsendpaysPayments) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{94} } -func (x *SignpsbtResponse) GetSignedPsbt() string { +func (x *ListsendpaysPayments) GetId() uint64 { if x != nil { - return x.SignedPsbt + return x.Id } - return "" + return 0 } -type UtxopsbtRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Satoshi *Amount `protobuf:"bytes,1,opt,name=satoshi,proto3" json:"satoshi,omitempty"` - Feerate *Feerate `protobuf:"bytes,2,opt,name=feerate,proto3" json:"feerate,omitempty"` - Startweight uint32 `protobuf:"varint,3,opt,name=startweight,proto3" json:"startweight,omitempty"` - Utxos []*Outpoint `protobuf:"bytes,4,rep,name=utxos,proto3" json:"utxos,omitempty"` - Reserve *uint32 `protobuf:"varint,5,opt,name=reserve,proto3,oneof" json:"reserve,omitempty"` - Reservedok *bool `protobuf:"varint,8,opt,name=reservedok,proto3,oneof" json:"reservedok,omitempty"` - Locktime *uint32 `protobuf:"varint,6,opt,name=locktime,proto3,oneof" json:"locktime,omitempty"` - MinWitnessWeight *uint32 `protobuf:"varint,7,opt,name=min_witness_weight,json=minWitnessWeight,proto3,oneof" json:"min_witness_weight,omitempty"` - ExcessAsChange *bool `protobuf:"varint,9,opt,name=excess_as_change,json=excessAsChange,proto3,oneof" json:"excess_as_change,omitempty"` - OpeningAnchorChannel *bool `protobuf:"varint,10,opt,name=opening_anchor_channel,json=openingAnchorChannel,proto3,oneof" json:"opening_anchor_channel,omitempty"` +func (x *ListsendpaysPayments) GetGroupid() uint64 { + if x != nil { + return x.Groupid + } + return 0 } -func (x *UtxopsbtRequest) Reset() { - *x = UtxopsbtRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[100] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ListsendpaysPayments) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash } + return nil } -func (x *UtxopsbtRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ListsendpaysPayments) GetStatus() ListsendpaysPayments_ListsendpaysPaymentsStatus { + if x != nil { + return x.Status + } + return ListsendpaysPayments_PENDING } -func (*UtxopsbtRequest) ProtoMessage() {} - -func (x *UtxopsbtRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[100] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ListsendpaysPayments) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat } - return mi.MessageOf(x) + return nil } -// Deprecated: Use UtxopsbtRequest.ProtoReflect.Descriptor instead. -func (*UtxopsbtRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{100} +func (x *ListsendpaysPayments) GetDestination() []byte { + if x != nil { + return x.Destination + } + return nil } -func (x *UtxopsbtRequest) GetSatoshi() *Amount { +func (x *ListsendpaysPayments) GetCreatedAt() uint64 { if x != nil { - return x.Satoshi + return x.CreatedAt } - return nil + return 0 } -func (x *UtxopsbtRequest) GetFeerate() *Feerate { +func (x *ListsendpaysPayments) GetAmountSentMsat() *Amount { if x != nil { - return x.Feerate + return x.AmountSentMsat } return nil } -func (x *UtxopsbtRequest) GetStartweight() uint32 { - if x != nil { - return x.Startweight +func (x *ListsendpaysPayments) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label } - return 0 + return "" } -func (x *UtxopsbtRequest) GetUtxos() []*Outpoint { +func (x *ListsendpaysPayments) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 + } + return "" +} + +func (x *ListsendpaysPayments) GetBolt12() string { + if x != nil && x.Bolt12 != nil { + return *x.Bolt12 + } + return "" +} + +func (x *ListsendpaysPayments) GetPaymentPreimage() []byte { if x != nil { - return x.Utxos + return x.PaymentPreimage } return nil } -func (x *UtxopsbtRequest) GetReserve() uint32 { - if x != nil && x.Reserve != nil { - return *x.Reserve +func (x *ListsendpaysPayments) GetErroronion() []byte { + if x != nil { + return x.Erroronion } - return 0 + return nil } -func (x *UtxopsbtRequest) GetReservedok() bool { - if x != nil && x.Reservedok != nil { - return *x.Reservedok +func (x *ListsendpaysPayments) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description } - return false + return "" } -func (x *UtxopsbtRequest) GetLocktime() uint32 { - if x != nil && x.Locktime != nil { - return *x.Locktime +func (x *ListsendpaysPayments) GetPartid() uint64 { + if x != nil && x.Partid != nil { + return *x.Partid } return 0 } -func (x *UtxopsbtRequest) GetMinWitnessWeight() uint32 { - if x != nil && x.MinWitnessWeight != nil { - return *x.MinWitnessWeight +func (x *ListsendpaysPayments) GetCreatedIndex() uint64 { + if x != nil && x.CreatedIndex != nil { + return *x.CreatedIndex } return 0 } -func (x *UtxopsbtRequest) GetExcessAsChange() bool { - if x != nil && x.ExcessAsChange != nil { - return *x.ExcessAsChange +func (x *ListsendpaysPayments) GetUpdatedIndex() uint64 { + if x != nil && x.UpdatedIndex != nil { + return *x.UpdatedIndex } - return false + return 0 } -func (x *UtxopsbtRequest) GetOpeningAnchorChannel() bool { - if x != nil && x.OpeningAnchorChannel != nil { - return *x.OpeningAnchorChannel +func (x *ListsendpaysPayments) GetCompletedAt() uint64 { + if x != nil && x.CompletedAt != nil { + return *x.CompletedAt } - return false + return 0 } -type UtxopsbtResponse struct { +type ListtransactionsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` - FeeratePerKw uint32 `protobuf:"varint,2,opt,name=feerate_per_kw,json=feeratePerKw,proto3" json:"feerate_per_kw,omitempty"` - EstimatedFinalWeight uint32 `protobuf:"varint,3,opt,name=estimated_final_weight,json=estimatedFinalWeight,proto3" json:"estimated_final_weight,omitempty"` - ExcessMsat *Amount `protobuf:"bytes,4,opt,name=excess_msat,json=excessMsat,proto3" json:"excess_msat,omitempty"` - ChangeOutnum *uint32 `protobuf:"varint,5,opt,name=change_outnum,json=changeOutnum,proto3,oneof" json:"change_outnum,omitempty"` - Reservations []*UtxopsbtReservations `protobuf:"bytes,6,rep,name=reservations,proto3" json:"reservations,omitempty"` } -func (x *UtxopsbtResponse) Reset() { - *x = UtxopsbtResponse{} +func (x *ListtransactionsRequest) Reset() { + *x = ListtransactionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[101] + mi := &file_node_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UtxopsbtResponse) String() string { +func (x *ListtransactionsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UtxopsbtResponse) ProtoMessage() {} +func (*ListtransactionsRequest) ProtoMessage() {} -func (x *UtxopsbtResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[101] - if protoimpl.UnsafeEnabled && x != nil { +func (x *ListtransactionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[95] + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -10766,82 +10461,90 @@ func (x *UtxopsbtResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UtxopsbtResponse.ProtoReflect.Descriptor instead. -func (*UtxopsbtResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{101} +// Deprecated: Use ListtransactionsRequest.ProtoReflect.Descriptor instead. +func (*ListtransactionsRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{95} } -func (x *UtxopsbtResponse) GetPsbt() string { - if x != nil { - return x.Psbt - } - return "" +type ListtransactionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Transactions []*ListtransactionsTransactions `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"` } -func (x *UtxopsbtResponse) GetFeeratePerKw() uint32 { - if x != nil { - return x.FeeratePerKw +func (x *ListtransactionsResponse) Reset() { + *x = ListtransactionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return 0 } -func (x *UtxopsbtResponse) GetEstimatedFinalWeight() uint32 { - if x != nil { - return x.EstimatedFinalWeight - } - return 0 +func (x *ListtransactionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *UtxopsbtResponse) GetExcessMsat() *Amount { - if x != nil { - return x.ExcessMsat +func (*ListtransactionsResponse) ProtoMessage() {} + +func (x *ListtransactionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[96] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *UtxopsbtResponse) GetChangeOutnum() uint32 { - if x != nil && x.ChangeOutnum != nil { - return *x.ChangeOutnum - } - return 0 +// Deprecated: Use ListtransactionsResponse.ProtoReflect.Descriptor instead. +func (*ListtransactionsResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{96} } -func (x *UtxopsbtResponse) GetReservations() []*UtxopsbtReservations { +func (x *ListtransactionsResponse) GetTransactions() []*ListtransactionsTransactions { if x != nil { - return x.Reservations + return x.Transactions } return nil } -type UtxopsbtReservations struct { +type ListtransactionsTransactions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` - Vout uint32 `protobuf:"varint,2,opt,name=vout,proto3" json:"vout,omitempty"` - WasReserved bool `protobuf:"varint,3,opt,name=was_reserved,json=wasReserved,proto3" json:"was_reserved,omitempty"` - Reserved bool `protobuf:"varint,4,opt,name=reserved,proto3" json:"reserved,omitempty"` - ReservedToBlock uint32 `protobuf:"varint,5,opt,name=reserved_to_block,json=reservedToBlock,proto3" json:"reserved_to_block,omitempty"` + Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` + Rawtx []byte `protobuf:"bytes,2,opt,name=rawtx,proto3" json:"rawtx,omitempty"` + Blockheight uint32 `protobuf:"varint,3,opt,name=blockheight,proto3" json:"blockheight,omitempty"` + Txindex uint32 `protobuf:"varint,4,opt,name=txindex,proto3" json:"txindex,omitempty"` + Locktime uint32 `protobuf:"varint,7,opt,name=locktime,proto3" json:"locktime,omitempty"` + Version uint32 `protobuf:"varint,8,opt,name=version,proto3" json:"version,omitempty"` + Inputs []*ListtransactionsTransactionsInputs `protobuf:"bytes,9,rep,name=inputs,proto3" json:"inputs,omitempty"` + Outputs []*ListtransactionsTransactionsOutputs `protobuf:"bytes,10,rep,name=outputs,proto3" json:"outputs,omitempty"` } -func (x *UtxopsbtReservations) Reset() { - *x = UtxopsbtReservations{} +func (x *ListtransactionsTransactions) Reset() { + *x = ListtransactionsTransactions{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[102] + mi := &file_node_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *UtxopsbtReservations) String() string { +func (x *ListtransactionsTransactions) String() string { return protoimpl.X.MessageStringOf(x) } -func (*UtxopsbtReservations) ProtoMessage() {} +func (*ListtransactionsTransactions) ProtoMessage() {} -func (x *UtxopsbtReservations) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[102] +func (x *ListtransactionsTransactions) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[97] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10852,71 +10555,94 @@ func (x *UtxopsbtReservations) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use UtxopsbtReservations.ProtoReflect.Descriptor instead. -func (*UtxopsbtReservations) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{102} +// Deprecated: Use ListtransactionsTransactions.ProtoReflect.Descriptor instead. +func (*ListtransactionsTransactions) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{97} } -func (x *UtxopsbtReservations) GetTxid() []byte { +func (x *ListtransactionsTransactions) GetHash() []byte { if x != nil { - return x.Txid + return x.Hash } return nil } -func (x *UtxopsbtReservations) GetVout() uint32 { +func (x *ListtransactionsTransactions) GetRawtx() []byte { if x != nil { - return x.Vout + return x.Rawtx + } + return nil +} + +func (x *ListtransactionsTransactions) GetBlockheight() uint32 { + if x != nil { + return x.Blockheight } return 0 } -func (x *UtxopsbtReservations) GetWasReserved() bool { +func (x *ListtransactionsTransactions) GetTxindex() uint32 { if x != nil { - return x.WasReserved + return x.Txindex } - return false + return 0 } -func (x *UtxopsbtReservations) GetReserved() bool { +func (x *ListtransactionsTransactions) GetLocktime() uint32 { if x != nil { - return x.Reserved + return x.Locktime } - return false + return 0 } -func (x *UtxopsbtReservations) GetReservedToBlock() uint32 { +func (x *ListtransactionsTransactions) GetVersion() uint32 { if x != nil { - return x.ReservedToBlock + return x.Version } return 0 } -type TxdiscardRequest struct { +func (x *ListtransactionsTransactions) GetInputs() []*ListtransactionsTransactionsInputs { + if x != nil { + return x.Inputs + } + return nil +} + +func (x *ListtransactionsTransactions) GetOutputs() []*ListtransactionsTransactionsOutputs { + if x != nil { + return x.Outputs + } + return nil +} + +type ListtransactionsTransactionsInputs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Index uint32 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` + Sequence uint32 `protobuf:"varint,3,opt,name=sequence,proto3" json:"sequence,omitempty"` } -func (x *TxdiscardRequest) Reset() { - *x = TxdiscardRequest{} +func (x *ListtransactionsTransactionsInputs) Reset() { + *x = ListtransactionsTransactionsInputs{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[103] + mi := &file_node_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TxdiscardRequest) String() string { +func (x *ListtransactionsTransactionsInputs) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TxdiscardRequest) ProtoMessage() {} +func (*ListtransactionsTransactionsInputs) ProtoMessage() {} -func (x *TxdiscardRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[103] +func (x *ListtransactionsTransactionsInputs) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[98] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10927,44 +10653,59 @@ func (x *TxdiscardRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TxdiscardRequest.ProtoReflect.Descriptor instead. -func (*TxdiscardRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{103} +// Deprecated: Use ListtransactionsTransactionsInputs.ProtoReflect.Descriptor instead. +func (*ListtransactionsTransactionsInputs) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{98} } -func (x *TxdiscardRequest) GetTxid() []byte { +func (x *ListtransactionsTransactionsInputs) GetTxid() []byte { if x != nil { return x.Txid } return nil } -type TxdiscardResponse struct { +func (x *ListtransactionsTransactionsInputs) GetIndex() uint32 { + if x != nil { + return x.Index + } + return 0 +} + +func (x *ListtransactionsTransactionsInputs) GetSequence() uint32 { + if x != nil { + return x.Sequence + } + return 0 +} + +type ListtransactionsTransactionsOutputs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - UnsignedTx []byte `protobuf:"bytes,1,opt,name=unsigned_tx,json=unsignedTx,proto3" json:"unsigned_tx,omitempty"` - Txid []byte `protobuf:"bytes,2,opt,name=txid,proto3" json:"txid,omitempty"` + Index uint32 `protobuf:"varint,1,opt,name=index,proto3" json:"index,omitempty"` + ScriptPubKey []byte `protobuf:"bytes,3,opt,name=scriptPubKey,proto3" json:"scriptPubKey,omitempty"` + AmountMsat *Amount `protobuf:"bytes,6,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` } -func (x *TxdiscardResponse) Reset() { - *x = TxdiscardResponse{} +func (x *ListtransactionsTransactionsOutputs) Reset() { + *x = ListtransactionsTransactionsOutputs{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[104] + mi := &file_node_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TxdiscardResponse) String() string { +func (x *ListtransactionsTransactionsOutputs) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TxdiscardResponse) ProtoMessage() {} +func (*ListtransactionsTransactionsOutputs) ProtoMessage() {} -func (x *TxdiscardResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[104] +func (x *ListtransactionsTransactionsOutputs) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[99] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10975,53 +10716,58 @@ func (x *TxdiscardResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TxdiscardResponse.ProtoReflect.Descriptor instead. -func (*TxdiscardResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{104} +// Deprecated: Use ListtransactionsTransactionsOutputs.ProtoReflect.Descriptor instead. +func (*ListtransactionsTransactionsOutputs) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{99} } -func (x *TxdiscardResponse) GetUnsignedTx() []byte { +func (x *ListtransactionsTransactionsOutputs) GetIndex() uint32 { if x != nil { - return x.UnsignedTx + return x.Index + } + return 0 +} + +func (x *ListtransactionsTransactionsOutputs) GetScriptPubKey() []byte { + if x != nil { + return x.ScriptPubKey } return nil } -func (x *TxdiscardResponse) GetTxid() []byte { +func (x *ListtransactionsTransactionsOutputs) GetAmountMsat() *Amount { if x != nil { - return x.Txid + return x.AmountMsat } return nil } -type TxprepareRequest struct { +type MakesecretRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Outputs []*OutputDesc `protobuf:"bytes,5,rep,name=outputs,proto3" json:"outputs,omitempty"` - Feerate *Feerate `protobuf:"bytes,2,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` - Minconf *uint32 `protobuf:"varint,3,opt,name=minconf,proto3,oneof" json:"minconf,omitempty"` - Utxos []*Outpoint `protobuf:"bytes,4,rep,name=utxos,proto3" json:"utxos,omitempty"` + Hex []byte `protobuf:"bytes,1,opt,name=hex,proto3,oneof" json:"hex,omitempty"` + String_ *string `protobuf:"bytes,2,opt,name=string,proto3,oneof" json:"string,omitempty"` } -func (x *TxprepareRequest) Reset() { - *x = TxprepareRequest{} +func (x *MakesecretRequest) Reset() { + *x = MakesecretRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[105] + mi := &file_node_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TxprepareRequest) String() string { +func (x *MakesecretRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TxprepareRequest) ProtoMessage() {} +func (*MakesecretRequest) ProtoMessage() {} -func (x *TxprepareRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[105] +func (x *MakesecretRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[100] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11032,66 +10778,50 @@ func (x *TxprepareRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TxprepareRequest.ProtoReflect.Descriptor instead. -func (*TxprepareRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{105} +// Deprecated: Use MakesecretRequest.ProtoReflect.Descriptor instead. +func (*MakesecretRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{100} } -func (x *TxprepareRequest) GetOutputs() []*OutputDesc { +func (x *MakesecretRequest) GetHex() []byte { if x != nil { - return x.Outputs + return x.Hex } return nil } -func (x *TxprepareRequest) GetFeerate() *Feerate { - if x != nil { - return x.Feerate +func (x *MakesecretRequest) GetString_() string { + if x != nil && x.String_ != nil { + return *x.String_ } - return nil + return "" } -func (x *TxprepareRequest) GetMinconf() uint32 { - if x != nil && x.Minconf != nil { - return *x.Minconf - } - return 0 -} - -func (x *TxprepareRequest) GetUtxos() []*Outpoint { - if x != nil { - return x.Utxos - } - return nil -} - -type TxprepareResponse struct { +type MakesecretResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` - UnsignedTx []byte `protobuf:"bytes,2,opt,name=unsigned_tx,json=unsignedTx,proto3" json:"unsigned_tx,omitempty"` - Txid []byte `protobuf:"bytes,3,opt,name=txid,proto3" json:"txid,omitempty"` + Secret []byte `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret,omitempty"` } -func (x *TxprepareResponse) Reset() { - *x = TxprepareResponse{} +func (x *MakesecretResponse) Reset() { + *x = MakesecretResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[106] + mi := &file_node_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TxprepareResponse) String() string { +func (x *MakesecretResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TxprepareResponse) ProtoMessage() {} +func (*MakesecretResponse) ProtoMessage() {} -func (x *TxprepareResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[106] +func (x *MakesecretResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[101] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11102,57 +10832,55 @@ func (x *TxprepareResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TxprepareResponse.ProtoReflect.Descriptor instead. -func (*TxprepareResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{106} -} - -func (x *TxprepareResponse) GetPsbt() string { - if x != nil { - return x.Psbt - } - return "" -} - -func (x *TxprepareResponse) GetUnsignedTx() []byte { - if x != nil { - return x.UnsignedTx - } - return nil +// Deprecated: Use MakesecretResponse.ProtoReflect.Descriptor instead. +func (*MakesecretResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{101} } -func (x *TxprepareResponse) GetTxid() []byte { +func (x *MakesecretResponse) GetSecret() []byte { if x != nil { - return x.Txid + return x.Secret } return nil } -type TxsendRequest struct { +type PayRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Bolt11 string `protobuf:"bytes,1,opt,name=bolt11,proto3" json:"bolt11,omitempty"` + Label *string `protobuf:"bytes,3,opt,name=label,proto3,oneof" json:"label,omitempty"` + Maxfeepercent *float64 `protobuf:"fixed64,4,opt,name=maxfeepercent,proto3,oneof" json:"maxfeepercent,omitempty"` + RetryFor *uint32 `protobuf:"varint,5,opt,name=retry_for,json=retryFor,proto3,oneof" json:"retry_for,omitempty"` + Maxdelay *uint32 `protobuf:"varint,6,opt,name=maxdelay,proto3,oneof" json:"maxdelay,omitempty"` + Exemptfee *Amount `protobuf:"bytes,7,opt,name=exemptfee,proto3,oneof" json:"exemptfee,omitempty"` + Riskfactor *float64 `protobuf:"fixed64,8,opt,name=riskfactor,proto3,oneof" json:"riskfactor,omitempty"` + Exclude []string `protobuf:"bytes,10,rep,name=exclude,proto3" json:"exclude,omitempty"` + Maxfee *Amount `protobuf:"bytes,11,opt,name=maxfee,proto3,oneof" json:"maxfee,omitempty"` + Description *string `protobuf:"bytes,12,opt,name=description,proto3,oneof" json:"description,omitempty"` + AmountMsat *Amount `protobuf:"bytes,13,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Localinvreqid []byte `protobuf:"bytes,14,opt,name=localinvreqid,proto3,oneof" json:"localinvreqid,omitempty"` + PartialMsat *Amount `protobuf:"bytes,15,opt,name=partial_msat,json=partialMsat,proto3,oneof" json:"partial_msat,omitempty"` } -func (x *TxsendRequest) Reset() { - *x = TxsendRequest{} +func (x *PayRequest) Reset() { + *x = PayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[107] + mi := &file_node_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *TxsendRequest) String() string { +func (x *PayRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*TxsendRequest) ProtoMessage() {} +func (*PayRequest) ProtoMessage() {} -func (x *TxsendRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[107] +func (x *PayRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[102] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11163,153 +10891,135 @@ func (x *TxsendRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use TxsendRequest.ProtoReflect.Descriptor instead. -func (*TxsendRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{107} +// Deprecated: Use PayRequest.ProtoReflect.Descriptor instead. +func (*PayRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{102} } -func (x *TxsendRequest) GetTxid() []byte { +func (x *PayRequest) GetBolt11() string { if x != nil { - return x.Txid + return x.Bolt11 } - return nil + return "" } -type TxsendResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` - Tx []byte `protobuf:"bytes,2,opt,name=tx,proto3" json:"tx,omitempty"` - Txid []byte `protobuf:"bytes,3,opt,name=txid,proto3" json:"txid,omitempty"` +func (x *PayRequest) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label + } + return "" } -func (x *TxsendResponse) Reset() { - *x = TxsendResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[108] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *PayRequest) GetMaxfeepercent() float64 { + if x != nil && x.Maxfeepercent != nil { + return *x.Maxfeepercent } + return 0 } -func (x *TxsendResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *PayRequest) GetRetryFor() uint32 { + if x != nil && x.RetryFor != nil { + return *x.RetryFor + } + return 0 } -func (*TxsendResponse) ProtoMessage() {} - -func (x *TxsendResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[108] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *PayRequest) GetMaxdelay() uint32 { + if x != nil && x.Maxdelay != nil { + return *x.Maxdelay } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use TxsendResponse.ProtoReflect.Descriptor instead. -func (*TxsendResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{108} +func (x *PayRequest) GetExemptfee() *Amount { + if x != nil { + return x.Exemptfee + } + return nil } -func (x *TxsendResponse) GetPsbt() string { - if x != nil { - return x.Psbt +func (x *PayRequest) GetRiskfactor() float64 { + if x != nil && x.Riskfactor != nil { + return *x.Riskfactor } - return "" + return 0 } -func (x *TxsendResponse) GetTx() []byte { +func (x *PayRequest) GetExclude() []string { if x != nil { - return x.Tx + return x.Exclude } return nil } -func (x *TxsendResponse) GetTxid() []byte { +func (x *PayRequest) GetMaxfee() *Amount { if x != nil { - return x.Txid + return x.Maxfee } return nil } -type ListpeerchannelsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id []byte `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` -} - -func (x *ListpeerchannelsRequest) Reset() { - *x = ListpeerchannelsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[109] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *PayRequest) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description } + return "" } -func (x *ListpeerchannelsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListpeerchannelsRequest) ProtoMessage() {} - -func (x *ListpeerchannelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[109] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *PayRequest) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat } - return mi.MessageOf(x) + return nil } -// Deprecated: Use ListpeerchannelsRequest.ProtoReflect.Descriptor instead. -func (*ListpeerchannelsRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{109} +func (x *PayRequest) GetLocalinvreqid() []byte { + if x != nil { + return x.Localinvreqid + } + return nil } -func (x *ListpeerchannelsRequest) GetId() []byte { +func (x *PayRequest) GetPartialMsat() *Amount { if x != nil { - return x.Id + return x.PartialMsat } return nil } -type ListpeerchannelsResponse struct { +type PayResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Channels []*ListpeerchannelsChannels `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` + PaymentPreimage []byte `protobuf:"bytes,1,opt,name=payment_preimage,json=paymentPreimage,proto3" json:"payment_preimage,omitempty"` + Destination []byte `protobuf:"bytes,2,opt,name=destination,proto3,oneof" json:"destination,omitempty"` + PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + CreatedAt float64 `protobuf:"fixed64,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Parts uint32 `protobuf:"varint,5,opt,name=parts,proto3" json:"parts,omitempty"` + AmountMsat *Amount `protobuf:"bytes,6,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` + AmountSentMsat *Amount `protobuf:"bytes,7,opt,name=amount_sent_msat,json=amountSentMsat,proto3" json:"amount_sent_msat,omitempty"` + WarningPartialCompletion *string `protobuf:"bytes,8,opt,name=warning_partial_completion,json=warningPartialCompletion,proto3,oneof" json:"warning_partial_completion,omitempty"` + Status PayResponse_PayStatus `protobuf:"varint,9,opt,name=status,proto3,enum=cln.PayResponse_PayStatus" json:"status,omitempty"` } -func (x *ListpeerchannelsResponse) Reset() { - *x = ListpeerchannelsResponse{} +func (x *PayResponse) Reset() { + *x = PayResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[110] + mi := &file_node_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListpeerchannelsResponse) String() string { +func (x *PayResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListpeerchannelsResponse) ProtoMessage() {} +func (*PayResponse) ProtoMessage() {} -func (x *ListpeerchannelsResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[110] +func (x *PayResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[103] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11320,96 +11030,99 @@ func (x *ListpeerchannelsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListpeerchannelsResponse.ProtoReflect.Descriptor instead. -func (*ListpeerchannelsResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{110} +// Deprecated: Use PayResponse.ProtoReflect.Descriptor instead. +func (*PayResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{103} } -func (x *ListpeerchannelsResponse) GetChannels() []*ListpeerchannelsChannels { +func (x *PayResponse) GetPaymentPreimage() []byte { if x != nil { - return x.Channels + return x.PaymentPreimage } return nil } -type ListpeerchannelsChannels struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *PayResponse) GetDestination() []byte { + if x != nil { + return x.Destination + } + return nil +} - PeerId []byte `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3,oneof" json:"peer_id,omitempty"` - PeerConnected *bool `protobuf:"varint,2,opt,name=peer_connected,json=peerConnected,proto3,oneof" json:"peer_connected,omitempty"` - State *ListpeerchannelsChannels_ListpeerchannelsChannelsState `protobuf:"varint,3,opt,name=state,proto3,enum=cln.ListpeerchannelsChannels_ListpeerchannelsChannelsState,oneof" json:"state,omitempty"` - ScratchTxid []byte `protobuf:"bytes,4,opt,name=scratch_txid,json=scratchTxid,proto3,oneof" json:"scratch_txid,omitempty"` - Updates *ListpeerchannelsChannelsUpdates `protobuf:"bytes,55,opt,name=updates,proto3,oneof" json:"updates,omitempty"` - IgnoreFeeLimits *bool `protobuf:"varint,54,opt,name=ignore_fee_limits,json=ignoreFeeLimits,proto3,oneof" json:"ignore_fee_limits,omitempty"` - LostState *bool `protobuf:"varint,57,opt,name=lost_state,json=lostState,proto3,oneof" json:"lost_state,omitempty"` - Feerate *ListpeerchannelsChannelsFeerate `protobuf:"bytes,6,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` - Owner *string `protobuf:"bytes,7,opt,name=owner,proto3,oneof" json:"owner,omitempty"` - ShortChannelId *string `protobuf:"bytes,8,opt,name=short_channel_id,json=shortChannelId,proto3,oneof" json:"short_channel_id,omitempty"` - ChannelId []byte `protobuf:"bytes,9,opt,name=channel_id,json=channelId,proto3,oneof" json:"channel_id,omitempty"` - FundingTxid []byte `protobuf:"bytes,10,opt,name=funding_txid,json=fundingTxid,proto3,oneof" json:"funding_txid,omitempty"` - FundingOutnum *uint32 `protobuf:"varint,11,opt,name=funding_outnum,json=fundingOutnum,proto3,oneof" json:"funding_outnum,omitempty"` - InitialFeerate *string `protobuf:"bytes,12,opt,name=initial_feerate,json=initialFeerate,proto3,oneof" json:"initial_feerate,omitempty"` - LastFeerate *string `protobuf:"bytes,13,opt,name=last_feerate,json=lastFeerate,proto3,oneof" json:"last_feerate,omitempty"` - NextFeerate *string `protobuf:"bytes,14,opt,name=next_feerate,json=nextFeerate,proto3,oneof" json:"next_feerate,omitempty"` - NextFeeStep *uint32 `protobuf:"varint,15,opt,name=next_fee_step,json=nextFeeStep,proto3,oneof" json:"next_fee_step,omitempty"` - Inflight []*ListpeerchannelsChannelsInflight `protobuf:"bytes,16,rep,name=inflight,proto3" json:"inflight,omitempty"` - CloseTo []byte `protobuf:"bytes,17,opt,name=close_to,json=closeTo,proto3,oneof" json:"close_to,omitempty"` - Private *bool `protobuf:"varint,18,opt,name=private,proto3,oneof" json:"private,omitempty"` - Opener *ChannelSide `protobuf:"varint,19,opt,name=opener,proto3,enum=cln.ChannelSide,oneof" json:"opener,omitempty"` - Closer *ChannelSide `protobuf:"varint,20,opt,name=closer,proto3,enum=cln.ChannelSide,oneof" json:"closer,omitempty"` - Funding *ListpeerchannelsChannelsFunding `protobuf:"bytes,22,opt,name=funding,proto3,oneof" json:"funding,omitempty"` - ToUsMsat *Amount `protobuf:"bytes,23,opt,name=to_us_msat,json=toUsMsat,proto3,oneof" json:"to_us_msat,omitempty"` - MinToUsMsat *Amount `protobuf:"bytes,24,opt,name=min_to_us_msat,json=minToUsMsat,proto3,oneof" json:"min_to_us_msat,omitempty"` - MaxToUsMsat *Amount `protobuf:"bytes,25,opt,name=max_to_us_msat,json=maxToUsMsat,proto3,oneof" json:"max_to_us_msat,omitempty"` - TotalMsat *Amount `protobuf:"bytes,26,opt,name=total_msat,json=totalMsat,proto3,oneof" json:"total_msat,omitempty"` - FeeBaseMsat *Amount `protobuf:"bytes,27,opt,name=fee_base_msat,json=feeBaseMsat,proto3,oneof" json:"fee_base_msat,omitempty"` - FeeProportionalMillionths *uint32 `protobuf:"varint,28,opt,name=fee_proportional_millionths,json=feeProportionalMillionths,proto3,oneof" json:"fee_proportional_millionths,omitempty"` - DustLimitMsat *Amount `protobuf:"bytes,29,opt,name=dust_limit_msat,json=dustLimitMsat,proto3,oneof" json:"dust_limit_msat,omitempty"` - MaxTotalHtlcInMsat *Amount `protobuf:"bytes,30,opt,name=max_total_htlc_in_msat,json=maxTotalHtlcInMsat,proto3,oneof" json:"max_total_htlc_in_msat,omitempty"` - TheirReserveMsat *Amount `protobuf:"bytes,31,opt,name=their_reserve_msat,json=theirReserveMsat,proto3,oneof" json:"their_reserve_msat,omitempty"` - OurReserveMsat *Amount `protobuf:"bytes,32,opt,name=our_reserve_msat,json=ourReserveMsat,proto3,oneof" json:"our_reserve_msat,omitempty"` - SpendableMsat *Amount `protobuf:"bytes,33,opt,name=spendable_msat,json=spendableMsat,proto3,oneof" json:"spendable_msat,omitempty"` - ReceivableMsat *Amount `protobuf:"bytes,34,opt,name=receivable_msat,json=receivableMsat,proto3,oneof" json:"receivable_msat,omitempty"` - MinimumHtlcInMsat *Amount `protobuf:"bytes,35,opt,name=minimum_htlc_in_msat,json=minimumHtlcInMsat,proto3,oneof" json:"minimum_htlc_in_msat,omitempty"` - MinimumHtlcOutMsat *Amount `protobuf:"bytes,36,opt,name=minimum_htlc_out_msat,json=minimumHtlcOutMsat,proto3,oneof" json:"minimum_htlc_out_msat,omitempty"` - MaximumHtlcOutMsat *Amount `protobuf:"bytes,37,opt,name=maximum_htlc_out_msat,json=maximumHtlcOutMsat,proto3,oneof" json:"maximum_htlc_out_msat,omitempty"` - TheirToSelfDelay *uint32 `protobuf:"varint,38,opt,name=their_to_self_delay,json=theirToSelfDelay,proto3,oneof" json:"their_to_self_delay,omitempty"` - OurToSelfDelay *uint32 `protobuf:"varint,39,opt,name=our_to_self_delay,json=ourToSelfDelay,proto3,oneof" json:"our_to_self_delay,omitempty"` - MaxAcceptedHtlcs *uint32 `protobuf:"varint,40,opt,name=max_accepted_htlcs,json=maxAcceptedHtlcs,proto3,oneof" json:"max_accepted_htlcs,omitempty"` - Alias *ListpeerchannelsChannelsAlias `protobuf:"bytes,41,opt,name=alias,proto3,oneof" json:"alias,omitempty"` - Status []string `protobuf:"bytes,43,rep,name=status,proto3" json:"status,omitempty"` - InPaymentsOffered *uint64 `protobuf:"varint,44,opt,name=in_payments_offered,json=inPaymentsOffered,proto3,oneof" json:"in_payments_offered,omitempty"` - InOfferedMsat *Amount `protobuf:"bytes,45,opt,name=in_offered_msat,json=inOfferedMsat,proto3,oneof" json:"in_offered_msat,omitempty"` - InPaymentsFulfilled *uint64 `protobuf:"varint,46,opt,name=in_payments_fulfilled,json=inPaymentsFulfilled,proto3,oneof" json:"in_payments_fulfilled,omitempty"` - InFulfilledMsat *Amount `protobuf:"bytes,47,opt,name=in_fulfilled_msat,json=inFulfilledMsat,proto3,oneof" json:"in_fulfilled_msat,omitempty"` - OutPaymentsOffered *uint64 `protobuf:"varint,48,opt,name=out_payments_offered,json=outPaymentsOffered,proto3,oneof" json:"out_payments_offered,omitempty"` - OutOfferedMsat *Amount `protobuf:"bytes,49,opt,name=out_offered_msat,json=outOfferedMsat,proto3,oneof" json:"out_offered_msat,omitempty"` - OutPaymentsFulfilled *uint64 `protobuf:"varint,50,opt,name=out_payments_fulfilled,json=outPaymentsFulfilled,proto3,oneof" json:"out_payments_fulfilled,omitempty"` - OutFulfilledMsat *Amount `protobuf:"bytes,51,opt,name=out_fulfilled_msat,json=outFulfilledMsat,proto3,oneof" json:"out_fulfilled_msat,omitempty"` - LastStableConnection *uint64 `protobuf:"varint,56,opt,name=last_stable_connection,json=lastStableConnection,proto3,oneof" json:"last_stable_connection,omitempty"` - Htlcs []*ListpeerchannelsChannelsHtlcs `protobuf:"bytes,52,rep,name=htlcs,proto3" json:"htlcs,omitempty"` - CloseToAddr *string `protobuf:"bytes,53,opt,name=close_to_addr,json=closeToAddr,proto3,oneof" json:"close_to_addr,omitempty"` +func (x *PayResponse) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash + } + return nil } -func (x *ListpeerchannelsChannels) Reset() { - *x = ListpeerchannelsChannels{} +func (x *PayResponse) GetCreatedAt() float64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *PayResponse) GetParts() uint32 { + if x != nil { + return x.Parts + } + return 0 +} + +func (x *PayResponse) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil +} + +func (x *PayResponse) GetAmountSentMsat() *Amount { + if x != nil { + return x.AmountSentMsat + } + return nil +} + +func (x *PayResponse) GetWarningPartialCompletion() string { + if x != nil && x.WarningPartialCompletion != nil { + return *x.WarningPartialCompletion + } + return "" +} + +func (x *PayResponse) GetStatus() PayResponse_PayStatus { + if x != nil { + return x.Status + } + return PayResponse_COMPLETE +} + +type ListnodesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` +} + +func (x *ListnodesRequest) Reset() { + *x = ListnodesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[111] + mi := &file_node_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListpeerchannelsChannels) String() string { +func (x *ListnodesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListpeerchannelsChannels) ProtoMessage() {} +func (*ListnodesRequest) ProtoMessage() {} -func (x *ListpeerchannelsChannels) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[111] +func (x *ListnodesRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[104] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11420,473 +11133,550 @@ func (x *ListpeerchannelsChannels) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListpeerchannelsChannels.ProtoReflect.Descriptor instead. -func (*ListpeerchannelsChannels) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{111} +// Deprecated: Use ListnodesRequest.ProtoReflect.Descriptor instead. +func (*ListnodesRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{104} } -func (x *ListpeerchannelsChannels) GetPeerId() []byte { +func (x *ListnodesRequest) GetId() []byte { if x != nil { - return x.PeerId + return x.Id } return nil } -func (x *ListpeerchannelsChannels) GetPeerConnected() bool { - if x != nil && x.PeerConnected != nil { - return *x.PeerConnected - } - return false +type ListnodesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Nodes []*ListnodesNodes `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` } -func (x *ListpeerchannelsChannels) GetState() ListpeerchannelsChannels_ListpeerchannelsChannelsState { - if x != nil && x.State != nil { - return *x.State +func (x *ListnodesResponse) Reset() { + *x = ListnodesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return ListpeerchannelsChannels_OPENINGD } -func (x *ListpeerchannelsChannels) GetScratchTxid() []byte { - if x != nil { - return x.ScratchTxid +func (x *ListnodesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListnodesResponse) ProtoMessage() {} + +func (x *ListnodesResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[105] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ListpeerchannelsChannels) GetUpdates() *ListpeerchannelsChannelsUpdates { +// Deprecated: Use ListnodesResponse.ProtoReflect.Descriptor instead. +func (*ListnodesResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{105} +} + +func (x *ListnodesResponse) GetNodes() []*ListnodesNodes { if x != nil { - return x.Updates + return x.Nodes } return nil } -func (x *ListpeerchannelsChannels) GetIgnoreFeeLimits() bool { - if x != nil && x.IgnoreFeeLimits != nil { - return *x.IgnoreFeeLimits +type ListnodesNodes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Nodeid []byte `protobuf:"bytes,1,opt,name=nodeid,proto3" json:"nodeid,omitempty"` + LastTimestamp *uint32 `protobuf:"varint,2,opt,name=last_timestamp,json=lastTimestamp,proto3,oneof" json:"last_timestamp,omitempty"` + Alias *string `protobuf:"bytes,3,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + Color []byte `protobuf:"bytes,4,opt,name=color,proto3,oneof" json:"color,omitempty"` + Features []byte `protobuf:"bytes,5,opt,name=features,proto3,oneof" json:"features,omitempty"` + Addresses []*ListnodesNodesAddresses `protobuf:"bytes,6,rep,name=addresses,proto3" json:"addresses,omitempty"` + OptionWillFund *ListnodesNodesOptionWillFund `protobuf:"bytes,7,opt,name=option_will_fund,json=optionWillFund,proto3,oneof" json:"option_will_fund,omitempty"` +} + +func (x *ListnodesNodes) Reset() { + *x = ListnodesNodes{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return false } -func (x *ListpeerchannelsChannels) GetLostState() bool { - if x != nil && x.LostState != nil { - return *x.LostState +func (x *ListnodesNodes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListnodesNodes) ProtoMessage() {} + +func (x *ListnodesNodes) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[106] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return false + return mi.MessageOf(x) } -func (x *ListpeerchannelsChannels) GetFeerate() *ListpeerchannelsChannelsFeerate { +// Deprecated: Use ListnodesNodes.ProtoReflect.Descriptor instead. +func (*ListnodesNodes) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{106} +} + +func (x *ListnodesNodes) GetNodeid() []byte { if x != nil { - return x.Feerate + return x.Nodeid } return nil } -func (x *ListpeerchannelsChannels) GetOwner() string { - if x != nil && x.Owner != nil { - return *x.Owner +func (x *ListnodesNodes) GetLastTimestamp() uint32 { + if x != nil && x.LastTimestamp != nil { + return *x.LastTimestamp } - return "" + return 0 } -func (x *ListpeerchannelsChannels) GetShortChannelId() string { - if x != nil && x.ShortChannelId != nil { - return *x.ShortChannelId +func (x *ListnodesNodes) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias } return "" } -func (x *ListpeerchannelsChannels) GetChannelId() []byte { +func (x *ListnodesNodes) GetColor() []byte { if x != nil { - return x.ChannelId + return x.Color } return nil } -func (x *ListpeerchannelsChannels) GetFundingTxid() []byte { +func (x *ListnodesNodes) GetFeatures() []byte { if x != nil { - return x.FundingTxid + return x.Features } return nil } -func (x *ListpeerchannelsChannels) GetFundingOutnum() uint32 { - if x != nil && x.FundingOutnum != nil { - return *x.FundingOutnum +func (x *ListnodesNodes) GetAddresses() []*ListnodesNodesAddresses { + if x != nil { + return x.Addresses } - return 0 + return nil } -func (x *ListpeerchannelsChannels) GetInitialFeerate() string { - if x != nil && x.InitialFeerate != nil { - return *x.InitialFeerate +func (x *ListnodesNodes) GetOptionWillFund() *ListnodesNodesOptionWillFund { + if x != nil { + return x.OptionWillFund } - return "" + return nil } -func (x *ListpeerchannelsChannels) GetLastFeerate() string { - if x != nil && x.LastFeerate != nil { - return *x.LastFeerate - } - return "" +type ListnodesNodesOptionWillFund struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LeaseFeeBaseMsat *Amount `protobuf:"bytes,1,opt,name=lease_fee_base_msat,json=leaseFeeBaseMsat,proto3" json:"lease_fee_base_msat,omitempty"` + LeaseFeeBasis uint32 `protobuf:"varint,2,opt,name=lease_fee_basis,json=leaseFeeBasis,proto3" json:"lease_fee_basis,omitempty"` + FundingWeight uint32 `protobuf:"varint,3,opt,name=funding_weight,json=fundingWeight,proto3" json:"funding_weight,omitempty"` + ChannelFeeMaxBaseMsat *Amount `protobuf:"bytes,4,opt,name=channel_fee_max_base_msat,json=channelFeeMaxBaseMsat,proto3" json:"channel_fee_max_base_msat,omitempty"` + ChannelFeeMaxProportionalThousandths uint32 `protobuf:"varint,5,opt,name=channel_fee_max_proportional_thousandths,json=channelFeeMaxProportionalThousandths,proto3" json:"channel_fee_max_proportional_thousandths,omitempty"` + CompactLease []byte `protobuf:"bytes,6,opt,name=compact_lease,json=compactLease,proto3" json:"compact_lease,omitempty"` } -func (x *ListpeerchannelsChannels) GetNextFeerate() string { - if x != nil && x.NextFeerate != nil { - return *x.NextFeerate +func (x *ListnodesNodesOptionWillFund) Reset() { + *x = ListnodesNodesOptionWillFund{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *ListpeerchannelsChannels) GetNextFeeStep() uint32 { - if x != nil && x.NextFeeStep != nil { - return *x.NextFeeStep - } - return 0 +func (x *ListnodesNodesOptionWillFund) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ListpeerchannelsChannels) GetInflight() []*ListpeerchannelsChannelsInflight { - if x != nil { - return x.Inflight +func (*ListnodesNodesOptionWillFund) ProtoMessage() {} + +func (x *ListnodesNodesOptionWillFund) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[107] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ListpeerchannelsChannels) GetCloseTo() []byte { +// Deprecated: Use ListnodesNodesOptionWillFund.ProtoReflect.Descriptor instead. +func (*ListnodesNodesOptionWillFund) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{107} +} + +func (x *ListnodesNodesOptionWillFund) GetLeaseFeeBaseMsat() *Amount { if x != nil { - return x.CloseTo + return x.LeaseFeeBaseMsat } return nil } -func (x *ListpeerchannelsChannels) GetPrivate() bool { - if x != nil && x.Private != nil { - return *x.Private +func (x *ListnodesNodesOptionWillFund) GetLeaseFeeBasis() uint32 { + if x != nil { + return x.LeaseFeeBasis } - return false + return 0 } -func (x *ListpeerchannelsChannels) GetOpener() ChannelSide { - if x != nil && x.Opener != nil { - return *x.Opener +func (x *ListnodesNodesOptionWillFund) GetFundingWeight() uint32 { + if x != nil { + return x.FundingWeight } - return ChannelSide_LOCAL + return 0 } -func (x *ListpeerchannelsChannels) GetCloser() ChannelSide { - if x != nil && x.Closer != nil { - return *x.Closer +func (x *ListnodesNodesOptionWillFund) GetChannelFeeMaxBaseMsat() *Amount { + if x != nil { + return x.ChannelFeeMaxBaseMsat } - return ChannelSide_LOCAL + return nil } -func (x *ListpeerchannelsChannels) GetFunding() *ListpeerchannelsChannelsFunding { +func (x *ListnodesNodesOptionWillFund) GetChannelFeeMaxProportionalThousandths() uint32 { if x != nil { - return x.Funding + return x.ChannelFeeMaxProportionalThousandths } - return nil + return 0 } -func (x *ListpeerchannelsChannels) GetToUsMsat() *Amount { +func (x *ListnodesNodesOptionWillFund) GetCompactLease() []byte { if x != nil { - return x.ToUsMsat + return x.CompactLease } return nil } -func (x *ListpeerchannelsChannels) GetMinToUsMsat() *Amount { - if x != nil { - return x.MinToUsMsat - } - return nil -} +type ListnodesNodesAddresses struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *ListpeerchannelsChannels) GetMaxToUsMsat() *Amount { - if x != nil { - return x.MaxToUsMsat - } - return nil + ItemType ListnodesNodesAddresses_ListnodesNodesAddressesType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.ListnodesNodesAddresses_ListnodesNodesAddressesType" json:"item_type,omitempty"` + Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` + Address *string `protobuf:"bytes,3,opt,name=address,proto3,oneof" json:"address,omitempty"` } -func (x *ListpeerchannelsChannels) GetTotalMsat() *Amount { - if x != nil { - return x.TotalMsat +func (x *ListnodesNodesAddresses) Reset() { + *x = ListnodesNodesAddresses{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ListpeerchannelsChannels) GetFeeBaseMsat() *Amount { - if x != nil { - return x.FeeBaseMsat - } - return nil +func (x *ListnodesNodesAddresses) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ListpeerchannelsChannels) GetFeeProportionalMillionths() uint32 { - if x != nil && x.FeeProportionalMillionths != nil { - return *x.FeeProportionalMillionths +func (*ListnodesNodesAddresses) ProtoMessage() {} + +func (x *ListnodesNodesAddresses) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[108] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *ListpeerchannelsChannels) GetDustLimitMsat() *Amount { - if x != nil { - return x.DustLimitMsat - } - return nil +// Deprecated: Use ListnodesNodesAddresses.ProtoReflect.Descriptor instead. +func (*ListnodesNodesAddresses) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{108} } -func (x *ListpeerchannelsChannels) GetMaxTotalHtlcInMsat() *Amount { +func (x *ListnodesNodesAddresses) GetItemType() ListnodesNodesAddresses_ListnodesNodesAddressesType { if x != nil { - return x.MaxTotalHtlcInMsat + return x.ItemType } - return nil + return ListnodesNodesAddresses_DNS } -func (x *ListpeerchannelsChannels) GetTheirReserveMsat() *Amount { +func (x *ListnodesNodesAddresses) GetPort() uint32 { if x != nil { - return x.TheirReserveMsat + return x.Port } - return nil + return 0 } -func (x *ListpeerchannelsChannels) GetOurReserveMsat() *Amount { - if x != nil { - return x.OurReserveMsat +func (x *ListnodesNodesAddresses) GetAddress() string { + if x != nil && x.Address != nil { + return *x.Address } - return nil + return "" } -func (x *ListpeerchannelsChannels) GetSpendableMsat() *Amount { - if x != nil { - return x.SpendableMsat - } - return nil +type WaitanyinvoiceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LastpayIndex *uint64 `protobuf:"varint,1,opt,name=lastpay_index,json=lastpayIndex,proto3,oneof" json:"lastpay_index,omitempty"` + Timeout *uint64 `protobuf:"varint,2,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"` } -func (x *ListpeerchannelsChannels) GetReceivableMsat() *Amount { - if x != nil { - return x.ReceivableMsat +func (x *WaitanyinvoiceRequest) Reset() { + *x = WaitanyinvoiceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ListpeerchannelsChannels) GetMinimumHtlcInMsat() *Amount { - if x != nil { - return x.MinimumHtlcInMsat - } - return nil +func (x *WaitanyinvoiceRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ListpeerchannelsChannels) GetMinimumHtlcOutMsat() *Amount { - if x != nil { - return x.MinimumHtlcOutMsat +func (*WaitanyinvoiceRequest) ProtoMessage() {} + +func (x *WaitanyinvoiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[109] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ListpeerchannelsChannels) GetMaximumHtlcOutMsat() *Amount { - if x != nil { - return x.MaximumHtlcOutMsat - } - return nil +// Deprecated: Use WaitanyinvoiceRequest.ProtoReflect.Descriptor instead. +func (*WaitanyinvoiceRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{109} } -func (x *ListpeerchannelsChannels) GetTheirToSelfDelay() uint32 { - if x != nil && x.TheirToSelfDelay != nil { - return *x.TheirToSelfDelay +func (x *WaitanyinvoiceRequest) GetLastpayIndex() uint64 { + if x != nil && x.LastpayIndex != nil { + return *x.LastpayIndex } return 0 } -func (x *ListpeerchannelsChannels) GetOurToSelfDelay() uint32 { - if x != nil && x.OurToSelfDelay != nil { - return *x.OurToSelfDelay +func (x *WaitanyinvoiceRequest) GetTimeout() uint64 { + if x != nil && x.Timeout != nil { + return *x.Timeout } return 0 } -func (x *ListpeerchannelsChannels) GetMaxAcceptedHtlcs() uint32 { - if x != nil && x.MaxAcceptedHtlcs != nil { - return *x.MaxAcceptedHtlcs - } - return 0 +type WaitanyinvoiceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Status WaitanyinvoiceResponse_WaitanyinvoiceStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cln.WaitanyinvoiceResponse_WaitanyinvoiceStatus" json:"status,omitempty"` + ExpiresAt uint64 `protobuf:"varint,5,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + AmountMsat *Amount `protobuf:"bytes,6,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Bolt11 *string `protobuf:"bytes,7,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + Bolt12 *string `protobuf:"bytes,8,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` + PayIndex *uint64 `protobuf:"varint,9,opt,name=pay_index,json=payIndex,proto3,oneof" json:"pay_index,omitempty"` + AmountReceivedMsat *Amount `protobuf:"bytes,10,opt,name=amount_received_msat,json=amountReceivedMsat,proto3,oneof" json:"amount_received_msat,omitempty"` + PaidAt *uint64 `protobuf:"varint,11,opt,name=paid_at,json=paidAt,proto3,oneof" json:"paid_at,omitempty"` + PaymentPreimage []byte `protobuf:"bytes,12,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` + CreatedIndex *uint64 `protobuf:"varint,13,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` + UpdatedIndex *uint64 `protobuf:"varint,14,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` + PaidOutpoint *WaitanyinvoicePaidOutpoint `protobuf:"bytes,15,opt,name=paid_outpoint,json=paidOutpoint,proto3,oneof" json:"paid_outpoint,omitempty"` } -func (x *ListpeerchannelsChannels) GetAlias() *ListpeerchannelsChannelsAlias { - if x != nil { - return x.Alias +func (x *WaitanyinvoiceResponse) Reset() { + *x = WaitanyinvoiceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ListpeerchannelsChannels) GetStatus() []string { - if x != nil { - return x.Status - } - return nil +func (x *WaitanyinvoiceResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ListpeerchannelsChannels) GetInPaymentsOffered() uint64 { - if x != nil && x.InPaymentsOffered != nil { - return *x.InPaymentsOffered +func (*WaitanyinvoiceResponse) ProtoMessage() {} + +func (x *WaitanyinvoiceResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[110] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *ListpeerchannelsChannels) GetInOfferedMsat() *Amount { - if x != nil { - return x.InOfferedMsat - } - return nil +// Deprecated: Use WaitanyinvoiceResponse.ProtoReflect.Descriptor instead. +func (*WaitanyinvoiceResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{110} } -func (x *ListpeerchannelsChannels) GetInPaymentsFulfilled() uint64 { - if x != nil && x.InPaymentsFulfilled != nil { - return *x.InPaymentsFulfilled +func (x *WaitanyinvoiceResponse) GetLabel() string { + if x != nil { + return x.Label } - return 0 + return "" } -func (x *ListpeerchannelsChannels) GetInFulfilledMsat() *Amount { +func (x *WaitanyinvoiceResponse) GetDescription() string { if x != nil { - return x.InFulfilledMsat + return x.Description } - return nil + return "" } -func (x *ListpeerchannelsChannels) GetOutPaymentsOffered() uint64 { - if x != nil && x.OutPaymentsOffered != nil { - return *x.OutPaymentsOffered +func (x *WaitanyinvoiceResponse) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash } - return 0 + return nil } -func (x *ListpeerchannelsChannels) GetOutOfferedMsat() *Amount { +func (x *WaitanyinvoiceResponse) GetStatus() WaitanyinvoiceResponse_WaitanyinvoiceStatus { if x != nil { - return x.OutOfferedMsat + return x.Status } - return nil + return WaitanyinvoiceResponse_PAID } -func (x *ListpeerchannelsChannels) GetOutPaymentsFulfilled() uint64 { - if x != nil && x.OutPaymentsFulfilled != nil { - return *x.OutPaymentsFulfilled +func (x *WaitanyinvoiceResponse) GetExpiresAt() uint64 { + if x != nil { + return x.ExpiresAt } return 0 } -func (x *ListpeerchannelsChannels) GetOutFulfilledMsat() *Amount { +func (x *WaitanyinvoiceResponse) GetAmountMsat() *Amount { if x != nil { - return x.OutFulfilledMsat + return x.AmountMsat } return nil } -func (x *ListpeerchannelsChannels) GetLastStableConnection() uint64 { - if x != nil && x.LastStableConnection != nil { - return *x.LastStableConnection - } - return 0 -} - -func (x *ListpeerchannelsChannels) GetHtlcs() []*ListpeerchannelsChannelsHtlcs { - if x != nil { - return x.Htlcs +func (x *WaitanyinvoiceResponse) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 } - return nil + return "" } -func (x *ListpeerchannelsChannels) GetCloseToAddr() string { - if x != nil && x.CloseToAddr != nil { - return *x.CloseToAddr +func (x *WaitanyinvoiceResponse) GetBolt12() string { + if x != nil && x.Bolt12 != nil { + return *x.Bolt12 } return "" } -type ListpeerchannelsChannelsUpdates struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Local *ListpeerchannelsChannelsUpdatesLocal `protobuf:"bytes,1,opt,name=local,proto3,oneof" json:"local,omitempty"` - Remote *ListpeerchannelsChannelsUpdatesRemote `protobuf:"bytes,2,opt,name=remote,proto3,oneof" json:"remote,omitempty"` +func (x *WaitanyinvoiceResponse) GetPayIndex() uint64 { + if x != nil && x.PayIndex != nil { + return *x.PayIndex + } + return 0 } -func (x *ListpeerchannelsChannelsUpdates) Reset() { - *x = ListpeerchannelsChannelsUpdates{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[112] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *WaitanyinvoiceResponse) GetAmountReceivedMsat() *Amount { + if x != nil { + return x.AmountReceivedMsat } + return nil } -func (x *ListpeerchannelsChannelsUpdates) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *WaitanyinvoiceResponse) GetPaidAt() uint64 { + if x != nil && x.PaidAt != nil { + return *x.PaidAt + } + return 0 } -func (*ListpeerchannelsChannelsUpdates) ProtoMessage() {} - -func (x *ListpeerchannelsChannelsUpdates) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[112] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *WaitanyinvoiceResponse) GetPaymentPreimage() []byte { + if x != nil { + return x.PaymentPreimage } - return mi.MessageOf(x) + return nil } -// Deprecated: Use ListpeerchannelsChannelsUpdates.ProtoReflect.Descriptor instead. -func (*ListpeerchannelsChannelsUpdates) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{112} +func (x *WaitanyinvoiceResponse) GetCreatedIndex() uint64 { + if x != nil && x.CreatedIndex != nil { + return *x.CreatedIndex + } + return 0 } -func (x *ListpeerchannelsChannelsUpdates) GetLocal() *ListpeerchannelsChannelsUpdatesLocal { - if x != nil { - return x.Local +func (x *WaitanyinvoiceResponse) GetUpdatedIndex() uint64 { + if x != nil && x.UpdatedIndex != nil { + return *x.UpdatedIndex } - return nil + return 0 } -func (x *ListpeerchannelsChannelsUpdates) GetRemote() *ListpeerchannelsChannelsUpdatesRemote { +func (x *WaitanyinvoiceResponse) GetPaidOutpoint() *WaitanyinvoicePaidOutpoint { if x != nil { - return x.Remote + return x.PaidOutpoint } return nil } -type ListpeerchannelsChannelsUpdatesLocal struct { +type WaitanyinvoicePaidOutpoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - HtlcMinimumMsat *Amount `protobuf:"bytes,1,opt,name=htlc_minimum_msat,json=htlcMinimumMsat,proto3,oneof" json:"htlc_minimum_msat,omitempty"` - HtlcMaximumMsat *Amount `protobuf:"bytes,2,opt,name=htlc_maximum_msat,json=htlcMaximumMsat,proto3,oneof" json:"htlc_maximum_msat,omitempty"` - CltvExpiryDelta *uint32 `protobuf:"varint,3,opt,name=cltv_expiry_delta,json=cltvExpiryDelta,proto3,oneof" json:"cltv_expiry_delta,omitempty"` - FeeBaseMsat *Amount `protobuf:"bytes,4,opt,name=fee_base_msat,json=feeBaseMsat,proto3,oneof" json:"fee_base_msat,omitempty"` - FeeProportionalMillionths *uint32 `protobuf:"varint,5,opt,name=fee_proportional_millionths,json=feeProportionalMillionths,proto3,oneof" json:"fee_proportional_millionths,omitempty"` + Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Outnum uint32 `protobuf:"varint,2,opt,name=outnum,proto3" json:"outnum,omitempty"` } -func (x *ListpeerchannelsChannelsUpdatesLocal) Reset() { - *x = ListpeerchannelsChannelsUpdatesLocal{} +func (x *WaitanyinvoicePaidOutpoint) Reset() { + *x = WaitanyinvoicePaidOutpoint{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[113] + mi := &file_node_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListpeerchannelsChannelsUpdatesLocal) String() string { +func (x *WaitanyinvoicePaidOutpoint) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListpeerchannelsChannelsUpdatesLocal) ProtoMessage() {} +func (*WaitanyinvoicePaidOutpoint) ProtoMessage() {} -func (x *ListpeerchannelsChannelsUpdatesLocal) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[113] +func (x *WaitanyinvoicePaidOutpoint) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[111] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11897,75 +11687,50 @@ func (x *ListpeerchannelsChannelsUpdatesLocal) ProtoReflect() protoreflect.Messa return mi.MessageOf(x) } -// Deprecated: Use ListpeerchannelsChannelsUpdatesLocal.ProtoReflect.Descriptor instead. -func (*ListpeerchannelsChannelsUpdatesLocal) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{113} -} - -func (x *ListpeerchannelsChannelsUpdatesLocal) GetHtlcMinimumMsat() *Amount { - if x != nil { - return x.HtlcMinimumMsat - } - return nil +// Deprecated: Use WaitanyinvoicePaidOutpoint.ProtoReflect.Descriptor instead. +func (*WaitanyinvoicePaidOutpoint) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{111} } -func (x *ListpeerchannelsChannelsUpdatesLocal) GetHtlcMaximumMsat() *Amount { +func (x *WaitanyinvoicePaidOutpoint) GetTxid() []byte { if x != nil { - return x.HtlcMaximumMsat + return x.Txid } return nil } -func (x *ListpeerchannelsChannelsUpdatesLocal) GetCltvExpiryDelta() uint32 { - if x != nil && x.CltvExpiryDelta != nil { - return *x.CltvExpiryDelta - } - return 0 -} - -func (x *ListpeerchannelsChannelsUpdatesLocal) GetFeeBaseMsat() *Amount { +func (x *WaitanyinvoicePaidOutpoint) GetOutnum() uint32 { if x != nil { - return x.FeeBaseMsat - } - return nil -} - -func (x *ListpeerchannelsChannelsUpdatesLocal) GetFeeProportionalMillionths() uint32 { - if x != nil && x.FeeProportionalMillionths != nil { - return *x.FeeProportionalMillionths + return x.Outnum } return 0 } -type ListpeerchannelsChannelsUpdatesRemote struct { +type WaitinvoiceRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - HtlcMinimumMsat *Amount `protobuf:"bytes,1,opt,name=htlc_minimum_msat,json=htlcMinimumMsat,proto3,oneof" json:"htlc_minimum_msat,omitempty"` - HtlcMaximumMsat *Amount `protobuf:"bytes,2,opt,name=htlc_maximum_msat,json=htlcMaximumMsat,proto3,oneof" json:"htlc_maximum_msat,omitempty"` - CltvExpiryDelta *uint32 `protobuf:"varint,3,opt,name=cltv_expiry_delta,json=cltvExpiryDelta,proto3,oneof" json:"cltv_expiry_delta,omitempty"` - FeeBaseMsat *Amount `protobuf:"bytes,4,opt,name=fee_base_msat,json=feeBaseMsat,proto3,oneof" json:"fee_base_msat,omitempty"` - FeeProportionalMillionths *uint32 `protobuf:"varint,5,opt,name=fee_proportional_millionths,json=feeProportionalMillionths,proto3,oneof" json:"fee_proportional_millionths,omitempty"` + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` } -func (x *ListpeerchannelsChannelsUpdatesRemote) Reset() { - *x = ListpeerchannelsChannelsUpdatesRemote{} +func (x *WaitinvoiceRequest) Reset() { + *x = WaitinvoiceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[114] + mi := &file_node_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListpeerchannelsChannelsUpdatesRemote) String() string { +func (x *WaitinvoiceRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListpeerchannelsChannelsUpdatesRemote) ProtoMessage() {} +func (*WaitinvoiceRequest) ProtoMessage() {} -func (x *ListpeerchannelsChannelsUpdatesRemote) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[114] +func (x *WaitinvoiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[112] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11976,72 +11741,57 @@ func (x *ListpeerchannelsChannelsUpdatesRemote) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use ListpeerchannelsChannelsUpdatesRemote.ProtoReflect.Descriptor instead. -func (*ListpeerchannelsChannelsUpdatesRemote) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{114} -} - -func (x *ListpeerchannelsChannelsUpdatesRemote) GetHtlcMinimumMsat() *Amount { - if x != nil { - return x.HtlcMinimumMsat - } - return nil -} - -func (x *ListpeerchannelsChannelsUpdatesRemote) GetHtlcMaximumMsat() *Amount { - if x != nil { - return x.HtlcMaximumMsat - } - return nil -} - -func (x *ListpeerchannelsChannelsUpdatesRemote) GetCltvExpiryDelta() uint32 { - if x != nil && x.CltvExpiryDelta != nil { - return *x.CltvExpiryDelta - } - return 0 +// Deprecated: Use WaitinvoiceRequest.ProtoReflect.Descriptor instead. +func (*WaitinvoiceRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{112} } -func (x *ListpeerchannelsChannelsUpdatesRemote) GetFeeBaseMsat() *Amount { +func (x *WaitinvoiceRequest) GetLabel() string { if x != nil { - return x.FeeBaseMsat - } - return nil -} - -func (x *ListpeerchannelsChannelsUpdatesRemote) GetFeeProportionalMillionths() uint32 { - if x != nil && x.FeeProportionalMillionths != nil { - return *x.FeeProportionalMillionths + return x.Label } - return 0 + return "" } -type ListpeerchannelsChannelsFeerate struct { +type WaitinvoiceResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Perkw *uint32 `protobuf:"varint,1,opt,name=perkw,proto3,oneof" json:"perkw,omitempty"` - Perkb *uint32 `protobuf:"varint,2,opt,name=perkb,proto3,oneof" json:"perkb,omitempty"` + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Status WaitinvoiceResponse_WaitinvoiceStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cln.WaitinvoiceResponse_WaitinvoiceStatus" json:"status,omitempty"` + ExpiresAt uint64 `protobuf:"varint,5,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + AmountMsat *Amount `protobuf:"bytes,6,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Bolt11 *string `protobuf:"bytes,7,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + Bolt12 *string `protobuf:"bytes,8,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` + PayIndex *uint64 `protobuf:"varint,9,opt,name=pay_index,json=payIndex,proto3,oneof" json:"pay_index,omitempty"` + AmountReceivedMsat *Amount `protobuf:"bytes,10,opt,name=amount_received_msat,json=amountReceivedMsat,proto3,oneof" json:"amount_received_msat,omitempty"` + PaidAt *uint64 `protobuf:"varint,11,opt,name=paid_at,json=paidAt,proto3,oneof" json:"paid_at,omitempty"` + PaymentPreimage []byte `protobuf:"bytes,12,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` + CreatedIndex *uint64 `protobuf:"varint,13,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` + UpdatedIndex *uint64 `protobuf:"varint,14,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` + PaidOutpoint *WaitinvoicePaidOutpoint `protobuf:"bytes,15,opt,name=paid_outpoint,json=paidOutpoint,proto3,oneof" json:"paid_outpoint,omitempty"` } -func (x *ListpeerchannelsChannelsFeerate) Reset() { - *x = ListpeerchannelsChannelsFeerate{} +func (x *WaitinvoiceResponse) Reset() { + *x = WaitinvoiceResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[115] + mi := &file_node_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListpeerchannelsChannelsFeerate) String() string { +func (x *WaitinvoiceResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListpeerchannelsChannelsFeerate) ProtoMessage() {} +func (*WaitinvoiceResponse) ProtoMessage() {} -func (x *ListpeerchannelsChannelsFeerate) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[115] +func (x *WaitinvoiceResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[113] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12052,149 +11802,142 @@ func (x *ListpeerchannelsChannelsFeerate) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListpeerchannelsChannelsFeerate.ProtoReflect.Descriptor instead. -func (*ListpeerchannelsChannelsFeerate) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{115} +// Deprecated: Use WaitinvoiceResponse.ProtoReflect.Descriptor instead. +func (*WaitinvoiceResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{113} } -func (x *ListpeerchannelsChannelsFeerate) GetPerkw() uint32 { - if x != nil && x.Perkw != nil { - return *x.Perkw +func (x *WaitinvoiceResponse) GetLabel() string { + if x != nil { + return x.Label } - return 0 + return "" } -func (x *ListpeerchannelsChannelsFeerate) GetPerkb() uint32 { - if x != nil && x.Perkb != nil { - return *x.Perkb +func (x *WaitinvoiceResponse) GetDescription() string { + if x != nil { + return x.Description } - return 0 + return "" } -type ListpeerchannelsChannelsInflight struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FundingTxid []byte `protobuf:"bytes,1,opt,name=funding_txid,json=fundingTxid,proto3,oneof" json:"funding_txid,omitempty"` - FundingOutnum *uint32 `protobuf:"varint,2,opt,name=funding_outnum,json=fundingOutnum,proto3,oneof" json:"funding_outnum,omitempty"` - Feerate *string `protobuf:"bytes,3,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` - TotalFundingMsat *Amount `protobuf:"bytes,4,opt,name=total_funding_msat,json=totalFundingMsat,proto3,oneof" json:"total_funding_msat,omitempty"` - SpliceAmount *int64 `protobuf:"zigzag64,7,opt,name=splice_amount,json=spliceAmount,proto3,oneof" json:"splice_amount,omitempty"` - OurFundingMsat *Amount `protobuf:"bytes,5,opt,name=our_funding_msat,json=ourFundingMsat,proto3,oneof" json:"our_funding_msat,omitempty"` - ScratchTxid []byte `protobuf:"bytes,6,opt,name=scratch_txid,json=scratchTxid,proto3,oneof" json:"scratch_txid,omitempty"` +func (x *WaitinvoiceResponse) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash + } + return nil } -func (x *ListpeerchannelsChannelsInflight) Reset() { - *x = ListpeerchannelsChannelsInflight{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[116] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *WaitinvoiceResponse) GetStatus() WaitinvoiceResponse_WaitinvoiceStatus { + if x != nil { + return x.Status } + return WaitinvoiceResponse_PAID } -func (x *ListpeerchannelsChannelsInflight) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListpeerchannelsChannelsInflight) ProtoMessage() {} - -func (x *ListpeerchannelsChannelsInflight) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[116] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *WaitinvoiceResponse) GetExpiresAt() uint64 { + if x != nil { + return x.ExpiresAt } - return mi.MessageOf(x) -} - -// Deprecated: Use ListpeerchannelsChannelsInflight.ProtoReflect.Descriptor instead. -func (*ListpeerchannelsChannelsInflight) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{116} + return 0 } -func (x *ListpeerchannelsChannelsInflight) GetFundingTxid() []byte { +func (x *WaitinvoiceResponse) GetAmountMsat() *Amount { if x != nil { - return x.FundingTxid + return x.AmountMsat } return nil } -func (x *ListpeerchannelsChannelsInflight) GetFundingOutnum() uint32 { - if x != nil && x.FundingOutnum != nil { - return *x.FundingOutnum +func (x *WaitinvoiceResponse) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 } - return 0 + return "" } -func (x *ListpeerchannelsChannelsInflight) GetFeerate() string { - if x != nil && x.Feerate != nil { - return *x.Feerate +func (x *WaitinvoiceResponse) GetBolt12() string { + if x != nil && x.Bolt12 != nil { + return *x.Bolt12 } return "" } -func (x *ListpeerchannelsChannelsInflight) GetTotalFundingMsat() *Amount { +func (x *WaitinvoiceResponse) GetPayIndex() uint64 { + if x != nil && x.PayIndex != nil { + return *x.PayIndex + } + return 0 +} + +func (x *WaitinvoiceResponse) GetAmountReceivedMsat() *Amount { if x != nil { - return x.TotalFundingMsat + return x.AmountReceivedMsat } return nil } -func (x *ListpeerchannelsChannelsInflight) GetSpliceAmount() int64 { - if x != nil && x.SpliceAmount != nil { - return *x.SpliceAmount +func (x *WaitinvoiceResponse) GetPaidAt() uint64 { + if x != nil && x.PaidAt != nil { + return *x.PaidAt } return 0 } -func (x *ListpeerchannelsChannelsInflight) GetOurFundingMsat() *Amount { +func (x *WaitinvoiceResponse) GetPaymentPreimage() []byte { if x != nil { - return x.OurFundingMsat + return x.PaymentPreimage } return nil } -func (x *ListpeerchannelsChannelsInflight) GetScratchTxid() []byte { +func (x *WaitinvoiceResponse) GetCreatedIndex() uint64 { + if x != nil && x.CreatedIndex != nil { + return *x.CreatedIndex + } + return 0 +} + +func (x *WaitinvoiceResponse) GetUpdatedIndex() uint64 { + if x != nil && x.UpdatedIndex != nil { + return *x.UpdatedIndex + } + return 0 +} + +func (x *WaitinvoiceResponse) GetPaidOutpoint() *WaitinvoicePaidOutpoint { if x != nil { - return x.ScratchTxid + return x.PaidOutpoint } return nil } -type ListpeerchannelsChannelsFunding struct { +type WaitinvoicePaidOutpoint struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PushedMsat *Amount `protobuf:"bytes,1,opt,name=pushed_msat,json=pushedMsat,proto3,oneof" json:"pushed_msat,omitempty"` - LocalFundsMsat *Amount `protobuf:"bytes,2,opt,name=local_funds_msat,json=localFundsMsat,proto3,oneof" json:"local_funds_msat,omitempty"` - RemoteFundsMsat *Amount `protobuf:"bytes,3,opt,name=remote_funds_msat,json=remoteFundsMsat,proto3,oneof" json:"remote_funds_msat,omitempty"` - FeePaidMsat *Amount `protobuf:"bytes,4,opt,name=fee_paid_msat,json=feePaidMsat,proto3,oneof" json:"fee_paid_msat,omitempty"` - FeeRcvdMsat *Amount `protobuf:"bytes,5,opt,name=fee_rcvd_msat,json=feeRcvdMsat,proto3,oneof" json:"fee_rcvd_msat,omitempty"` + Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Outnum uint32 `protobuf:"varint,2,opt,name=outnum,proto3" json:"outnum,omitempty"` } -func (x *ListpeerchannelsChannelsFunding) Reset() { - *x = ListpeerchannelsChannelsFunding{} +func (x *WaitinvoicePaidOutpoint) Reset() { + *x = WaitinvoicePaidOutpoint{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[117] + mi := &file_node_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListpeerchannelsChannelsFunding) String() string { +func (x *WaitinvoicePaidOutpoint) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListpeerchannelsChannelsFunding) ProtoMessage() {} +func (*WaitinvoicePaidOutpoint) ProtoMessage() {} -func (x *ListpeerchannelsChannelsFunding) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[117] +func (x *WaitinvoicePaidOutpoint) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[114] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12205,72 +11948,53 @@ func (x *ListpeerchannelsChannelsFunding) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListpeerchannelsChannelsFunding.ProtoReflect.Descriptor instead. -func (*ListpeerchannelsChannelsFunding) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{117} -} - -func (x *ListpeerchannelsChannelsFunding) GetPushedMsat() *Amount { - if x != nil { - return x.PushedMsat - } - return nil -} - -func (x *ListpeerchannelsChannelsFunding) GetLocalFundsMsat() *Amount { - if x != nil { - return x.LocalFundsMsat - } - return nil -} - -func (x *ListpeerchannelsChannelsFunding) GetRemoteFundsMsat() *Amount { - if x != nil { - return x.RemoteFundsMsat - } - return nil +// Deprecated: Use WaitinvoicePaidOutpoint.ProtoReflect.Descriptor instead. +func (*WaitinvoicePaidOutpoint) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{114} } -func (x *ListpeerchannelsChannelsFunding) GetFeePaidMsat() *Amount { +func (x *WaitinvoicePaidOutpoint) GetTxid() []byte { if x != nil { - return x.FeePaidMsat + return x.Txid } return nil } -func (x *ListpeerchannelsChannelsFunding) GetFeeRcvdMsat() *Amount { +func (x *WaitinvoicePaidOutpoint) GetOutnum() uint32 { if x != nil { - return x.FeeRcvdMsat + return x.Outnum } - return nil + return 0 } -type ListpeerchannelsChannelsAlias struct { +type WaitsendpayRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Local *string `protobuf:"bytes,1,opt,name=local,proto3,oneof" json:"local,omitempty"` - Remote *string `protobuf:"bytes,2,opt,name=remote,proto3,oneof" json:"remote,omitempty"` + PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Partid *uint64 `protobuf:"varint,2,opt,name=partid,proto3,oneof" json:"partid,omitempty"` + Timeout *uint32 `protobuf:"varint,3,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"` + Groupid *uint64 `protobuf:"varint,4,opt,name=groupid,proto3,oneof" json:"groupid,omitempty"` } -func (x *ListpeerchannelsChannelsAlias) Reset() { - *x = ListpeerchannelsChannelsAlias{} +func (x *WaitsendpayRequest) Reset() { + *x = WaitsendpayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[118] + mi := &file_node_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListpeerchannelsChannelsAlias) String() string { +func (x *WaitsendpayRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListpeerchannelsChannelsAlias) ProtoMessage() {} +func (*WaitsendpayRequest) ProtoMessage() {} -func (x *ListpeerchannelsChannelsAlias) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[118] +func (x *WaitsendpayRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[115] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12281,57 +12005,79 @@ func (x *ListpeerchannelsChannelsAlias) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListpeerchannelsChannelsAlias.ProtoReflect.Descriptor instead. -func (*ListpeerchannelsChannelsAlias) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{118} +// Deprecated: Use WaitsendpayRequest.ProtoReflect.Descriptor instead. +func (*WaitsendpayRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{115} } -func (x *ListpeerchannelsChannelsAlias) GetLocal() string { - if x != nil && x.Local != nil { - return *x.Local +func (x *WaitsendpayRequest) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash } - return "" + return nil } -func (x *ListpeerchannelsChannelsAlias) GetRemote() string { - if x != nil && x.Remote != nil { - return *x.Remote +func (x *WaitsendpayRequest) GetPartid() uint64 { + if x != nil && x.Partid != nil { + return *x.Partid } - return "" + return 0 } -type ListpeerchannelsChannelsHtlcs struct { +func (x *WaitsendpayRequest) GetTimeout() uint32 { + if x != nil && x.Timeout != nil { + return *x.Timeout + } + return 0 +} + +func (x *WaitsendpayRequest) GetGroupid() uint64 { + if x != nil && x.Groupid != nil { + return *x.Groupid + } + return 0 +} + +type WaitsendpayResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Direction *ListpeerchannelsChannelsHtlcs_ListpeerchannelsChannelsHtlcsDirection `protobuf:"varint,1,opt,name=direction,proto3,enum=cln.ListpeerchannelsChannelsHtlcs_ListpeerchannelsChannelsHtlcsDirection,oneof" json:"direction,omitempty"` - Id *uint64 `protobuf:"varint,2,opt,name=id,proto3,oneof" json:"id,omitempty"` - AmountMsat *Amount `protobuf:"bytes,3,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - Expiry *uint32 `protobuf:"varint,4,opt,name=expiry,proto3,oneof" json:"expiry,omitempty"` - PaymentHash []byte `protobuf:"bytes,5,opt,name=payment_hash,json=paymentHash,proto3,oneof" json:"payment_hash,omitempty"` - LocalTrimmed *bool `protobuf:"varint,6,opt,name=local_trimmed,json=localTrimmed,proto3,oneof" json:"local_trimmed,omitempty"` - Status *string `protobuf:"bytes,7,opt,name=status,proto3,oneof" json:"status,omitempty"` - State *HtlcState `protobuf:"varint,8,opt,name=state,proto3,enum=cln.HtlcState,oneof" json:"state,omitempty"` + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Groupid *uint64 `protobuf:"varint,2,opt,name=groupid,proto3,oneof" json:"groupid,omitempty"` + PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Status WaitsendpayResponse_WaitsendpayStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cln.WaitsendpayResponse_WaitsendpayStatus" json:"status,omitempty"` + AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Destination []byte `protobuf:"bytes,6,opt,name=destination,proto3,oneof" json:"destination,omitempty"` + CreatedAt uint64 `protobuf:"varint,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + AmountSentMsat *Amount `protobuf:"bytes,8,opt,name=amount_sent_msat,json=amountSentMsat,proto3" json:"amount_sent_msat,omitempty"` + Label *string `protobuf:"bytes,9,opt,name=label,proto3,oneof" json:"label,omitempty"` + Partid *uint64 `protobuf:"varint,10,opt,name=partid,proto3,oneof" json:"partid,omitempty"` + Bolt11 *string `protobuf:"bytes,11,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + Bolt12 *string `protobuf:"bytes,12,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` + PaymentPreimage []byte `protobuf:"bytes,13,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` + CompletedAt *float64 `protobuf:"fixed64,14,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` + CreatedIndex *uint64 `protobuf:"varint,15,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` + UpdatedIndex *uint64 `protobuf:"varint,16,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` } -func (x *ListpeerchannelsChannelsHtlcs) Reset() { - *x = ListpeerchannelsChannelsHtlcs{} +func (x *WaitsendpayResponse) Reset() { + *x = WaitsendpayResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[119] + mi := &file_node_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListpeerchannelsChannelsHtlcs) String() string { +func (x *WaitsendpayResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListpeerchannelsChannelsHtlcs) ProtoMessage() {} +func (*WaitsendpayResponse) ProtoMessage() {} -func (x *ListpeerchannelsChannelsHtlcs) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[119] +func (x *WaitsendpayResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[116] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12342,92 +12088,148 @@ func (x *ListpeerchannelsChannelsHtlcs) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListpeerchannelsChannelsHtlcs.ProtoReflect.Descriptor instead. -func (*ListpeerchannelsChannelsHtlcs) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{119} +// Deprecated: Use WaitsendpayResponse.ProtoReflect.Descriptor instead. +func (*WaitsendpayResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{116} } -func (x *ListpeerchannelsChannelsHtlcs) GetDirection() ListpeerchannelsChannelsHtlcs_ListpeerchannelsChannelsHtlcsDirection { - if x != nil && x.Direction != nil { - return *x.Direction +func (x *WaitsendpayResponse) GetId() uint64 { + if x != nil { + return x.Id } - return ListpeerchannelsChannelsHtlcs_IN + return 0 } -func (x *ListpeerchannelsChannelsHtlcs) GetId() uint64 { - if x != nil && x.Id != nil { - return *x.Id +func (x *WaitsendpayResponse) GetGroupid() uint64 { + if x != nil && x.Groupid != nil { + return *x.Groupid } return 0 } -func (x *ListpeerchannelsChannelsHtlcs) GetAmountMsat() *Amount { +func (x *WaitsendpayResponse) GetPaymentHash() []byte { if x != nil { - return x.AmountMsat + return x.PaymentHash } return nil } -func (x *ListpeerchannelsChannelsHtlcs) GetExpiry() uint32 { - if x != nil && x.Expiry != nil { - return *x.Expiry +func (x *WaitsendpayResponse) GetStatus() WaitsendpayResponse_WaitsendpayStatus { + if x != nil { + return x.Status } - return 0 + return WaitsendpayResponse_COMPLETE } -func (x *ListpeerchannelsChannelsHtlcs) GetPaymentHash() []byte { +func (x *WaitsendpayResponse) GetAmountMsat() *Amount { if x != nil { - return x.PaymentHash + return x.AmountMsat } return nil } -func (x *ListpeerchannelsChannelsHtlcs) GetLocalTrimmed() bool { - if x != nil && x.LocalTrimmed != nil { - return *x.LocalTrimmed +func (x *WaitsendpayResponse) GetDestination() []byte { + if x != nil { + return x.Destination } - return false + return nil } -func (x *ListpeerchannelsChannelsHtlcs) GetStatus() string { - if x != nil && x.Status != nil { - return *x.Status +func (x *WaitsendpayResponse) GetCreatedAt() uint64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *WaitsendpayResponse) GetAmountSentMsat() *Amount { + if x != nil { + return x.AmountSentMsat + } + return nil +} + +func (x *WaitsendpayResponse) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label } return "" } -func (x *ListpeerchannelsChannelsHtlcs) GetState() HtlcState { - if x != nil && x.State != nil { - return *x.State +func (x *WaitsendpayResponse) GetPartid() uint64 { + if x != nil && x.Partid != nil { + return *x.Partid } - return HtlcState_SentAddHtlc + return 0 } -type ListclosedchannelsRequest struct { +func (x *WaitsendpayResponse) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 + } + return "" +} + +func (x *WaitsendpayResponse) GetBolt12() string { + if x != nil && x.Bolt12 != nil { + return *x.Bolt12 + } + return "" +} + +func (x *WaitsendpayResponse) GetPaymentPreimage() []byte { + if x != nil { + return x.PaymentPreimage + } + return nil +} + +func (x *WaitsendpayResponse) GetCompletedAt() float64 { + if x != nil && x.CompletedAt != nil { + return *x.CompletedAt + } + return 0 +} + +func (x *WaitsendpayResponse) GetCreatedIndex() uint64 { + if x != nil && x.CreatedIndex != nil { + return *x.CreatedIndex + } + return 0 +} + +func (x *WaitsendpayResponse) GetUpdatedIndex() uint64 { + if x != nil && x.UpdatedIndex != nil { + return *x.UpdatedIndex + } + return 0 +} + +type NewaddrRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id []byte `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` + Addresstype *NewaddrRequest_NewaddrAddresstype `protobuf:"varint,1,opt,name=addresstype,proto3,enum=cln.NewaddrRequest_NewaddrAddresstype,oneof" json:"addresstype,omitempty"` } -func (x *ListclosedchannelsRequest) Reset() { - *x = ListclosedchannelsRequest{} +func (x *NewaddrRequest) Reset() { + *x = NewaddrRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[120] + mi := &file_node_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListclosedchannelsRequest) String() string { +func (x *NewaddrRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListclosedchannelsRequest) ProtoMessage() {} +func (*NewaddrRequest) ProtoMessage() {} -func (x *ListclosedchannelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[120] +func (x *NewaddrRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[117] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12438,43 +12240,44 @@ func (x *ListclosedchannelsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListclosedchannelsRequest.ProtoReflect.Descriptor instead. -func (*ListclosedchannelsRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{120} +// Deprecated: Use NewaddrRequest.ProtoReflect.Descriptor instead. +func (*NewaddrRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{117} } -func (x *ListclosedchannelsRequest) GetId() []byte { - if x != nil { - return x.Id +func (x *NewaddrRequest) GetAddresstype() NewaddrRequest_NewaddrAddresstype { + if x != nil && x.Addresstype != nil { + return *x.Addresstype } - return nil + return NewaddrRequest_BECH32 } -type ListclosedchannelsResponse struct { +type NewaddrResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Closedchannels []*ListclosedchannelsClosedchannels `protobuf:"bytes,1,rep,name=closedchannels,proto3" json:"closedchannels,omitempty"` + Bech32 *string `protobuf:"bytes,1,opt,name=bech32,proto3,oneof" json:"bech32,omitempty"` + P2Tr *string `protobuf:"bytes,3,opt,name=p2tr,proto3,oneof" json:"p2tr,omitempty"` } -func (x *ListclosedchannelsResponse) Reset() { - *x = ListclosedchannelsResponse{} +func (x *NewaddrResponse) Reset() { + *x = NewaddrResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[121] + mi := &file_node_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListclosedchannelsResponse) String() string { +func (x *NewaddrResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListclosedchannelsResponse) ProtoMessage() {} +func (*NewaddrResponse) ProtoMessage() {} -func (x *ListclosedchannelsResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[121] +func (x *NewaddrResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[118] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12485,66 +12288,54 @@ func (x *ListclosedchannelsResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListclosedchannelsResponse.ProtoReflect.Descriptor instead. -func (*ListclosedchannelsResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{121} +// Deprecated: Use NewaddrResponse.ProtoReflect.Descriptor instead. +func (*NewaddrResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{118} } -func (x *ListclosedchannelsResponse) GetClosedchannels() []*ListclosedchannelsClosedchannels { - if x != nil { - return x.Closedchannels +func (x *NewaddrResponse) GetBech32() string { + if x != nil && x.Bech32 != nil { + return *x.Bech32 } - return nil + return "" } -type ListclosedchannelsClosedchannels struct { +func (x *NewaddrResponse) GetP2Tr() string { + if x != nil && x.P2Tr != nil { + return *x.P2Tr + } + return "" +} + +type WithdrawRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PeerId []byte `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3,oneof" json:"peer_id,omitempty"` - ChannelId []byte `protobuf:"bytes,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` - ShortChannelId *string `protobuf:"bytes,3,opt,name=short_channel_id,json=shortChannelId,proto3,oneof" json:"short_channel_id,omitempty"` - Alias *ListclosedchannelsClosedchannelsAlias `protobuf:"bytes,4,opt,name=alias,proto3,oneof" json:"alias,omitempty"` - Opener ChannelSide `protobuf:"varint,5,opt,name=opener,proto3,enum=cln.ChannelSide" json:"opener,omitempty"` - Closer *ChannelSide `protobuf:"varint,6,opt,name=closer,proto3,enum=cln.ChannelSide,oneof" json:"closer,omitempty"` - Private bool `protobuf:"varint,7,opt,name=private,proto3" json:"private,omitempty"` - TotalLocalCommitments uint64 `protobuf:"varint,9,opt,name=total_local_commitments,json=totalLocalCommitments,proto3" json:"total_local_commitments,omitempty"` - TotalRemoteCommitments uint64 `protobuf:"varint,10,opt,name=total_remote_commitments,json=totalRemoteCommitments,proto3" json:"total_remote_commitments,omitempty"` - TotalHtlcsSent uint64 `protobuf:"varint,11,opt,name=total_htlcs_sent,json=totalHtlcsSent,proto3" json:"total_htlcs_sent,omitempty"` - FundingTxid []byte `protobuf:"bytes,12,opt,name=funding_txid,json=fundingTxid,proto3" json:"funding_txid,omitempty"` - FundingOutnum uint32 `protobuf:"varint,13,opt,name=funding_outnum,json=fundingOutnum,proto3" json:"funding_outnum,omitempty"` - Leased bool `protobuf:"varint,14,opt,name=leased,proto3" json:"leased,omitempty"` - FundingFeePaidMsat *Amount `protobuf:"bytes,15,opt,name=funding_fee_paid_msat,json=fundingFeePaidMsat,proto3,oneof" json:"funding_fee_paid_msat,omitempty"` - FundingFeeRcvdMsat *Amount `protobuf:"bytes,16,opt,name=funding_fee_rcvd_msat,json=fundingFeeRcvdMsat,proto3,oneof" json:"funding_fee_rcvd_msat,omitempty"` - FundingPushedMsat *Amount `protobuf:"bytes,17,opt,name=funding_pushed_msat,json=fundingPushedMsat,proto3,oneof" json:"funding_pushed_msat,omitempty"` - TotalMsat *Amount `protobuf:"bytes,18,opt,name=total_msat,json=totalMsat,proto3" json:"total_msat,omitempty"` - FinalToUsMsat *Amount `protobuf:"bytes,19,opt,name=final_to_us_msat,json=finalToUsMsat,proto3" json:"final_to_us_msat,omitempty"` - MinToUsMsat *Amount `protobuf:"bytes,20,opt,name=min_to_us_msat,json=minToUsMsat,proto3" json:"min_to_us_msat,omitempty"` - MaxToUsMsat *Amount `protobuf:"bytes,21,opt,name=max_to_us_msat,json=maxToUsMsat,proto3" json:"max_to_us_msat,omitempty"` - LastCommitmentTxid []byte `protobuf:"bytes,22,opt,name=last_commitment_txid,json=lastCommitmentTxid,proto3,oneof" json:"last_commitment_txid,omitempty"` - LastCommitmentFeeMsat *Amount `protobuf:"bytes,23,opt,name=last_commitment_fee_msat,json=lastCommitmentFeeMsat,proto3,oneof" json:"last_commitment_fee_msat,omitempty"` - CloseCause ListclosedchannelsClosedchannels_ListclosedchannelsClosedchannelsCloseCause `protobuf:"varint,24,opt,name=close_cause,json=closeCause,proto3,enum=cln.ListclosedchannelsClosedchannels_ListclosedchannelsClosedchannelsCloseCause" json:"close_cause,omitempty"` - LastStableConnection *uint64 `protobuf:"varint,25,opt,name=last_stable_connection,json=lastStableConnection,proto3,oneof" json:"last_stable_connection,omitempty"` + Destination string `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` + Satoshi *AmountOrAll `protobuf:"bytes,2,opt,name=satoshi,proto3" json:"satoshi,omitempty"` + Minconf *uint32 `protobuf:"varint,3,opt,name=minconf,proto3,oneof" json:"minconf,omitempty"` + Utxos []*Outpoint `protobuf:"bytes,4,rep,name=utxos,proto3" json:"utxos,omitempty"` + Feerate *Feerate `protobuf:"bytes,5,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` } -func (x *ListclosedchannelsClosedchannels) Reset() { - *x = ListclosedchannelsClosedchannels{} +func (x *WithdrawRequest) Reset() { + *x = WithdrawRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[122] + mi := &file_node_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListclosedchannelsClosedchannels) String() string { +func (x *WithdrawRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListclosedchannelsClosedchannels) ProtoMessage() {} +func (*WithdrawRequest) ProtoMessage() {} -func (x *ListclosedchannelsClosedchannels) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[122] +func (x *WithdrawRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[119] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12555,205 +12346,253 @@ func (x *ListclosedchannelsClosedchannels) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListclosedchannelsClosedchannels.ProtoReflect.Descriptor instead. -func (*ListclosedchannelsClosedchannels) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{122} +// Deprecated: Use WithdrawRequest.ProtoReflect.Descriptor instead. +func (*WithdrawRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{119} } -func (x *ListclosedchannelsClosedchannels) GetPeerId() []byte { +func (x *WithdrawRequest) GetDestination() string { if x != nil { - return x.PeerId + return x.Destination } - return nil + return "" } -func (x *ListclosedchannelsClosedchannels) GetChannelId() []byte { +func (x *WithdrawRequest) GetSatoshi() *AmountOrAll { if x != nil { - return x.ChannelId + return x.Satoshi } return nil } -func (x *ListclosedchannelsClosedchannels) GetShortChannelId() string { - if x != nil && x.ShortChannelId != nil { - return *x.ShortChannelId +func (x *WithdrawRequest) GetMinconf() uint32 { + if x != nil && x.Minconf != nil { + return *x.Minconf } - return "" + return 0 } -func (x *ListclosedchannelsClosedchannels) GetAlias() *ListclosedchannelsClosedchannelsAlias { +func (x *WithdrawRequest) GetUtxos() []*Outpoint { if x != nil { - return x.Alias + return x.Utxos } return nil } -func (x *ListclosedchannelsClosedchannels) GetOpener() ChannelSide { +func (x *WithdrawRequest) GetFeerate() *Feerate { if x != nil { - return x.Opener + return x.Feerate } - return ChannelSide_LOCAL + return nil } -func (x *ListclosedchannelsClosedchannels) GetCloser() ChannelSide { - if x != nil && x.Closer != nil { - return *x.Closer - } - return ChannelSide_LOCAL +type WithdrawResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` + Txid []byte `protobuf:"bytes,2,opt,name=txid,proto3" json:"txid,omitempty"` + Psbt string `protobuf:"bytes,3,opt,name=psbt,proto3" json:"psbt,omitempty"` } -func (x *ListclosedchannelsClosedchannels) GetPrivate() bool { - if x != nil { - return x.Private +func (x *WithdrawResponse) Reset() { + *x = WithdrawResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return false } -func (x *ListclosedchannelsClosedchannels) GetTotalLocalCommitments() uint64 { - if x != nil { - return x.TotalLocalCommitments - } - return 0 +func (x *WithdrawResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *ListclosedchannelsClosedchannels) GetTotalRemoteCommitments() uint64 { - if x != nil { - return x.TotalRemoteCommitments +func (*WithdrawResponse) ProtoMessage() {} + +func (x *WithdrawResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[120] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *ListclosedchannelsClosedchannels) GetTotalHtlcsSent() uint64 { - if x != nil { - return x.TotalHtlcsSent - } - return 0 +// Deprecated: Use WithdrawResponse.ProtoReflect.Descriptor instead. +func (*WithdrawResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{120} } -func (x *ListclosedchannelsClosedchannels) GetFundingTxid() []byte { +func (x *WithdrawResponse) GetTx() []byte { if x != nil { - return x.FundingTxid + return x.Tx } return nil } -func (x *ListclosedchannelsClosedchannels) GetFundingOutnum() uint32 { +func (x *WithdrawResponse) GetTxid() []byte { if x != nil { - return x.FundingOutnum + return x.Txid } - return 0 + return nil } -func (x *ListclosedchannelsClosedchannels) GetLeased() bool { +func (x *WithdrawResponse) GetPsbt() string { if x != nil { - return x.Leased + return x.Psbt } - return false + return "" } -func (x *ListclosedchannelsClosedchannels) GetFundingFeePaidMsat() *Amount { - if x != nil { - return x.FundingFeePaidMsat +type KeysendRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Destination []byte `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` + Label *string `protobuf:"bytes,3,opt,name=label,proto3,oneof" json:"label,omitempty"` + Maxfeepercent *float64 `protobuf:"fixed64,4,opt,name=maxfeepercent,proto3,oneof" json:"maxfeepercent,omitempty"` + RetryFor *uint32 `protobuf:"varint,5,opt,name=retry_for,json=retryFor,proto3,oneof" json:"retry_for,omitempty"` + Maxdelay *uint32 `protobuf:"varint,6,opt,name=maxdelay,proto3,oneof" json:"maxdelay,omitempty"` + Exemptfee *Amount `protobuf:"bytes,7,opt,name=exemptfee,proto3,oneof" json:"exemptfee,omitempty"` + Routehints *RoutehintList `protobuf:"bytes,8,opt,name=routehints,proto3,oneof" json:"routehints,omitempty"` + Extratlvs *TlvStream `protobuf:"bytes,9,opt,name=extratlvs,proto3,oneof" json:"extratlvs,omitempty"` + AmountMsat *Amount `protobuf:"bytes,10,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` +} + +func (x *KeysendRequest) Reset() { + *x = KeysendRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *ListclosedchannelsClosedchannels) GetFundingFeeRcvdMsat() *Amount { - if x != nil { - return x.FundingFeeRcvdMsat +func (x *KeysendRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KeysendRequest) ProtoMessage() {} + +func (x *KeysendRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[121] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return nil + return mi.MessageOf(x) } -func (x *ListclosedchannelsClosedchannels) GetFundingPushedMsat() *Amount { +// Deprecated: Use KeysendRequest.ProtoReflect.Descriptor instead. +func (*KeysendRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{121} +} + +func (x *KeysendRequest) GetDestination() []byte { if x != nil { - return x.FundingPushedMsat + return x.Destination } return nil } -func (x *ListclosedchannelsClosedchannels) GetTotalMsat() *Amount { - if x != nil { - return x.TotalMsat +func (x *KeysendRequest) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label } - return nil + return "" } -func (x *ListclosedchannelsClosedchannels) GetFinalToUsMsat() *Amount { - if x != nil { - return x.FinalToUsMsat +func (x *KeysendRequest) GetMaxfeepercent() float64 { + if x != nil && x.Maxfeepercent != nil { + return *x.Maxfeepercent } - return nil + return 0 } -func (x *ListclosedchannelsClosedchannels) GetMinToUsMsat() *Amount { - if x != nil { - return x.MinToUsMsat +func (x *KeysendRequest) GetRetryFor() uint32 { + if x != nil && x.RetryFor != nil { + return *x.RetryFor } - return nil + return 0 } -func (x *ListclosedchannelsClosedchannels) GetMaxToUsMsat() *Amount { - if x != nil { - return x.MaxToUsMsat +func (x *KeysendRequest) GetMaxdelay() uint32 { + if x != nil && x.Maxdelay != nil { + return *x.Maxdelay } - return nil + return 0 } -func (x *ListclosedchannelsClosedchannels) GetLastCommitmentTxid() []byte { +func (x *KeysendRequest) GetExemptfee() *Amount { if x != nil { - return x.LastCommitmentTxid + return x.Exemptfee } return nil } -func (x *ListclosedchannelsClosedchannels) GetLastCommitmentFeeMsat() *Amount { +func (x *KeysendRequest) GetRoutehints() *RoutehintList { if x != nil { - return x.LastCommitmentFeeMsat + return x.Routehints } return nil } -func (x *ListclosedchannelsClosedchannels) GetCloseCause() ListclosedchannelsClosedchannels_ListclosedchannelsClosedchannelsCloseCause { +func (x *KeysendRequest) GetExtratlvs() *TlvStream { if x != nil { - return x.CloseCause + return x.Extratlvs } - return ListclosedchannelsClosedchannels_UNKNOWN + return nil } -func (x *ListclosedchannelsClosedchannels) GetLastStableConnection() uint64 { - if x != nil && x.LastStableConnection != nil { - return *x.LastStableConnection +func (x *KeysendRequest) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat } - return 0 + return nil } -type ListclosedchannelsClosedchannelsAlias struct { +type KeysendResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Local *string `protobuf:"bytes,1,opt,name=local,proto3,oneof" json:"local,omitempty"` - Remote *string `protobuf:"bytes,2,opt,name=remote,proto3,oneof" json:"remote,omitempty"` + PaymentPreimage []byte `protobuf:"bytes,1,opt,name=payment_preimage,json=paymentPreimage,proto3" json:"payment_preimage,omitempty"` + Destination []byte `protobuf:"bytes,2,opt,name=destination,proto3,oneof" json:"destination,omitempty"` + PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + CreatedAt float64 `protobuf:"fixed64,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Parts uint32 `protobuf:"varint,5,opt,name=parts,proto3" json:"parts,omitempty"` + AmountMsat *Amount `protobuf:"bytes,6,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` + AmountSentMsat *Amount `protobuf:"bytes,7,opt,name=amount_sent_msat,json=amountSentMsat,proto3" json:"amount_sent_msat,omitempty"` + WarningPartialCompletion *string `protobuf:"bytes,8,opt,name=warning_partial_completion,json=warningPartialCompletion,proto3,oneof" json:"warning_partial_completion,omitempty"` + Status KeysendResponse_KeysendStatus `protobuf:"varint,9,opt,name=status,proto3,enum=cln.KeysendResponse_KeysendStatus" json:"status,omitempty"` } -func (x *ListclosedchannelsClosedchannelsAlias) Reset() { - *x = ListclosedchannelsClosedchannelsAlias{} +func (x *KeysendResponse) Reset() { + *x = KeysendResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[123] + mi := &file_node_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListclosedchannelsClosedchannelsAlias) String() string { +func (x *KeysendResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListclosedchannelsClosedchannelsAlias) ProtoMessage() {} +func (*KeysendResponse) ProtoMessage() {} -func (x *ListclosedchannelsClosedchannelsAlias) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[123] +func (x *KeysendResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[122] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12764,119 +12603,108 @@ func (x *ListclosedchannelsClosedchannelsAlias) ProtoReflect() protoreflect.Mess return mi.MessageOf(x) } -// Deprecated: Use ListclosedchannelsClosedchannelsAlias.ProtoReflect.Descriptor instead. -func (*ListclosedchannelsClosedchannelsAlias) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{123} +// Deprecated: Use KeysendResponse.ProtoReflect.Descriptor instead. +func (*KeysendResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{122} } -func (x *ListclosedchannelsClosedchannelsAlias) GetLocal() string { - if x != nil && x.Local != nil { - return *x.Local +func (x *KeysendResponse) GetPaymentPreimage() []byte { + if x != nil { + return x.PaymentPreimage } - return "" + return nil } -func (x *ListclosedchannelsClosedchannelsAlias) GetRemote() string { - if x != nil && x.Remote != nil { - return *x.Remote +func (x *KeysendResponse) GetDestination() []byte { + if x != nil { + return x.Destination } - return "" -} - -type DecodepayRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Bolt11 string `protobuf:"bytes,1,opt,name=bolt11,proto3" json:"bolt11,omitempty"` - Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"` + return nil } -func (x *DecodepayRequest) Reset() { - *x = DecodepayRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[124] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *KeysendResponse) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash } + return nil } -func (x *DecodepayRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *KeysendResponse) GetCreatedAt() float64 { + if x != nil { + return x.CreatedAt + } + return 0 } -func (*DecodepayRequest) ProtoMessage() {} - -func (x *DecodepayRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[124] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *KeysendResponse) GetParts() uint32 { + if x != nil { + return x.Parts } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use DecodepayRequest.ProtoReflect.Descriptor instead. -func (*DecodepayRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{124} +func (x *KeysendResponse) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil } -func (x *DecodepayRequest) GetBolt11() string { +func (x *KeysendResponse) GetAmountSentMsat() *Amount { if x != nil { - return x.Bolt11 + return x.AmountSentMsat } - return "" + return nil } -func (x *DecodepayRequest) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description +func (x *KeysendResponse) GetWarningPartialCompletion() string { + if x != nil && x.WarningPartialCompletion != nil { + return *x.WarningPartialCompletion } return "" } -type DecodepayResponse struct { +func (x *KeysendResponse) GetStatus() KeysendResponse_KeysendStatus { + if x != nil { + return x.Status + } + return KeysendResponse_COMPLETE +} + +type FundpsbtRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Currency string `protobuf:"bytes,1,opt,name=currency,proto3" json:"currency,omitempty"` - CreatedAt uint64 `protobuf:"varint,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - Expiry uint64 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` - Payee []byte `protobuf:"bytes,4,opt,name=payee,proto3" json:"payee,omitempty"` - AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - PaymentHash []byte `protobuf:"bytes,6,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - Signature string `protobuf:"bytes,7,opt,name=signature,proto3" json:"signature,omitempty"` - Description *string `protobuf:"bytes,8,opt,name=description,proto3,oneof" json:"description,omitempty"` - DescriptionHash []byte `protobuf:"bytes,9,opt,name=description_hash,json=descriptionHash,proto3,oneof" json:"description_hash,omitempty"` - MinFinalCltvExpiry uint32 `protobuf:"varint,10,opt,name=min_final_cltv_expiry,json=minFinalCltvExpiry,proto3" json:"min_final_cltv_expiry,omitempty"` - PaymentSecret []byte `protobuf:"bytes,11,opt,name=payment_secret,json=paymentSecret,proto3,oneof" json:"payment_secret,omitempty"` - Features []byte `protobuf:"bytes,12,opt,name=features,proto3,oneof" json:"features,omitempty"` - PaymentMetadata []byte `protobuf:"bytes,13,opt,name=payment_metadata,json=paymentMetadata,proto3,oneof" json:"payment_metadata,omitempty"` - Fallbacks []*DecodepayFallbacks `protobuf:"bytes,14,rep,name=fallbacks,proto3" json:"fallbacks,omitempty"` - Extra []*DecodepayExtra `protobuf:"bytes,16,rep,name=extra,proto3" json:"extra,omitempty"` + Satoshi *AmountOrAll `protobuf:"bytes,1,opt,name=satoshi,proto3" json:"satoshi,omitempty"` + Feerate *Feerate `protobuf:"bytes,2,opt,name=feerate,proto3" json:"feerate,omitempty"` + Startweight uint32 `protobuf:"varint,3,opt,name=startweight,proto3" json:"startweight,omitempty"` + Minconf *uint32 `protobuf:"varint,4,opt,name=minconf,proto3,oneof" json:"minconf,omitempty"` + Reserve *uint32 `protobuf:"varint,5,opt,name=reserve,proto3,oneof" json:"reserve,omitempty"` + Locktime *uint32 `protobuf:"varint,6,opt,name=locktime,proto3,oneof" json:"locktime,omitempty"` + MinWitnessWeight *uint32 `protobuf:"varint,7,opt,name=min_witness_weight,json=minWitnessWeight,proto3,oneof" json:"min_witness_weight,omitempty"` + ExcessAsChange *bool `protobuf:"varint,8,opt,name=excess_as_change,json=excessAsChange,proto3,oneof" json:"excess_as_change,omitempty"` + Nonwrapped *bool `protobuf:"varint,9,opt,name=nonwrapped,proto3,oneof" json:"nonwrapped,omitempty"` + OpeningAnchorChannel *bool `protobuf:"varint,10,opt,name=opening_anchor_channel,json=openingAnchorChannel,proto3,oneof" json:"opening_anchor_channel,omitempty"` } -func (x *DecodepayResponse) Reset() { - *x = DecodepayResponse{} +func (x *FundpsbtRequest) Reset() { + *x = FundpsbtRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[125] + mi := &file_node_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DecodepayResponse) String() string { +func (x *FundpsbtRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DecodepayResponse) ProtoMessage() {} +func (*FundpsbtRequest) ProtoMessage() {} -func (x *DecodepayResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[125] +func (x *FundpsbtRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[123] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12887,143 +12715,111 @@ func (x *DecodepayResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DecodepayResponse.ProtoReflect.Descriptor instead. -func (*DecodepayResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{125} -} - -func (x *DecodepayResponse) GetCurrency() string { - if x != nil { - return x.Currency - } - return "" -} - -func (x *DecodepayResponse) GetCreatedAt() uint64 { - if x != nil { - return x.CreatedAt - } - return 0 -} - -func (x *DecodepayResponse) GetExpiry() uint64 { - if x != nil { - return x.Expiry - } - return 0 -} - -func (x *DecodepayResponse) GetPayee() []byte { - if x != nil { - return x.Payee - } - return nil +// Deprecated: Use FundpsbtRequest.ProtoReflect.Descriptor instead. +func (*FundpsbtRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{123} } -func (x *DecodepayResponse) GetAmountMsat() *Amount { +func (x *FundpsbtRequest) GetSatoshi() *AmountOrAll { if x != nil { - return x.AmountMsat + return x.Satoshi } return nil } -func (x *DecodepayResponse) GetPaymentHash() []byte { +func (x *FundpsbtRequest) GetFeerate() *Feerate { if x != nil { - return x.PaymentHash + return x.Feerate } return nil } -func (x *DecodepayResponse) GetSignature() string { +func (x *FundpsbtRequest) GetStartweight() uint32 { if x != nil { - return x.Signature - } - return "" -} - -func (x *DecodepayResponse) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description + return x.Startweight } - return "" + return 0 } -func (x *DecodepayResponse) GetDescriptionHash() []byte { - if x != nil { - return x.DescriptionHash +func (x *FundpsbtRequest) GetMinconf() uint32 { + if x != nil && x.Minconf != nil { + return *x.Minconf } - return nil + return 0 } -func (x *DecodepayResponse) GetMinFinalCltvExpiry() uint32 { - if x != nil { - return x.MinFinalCltvExpiry +func (x *FundpsbtRequest) GetReserve() uint32 { + if x != nil && x.Reserve != nil { + return *x.Reserve } return 0 } -func (x *DecodepayResponse) GetPaymentSecret() []byte { - if x != nil { - return x.PaymentSecret +func (x *FundpsbtRequest) GetLocktime() uint32 { + if x != nil && x.Locktime != nil { + return *x.Locktime } - return nil + return 0 } -func (x *DecodepayResponse) GetFeatures() []byte { - if x != nil { - return x.Features +func (x *FundpsbtRequest) GetMinWitnessWeight() uint32 { + if x != nil && x.MinWitnessWeight != nil { + return *x.MinWitnessWeight } - return nil + return 0 } -func (x *DecodepayResponse) GetPaymentMetadata() []byte { - if x != nil { - return x.PaymentMetadata +func (x *FundpsbtRequest) GetExcessAsChange() bool { + if x != nil && x.ExcessAsChange != nil { + return *x.ExcessAsChange } - return nil + return false } -func (x *DecodepayResponse) GetFallbacks() []*DecodepayFallbacks { - if x != nil { - return x.Fallbacks +func (x *FundpsbtRequest) GetNonwrapped() bool { + if x != nil && x.Nonwrapped != nil { + return *x.Nonwrapped } - return nil + return false } -func (x *DecodepayResponse) GetExtra() []*DecodepayExtra { - if x != nil { - return x.Extra +func (x *FundpsbtRequest) GetOpeningAnchorChannel() bool { + if x != nil && x.OpeningAnchorChannel != nil { + return *x.OpeningAnchorChannel } - return nil + return false } -type DecodepayFallbacks struct { +type FundpsbtResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ItemType DecodepayFallbacks_DecodepayFallbacksType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.DecodepayFallbacks_DecodepayFallbacksType" json:"item_type,omitempty"` - Addr *string `protobuf:"bytes,2,opt,name=addr,proto3,oneof" json:"addr,omitempty"` - Hex []byte `protobuf:"bytes,3,opt,name=hex,proto3" json:"hex,omitempty"` + Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` + FeeratePerKw uint32 `protobuf:"varint,2,opt,name=feerate_per_kw,json=feeratePerKw,proto3" json:"feerate_per_kw,omitempty"` + EstimatedFinalWeight uint32 `protobuf:"varint,3,opt,name=estimated_final_weight,json=estimatedFinalWeight,proto3" json:"estimated_final_weight,omitempty"` + ExcessMsat *Amount `protobuf:"bytes,4,opt,name=excess_msat,json=excessMsat,proto3" json:"excess_msat,omitempty"` + ChangeOutnum *uint32 `protobuf:"varint,5,opt,name=change_outnum,json=changeOutnum,proto3,oneof" json:"change_outnum,omitempty"` + Reservations []*FundpsbtReservations `protobuf:"bytes,6,rep,name=reservations,proto3" json:"reservations,omitempty"` } -func (x *DecodepayFallbacks) Reset() { - *x = DecodepayFallbacks{} +func (x *FundpsbtResponse) Reset() { + *x = FundpsbtResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[126] + mi := &file_node_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DecodepayFallbacks) String() string { +func (x *FundpsbtResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DecodepayFallbacks) ProtoMessage() {} +func (*FundpsbtResponse) ProtoMessage() {} -func (x *DecodepayFallbacks) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[126] +func (x *FundpsbtResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[124] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13034,58 +12830,82 @@ func (x *DecodepayFallbacks) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DecodepayFallbacks.ProtoReflect.Descriptor instead. -func (*DecodepayFallbacks) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{126} +// Deprecated: Use FundpsbtResponse.ProtoReflect.Descriptor instead. +func (*FundpsbtResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{124} } -func (x *DecodepayFallbacks) GetItemType() DecodepayFallbacks_DecodepayFallbacksType { +func (x *FundpsbtResponse) GetPsbt() string { if x != nil { - return x.ItemType + return x.Psbt } - return DecodepayFallbacks_P2PKH + return "" } -func (x *DecodepayFallbacks) GetAddr() string { - if x != nil && x.Addr != nil { - return *x.Addr +func (x *FundpsbtResponse) GetFeeratePerKw() uint32 { + if x != nil { + return x.FeeratePerKw } - return "" + return 0 } -func (x *DecodepayFallbacks) GetHex() []byte { +func (x *FundpsbtResponse) GetEstimatedFinalWeight() uint32 { if x != nil { - return x.Hex + return x.EstimatedFinalWeight + } + return 0 +} + +func (x *FundpsbtResponse) GetExcessMsat() *Amount { + if x != nil { + return x.ExcessMsat } return nil } -type DecodepayExtra struct { +func (x *FundpsbtResponse) GetChangeOutnum() uint32 { + if x != nil && x.ChangeOutnum != nil { + return *x.ChangeOutnum + } + return 0 +} + +func (x *FundpsbtResponse) GetReservations() []*FundpsbtReservations { + if x != nil { + return x.Reservations + } + return nil +} + +type FundpsbtReservations struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` - Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Vout uint32 `protobuf:"varint,2,opt,name=vout,proto3" json:"vout,omitempty"` + WasReserved bool `protobuf:"varint,3,opt,name=was_reserved,json=wasReserved,proto3" json:"was_reserved,omitempty"` + Reserved bool `protobuf:"varint,4,opt,name=reserved,proto3" json:"reserved,omitempty"` + ReservedToBlock uint32 `protobuf:"varint,5,opt,name=reserved_to_block,json=reservedToBlock,proto3" json:"reserved_to_block,omitempty"` } -func (x *DecodepayExtra) Reset() { - *x = DecodepayExtra{} +func (x *FundpsbtReservations) Reset() { + *x = FundpsbtReservations{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[127] + mi := &file_node_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DecodepayExtra) String() string { +func (x *FundpsbtReservations) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DecodepayExtra) ProtoMessage() {} +func (*FundpsbtReservations) ProtoMessage() {} -func (x *DecodepayExtra) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[127] +func (x *FundpsbtReservations) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[125] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13096,50 +12916,72 @@ func (x *DecodepayExtra) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DecodepayExtra.ProtoReflect.Descriptor instead. -func (*DecodepayExtra) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{127} +// Deprecated: Use FundpsbtReservations.ProtoReflect.Descriptor instead. +func (*FundpsbtReservations) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{125} } -func (x *DecodepayExtra) GetTag() string { +func (x *FundpsbtReservations) GetTxid() []byte { if x != nil { - return x.Tag + return x.Txid } - return "" + return nil } -func (x *DecodepayExtra) GetData() string { +func (x *FundpsbtReservations) GetVout() uint32 { if x != nil { - return x.Data + return x.Vout } - return "" + return 0 } -type DecodeRequest struct { +func (x *FundpsbtReservations) GetWasReserved() bool { + if x != nil { + return x.WasReserved + } + return false +} + +func (x *FundpsbtReservations) GetReserved() bool { + if x != nil { + return x.Reserved + } + return false +} + +func (x *FundpsbtReservations) GetReservedToBlock() uint32 { + if x != nil { + return x.ReservedToBlock + } + return 0 +} + +type SendpsbtRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - String_ string `protobuf:"bytes,1,opt,name=string,proto3" json:"string,omitempty"` + Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` + Reserve *uint32 `protobuf:"varint,2,opt,name=reserve,proto3,oneof" json:"reserve,omitempty"` } -func (x *DecodeRequest) Reset() { - *x = DecodeRequest{} +func (x *SendpsbtRequest) Reset() { + *x = SendpsbtRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[128] + mi := &file_node_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DecodeRequest) String() string { +func (x *SendpsbtRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DecodeRequest) ProtoMessage() {} +func (*SendpsbtRequest) ProtoMessage() {} -func (x *DecodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[128] +func (x *SendpsbtRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[126] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13150,112 +12992,51 @@ func (x *DecodeRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DecodeRequest.ProtoReflect.Descriptor instead. -func (*DecodeRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{128} +// Deprecated: Use SendpsbtRequest.ProtoReflect.Descriptor instead. +func (*SendpsbtRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{126} } -func (x *DecodeRequest) GetString_() string { +func (x *SendpsbtRequest) GetPsbt() string { if x != nil { - return x.String_ + return x.Psbt } return "" } -type DecodeResponse struct { +func (x *SendpsbtRequest) GetReserve() uint32 { + if x != nil && x.Reserve != nil { + return *x.Reserve + } + return 0 +} + +type SendpsbtResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ItemType DecodeResponse_DecodeType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.DecodeResponse_DecodeType" json:"item_type,omitempty"` - Valid bool `protobuf:"varint,2,opt,name=valid,proto3" json:"valid,omitempty"` - OfferId []byte `protobuf:"bytes,3,opt,name=offer_id,json=offerId,proto3,oneof" json:"offer_id,omitempty"` - OfferChains [][]byte `protobuf:"bytes,4,rep,name=offer_chains,json=offerChains,proto3" json:"offer_chains,omitempty"` - OfferMetadata []byte `protobuf:"bytes,5,opt,name=offer_metadata,json=offerMetadata,proto3,oneof" json:"offer_metadata,omitempty"` - OfferCurrency *string `protobuf:"bytes,6,opt,name=offer_currency,json=offerCurrency,proto3,oneof" json:"offer_currency,omitempty"` - WarningUnknownOfferCurrency *string `protobuf:"bytes,7,opt,name=warning_unknown_offer_currency,json=warningUnknownOfferCurrency,proto3,oneof" json:"warning_unknown_offer_currency,omitempty"` - CurrencyMinorUnit *uint32 `protobuf:"varint,8,opt,name=currency_minor_unit,json=currencyMinorUnit,proto3,oneof" json:"currency_minor_unit,omitempty"` - OfferAmount *uint64 `protobuf:"varint,9,opt,name=offer_amount,json=offerAmount,proto3,oneof" json:"offer_amount,omitempty"` - OfferAmountMsat *Amount `protobuf:"bytes,10,opt,name=offer_amount_msat,json=offerAmountMsat,proto3,oneof" json:"offer_amount_msat,omitempty"` - OfferDescription *string `protobuf:"bytes,11,opt,name=offer_description,json=offerDescription,proto3,oneof" json:"offer_description,omitempty"` - OfferIssuer *string `protobuf:"bytes,12,opt,name=offer_issuer,json=offerIssuer,proto3,oneof" json:"offer_issuer,omitempty"` - OfferFeatures []byte `protobuf:"bytes,13,opt,name=offer_features,json=offerFeatures,proto3,oneof" json:"offer_features,omitempty"` - OfferAbsoluteExpiry *uint64 `protobuf:"varint,14,opt,name=offer_absolute_expiry,json=offerAbsoluteExpiry,proto3,oneof" json:"offer_absolute_expiry,omitempty"` - OfferQuantityMax *uint64 `protobuf:"varint,15,opt,name=offer_quantity_max,json=offerQuantityMax,proto3,oneof" json:"offer_quantity_max,omitempty"` - OfferPaths []*DecodeOfferPaths `protobuf:"bytes,16,rep,name=offer_paths,json=offerPaths,proto3" json:"offer_paths,omitempty"` - OfferNodeId []byte `protobuf:"bytes,17,opt,name=offer_node_id,json=offerNodeId,proto3,oneof" json:"offer_node_id,omitempty"` - WarningMissingOfferNodeId *string `protobuf:"bytes,20,opt,name=warning_missing_offer_node_id,json=warningMissingOfferNodeId,proto3,oneof" json:"warning_missing_offer_node_id,omitempty"` - WarningInvalidOfferDescription *string `protobuf:"bytes,21,opt,name=warning_invalid_offer_description,json=warningInvalidOfferDescription,proto3,oneof" json:"warning_invalid_offer_description,omitempty"` - WarningMissingOfferDescription *string `protobuf:"bytes,22,opt,name=warning_missing_offer_description,json=warningMissingOfferDescription,proto3,oneof" json:"warning_missing_offer_description,omitempty"` - WarningInvalidOfferCurrency *string `protobuf:"bytes,23,opt,name=warning_invalid_offer_currency,json=warningInvalidOfferCurrency,proto3,oneof" json:"warning_invalid_offer_currency,omitempty"` - WarningInvalidOfferIssuer *string `protobuf:"bytes,24,opt,name=warning_invalid_offer_issuer,json=warningInvalidOfferIssuer,proto3,oneof" json:"warning_invalid_offer_issuer,omitempty"` - InvreqMetadata []byte `protobuf:"bytes,25,opt,name=invreq_metadata,json=invreqMetadata,proto3,oneof" json:"invreq_metadata,omitempty"` - InvreqPayerId []byte `protobuf:"bytes,26,opt,name=invreq_payer_id,json=invreqPayerId,proto3,oneof" json:"invreq_payer_id,omitempty"` - InvreqChain []byte `protobuf:"bytes,27,opt,name=invreq_chain,json=invreqChain,proto3,oneof" json:"invreq_chain,omitempty"` - InvreqAmountMsat *Amount `protobuf:"bytes,28,opt,name=invreq_amount_msat,json=invreqAmountMsat,proto3,oneof" json:"invreq_amount_msat,omitempty"` - InvreqFeatures []byte `protobuf:"bytes,29,opt,name=invreq_features,json=invreqFeatures,proto3,oneof" json:"invreq_features,omitempty"` - InvreqQuantity *uint64 `protobuf:"varint,30,opt,name=invreq_quantity,json=invreqQuantity,proto3,oneof" json:"invreq_quantity,omitempty"` - InvreqPayerNote *string `protobuf:"bytes,31,opt,name=invreq_payer_note,json=invreqPayerNote,proto3,oneof" json:"invreq_payer_note,omitempty"` - InvreqRecurrenceCounter *uint32 `protobuf:"varint,32,opt,name=invreq_recurrence_counter,json=invreqRecurrenceCounter,proto3,oneof" json:"invreq_recurrence_counter,omitempty"` - InvreqRecurrenceStart *uint32 `protobuf:"varint,33,opt,name=invreq_recurrence_start,json=invreqRecurrenceStart,proto3,oneof" json:"invreq_recurrence_start,omitempty"` - WarningMissingInvreqMetadata *string `protobuf:"bytes,35,opt,name=warning_missing_invreq_metadata,json=warningMissingInvreqMetadata,proto3,oneof" json:"warning_missing_invreq_metadata,omitempty"` - WarningMissingInvreqPayerId *string `protobuf:"bytes,36,opt,name=warning_missing_invreq_payer_id,json=warningMissingInvreqPayerId,proto3,oneof" json:"warning_missing_invreq_payer_id,omitempty"` - WarningInvalidInvreqPayerNote *string `protobuf:"bytes,37,opt,name=warning_invalid_invreq_payer_note,json=warningInvalidInvreqPayerNote,proto3,oneof" json:"warning_invalid_invreq_payer_note,omitempty"` - WarningMissingInvoiceRequestSignature *string `protobuf:"bytes,38,opt,name=warning_missing_invoice_request_signature,json=warningMissingInvoiceRequestSignature,proto3,oneof" json:"warning_missing_invoice_request_signature,omitempty"` - WarningInvalidInvoiceRequestSignature *string `protobuf:"bytes,39,opt,name=warning_invalid_invoice_request_signature,json=warningInvalidInvoiceRequestSignature,proto3,oneof" json:"warning_invalid_invoice_request_signature,omitempty"` - InvoiceCreatedAt *uint64 `protobuf:"varint,41,opt,name=invoice_created_at,json=invoiceCreatedAt,proto3,oneof" json:"invoice_created_at,omitempty"` - InvoiceRelativeExpiry *uint32 `protobuf:"varint,42,opt,name=invoice_relative_expiry,json=invoiceRelativeExpiry,proto3,oneof" json:"invoice_relative_expiry,omitempty"` - InvoicePaymentHash []byte `protobuf:"bytes,43,opt,name=invoice_payment_hash,json=invoicePaymentHash,proto3,oneof" json:"invoice_payment_hash,omitempty"` - InvoiceAmountMsat *Amount `protobuf:"bytes,44,opt,name=invoice_amount_msat,json=invoiceAmountMsat,proto3,oneof" json:"invoice_amount_msat,omitempty"` - InvoiceFallbacks []*DecodeInvoiceFallbacks `protobuf:"bytes,45,rep,name=invoice_fallbacks,json=invoiceFallbacks,proto3" json:"invoice_fallbacks,omitempty"` - InvoiceFeatures []byte `protobuf:"bytes,46,opt,name=invoice_features,json=invoiceFeatures,proto3,oneof" json:"invoice_features,omitempty"` - InvoiceNodeId []byte `protobuf:"bytes,47,opt,name=invoice_node_id,json=invoiceNodeId,proto3,oneof" json:"invoice_node_id,omitempty"` - InvoiceRecurrenceBasetime *uint64 `protobuf:"varint,48,opt,name=invoice_recurrence_basetime,json=invoiceRecurrenceBasetime,proto3,oneof" json:"invoice_recurrence_basetime,omitempty"` - WarningMissingInvoicePaths *string `protobuf:"bytes,50,opt,name=warning_missing_invoice_paths,json=warningMissingInvoicePaths,proto3,oneof" json:"warning_missing_invoice_paths,omitempty"` - WarningMissingInvoiceBlindedpay *string `protobuf:"bytes,51,opt,name=warning_missing_invoice_blindedpay,json=warningMissingInvoiceBlindedpay,proto3,oneof" json:"warning_missing_invoice_blindedpay,omitempty"` - WarningMissingInvoiceCreatedAt *string `protobuf:"bytes,52,opt,name=warning_missing_invoice_created_at,json=warningMissingInvoiceCreatedAt,proto3,oneof" json:"warning_missing_invoice_created_at,omitempty"` - WarningMissingInvoicePaymentHash *string `protobuf:"bytes,53,opt,name=warning_missing_invoice_payment_hash,json=warningMissingInvoicePaymentHash,proto3,oneof" json:"warning_missing_invoice_payment_hash,omitempty"` - WarningMissingInvoiceAmount *string `protobuf:"bytes,54,opt,name=warning_missing_invoice_amount,json=warningMissingInvoiceAmount,proto3,oneof" json:"warning_missing_invoice_amount,omitempty"` - WarningMissingInvoiceRecurrenceBasetime *string `protobuf:"bytes,55,opt,name=warning_missing_invoice_recurrence_basetime,json=warningMissingInvoiceRecurrenceBasetime,proto3,oneof" json:"warning_missing_invoice_recurrence_basetime,omitempty"` - WarningMissingInvoiceNodeId *string `protobuf:"bytes,56,opt,name=warning_missing_invoice_node_id,json=warningMissingInvoiceNodeId,proto3,oneof" json:"warning_missing_invoice_node_id,omitempty"` - WarningMissingInvoiceSignature *string `protobuf:"bytes,57,opt,name=warning_missing_invoice_signature,json=warningMissingInvoiceSignature,proto3,oneof" json:"warning_missing_invoice_signature,omitempty"` - WarningInvalidInvoiceSignature *string `protobuf:"bytes,58,opt,name=warning_invalid_invoice_signature,json=warningInvalidInvoiceSignature,proto3,oneof" json:"warning_invalid_invoice_signature,omitempty"` - Fallbacks []*DecodeFallbacks `protobuf:"bytes,59,rep,name=fallbacks,proto3" json:"fallbacks,omitempty"` - CreatedAt *uint64 `protobuf:"varint,60,opt,name=created_at,json=createdAt,proto3,oneof" json:"created_at,omitempty"` - Expiry *uint64 `protobuf:"varint,61,opt,name=expiry,proto3,oneof" json:"expiry,omitempty"` - Payee []byte `protobuf:"bytes,62,opt,name=payee,proto3,oneof" json:"payee,omitempty"` - PaymentHash []byte `protobuf:"bytes,63,opt,name=payment_hash,json=paymentHash,proto3,oneof" json:"payment_hash,omitempty"` - DescriptionHash []byte `protobuf:"bytes,64,opt,name=description_hash,json=descriptionHash,proto3,oneof" json:"description_hash,omitempty"` - MinFinalCltvExpiry *uint32 `protobuf:"varint,65,opt,name=min_final_cltv_expiry,json=minFinalCltvExpiry,proto3,oneof" json:"min_final_cltv_expiry,omitempty"` - PaymentSecret []byte `protobuf:"bytes,66,opt,name=payment_secret,json=paymentSecret,proto3,oneof" json:"payment_secret,omitempty"` - PaymentMetadata []byte `protobuf:"bytes,67,opt,name=payment_metadata,json=paymentMetadata,proto3,oneof" json:"payment_metadata,omitempty"` - Extra []*DecodeExtra `protobuf:"bytes,69,rep,name=extra,proto3" json:"extra,omitempty"` - UniqueId *string `protobuf:"bytes,70,opt,name=unique_id,json=uniqueId,proto3,oneof" json:"unique_id,omitempty"` - Version *string `protobuf:"bytes,71,opt,name=version,proto3,oneof" json:"version,omitempty"` - String_ *string `protobuf:"bytes,72,opt,name=string,proto3,oneof" json:"string,omitempty"` - Restrictions []*DecodeRestrictions `protobuf:"bytes,73,rep,name=restrictions,proto3" json:"restrictions,omitempty"` - WarningRuneInvalidUtf8 *string `protobuf:"bytes,74,opt,name=warning_rune_invalid_utf8,json=warningRuneInvalidUtf8,proto3,oneof" json:"warning_rune_invalid_utf8,omitempty"` - Hex []byte `protobuf:"bytes,75,opt,name=hex,proto3,oneof" json:"hex,omitempty"` - Decrypted []byte `protobuf:"bytes,76,opt,name=decrypted,proto3,oneof" json:"decrypted,omitempty"` + Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` + Txid []byte `protobuf:"bytes,2,opt,name=txid,proto3" json:"txid,omitempty"` } -func (x *DecodeResponse) Reset() { - *x = DecodeResponse{} +func (x *SendpsbtResponse) Reset() { + *x = SendpsbtResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[129] + mi := &file_node_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DecodeResponse) String() string { +func (x *SendpsbtResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DecodeResponse) ProtoMessage() {} +func (*SendpsbtResponse) ProtoMessage() {} -func (x *DecodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[129] +func (x *SendpsbtResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[127] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13266,527 +13047,485 @@ func (x *DecodeResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DecodeResponse.ProtoReflect.Descriptor instead. -func (*DecodeResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{129} -} - -func (x *DecodeResponse) GetItemType() DecodeResponse_DecodeType { - if x != nil { - return x.ItemType - } - return DecodeResponse_BOLT12_OFFER +// Deprecated: Use SendpsbtResponse.ProtoReflect.Descriptor instead. +func (*SendpsbtResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{127} } -func (x *DecodeResponse) GetValid() bool { +func (x *SendpsbtResponse) GetTx() []byte { if x != nil { - return x.Valid + return x.Tx } - return false + return nil } -func (x *DecodeResponse) GetOfferId() []byte { +func (x *SendpsbtResponse) GetTxid() []byte { if x != nil { - return x.OfferId + return x.Txid } return nil } -func (x *DecodeResponse) GetOfferChains() [][]byte { - if x != nil { - return x.OfferChains - } - return nil +type SignpsbtRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` + Signonly []uint32 `protobuf:"varint,2,rep,packed,name=signonly,proto3" json:"signonly,omitempty"` } -func (x *DecodeResponse) GetOfferMetadata() []byte { - if x != nil { - return x.OfferMetadata +func (x *SignpsbtRequest) Reset() { + *x = SignpsbtRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[128] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *DecodeResponse) GetOfferCurrency() string { - if x != nil && x.OfferCurrency != nil { - return *x.OfferCurrency - } - return "" +func (x *SignpsbtRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *DecodeResponse) GetWarningUnknownOfferCurrency() string { - if x != nil && x.WarningUnknownOfferCurrency != nil { - return *x.WarningUnknownOfferCurrency +func (*SignpsbtRequest) ProtoMessage() {} + +func (x *SignpsbtRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[128] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *DecodeResponse) GetCurrencyMinorUnit() uint32 { - if x != nil && x.CurrencyMinorUnit != nil { - return *x.CurrencyMinorUnit - } - return 0 +// Deprecated: Use SignpsbtRequest.ProtoReflect.Descriptor instead. +func (*SignpsbtRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{128} } -func (x *DecodeResponse) GetOfferAmount() uint64 { - if x != nil && x.OfferAmount != nil { - return *x.OfferAmount +func (x *SignpsbtRequest) GetPsbt() string { + if x != nil { + return x.Psbt } - return 0 + return "" } -func (x *DecodeResponse) GetOfferAmountMsat() *Amount { +func (x *SignpsbtRequest) GetSignonly() []uint32 { if x != nil { - return x.OfferAmountMsat + return x.Signonly } return nil } -func (x *DecodeResponse) GetOfferDescription() string { - if x != nil && x.OfferDescription != nil { - return *x.OfferDescription - } - return "" +type SignpsbtResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SignedPsbt string `protobuf:"bytes,1,opt,name=signed_psbt,json=signedPsbt,proto3" json:"signed_psbt,omitempty"` } -func (x *DecodeResponse) GetOfferIssuer() string { - if x != nil && x.OfferIssuer != nil { - return *x.OfferIssuer +func (x *SignpsbtResponse) Reset() { + *x = SignpsbtResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *DecodeResponse) GetOfferFeatures() []byte { - if x != nil { - return x.OfferFeatures - } - return nil +func (x *SignpsbtResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *DecodeResponse) GetOfferAbsoluteExpiry() uint64 { - if x != nil && x.OfferAbsoluteExpiry != nil { - return *x.OfferAbsoluteExpiry - } - return 0 -} +func (*SignpsbtResponse) ProtoMessage() {} -func (x *DecodeResponse) GetOfferQuantityMax() uint64 { - if x != nil && x.OfferQuantityMax != nil { - return *x.OfferQuantityMax +func (x *SignpsbtResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[129] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *DecodeResponse) GetOfferPaths() []*DecodeOfferPaths { - if x != nil { - return x.OfferPaths - } - return nil +// Deprecated: Use SignpsbtResponse.ProtoReflect.Descriptor instead. +func (*SignpsbtResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{129} } -func (x *DecodeResponse) GetOfferNodeId() []byte { +func (x *SignpsbtResponse) GetSignedPsbt() string { if x != nil { - return x.OfferNodeId - } - return nil -} - -func (x *DecodeResponse) GetWarningMissingOfferNodeId() string { - if x != nil && x.WarningMissingOfferNodeId != nil { - return *x.WarningMissingOfferNodeId + return x.SignedPsbt } return "" } -func (x *DecodeResponse) GetWarningInvalidOfferDescription() string { - if x != nil && x.WarningInvalidOfferDescription != nil { - return *x.WarningInvalidOfferDescription - } - return "" +type UtxopsbtRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Satoshi *AmountOrAll `protobuf:"bytes,1,opt,name=satoshi,proto3" json:"satoshi,omitempty"` + Feerate *Feerate `protobuf:"bytes,2,opt,name=feerate,proto3" json:"feerate,omitempty"` + Startweight uint32 `protobuf:"varint,3,opt,name=startweight,proto3" json:"startweight,omitempty"` + Utxos []*Outpoint `protobuf:"bytes,4,rep,name=utxos,proto3" json:"utxos,omitempty"` + Reserve *uint32 `protobuf:"varint,5,opt,name=reserve,proto3,oneof" json:"reserve,omitempty"` + Locktime *uint32 `protobuf:"varint,6,opt,name=locktime,proto3,oneof" json:"locktime,omitempty"` + MinWitnessWeight *uint32 `protobuf:"varint,7,opt,name=min_witness_weight,json=minWitnessWeight,proto3,oneof" json:"min_witness_weight,omitempty"` + Reservedok *bool `protobuf:"varint,8,opt,name=reservedok,proto3,oneof" json:"reservedok,omitempty"` + ExcessAsChange *bool `protobuf:"varint,9,opt,name=excess_as_change,json=excessAsChange,proto3,oneof" json:"excess_as_change,omitempty"` + OpeningAnchorChannel *bool `protobuf:"varint,10,opt,name=opening_anchor_channel,json=openingAnchorChannel,proto3,oneof" json:"opening_anchor_channel,omitempty"` } -func (x *DecodeResponse) GetWarningMissingOfferDescription() string { - if x != nil && x.WarningMissingOfferDescription != nil { - return *x.WarningMissingOfferDescription +func (x *UtxopsbtRequest) Reset() { + *x = UtxopsbtRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[130] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *DecodeResponse) GetWarningInvalidOfferCurrency() string { - if x != nil && x.WarningInvalidOfferCurrency != nil { - return *x.WarningInvalidOfferCurrency - } - return "" +func (x *UtxopsbtRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *DecodeResponse) GetWarningInvalidOfferIssuer() string { - if x != nil && x.WarningInvalidOfferIssuer != nil { - return *x.WarningInvalidOfferIssuer +func (*UtxopsbtRequest) ProtoMessage() {} + +func (x *UtxopsbtRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[130] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *DecodeResponse) GetInvreqMetadata() []byte { - if x != nil { - return x.InvreqMetadata - } - return nil +// Deprecated: Use UtxopsbtRequest.ProtoReflect.Descriptor instead. +func (*UtxopsbtRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{130} } -func (x *DecodeResponse) GetInvreqPayerId() []byte { +func (x *UtxopsbtRequest) GetSatoshi() *AmountOrAll { if x != nil { - return x.InvreqPayerId + return x.Satoshi } return nil } -func (x *DecodeResponse) GetInvreqChain() []byte { +func (x *UtxopsbtRequest) GetFeerate() *Feerate { if x != nil { - return x.InvreqChain + return x.Feerate } return nil } -func (x *DecodeResponse) GetInvreqAmountMsat() *Amount { +func (x *UtxopsbtRequest) GetStartweight() uint32 { if x != nil { - return x.InvreqAmountMsat + return x.Startweight } - return nil + return 0 } -func (x *DecodeResponse) GetInvreqFeatures() []byte { +func (x *UtxopsbtRequest) GetUtxos() []*Outpoint { if x != nil { - return x.InvreqFeatures + return x.Utxos } return nil } -func (x *DecodeResponse) GetInvreqQuantity() uint64 { - if x != nil && x.InvreqQuantity != nil { - return *x.InvreqQuantity +func (x *UtxopsbtRequest) GetReserve() uint32 { + if x != nil && x.Reserve != nil { + return *x.Reserve } return 0 } -func (x *DecodeResponse) GetInvreqPayerNote() string { - if x != nil && x.InvreqPayerNote != nil { - return *x.InvreqPayerNote +func (x *UtxopsbtRequest) GetLocktime() uint32 { + if x != nil && x.Locktime != nil { + return *x.Locktime } - return "" + return 0 } -func (x *DecodeResponse) GetInvreqRecurrenceCounter() uint32 { - if x != nil && x.InvreqRecurrenceCounter != nil { - return *x.InvreqRecurrenceCounter +func (x *UtxopsbtRequest) GetMinWitnessWeight() uint32 { + if x != nil && x.MinWitnessWeight != nil { + return *x.MinWitnessWeight } return 0 } -func (x *DecodeResponse) GetInvreqRecurrenceStart() uint32 { - if x != nil && x.InvreqRecurrenceStart != nil { - return *x.InvreqRecurrenceStart +func (x *UtxopsbtRequest) GetReservedok() bool { + if x != nil && x.Reservedok != nil { + return *x.Reservedok } - return 0 + return false } -func (x *DecodeResponse) GetWarningMissingInvreqMetadata() string { - if x != nil && x.WarningMissingInvreqMetadata != nil { - return *x.WarningMissingInvreqMetadata +func (x *UtxopsbtRequest) GetExcessAsChange() bool { + if x != nil && x.ExcessAsChange != nil { + return *x.ExcessAsChange } - return "" + return false } -func (x *DecodeResponse) GetWarningMissingInvreqPayerId() string { - if x != nil && x.WarningMissingInvreqPayerId != nil { - return *x.WarningMissingInvreqPayerId +func (x *UtxopsbtRequest) GetOpeningAnchorChannel() bool { + if x != nil && x.OpeningAnchorChannel != nil { + return *x.OpeningAnchorChannel } - return "" + return false } -func (x *DecodeResponse) GetWarningInvalidInvreqPayerNote() string { - if x != nil && x.WarningInvalidInvreqPayerNote != nil { - return *x.WarningInvalidInvreqPayerNote +type UtxopsbtResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` + FeeratePerKw uint32 `protobuf:"varint,2,opt,name=feerate_per_kw,json=feeratePerKw,proto3" json:"feerate_per_kw,omitempty"` + EstimatedFinalWeight uint32 `protobuf:"varint,3,opt,name=estimated_final_weight,json=estimatedFinalWeight,proto3" json:"estimated_final_weight,omitempty"` + ExcessMsat *Amount `protobuf:"bytes,4,opt,name=excess_msat,json=excessMsat,proto3" json:"excess_msat,omitempty"` + ChangeOutnum *uint32 `protobuf:"varint,5,opt,name=change_outnum,json=changeOutnum,proto3,oneof" json:"change_outnum,omitempty"` + Reservations []*UtxopsbtReservations `protobuf:"bytes,6,rep,name=reservations,proto3" json:"reservations,omitempty"` +} + +func (x *UtxopsbtResponse) Reset() { + *x = UtxopsbtResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[131] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *DecodeResponse) GetWarningMissingInvoiceRequestSignature() string { - if x != nil && x.WarningMissingInvoiceRequestSignature != nil { - return *x.WarningMissingInvoiceRequestSignature +func (x *UtxopsbtResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UtxopsbtResponse) ProtoMessage() {} + +func (x *UtxopsbtResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[131] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *DecodeResponse) GetWarningInvalidInvoiceRequestSignature() string { - if x != nil && x.WarningInvalidInvoiceRequestSignature != nil { - return *x.WarningInvalidInvoiceRequestSignature +// Deprecated: Use UtxopsbtResponse.ProtoReflect.Descriptor instead. +func (*UtxopsbtResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{131} +} + +func (x *UtxopsbtResponse) GetPsbt() string { + if x != nil { + return x.Psbt } return "" } -func (x *DecodeResponse) GetInvoiceCreatedAt() uint64 { - if x != nil && x.InvoiceCreatedAt != nil { - return *x.InvoiceCreatedAt +func (x *UtxopsbtResponse) GetFeeratePerKw() uint32 { + if x != nil { + return x.FeeratePerKw } return 0 } -func (x *DecodeResponse) GetInvoiceRelativeExpiry() uint32 { - if x != nil && x.InvoiceRelativeExpiry != nil { - return *x.InvoiceRelativeExpiry +func (x *UtxopsbtResponse) GetEstimatedFinalWeight() uint32 { + if x != nil { + return x.EstimatedFinalWeight } return 0 } -func (x *DecodeResponse) GetInvoicePaymentHash() []byte { +func (x *UtxopsbtResponse) GetExcessMsat() *Amount { if x != nil { - return x.InvoicePaymentHash + return x.ExcessMsat } return nil } -func (x *DecodeResponse) GetInvoiceAmountMsat() *Amount { - if x != nil { - return x.InvoiceAmountMsat +func (x *UtxopsbtResponse) GetChangeOutnum() uint32 { + if x != nil && x.ChangeOutnum != nil { + return *x.ChangeOutnum } - return nil + return 0 } -func (x *DecodeResponse) GetInvoiceFallbacks() []*DecodeInvoiceFallbacks { +func (x *UtxopsbtResponse) GetReservations() []*UtxopsbtReservations { if x != nil { - return x.InvoiceFallbacks + return x.Reservations } return nil } -func (x *DecodeResponse) GetInvoiceFeatures() []byte { - if x != nil { - return x.InvoiceFeatures - } - return nil -} - -func (x *DecodeResponse) GetInvoiceNodeId() []byte { - if x != nil { - return x.InvoiceNodeId - } - return nil -} - -func (x *DecodeResponse) GetInvoiceRecurrenceBasetime() uint64 { - if x != nil && x.InvoiceRecurrenceBasetime != nil { - return *x.InvoiceRecurrenceBasetime - } - return 0 -} - -func (x *DecodeResponse) GetWarningMissingInvoicePaths() string { - if x != nil && x.WarningMissingInvoicePaths != nil { - return *x.WarningMissingInvoicePaths - } - return "" -} - -func (x *DecodeResponse) GetWarningMissingInvoiceBlindedpay() string { - if x != nil && x.WarningMissingInvoiceBlindedpay != nil { - return *x.WarningMissingInvoiceBlindedpay - } - return "" -} - -func (x *DecodeResponse) GetWarningMissingInvoiceCreatedAt() string { - if x != nil && x.WarningMissingInvoiceCreatedAt != nil { - return *x.WarningMissingInvoiceCreatedAt - } - return "" -} +type UtxopsbtReservations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *DecodeResponse) GetWarningMissingInvoicePaymentHash() string { - if x != nil && x.WarningMissingInvoicePaymentHash != nil { - return *x.WarningMissingInvoicePaymentHash - } - return "" + Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Vout uint32 `protobuf:"varint,2,opt,name=vout,proto3" json:"vout,omitempty"` + WasReserved bool `protobuf:"varint,3,opt,name=was_reserved,json=wasReserved,proto3" json:"was_reserved,omitempty"` + Reserved bool `protobuf:"varint,4,opt,name=reserved,proto3" json:"reserved,omitempty"` + ReservedToBlock uint32 `protobuf:"varint,5,opt,name=reserved_to_block,json=reservedToBlock,proto3" json:"reserved_to_block,omitempty"` } -func (x *DecodeResponse) GetWarningMissingInvoiceAmount() string { - if x != nil && x.WarningMissingInvoiceAmount != nil { - return *x.WarningMissingInvoiceAmount +func (x *UtxopsbtReservations) Reset() { + *x = UtxopsbtReservations{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[132] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *DecodeResponse) GetWarningMissingInvoiceRecurrenceBasetime() string { - if x != nil && x.WarningMissingInvoiceRecurrenceBasetime != nil { - return *x.WarningMissingInvoiceRecurrenceBasetime - } - return "" +func (x *UtxopsbtReservations) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *DecodeResponse) GetWarningMissingInvoiceNodeId() string { - if x != nil && x.WarningMissingInvoiceNodeId != nil { - return *x.WarningMissingInvoiceNodeId - } - return "" -} +func (*UtxopsbtReservations) ProtoMessage() {} -func (x *DecodeResponse) GetWarningMissingInvoiceSignature() string { - if x != nil && x.WarningMissingInvoiceSignature != nil { - return *x.WarningMissingInvoiceSignature +func (x *UtxopsbtReservations) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[132] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *DecodeResponse) GetWarningInvalidInvoiceSignature() string { - if x != nil && x.WarningInvalidInvoiceSignature != nil { - return *x.WarningInvalidInvoiceSignature - } - return "" +// Deprecated: Use UtxopsbtReservations.ProtoReflect.Descriptor instead. +func (*UtxopsbtReservations) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{132} } -func (x *DecodeResponse) GetFallbacks() []*DecodeFallbacks { +func (x *UtxopsbtReservations) GetTxid() []byte { if x != nil { - return x.Fallbacks + return x.Txid } return nil } -func (x *DecodeResponse) GetCreatedAt() uint64 { - if x != nil && x.CreatedAt != nil { - return *x.CreatedAt - } - return 0 -} - -func (x *DecodeResponse) GetExpiry() uint64 { - if x != nil && x.Expiry != nil { - return *x.Expiry +func (x *UtxopsbtReservations) GetVout() uint32 { + if x != nil { + return x.Vout } return 0 } -func (x *DecodeResponse) GetPayee() []byte { +func (x *UtxopsbtReservations) GetWasReserved() bool { if x != nil { - return x.Payee + return x.WasReserved } - return nil + return false } -func (x *DecodeResponse) GetPaymentHash() []byte { +func (x *UtxopsbtReservations) GetReserved() bool { if x != nil { - return x.PaymentHash + return x.Reserved } - return nil + return false } -func (x *DecodeResponse) GetDescriptionHash() []byte { +func (x *UtxopsbtReservations) GetReservedToBlock() uint32 { if x != nil { - return x.DescriptionHash - } - return nil -} - -func (x *DecodeResponse) GetMinFinalCltvExpiry() uint32 { - if x != nil && x.MinFinalCltvExpiry != nil { - return *x.MinFinalCltvExpiry + return x.ReservedToBlock } return 0 } -func (x *DecodeResponse) GetPaymentSecret() []byte { - if x != nil { - return x.PaymentSecret - } - return nil -} - -func (x *DecodeResponse) GetPaymentMetadata() []byte { - if x != nil { - return x.PaymentMetadata - } - return nil -} - -func (x *DecodeResponse) GetExtra() []*DecodeExtra { - if x != nil { - return x.Extra - } - return nil -} +type TxdiscardRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *DecodeResponse) GetUniqueId() string { - if x != nil && x.UniqueId != nil { - return *x.UniqueId - } - return "" + Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` } -func (x *DecodeResponse) GetVersion() string { - if x != nil && x.Version != nil { - return *x.Version +func (x *TxdiscardRequest) Reset() { + *x = TxdiscardRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[133] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return "" } -func (x *DecodeResponse) GetString_() string { - if x != nil && x.String_ != nil { - return *x.String_ - } - return "" +func (x *TxdiscardRequest) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *DecodeResponse) GetRestrictions() []*DecodeRestrictions { - if x != nil { - return x.Restrictions - } - return nil -} +func (*TxdiscardRequest) ProtoMessage() {} -func (x *DecodeResponse) GetWarningRuneInvalidUtf8() string { - if x != nil && x.WarningRuneInvalidUtf8 != nil { - return *x.WarningRuneInvalidUtf8 +func (x *TxdiscardRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[133] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return "" + return mi.MessageOf(x) } -func (x *DecodeResponse) GetHex() []byte { - if x != nil { - return x.Hex - } - return nil +// Deprecated: Use TxdiscardRequest.ProtoReflect.Descriptor instead. +func (*TxdiscardRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{133} } -func (x *DecodeResponse) GetDecrypted() []byte { +func (x *TxdiscardRequest) GetTxid() []byte { if x != nil { - return x.Decrypted + return x.Txid } return nil } -type DecodeOfferPaths struct { +type TxdiscardResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - FirstNodeId []byte `protobuf:"bytes,1,opt,name=first_node_id,json=firstNodeId,proto3" json:"first_node_id,omitempty"` - Blinding []byte `protobuf:"bytes,2,opt,name=blinding,proto3" json:"blinding,omitempty"` + UnsignedTx []byte `protobuf:"bytes,1,opt,name=unsigned_tx,json=unsignedTx,proto3" json:"unsigned_tx,omitempty"` + Txid []byte `protobuf:"bytes,2,opt,name=txid,proto3" json:"txid,omitempty"` } -func (x *DecodeOfferPaths) Reset() { - *x = DecodeOfferPaths{} +func (x *TxdiscardResponse) Reset() { + *x = TxdiscardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[130] + mi := &file_node_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DecodeOfferPaths) String() string { +func (x *TxdiscardResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DecodeOfferPaths) ProtoMessage() {} +func (*TxdiscardResponse) ProtoMessage() {} -func (x *DecodeOfferPaths) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[130] +func (x *TxdiscardResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[134] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13797,52 +13536,53 @@ func (x *DecodeOfferPaths) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DecodeOfferPaths.ProtoReflect.Descriptor instead. -func (*DecodeOfferPaths) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{130} +// Deprecated: Use TxdiscardResponse.ProtoReflect.Descriptor instead. +func (*TxdiscardResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{134} } -func (x *DecodeOfferPaths) GetFirstNodeId() []byte { +func (x *TxdiscardResponse) GetUnsignedTx() []byte { if x != nil { - return x.FirstNodeId + return x.UnsignedTx } return nil } -func (x *DecodeOfferPaths) GetBlinding() []byte { +func (x *TxdiscardResponse) GetTxid() []byte { if x != nil { - return x.Blinding + return x.Txid } return nil } -type DecodeOfferRecurrencePaywindow struct { +type TxprepareRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - SecondsBefore uint32 `protobuf:"varint,1,opt,name=seconds_before,json=secondsBefore,proto3" json:"seconds_before,omitempty"` - SecondsAfter uint32 `protobuf:"varint,2,opt,name=seconds_after,json=secondsAfter,proto3" json:"seconds_after,omitempty"` - ProportionalAmount *bool `protobuf:"varint,3,opt,name=proportional_amount,json=proportionalAmount,proto3,oneof" json:"proportional_amount,omitempty"` -} + Feerate *Feerate `protobuf:"bytes,2,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` + Minconf *uint32 `protobuf:"varint,3,opt,name=minconf,proto3,oneof" json:"minconf,omitempty"` + Utxos []*Outpoint `protobuf:"bytes,4,rep,name=utxos,proto3" json:"utxos,omitempty"` + Outputs []*OutputDesc `protobuf:"bytes,5,rep,name=outputs,proto3" json:"outputs,omitempty"` +} -func (x *DecodeOfferRecurrencePaywindow) Reset() { - *x = DecodeOfferRecurrencePaywindow{} +func (x *TxprepareRequest) Reset() { + *x = TxprepareRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[131] + mi := &file_node_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DecodeOfferRecurrencePaywindow) String() string { +func (x *TxprepareRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DecodeOfferRecurrencePaywindow) ProtoMessage() {} +func (*TxprepareRequest) ProtoMessage() {} -func (x *DecodeOfferRecurrencePaywindow) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[131] +func (x *TxprepareRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[135] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13853,58 +13593,66 @@ func (x *DecodeOfferRecurrencePaywindow) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DecodeOfferRecurrencePaywindow.ProtoReflect.Descriptor instead. -func (*DecodeOfferRecurrencePaywindow) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{131} +// Deprecated: Use TxprepareRequest.ProtoReflect.Descriptor instead. +func (*TxprepareRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{135} } -func (x *DecodeOfferRecurrencePaywindow) GetSecondsBefore() uint32 { +func (x *TxprepareRequest) GetFeerate() *Feerate { if x != nil { - return x.SecondsBefore + return x.Feerate + } + return nil +} + +func (x *TxprepareRequest) GetMinconf() uint32 { + if x != nil && x.Minconf != nil { + return *x.Minconf } return 0 } -func (x *DecodeOfferRecurrencePaywindow) GetSecondsAfter() uint32 { +func (x *TxprepareRequest) GetUtxos() []*Outpoint { if x != nil { - return x.SecondsAfter + return x.Utxos } - return 0 + return nil } -func (x *DecodeOfferRecurrencePaywindow) GetProportionalAmount() bool { - if x != nil && x.ProportionalAmount != nil { - return *x.ProportionalAmount +func (x *TxprepareRequest) GetOutputs() []*OutputDesc { + if x != nil { + return x.Outputs } - return false + return nil } -type DecodeInvoicePathsPath struct { +type TxprepareResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - BlindedNodeId []byte `protobuf:"bytes,1,opt,name=blinded_node_id,json=blindedNodeId,proto3" json:"blinded_node_id,omitempty"` - EncryptedRecipientData []byte `protobuf:"bytes,2,opt,name=encrypted_recipient_data,json=encryptedRecipientData,proto3" json:"encrypted_recipient_data,omitempty"` + Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` + UnsignedTx []byte `protobuf:"bytes,2,opt,name=unsigned_tx,json=unsignedTx,proto3" json:"unsigned_tx,omitempty"` + Txid []byte `protobuf:"bytes,3,opt,name=txid,proto3" json:"txid,omitempty"` } -func (x *DecodeInvoicePathsPath) Reset() { - *x = DecodeInvoicePathsPath{} +func (x *TxprepareResponse) Reset() { + *x = TxprepareResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[132] + mi := &file_node_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DecodeInvoicePathsPath) String() string { +func (x *TxprepareResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DecodeInvoicePathsPath) ProtoMessage() {} +func (*TxprepareResponse) ProtoMessage() {} -func (x *DecodeInvoicePathsPath) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[132] +func (x *TxprepareResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[136] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13915,52 +13663,57 @@ func (x *DecodeInvoicePathsPath) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DecodeInvoicePathsPath.ProtoReflect.Descriptor instead. -func (*DecodeInvoicePathsPath) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{132} +// Deprecated: Use TxprepareResponse.ProtoReflect.Descriptor instead. +func (*TxprepareResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{136} } -func (x *DecodeInvoicePathsPath) GetBlindedNodeId() []byte { +func (x *TxprepareResponse) GetPsbt() string { if x != nil { - return x.BlindedNodeId + return x.Psbt + } + return "" +} + +func (x *TxprepareResponse) GetUnsignedTx() []byte { + if x != nil { + return x.UnsignedTx } return nil } -func (x *DecodeInvoicePathsPath) GetEncryptedRecipientData() []byte { +func (x *TxprepareResponse) GetTxid() []byte { if x != nil { - return x.EncryptedRecipientData + return x.Txid } return nil } -type DecodeInvoiceFallbacks struct { +type TxsendRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` - Hex []byte `protobuf:"bytes,2,opt,name=hex,proto3" json:"hex,omitempty"` - Address *string `protobuf:"bytes,3,opt,name=address,proto3,oneof" json:"address,omitempty"` + Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` } -func (x *DecodeInvoiceFallbacks) Reset() { - *x = DecodeInvoiceFallbacks{} +func (x *TxsendRequest) Reset() { + *x = TxsendRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[133] + mi := &file_node_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DecodeInvoiceFallbacks) String() string { +func (x *TxsendRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DecodeInvoiceFallbacks) ProtoMessage() {} +func (*TxsendRequest) ProtoMessage() {} -func (x *DecodeInvoiceFallbacks) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[133] +func (x *TxsendRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[137] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13971,57 +13724,45 @@ func (x *DecodeInvoiceFallbacks) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DecodeInvoiceFallbacks.ProtoReflect.Descriptor instead. -func (*DecodeInvoiceFallbacks) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{133} -} - -func (x *DecodeInvoiceFallbacks) GetVersion() uint32 { - if x != nil { - return x.Version - } - return 0 +// Deprecated: Use TxsendRequest.ProtoReflect.Descriptor instead. +func (*TxsendRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{137} } -func (x *DecodeInvoiceFallbacks) GetHex() []byte { +func (x *TxsendRequest) GetTxid() []byte { if x != nil { - return x.Hex + return x.Txid } return nil } -func (x *DecodeInvoiceFallbacks) GetAddress() string { - if x != nil && x.Address != nil { - return *x.Address - } - return "" -} - -type DecodeFallbacks struct { +type TxsendResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - WarningInvoiceFallbacksVersionInvalid *string `protobuf:"bytes,1,opt,name=warning_invoice_fallbacks_version_invalid,json=warningInvoiceFallbacksVersionInvalid,proto3,oneof" json:"warning_invoice_fallbacks_version_invalid,omitempty"` + Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` + Tx []byte `protobuf:"bytes,2,opt,name=tx,proto3" json:"tx,omitempty"` + Txid []byte `protobuf:"bytes,3,opt,name=txid,proto3" json:"txid,omitempty"` } -func (x *DecodeFallbacks) Reset() { - *x = DecodeFallbacks{} +func (x *TxsendResponse) Reset() { + *x = TxsendResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[134] + mi := &file_node_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DecodeFallbacks) String() string { +func (x *TxsendResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DecodeFallbacks) ProtoMessage() {} +func (*TxsendResponse) ProtoMessage() {} -func (x *DecodeFallbacks) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[134] +func (x *TxsendResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[138] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14032,44 +13773,57 @@ func (x *DecodeFallbacks) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DecodeFallbacks.ProtoReflect.Descriptor instead. -func (*DecodeFallbacks) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{134} +// Deprecated: Use TxsendResponse.ProtoReflect.Descriptor instead. +func (*TxsendResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{138} } -func (x *DecodeFallbacks) GetWarningInvoiceFallbacksVersionInvalid() string { - if x != nil && x.WarningInvoiceFallbacksVersionInvalid != nil { - return *x.WarningInvoiceFallbacksVersionInvalid +func (x *TxsendResponse) GetPsbt() string { + if x != nil { + return x.Psbt } return "" } -type DecodeExtra struct { +func (x *TxsendResponse) GetTx() []byte { + if x != nil { + return x.Tx + } + return nil +} + +func (x *TxsendResponse) GetTxid() []byte { + if x != nil { + return x.Txid + } + return nil +} + +type ListpeerchannelsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` - Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + Id []byte `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` } -func (x *DecodeExtra) Reset() { - *x = DecodeExtra{} +func (x *ListpeerchannelsRequest) Reset() { + *x = ListpeerchannelsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[135] + mi := &file_node_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DecodeExtra) String() string { +func (x *ListpeerchannelsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DecodeExtra) ProtoMessage() {} +func (*ListpeerchannelsRequest) ProtoMessage() {} -func (x *DecodeExtra) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[135] +func (x *ListpeerchannelsRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[139] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14080,51 +13834,43 @@ func (x *DecodeExtra) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DecodeExtra.ProtoReflect.Descriptor instead. -func (*DecodeExtra) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{135} -} - -func (x *DecodeExtra) GetTag() string { - if x != nil { - return x.Tag - } - return "" +// Deprecated: Use ListpeerchannelsRequest.ProtoReflect.Descriptor instead. +func (*ListpeerchannelsRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{139} } -func (x *DecodeExtra) GetData() string { +func (x *ListpeerchannelsRequest) GetId() []byte { if x != nil { - return x.Data + return x.Id } - return "" + return nil } -type DecodeRestrictions struct { +type ListpeerchannelsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Alternatives []string `protobuf:"bytes,1,rep,name=alternatives,proto3" json:"alternatives,omitempty"` - Summary string `protobuf:"bytes,2,opt,name=summary,proto3" json:"summary,omitempty"` + Channels []*ListpeerchannelsChannels `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` } -func (x *DecodeRestrictions) Reset() { - *x = DecodeRestrictions{} +func (x *ListpeerchannelsResponse) Reset() { + *x = ListpeerchannelsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[136] + mi := &file_node_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DecodeRestrictions) String() string { +func (x *ListpeerchannelsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DecodeRestrictions) ProtoMessage() {} +func (*ListpeerchannelsResponse) ProtoMessage() {} -func (x *DecodeRestrictions) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[136] +func (x *ListpeerchannelsResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[140] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14135,51 +13881,99 @@ func (x *DecodeRestrictions) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DecodeRestrictions.ProtoReflect.Descriptor instead. -func (*DecodeRestrictions) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{136} +// Deprecated: Use ListpeerchannelsResponse.ProtoReflect.Descriptor instead. +func (*ListpeerchannelsResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{140} } -func (x *DecodeRestrictions) GetAlternatives() []string { +func (x *ListpeerchannelsResponse) GetChannels() []*ListpeerchannelsChannels { if x != nil { - return x.Alternatives + return x.Channels } return nil } -func (x *DecodeRestrictions) GetSummary() string { - if x != nil { - return x.Summary - } - return "" -} - -type DisconnectRequest struct { +type ListpeerchannelsChannels struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Force *bool `protobuf:"varint,2,opt,name=force,proto3,oneof" json:"force,omitempty"` + PeerId []byte `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"` + PeerConnected bool `protobuf:"varint,2,opt,name=peer_connected,json=peerConnected,proto3" json:"peer_connected,omitempty"` + State ListpeerchannelsChannels_ListpeerchannelsChannelsState `protobuf:"varint,3,opt,name=state,proto3,enum=cln.ListpeerchannelsChannels_ListpeerchannelsChannelsState" json:"state,omitempty"` + ScratchTxid []byte `protobuf:"bytes,4,opt,name=scratch_txid,json=scratchTxid,proto3,oneof" json:"scratch_txid,omitempty"` + Feerate *ListpeerchannelsChannelsFeerate `protobuf:"bytes,6,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` + Owner *string `protobuf:"bytes,7,opt,name=owner,proto3,oneof" json:"owner,omitempty"` + ShortChannelId *string `protobuf:"bytes,8,opt,name=short_channel_id,json=shortChannelId,proto3,oneof" json:"short_channel_id,omitempty"` + ChannelId []byte `protobuf:"bytes,9,opt,name=channel_id,json=channelId,proto3,oneof" json:"channel_id,omitempty"` + FundingTxid []byte `protobuf:"bytes,10,opt,name=funding_txid,json=fundingTxid,proto3,oneof" json:"funding_txid,omitempty"` + FundingOutnum *uint32 `protobuf:"varint,11,opt,name=funding_outnum,json=fundingOutnum,proto3,oneof" json:"funding_outnum,omitempty"` + InitialFeerate *string `protobuf:"bytes,12,opt,name=initial_feerate,json=initialFeerate,proto3,oneof" json:"initial_feerate,omitempty"` + LastFeerate *string `protobuf:"bytes,13,opt,name=last_feerate,json=lastFeerate,proto3,oneof" json:"last_feerate,omitempty"` + NextFeerate *string `protobuf:"bytes,14,opt,name=next_feerate,json=nextFeerate,proto3,oneof" json:"next_feerate,omitempty"` + NextFeeStep *uint32 `protobuf:"varint,15,opt,name=next_fee_step,json=nextFeeStep,proto3,oneof" json:"next_fee_step,omitempty"` + Inflight []*ListpeerchannelsChannelsInflight `protobuf:"bytes,16,rep,name=inflight,proto3" json:"inflight,omitempty"` + CloseTo []byte `protobuf:"bytes,17,opt,name=close_to,json=closeTo,proto3,oneof" json:"close_to,omitempty"` + Private *bool `protobuf:"varint,18,opt,name=private,proto3,oneof" json:"private,omitempty"` + Opener ChannelSide `protobuf:"varint,19,opt,name=opener,proto3,enum=cln.ChannelSide" json:"opener,omitempty"` + Closer *ChannelSide `protobuf:"varint,20,opt,name=closer,proto3,enum=cln.ChannelSide,oneof" json:"closer,omitempty"` + Funding *ListpeerchannelsChannelsFunding `protobuf:"bytes,22,opt,name=funding,proto3,oneof" json:"funding,omitempty"` + ToUsMsat *Amount `protobuf:"bytes,23,opt,name=to_us_msat,json=toUsMsat,proto3,oneof" json:"to_us_msat,omitempty"` + MinToUsMsat *Amount `protobuf:"bytes,24,opt,name=min_to_us_msat,json=minToUsMsat,proto3,oneof" json:"min_to_us_msat,omitempty"` + MaxToUsMsat *Amount `protobuf:"bytes,25,opt,name=max_to_us_msat,json=maxToUsMsat,proto3,oneof" json:"max_to_us_msat,omitempty"` + TotalMsat *Amount `protobuf:"bytes,26,opt,name=total_msat,json=totalMsat,proto3,oneof" json:"total_msat,omitempty"` + FeeBaseMsat *Amount `protobuf:"bytes,27,opt,name=fee_base_msat,json=feeBaseMsat,proto3,oneof" json:"fee_base_msat,omitempty"` + FeeProportionalMillionths *uint32 `protobuf:"varint,28,opt,name=fee_proportional_millionths,json=feeProportionalMillionths,proto3,oneof" json:"fee_proportional_millionths,omitempty"` + DustLimitMsat *Amount `protobuf:"bytes,29,opt,name=dust_limit_msat,json=dustLimitMsat,proto3,oneof" json:"dust_limit_msat,omitempty"` + MaxTotalHtlcInMsat *Amount `protobuf:"bytes,30,opt,name=max_total_htlc_in_msat,json=maxTotalHtlcInMsat,proto3,oneof" json:"max_total_htlc_in_msat,omitempty"` + TheirReserveMsat *Amount `protobuf:"bytes,31,opt,name=their_reserve_msat,json=theirReserveMsat,proto3,oneof" json:"their_reserve_msat,omitempty"` + OurReserveMsat *Amount `protobuf:"bytes,32,opt,name=our_reserve_msat,json=ourReserveMsat,proto3,oneof" json:"our_reserve_msat,omitempty"` + SpendableMsat *Amount `protobuf:"bytes,33,opt,name=spendable_msat,json=spendableMsat,proto3,oneof" json:"spendable_msat,omitempty"` + ReceivableMsat *Amount `protobuf:"bytes,34,opt,name=receivable_msat,json=receivableMsat,proto3,oneof" json:"receivable_msat,omitempty"` + MinimumHtlcInMsat *Amount `protobuf:"bytes,35,opt,name=minimum_htlc_in_msat,json=minimumHtlcInMsat,proto3,oneof" json:"minimum_htlc_in_msat,omitempty"` + MinimumHtlcOutMsat *Amount `protobuf:"bytes,36,opt,name=minimum_htlc_out_msat,json=minimumHtlcOutMsat,proto3,oneof" json:"minimum_htlc_out_msat,omitempty"` + MaximumHtlcOutMsat *Amount `protobuf:"bytes,37,opt,name=maximum_htlc_out_msat,json=maximumHtlcOutMsat,proto3,oneof" json:"maximum_htlc_out_msat,omitempty"` + TheirToSelfDelay *uint32 `protobuf:"varint,38,opt,name=their_to_self_delay,json=theirToSelfDelay,proto3,oneof" json:"their_to_self_delay,omitempty"` + OurToSelfDelay *uint32 `protobuf:"varint,39,opt,name=our_to_self_delay,json=ourToSelfDelay,proto3,oneof" json:"our_to_self_delay,omitempty"` + MaxAcceptedHtlcs *uint32 `protobuf:"varint,40,opt,name=max_accepted_htlcs,json=maxAcceptedHtlcs,proto3,oneof" json:"max_accepted_htlcs,omitempty"` + Alias *ListpeerchannelsChannelsAlias `protobuf:"bytes,41,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + Status []string `protobuf:"bytes,43,rep,name=status,proto3" json:"status,omitempty"` + InPaymentsOffered *uint64 `protobuf:"varint,44,opt,name=in_payments_offered,json=inPaymentsOffered,proto3,oneof" json:"in_payments_offered,omitempty"` + InOfferedMsat *Amount `protobuf:"bytes,45,opt,name=in_offered_msat,json=inOfferedMsat,proto3,oneof" json:"in_offered_msat,omitempty"` + InPaymentsFulfilled *uint64 `protobuf:"varint,46,opt,name=in_payments_fulfilled,json=inPaymentsFulfilled,proto3,oneof" json:"in_payments_fulfilled,omitempty"` + InFulfilledMsat *Amount `protobuf:"bytes,47,opt,name=in_fulfilled_msat,json=inFulfilledMsat,proto3,oneof" json:"in_fulfilled_msat,omitempty"` + OutPaymentsOffered *uint64 `protobuf:"varint,48,opt,name=out_payments_offered,json=outPaymentsOffered,proto3,oneof" json:"out_payments_offered,omitempty"` + OutOfferedMsat *Amount `protobuf:"bytes,49,opt,name=out_offered_msat,json=outOfferedMsat,proto3,oneof" json:"out_offered_msat,omitempty"` + OutPaymentsFulfilled *uint64 `protobuf:"varint,50,opt,name=out_payments_fulfilled,json=outPaymentsFulfilled,proto3,oneof" json:"out_payments_fulfilled,omitempty"` + OutFulfilledMsat *Amount `protobuf:"bytes,51,opt,name=out_fulfilled_msat,json=outFulfilledMsat,proto3,oneof" json:"out_fulfilled_msat,omitempty"` + Htlcs []*ListpeerchannelsChannelsHtlcs `protobuf:"bytes,52,rep,name=htlcs,proto3" json:"htlcs,omitempty"` + CloseToAddr *string `protobuf:"bytes,53,opt,name=close_to_addr,json=closeToAddr,proto3,oneof" json:"close_to_addr,omitempty"` + IgnoreFeeLimits *bool `protobuf:"varint,54,opt,name=ignore_fee_limits,json=ignoreFeeLimits,proto3,oneof" json:"ignore_fee_limits,omitempty"` + Updates *ListpeerchannelsChannelsUpdates `protobuf:"bytes,55,opt,name=updates,proto3,oneof" json:"updates,omitempty"` + LastStableConnection *uint64 `protobuf:"varint,56,opt,name=last_stable_connection,json=lastStableConnection,proto3,oneof" json:"last_stable_connection,omitempty"` + LostState *bool `protobuf:"varint,57,opt,name=lost_state,json=lostState,proto3,oneof" json:"lost_state,omitempty"` + Reestablished *bool `protobuf:"varint,58,opt,name=reestablished,proto3,oneof" json:"reestablished,omitempty"` + LastTxFeeMsat *Amount `protobuf:"bytes,59,opt,name=last_tx_fee_msat,json=lastTxFeeMsat,proto3,oneof" json:"last_tx_fee_msat,omitempty"` + Direction *uint32 `protobuf:"varint,60,opt,name=direction,proto3,oneof" json:"direction,omitempty"` } -func (x *DisconnectRequest) Reset() { - *x = DisconnectRequest{} +func (x *ListpeerchannelsChannels) Reset() { + *x = ListpeerchannelsChannels{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[137] + mi := &file_node_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DisconnectRequest) String() string { +func (x *ListpeerchannelsChannels) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DisconnectRequest) ProtoMessage() {} +func (*ListpeerchannelsChannels) ProtoMessage() {} -func (x *DisconnectRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[137] +func (x *ListpeerchannelsChannels) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[141] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14190,406 +13984,436 @@ func (x *DisconnectRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DisconnectRequest.ProtoReflect.Descriptor instead. -func (*DisconnectRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{137} +// Deprecated: Use ListpeerchannelsChannels.ProtoReflect.Descriptor instead. +func (*ListpeerchannelsChannels) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{141} } -func (x *DisconnectRequest) GetId() []byte { +func (x *ListpeerchannelsChannels) GetPeerId() []byte { if x != nil { - return x.Id + return x.PeerId } return nil } -func (x *DisconnectRequest) GetForce() bool { - if x != nil && x.Force != nil { - return *x.Force +func (x *ListpeerchannelsChannels) GetPeerConnected() bool { + if x != nil { + return x.PeerConnected } return false } -type DisconnectResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ListpeerchannelsChannels) GetState() ListpeerchannelsChannels_ListpeerchannelsChannelsState { + if x != nil { + return x.State + } + return ListpeerchannelsChannels_OPENINGD } -func (x *DisconnectResponse) Reset() { - *x = DisconnectResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[138] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ListpeerchannelsChannels) GetScratchTxid() []byte { + if x != nil { + return x.ScratchTxid } + return nil } -func (x *DisconnectResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ListpeerchannelsChannels) GetFeerate() *ListpeerchannelsChannelsFeerate { + if x != nil { + return x.Feerate + } + return nil } -func (*DisconnectResponse) ProtoMessage() {} - -func (x *DisconnectResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[138] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ListpeerchannelsChannels) GetOwner() string { + if x != nil && x.Owner != nil { + return *x.Owner } - return mi.MessageOf(x) + return "" } -// Deprecated: Use DisconnectResponse.ProtoReflect.Descriptor instead. -func (*DisconnectResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{138} +func (x *ListpeerchannelsChannels) GetShortChannelId() string { + if x != nil && x.ShortChannelId != nil { + return *x.ShortChannelId + } + return "" } -type FeeratesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ListpeerchannelsChannels) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} - Style FeeratesRequest_FeeratesStyle `protobuf:"varint,1,opt,name=style,proto3,enum=cln.FeeratesRequest_FeeratesStyle" json:"style,omitempty"` +func (x *ListpeerchannelsChannels) GetFundingTxid() []byte { + if x != nil { + return x.FundingTxid + } + return nil } -func (x *FeeratesRequest) Reset() { - *x = FeeratesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[139] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ListpeerchannelsChannels) GetFundingOutnum() uint32 { + if x != nil && x.FundingOutnum != nil { + return *x.FundingOutnum } + return 0 } -func (x *FeeratesRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ListpeerchannelsChannels) GetInitialFeerate() string { + if x != nil && x.InitialFeerate != nil { + return *x.InitialFeerate + } + return "" } -func (*FeeratesRequest) ProtoMessage() {} +func (x *ListpeerchannelsChannels) GetLastFeerate() string { + if x != nil && x.LastFeerate != nil { + return *x.LastFeerate + } + return "" +} -func (x *FeeratesRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[139] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ListpeerchannelsChannels) GetNextFeerate() string { + if x != nil && x.NextFeerate != nil { + return *x.NextFeerate } - return mi.MessageOf(x) + return "" } -// Deprecated: Use FeeratesRequest.ProtoReflect.Descriptor instead. -func (*FeeratesRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{139} +func (x *ListpeerchannelsChannels) GetNextFeeStep() uint32 { + if x != nil && x.NextFeeStep != nil { + return *x.NextFeeStep + } + return 0 } -func (x *FeeratesRequest) GetStyle() FeeratesRequest_FeeratesStyle { +func (x *ListpeerchannelsChannels) GetInflight() []*ListpeerchannelsChannelsInflight { if x != nil { - return x.Style + return x.Inflight } - return FeeratesRequest_PERKB + return nil } -type FeeratesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WarningMissingFeerates *string `protobuf:"bytes,1,opt,name=warning_missing_feerates,json=warningMissingFeerates,proto3,oneof" json:"warning_missing_feerates,omitempty"` - Perkb *FeeratesPerkb `protobuf:"bytes,2,opt,name=perkb,proto3,oneof" json:"perkb,omitempty"` - Perkw *FeeratesPerkw `protobuf:"bytes,3,opt,name=perkw,proto3,oneof" json:"perkw,omitempty"` - OnchainFeeEstimates *FeeratesOnchainFeeEstimates `protobuf:"bytes,4,opt,name=onchain_fee_estimates,json=onchainFeeEstimates,proto3,oneof" json:"onchain_fee_estimates,omitempty"` +func (x *ListpeerchannelsChannels) GetCloseTo() []byte { + if x != nil { + return x.CloseTo + } + return nil } -func (x *FeeratesResponse) Reset() { - *x = FeeratesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[140] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ListpeerchannelsChannels) GetPrivate() bool { + if x != nil && x.Private != nil { + return *x.Private } + return false } -func (x *FeeratesResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ListpeerchannelsChannels) GetOpener() ChannelSide { + if x != nil { + return x.Opener + } + return ChannelSide_LOCAL } -func (*FeeratesResponse) ProtoMessage() {} - -func (x *FeeratesResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[140] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ListpeerchannelsChannels) GetCloser() ChannelSide { + if x != nil && x.Closer != nil { + return *x.Closer } - return mi.MessageOf(x) + return ChannelSide_LOCAL } -// Deprecated: Use FeeratesResponse.ProtoReflect.Descriptor instead. -func (*FeeratesResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{140} +func (x *ListpeerchannelsChannels) GetFunding() *ListpeerchannelsChannelsFunding { + if x != nil { + return x.Funding + } + return nil } -func (x *FeeratesResponse) GetWarningMissingFeerates() string { - if x != nil && x.WarningMissingFeerates != nil { - return *x.WarningMissingFeerates +func (x *ListpeerchannelsChannels) GetToUsMsat() *Amount { + if x != nil { + return x.ToUsMsat } - return "" + return nil } -func (x *FeeratesResponse) GetPerkb() *FeeratesPerkb { +func (x *ListpeerchannelsChannels) GetMinToUsMsat() *Amount { if x != nil { - return x.Perkb + return x.MinToUsMsat } return nil } -func (x *FeeratesResponse) GetPerkw() *FeeratesPerkw { +func (x *ListpeerchannelsChannels) GetMaxToUsMsat() *Amount { if x != nil { - return x.Perkw + return x.MaxToUsMsat } return nil } -func (x *FeeratesResponse) GetOnchainFeeEstimates() *FeeratesOnchainFeeEstimates { +func (x *ListpeerchannelsChannels) GetTotalMsat() *Amount { if x != nil { - return x.OnchainFeeEstimates + return x.TotalMsat } return nil } -type FeeratesPerkb struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MinAcceptable uint32 `protobuf:"varint,1,opt,name=min_acceptable,json=minAcceptable,proto3" json:"min_acceptable,omitempty"` - MaxAcceptable uint32 `protobuf:"varint,2,opt,name=max_acceptable,json=maxAcceptable,proto3" json:"max_acceptable,omitempty"` - Floor *uint32 `protobuf:"varint,10,opt,name=floor,proto3,oneof" json:"floor,omitempty"` - Estimates []*FeeratesPerkbEstimates `protobuf:"bytes,9,rep,name=estimates,proto3" json:"estimates,omitempty"` - Opening *uint32 `protobuf:"varint,3,opt,name=opening,proto3,oneof" json:"opening,omitempty"` - MutualClose *uint32 `protobuf:"varint,4,opt,name=mutual_close,json=mutualClose,proto3,oneof" json:"mutual_close,omitempty"` - UnilateralClose *uint32 `protobuf:"varint,5,opt,name=unilateral_close,json=unilateralClose,proto3,oneof" json:"unilateral_close,omitempty"` - UnilateralAnchorClose *uint32 `protobuf:"varint,11,opt,name=unilateral_anchor_close,json=unilateralAnchorClose,proto3,oneof" json:"unilateral_anchor_close,omitempty"` - DelayedToUs *uint32 `protobuf:"varint,6,opt,name=delayed_to_us,json=delayedToUs,proto3,oneof" json:"delayed_to_us,omitempty"` - HtlcResolution *uint32 `protobuf:"varint,7,opt,name=htlc_resolution,json=htlcResolution,proto3,oneof" json:"htlc_resolution,omitempty"` - Penalty *uint32 `protobuf:"varint,8,opt,name=penalty,proto3,oneof" json:"penalty,omitempty"` +func (x *ListpeerchannelsChannels) GetFeeBaseMsat() *Amount { + if x != nil { + return x.FeeBaseMsat + } + return nil } -func (x *FeeratesPerkb) Reset() { - *x = FeeratesPerkb{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[141] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ListpeerchannelsChannels) GetFeeProportionalMillionths() uint32 { + if x != nil && x.FeeProportionalMillionths != nil { + return *x.FeeProportionalMillionths } + return 0 } -func (x *FeeratesPerkb) String() string { - return protoimpl.X.MessageStringOf(x) -} +func (x *ListpeerchannelsChannels) GetDustLimitMsat() *Amount { + if x != nil { + return x.DustLimitMsat + } + return nil +} -func (*FeeratesPerkb) ProtoMessage() {} +func (x *ListpeerchannelsChannels) GetMaxTotalHtlcInMsat() *Amount { + if x != nil { + return x.MaxTotalHtlcInMsat + } + return nil +} -func (x *FeeratesPerkb) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[141] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ListpeerchannelsChannels) GetTheirReserveMsat() *Amount { + if x != nil { + return x.TheirReserveMsat } - return mi.MessageOf(x) + return nil } -// Deprecated: Use FeeratesPerkb.ProtoReflect.Descriptor instead. -func (*FeeratesPerkb) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{141} +func (x *ListpeerchannelsChannels) GetOurReserveMsat() *Amount { + if x != nil { + return x.OurReserveMsat + } + return nil } -func (x *FeeratesPerkb) GetMinAcceptable() uint32 { +func (x *ListpeerchannelsChannels) GetSpendableMsat() *Amount { if x != nil { - return x.MinAcceptable + return x.SpendableMsat } - return 0 + return nil } -func (x *FeeratesPerkb) GetMaxAcceptable() uint32 { +func (x *ListpeerchannelsChannels) GetReceivableMsat() *Amount { if x != nil { - return x.MaxAcceptable + return x.ReceivableMsat } - return 0 + return nil } -func (x *FeeratesPerkb) GetFloor() uint32 { - if x != nil && x.Floor != nil { - return *x.Floor +func (x *ListpeerchannelsChannels) GetMinimumHtlcInMsat() *Amount { + if x != nil { + return x.MinimumHtlcInMsat } - return 0 + return nil } -func (x *FeeratesPerkb) GetEstimates() []*FeeratesPerkbEstimates { +func (x *ListpeerchannelsChannels) GetMinimumHtlcOutMsat() *Amount { if x != nil { - return x.Estimates + return x.MinimumHtlcOutMsat } return nil } -func (x *FeeratesPerkb) GetOpening() uint32 { - if x != nil && x.Opening != nil { - return *x.Opening +func (x *ListpeerchannelsChannels) GetMaximumHtlcOutMsat() *Amount { + if x != nil { + return x.MaximumHtlcOutMsat } - return 0 + return nil } -func (x *FeeratesPerkb) GetMutualClose() uint32 { - if x != nil && x.MutualClose != nil { - return *x.MutualClose +func (x *ListpeerchannelsChannels) GetTheirToSelfDelay() uint32 { + if x != nil && x.TheirToSelfDelay != nil { + return *x.TheirToSelfDelay } return 0 } -func (x *FeeratesPerkb) GetUnilateralClose() uint32 { - if x != nil && x.UnilateralClose != nil { - return *x.UnilateralClose +func (x *ListpeerchannelsChannels) GetOurToSelfDelay() uint32 { + if x != nil && x.OurToSelfDelay != nil { + return *x.OurToSelfDelay } return 0 } -func (x *FeeratesPerkb) GetUnilateralAnchorClose() uint32 { - if x != nil && x.UnilateralAnchorClose != nil { - return *x.UnilateralAnchorClose +func (x *ListpeerchannelsChannels) GetMaxAcceptedHtlcs() uint32 { + if x != nil && x.MaxAcceptedHtlcs != nil { + return *x.MaxAcceptedHtlcs } return 0 } -func (x *FeeratesPerkb) GetDelayedToUs() uint32 { - if x != nil && x.DelayedToUs != nil { - return *x.DelayedToUs +func (x *ListpeerchannelsChannels) GetAlias() *ListpeerchannelsChannelsAlias { + if x != nil { + return x.Alias + } + return nil +} + +func (x *ListpeerchannelsChannels) GetStatus() []string { + if x != nil { + return x.Status + } + return nil +} + +func (x *ListpeerchannelsChannels) GetInPaymentsOffered() uint64 { + if x != nil && x.InPaymentsOffered != nil { + return *x.InPaymentsOffered } return 0 } -func (x *FeeratesPerkb) GetHtlcResolution() uint32 { - if x != nil && x.HtlcResolution != nil { - return *x.HtlcResolution +func (x *ListpeerchannelsChannels) GetInOfferedMsat() *Amount { + if x != nil { + return x.InOfferedMsat + } + return nil +} + +func (x *ListpeerchannelsChannels) GetInPaymentsFulfilled() uint64 { + if x != nil && x.InPaymentsFulfilled != nil { + return *x.InPaymentsFulfilled } return 0 } -func (x *FeeratesPerkb) GetPenalty() uint32 { - if x != nil && x.Penalty != nil { - return *x.Penalty +func (x *ListpeerchannelsChannels) GetInFulfilledMsat() *Amount { + if x != nil { + return x.InFulfilledMsat + } + return nil +} + +func (x *ListpeerchannelsChannels) GetOutPaymentsOffered() uint64 { + if x != nil && x.OutPaymentsOffered != nil { + return *x.OutPaymentsOffered } return 0 } -type FeeratesPerkbEstimates struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *ListpeerchannelsChannels) GetOutOfferedMsat() *Amount { + if x != nil { + return x.OutOfferedMsat + } + return nil +} - Blockcount *uint32 `protobuf:"varint,1,opt,name=blockcount,proto3,oneof" json:"blockcount,omitempty"` - Feerate *uint32 `protobuf:"varint,2,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` - SmoothedFeerate *uint32 `protobuf:"varint,3,opt,name=smoothed_feerate,json=smoothedFeerate,proto3,oneof" json:"smoothed_feerate,omitempty"` +func (x *ListpeerchannelsChannels) GetOutPaymentsFulfilled() uint64 { + if x != nil && x.OutPaymentsFulfilled != nil { + return *x.OutPaymentsFulfilled + } + return 0 } -func (x *FeeratesPerkbEstimates) Reset() { - *x = FeeratesPerkbEstimates{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[142] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ListpeerchannelsChannels) GetOutFulfilledMsat() *Amount { + if x != nil { + return x.OutFulfilledMsat } + return nil } -func (x *FeeratesPerkbEstimates) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ListpeerchannelsChannels) GetHtlcs() []*ListpeerchannelsChannelsHtlcs { + if x != nil { + return x.Htlcs + } + return nil } -func (*FeeratesPerkbEstimates) ProtoMessage() {} +func (x *ListpeerchannelsChannels) GetCloseToAddr() string { + if x != nil && x.CloseToAddr != nil { + return *x.CloseToAddr + } + return "" +} -func (x *FeeratesPerkbEstimates) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[142] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ListpeerchannelsChannels) GetIgnoreFeeLimits() bool { + if x != nil && x.IgnoreFeeLimits != nil { + return *x.IgnoreFeeLimits } - return mi.MessageOf(x) + return false } -// Deprecated: Use FeeratesPerkbEstimates.ProtoReflect.Descriptor instead. -func (*FeeratesPerkbEstimates) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{142} +func (x *ListpeerchannelsChannels) GetUpdates() *ListpeerchannelsChannelsUpdates { + if x != nil { + return x.Updates + } + return nil } -func (x *FeeratesPerkbEstimates) GetBlockcount() uint32 { - if x != nil && x.Blockcount != nil { - return *x.Blockcount +func (x *ListpeerchannelsChannels) GetLastStableConnection() uint64 { + if x != nil && x.LastStableConnection != nil { + return *x.LastStableConnection } return 0 } -func (x *FeeratesPerkbEstimates) GetFeerate() uint32 { - if x != nil && x.Feerate != nil { - return *x.Feerate +func (x *ListpeerchannelsChannels) GetLostState() bool { + if x != nil && x.LostState != nil { + return *x.LostState } - return 0 + return false } -func (x *FeeratesPerkbEstimates) GetSmoothedFeerate() uint32 { - if x != nil && x.SmoothedFeerate != nil { - return *x.SmoothedFeerate +func (x *ListpeerchannelsChannels) GetReestablished() bool { + if x != nil && x.Reestablished != nil { + return *x.Reestablished + } + return false +} + +func (x *ListpeerchannelsChannels) GetLastTxFeeMsat() *Amount { + if x != nil { + return x.LastTxFeeMsat + } + return nil +} + +func (x *ListpeerchannelsChannels) GetDirection() uint32 { + if x != nil && x.Direction != nil { + return *x.Direction } return 0 } -type FeeratesPerkw struct { +type ListpeerchannelsChannelsUpdates struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - MinAcceptable uint32 `protobuf:"varint,1,opt,name=min_acceptable,json=minAcceptable,proto3" json:"min_acceptable,omitempty"` - MaxAcceptable uint32 `protobuf:"varint,2,opt,name=max_acceptable,json=maxAcceptable,proto3" json:"max_acceptable,omitempty"` - Floor *uint32 `protobuf:"varint,10,opt,name=floor,proto3,oneof" json:"floor,omitempty"` - Estimates []*FeeratesPerkwEstimates `protobuf:"bytes,9,rep,name=estimates,proto3" json:"estimates,omitempty"` - Opening *uint32 `protobuf:"varint,3,opt,name=opening,proto3,oneof" json:"opening,omitempty"` - MutualClose *uint32 `protobuf:"varint,4,opt,name=mutual_close,json=mutualClose,proto3,oneof" json:"mutual_close,omitempty"` - UnilateralClose *uint32 `protobuf:"varint,5,opt,name=unilateral_close,json=unilateralClose,proto3,oneof" json:"unilateral_close,omitempty"` - UnilateralAnchorClose *uint32 `protobuf:"varint,11,opt,name=unilateral_anchor_close,json=unilateralAnchorClose,proto3,oneof" json:"unilateral_anchor_close,omitempty"` - DelayedToUs *uint32 `protobuf:"varint,6,opt,name=delayed_to_us,json=delayedToUs,proto3,oneof" json:"delayed_to_us,omitempty"` - HtlcResolution *uint32 `protobuf:"varint,7,opt,name=htlc_resolution,json=htlcResolution,proto3,oneof" json:"htlc_resolution,omitempty"` - Penalty *uint32 `protobuf:"varint,8,opt,name=penalty,proto3,oneof" json:"penalty,omitempty"` + Local *ListpeerchannelsChannelsUpdatesLocal `protobuf:"bytes,1,opt,name=local,proto3" json:"local,omitempty"` + Remote *ListpeerchannelsChannelsUpdatesRemote `protobuf:"bytes,2,opt,name=remote,proto3,oneof" json:"remote,omitempty"` } -func (x *FeeratesPerkw) Reset() { - *x = FeeratesPerkw{} +func (x *ListpeerchannelsChannelsUpdates) Reset() { + *x = ListpeerchannelsChannelsUpdates{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[143] + mi := &file_node_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FeeratesPerkw) String() string { +func (x *ListpeerchannelsChannelsUpdates) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FeeratesPerkw) ProtoMessage() {} +func (*ListpeerchannelsChannelsUpdates) ProtoMessage() {} -func (x *FeeratesPerkw) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[143] +func (x *ListpeerchannelsChannelsUpdates) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[142] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14600,100 +14424,118 @@ func (x *FeeratesPerkw) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FeeratesPerkw.ProtoReflect.Descriptor instead. -func (*FeeratesPerkw) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{143} +// Deprecated: Use ListpeerchannelsChannelsUpdates.ProtoReflect.Descriptor instead. +func (*ListpeerchannelsChannelsUpdates) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{142} } -func (x *FeeratesPerkw) GetMinAcceptable() uint32 { +func (x *ListpeerchannelsChannelsUpdates) GetLocal() *ListpeerchannelsChannelsUpdatesLocal { if x != nil { - return x.MinAcceptable + return x.Local } - return 0 + return nil } -func (x *FeeratesPerkw) GetMaxAcceptable() uint32 { +func (x *ListpeerchannelsChannelsUpdates) GetRemote() *ListpeerchannelsChannelsUpdatesRemote { if x != nil { - return x.MaxAcceptable + return x.Remote } - return 0 + return nil } -func (x *FeeratesPerkw) GetFloor() uint32 { - if x != nil && x.Floor != nil { - return *x.Floor - } - return 0 +type ListpeerchannelsChannelsUpdatesLocal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HtlcMinimumMsat *Amount `protobuf:"bytes,1,opt,name=htlc_minimum_msat,json=htlcMinimumMsat,proto3" json:"htlc_minimum_msat,omitempty"` + HtlcMaximumMsat *Amount `protobuf:"bytes,2,opt,name=htlc_maximum_msat,json=htlcMaximumMsat,proto3" json:"htlc_maximum_msat,omitempty"` + CltvExpiryDelta uint32 `protobuf:"varint,3,opt,name=cltv_expiry_delta,json=cltvExpiryDelta,proto3" json:"cltv_expiry_delta,omitempty"` + FeeBaseMsat *Amount `protobuf:"bytes,4,opt,name=fee_base_msat,json=feeBaseMsat,proto3" json:"fee_base_msat,omitempty"` + FeeProportionalMillionths uint32 `protobuf:"varint,5,opt,name=fee_proportional_millionths,json=feeProportionalMillionths,proto3" json:"fee_proportional_millionths,omitempty"` } -func (x *FeeratesPerkw) GetEstimates() []*FeeratesPerkwEstimates { - if x != nil { - return x.Estimates +func (x *ListpeerchannelsChannelsUpdatesLocal) Reset() { + *x = ListpeerchannelsChannelsUpdatesLocal{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[143] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return nil } -func (x *FeeratesPerkw) GetOpening() uint32 { - if x != nil && x.Opening != nil { - return *x.Opening - } - return 0 +func (x *ListpeerchannelsChannelsUpdatesLocal) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *FeeratesPerkw) GetMutualClose() uint32 { - if x != nil && x.MutualClose != nil { - return *x.MutualClose +func (*ListpeerchannelsChannelsUpdatesLocal) ProtoMessage() {} + +func (x *ListpeerchannelsChannelsUpdatesLocal) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[143] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *FeeratesPerkw) GetUnilateralClose() uint32 { - if x != nil && x.UnilateralClose != nil { - return *x.UnilateralClose +// Deprecated: Use ListpeerchannelsChannelsUpdatesLocal.ProtoReflect.Descriptor instead. +func (*ListpeerchannelsChannelsUpdatesLocal) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{143} +} + +func (x *ListpeerchannelsChannelsUpdatesLocal) GetHtlcMinimumMsat() *Amount { + if x != nil { + return x.HtlcMinimumMsat } - return 0 + return nil } -func (x *FeeratesPerkw) GetUnilateralAnchorClose() uint32 { - if x != nil && x.UnilateralAnchorClose != nil { - return *x.UnilateralAnchorClose +func (x *ListpeerchannelsChannelsUpdatesLocal) GetHtlcMaximumMsat() *Amount { + if x != nil { + return x.HtlcMaximumMsat } - return 0 + return nil } -func (x *FeeratesPerkw) GetDelayedToUs() uint32 { - if x != nil && x.DelayedToUs != nil { - return *x.DelayedToUs +func (x *ListpeerchannelsChannelsUpdatesLocal) GetCltvExpiryDelta() uint32 { + if x != nil { + return x.CltvExpiryDelta } return 0 } -func (x *FeeratesPerkw) GetHtlcResolution() uint32 { - if x != nil && x.HtlcResolution != nil { - return *x.HtlcResolution +func (x *ListpeerchannelsChannelsUpdatesLocal) GetFeeBaseMsat() *Amount { + if x != nil { + return x.FeeBaseMsat } - return 0 + return nil } -func (x *FeeratesPerkw) GetPenalty() uint32 { - if x != nil && x.Penalty != nil { - return *x.Penalty +func (x *ListpeerchannelsChannelsUpdatesLocal) GetFeeProportionalMillionths() uint32 { + if x != nil { + return x.FeeProportionalMillionths } return 0 } -type FeeratesPerkwEstimates struct { +type ListpeerchannelsChannelsUpdatesRemote struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Blockcount *uint32 `protobuf:"varint,1,opt,name=blockcount,proto3,oneof" json:"blockcount,omitempty"` - Feerate *uint32 `protobuf:"varint,2,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` - SmoothedFeerate *uint32 `protobuf:"varint,3,opt,name=smoothed_feerate,json=smoothedFeerate,proto3,oneof" json:"smoothed_feerate,omitempty"` + HtlcMinimumMsat *Amount `protobuf:"bytes,1,opt,name=htlc_minimum_msat,json=htlcMinimumMsat,proto3" json:"htlc_minimum_msat,omitempty"` + HtlcMaximumMsat *Amount `protobuf:"bytes,2,opt,name=htlc_maximum_msat,json=htlcMaximumMsat,proto3" json:"htlc_maximum_msat,omitempty"` + CltvExpiryDelta uint32 `protobuf:"varint,3,opt,name=cltv_expiry_delta,json=cltvExpiryDelta,proto3" json:"cltv_expiry_delta,omitempty"` + FeeBaseMsat *Amount `protobuf:"bytes,4,opt,name=fee_base_msat,json=feeBaseMsat,proto3" json:"fee_base_msat,omitempty"` + FeeProportionalMillionths uint32 `protobuf:"varint,5,opt,name=fee_proportional_millionths,json=feeProportionalMillionths,proto3" json:"fee_proportional_millionths,omitempty"` } -func (x *FeeratesPerkwEstimates) Reset() { - *x = FeeratesPerkwEstimates{} +func (x *ListpeerchannelsChannelsUpdatesRemote) Reset() { + *x = ListpeerchannelsChannelsUpdatesRemote{} if protoimpl.UnsafeEnabled { mi := &file_node_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14701,13 +14543,13 @@ func (x *FeeratesPerkwEstimates) Reset() { } } -func (x *FeeratesPerkwEstimates) String() string { +func (x *ListpeerchannelsChannelsUpdatesRemote) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FeeratesPerkwEstimates) ProtoMessage() {} +func (*ListpeerchannelsChannelsUpdatesRemote) ProtoMessage() {} -func (x *FeeratesPerkwEstimates) ProtoReflect() protoreflect.Message { +func (x *ListpeerchannelsChannelsUpdatesRemote) ProtoReflect() protoreflect.Message { mi := &file_node_proto_msgTypes[144] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14719,47 +14561,57 @@ func (x *FeeratesPerkwEstimates) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FeeratesPerkwEstimates.ProtoReflect.Descriptor instead. -func (*FeeratesPerkwEstimates) Descriptor() ([]byte, []int) { +// Deprecated: Use ListpeerchannelsChannelsUpdatesRemote.ProtoReflect.Descriptor instead. +func (*ListpeerchannelsChannelsUpdatesRemote) Descriptor() ([]byte, []int) { return file_node_proto_rawDescGZIP(), []int{144} } -func (x *FeeratesPerkwEstimates) GetBlockcount() uint32 { - if x != nil && x.Blockcount != nil { - return *x.Blockcount +func (x *ListpeerchannelsChannelsUpdatesRemote) GetHtlcMinimumMsat() *Amount { + if x != nil { + return x.HtlcMinimumMsat } - return 0 + return nil } -func (x *FeeratesPerkwEstimates) GetFeerate() uint32 { - if x != nil && x.Feerate != nil { - return *x.Feerate +func (x *ListpeerchannelsChannelsUpdatesRemote) GetHtlcMaximumMsat() *Amount { + if x != nil { + return x.HtlcMaximumMsat + } + return nil +} + +func (x *ListpeerchannelsChannelsUpdatesRemote) GetCltvExpiryDelta() uint32 { + if x != nil { + return x.CltvExpiryDelta } return 0 } -func (x *FeeratesPerkwEstimates) GetSmoothedFeerate() uint32 { - if x != nil && x.SmoothedFeerate != nil { - return *x.SmoothedFeerate +func (x *ListpeerchannelsChannelsUpdatesRemote) GetFeeBaseMsat() *Amount { + if x != nil { + return x.FeeBaseMsat + } + return nil +} + +func (x *ListpeerchannelsChannelsUpdatesRemote) GetFeeProportionalMillionths() uint32 { + if x != nil { + return x.FeeProportionalMillionths } return 0 } -type FeeratesOnchainFeeEstimates struct { +type ListpeerchannelsChannelsFeerate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OpeningChannelSatoshis uint64 `protobuf:"varint,1,opt,name=opening_channel_satoshis,json=openingChannelSatoshis,proto3" json:"opening_channel_satoshis,omitempty"` - MutualCloseSatoshis uint64 `protobuf:"varint,2,opt,name=mutual_close_satoshis,json=mutualCloseSatoshis,proto3" json:"mutual_close_satoshis,omitempty"` - UnilateralCloseSatoshis uint64 `protobuf:"varint,3,opt,name=unilateral_close_satoshis,json=unilateralCloseSatoshis,proto3" json:"unilateral_close_satoshis,omitempty"` - UnilateralCloseNonanchorSatoshis *uint64 `protobuf:"varint,6,opt,name=unilateral_close_nonanchor_satoshis,json=unilateralCloseNonanchorSatoshis,proto3,oneof" json:"unilateral_close_nonanchor_satoshis,omitempty"` - HtlcTimeoutSatoshis uint64 `protobuf:"varint,4,opt,name=htlc_timeout_satoshis,json=htlcTimeoutSatoshis,proto3" json:"htlc_timeout_satoshis,omitempty"` - HtlcSuccessSatoshis uint64 `protobuf:"varint,5,opt,name=htlc_success_satoshis,json=htlcSuccessSatoshis,proto3" json:"htlc_success_satoshis,omitempty"` + Perkw uint32 `protobuf:"varint,1,opt,name=perkw,proto3" json:"perkw,omitempty"` + Perkb uint32 `protobuf:"varint,2,opt,name=perkb,proto3" json:"perkb,omitempty"` } -func (x *FeeratesOnchainFeeEstimates) Reset() { - *x = FeeratesOnchainFeeEstimates{} +func (x *ListpeerchannelsChannelsFeerate) Reset() { + *x = ListpeerchannelsChannelsFeerate{} if protoimpl.UnsafeEnabled { mi := &file_node_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14767,13 +14619,13 @@ func (x *FeeratesOnchainFeeEstimates) Reset() { } } -func (x *FeeratesOnchainFeeEstimates) String() string { +func (x *ListpeerchannelsChannelsFeerate) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FeeratesOnchainFeeEstimates) ProtoMessage() {} +func (*ListpeerchannelsChannelsFeerate) ProtoMessage() {} -func (x *FeeratesOnchainFeeEstimates) ProtoReflect() protoreflect.Message { +func (x *ListpeerchannelsChannelsFeerate) ProtoReflect() protoreflect.Message { mi := &file_node_proto_msgTypes[145] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14785,70 +14637,41 @@ func (x *FeeratesOnchainFeeEstimates) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FeeratesOnchainFeeEstimates.ProtoReflect.Descriptor instead. -func (*FeeratesOnchainFeeEstimates) Descriptor() ([]byte, []int) { +// Deprecated: Use ListpeerchannelsChannelsFeerate.ProtoReflect.Descriptor instead. +func (*ListpeerchannelsChannelsFeerate) Descriptor() ([]byte, []int) { return file_node_proto_rawDescGZIP(), []int{145} } -func (x *FeeratesOnchainFeeEstimates) GetOpeningChannelSatoshis() uint64 { - if x != nil { - return x.OpeningChannelSatoshis - } - return 0 -} - -func (x *FeeratesOnchainFeeEstimates) GetMutualCloseSatoshis() uint64 { - if x != nil { - return x.MutualCloseSatoshis - } - return 0 -} - -func (x *FeeratesOnchainFeeEstimates) GetUnilateralCloseSatoshis() uint64 { - if x != nil { - return x.UnilateralCloseSatoshis - } - return 0 -} - -func (x *FeeratesOnchainFeeEstimates) GetUnilateralCloseNonanchorSatoshis() uint64 { - if x != nil && x.UnilateralCloseNonanchorSatoshis != nil { - return *x.UnilateralCloseNonanchorSatoshis - } - return 0 -} - -func (x *FeeratesOnchainFeeEstimates) GetHtlcTimeoutSatoshis() uint64 { +func (x *ListpeerchannelsChannelsFeerate) GetPerkw() uint32 { if x != nil { - return x.HtlcTimeoutSatoshis + return x.Perkw } return 0 } -func (x *FeeratesOnchainFeeEstimates) GetHtlcSuccessSatoshis() uint64 { +func (x *ListpeerchannelsChannelsFeerate) GetPerkb() uint32 { if x != nil { - return x.HtlcSuccessSatoshis + return x.Perkb } return 0 } -type FetchinvoiceRequest struct { +type ListpeerchannelsChannelsInflight struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Offer string `protobuf:"bytes,1,opt,name=offer,proto3" json:"offer,omitempty"` - AmountMsat *Amount `protobuf:"bytes,2,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - Quantity *uint64 `protobuf:"varint,3,opt,name=quantity,proto3,oneof" json:"quantity,omitempty"` - RecurrenceCounter *uint64 `protobuf:"varint,4,opt,name=recurrence_counter,json=recurrenceCounter,proto3,oneof" json:"recurrence_counter,omitempty"` - RecurrenceStart *float64 `protobuf:"fixed64,5,opt,name=recurrence_start,json=recurrenceStart,proto3,oneof" json:"recurrence_start,omitempty"` - RecurrenceLabel *string `protobuf:"bytes,6,opt,name=recurrence_label,json=recurrenceLabel,proto3,oneof" json:"recurrence_label,omitempty"` - Timeout *float64 `protobuf:"fixed64,7,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"` - PayerNote *string `protobuf:"bytes,8,opt,name=payer_note,json=payerNote,proto3,oneof" json:"payer_note,omitempty"` + FundingTxid []byte `protobuf:"bytes,1,opt,name=funding_txid,json=fundingTxid,proto3" json:"funding_txid,omitempty"` + FundingOutnum uint32 `protobuf:"varint,2,opt,name=funding_outnum,json=fundingOutnum,proto3" json:"funding_outnum,omitempty"` + Feerate string `protobuf:"bytes,3,opt,name=feerate,proto3" json:"feerate,omitempty"` + TotalFundingMsat *Amount `protobuf:"bytes,4,opt,name=total_funding_msat,json=totalFundingMsat,proto3" json:"total_funding_msat,omitempty"` + OurFundingMsat *Amount `protobuf:"bytes,5,opt,name=our_funding_msat,json=ourFundingMsat,proto3" json:"our_funding_msat,omitempty"` + ScratchTxid []byte `protobuf:"bytes,6,opt,name=scratch_txid,json=scratchTxid,proto3,oneof" json:"scratch_txid,omitempty"` + SpliceAmount *int64 `protobuf:"zigzag64,7,opt,name=splice_amount,json=spliceAmount,proto3,oneof" json:"splice_amount,omitempty"` } -func (x *FetchinvoiceRequest) Reset() { - *x = FetchinvoiceRequest{} +func (x *ListpeerchannelsChannelsInflight) Reset() { + *x = ListpeerchannelsChannelsInflight{} if protoimpl.UnsafeEnabled { mi := &file_node_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14856,13 +14679,13 @@ func (x *FetchinvoiceRequest) Reset() { } } -func (x *FetchinvoiceRequest) String() string { +func (x *ListpeerchannelsChannelsInflight) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FetchinvoiceRequest) ProtoMessage() {} +func (*ListpeerchannelsChannelsInflight) ProtoMessage() {} -func (x *FetchinvoiceRequest) ProtoReflect() protoreflect.Message { +func (x *ListpeerchannelsChannelsInflight) ProtoReflect() protoreflect.Message { mi := &file_node_proto_msgTypes[146] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14874,79 +14697,74 @@ func (x *FetchinvoiceRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FetchinvoiceRequest.ProtoReflect.Descriptor instead. -func (*FetchinvoiceRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListpeerchannelsChannelsInflight.ProtoReflect.Descriptor instead. +func (*ListpeerchannelsChannelsInflight) Descriptor() ([]byte, []int) { return file_node_proto_rawDescGZIP(), []int{146} } -func (x *FetchinvoiceRequest) GetOffer() string { - if x != nil { - return x.Offer - } - return "" -} - -func (x *FetchinvoiceRequest) GetAmountMsat() *Amount { +func (x *ListpeerchannelsChannelsInflight) GetFundingTxid() []byte { if x != nil { - return x.AmountMsat + return x.FundingTxid } return nil } -func (x *FetchinvoiceRequest) GetQuantity() uint64 { - if x != nil && x.Quantity != nil { - return *x.Quantity +func (x *ListpeerchannelsChannelsInflight) GetFundingOutnum() uint32 { + if x != nil { + return x.FundingOutnum } return 0 } -func (x *FetchinvoiceRequest) GetRecurrenceCounter() uint64 { - if x != nil && x.RecurrenceCounter != nil { - return *x.RecurrenceCounter +func (x *ListpeerchannelsChannelsInflight) GetFeerate() string { + if x != nil { + return x.Feerate } - return 0 + return "" } -func (x *FetchinvoiceRequest) GetRecurrenceStart() float64 { - if x != nil && x.RecurrenceStart != nil { - return *x.RecurrenceStart +func (x *ListpeerchannelsChannelsInflight) GetTotalFundingMsat() *Amount { + if x != nil { + return x.TotalFundingMsat } - return 0 + return nil } -func (x *FetchinvoiceRequest) GetRecurrenceLabel() string { - if x != nil && x.RecurrenceLabel != nil { - return *x.RecurrenceLabel +func (x *ListpeerchannelsChannelsInflight) GetOurFundingMsat() *Amount { + if x != nil { + return x.OurFundingMsat } - return "" + return nil } -func (x *FetchinvoiceRequest) GetTimeout() float64 { - if x != nil && x.Timeout != nil { - return *x.Timeout +func (x *ListpeerchannelsChannelsInflight) GetScratchTxid() []byte { + if x != nil { + return x.ScratchTxid } - return 0 + return nil } -func (x *FetchinvoiceRequest) GetPayerNote() string { - if x != nil && x.PayerNote != nil { - return *x.PayerNote +func (x *ListpeerchannelsChannelsInflight) GetSpliceAmount() int64 { + if x != nil && x.SpliceAmount != nil { + return *x.SpliceAmount } - return "" + return 0 } -type FetchinvoiceResponse struct { +type ListpeerchannelsChannelsFunding struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Invoice string `protobuf:"bytes,1,opt,name=invoice,proto3" json:"invoice,omitempty"` - Changes *FetchinvoiceChanges `protobuf:"bytes,2,opt,name=changes,proto3" json:"changes,omitempty"` - NextPeriod *FetchinvoiceNextPeriod `protobuf:"bytes,3,opt,name=next_period,json=nextPeriod,proto3,oneof" json:"next_period,omitempty"` + PushedMsat *Amount `protobuf:"bytes,1,opt,name=pushed_msat,json=pushedMsat,proto3,oneof" json:"pushed_msat,omitempty"` + LocalFundsMsat *Amount `protobuf:"bytes,2,opt,name=local_funds_msat,json=localFundsMsat,proto3" json:"local_funds_msat,omitempty"` + RemoteFundsMsat *Amount `protobuf:"bytes,3,opt,name=remote_funds_msat,json=remoteFundsMsat,proto3" json:"remote_funds_msat,omitempty"` + FeePaidMsat *Amount `protobuf:"bytes,4,opt,name=fee_paid_msat,json=feePaidMsat,proto3,oneof" json:"fee_paid_msat,omitempty"` + FeeRcvdMsat *Amount `protobuf:"bytes,5,opt,name=fee_rcvd_msat,json=feeRcvdMsat,proto3,oneof" json:"fee_rcvd_msat,omitempty"` } -func (x *FetchinvoiceResponse) Reset() { - *x = FetchinvoiceResponse{} +func (x *ListpeerchannelsChannelsFunding) Reset() { + *x = ListpeerchannelsChannelsFunding{} if protoimpl.UnsafeEnabled { mi := &file_node_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14954,13 +14772,13 @@ func (x *FetchinvoiceResponse) Reset() { } } -func (x *FetchinvoiceResponse) String() string { +func (x *ListpeerchannelsChannelsFunding) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FetchinvoiceResponse) ProtoMessage() {} +func (*ListpeerchannelsChannelsFunding) ProtoMessage() {} -func (x *FetchinvoiceResponse) ProtoReflect() protoreflect.Message { +func (x *ListpeerchannelsChannelsFunding) ProtoReflect() protoreflect.Message { mi := &file_node_proto_msgTypes[147] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -14972,46 +14790,57 @@ func (x *FetchinvoiceResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FetchinvoiceResponse.ProtoReflect.Descriptor instead. -func (*FetchinvoiceResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use ListpeerchannelsChannelsFunding.ProtoReflect.Descriptor instead. +func (*ListpeerchannelsChannelsFunding) Descriptor() ([]byte, []int) { return file_node_proto_rawDescGZIP(), []int{147} } -func (x *FetchinvoiceResponse) GetInvoice() string { +func (x *ListpeerchannelsChannelsFunding) GetPushedMsat() *Amount { if x != nil { - return x.Invoice + return x.PushedMsat } - return "" + return nil } -func (x *FetchinvoiceResponse) GetChanges() *FetchinvoiceChanges { +func (x *ListpeerchannelsChannelsFunding) GetLocalFundsMsat() *Amount { if x != nil { - return x.Changes + return x.LocalFundsMsat } return nil } -func (x *FetchinvoiceResponse) GetNextPeriod() *FetchinvoiceNextPeriod { +func (x *ListpeerchannelsChannelsFunding) GetRemoteFundsMsat() *Amount { if x != nil { - return x.NextPeriod + return x.RemoteFundsMsat } return nil } -type FetchinvoiceChanges struct { +func (x *ListpeerchannelsChannelsFunding) GetFeePaidMsat() *Amount { + if x != nil { + return x.FeePaidMsat + } + return nil +} + +func (x *ListpeerchannelsChannelsFunding) GetFeeRcvdMsat() *Amount { + if x != nil { + return x.FeeRcvdMsat + } + return nil +} + +type ListpeerchannelsChannelsAlias struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - DescriptionAppended *string `protobuf:"bytes,1,opt,name=description_appended,json=descriptionAppended,proto3,oneof" json:"description_appended,omitempty"` - Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"` - VendorRemoved *string `protobuf:"bytes,3,opt,name=vendor_removed,json=vendorRemoved,proto3,oneof" json:"vendor_removed,omitempty"` - Vendor *string `protobuf:"bytes,4,opt,name=vendor,proto3,oneof" json:"vendor,omitempty"` - AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Local *string `protobuf:"bytes,1,opt,name=local,proto3,oneof" json:"local,omitempty"` + Remote *string `protobuf:"bytes,2,opt,name=remote,proto3,oneof" json:"remote,omitempty"` } -func (x *FetchinvoiceChanges) Reset() { - *x = FetchinvoiceChanges{} +func (x *ListpeerchannelsChannelsAlias) Reset() { + *x = ListpeerchannelsChannelsAlias{} if protoimpl.UnsafeEnabled { mi := &file_node_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -15019,13 +14848,13 @@ func (x *FetchinvoiceChanges) Reset() { } } -func (x *FetchinvoiceChanges) String() string { +func (x *ListpeerchannelsChannelsAlias) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FetchinvoiceChanges) ProtoMessage() {} +func (*ListpeerchannelsChannelsAlias) ProtoMessage() {} -func (x *FetchinvoiceChanges) ProtoReflect() protoreflect.Message { +func (x *ListpeerchannelsChannelsAlias) ProtoReflect() protoreflect.Message { mi := &file_node_proto_msgTypes[148] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -15037,60 +14866,42 @@ func (x *FetchinvoiceChanges) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FetchinvoiceChanges.ProtoReflect.Descriptor instead. -func (*FetchinvoiceChanges) Descriptor() ([]byte, []int) { +// Deprecated: Use ListpeerchannelsChannelsAlias.ProtoReflect.Descriptor instead. +func (*ListpeerchannelsChannelsAlias) Descriptor() ([]byte, []int) { return file_node_proto_rawDescGZIP(), []int{148} } -func (x *FetchinvoiceChanges) GetDescriptionAppended() string { - if x != nil && x.DescriptionAppended != nil { - return *x.DescriptionAppended - } - return "" -} - -func (x *FetchinvoiceChanges) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -func (x *FetchinvoiceChanges) GetVendorRemoved() string { - if x != nil && x.VendorRemoved != nil { - return *x.VendorRemoved +func (x *ListpeerchannelsChannelsAlias) GetLocal() string { + if x != nil && x.Local != nil { + return *x.Local } return "" } -func (x *FetchinvoiceChanges) GetVendor() string { - if x != nil && x.Vendor != nil { - return *x.Vendor +func (x *ListpeerchannelsChannelsAlias) GetRemote() string { + if x != nil && x.Remote != nil { + return *x.Remote } return "" } -func (x *FetchinvoiceChanges) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat - } - return nil -} - -type FetchinvoiceNextPeriod struct { +type ListpeerchannelsChannelsHtlcs struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Counter uint64 `protobuf:"varint,1,opt,name=counter,proto3" json:"counter,omitempty"` - Starttime uint64 `protobuf:"varint,2,opt,name=starttime,proto3" json:"starttime,omitempty"` - Endtime uint64 `protobuf:"varint,3,opt,name=endtime,proto3" json:"endtime,omitempty"` - PaywindowStart uint64 `protobuf:"varint,4,opt,name=paywindow_start,json=paywindowStart,proto3" json:"paywindow_start,omitempty"` - PaywindowEnd uint64 `protobuf:"varint,5,opt,name=paywindow_end,json=paywindowEnd,proto3" json:"paywindow_end,omitempty"` + Direction ListpeerchannelsChannelsHtlcs_ListpeerchannelsChannelsHtlcsDirection `protobuf:"varint,1,opt,name=direction,proto3,enum=cln.ListpeerchannelsChannelsHtlcs_ListpeerchannelsChannelsHtlcsDirection" json:"direction,omitempty"` + Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` + AmountMsat *Amount `protobuf:"bytes,3,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` + Expiry uint32 `protobuf:"varint,4,opt,name=expiry,proto3" json:"expiry,omitempty"` + PaymentHash []byte `protobuf:"bytes,5,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + LocalTrimmed *bool `protobuf:"varint,6,opt,name=local_trimmed,json=localTrimmed,proto3,oneof" json:"local_trimmed,omitempty"` + Status *string `protobuf:"bytes,7,opt,name=status,proto3,oneof" json:"status,omitempty"` + State HtlcState `protobuf:"varint,8,opt,name=state,proto3,enum=cln.HtlcState" json:"state,omitempty"` } -func (x *FetchinvoiceNextPeriod) Reset() { - *x = FetchinvoiceNextPeriod{} +func (x *ListpeerchannelsChannelsHtlcs) Reset() { + *x = ListpeerchannelsChannelsHtlcs{} if protoimpl.UnsafeEnabled { mi := &file_node_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -15098,13 +14909,13 @@ func (x *FetchinvoiceNextPeriod) Reset() { } } -func (x *FetchinvoiceNextPeriod) String() string { +func (x *ListpeerchannelsChannelsHtlcs) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FetchinvoiceNextPeriod) ProtoMessage() {} +func (*ListpeerchannelsChannelsHtlcs) ProtoMessage() {} -func (x *FetchinvoiceNextPeriod) ProtoReflect() protoreflect.Message { +func (x *ListpeerchannelsChannelsHtlcs) ProtoReflect() protoreflect.Message { mi := &file_node_proto_msgTypes[149] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -15116,68 +14927,77 @@ func (x *FetchinvoiceNextPeriod) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FetchinvoiceNextPeriod.ProtoReflect.Descriptor instead. -func (*FetchinvoiceNextPeriod) Descriptor() ([]byte, []int) { +// Deprecated: Use ListpeerchannelsChannelsHtlcs.ProtoReflect.Descriptor instead. +func (*ListpeerchannelsChannelsHtlcs) Descriptor() ([]byte, []int) { return file_node_proto_rawDescGZIP(), []int{149} } -func (x *FetchinvoiceNextPeriod) GetCounter() uint64 { +func (x *ListpeerchannelsChannelsHtlcs) GetDirection() ListpeerchannelsChannelsHtlcs_ListpeerchannelsChannelsHtlcsDirection { if x != nil { - return x.Counter + return x.Direction } - return 0 + return ListpeerchannelsChannelsHtlcs_IN } -func (x *FetchinvoiceNextPeriod) GetStarttime() uint64 { +func (x *ListpeerchannelsChannelsHtlcs) GetId() uint64 { if x != nil { - return x.Starttime + return x.Id } return 0 } -func (x *FetchinvoiceNextPeriod) GetEndtime() uint64 { +func (x *ListpeerchannelsChannelsHtlcs) GetAmountMsat() *Amount { if x != nil { - return x.Endtime + return x.AmountMsat } - return 0 + return nil } -func (x *FetchinvoiceNextPeriod) GetPaywindowStart() uint64 { +func (x *ListpeerchannelsChannelsHtlcs) GetExpiry() uint32 { if x != nil { - return x.PaywindowStart + return x.Expiry } return 0 } -func (x *FetchinvoiceNextPeriod) GetPaywindowEnd() uint64 { +func (x *ListpeerchannelsChannelsHtlcs) GetPaymentHash() []byte { if x != nil { - return x.PaywindowEnd + return x.PaymentHash } - return 0 + return nil } -type FundchannelRequest struct { +func (x *ListpeerchannelsChannelsHtlcs) GetLocalTrimmed() bool { + if x != nil && x.LocalTrimmed != nil { + return *x.LocalTrimmed + } + return false +} + +func (x *ListpeerchannelsChannelsHtlcs) GetStatus() string { + if x != nil && x.Status != nil { + return *x.Status + } + return "" +} + +func (x *ListpeerchannelsChannelsHtlcs) GetState() HtlcState { + if x != nil { + return x.State + } + return HtlcState_SentAddHtlc +} + +type ListclosedchannelsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id []byte `protobuf:"bytes,9,opt,name=id,proto3" json:"id,omitempty"` - Amount *AmountOrAll `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` - Feerate *Feerate `protobuf:"bytes,2,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` - Announce *bool `protobuf:"varint,3,opt,name=announce,proto3,oneof" json:"announce,omitempty"` - Minconf *uint32 `protobuf:"varint,10,opt,name=minconf,proto3,oneof" json:"minconf,omitempty"` - PushMsat *Amount `protobuf:"bytes,5,opt,name=push_msat,json=pushMsat,proto3,oneof" json:"push_msat,omitempty"` - CloseTo *string `protobuf:"bytes,6,opt,name=close_to,json=closeTo,proto3,oneof" json:"close_to,omitempty"` - RequestAmt *Amount `protobuf:"bytes,7,opt,name=request_amt,json=requestAmt,proto3,oneof" json:"request_amt,omitempty"` - CompactLease *string `protobuf:"bytes,8,opt,name=compact_lease,json=compactLease,proto3,oneof" json:"compact_lease,omitempty"` - Utxos []*Outpoint `protobuf:"bytes,11,rep,name=utxos,proto3" json:"utxos,omitempty"` - Mindepth *uint32 `protobuf:"varint,12,opt,name=mindepth,proto3,oneof" json:"mindepth,omitempty"` - Reserve *Amount `protobuf:"bytes,13,opt,name=reserve,proto3,oneof" json:"reserve,omitempty"` - ChannelType []uint32 `protobuf:"varint,14,rep,packed,name=channel_type,json=channelType,proto3" json:"channel_type,omitempty"` + Id []byte `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` } -func (x *FundchannelRequest) Reset() { - *x = FundchannelRequest{} +func (x *ListclosedchannelsRequest) Reset() { + *x = ListclosedchannelsRequest{} if protoimpl.UnsafeEnabled { mi := &file_node_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -15185,13 +15005,13 @@ func (x *FundchannelRequest) Reset() { } } -func (x *FundchannelRequest) String() string { +func (x *ListclosedchannelsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FundchannelRequest) ProtoMessage() {} +func (*ListclosedchannelsRequest) ProtoMessage() {} -func (x *FundchannelRequest) ProtoReflect() protoreflect.Message { +func (x *ListclosedchannelsRequest) ProtoReflect() protoreflect.Message { mi := &file_node_proto_msgTypes[150] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -15203,133 +15023,113 @@ func (x *FundchannelRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FundchannelRequest.ProtoReflect.Descriptor instead. -func (*FundchannelRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ListclosedchannelsRequest.ProtoReflect.Descriptor instead. +func (*ListclosedchannelsRequest) Descriptor() ([]byte, []int) { return file_node_proto_rawDescGZIP(), []int{150} } -func (x *FundchannelRequest) GetId() []byte { +func (x *ListclosedchannelsRequest) GetId() []byte { if x != nil { return x.Id } return nil } -func (x *FundchannelRequest) GetAmount() *AmountOrAll { - if x != nil { - return x.Amount - } - return nil -} +type ListclosedchannelsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields -func (x *FundchannelRequest) GetFeerate() *Feerate { - if x != nil { - return x.Feerate - } - return nil + Closedchannels []*ListclosedchannelsClosedchannels `protobuf:"bytes,1,rep,name=closedchannels,proto3" json:"closedchannels,omitempty"` } -func (x *FundchannelRequest) GetAnnounce() bool { - if x != nil && x.Announce != nil { - return *x.Announce +func (x *ListclosedchannelsResponse) Reset() { + *x = ListclosedchannelsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[151] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } - return false } -func (x *FundchannelRequest) GetMinconf() uint32 { - if x != nil && x.Minconf != nil { - return *x.Minconf - } - return 0 -} - -func (x *FundchannelRequest) GetPushMsat() *Amount { - if x != nil { - return x.PushMsat - } - return nil -} - -func (x *FundchannelRequest) GetCloseTo() string { - if x != nil && x.CloseTo != nil { - return *x.CloseTo - } - return "" -} - -func (x *FundchannelRequest) GetRequestAmt() *Amount { - if x != nil { - return x.RequestAmt - } - return nil -} - -func (x *FundchannelRequest) GetCompactLease() string { - if x != nil && x.CompactLease != nil { - return *x.CompactLease - } - return "" +func (x *ListclosedchannelsResponse) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *FundchannelRequest) GetUtxos() []*Outpoint { - if x != nil { - return x.Utxos - } - return nil -} +func (*ListclosedchannelsResponse) ProtoMessage() {} -func (x *FundchannelRequest) GetMindepth() uint32 { - if x != nil && x.Mindepth != nil { - return *x.Mindepth +func (x *ListclosedchannelsResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[151] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } - return 0 + return mi.MessageOf(x) } -func (x *FundchannelRequest) GetReserve() *Amount { - if x != nil { - return x.Reserve - } - return nil +// Deprecated: Use ListclosedchannelsResponse.ProtoReflect.Descriptor instead. +func (*ListclosedchannelsResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{151} } -func (x *FundchannelRequest) GetChannelType() []uint32 { +func (x *ListclosedchannelsResponse) GetClosedchannels() []*ListclosedchannelsClosedchannels { if x != nil { - return x.ChannelType + return x.Closedchannels } return nil } -type FundchannelResponse struct { +type ListclosedchannelsClosedchannels struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` - Txid []byte `protobuf:"bytes,2,opt,name=txid,proto3" json:"txid,omitempty"` - Outnum uint32 `protobuf:"varint,3,opt,name=outnum,proto3" json:"outnum,omitempty"` - ChannelId []byte `protobuf:"bytes,4,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` - ChannelType *FundchannelChannelType `protobuf:"bytes,7,opt,name=channel_type,json=channelType,proto3,oneof" json:"channel_type,omitempty"` - CloseTo []byte `protobuf:"bytes,5,opt,name=close_to,json=closeTo,proto3,oneof" json:"close_to,omitempty"` - Mindepth *uint32 `protobuf:"varint,6,opt,name=mindepth,proto3,oneof" json:"mindepth,omitempty"` + PeerId []byte `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3,oneof" json:"peer_id,omitempty"` + ChannelId []byte `protobuf:"bytes,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + ShortChannelId *string `protobuf:"bytes,3,opt,name=short_channel_id,json=shortChannelId,proto3,oneof" json:"short_channel_id,omitempty"` + Alias *ListclosedchannelsClosedchannelsAlias `protobuf:"bytes,4,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + Opener ChannelSide `protobuf:"varint,5,opt,name=opener,proto3,enum=cln.ChannelSide" json:"opener,omitempty"` + Closer *ChannelSide `protobuf:"varint,6,opt,name=closer,proto3,enum=cln.ChannelSide,oneof" json:"closer,omitempty"` + Private bool `protobuf:"varint,7,opt,name=private,proto3" json:"private,omitempty"` + TotalLocalCommitments uint64 `protobuf:"varint,9,opt,name=total_local_commitments,json=totalLocalCommitments,proto3" json:"total_local_commitments,omitempty"` + TotalRemoteCommitments uint64 `protobuf:"varint,10,opt,name=total_remote_commitments,json=totalRemoteCommitments,proto3" json:"total_remote_commitments,omitempty"` + TotalHtlcsSent uint64 `protobuf:"varint,11,opt,name=total_htlcs_sent,json=totalHtlcsSent,proto3" json:"total_htlcs_sent,omitempty"` + FundingTxid []byte `protobuf:"bytes,12,opt,name=funding_txid,json=fundingTxid,proto3" json:"funding_txid,omitempty"` + FundingOutnum uint32 `protobuf:"varint,13,opt,name=funding_outnum,json=fundingOutnum,proto3" json:"funding_outnum,omitempty"` + Leased bool `protobuf:"varint,14,opt,name=leased,proto3" json:"leased,omitempty"` + FundingFeePaidMsat *Amount `protobuf:"bytes,15,opt,name=funding_fee_paid_msat,json=fundingFeePaidMsat,proto3,oneof" json:"funding_fee_paid_msat,omitempty"` + FundingFeeRcvdMsat *Amount `protobuf:"bytes,16,opt,name=funding_fee_rcvd_msat,json=fundingFeeRcvdMsat,proto3,oneof" json:"funding_fee_rcvd_msat,omitempty"` + FundingPushedMsat *Amount `protobuf:"bytes,17,opt,name=funding_pushed_msat,json=fundingPushedMsat,proto3,oneof" json:"funding_pushed_msat,omitempty"` + TotalMsat *Amount `protobuf:"bytes,18,opt,name=total_msat,json=totalMsat,proto3" json:"total_msat,omitempty"` + FinalToUsMsat *Amount `protobuf:"bytes,19,opt,name=final_to_us_msat,json=finalToUsMsat,proto3" json:"final_to_us_msat,omitempty"` + MinToUsMsat *Amount `protobuf:"bytes,20,opt,name=min_to_us_msat,json=minToUsMsat,proto3" json:"min_to_us_msat,omitempty"` + MaxToUsMsat *Amount `protobuf:"bytes,21,opt,name=max_to_us_msat,json=maxToUsMsat,proto3" json:"max_to_us_msat,omitempty"` + LastCommitmentTxid []byte `protobuf:"bytes,22,opt,name=last_commitment_txid,json=lastCommitmentTxid,proto3,oneof" json:"last_commitment_txid,omitempty"` + LastCommitmentFeeMsat *Amount `protobuf:"bytes,23,opt,name=last_commitment_fee_msat,json=lastCommitmentFeeMsat,proto3,oneof" json:"last_commitment_fee_msat,omitempty"` + CloseCause ListclosedchannelsClosedchannels_ListclosedchannelsClosedchannelsCloseCause `protobuf:"varint,24,opt,name=close_cause,json=closeCause,proto3,enum=cln.ListclosedchannelsClosedchannels_ListclosedchannelsClosedchannelsCloseCause" json:"close_cause,omitempty"` + LastStableConnection *uint64 `protobuf:"varint,25,opt,name=last_stable_connection,json=lastStableConnection,proto3,oneof" json:"last_stable_connection,omitempty"` } -func (x *FundchannelResponse) Reset() { - *x = FundchannelResponse{} +func (x *ListclosedchannelsClosedchannels) Reset() { + *x = ListclosedchannelsClosedchannels{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[151] + mi := &file_node_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *FundchannelResponse) String() string { +func (x *ListclosedchannelsClosedchannels) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FundchannelResponse) ProtoMessage() {} +func (*ListclosedchannelsClosedchannels) ProtoMessage() {} -func (x *FundchannelResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[151] +func (x *ListclosedchannelsClosedchannels) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[152] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15340,243 +15140,205 @@ func (x *FundchannelResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FundchannelResponse.ProtoReflect.Descriptor instead. -func (*FundchannelResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{151} +// Deprecated: Use ListclosedchannelsClosedchannels.ProtoReflect.Descriptor instead. +func (*ListclosedchannelsClosedchannels) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{152} } -func (x *FundchannelResponse) GetTx() []byte { +func (x *ListclosedchannelsClosedchannels) GetPeerId() []byte { if x != nil { - return x.Tx + return x.PeerId } return nil } -func (x *FundchannelResponse) GetTxid() []byte { +func (x *ListclosedchannelsClosedchannels) GetChannelId() []byte { if x != nil { - return x.Txid + return x.ChannelId } return nil } -func (x *FundchannelResponse) GetOutnum() uint32 { - if x != nil { - return x.Outnum +func (x *ListclosedchannelsClosedchannels) GetShortChannelId() string { + if x != nil && x.ShortChannelId != nil { + return *x.ShortChannelId } - return 0 + return "" } -func (x *FundchannelResponse) GetChannelId() []byte { +func (x *ListclosedchannelsClosedchannels) GetAlias() *ListclosedchannelsClosedchannelsAlias { if x != nil { - return x.ChannelId + return x.Alias } return nil } -func (x *FundchannelResponse) GetChannelType() *FundchannelChannelType { +func (x *ListclosedchannelsClosedchannels) GetOpener() ChannelSide { if x != nil { - return x.ChannelType + return x.Opener } - return nil + return ChannelSide_LOCAL } -func (x *FundchannelResponse) GetCloseTo() []byte { +func (x *ListclosedchannelsClosedchannels) GetCloser() ChannelSide { + if x != nil && x.Closer != nil { + return *x.Closer + } + return ChannelSide_LOCAL +} + +func (x *ListclosedchannelsClosedchannels) GetPrivate() bool { if x != nil { - return x.CloseTo + return x.Private } - return nil + return false } -func (x *FundchannelResponse) GetMindepth() uint32 { - if x != nil && x.Mindepth != nil { - return *x.Mindepth +func (x *ListclosedchannelsClosedchannels) GetTotalLocalCommitments() uint64 { + if x != nil { + return x.TotalLocalCommitments } return 0 } -type FundchannelChannelType struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Bits []uint32 `protobuf:"varint,1,rep,packed,name=bits,proto3" json:"bits,omitempty"` - Names []ChannelTypeName `protobuf:"varint,2,rep,packed,name=names,proto3,enum=cln.ChannelTypeName" json:"names,omitempty"` +func (x *ListclosedchannelsClosedchannels) GetTotalRemoteCommitments() uint64 { + if x != nil { + return x.TotalRemoteCommitments + } + return 0 } -func (x *FundchannelChannelType) Reset() { - *x = FundchannelChannelType{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[152] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ListclosedchannelsClosedchannels) GetTotalHtlcsSent() uint64 { + if x != nil { + return x.TotalHtlcsSent } + return 0 } -func (x *FundchannelChannelType) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ListclosedchannelsClosedchannels) GetFundingTxid() []byte { + if x != nil { + return x.FundingTxid + } + return nil } -func (*FundchannelChannelType) ProtoMessage() {} - -func (x *FundchannelChannelType) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[152] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *ListclosedchannelsClosedchannels) GetFundingOutnum() uint32 { + if x != nil { + return x.FundingOutnum } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use FundchannelChannelType.ProtoReflect.Descriptor instead. -func (*FundchannelChannelType) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{152} +func (x *ListclosedchannelsClosedchannels) GetLeased() bool { + if x != nil { + return x.Leased + } + return false } -func (x *FundchannelChannelType) GetBits() []uint32 { +func (x *ListclosedchannelsClosedchannels) GetFundingFeePaidMsat() *Amount { if x != nil { - return x.Bits + return x.FundingFeePaidMsat } return nil } -func (x *FundchannelChannelType) GetNames() []ChannelTypeName { +func (x *ListclosedchannelsClosedchannels) GetFundingFeeRcvdMsat() *Amount { if x != nil { - return x.Names + return x.FundingFeeRcvdMsat } return nil } -type GetrouteRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - AmountMsat *Amount `protobuf:"bytes,9,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` - Riskfactor uint64 `protobuf:"varint,3,opt,name=riskfactor,proto3" json:"riskfactor,omitempty"` - Cltv *uint32 `protobuf:"varint,4,opt,name=cltv,proto3,oneof" json:"cltv,omitempty"` - Fromid []byte `protobuf:"bytes,5,opt,name=fromid,proto3,oneof" json:"fromid,omitempty"` - Fuzzpercent *uint32 `protobuf:"varint,6,opt,name=fuzzpercent,proto3,oneof" json:"fuzzpercent,omitempty"` - Exclude []string `protobuf:"bytes,7,rep,name=exclude,proto3" json:"exclude,omitempty"` - Maxhops *uint32 `protobuf:"varint,8,opt,name=maxhops,proto3,oneof" json:"maxhops,omitempty"` -} - -func (x *GetrouteRequest) Reset() { - *x = GetrouteRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[153] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *ListclosedchannelsClosedchannels) GetFundingPushedMsat() *Amount { + if x != nil { + return x.FundingPushedMsat } + return nil } -func (x *GetrouteRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *ListclosedchannelsClosedchannels) GetTotalMsat() *Amount { + if x != nil { + return x.TotalMsat + } + return nil } -func (*GetrouteRequest) ProtoMessage() {} - -func (x *GetrouteRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[153] - 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 GetrouteRequest.ProtoReflect.Descriptor instead. -func (*GetrouteRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{153} -} - -func (x *GetrouteRequest) GetId() []byte { +func (x *ListclosedchannelsClosedchannels) GetFinalToUsMsat() *Amount { if x != nil { - return x.Id + return x.FinalToUsMsat } return nil } -func (x *GetrouteRequest) GetAmountMsat() *Amount { +func (x *ListclosedchannelsClosedchannels) GetMinToUsMsat() *Amount { if x != nil { - return x.AmountMsat + return x.MinToUsMsat } return nil } -func (x *GetrouteRequest) GetRiskfactor() uint64 { +func (x *ListclosedchannelsClosedchannels) GetMaxToUsMsat() *Amount { if x != nil { - return x.Riskfactor - } - return 0 -} - -func (x *GetrouteRequest) GetCltv() uint32 { - if x != nil && x.Cltv != nil { - return *x.Cltv + return x.MaxToUsMsat } - return 0 + return nil } -func (x *GetrouteRequest) GetFromid() []byte { +func (x *ListclosedchannelsClosedchannels) GetLastCommitmentTxid() []byte { if x != nil { - return x.Fromid + return x.LastCommitmentTxid } return nil } -func (x *GetrouteRequest) GetFuzzpercent() uint32 { - if x != nil && x.Fuzzpercent != nil { - return *x.Fuzzpercent +func (x *ListclosedchannelsClosedchannels) GetLastCommitmentFeeMsat() *Amount { + if x != nil { + return x.LastCommitmentFeeMsat } - return 0 + return nil } -func (x *GetrouteRequest) GetExclude() []string { +func (x *ListclosedchannelsClosedchannels) GetCloseCause() ListclosedchannelsClosedchannels_ListclosedchannelsClosedchannelsCloseCause { if x != nil { - return x.Exclude + return x.CloseCause } - return nil + return ListclosedchannelsClosedchannels_UNKNOWN } -func (x *GetrouteRequest) GetMaxhops() uint32 { - if x != nil && x.Maxhops != nil { - return *x.Maxhops +func (x *ListclosedchannelsClosedchannels) GetLastStableConnection() uint64 { + if x != nil && x.LastStableConnection != nil { + return *x.LastStableConnection } return 0 } -type GetrouteResponse struct { +type ListclosedchannelsClosedchannelsAlias struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Route []*GetrouteRoute `protobuf:"bytes,1,rep,name=route,proto3" json:"route,omitempty"` + Local *string `protobuf:"bytes,1,opt,name=local,proto3,oneof" json:"local,omitempty"` + Remote *string `protobuf:"bytes,2,opt,name=remote,proto3,oneof" json:"remote,omitempty"` } -func (x *GetrouteResponse) Reset() { - *x = GetrouteResponse{} +func (x *ListclosedchannelsClosedchannelsAlias) Reset() { + *x = ListclosedchannelsClosedchannelsAlias{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[154] + mi := &file_node_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetrouteResponse) String() string { +func (x *ListclosedchannelsClosedchannelsAlias) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetrouteResponse) ProtoMessage() {} +func (*ListclosedchannelsClosedchannelsAlias) ProtoMessage() {} -func (x *GetrouteResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[154] +func (x *ListclosedchannelsClosedchannelsAlias) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[153] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15587,48 +15349,51 @@ func (x *GetrouteResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetrouteResponse.ProtoReflect.Descriptor instead. -func (*GetrouteResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{154} +// Deprecated: Use ListclosedchannelsClosedchannelsAlias.ProtoReflect.Descriptor instead. +func (*ListclosedchannelsClosedchannelsAlias) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{153} } -func (x *GetrouteResponse) GetRoute() []*GetrouteRoute { - if x != nil { - return x.Route +func (x *ListclosedchannelsClosedchannelsAlias) GetLocal() string { + if x != nil && x.Local != nil { + return *x.Local } - return nil + return "" } -type GetrouteRoute struct { +func (x *ListclosedchannelsClosedchannelsAlias) GetRemote() string { + if x != nil && x.Remote != nil { + return *x.Remote + } + return "" +} + +type DecodepayRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Channel string `protobuf:"bytes,2,opt,name=channel,proto3" json:"channel,omitempty"` - Direction uint32 `protobuf:"varint,3,opt,name=direction,proto3" json:"direction,omitempty"` - AmountMsat *Amount `protobuf:"bytes,4,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` - Delay uint32 `protobuf:"varint,5,opt,name=delay,proto3" json:"delay,omitempty"` - Style GetrouteRoute_GetrouteRouteStyle `protobuf:"varint,6,opt,name=style,proto3,enum=cln.GetrouteRoute_GetrouteRouteStyle" json:"style,omitempty"` + Bolt11 string `protobuf:"bytes,1,opt,name=bolt11,proto3" json:"bolt11,omitempty"` + Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"` } -func (x *GetrouteRoute) Reset() { - *x = GetrouteRoute{} +func (x *DecodepayRequest) Reset() { + *x = DecodepayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[155] + mi := &file_node_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *GetrouteRoute) String() string { +func (x *DecodepayRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetrouteRoute) ProtoMessage() {} +func (*DecodepayRequest) ProtoMessage() {} -func (x *GetrouteRoute) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[155] +func (x *DecodepayRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[154] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15639,83 +15404,65 @@ func (x *GetrouteRoute) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetrouteRoute.ProtoReflect.Descriptor instead. -func (*GetrouteRoute) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{155} -} - -func (x *GetrouteRoute) GetId() []byte { - if x != nil { - return x.Id - } - return nil +// Deprecated: Use DecodepayRequest.ProtoReflect.Descriptor instead. +func (*DecodepayRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{154} } -func (x *GetrouteRoute) GetChannel() string { +func (x *DecodepayRequest) GetBolt11() string { if x != nil { - return x.Channel + return x.Bolt11 } return "" } -func (x *GetrouteRoute) GetDirection() uint32 { - if x != nil { - return x.Direction - } - return 0 -} - -func (x *GetrouteRoute) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat - } - return nil -} - -func (x *GetrouteRoute) GetDelay() uint32 { - if x != nil { - return x.Delay - } - return 0 -} - -func (x *GetrouteRoute) GetStyle() GetrouteRoute_GetrouteRouteStyle { - if x != nil { - return x.Style +func (x *DecodepayRequest) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description } - return GetrouteRoute_TLV + return "" } -type ListforwardsRequest struct { +type DecodepayResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status *ListforwardsRequest_ListforwardsStatus `protobuf:"varint,1,opt,name=status,proto3,enum=cln.ListforwardsRequest_ListforwardsStatus,oneof" json:"status,omitempty"` - InChannel *string `protobuf:"bytes,2,opt,name=in_channel,json=inChannel,proto3,oneof" json:"in_channel,omitempty"` - OutChannel *string `protobuf:"bytes,3,opt,name=out_channel,json=outChannel,proto3,oneof" json:"out_channel,omitempty"` - Index *ListforwardsRequest_ListforwardsIndex `protobuf:"varint,4,opt,name=index,proto3,enum=cln.ListforwardsRequest_ListforwardsIndex,oneof" json:"index,omitempty"` - Start *uint64 `protobuf:"varint,5,opt,name=start,proto3,oneof" json:"start,omitempty"` - Limit *uint32 `protobuf:"varint,6,opt,name=limit,proto3,oneof" json:"limit,omitempty"` + Currency string `protobuf:"bytes,1,opt,name=currency,proto3" json:"currency,omitempty"` + CreatedAt uint64 `protobuf:"varint,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Expiry uint64 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` + Payee []byte `protobuf:"bytes,4,opt,name=payee,proto3" json:"payee,omitempty"` + AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + PaymentHash []byte `protobuf:"bytes,6,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Signature string `protobuf:"bytes,7,opt,name=signature,proto3" json:"signature,omitempty"` + Description *string `protobuf:"bytes,8,opt,name=description,proto3,oneof" json:"description,omitempty"` + DescriptionHash []byte `protobuf:"bytes,9,opt,name=description_hash,json=descriptionHash,proto3,oneof" json:"description_hash,omitempty"` + MinFinalCltvExpiry uint32 `protobuf:"varint,10,opt,name=min_final_cltv_expiry,json=minFinalCltvExpiry,proto3" json:"min_final_cltv_expiry,omitempty"` + PaymentSecret []byte `protobuf:"bytes,11,opt,name=payment_secret,json=paymentSecret,proto3,oneof" json:"payment_secret,omitempty"` + Features []byte `protobuf:"bytes,12,opt,name=features,proto3,oneof" json:"features,omitempty"` + PaymentMetadata []byte `protobuf:"bytes,13,opt,name=payment_metadata,json=paymentMetadata,proto3,oneof" json:"payment_metadata,omitempty"` + Fallbacks []*DecodepayFallbacks `protobuf:"bytes,14,rep,name=fallbacks,proto3" json:"fallbacks,omitempty"` + Extra []*DecodepayExtra `protobuf:"bytes,16,rep,name=extra,proto3" json:"extra,omitempty"` + Routes *DecodeRoutehintList `protobuf:"bytes,17,opt,name=routes,proto3,oneof" json:"routes,omitempty"` } -func (x *ListforwardsRequest) Reset() { - *x = ListforwardsRequest{} +func (x *DecodepayResponse) Reset() { + *x = DecodepayResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[156] + mi := &file_node_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListforwardsRequest) String() string { +func (x *DecodepayResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListforwardsRequest) ProtoMessage() {} +func (*DecodepayResponse) ProtoMessage() {} -func (x *ListforwardsRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[156] +func (x *DecodepayResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[155] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15726,261 +15473,150 @@ func (x *ListforwardsRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListforwardsRequest.ProtoReflect.Descriptor instead. -func (*ListforwardsRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{156} -} - -func (x *ListforwardsRequest) GetStatus() ListforwardsRequest_ListforwardsStatus { - if x != nil && x.Status != nil { - return *x.Status - } - return ListforwardsRequest_OFFERED +// Deprecated: Use DecodepayResponse.ProtoReflect.Descriptor instead. +func (*DecodepayResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{155} } -func (x *ListforwardsRequest) GetInChannel() string { - if x != nil && x.InChannel != nil { - return *x.InChannel +func (x *DecodepayResponse) GetCurrency() string { + if x != nil { + return x.Currency } return "" } -func (x *ListforwardsRequest) GetOutChannel() string { - if x != nil && x.OutChannel != nil { - return *x.OutChannel +func (x *DecodepayResponse) GetCreatedAt() uint64 { + if x != nil { + return x.CreatedAt } - return "" + return 0 } -func (x *ListforwardsRequest) GetIndex() ListforwardsRequest_ListforwardsIndex { - if x != nil && x.Index != nil { - return *x.Index +func (x *DecodepayResponse) GetExpiry() uint64 { + if x != nil { + return x.Expiry } - return ListforwardsRequest_CREATED + return 0 } -func (x *ListforwardsRequest) GetStart() uint64 { - if x != nil && x.Start != nil { - return *x.Start +func (x *DecodepayResponse) GetPayee() []byte { + if x != nil { + return x.Payee } - return 0 + return nil } -func (x *ListforwardsRequest) GetLimit() uint32 { - if x != nil && x.Limit != nil { - return *x.Limit - } - return 0 -} - -type ListforwardsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Forwards []*ListforwardsForwards `protobuf:"bytes,1,rep,name=forwards,proto3" json:"forwards,omitempty"` -} - -func (x *ListforwardsResponse) Reset() { - *x = ListforwardsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[157] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListforwardsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListforwardsResponse) ProtoMessage() {} - -func (x *ListforwardsResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[157] - 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 ListforwardsResponse.ProtoReflect.Descriptor instead. -func (*ListforwardsResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{157} -} - -func (x *ListforwardsResponse) GetForwards() []*ListforwardsForwards { +func (x *DecodepayResponse) GetAmountMsat() *Amount { if x != nil { - return x.Forwards + return x.AmountMsat } return nil } -type ListforwardsForwards struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CreatedIndex *uint64 `protobuf:"varint,12,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` - InChannel string `protobuf:"bytes,1,opt,name=in_channel,json=inChannel,proto3" json:"in_channel,omitempty"` - InHtlcId *uint64 `protobuf:"varint,10,opt,name=in_htlc_id,json=inHtlcId,proto3,oneof" json:"in_htlc_id,omitempty"` - InMsat *Amount `protobuf:"bytes,2,opt,name=in_msat,json=inMsat,proto3" json:"in_msat,omitempty"` - Status ListforwardsForwards_ListforwardsForwardsStatus `protobuf:"varint,3,opt,name=status,proto3,enum=cln.ListforwardsForwards_ListforwardsForwardsStatus" json:"status,omitempty"` - ReceivedTime float64 `protobuf:"fixed64,4,opt,name=received_time,json=receivedTime,proto3" json:"received_time,omitempty"` - OutChannel *string `protobuf:"bytes,5,opt,name=out_channel,json=outChannel,proto3,oneof" json:"out_channel,omitempty"` - OutHtlcId *uint64 `protobuf:"varint,11,opt,name=out_htlc_id,json=outHtlcId,proto3,oneof" json:"out_htlc_id,omitempty"` - UpdatedIndex *uint64 `protobuf:"varint,13,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` - Style *ListforwardsForwards_ListforwardsForwardsStyle `protobuf:"varint,9,opt,name=style,proto3,enum=cln.ListforwardsForwards_ListforwardsForwardsStyle,oneof" json:"style,omitempty"` - FeeMsat *Amount `protobuf:"bytes,7,opt,name=fee_msat,json=feeMsat,proto3,oneof" json:"fee_msat,omitempty"` - OutMsat *Amount `protobuf:"bytes,8,opt,name=out_msat,json=outMsat,proto3,oneof" json:"out_msat,omitempty"` -} - -func (x *ListforwardsForwards) Reset() { - *x = ListforwardsForwards{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[158] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListforwardsForwards) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListforwardsForwards) ProtoMessage() {} - -func (x *ListforwardsForwards) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[158] - 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 ListforwardsForwards.ProtoReflect.Descriptor instead. -func (*ListforwardsForwards) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{158} -} - -func (x *ListforwardsForwards) GetCreatedIndex() uint64 { - if x != nil && x.CreatedIndex != nil { - return *x.CreatedIndex +func (x *DecodepayResponse) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash } - return 0 + return nil } -func (x *ListforwardsForwards) GetInChannel() string { +func (x *DecodepayResponse) GetSignature() string { if x != nil { - return x.InChannel + return x.Signature } return "" } -func (x *ListforwardsForwards) GetInHtlcId() uint64 { - if x != nil && x.InHtlcId != nil { - return *x.InHtlcId +func (x *DecodepayResponse) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description } - return 0 + return "" } -func (x *ListforwardsForwards) GetInMsat() *Amount { +func (x *DecodepayResponse) GetDescriptionHash() []byte { if x != nil { - return x.InMsat + return x.DescriptionHash } return nil } -func (x *ListforwardsForwards) GetStatus() ListforwardsForwards_ListforwardsForwardsStatus { - if x != nil { - return x.Status - } - return ListforwardsForwards_OFFERED -} - -func (x *ListforwardsForwards) GetReceivedTime() float64 { +func (x *DecodepayResponse) GetMinFinalCltvExpiry() uint32 { if x != nil { - return x.ReceivedTime + return x.MinFinalCltvExpiry } return 0 } -func (x *ListforwardsForwards) GetOutChannel() string { - if x != nil && x.OutChannel != nil { - return *x.OutChannel +func (x *DecodepayResponse) GetPaymentSecret() []byte { + if x != nil { + return x.PaymentSecret } - return "" + return nil } -func (x *ListforwardsForwards) GetOutHtlcId() uint64 { - if x != nil && x.OutHtlcId != nil { - return *x.OutHtlcId +func (x *DecodepayResponse) GetFeatures() []byte { + if x != nil { + return x.Features } - return 0 + return nil } -func (x *ListforwardsForwards) GetUpdatedIndex() uint64 { - if x != nil && x.UpdatedIndex != nil { - return *x.UpdatedIndex +func (x *DecodepayResponse) GetPaymentMetadata() []byte { + if x != nil { + return x.PaymentMetadata } - return 0 + return nil } -func (x *ListforwardsForwards) GetStyle() ListforwardsForwards_ListforwardsForwardsStyle { - if x != nil && x.Style != nil { - return *x.Style +func (x *DecodepayResponse) GetFallbacks() []*DecodepayFallbacks { + if x != nil { + return x.Fallbacks } - return ListforwardsForwards_LEGACY + return nil } -func (x *ListforwardsForwards) GetFeeMsat() *Amount { +func (x *DecodepayResponse) GetExtra() []*DecodepayExtra { if x != nil { - return x.FeeMsat + return x.Extra } return nil } -func (x *ListforwardsForwards) GetOutMsat() *Amount { +func (x *DecodepayResponse) GetRoutes() *DecodeRoutehintList { if x != nil { - return x.OutMsat + return x.Routes } return nil } -type ListoffersRequest struct { +type DecodepayFallbacks struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OfferId []byte `protobuf:"bytes,1,opt,name=offer_id,json=offerId,proto3,oneof" json:"offer_id,omitempty"` - ActiveOnly *bool `protobuf:"varint,2,opt,name=active_only,json=activeOnly,proto3,oneof" json:"active_only,omitempty"` + ItemType DecodepayFallbacks_DecodepayFallbacksType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.DecodepayFallbacks_DecodepayFallbacksType" json:"item_type,omitempty"` + Addr *string `protobuf:"bytes,2,opt,name=addr,proto3,oneof" json:"addr,omitempty"` + Hex []byte `protobuf:"bytes,3,opt,name=hex,proto3" json:"hex,omitempty"` } -func (x *ListoffersRequest) Reset() { - *x = ListoffersRequest{} +func (x *DecodepayFallbacks) Reset() { + *x = DecodepayFallbacks{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[159] + mi := &file_node_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListoffersRequest) String() string { +func (x *DecodepayFallbacks) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListoffersRequest) ProtoMessage() {} +func (*DecodepayFallbacks) ProtoMessage() {} -func (x *ListoffersRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[159] +func (x *DecodepayFallbacks) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[156] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15991,50 +15627,58 @@ func (x *ListoffersRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListoffersRequest.ProtoReflect.Descriptor instead. -func (*ListoffersRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{159} +// Deprecated: Use DecodepayFallbacks.ProtoReflect.Descriptor instead. +func (*DecodepayFallbacks) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{156} } -func (x *ListoffersRequest) GetOfferId() []byte { +func (x *DecodepayFallbacks) GetItemType() DecodepayFallbacks_DecodepayFallbacksType { if x != nil { - return x.OfferId + return x.ItemType } - return nil + return DecodepayFallbacks_P2PKH } -func (x *ListoffersRequest) GetActiveOnly() bool { - if x != nil && x.ActiveOnly != nil { - return *x.ActiveOnly +func (x *DecodepayFallbacks) GetAddr() string { + if x != nil && x.Addr != nil { + return *x.Addr } - return false + return "" } -type ListoffersResponse struct { +func (x *DecodepayFallbacks) GetHex() []byte { + if x != nil { + return x.Hex + } + return nil +} + +type DecodepayExtra struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Offers []*ListoffersOffers `protobuf:"bytes,1,rep,name=offers,proto3" json:"offers,omitempty"` + Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` + Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } -func (x *ListoffersResponse) Reset() { - *x = ListoffersResponse{} +func (x *DecodepayExtra) Reset() { + *x = DecodepayExtra{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[160] + mi := &file_node_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListoffersResponse) String() string { +func (x *DecodepayExtra) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListoffersResponse) ProtoMessage() {} +func (*DecodepayExtra) ProtoMessage() {} -func (x *ListoffersResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[160] +func (x *DecodepayExtra) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[157] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16045,48 +15689,50 @@ func (x *ListoffersResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListoffersResponse.ProtoReflect.Descriptor instead. -func (*ListoffersResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{160} +// Deprecated: Use DecodepayExtra.ProtoReflect.Descriptor instead. +func (*DecodepayExtra) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{157} } -func (x *ListoffersResponse) GetOffers() []*ListoffersOffers { +func (x *DecodepayExtra) GetTag() string { if x != nil { - return x.Offers + return x.Tag } - return nil + return "" } -type ListoffersOffers struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *DecodepayExtra) GetData() string { + if x != nil { + return x.Data + } + return "" +} - OfferId []byte `protobuf:"bytes,1,opt,name=offer_id,json=offerId,proto3" json:"offer_id,omitempty"` - Active bool `protobuf:"varint,2,opt,name=active,proto3" json:"active,omitempty"` - SingleUse bool `protobuf:"varint,3,opt,name=single_use,json=singleUse,proto3" json:"single_use,omitempty"` - Bolt12 string `protobuf:"bytes,4,opt,name=bolt12,proto3" json:"bolt12,omitempty"` - Used bool `protobuf:"varint,5,opt,name=used,proto3" json:"used,omitempty"` - Label *string `protobuf:"bytes,6,opt,name=label,proto3,oneof" json:"label,omitempty"` +type DecodeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + String_ string `protobuf:"bytes,1,opt,name=string,proto3" json:"string,omitempty"` } -func (x *ListoffersOffers) Reset() { - *x = ListoffersOffers{} +func (x *DecodeRequest) Reset() { + *x = DecodeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[161] + mi := &file_node_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListoffersOffers) String() string { +func (x *DecodeRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListoffersOffers) ProtoMessage() {} +func (*DecodeRequest) ProtoMessage() {} -func (x *ListoffersOffers) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[161] +func (x *DecodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[158] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16097,80 +15743,118 @@ func (x *ListoffersOffers) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListoffersOffers.ProtoReflect.Descriptor instead. -func (*ListoffersOffers) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{161} -} - -func (x *ListoffersOffers) GetOfferId() []byte { - if x != nil { - return x.OfferId - } - return nil -} - -func (x *ListoffersOffers) GetActive() bool { - if x != nil { - return x.Active - } - return false -} - -func (x *ListoffersOffers) GetSingleUse() bool { - if x != nil { - return x.SingleUse - } - return false -} - -func (x *ListoffersOffers) GetBolt12() string { - if x != nil { - return x.Bolt12 - } - return "" +// Deprecated: Use DecodeRequest.ProtoReflect.Descriptor instead. +func (*DecodeRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{158} } -func (x *ListoffersOffers) GetUsed() bool { +func (x *DecodeRequest) GetString_() string { if x != nil { - return x.Used - } - return false -} - -func (x *ListoffersOffers) GetLabel() string { - if x != nil && x.Label != nil { - return *x.Label + return x.String_ } return "" } -type ListpaysRequest struct { +type DecodeResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Bolt11 *string `protobuf:"bytes,1,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` - PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3,oneof" json:"payment_hash,omitempty"` - Status *ListpaysRequest_ListpaysStatus `protobuf:"varint,3,opt,name=status,proto3,enum=cln.ListpaysRequest_ListpaysStatus,oneof" json:"status,omitempty"` + ItemType DecodeResponse_DecodeType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.DecodeResponse_DecodeType" json:"item_type,omitempty"` + Valid bool `protobuf:"varint,2,opt,name=valid,proto3" json:"valid,omitempty"` + OfferId []byte `protobuf:"bytes,3,opt,name=offer_id,json=offerId,proto3,oneof" json:"offer_id,omitempty"` + OfferChains [][]byte `protobuf:"bytes,4,rep,name=offer_chains,json=offerChains,proto3" json:"offer_chains,omitempty"` + OfferMetadata []byte `protobuf:"bytes,5,opt,name=offer_metadata,json=offerMetadata,proto3,oneof" json:"offer_metadata,omitempty"` + OfferCurrency *string `protobuf:"bytes,6,opt,name=offer_currency,json=offerCurrency,proto3,oneof" json:"offer_currency,omitempty"` + WarningUnknownOfferCurrency *string `protobuf:"bytes,7,opt,name=warning_unknown_offer_currency,json=warningUnknownOfferCurrency,proto3,oneof" json:"warning_unknown_offer_currency,omitempty"` + CurrencyMinorUnit *uint32 `protobuf:"varint,8,opt,name=currency_minor_unit,json=currencyMinorUnit,proto3,oneof" json:"currency_minor_unit,omitempty"` + OfferAmount *uint64 `protobuf:"varint,9,opt,name=offer_amount,json=offerAmount,proto3,oneof" json:"offer_amount,omitempty"` + OfferAmountMsat *Amount `protobuf:"bytes,10,opt,name=offer_amount_msat,json=offerAmountMsat,proto3,oneof" json:"offer_amount_msat,omitempty"` + OfferDescription *string `protobuf:"bytes,11,opt,name=offer_description,json=offerDescription,proto3,oneof" json:"offer_description,omitempty"` + OfferIssuer *string `protobuf:"bytes,12,opt,name=offer_issuer,json=offerIssuer,proto3,oneof" json:"offer_issuer,omitempty"` + OfferFeatures []byte `protobuf:"bytes,13,opt,name=offer_features,json=offerFeatures,proto3,oneof" json:"offer_features,omitempty"` + OfferAbsoluteExpiry *uint64 `protobuf:"varint,14,opt,name=offer_absolute_expiry,json=offerAbsoluteExpiry,proto3,oneof" json:"offer_absolute_expiry,omitempty"` + OfferQuantityMax *uint64 `protobuf:"varint,15,opt,name=offer_quantity_max,json=offerQuantityMax,proto3,oneof" json:"offer_quantity_max,omitempty"` + OfferPaths []*DecodeOfferPaths `protobuf:"bytes,16,rep,name=offer_paths,json=offerPaths,proto3" json:"offer_paths,omitempty"` + OfferNodeId []byte `protobuf:"bytes,17,opt,name=offer_node_id,json=offerNodeId,proto3,oneof" json:"offer_node_id,omitempty"` + WarningMissingOfferNodeId *string `protobuf:"bytes,20,opt,name=warning_missing_offer_node_id,json=warningMissingOfferNodeId,proto3,oneof" json:"warning_missing_offer_node_id,omitempty"` + WarningInvalidOfferDescription *string `protobuf:"bytes,21,opt,name=warning_invalid_offer_description,json=warningInvalidOfferDescription,proto3,oneof" json:"warning_invalid_offer_description,omitempty"` + WarningMissingOfferDescription *string `protobuf:"bytes,22,opt,name=warning_missing_offer_description,json=warningMissingOfferDescription,proto3,oneof" json:"warning_missing_offer_description,omitempty"` + WarningInvalidOfferCurrency *string `protobuf:"bytes,23,opt,name=warning_invalid_offer_currency,json=warningInvalidOfferCurrency,proto3,oneof" json:"warning_invalid_offer_currency,omitempty"` + WarningInvalidOfferIssuer *string `protobuf:"bytes,24,opt,name=warning_invalid_offer_issuer,json=warningInvalidOfferIssuer,proto3,oneof" json:"warning_invalid_offer_issuer,omitempty"` + InvreqMetadata []byte `protobuf:"bytes,25,opt,name=invreq_metadata,json=invreqMetadata,proto3,oneof" json:"invreq_metadata,omitempty"` + InvreqPayerId []byte `protobuf:"bytes,26,opt,name=invreq_payer_id,json=invreqPayerId,proto3,oneof" json:"invreq_payer_id,omitempty"` + InvreqChain []byte `protobuf:"bytes,27,opt,name=invreq_chain,json=invreqChain,proto3,oneof" json:"invreq_chain,omitempty"` + InvreqAmountMsat *Amount `protobuf:"bytes,28,opt,name=invreq_amount_msat,json=invreqAmountMsat,proto3,oneof" json:"invreq_amount_msat,omitempty"` + InvreqFeatures []byte `protobuf:"bytes,29,opt,name=invreq_features,json=invreqFeatures,proto3,oneof" json:"invreq_features,omitempty"` + InvreqQuantity *uint64 `protobuf:"varint,30,opt,name=invreq_quantity,json=invreqQuantity,proto3,oneof" json:"invreq_quantity,omitempty"` + InvreqPayerNote *string `protobuf:"bytes,31,opt,name=invreq_payer_note,json=invreqPayerNote,proto3,oneof" json:"invreq_payer_note,omitempty"` + InvreqRecurrenceCounter *uint32 `protobuf:"varint,32,opt,name=invreq_recurrence_counter,json=invreqRecurrenceCounter,proto3,oneof" json:"invreq_recurrence_counter,omitempty"` + InvreqRecurrenceStart *uint32 `protobuf:"varint,33,opt,name=invreq_recurrence_start,json=invreqRecurrenceStart,proto3,oneof" json:"invreq_recurrence_start,omitempty"` + WarningMissingInvreqMetadata *string `protobuf:"bytes,35,opt,name=warning_missing_invreq_metadata,json=warningMissingInvreqMetadata,proto3,oneof" json:"warning_missing_invreq_metadata,omitempty"` + WarningMissingInvreqPayerId *string `protobuf:"bytes,36,opt,name=warning_missing_invreq_payer_id,json=warningMissingInvreqPayerId,proto3,oneof" json:"warning_missing_invreq_payer_id,omitempty"` + WarningInvalidInvreqPayerNote *string `protobuf:"bytes,37,opt,name=warning_invalid_invreq_payer_note,json=warningInvalidInvreqPayerNote,proto3,oneof" json:"warning_invalid_invreq_payer_note,omitempty"` + WarningMissingInvoiceRequestSignature *string `protobuf:"bytes,38,opt,name=warning_missing_invoice_request_signature,json=warningMissingInvoiceRequestSignature,proto3,oneof" json:"warning_missing_invoice_request_signature,omitempty"` + WarningInvalidInvoiceRequestSignature *string `protobuf:"bytes,39,opt,name=warning_invalid_invoice_request_signature,json=warningInvalidInvoiceRequestSignature,proto3,oneof" json:"warning_invalid_invoice_request_signature,omitempty"` + InvoiceCreatedAt *uint64 `protobuf:"varint,41,opt,name=invoice_created_at,json=invoiceCreatedAt,proto3,oneof" json:"invoice_created_at,omitempty"` + InvoiceRelativeExpiry *uint32 `protobuf:"varint,42,opt,name=invoice_relative_expiry,json=invoiceRelativeExpiry,proto3,oneof" json:"invoice_relative_expiry,omitempty"` + InvoicePaymentHash []byte `protobuf:"bytes,43,opt,name=invoice_payment_hash,json=invoicePaymentHash,proto3,oneof" json:"invoice_payment_hash,omitempty"` + InvoiceAmountMsat *Amount `protobuf:"bytes,44,opt,name=invoice_amount_msat,json=invoiceAmountMsat,proto3,oneof" json:"invoice_amount_msat,omitempty"` + InvoiceFallbacks []*DecodeInvoiceFallbacks `protobuf:"bytes,45,rep,name=invoice_fallbacks,json=invoiceFallbacks,proto3" json:"invoice_fallbacks,omitempty"` + InvoiceFeatures []byte `protobuf:"bytes,46,opt,name=invoice_features,json=invoiceFeatures,proto3,oneof" json:"invoice_features,omitempty"` + InvoiceNodeId []byte `protobuf:"bytes,47,opt,name=invoice_node_id,json=invoiceNodeId,proto3,oneof" json:"invoice_node_id,omitempty"` + InvoiceRecurrenceBasetime *uint64 `protobuf:"varint,48,opt,name=invoice_recurrence_basetime,json=invoiceRecurrenceBasetime,proto3,oneof" json:"invoice_recurrence_basetime,omitempty"` + WarningMissingInvoicePaths *string `protobuf:"bytes,50,opt,name=warning_missing_invoice_paths,json=warningMissingInvoicePaths,proto3,oneof" json:"warning_missing_invoice_paths,omitempty"` + WarningMissingInvoiceBlindedpay *string `protobuf:"bytes,51,opt,name=warning_missing_invoice_blindedpay,json=warningMissingInvoiceBlindedpay,proto3,oneof" json:"warning_missing_invoice_blindedpay,omitempty"` + WarningMissingInvoiceCreatedAt *string `protobuf:"bytes,52,opt,name=warning_missing_invoice_created_at,json=warningMissingInvoiceCreatedAt,proto3,oneof" json:"warning_missing_invoice_created_at,omitempty"` + WarningMissingInvoicePaymentHash *string `protobuf:"bytes,53,opt,name=warning_missing_invoice_payment_hash,json=warningMissingInvoicePaymentHash,proto3,oneof" json:"warning_missing_invoice_payment_hash,omitempty"` + WarningMissingInvoiceAmount *string `protobuf:"bytes,54,opt,name=warning_missing_invoice_amount,json=warningMissingInvoiceAmount,proto3,oneof" json:"warning_missing_invoice_amount,omitempty"` + WarningMissingInvoiceRecurrenceBasetime *string `protobuf:"bytes,55,opt,name=warning_missing_invoice_recurrence_basetime,json=warningMissingInvoiceRecurrenceBasetime,proto3,oneof" json:"warning_missing_invoice_recurrence_basetime,omitempty"` + WarningMissingInvoiceNodeId *string `protobuf:"bytes,56,opt,name=warning_missing_invoice_node_id,json=warningMissingInvoiceNodeId,proto3,oneof" json:"warning_missing_invoice_node_id,omitempty"` + WarningMissingInvoiceSignature *string `protobuf:"bytes,57,opt,name=warning_missing_invoice_signature,json=warningMissingInvoiceSignature,proto3,oneof" json:"warning_missing_invoice_signature,omitempty"` + WarningInvalidInvoiceSignature *string `protobuf:"bytes,58,opt,name=warning_invalid_invoice_signature,json=warningInvalidInvoiceSignature,proto3,oneof" json:"warning_invalid_invoice_signature,omitempty"` + Fallbacks []*DecodeFallbacks `protobuf:"bytes,59,rep,name=fallbacks,proto3" json:"fallbacks,omitempty"` + CreatedAt *uint64 `protobuf:"varint,60,opt,name=created_at,json=createdAt,proto3,oneof" json:"created_at,omitempty"` + Expiry *uint64 `protobuf:"varint,61,opt,name=expiry,proto3,oneof" json:"expiry,omitempty"` + Payee []byte `protobuf:"bytes,62,opt,name=payee,proto3,oneof" json:"payee,omitempty"` + PaymentHash []byte `protobuf:"bytes,63,opt,name=payment_hash,json=paymentHash,proto3,oneof" json:"payment_hash,omitempty"` + DescriptionHash []byte `protobuf:"bytes,64,opt,name=description_hash,json=descriptionHash,proto3,oneof" json:"description_hash,omitempty"` + MinFinalCltvExpiry *uint32 `protobuf:"varint,65,opt,name=min_final_cltv_expiry,json=minFinalCltvExpiry,proto3,oneof" json:"min_final_cltv_expiry,omitempty"` + PaymentSecret []byte `protobuf:"bytes,66,opt,name=payment_secret,json=paymentSecret,proto3,oneof" json:"payment_secret,omitempty"` + PaymentMetadata []byte `protobuf:"bytes,67,opt,name=payment_metadata,json=paymentMetadata,proto3,oneof" json:"payment_metadata,omitempty"` + Extra []*DecodeExtra `protobuf:"bytes,69,rep,name=extra,proto3" json:"extra,omitempty"` + UniqueId *string `protobuf:"bytes,70,opt,name=unique_id,json=uniqueId,proto3,oneof" json:"unique_id,omitempty"` + Version *string `protobuf:"bytes,71,opt,name=version,proto3,oneof" json:"version,omitempty"` + String_ *string `protobuf:"bytes,72,opt,name=string,proto3,oneof" json:"string,omitempty"` + Restrictions []*DecodeRestrictions `protobuf:"bytes,73,rep,name=restrictions,proto3" json:"restrictions,omitempty"` + WarningRuneInvalidUtf8 *string `protobuf:"bytes,74,opt,name=warning_rune_invalid_utf8,json=warningRuneInvalidUtf8,proto3,oneof" json:"warning_rune_invalid_utf8,omitempty"` + Hex []byte `protobuf:"bytes,75,opt,name=hex,proto3,oneof" json:"hex,omitempty"` + Decrypted []byte `protobuf:"bytes,76,opt,name=decrypted,proto3,oneof" json:"decrypted,omitempty"` + Signature *string `protobuf:"bytes,77,opt,name=signature,proto3,oneof" json:"signature,omitempty"` + Currency *string `protobuf:"bytes,78,opt,name=currency,proto3,oneof" json:"currency,omitempty"` + AmountMsat *Amount `protobuf:"bytes,79,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Description *string `protobuf:"bytes,80,opt,name=description,proto3,oneof" json:"description,omitempty"` + Features []byte `protobuf:"bytes,81,opt,name=features,proto3,oneof" json:"features,omitempty"` + Routes *DecodeRoutehintList `protobuf:"bytes,82,opt,name=routes,proto3,oneof" json:"routes,omitempty"` } -func (x *ListpaysRequest) Reset() { - *x = ListpaysRequest{} +func (x *DecodeResponse) Reset() { + *x = DecodeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[162] + mi := &file_node_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *ListpaysRequest) String() string { +func (x *DecodeResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*ListpaysRequest) ProtoMessage() {} +func (*DecodeResponse) ProtoMessage() {} -func (x *ListpaysRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[162] +func (x *DecodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[159] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16181,577 +15865,571 @@ func (x *ListpaysRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use ListpaysRequest.ProtoReflect.Descriptor instead. -func (*ListpaysRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{162} +// Deprecated: Use DecodeResponse.ProtoReflect.Descriptor instead. +func (*DecodeResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{159} } -func (x *ListpaysRequest) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 +func (x *DecodeResponse) GetItemType() DecodeResponse_DecodeType { + if x != nil { + return x.ItemType } - return "" + return DecodeResponse_BOLT12_OFFER } -func (x *ListpaysRequest) GetPaymentHash() []byte { +func (x *DecodeResponse) GetValid() bool { if x != nil { - return x.PaymentHash + return x.Valid } - return nil + return false } -func (x *ListpaysRequest) GetStatus() ListpaysRequest_ListpaysStatus { - if x != nil && x.Status != nil { - return *x.Status +func (x *DecodeResponse) GetOfferId() []byte { + if x != nil { + return x.OfferId } - return ListpaysRequest_PENDING + return nil } -type ListpaysResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pays []*ListpaysPays `protobuf:"bytes,1,rep,name=pays,proto3" json:"pays,omitempty"` +func (x *DecodeResponse) GetOfferChains() [][]byte { + if x != nil { + return x.OfferChains + } + return nil } -func (x *ListpaysResponse) Reset() { - *x = ListpaysResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[163] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *DecodeResponse) GetOfferMetadata() []byte { + if x != nil { + return x.OfferMetadata } + return nil } -func (x *ListpaysResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *DecodeResponse) GetOfferCurrency() string { + if x != nil && x.OfferCurrency != nil { + return *x.OfferCurrency + } + return "" } -func (*ListpaysResponse) ProtoMessage() {} +func (x *DecodeResponse) GetWarningUnknownOfferCurrency() string { + if x != nil && x.WarningUnknownOfferCurrency != nil { + return *x.WarningUnknownOfferCurrency + } + return "" +} -func (x *ListpaysResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[163] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *DecodeResponse) GetCurrencyMinorUnit() uint32 { + if x != nil && x.CurrencyMinorUnit != nil { + return *x.CurrencyMinorUnit } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use ListpaysResponse.ProtoReflect.Descriptor instead. -func (*ListpaysResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{163} +func (x *DecodeResponse) GetOfferAmount() uint64 { + if x != nil && x.OfferAmount != nil { + return *x.OfferAmount + } + return 0 } -func (x *ListpaysResponse) GetPays() []*ListpaysPays { +func (x *DecodeResponse) GetOfferAmountMsat() *Amount { if x != nil { - return x.Pays + return x.OfferAmountMsat } return nil } -type ListpaysPays struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - Status ListpaysPays_ListpaysPaysStatus `protobuf:"varint,2,opt,name=status,proto3,enum=cln.ListpaysPays_ListpaysPaysStatus" json:"status,omitempty"` - Destination []byte `protobuf:"bytes,3,opt,name=destination,proto3,oneof" json:"destination,omitempty"` - CreatedAt uint64 `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` - CompletedAt *uint64 `protobuf:"varint,12,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` - Label *string `protobuf:"bytes,5,opt,name=label,proto3,oneof" json:"label,omitempty"` - Bolt11 *string `protobuf:"bytes,6,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` - Description *string `protobuf:"bytes,11,opt,name=description,proto3,oneof" json:"description,omitempty"` - Bolt12 *string `protobuf:"bytes,7,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` - AmountMsat *Amount `protobuf:"bytes,8,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` - AmountSentMsat *Amount `protobuf:"bytes,9,opt,name=amount_sent_msat,json=amountSentMsat,proto3,oneof" json:"amount_sent_msat,omitempty"` - Preimage []byte `protobuf:"bytes,13,opt,name=preimage,proto3,oneof" json:"preimage,omitempty"` - NumberOfParts *uint64 `protobuf:"varint,14,opt,name=number_of_parts,json=numberOfParts,proto3,oneof" json:"number_of_parts,omitempty"` - Erroronion []byte `protobuf:"bytes,10,opt,name=erroronion,proto3,oneof" json:"erroronion,omitempty"` -} - -func (x *ListpaysPays) Reset() { - *x = ListpaysPays{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[164] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *DecodeResponse) GetOfferDescription() string { + if x != nil && x.OfferDescription != nil { + return *x.OfferDescription } + return "" } -func (x *ListpaysPays) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListpaysPays) ProtoMessage() {} - -func (x *ListpaysPays) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[164] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *DecodeResponse) GetOfferIssuer() string { + if x != nil && x.OfferIssuer != nil { + return *x.OfferIssuer } - return mi.MessageOf(x) -} - -// Deprecated: Use ListpaysPays.ProtoReflect.Descriptor instead. -func (*ListpaysPays) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{164} + return "" } -func (x *ListpaysPays) GetPaymentHash() []byte { +func (x *DecodeResponse) GetOfferFeatures() []byte { if x != nil { - return x.PaymentHash + return x.OfferFeatures } return nil } -func (x *ListpaysPays) GetStatus() ListpaysPays_ListpaysPaysStatus { - if x != nil { - return x.Status +func (x *DecodeResponse) GetOfferAbsoluteExpiry() uint64 { + if x != nil && x.OfferAbsoluteExpiry != nil { + return *x.OfferAbsoluteExpiry } - return ListpaysPays_PENDING + return 0 } -func (x *ListpaysPays) GetDestination() []byte { +func (x *DecodeResponse) GetOfferQuantityMax() uint64 { + if x != nil && x.OfferQuantityMax != nil { + return *x.OfferQuantityMax + } + return 0 +} + +func (x *DecodeResponse) GetOfferPaths() []*DecodeOfferPaths { if x != nil { - return x.Destination + return x.OfferPaths } return nil } -func (x *ListpaysPays) GetCreatedAt() uint64 { +func (x *DecodeResponse) GetOfferNodeId() []byte { if x != nil { - return x.CreatedAt + return x.OfferNodeId } - return 0 + return nil } -func (x *ListpaysPays) GetCompletedAt() uint64 { - if x != nil && x.CompletedAt != nil { - return *x.CompletedAt +func (x *DecodeResponse) GetWarningMissingOfferNodeId() string { + if x != nil && x.WarningMissingOfferNodeId != nil { + return *x.WarningMissingOfferNodeId } - return 0 + return "" } -func (x *ListpaysPays) GetLabel() string { - if x != nil && x.Label != nil { - return *x.Label +func (x *DecodeResponse) GetWarningInvalidOfferDescription() string { + if x != nil && x.WarningInvalidOfferDescription != nil { + return *x.WarningInvalidOfferDescription } return "" } -func (x *ListpaysPays) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 +func (x *DecodeResponse) GetWarningMissingOfferDescription() string { + if x != nil && x.WarningMissingOfferDescription != nil { + return *x.WarningMissingOfferDescription } return "" } -func (x *ListpaysPays) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description +func (x *DecodeResponse) GetWarningInvalidOfferCurrency() string { + if x != nil && x.WarningInvalidOfferCurrency != nil { + return *x.WarningInvalidOfferCurrency } return "" } -func (x *ListpaysPays) GetBolt12() string { - if x != nil && x.Bolt12 != nil { - return *x.Bolt12 +func (x *DecodeResponse) GetWarningInvalidOfferIssuer() string { + if x != nil && x.WarningInvalidOfferIssuer != nil { + return *x.WarningInvalidOfferIssuer } return "" } -func (x *ListpaysPays) GetAmountMsat() *Amount { +func (x *DecodeResponse) GetInvreqMetadata() []byte { if x != nil { - return x.AmountMsat + return x.InvreqMetadata } return nil } -func (x *ListpaysPays) GetAmountSentMsat() *Amount { +func (x *DecodeResponse) GetInvreqPayerId() []byte { if x != nil { - return x.AmountSentMsat + return x.InvreqPayerId } return nil } -func (x *ListpaysPays) GetPreimage() []byte { +func (x *DecodeResponse) GetInvreqChain() []byte { if x != nil { - return x.Preimage + return x.InvreqChain } return nil } -func (x *ListpaysPays) GetNumberOfParts() uint64 { - if x != nil && x.NumberOfParts != nil { - return *x.NumberOfParts +func (x *DecodeResponse) GetInvreqAmountMsat() *Amount { + if x != nil { + return x.InvreqAmountMsat } - return 0 + return nil } -func (x *ListpaysPays) GetErroronion() []byte { +func (x *DecodeResponse) GetInvreqFeatures() []byte { if x != nil { - return x.Erroronion + return x.InvreqFeatures } return nil } -type ListhtlcsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id *string `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` +func (x *DecodeResponse) GetInvreqQuantity() uint64 { + if x != nil && x.InvreqQuantity != nil { + return *x.InvreqQuantity + } + return 0 } -func (x *ListhtlcsRequest) Reset() { - *x = ListhtlcsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[165] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *DecodeResponse) GetInvreqPayerNote() string { + if x != nil && x.InvreqPayerNote != nil { + return *x.InvreqPayerNote } + return "" } -func (x *ListhtlcsRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *DecodeResponse) GetInvreqRecurrenceCounter() uint32 { + if x != nil && x.InvreqRecurrenceCounter != nil { + return *x.InvreqRecurrenceCounter + } + return 0 } -func (*ListhtlcsRequest) ProtoMessage() {} - -func (x *ListhtlcsRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[165] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *DecodeResponse) GetInvreqRecurrenceStart() uint32 { + if x != nil && x.InvreqRecurrenceStart != nil { + return *x.InvreqRecurrenceStart } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use ListhtlcsRequest.ProtoReflect.Descriptor instead. -func (*ListhtlcsRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{165} +func (x *DecodeResponse) GetWarningMissingInvreqMetadata() string { + if x != nil && x.WarningMissingInvreqMetadata != nil { + return *x.WarningMissingInvreqMetadata + } + return "" } -func (x *ListhtlcsRequest) GetId() string { - if x != nil && x.Id != nil { - return *x.Id +func (x *DecodeResponse) GetWarningMissingInvreqPayerId() string { + if x != nil && x.WarningMissingInvreqPayerId != nil { + return *x.WarningMissingInvreqPayerId } return "" } -type ListhtlcsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Htlcs []*ListhtlcsHtlcs `protobuf:"bytes,1,rep,name=htlcs,proto3" json:"htlcs,omitempty"` +func (x *DecodeResponse) GetWarningInvalidInvreqPayerNote() string { + if x != nil && x.WarningInvalidInvreqPayerNote != nil { + return *x.WarningInvalidInvreqPayerNote + } + return "" } -func (x *ListhtlcsResponse) Reset() { - *x = ListhtlcsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[166] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *DecodeResponse) GetWarningMissingInvoiceRequestSignature() string { + if x != nil && x.WarningMissingInvoiceRequestSignature != nil { + return *x.WarningMissingInvoiceRequestSignature } + return "" } -func (x *ListhtlcsResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *DecodeResponse) GetWarningInvalidInvoiceRequestSignature() string { + if x != nil && x.WarningInvalidInvoiceRequestSignature != nil { + return *x.WarningInvalidInvoiceRequestSignature + } + return "" } -func (*ListhtlcsResponse) ProtoMessage() {} +func (x *DecodeResponse) GetInvoiceCreatedAt() uint64 { + if x != nil && x.InvoiceCreatedAt != nil { + return *x.InvoiceCreatedAt + } + return 0 +} -func (x *ListhtlcsResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[166] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *DecodeResponse) GetInvoiceRelativeExpiry() uint32 { + if x != nil && x.InvoiceRelativeExpiry != nil { + return *x.InvoiceRelativeExpiry } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use ListhtlcsResponse.ProtoReflect.Descriptor instead. -func (*ListhtlcsResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{166} +func (x *DecodeResponse) GetInvoicePaymentHash() []byte { + if x != nil { + return x.InvoicePaymentHash + } + return nil } -func (x *ListhtlcsResponse) GetHtlcs() []*ListhtlcsHtlcs { +func (x *DecodeResponse) GetInvoiceAmountMsat() *Amount { if x != nil { - return x.Htlcs + return x.InvoiceAmountMsat } return nil } -type ListhtlcsHtlcs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *DecodeResponse) GetInvoiceFallbacks() []*DecodeInvoiceFallbacks { + if x != nil { + return x.InvoiceFallbacks + } + return nil +} - ShortChannelId string `protobuf:"bytes,1,opt,name=short_channel_id,json=shortChannelId,proto3" json:"short_channel_id,omitempty"` - Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` - Expiry uint32 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` - AmountMsat *Amount `protobuf:"bytes,4,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` - Direction ListhtlcsHtlcs_ListhtlcsHtlcsDirection `protobuf:"varint,5,opt,name=direction,proto3,enum=cln.ListhtlcsHtlcs_ListhtlcsHtlcsDirection" json:"direction,omitempty"` - PaymentHash []byte `protobuf:"bytes,6,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - State HtlcState `protobuf:"varint,7,opt,name=state,proto3,enum=cln.HtlcState" json:"state,omitempty"` +func (x *DecodeResponse) GetInvoiceFeatures() []byte { + if x != nil { + return x.InvoiceFeatures + } + return nil } -func (x *ListhtlcsHtlcs) Reset() { - *x = ListhtlcsHtlcs{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[167] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *DecodeResponse) GetInvoiceNodeId() []byte { + if x != nil { + return x.InvoiceNodeId } + return nil } -func (x *ListhtlcsHtlcs) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *DecodeResponse) GetInvoiceRecurrenceBasetime() uint64 { + if x != nil && x.InvoiceRecurrenceBasetime != nil { + return *x.InvoiceRecurrenceBasetime + } + return 0 } -func (*ListhtlcsHtlcs) ProtoMessage() {} +func (x *DecodeResponse) GetWarningMissingInvoicePaths() string { + if x != nil && x.WarningMissingInvoicePaths != nil { + return *x.WarningMissingInvoicePaths + } + return "" +} -func (x *ListhtlcsHtlcs) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[167] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *DecodeResponse) GetWarningMissingInvoiceBlindedpay() string { + if x != nil && x.WarningMissingInvoiceBlindedpay != nil { + return *x.WarningMissingInvoiceBlindedpay } - return mi.MessageOf(x) + return "" } -// Deprecated: Use ListhtlcsHtlcs.ProtoReflect.Descriptor instead. -func (*ListhtlcsHtlcs) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{167} +func (x *DecodeResponse) GetWarningMissingInvoiceCreatedAt() string { + if x != nil && x.WarningMissingInvoiceCreatedAt != nil { + return *x.WarningMissingInvoiceCreatedAt + } + return "" } -func (x *ListhtlcsHtlcs) GetShortChannelId() string { - if x != nil { - return x.ShortChannelId +func (x *DecodeResponse) GetWarningMissingInvoicePaymentHash() string { + if x != nil && x.WarningMissingInvoicePaymentHash != nil { + return *x.WarningMissingInvoicePaymentHash } return "" } -func (x *ListhtlcsHtlcs) GetId() uint64 { - if x != nil { - return x.Id +func (x *DecodeResponse) GetWarningMissingInvoiceAmount() string { + if x != nil && x.WarningMissingInvoiceAmount != nil { + return *x.WarningMissingInvoiceAmount } - return 0 + return "" } -func (x *ListhtlcsHtlcs) GetExpiry() uint32 { - if x != nil { - return x.Expiry +func (x *DecodeResponse) GetWarningMissingInvoiceRecurrenceBasetime() string { + if x != nil && x.WarningMissingInvoiceRecurrenceBasetime != nil { + return *x.WarningMissingInvoiceRecurrenceBasetime } - return 0 + return "" } -func (x *ListhtlcsHtlcs) GetAmountMsat() *Amount { - if x != nil { - return x.AmountMsat +func (x *DecodeResponse) GetWarningMissingInvoiceNodeId() string { + if x != nil && x.WarningMissingInvoiceNodeId != nil { + return *x.WarningMissingInvoiceNodeId } - return nil + return "" } -func (x *ListhtlcsHtlcs) GetDirection() ListhtlcsHtlcs_ListhtlcsHtlcsDirection { - if x != nil { - return x.Direction +func (x *DecodeResponse) GetWarningMissingInvoiceSignature() string { + if x != nil && x.WarningMissingInvoiceSignature != nil { + return *x.WarningMissingInvoiceSignature } - return ListhtlcsHtlcs_OUT + return "" } -func (x *ListhtlcsHtlcs) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash +func (x *DecodeResponse) GetWarningInvalidInvoiceSignature() string { + if x != nil && x.WarningInvalidInvoiceSignature != nil { + return *x.WarningInvalidInvoiceSignature } - return nil + return "" } -func (x *ListhtlcsHtlcs) GetState() HtlcState { +func (x *DecodeResponse) GetFallbacks() []*DecodeFallbacks { if x != nil { - return x.State + return x.Fallbacks } - return HtlcState_SentAddHtlc + return nil } -type OfferRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *DecodeResponse) GetCreatedAt() uint64 { + if x != nil && x.CreatedAt != nil { + return *x.CreatedAt + } + return 0 +} - Amount string `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - Issuer *string `protobuf:"bytes,3,opt,name=issuer,proto3,oneof" json:"issuer,omitempty"` - Label *string `protobuf:"bytes,4,opt,name=label,proto3,oneof" json:"label,omitempty"` - QuantityMax *uint64 `protobuf:"varint,5,opt,name=quantity_max,json=quantityMax,proto3,oneof" json:"quantity_max,omitempty"` - AbsoluteExpiry *uint64 `protobuf:"varint,6,opt,name=absolute_expiry,json=absoluteExpiry,proto3,oneof" json:"absolute_expiry,omitempty"` - Recurrence *string `protobuf:"bytes,7,opt,name=recurrence,proto3,oneof" json:"recurrence,omitempty"` - RecurrenceBase *string `protobuf:"bytes,8,opt,name=recurrence_base,json=recurrenceBase,proto3,oneof" json:"recurrence_base,omitempty"` - RecurrencePaywindow *string `protobuf:"bytes,9,opt,name=recurrence_paywindow,json=recurrencePaywindow,proto3,oneof" json:"recurrence_paywindow,omitempty"` - RecurrenceLimit *uint64 `protobuf:"varint,10,opt,name=recurrence_limit,json=recurrenceLimit,proto3,oneof" json:"recurrence_limit,omitempty"` - SingleUse *bool `protobuf:"varint,11,opt,name=single_use,json=singleUse,proto3,oneof" json:"single_use,omitempty"` +func (x *DecodeResponse) GetExpiry() uint64 { + if x != nil && x.Expiry != nil { + return *x.Expiry + } + return 0 } -func (x *OfferRequest) Reset() { - *x = OfferRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[168] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *DecodeResponse) GetPayee() []byte { + if x != nil { + return x.Payee } + return nil } -func (x *OfferRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *DecodeResponse) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash + } + return nil } -func (*OfferRequest) ProtoMessage() {} +func (x *DecodeResponse) GetDescriptionHash() []byte { + if x != nil { + return x.DescriptionHash + } + return nil +} -func (x *OfferRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[168] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *DecodeResponse) GetMinFinalCltvExpiry() uint32 { + if x != nil && x.MinFinalCltvExpiry != nil { + return *x.MinFinalCltvExpiry } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use OfferRequest.ProtoReflect.Descriptor instead. -func (*OfferRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{168} +func (x *DecodeResponse) GetPaymentSecret() []byte { + if x != nil { + return x.PaymentSecret + } + return nil } -func (x *OfferRequest) GetAmount() string { +func (x *DecodeResponse) GetPaymentMetadata() []byte { if x != nil { - return x.Amount + return x.PaymentMetadata } - return "" + return nil } -func (x *OfferRequest) GetDescription() string { +func (x *DecodeResponse) GetExtra() []*DecodeExtra { if x != nil { - return x.Description + return x.Extra } - return "" + return nil } -func (x *OfferRequest) GetIssuer() string { - if x != nil && x.Issuer != nil { - return *x.Issuer +func (x *DecodeResponse) GetUniqueId() string { + if x != nil && x.UniqueId != nil { + return *x.UniqueId } return "" } -func (x *OfferRequest) GetLabel() string { - if x != nil && x.Label != nil { - return *x.Label +func (x *DecodeResponse) GetVersion() string { + if x != nil && x.Version != nil { + return *x.Version } return "" } -func (x *OfferRequest) GetQuantityMax() uint64 { - if x != nil && x.QuantityMax != nil { - return *x.QuantityMax +func (x *DecodeResponse) GetString_() string { + if x != nil && x.String_ != nil { + return *x.String_ } - return 0 + return "" } -func (x *OfferRequest) GetAbsoluteExpiry() uint64 { - if x != nil && x.AbsoluteExpiry != nil { - return *x.AbsoluteExpiry +func (x *DecodeResponse) GetRestrictions() []*DecodeRestrictions { + if x != nil { + return x.Restrictions } - return 0 + return nil } -func (x *OfferRequest) GetRecurrence() string { - if x != nil && x.Recurrence != nil { - return *x.Recurrence +func (x *DecodeResponse) GetWarningRuneInvalidUtf8() string { + if x != nil && x.WarningRuneInvalidUtf8 != nil { + return *x.WarningRuneInvalidUtf8 } return "" } -func (x *OfferRequest) GetRecurrenceBase() string { - if x != nil && x.RecurrenceBase != nil { - return *x.RecurrenceBase +func (x *DecodeResponse) GetHex() []byte { + if x != nil { + return x.Hex } - return "" + return nil } -func (x *OfferRequest) GetRecurrencePaywindow() string { - if x != nil && x.RecurrencePaywindow != nil { - return *x.RecurrencePaywindow +func (x *DecodeResponse) GetDecrypted() []byte { + if x != nil { + return x.Decrypted + } + return nil +} + +func (x *DecodeResponse) GetSignature() string { + if x != nil && x.Signature != nil { + return *x.Signature } return "" } -func (x *OfferRequest) GetRecurrenceLimit() uint64 { - if x != nil && x.RecurrenceLimit != nil { - return *x.RecurrenceLimit +func (x *DecodeResponse) GetCurrency() string { + if x != nil && x.Currency != nil { + return *x.Currency } - return 0 + return "" } -func (x *OfferRequest) GetSingleUse() bool { - if x != nil && x.SingleUse != nil { - return *x.SingleUse +func (x *DecodeResponse) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat } - return false + return nil } -type OfferResponse struct { +func (x *DecodeResponse) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *DecodeResponse) GetFeatures() []byte { + if x != nil { + return x.Features + } + return nil +} + +func (x *DecodeResponse) GetRoutes() *DecodeRoutehintList { + if x != nil { + return x.Routes + } + return nil +} + +type DecodeOfferPaths struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - OfferId []byte `protobuf:"bytes,1,opt,name=offer_id,json=offerId,proto3" json:"offer_id,omitempty"` - Active bool `protobuf:"varint,2,opt,name=active,proto3" json:"active,omitempty"` - SingleUse bool `protobuf:"varint,3,opt,name=single_use,json=singleUse,proto3" json:"single_use,omitempty"` - Bolt12 string `protobuf:"bytes,4,opt,name=bolt12,proto3" json:"bolt12,omitempty"` - Used bool `protobuf:"varint,5,opt,name=used,proto3" json:"used,omitempty"` - Created bool `protobuf:"varint,6,opt,name=created,proto3" json:"created,omitempty"` - Label *string `protobuf:"bytes,7,opt,name=label,proto3,oneof" json:"label,omitempty"` + FirstNodeId []byte `protobuf:"bytes,1,opt,name=first_node_id,json=firstNodeId,proto3,oneof" json:"first_node_id,omitempty"` + Blinding []byte `protobuf:"bytes,2,opt,name=blinding,proto3" json:"blinding,omitempty"` + FirstScidDir *uint32 `protobuf:"varint,4,opt,name=first_scid_dir,json=firstScidDir,proto3,oneof" json:"first_scid_dir,omitempty"` + FirstScid *string `protobuf:"bytes,5,opt,name=first_scid,json=firstScid,proto3,oneof" json:"first_scid,omitempty"` } -func (x *OfferResponse) Reset() { - *x = OfferResponse{} +func (x *DecodeOfferPaths) Reset() { + *x = DecodeOfferPaths{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[169] + mi := &file_node_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *OfferResponse) String() string { +func (x *DecodeOfferPaths) String() string { return protoimpl.X.MessageStringOf(x) } -func (*OfferResponse) ProtoMessage() {} +func (*DecodeOfferPaths) ProtoMessage() {} -func (x *OfferResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[169] +func (x *DecodeOfferPaths) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[160] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16762,87 +16440,66 @@ func (x *OfferResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use OfferResponse.ProtoReflect.Descriptor instead. -func (*OfferResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{169} +// Deprecated: Use DecodeOfferPaths.ProtoReflect.Descriptor instead. +func (*DecodeOfferPaths) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{160} } -func (x *OfferResponse) GetOfferId() []byte { +func (x *DecodeOfferPaths) GetFirstNodeId() []byte { if x != nil { - return x.OfferId + return x.FirstNodeId } return nil } -func (x *OfferResponse) GetActive() bool { - if x != nil { - return x.Active - } - return false -} - -func (x *OfferResponse) GetSingleUse() bool { - if x != nil { - return x.SingleUse - } - return false -} - -func (x *OfferResponse) GetBolt12() string { - if x != nil { - return x.Bolt12 - } - return "" -} - -func (x *OfferResponse) GetUsed() bool { +func (x *DecodeOfferPaths) GetBlinding() []byte { if x != nil { - return x.Used + return x.Blinding } - return false + return nil } -func (x *OfferResponse) GetCreated() bool { - if x != nil { - return x.Created +func (x *DecodeOfferPaths) GetFirstScidDir() uint32 { + if x != nil && x.FirstScidDir != nil { + return *x.FirstScidDir } - return false + return 0 } -func (x *OfferResponse) GetLabel() string { - if x != nil && x.Label != nil { - return *x.Label +func (x *DecodeOfferPaths) GetFirstScid() string { + if x != nil && x.FirstScid != nil { + return *x.FirstScid } return "" } -type PingRequest struct { +type DecodeOfferRecurrencePaywindow struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Len *uint32 `protobuf:"varint,2,opt,name=len,proto3,oneof" json:"len,omitempty"` - Pongbytes *uint32 `protobuf:"varint,3,opt,name=pongbytes,proto3,oneof" json:"pongbytes,omitempty"` + SecondsBefore uint32 `protobuf:"varint,1,opt,name=seconds_before,json=secondsBefore,proto3" json:"seconds_before,omitempty"` + SecondsAfter uint32 `protobuf:"varint,2,opt,name=seconds_after,json=secondsAfter,proto3" json:"seconds_after,omitempty"` + ProportionalAmount *bool `protobuf:"varint,3,opt,name=proportional_amount,json=proportionalAmount,proto3,oneof" json:"proportional_amount,omitempty"` } -func (x *PingRequest) Reset() { - *x = PingRequest{} +func (x *DecodeOfferRecurrencePaywindow) Reset() { + *x = DecodeOfferRecurrencePaywindow{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[170] + mi := &file_node_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PingRequest) String() string { +func (x *DecodeOfferRecurrencePaywindow) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PingRequest) ProtoMessage() {} +func (*DecodeOfferRecurrencePaywindow) ProtoMessage() {} -func (x *PingRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[170] +func (x *DecodeOfferRecurrencePaywindow) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[161] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16853,57 +16510,58 @@ func (x *PingRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PingRequest.ProtoReflect.Descriptor instead. -func (*PingRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{170} +// Deprecated: Use DecodeOfferRecurrencePaywindow.ProtoReflect.Descriptor instead. +func (*DecodeOfferRecurrencePaywindow) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{161} } -func (x *PingRequest) GetId() []byte { +func (x *DecodeOfferRecurrencePaywindow) GetSecondsBefore() uint32 { if x != nil { - return x.Id + return x.SecondsBefore } - return nil + return 0 } -func (x *PingRequest) GetLen() uint32 { - if x != nil && x.Len != nil { - return *x.Len +func (x *DecodeOfferRecurrencePaywindow) GetSecondsAfter() uint32 { + if x != nil { + return x.SecondsAfter } return 0 } -func (x *PingRequest) GetPongbytes() uint32 { - if x != nil && x.Pongbytes != nil { - return *x.Pongbytes +func (x *DecodeOfferRecurrencePaywindow) GetProportionalAmount() bool { + if x != nil && x.ProportionalAmount != nil { + return *x.ProportionalAmount } - return 0 + return false } -type PingResponse struct { +type DecodeInvoicePathsPath struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Totlen uint32 `protobuf:"varint,1,opt,name=totlen,proto3" json:"totlen,omitempty"` + BlindedNodeId []byte `protobuf:"bytes,1,opt,name=blinded_node_id,json=blindedNodeId,proto3" json:"blinded_node_id,omitempty"` + EncryptedRecipientData []byte `protobuf:"bytes,2,opt,name=encrypted_recipient_data,json=encryptedRecipientData,proto3" json:"encrypted_recipient_data,omitempty"` } -func (x *PingResponse) Reset() { - *x = PingResponse{} +func (x *DecodeInvoicePathsPath) Reset() { + *x = DecodeInvoicePathsPath{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[171] + mi := &file_node_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PingResponse) String() string { +func (x *DecodeInvoicePathsPath) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PingResponse) ProtoMessage() {} +func (*DecodeInvoicePathsPath) ProtoMessage() {} -func (x *PingResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[171] +func (x *DecodeInvoicePathsPath) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[162] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16914,44 +16572,52 @@ func (x *PingResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PingResponse.ProtoReflect.Descriptor instead. -func (*PingResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{171} +// Deprecated: Use DecodeInvoicePathsPath.ProtoReflect.Descriptor instead. +func (*DecodeInvoicePathsPath) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{162} } -func (x *PingResponse) GetTotlen() uint32 { +func (x *DecodeInvoicePathsPath) GetBlindedNodeId() []byte { if x != nil { - return x.Totlen + return x.BlindedNodeId } - return 0 + return nil } -type SendcustommsgRequest struct { +func (x *DecodeInvoicePathsPath) GetEncryptedRecipientData() []byte { + if x != nil { + return x.EncryptedRecipientData + } + return nil +} + +type DecodeInvoiceFallbacks struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NodeId []byte `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` - Msg []byte `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` + Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + Hex []byte `protobuf:"bytes,2,opt,name=hex,proto3" json:"hex,omitempty"` + Address *string `protobuf:"bytes,3,opt,name=address,proto3,oneof" json:"address,omitempty"` } -func (x *SendcustommsgRequest) Reset() { - *x = SendcustommsgRequest{} +func (x *DecodeInvoiceFallbacks) Reset() { + *x = DecodeInvoiceFallbacks{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[172] + mi := &file_node_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SendcustommsgRequest) String() string { +func (x *DecodeInvoiceFallbacks) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SendcustommsgRequest) ProtoMessage() {} +func (*DecodeInvoiceFallbacks) ProtoMessage() {} -func (x *SendcustommsgRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[172] +func (x *DecodeInvoiceFallbacks) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[163] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16962,50 +16628,60 @@ func (x *SendcustommsgRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SendcustommsgRequest.ProtoReflect.Descriptor instead. -func (*SendcustommsgRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{172} +// Deprecated: Use DecodeInvoiceFallbacks.ProtoReflect.Descriptor instead. +func (*DecodeInvoiceFallbacks) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{163} } -func (x *SendcustommsgRequest) GetNodeId() []byte { +func (x *DecodeInvoiceFallbacks) GetVersion() uint32 { if x != nil { - return x.NodeId + return x.Version } - return nil + return 0 } -func (x *SendcustommsgRequest) GetMsg() []byte { +func (x *DecodeInvoiceFallbacks) GetHex() []byte { if x != nil { - return x.Msg + return x.Hex } return nil } -type SendcustommsgResponse struct { +func (x *DecodeInvoiceFallbacks) GetAddress() string { + if x != nil && x.Address != nil { + return *x.Address + } + return "" +} + +type DecodeFallbacks struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` + WarningInvoiceFallbacksVersionInvalid *string `protobuf:"bytes,1,opt,name=warning_invoice_fallbacks_version_invalid,json=warningInvoiceFallbacksVersionInvalid,proto3,oneof" json:"warning_invoice_fallbacks_version_invalid,omitempty"` + ItemType DecodeFallbacks_DecodeFallbacksType `protobuf:"varint,2,opt,name=item_type,json=itemType,proto3,enum=cln.DecodeFallbacks_DecodeFallbacksType" json:"item_type,omitempty"` + Addr *string `protobuf:"bytes,3,opt,name=addr,proto3,oneof" json:"addr,omitempty"` + Hex []byte `protobuf:"bytes,4,opt,name=hex,proto3" json:"hex,omitempty"` } -func (x *SendcustommsgResponse) Reset() { - *x = SendcustommsgResponse{} +func (x *DecodeFallbacks) Reset() { + *x = DecodeFallbacks{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[173] + mi := &file_node_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SendcustommsgResponse) String() string { +func (x *DecodeFallbacks) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SendcustommsgResponse) ProtoMessage() {} +func (*DecodeFallbacks) ProtoMessage() {} -func (x *SendcustommsgResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[173] +func (x *DecodeFallbacks) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[164] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17016,49 +16692,65 @@ func (x *SendcustommsgResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SendcustommsgResponse.ProtoReflect.Descriptor instead. -func (*SendcustommsgResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{173} +// Deprecated: Use DecodeFallbacks.ProtoReflect.Descriptor instead. +func (*DecodeFallbacks) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{164} } -func (x *SendcustommsgResponse) GetStatus() string { - if x != nil { - return x.Status +func (x *DecodeFallbacks) GetWarningInvoiceFallbacksVersionInvalid() string { + if x != nil && x.WarningInvoiceFallbacksVersionInvalid != nil { + return *x.WarningInvoiceFallbacksVersionInvalid } return "" } -type SetchannelRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Feebase *Amount `protobuf:"bytes,2,opt,name=feebase,proto3,oneof" json:"feebase,omitempty"` - Feeppm *uint32 `protobuf:"varint,3,opt,name=feeppm,proto3,oneof" json:"feeppm,omitempty"` - Htlcmin *Amount `protobuf:"bytes,4,opt,name=htlcmin,proto3,oneof" json:"htlcmin,omitempty"` - Htlcmax *Amount `protobuf:"bytes,5,opt,name=htlcmax,proto3,oneof" json:"htlcmax,omitempty"` - Enforcedelay *uint32 `protobuf:"varint,6,opt,name=enforcedelay,proto3,oneof" json:"enforcedelay,omitempty"` - Ignorefeelimits *bool `protobuf:"varint,7,opt,name=ignorefeelimits,proto3,oneof" json:"ignorefeelimits,omitempty"` +func (x *DecodeFallbacks) GetItemType() DecodeFallbacks_DecodeFallbacksType { + if x != nil { + return x.ItemType + } + return DecodeFallbacks_P2PKH } -func (x *SetchannelRequest) Reset() { - *x = SetchannelRequest{} +func (x *DecodeFallbacks) GetAddr() string { + if x != nil && x.Addr != nil { + return *x.Addr + } + return "" +} + +func (x *DecodeFallbacks) GetHex() []byte { + if x != nil { + return x.Hex + } + return nil +} + +type DecodeExtra struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` + Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` +} + +func (x *DecodeExtra) Reset() { + *x = DecodeExtra{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[174] + mi := &file_node_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SetchannelRequest) String() string { +func (x *DecodeExtra) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SetchannelRequest) ProtoMessage() {} +func (*DecodeExtra) ProtoMessage() {} -func (x *SetchannelRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[174] +func (x *DecodeExtra) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[165] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17069,85 +16761,51 @@ func (x *SetchannelRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SetchannelRequest.ProtoReflect.Descriptor instead. -func (*SetchannelRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{174} +// Deprecated: Use DecodeExtra.ProtoReflect.Descriptor instead. +func (*DecodeExtra) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{165} } -func (x *SetchannelRequest) GetId() string { +func (x *DecodeExtra) GetTag() string { if x != nil { - return x.Id + return x.Tag } return "" } -func (x *SetchannelRequest) GetFeebase() *Amount { - if x != nil { - return x.Feebase - } - return nil -} - -func (x *SetchannelRequest) GetFeeppm() uint32 { - if x != nil && x.Feeppm != nil { - return *x.Feeppm - } - return 0 -} - -func (x *SetchannelRequest) GetHtlcmin() *Amount { - if x != nil { - return x.Htlcmin - } - return nil -} - -func (x *SetchannelRequest) GetHtlcmax() *Amount { +func (x *DecodeExtra) GetData() string { if x != nil { - return x.Htlcmax - } - return nil -} - -func (x *SetchannelRequest) GetEnforcedelay() uint32 { - if x != nil && x.Enforcedelay != nil { - return *x.Enforcedelay - } - return 0 -} - -func (x *SetchannelRequest) GetIgnorefeelimits() bool { - if x != nil && x.Ignorefeelimits != nil { - return *x.Ignorefeelimits + return x.Data } - return false + return "" } -type SetchannelResponse struct { +type DecodeRestrictions struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Channels []*SetchannelChannels `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` + Alternatives []string `protobuf:"bytes,1,rep,name=alternatives,proto3" json:"alternatives,omitempty"` + Summary string `protobuf:"bytes,2,opt,name=summary,proto3" json:"summary,omitempty"` } -func (x *SetchannelResponse) Reset() { - *x = SetchannelResponse{} +func (x *DecodeRestrictions) Reset() { + *x = DecodeRestrictions{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[175] + mi := &file_node_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SetchannelResponse) String() string { +func (x *DecodeRestrictions) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SetchannelResponse) ProtoMessage() {} +func (*DecodeRestrictions) ProtoMessage() {} -func (x *SetchannelResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[175] +func (x *DecodeRestrictions) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[166] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17158,52 +16816,53 @@ func (x *SetchannelResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SetchannelResponse.ProtoReflect.Descriptor instead. -func (*SetchannelResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{175} +// Deprecated: Use DecodeRestrictions.ProtoReflect.Descriptor instead. +func (*DecodeRestrictions) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{166} } -func (x *SetchannelResponse) GetChannels() []*SetchannelChannels { +func (x *DecodeRestrictions) GetAlternatives() []string { if x != nil { - return x.Channels + return x.Alternatives } return nil } -type SetchannelChannels struct { +func (x *DecodeRestrictions) GetSummary() string { + if x != nil { + return x.Summary + } + return "" +} + +type DelpayRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - PeerId []byte `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"` - ChannelId []byte `protobuf:"bytes,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` - ShortChannelId *string `protobuf:"bytes,3,opt,name=short_channel_id,json=shortChannelId,proto3,oneof" json:"short_channel_id,omitempty"` - FeeBaseMsat *Amount `protobuf:"bytes,4,opt,name=fee_base_msat,json=feeBaseMsat,proto3" json:"fee_base_msat,omitempty"` - FeeProportionalMillionths uint32 `protobuf:"varint,5,opt,name=fee_proportional_millionths,json=feeProportionalMillionths,proto3" json:"fee_proportional_millionths,omitempty"` - IgnoreFeeLimits *bool `protobuf:"varint,10,opt,name=ignore_fee_limits,json=ignoreFeeLimits,proto3,oneof" json:"ignore_fee_limits,omitempty"` - MinimumHtlcOutMsat *Amount `protobuf:"bytes,6,opt,name=minimum_htlc_out_msat,json=minimumHtlcOutMsat,proto3" json:"minimum_htlc_out_msat,omitempty"` - WarningHtlcminTooLow *string `protobuf:"bytes,7,opt,name=warning_htlcmin_too_low,json=warningHtlcminTooLow,proto3,oneof" json:"warning_htlcmin_too_low,omitempty"` - MaximumHtlcOutMsat *Amount `protobuf:"bytes,8,opt,name=maximum_htlc_out_msat,json=maximumHtlcOutMsat,proto3" json:"maximum_htlc_out_msat,omitempty"` - WarningHtlcmaxTooHigh *string `protobuf:"bytes,9,opt,name=warning_htlcmax_too_high,json=warningHtlcmaxTooHigh,proto3,oneof" json:"warning_htlcmax_too_high,omitempty"` + PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Status DelpayRequest_DelpayStatus `protobuf:"varint,2,opt,name=status,proto3,enum=cln.DelpayRequest_DelpayStatus" json:"status,omitempty"` + Partid *uint64 `protobuf:"varint,3,opt,name=partid,proto3,oneof" json:"partid,omitempty"` + Groupid *uint64 `protobuf:"varint,4,opt,name=groupid,proto3,oneof" json:"groupid,omitempty"` } -func (x *SetchannelChannels) Reset() { - *x = SetchannelChannels{} +func (x *DelpayRequest) Reset() { + *x = DelpayRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[176] + mi := &file_node_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SetchannelChannels) String() string { +func (x *DelpayRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SetchannelChannels) ProtoMessage() {} +func (*DelpayRequest) ProtoMessage() {} -func (x *SetchannelChannels) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[176] +func (x *DelpayRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[167] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17214,106 +16873,64 @@ func (x *SetchannelChannels) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SetchannelChannels.ProtoReflect.Descriptor instead. -func (*SetchannelChannels) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{176} -} - -func (x *SetchannelChannels) GetPeerId() []byte { - if x != nil { - return x.PeerId - } - return nil +// Deprecated: Use DelpayRequest.ProtoReflect.Descriptor instead. +func (*DelpayRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{167} } -func (x *SetchannelChannels) GetChannelId() []byte { +func (x *DelpayRequest) GetPaymentHash() []byte { if x != nil { - return x.ChannelId + return x.PaymentHash } return nil } -func (x *SetchannelChannels) GetShortChannelId() string { - if x != nil && x.ShortChannelId != nil { - return *x.ShortChannelId - } - return "" -} - -func (x *SetchannelChannels) GetFeeBaseMsat() *Amount { +func (x *DelpayRequest) GetStatus() DelpayRequest_DelpayStatus { if x != nil { - return x.FeeBaseMsat + return x.Status } - return nil + return DelpayRequest_COMPLETE } -func (x *SetchannelChannels) GetFeeProportionalMillionths() uint32 { - if x != nil { - return x.FeeProportionalMillionths +func (x *DelpayRequest) GetPartid() uint64 { + if x != nil && x.Partid != nil { + return *x.Partid } return 0 } -func (x *SetchannelChannels) GetIgnoreFeeLimits() bool { - if x != nil && x.IgnoreFeeLimits != nil { - return *x.IgnoreFeeLimits - } - return false -} - -func (x *SetchannelChannels) GetMinimumHtlcOutMsat() *Amount { - if x != nil { - return x.MinimumHtlcOutMsat - } - return nil -} - -func (x *SetchannelChannels) GetWarningHtlcminTooLow() string { - if x != nil && x.WarningHtlcminTooLow != nil { - return *x.WarningHtlcminTooLow - } - return "" -} - -func (x *SetchannelChannels) GetMaximumHtlcOutMsat() *Amount { - if x != nil { - return x.MaximumHtlcOutMsat - } - return nil -} - -func (x *SetchannelChannels) GetWarningHtlcmaxTooHigh() string { - if x != nil && x.WarningHtlcmaxTooHigh != nil { - return *x.WarningHtlcmaxTooHigh +func (x *DelpayRequest) GetGroupid() uint64 { + if x != nil && x.Groupid != nil { + return *x.Groupid } - return "" + return 0 } -type SigninvoiceRequest struct { +type DelpayResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Invstring string `protobuf:"bytes,1,opt,name=invstring,proto3" json:"invstring,omitempty"` + Payments []*DelpayPayments `protobuf:"bytes,1,rep,name=payments,proto3" json:"payments,omitempty"` } -func (x *SigninvoiceRequest) Reset() { - *x = SigninvoiceRequest{} +func (x *DelpayResponse) Reset() { + *x = DelpayResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[177] + mi := &file_node_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SigninvoiceRequest) String() string { +func (x *DelpayResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SigninvoiceRequest) ProtoMessage() {} +func (*DelpayResponse) ProtoMessage() {} -func (x *SigninvoiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[177] +func (x *DelpayResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[168] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17324,43 +16941,59 @@ func (x *SigninvoiceRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SigninvoiceRequest.ProtoReflect.Descriptor instead. -func (*SigninvoiceRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{177} +// Deprecated: Use DelpayResponse.ProtoReflect.Descriptor instead. +func (*DelpayResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{168} } -func (x *SigninvoiceRequest) GetInvstring() string { +func (x *DelpayResponse) GetPayments() []*DelpayPayments { if x != nil { - return x.Invstring + return x.Payments } - return "" + return nil } -type SigninvoiceResponse struct { +type DelpayPayments struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Bolt11 string `protobuf:"bytes,1,opt,name=bolt11,proto3" json:"bolt11,omitempty"` -} - -func (x *SigninvoiceResponse) Reset() { - *x = SigninvoiceResponse{} + CreatedIndex *uint64 `protobuf:"varint,1,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` + Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` + PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Status DelpayPayments_DelpayPaymentsStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cln.DelpayPayments_DelpayPaymentsStatus" json:"status,omitempty"` + AmountSentMsat *Amount `protobuf:"bytes,5,opt,name=amount_sent_msat,json=amountSentMsat,proto3" json:"amount_sent_msat,omitempty"` + Partid *uint64 `protobuf:"varint,6,opt,name=partid,proto3,oneof" json:"partid,omitempty"` + Destination []byte `protobuf:"bytes,7,opt,name=destination,proto3,oneof" json:"destination,omitempty"` + AmountMsat *Amount `protobuf:"bytes,8,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + CreatedAt uint64 `protobuf:"varint,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + UpdatedIndex *uint64 `protobuf:"varint,10,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` + CompletedAt *uint64 `protobuf:"varint,11,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` + Groupid *uint64 `protobuf:"varint,12,opt,name=groupid,proto3,oneof" json:"groupid,omitempty"` + PaymentPreimage []byte `protobuf:"bytes,13,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` + Label *string `protobuf:"bytes,14,opt,name=label,proto3,oneof" json:"label,omitempty"` + Bolt11 *string `protobuf:"bytes,15,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + Bolt12 *string `protobuf:"bytes,16,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` + Erroronion []byte `protobuf:"bytes,17,opt,name=erroronion,proto3,oneof" json:"erroronion,omitempty"` +} + +func (x *DelpayPayments) Reset() { + *x = DelpayPayments{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[178] + mi := &file_node_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SigninvoiceResponse) String() string { +func (x *DelpayPayments) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SigninvoiceResponse) ProtoMessage() {} +func (*DelpayPayments) ProtoMessage() {} -func (x *SigninvoiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[178] +func (x *DelpayPayments) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[169] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17371,154 +17004,157 @@ func (x *SigninvoiceResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SigninvoiceResponse.ProtoReflect.Descriptor instead. -func (*SigninvoiceResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{178} +// Deprecated: Use DelpayPayments.ProtoReflect.Descriptor instead. +func (*DelpayPayments) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{169} } -func (x *SigninvoiceResponse) GetBolt11() string { - if x != nil { - return x.Bolt11 +func (x *DelpayPayments) GetCreatedIndex() uint64 { + if x != nil && x.CreatedIndex != nil { + return *x.CreatedIndex } - return "" + return 0 } -type SignmessageRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` +func (x *DelpayPayments) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 } -func (x *SignmessageRequest) Reset() { - *x = SignmessageRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[179] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *DelpayPayments) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash } + return nil } -func (x *SignmessageRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *DelpayPayments) GetStatus() DelpayPayments_DelpayPaymentsStatus { + if x != nil { + return x.Status + } + return DelpayPayments_PENDING } -func (*SignmessageRequest) ProtoMessage() {} - -func (x *SignmessageRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[179] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *DelpayPayments) GetAmountSentMsat() *Amount { + if x != nil { + return x.AmountSentMsat } - return mi.MessageOf(x) + return nil } -// Deprecated: Use SignmessageRequest.ProtoReflect.Descriptor instead. -func (*SignmessageRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{179} +func (x *DelpayPayments) GetPartid() uint64 { + if x != nil && x.Partid != nil { + return *x.Partid + } + return 0 } -func (x *SignmessageRequest) GetMessage() string { +func (x *DelpayPayments) GetDestination() []byte { if x != nil { - return x.Message + return x.Destination } - return "" + return nil } -type SignmessageResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` - Recid []byte `protobuf:"bytes,2,opt,name=recid,proto3" json:"recid,omitempty"` - Zbase string `protobuf:"bytes,3,opt,name=zbase,proto3" json:"zbase,omitempty"` +func (x *DelpayPayments) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil } -func (x *SignmessageResponse) Reset() { - *x = SignmessageResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[180] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *DelpayPayments) GetCreatedAt() uint64 { + if x != nil { + return x.CreatedAt } + return 0 } -func (x *SignmessageResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *DelpayPayments) GetUpdatedIndex() uint64 { + if x != nil && x.UpdatedIndex != nil { + return *x.UpdatedIndex + } + return 0 } -func (*SignmessageResponse) ProtoMessage() {} - -func (x *SignmessageResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[180] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *DelpayPayments) GetCompletedAt() uint64 { + if x != nil && x.CompletedAt != nil { + return *x.CompletedAt } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use SignmessageResponse.ProtoReflect.Descriptor instead. -func (*SignmessageResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{180} +func (x *DelpayPayments) GetGroupid() uint64 { + if x != nil && x.Groupid != nil { + return *x.Groupid + } + return 0 } -func (x *SignmessageResponse) GetSignature() []byte { +func (x *DelpayPayments) GetPaymentPreimage() []byte { if x != nil { - return x.Signature + return x.PaymentPreimage } return nil } -func (x *SignmessageResponse) GetRecid() []byte { - if x != nil { - return x.Recid +func (x *DelpayPayments) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label } - return nil + return "" } -func (x *SignmessageResponse) GetZbase() string { - if x != nil { - return x.Zbase +func (x *DelpayPayments) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 } return "" } -type WaitblockheightRequest struct { +func (x *DelpayPayments) GetBolt12() string { + if x != nil && x.Bolt12 != nil { + return *x.Bolt12 + } + return "" +} + +func (x *DelpayPayments) GetErroronion() []byte { + if x != nil { + return x.Erroronion + } + return nil +} + +type DelforwardRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Blockheight uint32 `protobuf:"varint,1,opt,name=blockheight,proto3" json:"blockheight,omitempty"` - Timeout *uint32 `protobuf:"varint,2,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"` + InChannel string `protobuf:"bytes,1,opt,name=in_channel,json=inChannel,proto3" json:"in_channel,omitempty"` + InHtlcId uint64 `protobuf:"varint,2,opt,name=in_htlc_id,json=inHtlcId,proto3" json:"in_htlc_id,omitempty"` + Status DelforwardRequest_DelforwardStatus `protobuf:"varint,3,opt,name=status,proto3,enum=cln.DelforwardRequest_DelforwardStatus" json:"status,omitempty"` } -func (x *WaitblockheightRequest) Reset() { - *x = WaitblockheightRequest{} +func (x *DelforwardRequest) Reset() { + *x = DelforwardRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[181] + mi := &file_node_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WaitblockheightRequest) String() string { +func (x *DelforwardRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WaitblockheightRequest) ProtoMessage() {} +func (*DelforwardRequest) ProtoMessage() {} -func (x *WaitblockheightRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[181] +func (x *DelforwardRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[170] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17529,50 +17165,55 @@ func (x *WaitblockheightRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WaitblockheightRequest.ProtoReflect.Descriptor instead. -func (*WaitblockheightRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{181} +// Deprecated: Use DelforwardRequest.ProtoReflect.Descriptor instead. +func (*DelforwardRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{170} } -func (x *WaitblockheightRequest) GetBlockheight() uint32 { +func (x *DelforwardRequest) GetInChannel() string { if x != nil { - return x.Blockheight + return x.InChannel } - return 0 + return "" } -func (x *WaitblockheightRequest) GetTimeout() uint32 { - if x != nil && x.Timeout != nil { - return *x.Timeout +func (x *DelforwardRequest) GetInHtlcId() uint64 { + if x != nil { + return x.InHtlcId } return 0 } -type WaitblockheightResponse struct { +func (x *DelforwardRequest) GetStatus() DelforwardRequest_DelforwardStatus { + if x != nil { + return x.Status + } + return DelforwardRequest_SETTLED +} + +type DelforwardResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - Blockheight uint32 `protobuf:"varint,1,opt,name=blockheight,proto3" json:"blockheight,omitempty"` } -func (x *WaitblockheightResponse) Reset() { - *x = WaitblockheightResponse{} +func (x *DelforwardResponse) Reset() { + *x = DelforwardResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[182] + mi := &file_node_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WaitblockheightResponse) String() string { +func (x *DelforwardResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WaitblockheightResponse) ProtoMessage() {} +func (*DelforwardResponse) ProtoMessage() {} -func (x *WaitblockheightResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[182] +func (x *DelforwardResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[171] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17583,45 +17224,36 @@ func (x *WaitblockheightResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WaitblockheightResponse.ProtoReflect.Descriptor instead. -func (*WaitblockheightResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{182} -} - -func (x *WaitblockheightResponse) GetBlockheight() uint32 { - if x != nil { - return x.Blockheight - } - return 0 +// Deprecated: Use DelforwardResponse.ProtoReflect.Descriptor instead. +func (*DelforwardResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{171} } -type WaitRequest struct { +type DisableofferRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Subsystem WaitRequest_WaitSubsystem `protobuf:"varint,1,opt,name=subsystem,proto3,enum=cln.WaitRequest_WaitSubsystem" json:"subsystem,omitempty"` - Indexname WaitRequest_WaitIndexname `protobuf:"varint,2,opt,name=indexname,proto3,enum=cln.WaitRequest_WaitIndexname" json:"indexname,omitempty"` - Nextvalue uint64 `protobuf:"varint,3,opt,name=nextvalue,proto3" json:"nextvalue,omitempty"` + OfferId []byte `protobuf:"bytes,1,opt,name=offer_id,json=offerId,proto3" json:"offer_id,omitempty"` } -func (x *WaitRequest) Reset() { - *x = WaitRequest{} +func (x *DisableofferRequest) Reset() { + *x = DisableofferRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[183] + mi := &file_node_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WaitRequest) String() string { +func (x *DisableofferRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WaitRequest) ProtoMessage() {} +func (*DisableofferRequest) ProtoMessage() {} -func (x *WaitRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[183] +func (x *DisableofferRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[172] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17632,60 +17264,48 @@ func (x *WaitRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WaitRequest.ProtoReflect.Descriptor instead. -func (*WaitRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{183} -} - -func (x *WaitRequest) GetSubsystem() WaitRequest_WaitSubsystem { - if x != nil { - return x.Subsystem - } - return WaitRequest_INVOICES -} - -func (x *WaitRequest) GetIndexname() WaitRequest_WaitIndexname { - if x != nil { - return x.Indexname - } - return WaitRequest_CREATED +// Deprecated: Use DisableofferRequest.ProtoReflect.Descriptor instead. +func (*DisableofferRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{172} } -func (x *WaitRequest) GetNextvalue() uint64 { +func (x *DisableofferRequest) GetOfferId() []byte { if x != nil { - return x.Nextvalue + return x.OfferId } - return 0 + return nil } -type WaitResponse struct { +type DisableofferResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Subsystem WaitResponse_WaitSubsystem `protobuf:"varint,1,opt,name=subsystem,proto3,enum=cln.WaitResponse_WaitSubsystem" json:"subsystem,omitempty"` - Created *uint64 `protobuf:"varint,2,opt,name=created,proto3,oneof" json:"created,omitempty"` - Updated *uint64 `protobuf:"varint,3,opt,name=updated,proto3,oneof" json:"updated,omitempty"` - Deleted *uint64 `protobuf:"varint,4,opt,name=deleted,proto3,oneof" json:"deleted,omitempty"` + OfferId []byte `protobuf:"bytes,1,opt,name=offer_id,json=offerId,proto3" json:"offer_id,omitempty"` + Active bool `protobuf:"varint,2,opt,name=active,proto3" json:"active,omitempty"` + SingleUse bool `protobuf:"varint,3,opt,name=single_use,json=singleUse,proto3" json:"single_use,omitempty"` + Bolt12 string `protobuf:"bytes,4,opt,name=bolt12,proto3" json:"bolt12,omitempty"` + Used bool `protobuf:"varint,5,opt,name=used,proto3" json:"used,omitempty"` + Label *string `protobuf:"bytes,6,opt,name=label,proto3,oneof" json:"label,omitempty"` } -func (x *WaitResponse) Reset() { - *x = WaitResponse{} +func (x *DisableofferResponse) Reset() { + *x = DisableofferResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[184] + mi := &file_node_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *WaitResponse) String() string { +func (x *DisableofferResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*WaitResponse) ProtoMessage() {} +func (*DisableofferResponse) ProtoMessage() {} -func (x *WaitResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[184] +func (x *DisableofferResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[173] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17696,62 +17316,79 @@ func (x *WaitResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use WaitResponse.ProtoReflect.Descriptor instead. -func (*WaitResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{184} +// Deprecated: Use DisableofferResponse.ProtoReflect.Descriptor instead. +func (*DisableofferResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{173} } -func (x *WaitResponse) GetSubsystem() WaitResponse_WaitSubsystem { +func (x *DisableofferResponse) GetOfferId() []byte { if x != nil { - return x.Subsystem + return x.OfferId } - return WaitResponse_INVOICES + return nil } -func (x *WaitResponse) GetCreated() uint64 { - if x != nil && x.Created != nil { - return *x.Created +func (x *DisableofferResponse) GetActive() bool { + if x != nil { + return x.Active } - return 0 + return false } -func (x *WaitResponse) GetUpdated() uint64 { - if x != nil && x.Updated != nil { - return *x.Updated +func (x *DisableofferResponse) GetSingleUse() bool { + if x != nil { + return x.SingleUse } - return 0 + return false } -func (x *WaitResponse) GetDeleted() uint64 { - if x != nil && x.Deleted != nil { - return *x.Deleted +func (x *DisableofferResponse) GetBolt12() string { + if x != nil { + return x.Bolt12 } - return 0 + return "" } -type StopRequest struct { +func (x *DisableofferResponse) GetUsed() bool { + if x != nil { + return x.Used + } + return false +} + +func (x *DisableofferResponse) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label + } + return "" +} + +type DisconnectRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Force *bool `protobuf:"varint,2,opt,name=force,proto3,oneof" json:"force,omitempty"` } -func (x *StopRequest) Reset() { - *x = StopRequest{} +func (x *DisconnectRequest) Reset() { + *x = DisconnectRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[185] + mi := &file_node_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *StopRequest) String() string { +func (x *DisconnectRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StopRequest) ProtoMessage() {} +func (*DisconnectRequest) ProtoMessage() {} -func (x *StopRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[185] +func (x *DisconnectRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[174] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17762,34 +17399,48 @@ func (x *StopRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StopRequest.ProtoReflect.Descriptor instead. -func (*StopRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{185} +// Deprecated: Use DisconnectRequest.ProtoReflect.Descriptor instead. +func (*DisconnectRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{174} } -type StopResponse struct { +func (x *DisconnectRequest) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *DisconnectRequest) GetForce() bool { + if x != nil && x.Force != nil { + return *x.Force + } + return false +} + +type DisconnectResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } -func (x *StopResponse) Reset() { - *x = StopResponse{} +func (x *DisconnectResponse) Reset() { + *x = DisconnectResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[186] + mi := &file_node_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *StopResponse) String() string { +func (x *DisconnectResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*StopResponse) ProtoMessage() {} +func (*DisconnectResponse) ProtoMessage() {} -func (x *StopResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[186] +func (x *DisconnectResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[175] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17800,38 +17451,36 @@ func (x *StopResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use StopResponse.ProtoReflect.Descriptor instead. -func (*StopResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{186} +// Deprecated: Use DisconnectResponse.ProtoReflect.Descriptor instead. +func (*DisconnectResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{175} } -type PreapprovekeysendRequest struct { +type FeeratesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Destination []byte `protobuf:"bytes,1,opt,name=destination,proto3,oneof" json:"destination,omitempty"` - PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3,oneof" json:"payment_hash,omitempty"` - AmountMsat *Amount `protobuf:"bytes,3,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Style FeeratesRequest_FeeratesStyle `protobuf:"varint,1,opt,name=style,proto3,enum=cln.FeeratesRequest_FeeratesStyle" json:"style,omitempty"` } -func (x *PreapprovekeysendRequest) Reset() { - *x = PreapprovekeysendRequest{} +func (x *FeeratesRequest) Reset() { + *x = FeeratesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[187] + mi := &file_node_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PreapprovekeysendRequest) String() string { +func (x *FeeratesRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PreapprovekeysendRequest) ProtoMessage() {} +func (*FeeratesRequest) ProtoMessage() {} -func (x *PreapprovekeysendRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[187] +func (x *FeeratesRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[176] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17842,55 +17491,46 @@ func (x *PreapprovekeysendRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PreapprovekeysendRequest.ProtoReflect.Descriptor instead. -func (*PreapprovekeysendRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{187} -} - -func (x *PreapprovekeysendRequest) GetDestination() []byte { - if x != nil { - return x.Destination - } - return nil -} - -func (x *PreapprovekeysendRequest) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash - } - return nil +// Deprecated: Use FeeratesRequest.ProtoReflect.Descriptor instead. +func (*FeeratesRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{176} } -func (x *PreapprovekeysendRequest) GetAmountMsat() *Amount { +func (x *FeeratesRequest) GetStyle() FeeratesRequest_FeeratesStyle { if x != nil { - return x.AmountMsat + return x.Style } - return nil + return FeeratesRequest_PERKB } -type PreapprovekeysendResponse struct { +type FeeratesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + WarningMissingFeerates *string `protobuf:"bytes,1,opt,name=warning_missing_feerates,json=warningMissingFeerates,proto3,oneof" json:"warning_missing_feerates,omitempty"` + Perkb *FeeratesPerkb `protobuf:"bytes,2,opt,name=perkb,proto3,oneof" json:"perkb,omitempty"` + Perkw *FeeratesPerkw `protobuf:"bytes,3,opt,name=perkw,proto3,oneof" json:"perkw,omitempty"` + OnchainFeeEstimates *FeeratesOnchainFeeEstimates `protobuf:"bytes,4,opt,name=onchain_fee_estimates,json=onchainFeeEstimates,proto3,oneof" json:"onchain_fee_estimates,omitempty"` } -func (x *PreapprovekeysendResponse) Reset() { - *x = PreapprovekeysendResponse{} +func (x *FeeratesResponse) Reset() { + *x = FeeratesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[188] + mi := &file_node_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PreapprovekeysendResponse) String() string { +func (x *FeeratesResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PreapprovekeysendResponse) ProtoMessage() {} +func (*FeeratesResponse) ProtoMessage() {} -func (x *PreapprovekeysendResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[188] +func (x *FeeratesResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[177] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17901,81 +17541,74 @@ func (x *PreapprovekeysendResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PreapprovekeysendResponse.ProtoReflect.Descriptor instead. -func (*PreapprovekeysendResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{188} -} - -type PreapproveinvoiceRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Bolt11 *string `protobuf:"bytes,1,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` +// Deprecated: Use FeeratesResponse.ProtoReflect.Descriptor instead. +func (*FeeratesResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{177} } -func (x *PreapproveinvoiceRequest) Reset() { - *x = PreapproveinvoiceRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[189] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *FeeratesResponse) GetWarningMissingFeerates() string { + if x != nil && x.WarningMissingFeerates != nil { + return *x.WarningMissingFeerates } + return "" } -func (x *PreapproveinvoiceRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PreapproveinvoiceRequest) ProtoMessage() {} - -func (x *PreapproveinvoiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[189] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *FeeratesResponse) GetPerkb() *FeeratesPerkb { + if x != nil { + return x.Perkb } - return mi.MessageOf(x) + return nil } -// Deprecated: Use PreapproveinvoiceRequest.ProtoReflect.Descriptor instead. -func (*PreapproveinvoiceRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{189} +func (x *FeeratesResponse) GetPerkw() *FeeratesPerkw { + if x != nil { + return x.Perkw + } + return nil } -func (x *PreapproveinvoiceRequest) GetBolt11() string { - if x != nil && x.Bolt11 != nil { - return *x.Bolt11 +func (x *FeeratesResponse) GetOnchainFeeEstimates() *FeeratesOnchainFeeEstimates { + if x != nil { + return x.OnchainFeeEstimates } - return "" + return nil } -type PreapproveinvoiceResponse struct { +type FeeratesPerkb struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + MinAcceptable uint32 `protobuf:"varint,1,opt,name=min_acceptable,json=minAcceptable,proto3" json:"min_acceptable,omitempty"` + MaxAcceptable uint32 `protobuf:"varint,2,opt,name=max_acceptable,json=maxAcceptable,proto3" json:"max_acceptable,omitempty"` + Opening *uint32 `protobuf:"varint,3,opt,name=opening,proto3,oneof" json:"opening,omitempty"` + MutualClose *uint32 `protobuf:"varint,4,opt,name=mutual_close,json=mutualClose,proto3,oneof" json:"mutual_close,omitempty"` + UnilateralClose *uint32 `protobuf:"varint,5,opt,name=unilateral_close,json=unilateralClose,proto3,oneof" json:"unilateral_close,omitempty"` + DelayedToUs *uint32 `protobuf:"varint,6,opt,name=delayed_to_us,json=delayedToUs,proto3,oneof" json:"delayed_to_us,omitempty"` + HtlcResolution *uint32 `protobuf:"varint,7,opt,name=htlc_resolution,json=htlcResolution,proto3,oneof" json:"htlc_resolution,omitempty"` + Penalty *uint32 `protobuf:"varint,8,opt,name=penalty,proto3,oneof" json:"penalty,omitempty"` + Estimates []*FeeratesPerkbEstimates `protobuf:"bytes,9,rep,name=estimates,proto3" json:"estimates,omitempty"` + Floor *uint32 `protobuf:"varint,10,opt,name=floor,proto3,oneof" json:"floor,omitempty"` + UnilateralAnchorClose *uint32 `protobuf:"varint,11,opt,name=unilateral_anchor_close,json=unilateralAnchorClose,proto3,oneof" json:"unilateral_anchor_close,omitempty"` } -func (x *PreapproveinvoiceResponse) Reset() { - *x = PreapproveinvoiceResponse{} +func (x *FeeratesPerkb) Reset() { + *x = FeeratesPerkb{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[190] + mi := &file_node_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *PreapproveinvoiceResponse) String() string { +func (x *FeeratesPerkb) String() string { return protoimpl.X.MessageStringOf(x) } -func (*PreapproveinvoiceResponse) ProtoMessage() {} +func (*FeeratesPerkb) ProtoMessage() {} -func (x *PreapproveinvoiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[190] +func (x *FeeratesPerkb) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[178] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -17986,123 +17619,115 @@ func (x *PreapproveinvoiceResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use PreapproveinvoiceResponse.ProtoReflect.Descriptor instead. -func (*PreapproveinvoiceResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{190} +// Deprecated: Use FeeratesPerkb.ProtoReflect.Descriptor instead. +func (*FeeratesPerkb) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{178} } -type StaticbackupRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +func (x *FeeratesPerkb) GetMinAcceptable() uint32 { + if x != nil { + return x.MinAcceptable + } + return 0 } -func (x *StaticbackupRequest) Reset() { - *x = StaticbackupRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[191] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *FeeratesPerkb) GetMaxAcceptable() uint32 { + if x != nil { + return x.MaxAcceptable } + return 0 } -func (x *StaticbackupRequest) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *FeeratesPerkb) GetOpening() uint32 { + if x != nil && x.Opening != nil { + return *x.Opening + } + return 0 } -func (*StaticbackupRequest) ProtoMessage() {} - -func (x *StaticbackupRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[191] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *FeeratesPerkb) GetMutualClose() uint32 { + if x != nil && x.MutualClose != nil { + return *x.MutualClose } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use StaticbackupRequest.ProtoReflect.Descriptor instead. -func (*StaticbackupRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{191} +func (x *FeeratesPerkb) GetUnilateralClose() uint32 { + if x != nil && x.UnilateralClose != nil { + return *x.UnilateralClose + } + return 0 } -type StaticbackupResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Scb [][]byte `protobuf:"bytes,1,rep,name=scb,proto3" json:"scb,omitempty"` +func (x *FeeratesPerkb) GetDelayedToUs() uint32 { + if x != nil && x.DelayedToUs != nil { + return *x.DelayedToUs + } + return 0 } -func (x *StaticbackupResponse) Reset() { - *x = StaticbackupResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[192] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *FeeratesPerkb) GetHtlcResolution() uint32 { + if x != nil && x.HtlcResolution != nil { + return *x.HtlcResolution } + return 0 } -func (x *StaticbackupResponse) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *FeeratesPerkb) GetPenalty() uint32 { + if x != nil && x.Penalty != nil { + return *x.Penalty + } + return 0 } -func (*StaticbackupResponse) ProtoMessage() {} - -func (x *StaticbackupResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[192] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *FeeratesPerkb) GetEstimates() []*FeeratesPerkbEstimates { + if x != nil { + return x.Estimates } - return mi.MessageOf(x) + return nil } -// Deprecated: Use StaticbackupResponse.ProtoReflect.Descriptor instead. -func (*StaticbackupResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{192} +func (x *FeeratesPerkb) GetFloor() uint32 { + if x != nil && x.Floor != nil { + return *x.Floor + } + return 0 } -func (x *StaticbackupResponse) GetScb() [][]byte { - if x != nil { - return x.Scb +func (x *FeeratesPerkb) GetUnilateralAnchorClose() uint32 { + if x != nil && x.UnilateralAnchorClose != nil { + return *x.UnilateralAnchorClose } - return nil + return 0 } -type BkprlistincomeRequest struct { +type FeeratesPerkbEstimates struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ConsolidateFees *bool `protobuf:"varint,1,opt,name=consolidate_fees,json=consolidateFees,proto3,oneof" json:"consolidate_fees,omitempty"` - StartTime *uint32 `protobuf:"varint,2,opt,name=start_time,json=startTime,proto3,oneof" json:"start_time,omitempty"` - EndTime *uint32 `protobuf:"varint,3,opt,name=end_time,json=endTime,proto3,oneof" json:"end_time,omitempty"` + Blockcount uint32 `protobuf:"varint,1,opt,name=blockcount,proto3" json:"blockcount,omitempty"` + Feerate uint32 `protobuf:"varint,2,opt,name=feerate,proto3" json:"feerate,omitempty"` + SmoothedFeerate uint32 `protobuf:"varint,3,opt,name=smoothed_feerate,json=smoothedFeerate,proto3" json:"smoothed_feerate,omitempty"` } -func (x *BkprlistincomeRequest) Reset() { - *x = BkprlistincomeRequest{} +func (x *FeeratesPerkbEstimates) Reset() { + *x = FeeratesPerkbEstimates{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[193] + mi := &file_node_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *BkprlistincomeRequest) String() string { +func (x *FeeratesPerkbEstimates) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BkprlistincomeRequest) ProtoMessage() {} +func (*FeeratesPerkbEstimates) ProtoMessage() {} -func (x *BkprlistincomeRequest) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[193] +func (x *FeeratesPerkbEstimates) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[179] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18113,57 +17738,67 @@ func (x *BkprlistincomeRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BkprlistincomeRequest.ProtoReflect.Descriptor instead. -func (*BkprlistincomeRequest) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{193} +// Deprecated: Use FeeratesPerkbEstimates.ProtoReflect.Descriptor instead. +func (*FeeratesPerkbEstimates) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{179} } -func (x *BkprlistincomeRequest) GetConsolidateFees() bool { - if x != nil && x.ConsolidateFees != nil { - return *x.ConsolidateFees +func (x *FeeratesPerkbEstimates) GetBlockcount() uint32 { + if x != nil { + return x.Blockcount } - return false + return 0 } -func (x *BkprlistincomeRequest) GetStartTime() uint32 { - if x != nil && x.StartTime != nil { - return *x.StartTime +func (x *FeeratesPerkbEstimates) GetFeerate() uint32 { + if x != nil { + return x.Feerate } return 0 } -func (x *BkprlistincomeRequest) GetEndTime() uint32 { - if x != nil && x.EndTime != nil { - return *x.EndTime +func (x *FeeratesPerkbEstimates) GetSmoothedFeerate() uint32 { + if x != nil { + return x.SmoothedFeerate } return 0 } -type BkprlistincomeResponse struct { +type FeeratesPerkw struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - IncomeEvents []*BkprlistincomeIncomeEvents `protobuf:"bytes,1,rep,name=income_events,json=incomeEvents,proto3" json:"income_events,omitempty"` + MinAcceptable uint32 `protobuf:"varint,1,opt,name=min_acceptable,json=minAcceptable,proto3" json:"min_acceptable,omitempty"` + MaxAcceptable uint32 `protobuf:"varint,2,opt,name=max_acceptable,json=maxAcceptable,proto3" json:"max_acceptable,omitempty"` + Opening *uint32 `protobuf:"varint,3,opt,name=opening,proto3,oneof" json:"opening,omitempty"` + MutualClose *uint32 `protobuf:"varint,4,opt,name=mutual_close,json=mutualClose,proto3,oneof" json:"mutual_close,omitempty"` + UnilateralClose *uint32 `protobuf:"varint,5,opt,name=unilateral_close,json=unilateralClose,proto3,oneof" json:"unilateral_close,omitempty"` + DelayedToUs *uint32 `protobuf:"varint,6,opt,name=delayed_to_us,json=delayedToUs,proto3,oneof" json:"delayed_to_us,omitempty"` + HtlcResolution *uint32 `protobuf:"varint,7,opt,name=htlc_resolution,json=htlcResolution,proto3,oneof" json:"htlc_resolution,omitempty"` + Penalty *uint32 `protobuf:"varint,8,opt,name=penalty,proto3,oneof" json:"penalty,omitempty"` + Estimates []*FeeratesPerkwEstimates `protobuf:"bytes,9,rep,name=estimates,proto3" json:"estimates,omitempty"` + Floor *uint32 `protobuf:"varint,10,opt,name=floor,proto3,oneof" json:"floor,omitempty"` + UnilateralAnchorClose *uint32 `protobuf:"varint,11,opt,name=unilateral_anchor_close,json=unilateralAnchorClose,proto3,oneof" json:"unilateral_anchor_close,omitempty"` } -func (x *BkprlistincomeResponse) Reset() { - *x = BkprlistincomeResponse{} +func (x *FeeratesPerkw) Reset() { + *x = FeeratesPerkw{} if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[194] + mi := &file_node_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *BkprlistincomeResponse) String() string { +func (x *FeeratesPerkw) String() string { return protoimpl.X.MessageStringOf(x) } -func (*BkprlistincomeResponse) ProtoMessage() {} +func (*FeeratesPerkw) ProtoMessage() {} -func (x *BkprlistincomeResponse) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[194] +func (x *FeeratesPerkw) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[180] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -18174,176 +17809,16652 @@ func (x *BkprlistincomeResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use BkprlistincomeResponse.ProtoReflect.Descriptor instead. -func (*BkprlistincomeResponse) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{194} +// Deprecated: Use FeeratesPerkw.ProtoReflect.Descriptor instead. +func (*FeeratesPerkw) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{180} } -func (x *BkprlistincomeResponse) GetIncomeEvents() []*BkprlistincomeIncomeEvents { +func (x *FeeratesPerkw) GetMinAcceptable() uint32 { if x != nil { - return x.IncomeEvents + return x.MinAcceptable } - return nil + return 0 } -type BkprlistincomeIncomeEvents struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` - Tag string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"` - CreditMsat *Amount `protobuf:"bytes,3,opt,name=credit_msat,json=creditMsat,proto3" json:"credit_msat,omitempty"` - DebitMsat *Amount `protobuf:"bytes,4,opt,name=debit_msat,json=debitMsat,proto3" json:"debit_msat,omitempty"` - Currency string `protobuf:"bytes,5,opt,name=currency,proto3" json:"currency,omitempty"` - Timestamp uint32 `protobuf:"varint,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Description *string `protobuf:"bytes,7,opt,name=description,proto3,oneof" json:"description,omitempty"` - Outpoint *string `protobuf:"bytes,8,opt,name=outpoint,proto3,oneof" json:"outpoint,omitempty"` - Txid []byte `protobuf:"bytes,9,opt,name=txid,proto3,oneof" json:"txid,omitempty"` - PaymentId []byte `protobuf:"bytes,10,opt,name=payment_id,json=paymentId,proto3,oneof" json:"payment_id,omitempty"` +func (x *FeeratesPerkw) GetMaxAcceptable() uint32 { + if x != nil { + return x.MaxAcceptable + } + return 0 } -func (x *BkprlistincomeIncomeEvents) Reset() { - *x = BkprlistincomeIncomeEvents{} - if protoimpl.UnsafeEnabled { - mi := &file_node_proto_msgTypes[195] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) +func (x *FeeratesPerkw) GetOpening() uint32 { + if x != nil && x.Opening != nil { + return *x.Opening } + return 0 } -func (x *BkprlistincomeIncomeEvents) String() string { - return protoimpl.X.MessageStringOf(x) +func (x *FeeratesPerkw) GetMutualClose() uint32 { + if x != nil && x.MutualClose != nil { + return *x.MutualClose + } + return 0 } -func (*BkprlistincomeIncomeEvents) ProtoMessage() {} +func (x *FeeratesPerkw) GetUnilateralClose() uint32 { + if x != nil && x.UnilateralClose != nil { + return *x.UnilateralClose + } + return 0 +} -func (x *BkprlistincomeIncomeEvents) ProtoReflect() protoreflect.Message { - mi := &file_node_proto_msgTypes[195] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms +func (x *FeeratesPerkw) GetDelayedToUs() uint32 { + if x != nil && x.DelayedToUs != nil { + return *x.DelayedToUs } - return mi.MessageOf(x) + return 0 } -// Deprecated: Use BkprlistincomeIncomeEvents.ProtoReflect.Descriptor instead. -func (*BkprlistincomeIncomeEvents) Descriptor() ([]byte, []int) { - return file_node_proto_rawDescGZIP(), []int{195} +func (x *FeeratesPerkw) GetHtlcResolution() uint32 { + if x != nil && x.HtlcResolution != nil { + return *x.HtlcResolution + } + return 0 } -func (x *BkprlistincomeIncomeEvents) GetAccount() string { - if x != nil { - return x.Account +func (x *FeeratesPerkw) GetPenalty() uint32 { + if x != nil && x.Penalty != nil { + return *x.Penalty } - return "" + return 0 } -func (x *BkprlistincomeIncomeEvents) GetTag() string { +func (x *FeeratesPerkw) GetEstimates() []*FeeratesPerkwEstimates { if x != nil { - return x.Tag + return x.Estimates } - return "" + return nil } -func (x *BkprlistincomeIncomeEvents) GetCreditMsat() *Amount { +func (x *FeeratesPerkw) GetFloor() uint32 { + if x != nil && x.Floor != nil { + return *x.Floor + } + return 0 +} + +func (x *FeeratesPerkw) GetUnilateralAnchorClose() uint32 { + if x != nil && x.UnilateralAnchorClose != nil { + return *x.UnilateralAnchorClose + } + return 0 +} + +type FeeratesPerkwEstimates struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Blockcount uint32 `protobuf:"varint,1,opt,name=blockcount,proto3" json:"blockcount,omitempty"` + Feerate uint32 `protobuf:"varint,2,opt,name=feerate,proto3" json:"feerate,omitempty"` + SmoothedFeerate uint32 `protobuf:"varint,3,opt,name=smoothed_feerate,json=smoothedFeerate,proto3" json:"smoothed_feerate,omitempty"` +} + +func (x *FeeratesPerkwEstimates) Reset() { + *x = FeeratesPerkwEstimates{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[181] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeeratesPerkwEstimates) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeeratesPerkwEstimates) ProtoMessage() {} + +func (x *FeeratesPerkwEstimates) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[181] + 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 FeeratesPerkwEstimates.ProtoReflect.Descriptor instead. +func (*FeeratesPerkwEstimates) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{181} +} + +func (x *FeeratesPerkwEstimates) GetBlockcount() uint32 { if x != nil { - return x.CreditMsat + return x.Blockcount } - return nil + return 0 } -func (x *BkprlistincomeIncomeEvents) GetDebitMsat() *Amount { +func (x *FeeratesPerkwEstimates) GetFeerate() uint32 { if x != nil { - return x.DebitMsat + return x.Feerate } - return nil + return 0 } -func (x *BkprlistincomeIncomeEvents) GetCurrency() string { +func (x *FeeratesPerkwEstimates) GetSmoothedFeerate() uint32 { if x != nil { - return x.Currency + return x.SmoothedFeerate } - return "" + return 0 } -func (x *BkprlistincomeIncomeEvents) GetTimestamp() uint32 { +type FeeratesOnchainFeeEstimates struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpeningChannelSatoshis uint64 `protobuf:"varint,1,opt,name=opening_channel_satoshis,json=openingChannelSatoshis,proto3" json:"opening_channel_satoshis,omitempty"` + MutualCloseSatoshis uint64 `protobuf:"varint,2,opt,name=mutual_close_satoshis,json=mutualCloseSatoshis,proto3" json:"mutual_close_satoshis,omitempty"` + UnilateralCloseSatoshis uint64 `protobuf:"varint,3,opt,name=unilateral_close_satoshis,json=unilateralCloseSatoshis,proto3" json:"unilateral_close_satoshis,omitempty"` + HtlcTimeoutSatoshis uint64 `protobuf:"varint,4,opt,name=htlc_timeout_satoshis,json=htlcTimeoutSatoshis,proto3" json:"htlc_timeout_satoshis,omitempty"` + HtlcSuccessSatoshis uint64 `protobuf:"varint,5,opt,name=htlc_success_satoshis,json=htlcSuccessSatoshis,proto3" json:"htlc_success_satoshis,omitempty"` + UnilateralCloseNonanchorSatoshis *uint64 `protobuf:"varint,6,opt,name=unilateral_close_nonanchor_satoshis,json=unilateralCloseNonanchorSatoshis,proto3,oneof" json:"unilateral_close_nonanchor_satoshis,omitempty"` +} + +func (x *FeeratesOnchainFeeEstimates) Reset() { + *x = FeeratesOnchainFeeEstimates{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[182] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FeeratesOnchainFeeEstimates) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FeeratesOnchainFeeEstimates) ProtoMessage() {} + +func (x *FeeratesOnchainFeeEstimates) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[182] + 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 FeeratesOnchainFeeEstimates.ProtoReflect.Descriptor instead. +func (*FeeratesOnchainFeeEstimates) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{182} +} + +func (x *FeeratesOnchainFeeEstimates) GetOpeningChannelSatoshis() uint64 { if x != nil { - return x.Timestamp + return x.OpeningChannelSatoshis } return 0 } -func (x *BkprlistincomeIncomeEvents) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description +func (x *FeeratesOnchainFeeEstimates) GetMutualCloseSatoshis() uint64 { + if x != nil { + return x.MutualCloseSatoshis } - return "" + return 0 } -func (x *BkprlistincomeIncomeEvents) GetOutpoint() string { - if x != nil && x.Outpoint != nil { - return *x.Outpoint +func (x *FeeratesOnchainFeeEstimates) GetUnilateralCloseSatoshis() uint64 { + if x != nil { + return x.UnilateralCloseSatoshis } - return "" + return 0 } -func (x *BkprlistincomeIncomeEvents) GetTxid() []byte { +func (x *FeeratesOnchainFeeEstimates) GetHtlcTimeoutSatoshis() uint64 { if x != nil { - return x.Txid + return x.HtlcTimeoutSatoshis } - return nil + return 0 } -func (x *BkprlistincomeIncomeEvents) GetPaymentId() []byte { +func (x *FeeratesOnchainFeeEstimates) GetHtlcSuccessSatoshis() uint64 { if x != nil { - return x.PaymentId + return x.HtlcSuccessSatoshis + } + return 0 +} + +func (x *FeeratesOnchainFeeEstimates) GetUnilateralCloseNonanchorSatoshis() uint64 { + if x != nil && x.UnilateralCloseNonanchorSatoshis != nil { + return *x.UnilateralCloseNonanchorSatoshis + } + return 0 +} + +type FetchinvoiceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Offer string `protobuf:"bytes,1,opt,name=offer,proto3" json:"offer,omitempty"` + AmountMsat *Amount `protobuf:"bytes,2,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Quantity *uint64 `protobuf:"varint,3,opt,name=quantity,proto3,oneof" json:"quantity,omitempty"` + RecurrenceCounter *uint64 `protobuf:"varint,4,opt,name=recurrence_counter,json=recurrenceCounter,proto3,oneof" json:"recurrence_counter,omitempty"` + RecurrenceStart *float64 `protobuf:"fixed64,5,opt,name=recurrence_start,json=recurrenceStart,proto3,oneof" json:"recurrence_start,omitempty"` + RecurrenceLabel *string `protobuf:"bytes,6,opt,name=recurrence_label,json=recurrenceLabel,proto3,oneof" json:"recurrence_label,omitempty"` + Timeout *float64 `protobuf:"fixed64,7,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"` + PayerNote *string `protobuf:"bytes,8,opt,name=payer_note,json=payerNote,proto3,oneof" json:"payer_note,omitempty"` +} + +func (x *FetchinvoiceRequest) Reset() { + *x = FetchinvoiceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[183] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FetchinvoiceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FetchinvoiceRequest) ProtoMessage() {} + +func (x *FetchinvoiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[183] + 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 FetchinvoiceRequest.ProtoReflect.Descriptor instead. +func (*FetchinvoiceRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{183} +} + +func (x *FetchinvoiceRequest) GetOffer() string { + if x != nil { + return x.Offer + } + return "" +} + +func (x *FetchinvoiceRequest) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat } return nil } -var File_node_proto protoreflect.FileDescriptor +func (x *FetchinvoiceRequest) GetQuantity() uint64 { + if x != nil && x.Quantity != nil { + return *x.Quantity + } + return 0 +} -var file_node_proto_rawDesc = []byte{ - 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x63, 0x6c, - 0x6e, 0x1a, 0x10, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x10, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa4, 0x06, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x69, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, - 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, - 0x6d, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, - 0x75, 0x6d, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x75, 0x6d, 0x5f, 0x70, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x75, 0x6d, - 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6e, 0x75, 0x6d, 0x49, 0x6e, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x67, 0x68, 0x74, - 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x12, 0x40, 0x0a, 0x0c, - 0x6f, 0x75, 0x72, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, - 0x4f, 0x75, 0x72, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x48, 0x01, 0x52, 0x0b, - 0x6f, 0x75, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x20, - 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3b, 0x0a, 0x13, 0x66, 0x65, - 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x11, 0x66, 0x65, 0x65, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x2d, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, +func (x *FetchinvoiceRequest) GetRecurrenceCounter() uint64 { + if x != nil && x.RecurrenceCounter != nil { + return *x.RecurrenceCounter + } + return 0 +} + +func (x *FetchinvoiceRequest) GetRecurrenceStart() float64 { + if x != nil && x.RecurrenceStart != nil { + return *x.RecurrenceStart + } + return 0 +} + +func (x *FetchinvoiceRequest) GetRecurrenceLabel() string { + if x != nil && x.RecurrenceLabel != nil { + return *x.RecurrenceLabel + } + return "" +} + +func (x *FetchinvoiceRequest) GetTimeout() float64 { + if x != nil && x.Timeout != nil { + return *x.Timeout + } + return 0 +} + +func (x *FetchinvoiceRequest) GetPayerNote() string { + if x != nil && x.PayerNote != nil { + return *x.PayerNote + } + return "" +} + +type FetchinvoiceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Invoice string `protobuf:"bytes,1,opt,name=invoice,proto3" json:"invoice,omitempty"` + Changes *FetchinvoiceChanges `protobuf:"bytes,2,opt,name=changes,proto3" json:"changes,omitempty"` + NextPeriod *FetchinvoiceNextPeriod `protobuf:"bytes,3,opt,name=next_period,json=nextPeriod,proto3,oneof" json:"next_period,omitempty"` +} + +func (x *FetchinvoiceResponse) Reset() { + *x = FetchinvoiceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[184] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FetchinvoiceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FetchinvoiceResponse) ProtoMessage() {} + +func (x *FetchinvoiceResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[184] + 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 FetchinvoiceResponse.ProtoReflect.Descriptor instead. +func (*FetchinvoiceResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{184} +} + +func (x *FetchinvoiceResponse) GetInvoice() string { + if x != nil { + return x.Invoice + } + return "" +} + +func (x *FetchinvoiceResponse) GetChanges() *FetchinvoiceChanges { + if x != nil { + return x.Changes + } + return nil +} + +func (x *FetchinvoiceResponse) GetNextPeriod() *FetchinvoiceNextPeriod { + if x != nil { + return x.NextPeriod + } + return nil +} + +type FetchinvoiceChanges struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DescriptionAppended *string `protobuf:"bytes,1,opt,name=description_appended,json=descriptionAppended,proto3,oneof" json:"description_appended,omitempty"` + Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"` + VendorRemoved *string `protobuf:"bytes,3,opt,name=vendor_removed,json=vendorRemoved,proto3,oneof" json:"vendor_removed,omitempty"` + Vendor *string `protobuf:"bytes,4,opt,name=vendor,proto3,oneof" json:"vendor,omitempty"` + AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` +} + +func (x *FetchinvoiceChanges) Reset() { + *x = FetchinvoiceChanges{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[185] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FetchinvoiceChanges) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FetchinvoiceChanges) ProtoMessage() {} + +func (x *FetchinvoiceChanges) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[185] + 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 FetchinvoiceChanges.ProtoReflect.Descriptor instead. +func (*FetchinvoiceChanges) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{185} +} + +func (x *FetchinvoiceChanges) GetDescriptionAppended() string { + if x != nil && x.DescriptionAppended != nil { + return *x.DescriptionAppended + } + return "" +} + +func (x *FetchinvoiceChanges) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *FetchinvoiceChanges) GetVendorRemoved() string { + if x != nil && x.VendorRemoved != nil { + return *x.VendorRemoved + } + return "" +} + +func (x *FetchinvoiceChanges) GetVendor() string { + if x != nil && x.Vendor != nil { + return *x.Vendor + } + return "" +} + +func (x *FetchinvoiceChanges) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil +} + +type FetchinvoiceNextPeriod struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Counter uint64 `protobuf:"varint,1,opt,name=counter,proto3" json:"counter,omitempty"` + Starttime uint64 `protobuf:"varint,2,opt,name=starttime,proto3" json:"starttime,omitempty"` + Endtime uint64 `protobuf:"varint,3,opt,name=endtime,proto3" json:"endtime,omitempty"` + PaywindowStart uint64 `protobuf:"varint,4,opt,name=paywindow_start,json=paywindowStart,proto3" json:"paywindow_start,omitempty"` + PaywindowEnd uint64 `protobuf:"varint,5,opt,name=paywindow_end,json=paywindowEnd,proto3" json:"paywindow_end,omitempty"` +} + +func (x *FetchinvoiceNextPeriod) Reset() { + *x = FetchinvoiceNextPeriod{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[186] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FetchinvoiceNextPeriod) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FetchinvoiceNextPeriod) ProtoMessage() {} + +func (x *FetchinvoiceNextPeriod) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[186] + 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 FetchinvoiceNextPeriod.ProtoReflect.Descriptor instead. +func (*FetchinvoiceNextPeriod) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{186} +} + +func (x *FetchinvoiceNextPeriod) GetCounter() uint64 { + if x != nil { + return x.Counter + } + return 0 +} + +func (x *FetchinvoiceNextPeriod) GetStarttime() uint64 { + if x != nil { + return x.Starttime + } + return 0 +} + +func (x *FetchinvoiceNextPeriod) GetEndtime() uint64 { + if x != nil { + return x.Endtime + } + return 0 +} + +func (x *FetchinvoiceNextPeriod) GetPaywindowStart() uint64 { + if x != nil { + return x.PaywindowStart + } + return 0 +} + +func (x *FetchinvoiceNextPeriod) GetPaywindowEnd() uint64 { + if x != nil { + return x.PaywindowEnd + } + return 0 +} + +type FundchannelCancelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *FundchannelCancelRequest) Reset() { + *x = FundchannelCancelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[187] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundchannelCancelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundchannelCancelRequest) ProtoMessage() {} + +func (x *FundchannelCancelRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[187] + 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 FundchannelCancelRequest.ProtoReflect.Descriptor instead. +func (*FundchannelCancelRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{187} +} + +func (x *FundchannelCancelRequest) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +type FundchannelCancelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cancelled string `protobuf:"bytes,1,opt,name=cancelled,proto3" json:"cancelled,omitempty"` +} + +func (x *FundchannelCancelResponse) Reset() { + *x = FundchannelCancelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[188] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundchannelCancelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundchannelCancelResponse) ProtoMessage() {} + +func (x *FundchannelCancelResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[188] + 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 FundchannelCancelResponse.ProtoReflect.Descriptor instead. +func (*FundchannelCancelResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{188} +} + +func (x *FundchannelCancelResponse) GetCancelled() string { + if x != nil { + return x.Cancelled + } + return "" +} + +type FundchannelCompleteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Psbt string `protobuf:"bytes,2,opt,name=psbt,proto3" json:"psbt,omitempty"` +} + +func (x *FundchannelCompleteRequest) Reset() { + *x = FundchannelCompleteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[189] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundchannelCompleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundchannelCompleteRequest) ProtoMessage() {} + +func (x *FundchannelCompleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[189] + 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 FundchannelCompleteRequest.ProtoReflect.Descriptor instead. +func (*FundchannelCompleteRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{189} +} + +func (x *FundchannelCompleteRequest) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *FundchannelCompleteRequest) GetPsbt() string { + if x != nil { + return x.Psbt + } + return "" +} + +type FundchannelCompleteResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelId []byte `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + CommitmentsSecured bool `protobuf:"varint,2,opt,name=commitments_secured,json=commitmentsSecured,proto3" json:"commitments_secured,omitempty"` +} + +func (x *FundchannelCompleteResponse) Reset() { + *x = FundchannelCompleteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[190] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundchannelCompleteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundchannelCompleteResponse) ProtoMessage() {} + +func (x *FundchannelCompleteResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[190] + 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 FundchannelCompleteResponse.ProtoReflect.Descriptor instead. +func (*FundchannelCompleteResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{190} +} + +func (x *FundchannelCompleteResponse) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *FundchannelCompleteResponse) GetCommitmentsSecured() bool { + if x != nil { + return x.CommitmentsSecured + } + return false +} + +type FundchannelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Amount *AmountOrAll `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` + Feerate *Feerate `protobuf:"bytes,2,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` + Announce *bool `protobuf:"varint,3,opt,name=announce,proto3,oneof" json:"announce,omitempty"` + PushMsat *Amount `protobuf:"bytes,5,opt,name=push_msat,json=pushMsat,proto3,oneof" json:"push_msat,omitempty"` + CloseTo *string `protobuf:"bytes,6,opt,name=close_to,json=closeTo,proto3,oneof" json:"close_to,omitempty"` + RequestAmt *Amount `protobuf:"bytes,7,opt,name=request_amt,json=requestAmt,proto3,oneof" json:"request_amt,omitempty"` + CompactLease *string `protobuf:"bytes,8,opt,name=compact_lease,json=compactLease,proto3,oneof" json:"compact_lease,omitempty"` + Id []byte `protobuf:"bytes,9,opt,name=id,proto3" json:"id,omitempty"` + Minconf *uint32 `protobuf:"varint,10,opt,name=minconf,proto3,oneof" json:"minconf,omitempty"` + Utxos []*Outpoint `protobuf:"bytes,11,rep,name=utxos,proto3" json:"utxos,omitempty"` + Mindepth *uint32 `protobuf:"varint,12,opt,name=mindepth,proto3,oneof" json:"mindepth,omitempty"` + Reserve *Amount `protobuf:"bytes,13,opt,name=reserve,proto3,oneof" json:"reserve,omitempty"` + ChannelType []uint32 `protobuf:"varint,14,rep,packed,name=channel_type,json=channelType,proto3" json:"channel_type,omitempty"` +} + +func (x *FundchannelRequest) Reset() { + *x = FundchannelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[191] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundchannelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundchannelRequest) ProtoMessage() {} + +func (x *FundchannelRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[191] + 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 FundchannelRequest.ProtoReflect.Descriptor instead. +func (*FundchannelRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{191} +} + +func (x *FundchannelRequest) GetAmount() *AmountOrAll { + if x != nil { + return x.Amount + } + return nil +} + +func (x *FundchannelRequest) GetFeerate() *Feerate { + if x != nil { + return x.Feerate + } + return nil +} + +func (x *FundchannelRequest) GetAnnounce() bool { + if x != nil && x.Announce != nil { + return *x.Announce + } + return false +} + +func (x *FundchannelRequest) GetPushMsat() *Amount { + if x != nil { + return x.PushMsat + } + return nil +} + +func (x *FundchannelRequest) GetCloseTo() string { + if x != nil && x.CloseTo != nil { + return *x.CloseTo + } + return "" +} + +func (x *FundchannelRequest) GetRequestAmt() *Amount { + if x != nil { + return x.RequestAmt + } + return nil +} + +func (x *FundchannelRequest) GetCompactLease() string { + if x != nil && x.CompactLease != nil { + return *x.CompactLease + } + return "" +} + +func (x *FundchannelRequest) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *FundchannelRequest) GetMinconf() uint32 { + if x != nil && x.Minconf != nil { + return *x.Minconf + } + return 0 +} + +func (x *FundchannelRequest) GetUtxos() []*Outpoint { + if x != nil { + return x.Utxos + } + return nil +} + +func (x *FundchannelRequest) GetMindepth() uint32 { + if x != nil && x.Mindepth != nil { + return *x.Mindepth + } + return 0 +} + +func (x *FundchannelRequest) GetReserve() *Amount { + if x != nil { + return x.Reserve + } + return nil +} + +func (x *FundchannelRequest) GetChannelType() []uint32 { + if x != nil { + return x.ChannelType + } + return nil +} + +type FundchannelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` + Txid []byte `protobuf:"bytes,2,opt,name=txid,proto3" json:"txid,omitempty"` + Outnum uint32 `protobuf:"varint,3,opt,name=outnum,proto3" json:"outnum,omitempty"` + ChannelId []byte `protobuf:"bytes,4,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + CloseTo []byte `protobuf:"bytes,5,opt,name=close_to,json=closeTo,proto3,oneof" json:"close_to,omitempty"` + Mindepth *uint32 `protobuf:"varint,6,opt,name=mindepth,proto3,oneof" json:"mindepth,omitempty"` + ChannelType *FundchannelChannelType `protobuf:"bytes,7,opt,name=channel_type,json=channelType,proto3,oneof" json:"channel_type,omitempty"` +} + +func (x *FundchannelResponse) Reset() { + *x = FundchannelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[192] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundchannelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundchannelResponse) ProtoMessage() {} + +func (x *FundchannelResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[192] + 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 FundchannelResponse.ProtoReflect.Descriptor instead. +func (*FundchannelResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{192} +} + +func (x *FundchannelResponse) GetTx() []byte { + if x != nil { + return x.Tx + } + return nil +} + +func (x *FundchannelResponse) GetTxid() []byte { + if x != nil { + return x.Txid + } + return nil +} + +func (x *FundchannelResponse) GetOutnum() uint32 { + if x != nil { + return x.Outnum + } + return 0 +} + +func (x *FundchannelResponse) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *FundchannelResponse) GetCloseTo() []byte { + if x != nil { + return x.CloseTo + } + return nil +} + +func (x *FundchannelResponse) GetMindepth() uint32 { + if x != nil && x.Mindepth != nil { + return *x.Mindepth + } + return 0 +} + +func (x *FundchannelResponse) GetChannelType() *FundchannelChannelType { + if x != nil { + return x.ChannelType + } + return nil +} + +type FundchannelChannelType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bits []uint32 `protobuf:"varint,1,rep,packed,name=bits,proto3" json:"bits,omitempty"` + Names []ChannelTypeName `protobuf:"varint,2,rep,packed,name=names,proto3,enum=cln.ChannelTypeName" json:"names,omitempty"` +} + +func (x *FundchannelChannelType) Reset() { + *x = FundchannelChannelType{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[193] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundchannelChannelType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundchannelChannelType) ProtoMessage() {} + +func (x *FundchannelChannelType) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[193] + 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 FundchannelChannelType.ProtoReflect.Descriptor instead. +func (*FundchannelChannelType) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{193} +} + +func (x *FundchannelChannelType) GetBits() []uint32 { + if x != nil { + return x.Bits + } + return nil +} + +func (x *FundchannelChannelType) GetNames() []ChannelTypeName { + if x != nil { + return x.Names + } + return nil +} + +type FundchannelStartRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Amount *Amount `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` + Feerate *Feerate `protobuf:"bytes,3,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` + Announce *bool `protobuf:"varint,4,opt,name=announce,proto3,oneof" json:"announce,omitempty"` + CloseTo *string `protobuf:"bytes,5,opt,name=close_to,json=closeTo,proto3,oneof" json:"close_to,omitempty"` + PushMsat *Amount `protobuf:"bytes,6,opt,name=push_msat,json=pushMsat,proto3,oneof" json:"push_msat,omitempty"` + Mindepth *uint32 `protobuf:"varint,7,opt,name=mindepth,proto3,oneof" json:"mindepth,omitempty"` + Reserve *Amount `protobuf:"bytes,8,opt,name=reserve,proto3,oneof" json:"reserve,omitempty"` + ChannelType []uint32 `protobuf:"varint,9,rep,packed,name=channel_type,json=channelType,proto3" json:"channel_type,omitempty"` +} + +func (x *FundchannelStartRequest) Reset() { + *x = FundchannelStartRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[194] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundchannelStartRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundchannelStartRequest) ProtoMessage() {} + +func (x *FundchannelStartRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[194] + 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 FundchannelStartRequest.ProtoReflect.Descriptor instead. +func (*FundchannelStartRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{194} +} + +func (x *FundchannelStartRequest) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *FundchannelStartRequest) GetAmount() *Amount { + if x != nil { + return x.Amount + } + return nil +} + +func (x *FundchannelStartRequest) GetFeerate() *Feerate { + if x != nil { + return x.Feerate + } + return nil +} + +func (x *FundchannelStartRequest) GetAnnounce() bool { + if x != nil && x.Announce != nil { + return *x.Announce + } + return false +} + +func (x *FundchannelStartRequest) GetCloseTo() string { + if x != nil && x.CloseTo != nil { + return *x.CloseTo + } + return "" +} + +func (x *FundchannelStartRequest) GetPushMsat() *Amount { + if x != nil { + return x.PushMsat + } + return nil +} + +func (x *FundchannelStartRequest) GetMindepth() uint32 { + if x != nil && x.Mindepth != nil { + return *x.Mindepth + } + return 0 +} + +func (x *FundchannelStartRequest) GetReserve() *Amount { + if x != nil { + return x.Reserve + } + return nil +} + +func (x *FundchannelStartRequest) GetChannelType() []uint32 { + if x != nil { + return x.ChannelType + } + return nil +} + +type FundchannelStartResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FundingAddress string `protobuf:"bytes,1,opt,name=funding_address,json=fundingAddress,proto3" json:"funding_address,omitempty"` + Scriptpubkey []byte `protobuf:"bytes,2,opt,name=scriptpubkey,proto3" json:"scriptpubkey,omitempty"` + ChannelType *FundchannelStartChannelType `protobuf:"bytes,3,opt,name=channel_type,json=channelType,proto3,oneof" json:"channel_type,omitempty"` + CloseTo []byte `protobuf:"bytes,4,opt,name=close_to,json=closeTo,proto3,oneof" json:"close_to,omitempty"` + WarningUsage string `protobuf:"bytes,5,opt,name=warning_usage,json=warningUsage,proto3" json:"warning_usage,omitempty"` + Mindepth *uint32 `protobuf:"varint,6,opt,name=mindepth,proto3,oneof" json:"mindepth,omitempty"` +} + +func (x *FundchannelStartResponse) Reset() { + *x = FundchannelStartResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[195] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundchannelStartResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundchannelStartResponse) ProtoMessage() {} + +func (x *FundchannelStartResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[195] + 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 FundchannelStartResponse.ProtoReflect.Descriptor instead. +func (*FundchannelStartResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{195} +} + +func (x *FundchannelStartResponse) GetFundingAddress() string { + if x != nil { + return x.FundingAddress + } + return "" +} + +func (x *FundchannelStartResponse) GetScriptpubkey() []byte { + if x != nil { + return x.Scriptpubkey + } + return nil +} + +func (x *FundchannelStartResponse) GetChannelType() *FundchannelStartChannelType { + if x != nil { + return x.ChannelType + } + return nil +} + +func (x *FundchannelStartResponse) GetCloseTo() []byte { + if x != nil { + return x.CloseTo + } + return nil +} + +func (x *FundchannelStartResponse) GetWarningUsage() string { + if x != nil { + return x.WarningUsage + } + return "" +} + +func (x *FundchannelStartResponse) GetMindepth() uint32 { + if x != nil && x.Mindepth != nil { + return *x.Mindepth + } + return 0 +} + +type FundchannelStartChannelType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bits []uint32 `protobuf:"varint,1,rep,packed,name=bits,proto3" json:"bits,omitempty"` + Names []ChannelTypeName `protobuf:"varint,2,rep,packed,name=names,proto3,enum=cln.ChannelTypeName" json:"names,omitempty"` +} + +func (x *FundchannelStartChannelType) Reset() { + *x = FundchannelStartChannelType{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[196] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FundchannelStartChannelType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FundchannelStartChannelType) ProtoMessage() {} + +func (x *FundchannelStartChannelType) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[196] + 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 FundchannelStartChannelType.ProtoReflect.Descriptor instead. +func (*FundchannelStartChannelType) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{196} +} + +func (x *FundchannelStartChannelType) GetBits() []uint32 { + if x != nil { + return x.Bits + } + return nil +} + +func (x *FundchannelStartChannelType) GetNames() []ChannelTypeName { + if x != nil { + return x.Names + } + return nil +} + +type GetlogRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Level *GetlogRequest_GetlogLevel `protobuf:"varint,1,opt,name=level,proto3,enum=cln.GetlogRequest_GetlogLevel,oneof" json:"level,omitempty"` +} + +func (x *GetlogRequest) Reset() { + *x = GetlogRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[197] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetlogRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetlogRequest) ProtoMessage() {} + +func (x *GetlogRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[197] + 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 GetlogRequest.ProtoReflect.Descriptor instead. +func (*GetlogRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{197} +} + +func (x *GetlogRequest) GetLevel() GetlogRequest_GetlogLevel { + if x != nil && x.Level != nil { + return *x.Level + } + return GetlogRequest_BROKEN +} + +type GetlogResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CreatedAt string `protobuf:"bytes,1,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + BytesUsed uint32 `protobuf:"varint,2,opt,name=bytes_used,json=bytesUsed,proto3" json:"bytes_used,omitempty"` + BytesMax uint32 `protobuf:"varint,3,opt,name=bytes_max,json=bytesMax,proto3" json:"bytes_max,omitempty"` + Log []*GetlogLog `protobuf:"bytes,4,rep,name=log,proto3" json:"log,omitempty"` +} + +func (x *GetlogResponse) Reset() { + *x = GetlogResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[198] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetlogResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetlogResponse) ProtoMessage() {} + +func (x *GetlogResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[198] + 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 GetlogResponse.ProtoReflect.Descriptor instead. +func (*GetlogResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{198} +} + +func (x *GetlogResponse) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *GetlogResponse) GetBytesUsed() uint32 { + if x != nil { + return x.BytesUsed + } + return 0 +} + +func (x *GetlogResponse) GetBytesMax() uint32 { + if x != nil { + return x.BytesMax + } + return 0 +} + +func (x *GetlogResponse) GetLog() []*GetlogLog { + if x != nil { + return x.Log + } + return nil +} + +type GetlogLog struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemType GetlogLog_GetlogLogType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.GetlogLog_GetlogLogType" json:"item_type,omitempty"` + NumSkipped *uint32 `protobuf:"varint,2,opt,name=num_skipped,json=numSkipped,proto3,oneof" json:"num_skipped,omitempty"` + Time *string `protobuf:"bytes,3,opt,name=time,proto3,oneof" json:"time,omitempty"` + Source *string `protobuf:"bytes,4,opt,name=source,proto3,oneof" json:"source,omitempty"` + Log *string `protobuf:"bytes,5,opt,name=log,proto3,oneof" json:"log,omitempty"` + NodeId []byte `protobuf:"bytes,6,opt,name=node_id,json=nodeId,proto3,oneof" json:"node_id,omitempty"` + Data []byte `protobuf:"bytes,7,opt,name=data,proto3,oneof" json:"data,omitempty"` +} + +func (x *GetlogLog) Reset() { + *x = GetlogLog{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[199] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetlogLog) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetlogLog) ProtoMessage() {} + +func (x *GetlogLog) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[199] + 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 GetlogLog.ProtoReflect.Descriptor instead. +func (*GetlogLog) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{199} +} + +func (x *GetlogLog) GetItemType() GetlogLog_GetlogLogType { + if x != nil { + return x.ItemType + } + return GetlogLog_SKIPPED +} + +func (x *GetlogLog) GetNumSkipped() uint32 { + if x != nil && x.NumSkipped != nil { + return *x.NumSkipped + } + return 0 +} + +func (x *GetlogLog) GetTime() string { + if x != nil && x.Time != nil { + return *x.Time + } + return "" +} + +func (x *GetlogLog) GetSource() string { + if x != nil && x.Source != nil { + return *x.Source + } + return "" +} + +func (x *GetlogLog) GetLog() string { + if x != nil && x.Log != nil { + return *x.Log + } + return "" +} + +func (x *GetlogLog) GetNodeId() []byte { + if x != nil { + return x.NodeId + } + return nil +} + +func (x *GetlogLog) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +type FunderupdateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Policy *FunderupdateRequest_FunderupdatePolicy `protobuf:"varint,1,opt,name=policy,proto3,enum=cln.FunderupdateRequest_FunderupdatePolicy,oneof" json:"policy,omitempty"` + PolicyMod *Amount `protobuf:"bytes,2,opt,name=policy_mod,json=policyMod,proto3,oneof" json:"policy_mod,omitempty"` + LeasesOnly *bool `protobuf:"varint,3,opt,name=leases_only,json=leasesOnly,proto3,oneof" json:"leases_only,omitempty"` + MinTheirFundingMsat *Amount `protobuf:"bytes,4,opt,name=min_their_funding_msat,json=minTheirFundingMsat,proto3,oneof" json:"min_their_funding_msat,omitempty"` + MaxTheirFundingMsat *Amount `protobuf:"bytes,5,opt,name=max_their_funding_msat,json=maxTheirFundingMsat,proto3,oneof" json:"max_their_funding_msat,omitempty"` + PerChannelMinMsat *Amount `protobuf:"bytes,6,opt,name=per_channel_min_msat,json=perChannelMinMsat,proto3,oneof" json:"per_channel_min_msat,omitempty"` + PerChannelMaxMsat *Amount `protobuf:"bytes,7,opt,name=per_channel_max_msat,json=perChannelMaxMsat,proto3,oneof" json:"per_channel_max_msat,omitempty"` + ReserveTankMsat *Amount `protobuf:"bytes,8,opt,name=reserve_tank_msat,json=reserveTankMsat,proto3,oneof" json:"reserve_tank_msat,omitempty"` + FuzzPercent *uint32 `protobuf:"varint,9,opt,name=fuzz_percent,json=fuzzPercent,proto3,oneof" json:"fuzz_percent,omitempty"` + FundProbability *uint32 `protobuf:"varint,10,opt,name=fund_probability,json=fundProbability,proto3,oneof" json:"fund_probability,omitempty"` + LeaseFeeBaseMsat *Amount `protobuf:"bytes,11,opt,name=lease_fee_base_msat,json=leaseFeeBaseMsat,proto3,oneof" json:"lease_fee_base_msat,omitempty"` + LeaseFeeBasis *uint32 `protobuf:"varint,12,opt,name=lease_fee_basis,json=leaseFeeBasis,proto3,oneof" json:"lease_fee_basis,omitempty"` + FundingWeight *uint32 `protobuf:"varint,13,opt,name=funding_weight,json=fundingWeight,proto3,oneof" json:"funding_weight,omitempty"` + ChannelFeeMaxBaseMsat *Amount `protobuf:"bytes,14,opt,name=channel_fee_max_base_msat,json=channelFeeMaxBaseMsat,proto3,oneof" json:"channel_fee_max_base_msat,omitempty"` + ChannelFeeMaxProportionalThousandths *uint32 `protobuf:"varint,15,opt,name=channel_fee_max_proportional_thousandths,json=channelFeeMaxProportionalThousandths,proto3,oneof" json:"channel_fee_max_proportional_thousandths,omitempty"` + CompactLease []byte `protobuf:"bytes,16,opt,name=compact_lease,json=compactLease,proto3,oneof" json:"compact_lease,omitempty"` +} + +func (x *FunderupdateRequest) Reset() { + *x = FunderupdateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[200] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FunderupdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FunderupdateRequest) ProtoMessage() {} + +func (x *FunderupdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[200] + 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 FunderupdateRequest.ProtoReflect.Descriptor instead. +func (*FunderupdateRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{200} +} + +func (x *FunderupdateRequest) GetPolicy() FunderupdateRequest_FunderupdatePolicy { + if x != nil && x.Policy != nil { + return *x.Policy + } + return FunderupdateRequest_MATCH +} + +func (x *FunderupdateRequest) GetPolicyMod() *Amount { + if x != nil { + return x.PolicyMod + } + return nil +} + +func (x *FunderupdateRequest) GetLeasesOnly() bool { + if x != nil && x.LeasesOnly != nil { + return *x.LeasesOnly + } + return false +} + +func (x *FunderupdateRequest) GetMinTheirFundingMsat() *Amount { + if x != nil { + return x.MinTheirFundingMsat + } + return nil +} + +func (x *FunderupdateRequest) GetMaxTheirFundingMsat() *Amount { + if x != nil { + return x.MaxTheirFundingMsat + } + return nil +} + +func (x *FunderupdateRequest) GetPerChannelMinMsat() *Amount { + if x != nil { + return x.PerChannelMinMsat + } + return nil +} + +func (x *FunderupdateRequest) GetPerChannelMaxMsat() *Amount { + if x != nil { + return x.PerChannelMaxMsat + } + return nil +} + +func (x *FunderupdateRequest) GetReserveTankMsat() *Amount { + if x != nil { + return x.ReserveTankMsat + } + return nil +} + +func (x *FunderupdateRequest) GetFuzzPercent() uint32 { + if x != nil && x.FuzzPercent != nil { + return *x.FuzzPercent + } + return 0 +} + +func (x *FunderupdateRequest) GetFundProbability() uint32 { + if x != nil && x.FundProbability != nil { + return *x.FundProbability + } + return 0 +} + +func (x *FunderupdateRequest) GetLeaseFeeBaseMsat() *Amount { + if x != nil { + return x.LeaseFeeBaseMsat + } + return nil +} + +func (x *FunderupdateRequest) GetLeaseFeeBasis() uint32 { + if x != nil && x.LeaseFeeBasis != nil { + return *x.LeaseFeeBasis + } + return 0 +} + +func (x *FunderupdateRequest) GetFundingWeight() uint32 { + if x != nil && x.FundingWeight != nil { + return *x.FundingWeight + } + return 0 +} + +func (x *FunderupdateRequest) GetChannelFeeMaxBaseMsat() *Amount { + if x != nil { + return x.ChannelFeeMaxBaseMsat + } + return nil +} + +func (x *FunderupdateRequest) GetChannelFeeMaxProportionalThousandths() uint32 { + if x != nil && x.ChannelFeeMaxProportionalThousandths != nil { + return *x.ChannelFeeMaxProportionalThousandths + } + return 0 +} + +func (x *FunderupdateRequest) GetCompactLease() []byte { + if x != nil { + return x.CompactLease + } + return nil +} + +type FunderupdateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Summary string `protobuf:"bytes,1,opt,name=summary,proto3" json:"summary,omitempty"` + Policy FunderupdateResponse_FunderupdatePolicy `protobuf:"varint,2,opt,name=policy,proto3,enum=cln.FunderupdateResponse_FunderupdatePolicy" json:"policy,omitempty"` + PolicyMod uint32 `protobuf:"varint,3,opt,name=policy_mod,json=policyMod,proto3" json:"policy_mod,omitempty"` + LeasesOnly bool `protobuf:"varint,4,opt,name=leases_only,json=leasesOnly,proto3" json:"leases_only,omitempty"` + MinTheirFundingMsat *Amount `protobuf:"bytes,5,opt,name=min_their_funding_msat,json=minTheirFundingMsat,proto3" json:"min_their_funding_msat,omitempty"` + MaxTheirFundingMsat *Amount `protobuf:"bytes,6,opt,name=max_their_funding_msat,json=maxTheirFundingMsat,proto3" json:"max_their_funding_msat,omitempty"` + PerChannelMinMsat *Amount `protobuf:"bytes,7,opt,name=per_channel_min_msat,json=perChannelMinMsat,proto3" json:"per_channel_min_msat,omitempty"` + PerChannelMaxMsat *Amount `protobuf:"bytes,8,opt,name=per_channel_max_msat,json=perChannelMaxMsat,proto3" json:"per_channel_max_msat,omitempty"` + ReserveTankMsat *Amount `protobuf:"bytes,9,opt,name=reserve_tank_msat,json=reserveTankMsat,proto3" json:"reserve_tank_msat,omitempty"` + FuzzPercent uint32 `protobuf:"varint,10,opt,name=fuzz_percent,json=fuzzPercent,proto3" json:"fuzz_percent,omitempty"` + FundProbability uint32 `protobuf:"varint,11,opt,name=fund_probability,json=fundProbability,proto3" json:"fund_probability,omitempty"` + LeaseFeeBaseMsat *Amount `protobuf:"bytes,12,opt,name=lease_fee_base_msat,json=leaseFeeBaseMsat,proto3,oneof" json:"lease_fee_base_msat,omitempty"` + LeaseFeeBasis *uint32 `protobuf:"varint,13,opt,name=lease_fee_basis,json=leaseFeeBasis,proto3,oneof" json:"lease_fee_basis,omitempty"` + FundingWeight *uint32 `protobuf:"varint,14,opt,name=funding_weight,json=fundingWeight,proto3,oneof" json:"funding_weight,omitempty"` + ChannelFeeMaxBaseMsat *Amount `protobuf:"bytes,15,opt,name=channel_fee_max_base_msat,json=channelFeeMaxBaseMsat,proto3,oneof" json:"channel_fee_max_base_msat,omitempty"` + ChannelFeeMaxProportionalThousandths *uint32 `protobuf:"varint,16,opt,name=channel_fee_max_proportional_thousandths,json=channelFeeMaxProportionalThousandths,proto3,oneof" json:"channel_fee_max_proportional_thousandths,omitempty"` + CompactLease []byte `protobuf:"bytes,17,opt,name=compact_lease,json=compactLease,proto3,oneof" json:"compact_lease,omitempty"` +} + +func (x *FunderupdateResponse) Reset() { + *x = FunderupdateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[201] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FunderupdateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FunderupdateResponse) ProtoMessage() {} + +func (x *FunderupdateResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[201] + 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 FunderupdateResponse.ProtoReflect.Descriptor instead. +func (*FunderupdateResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{201} +} + +func (x *FunderupdateResponse) GetSummary() string { + if x != nil { + return x.Summary + } + return "" +} + +func (x *FunderupdateResponse) GetPolicy() FunderupdateResponse_FunderupdatePolicy { + if x != nil { + return x.Policy + } + return FunderupdateResponse_MATCH +} + +func (x *FunderupdateResponse) GetPolicyMod() uint32 { + if x != nil { + return x.PolicyMod + } + return 0 +} + +func (x *FunderupdateResponse) GetLeasesOnly() bool { + if x != nil { + return x.LeasesOnly + } + return false +} + +func (x *FunderupdateResponse) GetMinTheirFundingMsat() *Amount { + if x != nil { + return x.MinTheirFundingMsat + } + return nil +} + +func (x *FunderupdateResponse) GetMaxTheirFundingMsat() *Amount { + if x != nil { + return x.MaxTheirFundingMsat + } + return nil +} + +func (x *FunderupdateResponse) GetPerChannelMinMsat() *Amount { + if x != nil { + return x.PerChannelMinMsat + } + return nil +} + +func (x *FunderupdateResponse) GetPerChannelMaxMsat() *Amount { + if x != nil { + return x.PerChannelMaxMsat + } + return nil +} + +func (x *FunderupdateResponse) GetReserveTankMsat() *Amount { + if x != nil { + return x.ReserveTankMsat + } + return nil +} + +func (x *FunderupdateResponse) GetFuzzPercent() uint32 { + if x != nil { + return x.FuzzPercent + } + return 0 +} + +func (x *FunderupdateResponse) GetFundProbability() uint32 { + if x != nil { + return x.FundProbability + } + return 0 +} + +func (x *FunderupdateResponse) GetLeaseFeeBaseMsat() *Amount { + if x != nil { + return x.LeaseFeeBaseMsat + } + return nil +} + +func (x *FunderupdateResponse) GetLeaseFeeBasis() uint32 { + if x != nil && x.LeaseFeeBasis != nil { + return *x.LeaseFeeBasis + } + return 0 +} + +func (x *FunderupdateResponse) GetFundingWeight() uint32 { + if x != nil && x.FundingWeight != nil { + return *x.FundingWeight + } + return 0 +} + +func (x *FunderupdateResponse) GetChannelFeeMaxBaseMsat() *Amount { + if x != nil { + return x.ChannelFeeMaxBaseMsat + } + return nil +} + +func (x *FunderupdateResponse) GetChannelFeeMaxProportionalThousandths() uint32 { + if x != nil && x.ChannelFeeMaxProportionalThousandths != nil { + return *x.ChannelFeeMaxProportionalThousandths + } + return 0 +} + +func (x *FunderupdateResponse) GetCompactLease() []byte { + if x != nil { + return x.CompactLease + } + return nil +} + +type GetrouteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Riskfactor uint64 `protobuf:"varint,3,opt,name=riskfactor,proto3" json:"riskfactor,omitempty"` + Cltv *uint32 `protobuf:"varint,4,opt,name=cltv,proto3,oneof" json:"cltv,omitempty"` + Fromid []byte `protobuf:"bytes,5,opt,name=fromid,proto3,oneof" json:"fromid,omitempty"` + Fuzzpercent *uint32 `protobuf:"varint,6,opt,name=fuzzpercent,proto3,oneof" json:"fuzzpercent,omitempty"` + Exclude []string `protobuf:"bytes,7,rep,name=exclude,proto3" json:"exclude,omitempty"` + Maxhops *uint32 `protobuf:"varint,8,opt,name=maxhops,proto3,oneof" json:"maxhops,omitempty"` + AmountMsat *Amount `protobuf:"bytes,9,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` +} + +func (x *GetrouteRequest) Reset() { + *x = GetrouteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[202] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetrouteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetrouteRequest) ProtoMessage() {} + +func (x *GetrouteRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[202] + 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 GetrouteRequest.ProtoReflect.Descriptor instead. +func (*GetrouteRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{202} +} + +func (x *GetrouteRequest) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *GetrouteRequest) GetRiskfactor() uint64 { + if x != nil { + return x.Riskfactor + } + return 0 +} + +func (x *GetrouteRequest) GetCltv() uint32 { + if x != nil && x.Cltv != nil { + return *x.Cltv + } + return 0 +} + +func (x *GetrouteRequest) GetFromid() []byte { + if x != nil { + return x.Fromid + } + return nil +} + +func (x *GetrouteRequest) GetFuzzpercent() uint32 { + if x != nil && x.Fuzzpercent != nil { + return *x.Fuzzpercent + } + return 0 +} + +func (x *GetrouteRequest) GetExclude() []string { + if x != nil { + return x.Exclude + } + return nil +} + +func (x *GetrouteRequest) GetMaxhops() uint32 { + if x != nil && x.Maxhops != nil { + return *x.Maxhops + } + return 0 +} + +func (x *GetrouteRequest) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil +} + +type GetrouteResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Route []*GetrouteRoute `protobuf:"bytes,1,rep,name=route,proto3" json:"route,omitempty"` +} + +func (x *GetrouteResponse) Reset() { + *x = GetrouteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[203] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetrouteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetrouteResponse) ProtoMessage() {} + +func (x *GetrouteResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[203] + 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 GetrouteResponse.ProtoReflect.Descriptor instead. +func (*GetrouteResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{203} +} + +func (x *GetrouteResponse) GetRoute() []*GetrouteRoute { + if x != nil { + return x.Route + } + return nil +} + +type GetrouteRoute struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Channel string `protobuf:"bytes,2,opt,name=channel,proto3" json:"channel,omitempty"` + Direction uint32 `protobuf:"varint,3,opt,name=direction,proto3" json:"direction,omitempty"` + AmountMsat *Amount `protobuf:"bytes,4,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` + Delay uint32 `protobuf:"varint,5,opt,name=delay,proto3" json:"delay,omitempty"` + Style GetrouteRoute_GetrouteRouteStyle `protobuf:"varint,6,opt,name=style,proto3,enum=cln.GetrouteRoute_GetrouteRouteStyle" json:"style,omitempty"` +} + +func (x *GetrouteRoute) Reset() { + *x = GetrouteRoute{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[204] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetrouteRoute) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetrouteRoute) ProtoMessage() {} + +func (x *GetrouteRoute) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[204] + 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 GetrouteRoute.ProtoReflect.Descriptor instead. +func (*GetrouteRoute) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{204} +} + +func (x *GetrouteRoute) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *GetrouteRoute) GetChannel() string { + if x != nil { + return x.Channel + } + return "" +} + +func (x *GetrouteRoute) GetDirection() uint32 { + if x != nil { + return x.Direction + } + return 0 +} + +func (x *GetrouteRoute) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil +} + +func (x *GetrouteRoute) GetDelay() uint32 { + if x != nil { + return x.Delay + } + return 0 +} + +func (x *GetrouteRoute) GetStyle() GetrouteRoute_GetrouteRouteStyle { + if x != nil { + return x.Style + } + return GetrouteRoute_TLV +} + +type ListforwardsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status *ListforwardsRequest_ListforwardsStatus `protobuf:"varint,1,opt,name=status,proto3,enum=cln.ListforwardsRequest_ListforwardsStatus,oneof" json:"status,omitempty"` + InChannel *string `protobuf:"bytes,2,opt,name=in_channel,json=inChannel,proto3,oneof" json:"in_channel,omitempty"` + OutChannel *string `protobuf:"bytes,3,opt,name=out_channel,json=outChannel,proto3,oneof" json:"out_channel,omitempty"` + Index *ListforwardsRequest_ListforwardsIndex `protobuf:"varint,4,opt,name=index,proto3,enum=cln.ListforwardsRequest_ListforwardsIndex,oneof" json:"index,omitempty"` + Start *uint64 `protobuf:"varint,5,opt,name=start,proto3,oneof" json:"start,omitempty"` + Limit *uint32 `protobuf:"varint,6,opt,name=limit,proto3,oneof" json:"limit,omitempty"` +} + +func (x *ListforwardsRequest) Reset() { + *x = ListforwardsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[205] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListforwardsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListforwardsRequest) ProtoMessage() {} + +func (x *ListforwardsRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[205] + 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 ListforwardsRequest.ProtoReflect.Descriptor instead. +func (*ListforwardsRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{205} +} + +func (x *ListforwardsRequest) GetStatus() ListforwardsRequest_ListforwardsStatus { + if x != nil && x.Status != nil { + return *x.Status + } + return ListforwardsRequest_OFFERED +} + +func (x *ListforwardsRequest) GetInChannel() string { + if x != nil && x.InChannel != nil { + return *x.InChannel + } + return "" +} + +func (x *ListforwardsRequest) GetOutChannel() string { + if x != nil && x.OutChannel != nil { + return *x.OutChannel + } + return "" +} + +func (x *ListforwardsRequest) GetIndex() ListforwardsRequest_ListforwardsIndex { + if x != nil && x.Index != nil { + return *x.Index + } + return ListforwardsRequest_CREATED +} + +func (x *ListforwardsRequest) GetStart() uint64 { + if x != nil && x.Start != nil { + return *x.Start + } + return 0 +} + +func (x *ListforwardsRequest) GetLimit() uint32 { + if x != nil && x.Limit != nil { + return *x.Limit + } + return 0 +} + +type ListforwardsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Forwards []*ListforwardsForwards `protobuf:"bytes,1,rep,name=forwards,proto3" json:"forwards,omitempty"` +} + +func (x *ListforwardsResponse) Reset() { + *x = ListforwardsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[206] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListforwardsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListforwardsResponse) ProtoMessage() {} + +func (x *ListforwardsResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[206] + 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 ListforwardsResponse.ProtoReflect.Descriptor instead. +func (*ListforwardsResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{206} +} + +func (x *ListforwardsResponse) GetForwards() []*ListforwardsForwards { + if x != nil { + return x.Forwards + } + return nil +} + +type ListforwardsForwards struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + InChannel string `protobuf:"bytes,1,opt,name=in_channel,json=inChannel,proto3" json:"in_channel,omitempty"` + InMsat *Amount `protobuf:"bytes,2,opt,name=in_msat,json=inMsat,proto3" json:"in_msat,omitempty"` + Status ListforwardsForwards_ListforwardsForwardsStatus `protobuf:"varint,3,opt,name=status,proto3,enum=cln.ListforwardsForwards_ListforwardsForwardsStatus" json:"status,omitempty"` + ReceivedTime float64 `protobuf:"fixed64,4,opt,name=received_time,json=receivedTime,proto3" json:"received_time,omitempty"` + OutChannel *string `protobuf:"bytes,5,opt,name=out_channel,json=outChannel,proto3,oneof" json:"out_channel,omitempty"` + FeeMsat *Amount `protobuf:"bytes,7,opt,name=fee_msat,json=feeMsat,proto3,oneof" json:"fee_msat,omitempty"` + OutMsat *Amount `protobuf:"bytes,8,opt,name=out_msat,json=outMsat,proto3,oneof" json:"out_msat,omitempty"` + Style *ListforwardsForwards_ListforwardsForwardsStyle `protobuf:"varint,9,opt,name=style,proto3,enum=cln.ListforwardsForwards_ListforwardsForwardsStyle,oneof" json:"style,omitempty"` + InHtlcId *uint64 `protobuf:"varint,10,opt,name=in_htlc_id,json=inHtlcId,proto3,oneof" json:"in_htlc_id,omitempty"` + OutHtlcId *uint64 `protobuf:"varint,11,opt,name=out_htlc_id,json=outHtlcId,proto3,oneof" json:"out_htlc_id,omitempty"` + CreatedIndex *uint64 `protobuf:"varint,12,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` + UpdatedIndex *uint64 `protobuf:"varint,13,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` + ResolvedTime *float64 `protobuf:"fixed64,14,opt,name=resolved_time,json=resolvedTime,proto3,oneof" json:"resolved_time,omitempty"` + Failcode *uint32 `protobuf:"varint,15,opt,name=failcode,proto3,oneof" json:"failcode,omitempty"` + Failreason *string `protobuf:"bytes,16,opt,name=failreason,proto3,oneof" json:"failreason,omitempty"` +} + +func (x *ListforwardsForwards) Reset() { + *x = ListforwardsForwards{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[207] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListforwardsForwards) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListforwardsForwards) ProtoMessage() {} + +func (x *ListforwardsForwards) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[207] + 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 ListforwardsForwards.ProtoReflect.Descriptor instead. +func (*ListforwardsForwards) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{207} +} + +func (x *ListforwardsForwards) GetInChannel() string { + if x != nil { + return x.InChannel + } + return "" +} + +func (x *ListforwardsForwards) GetInMsat() *Amount { + if x != nil { + return x.InMsat + } + return nil +} + +func (x *ListforwardsForwards) GetStatus() ListforwardsForwards_ListforwardsForwardsStatus { + if x != nil { + return x.Status + } + return ListforwardsForwards_OFFERED +} + +func (x *ListforwardsForwards) GetReceivedTime() float64 { + if x != nil { + return x.ReceivedTime + } + return 0 +} + +func (x *ListforwardsForwards) GetOutChannel() string { + if x != nil && x.OutChannel != nil { + return *x.OutChannel + } + return "" +} + +func (x *ListforwardsForwards) GetFeeMsat() *Amount { + if x != nil { + return x.FeeMsat + } + return nil +} + +func (x *ListforwardsForwards) GetOutMsat() *Amount { + if x != nil { + return x.OutMsat + } + return nil +} + +func (x *ListforwardsForwards) GetStyle() ListforwardsForwards_ListforwardsForwardsStyle { + if x != nil && x.Style != nil { + return *x.Style + } + return ListforwardsForwards_LEGACY +} + +func (x *ListforwardsForwards) GetInHtlcId() uint64 { + if x != nil && x.InHtlcId != nil { + return *x.InHtlcId + } + return 0 +} + +func (x *ListforwardsForwards) GetOutHtlcId() uint64 { + if x != nil && x.OutHtlcId != nil { + return *x.OutHtlcId + } + return 0 +} + +func (x *ListforwardsForwards) GetCreatedIndex() uint64 { + if x != nil && x.CreatedIndex != nil { + return *x.CreatedIndex + } + return 0 +} + +func (x *ListforwardsForwards) GetUpdatedIndex() uint64 { + if x != nil && x.UpdatedIndex != nil { + return *x.UpdatedIndex + } + return 0 +} + +func (x *ListforwardsForwards) GetResolvedTime() float64 { + if x != nil && x.ResolvedTime != nil { + return *x.ResolvedTime + } + return 0 +} + +func (x *ListforwardsForwards) GetFailcode() uint32 { + if x != nil && x.Failcode != nil { + return *x.Failcode + } + return 0 +} + +func (x *ListforwardsForwards) GetFailreason() string { + if x != nil && x.Failreason != nil { + return *x.Failreason + } + return "" +} + +type ListoffersRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OfferId []byte `protobuf:"bytes,1,opt,name=offer_id,json=offerId,proto3,oneof" json:"offer_id,omitempty"` + ActiveOnly *bool `protobuf:"varint,2,opt,name=active_only,json=activeOnly,proto3,oneof" json:"active_only,omitempty"` +} + +func (x *ListoffersRequest) Reset() { + *x = ListoffersRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[208] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListoffersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListoffersRequest) ProtoMessage() {} + +func (x *ListoffersRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[208] + 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 ListoffersRequest.ProtoReflect.Descriptor instead. +func (*ListoffersRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{208} +} + +func (x *ListoffersRequest) GetOfferId() []byte { + if x != nil { + return x.OfferId + } + return nil +} + +func (x *ListoffersRequest) GetActiveOnly() bool { + if x != nil && x.ActiveOnly != nil { + return *x.ActiveOnly + } + return false +} + +type ListoffersResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Offers []*ListoffersOffers `protobuf:"bytes,1,rep,name=offers,proto3" json:"offers,omitempty"` +} + +func (x *ListoffersResponse) Reset() { + *x = ListoffersResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[209] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListoffersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListoffersResponse) ProtoMessage() {} + +func (x *ListoffersResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[209] + 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 ListoffersResponse.ProtoReflect.Descriptor instead. +func (*ListoffersResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{209} +} + +func (x *ListoffersResponse) GetOffers() []*ListoffersOffers { + if x != nil { + return x.Offers + } + return nil +} + +type ListoffersOffers struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OfferId []byte `protobuf:"bytes,1,opt,name=offer_id,json=offerId,proto3" json:"offer_id,omitempty"` + Active bool `protobuf:"varint,2,opt,name=active,proto3" json:"active,omitempty"` + SingleUse bool `protobuf:"varint,3,opt,name=single_use,json=singleUse,proto3" json:"single_use,omitempty"` + Bolt12 string `protobuf:"bytes,4,opt,name=bolt12,proto3" json:"bolt12,omitempty"` + Used bool `protobuf:"varint,5,opt,name=used,proto3" json:"used,omitempty"` + Label *string `protobuf:"bytes,6,opt,name=label,proto3,oneof" json:"label,omitempty"` +} + +func (x *ListoffersOffers) Reset() { + *x = ListoffersOffers{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[210] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListoffersOffers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListoffersOffers) ProtoMessage() {} + +func (x *ListoffersOffers) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[210] + 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 ListoffersOffers.ProtoReflect.Descriptor instead. +func (*ListoffersOffers) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{210} +} + +func (x *ListoffersOffers) GetOfferId() []byte { + if x != nil { + return x.OfferId + } + return nil +} + +func (x *ListoffersOffers) GetActive() bool { + if x != nil { + return x.Active + } + return false +} + +func (x *ListoffersOffers) GetSingleUse() bool { + if x != nil { + return x.SingleUse + } + return false +} + +func (x *ListoffersOffers) GetBolt12() string { + if x != nil { + return x.Bolt12 + } + return "" +} + +func (x *ListoffersOffers) GetUsed() bool { + if x != nil { + return x.Used + } + return false +} + +func (x *ListoffersOffers) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label + } + return "" +} + +type ListpaysRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bolt11 *string `protobuf:"bytes,1,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3,oneof" json:"payment_hash,omitempty"` + Status *ListpaysRequest_ListpaysStatus `protobuf:"varint,3,opt,name=status,proto3,enum=cln.ListpaysRequest_ListpaysStatus,oneof" json:"status,omitempty"` +} + +func (x *ListpaysRequest) Reset() { + *x = ListpaysRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[211] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListpaysRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListpaysRequest) ProtoMessage() {} + +func (x *ListpaysRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[211] + 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 ListpaysRequest.ProtoReflect.Descriptor instead. +func (*ListpaysRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{211} +} + +func (x *ListpaysRequest) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 + } + return "" +} + +func (x *ListpaysRequest) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash + } + return nil +} + +func (x *ListpaysRequest) GetStatus() ListpaysRequest_ListpaysStatus { + if x != nil && x.Status != nil { + return *x.Status + } + return ListpaysRequest_PENDING +} + +type ListpaysResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pays []*ListpaysPays `protobuf:"bytes,1,rep,name=pays,proto3" json:"pays,omitempty"` +} + +func (x *ListpaysResponse) Reset() { + *x = ListpaysResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[212] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListpaysResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListpaysResponse) ProtoMessage() {} + +func (x *ListpaysResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[212] + 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 ListpaysResponse.ProtoReflect.Descriptor instead. +func (*ListpaysResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{212} +} + +func (x *ListpaysResponse) GetPays() []*ListpaysPays { + if x != nil { + return x.Pays + } + return nil +} + +type ListpaysPays struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Status ListpaysPays_ListpaysPaysStatus `protobuf:"varint,2,opt,name=status,proto3,enum=cln.ListpaysPays_ListpaysPaysStatus" json:"status,omitempty"` + Destination []byte `protobuf:"bytes,3,opt,name=destination,proto3,oneof" json:"destination,omitempty"` + CreatedAt uint64 `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Label *string `protobuf:"bytes,5,opt,name=label,proto3,oneof" json:"label,omitempty"` + Bolt11 *string `protobuf:"bytes,6,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + Bolt12 *string `protobuf:"bytes,7,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` + AmountMsat *Amount `protobuf:"bytes,8,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + AmountSentMsat *Amount `protobuf:"bytes,9,opt,name=amount_sent_msat,json=amountSentMsat,proto3,oneof" json:"amount_sent_msat,omitempty"` + Erroronion []byte `protobuf:"bytes,10,opt,name=erroronion,proto3,oneof" json:"erroronion,omitempty"` + Description *string `protobuf:"bytes,11,opt,name=description,proto3,oneof" json:"description,omitempty"` + CompletedAt *uint64 `protobuf:"varint,12,opt,name=completed_at,json=completedAt,proto3,oneof" json:"completed_at,omitempty"` + Preimage []byte `protobuf:"bytes,13,opt,name=preimage,proto3,oneof" json:"preimage,omitempty"` + NumberOfParts *uint64 `protobuf:"varint,14,opt,name=number_of_parts,json=numberOfParts,proto3,oneof" json:"number_of_parts,omitempty"` +} + +func (x *ListpaysPays) Reset() { + *x = ListpaysPays{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[213] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListpaysPays) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListpaysPays) ProtoMessage() {} + +func (x *ListpaysPays) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[213] + 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 ListpaysPays.ProtoReflect.Descriptor instead. +func (*ListpaysPays) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{213} +} + +func (x *ListpaysPays) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash + } + return nil +} + +func (x *ListpaysPays) GetStatus() ListpaysPays_ListpaysPaysStatus { + if x != nil { + return x.Status + } + return ListpaysPays_PENDING +} + +func (x *ListpaysPays) GetDestination() []byte { + if x != nil { + return x.Destination + } + return nil +} + +func (x *ListpaysPays) GetCreatedAt() uint64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *ListpaysPays) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label + } + return "" +} + +func (x *ListpaysPays) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 + } + return "" +} + +func (x *ListpaysPays) GetBolt12() string { + if x != nil && x.Bolt12 != nil { + return *x.Bolt12 + } + return "" +} + +func (x *ListpaysPays) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil +} + +func (x *ListpaysPays) GetAmountSentMsat() *Amount { + if x != nil { + return x.AmountSentMsat + } + return nil +} + +func (x *ListpaysPays) GetErroronion() []byte { + if x != nil { + return x.Erroronion + } + return nil +} + +func (x *ListpaysPays) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *ListpaysPays) GetCompletedAt() uint64 { + if x != nil && x.CompletedAt != nil { + return *x.CompletedAt + } + return 0 +} + +func (x *ListpaysPays) GetPreimage() []byte { + if x != nil { + return x.Preimage + } + return nil +} + +func (x *ListpaysPays) GetNumberOfParts() uint64 { + if x != nil && x.NumberOfParts != nil { + return *x.NumberOfParts + } + return 0 +} + +type ListhtlcsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id *string `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` +} + +func (x *ListhtlcsRequest) Reset() { + *x = ListhtlcsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[214] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListhtlcsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListhtlcsRequest) ProtoMessage() {} + +func (x *ListhtlcsRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[214] + 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 ListhtlcsRequest.ProtoReflect.Descriptor instead. +func (*ListhtlcsRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{214} +} + +func (x *ListhtlcsRequest) GetId() string { + if x != nil && x.Id != nil { + return *x.Id + } + return "" +} + +type ListhtlcsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Htlcs []*ListhtlcsHtlcs `protobuf:"bytes,1,rep,name=htlcs,proto3" json:"htlcs,omitempty"` +} + +func (x *ListhtlcsResponse) Reset() { + *x = ListhtlcsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[215] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListhtlcsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListhtlcsResponse) ProtoMessage() {} + +func (x *ListhtlcsResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[215] + 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 ListhtlcsResponse.ProtoReflect.Descriptor instead. +func (*ListhtlcsResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{215} +} + +func (x *ListhtlcsResponse) GetHtlcs() []*ListhtlcsHtlcs { + if x != nil { + return x.Htlcs + } + return nil +} + +type ListhtlcsHtlcs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ShortChannelId string `protobuf:"bytes,1,opt,name=short_channel_id,json=shortChannelId,proto3" json:"short_channel_id,omitempty"` + Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` + Expiry uint32 `protobuf:"varint,3,opt,name=expiry,proto3" json:"expiry,omitempty"` + AmountMsat *Amount `protobuf:"bytes,4,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` + Direction ListhtlcsHtlcs_ListhtlcsHtlcsDirection `protobuf:"varint,5,opt,name=direction,proto3,enum=cln.ListhtlcsHtlcs_ListhtlcsHtlcsDirection" json:"direction,omitempty"` + PaymentHash []byte `protobuf:"bytes,6,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + State HtlcState `protobuf:"varint,7,opt,name=state,proto3,enum=cln.HtlcState" json:"state,omitempty"` +} + +func (x *ListhtlcsHtlcs) Reset() { + *x = ListhtlcsHtlcs{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[216] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListhtlcsHtlcs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListhtlcsHtlcs) ProtoMessage() {} + +func (x *ListhtlcsHtlcs) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[216] + 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 ListhtlcsHtlcs.ProtoReflect.Descriptor instead. +func (*ListhtlcsHtlcs) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{216} +} + +func (x *ListhtlcsHtlcs) GetShortChannelId() string { + if x != nil { + return x.ShortChannelId + } + return "" +} + +func (x *ListhtlcsHtlcs) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ListhtlcsHtlcs) GetExpiry() uint32 { + if x != nil { + return x.Expiry + } + return 0 +} + +func (x *ListhtlcsHtlcs) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil +} + +func (x *ListhtlcsHtlcs) GetDirection() ListhtlcsHtlcs_ListhtlcsHtlcsDirection { + if x != nil { + return x.Direction + } + return ListhtlcsHtlcs_OUT +} + +func (x *ListhtlcsHtlcs) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash + } + return nil +} + +func (x *ListhtlcsHtlcs) GetState() HtlcState { + if x != nil { + return x.State + } + return HtlcState_SentAddHtlc +} + +type MultifundchannelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Destinations []*MultifundchannelDestinations `protobuf:"bytes,1,rep,name=destinations,proto3" json:"destinations,omitempty"` + Feerate *Feerate `protobuf:"bytes,2,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` + Minconf *int64 `protobuf:"zigzag64,3,opt,name=minconf,proto3,oneof" json:"minconf,omitempty"` + Utxos []*Outpoint `protobuf:"bytes,4,rep,name=utxos,proto3" json:"utxos,omitempty"` + Minchannels *int64 `protobuf:"zigzag64,5,opt,name=minchannels,proto3,oneof" json:"minchannels,omitempty"` + CommitmentFeerate *Feerate `protobuf:"bytes,6,opt,name=commitment_feerate,json=commitmentFeerate,proto3,oneof" json:"commitment_feerate,omitempty"` +} + +func (x *MultifundchannelRequest) Reset() { + *x = MultifundchannelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[217] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MultifundchannelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MultifundchannelRequest) ProtoMessage() {} + +func (x *MultifundchannelRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[217] + 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 MultifundchannelRequest.ProtoReflect.Descriptor instead. +func (*MultifundchannelRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{217} +} + +func (x *MultifundchannelRequest) GetDestinations() []*MultifundchannelDestinations { + if x != nil { + return x.Destinations + } + return nil +} + +func (x *MultifundchannelRequest) GetFeerate() *Feerate { + if x != nil { + return x.Feerate + } + return nil +} + +func (x *MultifundchannelRequest) GetMinconf() int64 { + if x != nil && x.Minconf != nil { + return *x.Minconf + } + return 0 +} + +func (x *MultifundchannelRequest) GetUtxos() []*Outpoint { + if x != nil { + return x.Utxos + } + return nil +} + +func (x *MultifundchannelRequest) GetMinchannels() int64 { + if x != nil && x.Minchannels != nil { + return *x.Minchannels + } + return 0 +} + +func (x *MultifundchannelRequest) GetCommitmentFeerate() *Feerate { + if x != nil { + return x.CommitmentFeerate + } + return nil +} + +type MultifundchannelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` + Txid []byte `protobuf:"bytes,2,opt,name=txid,proto3" json:"txid,omitempty"` + ChannelIds []*MultifundchannelChannelIds `protobuf:"bytes,3,rep,name=channel_ids,json=channelIds,proto3" json:"channel_ids,omitempty"` + Failed []*MultifundchannelFailed `protobuf:"bytes,4,rep,name=failed,proto3" json:"failed,omitempty"` +} + +func (x *MultifundchannelResponse) Reset() { + *x = MultifundchannelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[218] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MultifundchannelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MultifundchannelResponse) ProtoMessage() {} + +func (x *MultifundchannelResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[218] + 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 MultifundchannelResponse.ProtoReflect.Descriptor instead. +func (*MultifundchannelResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{218} +} + +func (x *MultifundchannelResponse) GetTx() []byte { + if x != nil { + return x.Tx + } + return nil +} + +func (x *MultifundchannelResponse) GetTxid() []byte { + if x != nil { + return x.Txid + } + return nil +} + +func (x *MultifundchannelResponse) GetChannelIds() []*MultifundchannelChannelIds { + if x != nil { + return x.ChannelIds + } + return nil +} + +func (x *MultifundchannelResponse) GetFailed() []*MultifundchannelFailed { + if x != nil { + return x.Failed + } + return nil +} + +type MultifundchannelDestinations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Amount *AmountOrAll `protobuf:"bytes,2,opt,name=amount,proto3" json:"amount,omitempty"` + Announce *bool `protobuf:"varint,3,opt,name=announce,proto3,oneof" json:"announce,omitempty"` + PushMsat *Amount `protobuf:"bytes,4,opt,name=push_msat,json=pushMsat,proto3,oneof" json:"push_msat,omitempty"` + CloseTo *string `protobuf:"bytes,5,opt,name=close_to,json=closeTo,proto3,oneof" json:"close_to,omitempty"` + RequestAmt *Amount `protobuf:"bytes,6,opt,name=request_amt,json=requestAmt,proto3,oneof" json:"request_amt,omitempty"` + CompactLease *string `protobuf:"bytes,7,opt,name=compact_lease,json=compactLease,proto3,oneof" json:"compact_lease,omitempty"` + Mindepth *uint32 `protobuf:"varint,8,opt,name=mindepth,proto3,oneof" json:"mindepth,omitempty"` + Reserve *Amount `protobuf:"bytes,9,opt,name=reserve,proto3,oneof" json:"reserve,omitempty"` +} + +func (x *MultifundchannelDestinations) Reset() { + *x = MultifundchannelDestinations{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[219] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MultifundchannelDestinations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MultifundchannelDestinations) ProtoMessage() {} + +func (x *MultifundchannelDestinations) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[219] + 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 MultifundchannelDestinations.ProtoReflect.Descriptor instead. +func (*MultifundchannelDestinations) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{219} +} + +func (x *MultifundchannelDestinations) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *MultifundchannelDestinations) GetAmount() *AmountOrAll { + if x != nil { + return x.Amount + } + return nil +} + +func (x *MultifundchannelDestinations) GetAnnounce() bool { + if x != nil && x.Announce != nil { + return *x.Announce + } + return false +} + +func (x *MultifundchannelDestinations) GetPushMsat() *Amount { + if x != nil { + return x.PushMsat + } + return nil +} + +func (x *MultifundchannelDestinations) GetCloseTo() string { + if x != nil && x.CloseTo != nil { + return *x.CloseTo + } + return "" +} + +func (x *MultifundchannelDestinations) GetRequestAmt() *Amount { + if x != nil { + return x.RequestAmt + } + return nil +} + +func (x *MultifundchannelDestinations) GetCompactLease() string { + if x != nil && x.CompactLease != nil { + return *x.CompactLease + } + return "" +} + +func (x *MultifundchannelDestinations) GetMindepth() uint32 { + if x != nil && x.Mindepth != nil { + return *x.Mindepth + } + return 0 +} + +func (x *MultifundchannelDestinations) GetReserve() *Amount { + if x != nil { + return x.Reserve + } + return nil +} + +type MultifundchannelChannelIds struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Outnum uint32 `protobuf:"varint,2,opt,name=outnum,proto3" json:"outnum,omitempty"` + ChannelId []byte `protobuf:"bytes,3,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + ChannelType *MultifundchannelChannelIdsChannelType `protobuf:"bytes,4,opt,name=channel_type,json=channelType,proto3,oneof" json:"channel_type,omitempty"` + CloseTo []byte `protobuf:"bytes,5,opt,name=close_to,json=closeTo,proto3,oneof" json:"close_to,omitempty"` +} + +func (x *MultifundchannelChannelIds) Reset() { + *x = MultifundchannelChannelIds{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[220] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MultifundchannelChannelIds) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MultifundchannelChannelIds) ProtoMessage() {} + +func (x *MultifundchannelChannelIds) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[220] + 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 MultifundchannelChannelIds.ProtoReflect.Descriptor instead. +func (*MultifundchannelChannelIds) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{220} +} + +func (x *MultifundchannelChannelIds) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *MultifundchannelChannelIds) GetOutnum() uint32 { + if x != nil { + return x.Outnum + } + return 0 +} + +func (x *MultifundchannelChannelIds) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *MultifundchannelChannelIds) GetChannelType() *MultifundchannelChannelIdsChannelType { + if x != nil { + return x.ChannelType + } + return nil +} + +func (x *MultifundchannelChannelIds) GetCloseTo() []byte { + if x != nil { + return x.CloseTo + } + return nil +} + +type MultifundchannelChannelIdsChannelType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bits []uint32 `protobuf:"varint,1,rep,packed,name=bits,proto3" json:"bits,omitempty"` + Names []ChannelTypeName `protobuf:"varint,2,rep,packed,name=names,proto3,enum=cln.ChannelTypeName" json:"names,omitempty"` +} + +func (x *MultifundchannelChannelIdsChannelType) Reset() { + *x = MultifundchannelChannelIdsChannelType{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[221] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MultifundchannelChannelIdsChannelType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MultifundchannelChannelIdsChannelType) ProtoMessage() {} + +func (x *MultifundchannelChannelIdsChannelType) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[221] + 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 MultifundchannelChannelIdsChannelType.ProtoReflect.Descriptor instead. +func (*MultifundchannelChannelIdsChannelType) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{221} +} + +func (x *MultifundchannelChannelIdsChannelType) GetBits() []uint32 { + if x != nil { + return x.Bits + } + return nil +} + +func (x *MultifundchannelChannelIdsChannelType) GetNames() []ChannelTypeName { + if x != nil { + return x.Names + } + return nil +} + +type MultifundchannelFailed struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Method MultifundchannelFailed_MultifundchannelFailedMethod `protobuf:"varint,2,opt,name=method,proto3,enum=cln.MultifundchannelFailed_MultifundchannelFailedMethod" json:"method,omitempty"` + Error *MultifundchannelFailedError `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *MultifundchannelFailed) Reset() { + *x = MultifundchannelFailed{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[222] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MultifundchannelFailed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MultifundchannelFailed) ProtoMessage() {} + +func (x *MultifundchannelFailed) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[222] + 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 MultifundchannelFailed.ProtoReflect.Descriptor instead. +func (*MultifundchannelFailed) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{222} +} + +func (x *MultifundchannelFailed) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *MultifundchannelFailed) GetMethod() MultifundchannelFailed_MultifundchannelFailedMethod { + if x != nil { + return x.Method + } + return MultifundchannelFailed_CONNECT +} + +func (x *MultifundchannelFailed) GetError() *MultifundchannelFailedError { + if x != nil { + return x.Error + } + return nil +} + +type MultifundchannelFailedError struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int64 `protobuf:"zigzag64,1,opt,name=code,proto3" json:"code,omitempty"` + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` +} + +func (x *MultifundchannelFailedError) Reset() { + *x = MultifundchannelFailedError{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[223] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MultifundchannelFailedError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MultifundchannelFailedError) ProtoMessage() {} + +func (x *MultifundchannelFailedError) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[223] + 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 MultifundchannelFailedError.ProtoReflect.Descriptor instead. +func (*MultifundchannelFailedError) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{223} +} + +func (x *MultifundchannelFailedError) GetCode() int64 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *MultifundchannelFailedError) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +type MultiwithdrawRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Outputs []*OutputDesc `protobuf:"bytes,1,rep,name=outputs,proto3" json:"outputs,omitempty"` + Feerate *Feerate `protobuf:"bytes,2,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` + Minconf *uint32 `protobuf:"varint,3,opt,name=minconf,proto3,oneof" json:"minconf,omitempty"` + Utxos []*Outpoint `protobuf:"bytes,4,rep,name=utxos,proto3" json:"utxos,omitempty"` +} + +func (x *MultiwithdrawRequest) Reset() { + *x = MultiwithdrawRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[224] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MultiwithdrawRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MultiwithdrawRequest) ProtoMessage() {} + +func (x *MultiwithdrawRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[224] + 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 MultiwithdrawRequest.ProtoReflect.Descriptor instead. +func (*MultiwithdrawRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{224} +} + +func (x *MultiwithdrawRequest) GetOutputs() []*OutputDesc { + if x != nil { + return x.Outputs + } + return nil +} + +func (x *MultiwithdrawRequest) GetFeerate() *Feerate { + if x != nil { + return x.Feerate + } + return nil +} + +func (x *MultiwithdrawRequest) GetMinconf() uint32 { + if x != nil && x.Minconf != nil { + return *x.Minconf + } + return 0 +} + +func (x *MultiwithdrawRequest) GetUtxos() []*Outpoint { + if x != nil { + return x.Utxos + } + return nil +} + +type MultiwithdrawResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` + Txid []byte `protobuf:"bytes,2,opt,name=txid,proto3" json:"txid,omitempty"` +} + +func (x *MultiwithdrawResponse) Reset() { + *x = MultiwithdrawResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[225] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MultiwithdrawResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MultiwithdrawResponse) ProtoMessage() {} + +func (x *MultiwithdrawResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[225] + 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 MultiwithdrawResponse.ProtoReflect.Descriptor instead. +func (*MultiwithdrawResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{225} +} + +func (x *MultiwithdrawResponse) GetTx() []byte { + if x != nil { + return x.Tx + } + return nil +} + +func (x *MultiwithdrawResponse) GetTxid() []byte { + if x != nil { + return x.Txid + } + return nil +} + +type OfferRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Amount string `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Issuer *string `protobuf:"bytes,3,opt,name=issuer,proto3,oneof" json:"issuer,omitempty"` + Label *string `protobuf:"bytes,4,opt,name=label,proto3,oneof" json:"label,omitempty"` + QuantityMax *uint64 `protobuf:"varint,5,opt,name=quantity_max,json=quantityMax,proto3,oneof" json:"quantity_max,omitempty"` + AbsoluteExpiry *uint64 `protobuf:"varint,6,opt,name=absolute_expiry,json=absoluteExpiry,proto3,oneof" json:"absolute_expiry,omitempty"` + Recurrence *string `protobuf:"bytes,7,opt,name=recurrence,proto3,oneof" json:"recurrence,omitempty"` + RecurrenceBase *string `protobuf:"bytes,8,opt,name=recurrence_base,json=recurrenceBase,proto3,oneof" json:"recurrence_base,omitempty"` + RecurrencePaywindow *string `protobuf:"bytes,9,opt,name=recurrence_paywindow,json=recurrencePaywindow,proto3,oneof" json:"recurrence_paywindow,omitempty"` + RecurrenceLimit *uint32 `protobuf:"varint,10,opt,name=recurrence_limit,json=recurrenceLimit,proto3,oneof" json:"recurrence_limit,omitempty"` + SingleUse *bool `protobuf:"varint,11,opt,name=single_use,json=singleUse,proto3,oneof" json:"single_use,omitempty"` +} + +func (x *OfferRequest) Reset() { + *x = OfferRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[226] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OfferRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OfferRequest) ProtoMessage() {} + +func (x *OfferRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[226] + 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 OfferRequest.ProtoReflect.Descriptor instead. +func (*OfferRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{226} +} + +func (x *OfferRequest) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +func (x *OfferRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *OfferRequest) GetIssuer() string { + if x != nil && x.Issuer != nil { + return *x.Issuer + } + return "" +} + +func (x *OfferRequest) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label + } + return "" +} + +func (x *OfferRequest) GetQuantityMax() uint64 { + if x != nil && x.QuantityMax != nil { + return *x.QuantityMax + } + return 0 +} + +func (x *OfferRequest) GetAbsoluteExpiry() uint64 { + if x != nil && x.AbsoluteExpiry != nil { + return *x.AbsoluteExpiry + } + return 0 +} + +func (x *OfferRequest) GetRecurrence() string { + if x != nil && x.Recurrence != nil { + return *x.Recurrence + } + return "" +} + +func (x *OfferRequest) GetRecurrenceBase() string { + if x != nil && x.RecurrenceBase != nil { + return *x.RecurrenceBase + } + return "" +} + +func (x *OfferRequest) GetRecurrencePaywindow() string { + if x != nil && x.RecurrencePaywindow != nil { + return *x.RecurrencePaywindow + } + return "" +} + +func (x *OfferRequest) GetRecurrenceLimit() uint32 { + if x != nil && x.RecurrenceLimit != nil { + return *x.RecurrenceLimit + } + return 0 +} + +func (x *OfferRequest) GetSingleUse() bool { + if x != nil && x.SingleUse != nil { + return *x.SingleUse + } + return false +} + +type OfferResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OfferId []byte `protobuf:"bytes,1,opt,name=offer_id,json=offerId,proto3" json:"offer_id,omitempty"` + Active bool `protobuf:"varint,2,opt,name=active,proto3" json:"active,omitempty"` + SingleUse bool `protobuf:"varint,3,opt,name=single_use,json=singleUse,proto3" json:"single_use,omitempty"` + Bolt12 string `protobuf:"bytes,4,opt,name=bolt12,proto3" json:"bolt12,omitempty"` + Used bool `protobuf:"varint,5,opt,name=used,proto3" json:"used,omitempty"` + Created bool `protobuf:"varint,6,opt,name=created,proto3" json:"created,omitempty"` + Label *string `protobuf:"bytes,7,opt,name=label,proto3,oneof" json:"label,omitempty"` +} + +func (x *OfferResponse) Reset() { + *x = OfferResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[227] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OfferResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OfferResponse) ProtoMessage() {} + +func (x *OfferResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[227] + 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 OfferResponse.ProtoReflect.Descriptor instead. +func (*OfferResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{227} +} + +func (x *OfferResponse) GetOfferId() []byte { + if x != nil { + return x.OfferId + } + return nil +} + +func (x *OfferResponse) GetActive() bool { + if x != nil { + return x.Active + } + return false +} + +func (x *OfferResponse) GetSingleUse() bool { + if x != nil { + return x.SingleUse + } + return false +} + +func (x *OfferResponse) GetBolt12() string { + if x != nil { + return x.Bolt12 + } + return "" +} + +func (x *OfferResponse) GetUsed() bool { + if x != nil { + return x.Used + } + return false +} + +func (x *OfferResponse) GetCreated() bool { + if x != nil { + return x.Created + } + return false +} + +func (x *OfferResponse) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label + } + return "" +} + +type OpenchannelAbortRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelId []byte `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` +} + +func (x *OpenchannelAbortRequest) Reset() { + *x = OpenchannelAbortRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[228] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpenchannelAbortRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenchannelAbortRequest) ProtoMessage() {} + +func (x *OpenchannelAbortRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[228] + 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 OpenchannelAbortRequest.ProtoReflect.Descriptor instead. +func (*OpenchannelAbortRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{228} +} + +func (x *OpenchannelAbortRequest) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +type OpenchannelAbortResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelId []byte `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + ChannelCanceled bool `protobuf:"varint,2,opt,name=channel_canceled,json=channelCanceled,proto3" json:"channel_canceled,omitempty"` + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` +} + +func (x *OpenchannelAbortResponse) Reset() { + *x = OpenchannelAbortResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[229] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpenchannelAbortResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenchannelAbortResponse) ProtoMessage() {} + +func (x *OpenchannelAbortResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[229] + 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 OpenchannelAbortResponse.ProtoReflect.Descriptor instead. +func (*OpenchannelAbortResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{229} +} + +func (x *OpenchannelAbortResponse) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *OpenchannelAbortResponse) GetChannelCanceled() bool { + if x != nil { + return x.ChannelCanceled + } + return false +} + +func (x *OpenchannelAbortResponse) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type OpenchannelBumpRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelId []byte `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + Initialpsbt string `protobuf:"bytes,2,opt,name=initialpsbt,proto3" json:"initialpsbt,omitempty"` + FundingFeerate *Feerate `protobuf:"bytes,3,opt,name=funding_feerate,json=fundingFeerate,proto3,oneof" json:"funding_feerate,omitempty"` + Amount *Amount `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *OpenchannelBumpRequest) Reset() { + *x = OpenchannelBumpRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[230] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpenchannelBumpRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenchannelBumpRequest) ProtoMessage() {} + +func (x *OpenchannelBumpRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[230] + 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 OpenchannelBumpRequest.ProtoReflect.Descriptor instead. +func (*OpenchannelBumpRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{230} +} + +func (x *OpenchannelBumpRequest) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *OpenchannelBumpRequest) GetInitialpsbt() string { + if x != nil { + return x.Initialpsbt + } + return "" +} + +func (x *OpenchannelBumpRequest) GetFundingFeerate() *Feerate { + if x != nil { + return x.FundingFeerate + } + return nil +} + +func (x *OpenchannelBumpRequest) GetAmount() *Amount { + if x != nil { + return x.Amount + } + return nil +} + +type OpenchannelBumpResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelId []byte `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + ChannelType *OpenchannelBumpChannelType `protobuf:"bytes,2,opt,name=channel_type,json=channelType,proto3,oneof" json:"channel_type,omitempty"` + Psbt string `protobuf:"bytes,3,opt,name=psbt,proto3" json:"psbt,omitempty"` + CommitmentsSecured bool `protobuf:"varint,4,opt,name=commitments_secured,json=commitmentsSecured,proto3" json:"commitments_secured,omitempty"` + FundingSerial uint64 `protobuf:"varint,5,opt,name=funding_serial,json=fundingSerial,proto3" json:"funding_serial,omitempty"` + RequiresConfirmedInputs *bool `protobuf:"varint,6,opt,name=requires_confirmed_inputs,json=requiresConfirmedInputs,proto3,oneof" json:"requires_confirmed_inputs,omitempty"` +} + +func (x *OpenchannelBumpResponse) Reset() { + *x = OpenchannelBumpResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[231] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpenchannelBumpResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenchannelBumpResponse) ProtoMessage() {} + +func (x *OpenchannelBumpResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[231] + 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 OpenchannelBumpResponse.ProtoReflect.Descriptor instead. +func (*OpenchannelBumpResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{231} +} + +func (x *OpenchannelBumpResponse) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *OpenchannelBumpResponse) GetChannelType() *OpenchannelBumpChannelType { + if x != nil { + return x.ChannelType + } + return nil +} + +func (x *OpenchannelBumpResponse) GetPsbt() string { + if x != nil { + return x.Psbt + } + return "" +} + +func (x *OpenchannelBumpResponse) GetCommitmentsSecured() bool { + if x != nil { + return x.CommitmentsSecured + } + return false +} + +func (x *OpenchannelBumpResponse) GetFundingSerial() uint64 { + if x != nil { + return x.FundingSerial + } + return 0 +} + +func (x *OpenchannelBumpResponse) GetRequiresConfirmedInputs() bool { + if x != nil && x.RequiresConfirmedInputs != nil { + return *x.RequiresConfirmedInputs + } + return false +} + +type OpenchannelBumpChannelType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bits []uint32 `protobuf:"varint,1,rep,packed,name=bits,proto3" json:"bits,omitempty"` + Names []ChannelTypeName `protobuf:"varint,2,rep,packed,name=names,proto3,enum=cln.ChannelTypeName" json:"names,omitempty"` +} + +func (x *OpenchannelBumpChannelType) Reset() { + *x = OpenchannelBumpChannelType{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[232] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpenchannelBumpChannelType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenchannelBumpChannelType) ProtoMessage() {} + +func (x *OpenchannelBumpChannelType) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[232] + 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 OpenchannelBumpChannelType.ProtoReflect.Descriptor instead. +func (*OpenchannelBumpChannelType) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{232} +} + +func (x *OpenchannelBumpChannelType) GetBits() []uint32 { + if x != nil { + return x.Bits + } + return nil +} + +func (x *OpenchannelBumpChannelType) GetNames() []ChannelTypeName { + if x != nil { + return x.Names + } + return nil +} + +type OpenchannelInitRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Initialpsbt string `protobuf:"bytes,2,opt,name=initialpsbt,proto3" json:"initialpsbt,omitempty"` + CommitmentFeerate *Feerate `protobuf:"bytes,3,opt,name=commitment_feerate,json=commitmentFeerate,proto3,oneof" json:"commitment_feerate,omitempty"` + FundingFeerate *Feerate `protobuf:"bytes,4,opt,name=funding_feerate,json=fundingFeerate,proto3,oneof" json:"funding_feerate,omitempty"` + Announce *bool `protobuf:"varint,5,opt,name=announce,proto3,oneof" json:"announce,omitempty"` + CloseTo *string `protobuf:"bytes,6,opt,name=close_to,json=closeTo,proto3,oneof" json:"close_to,omitempty"` + RequestAmt *Amount `protobuf:"bytes,7,opt,name=request_amt,json=requestAmt,proto3,oneof" json:"request_amt,omitempty"` + CompactLease []byte `protobuf:"bytes,8,opt,name=compact_lease,json=compactLease,proto3,oneof" json:"compact_lease,omitempty"` + ChannelType []uint32 `protobuf:"varint,9,rep,packed,name=channel_type,json=channelType,proto3" json:"channel_type,omitempty"` + Amount *Amount `protobuf:"bytes,10,opt,name=amount,proto3" json:"amount,omitempty"` +} + +func (x *OpenchannelInitRequest) Reset() { + *x = OpenchannelInitRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[233] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpenchannelInitRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenchannelInitRequest) ProtoMessage() {} + +func (x *OpenchannelInitRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[233] + 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 OpenchannelInitRequest.ProtoReflect.Descriptor instead. +func (*OpenchannelInitRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{233} +} + +func (x *OpenchannelInitRequest) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *OpenchannelInitRequest) GetInitialpsbt() string { + if x != nil { + return x.Initialpsbt + } + return "" +} + +func (x *OpenchannelInitRequest) GetCommitmentFeerate() *Feerate { + if x != nil { + return x.CommitmentFeerate + } + return nil +} + +func (x *OpenchannelInitRequest) GetFundingFeerate() *Feerate { + if x != nil { + return x.FundingFeerate + } + return nil +} + +func (x *OpenchannelInitRequest) GetAnnounce() bool { + if x != nil && x.Announce != nil { + return *x.Announce + } + return false +} + +func (x *OpenchannelInitRequest) GetCloseTo() string { + if x != nil && x.CloseTo != nil { + return *x.CloseTo + } + return "" +} + +func (x *OpenchannelInitRequest) GetRequestAmt() *Amount { + if x != nil { + return x.RequestAmt + } + return nil +} + +func (x *OpenchannelInitRequest) GetCompactLease() []byte { + if x != nil { + return x.CompactLease + } + return nil +} + +func (x *OpenchannelInitRequest) GetChannelType() []uint32 { + if x != nil { + return x.ChannelType + } + return nil +} + +func (x *OpenchannelInitRequest) GetAmount() *Amount { + if x != nil { + return x.Amount + } + return nil +} + +type OpenchannelInitResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelId []byte `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + Psbt string `protobuf:"bytes,2,opt,name=psbt,proto3" json:"psbt,omitempty"` + ChannelType *OpenchannelInitChannelType `protobuf:"bytes,3,opt,name=channel_type,json=channelType,proto3,oneof" json:"channel_type,omitempty"` + CommitmentsSecured bool `protobuf:"varint,4,opt,name=commitments_secured,json=commitmentsSecured,proto3" json:"commitments_secured,omitempty"` + FundingSerial uint64 `protobuf:"varint,5,opt,name=funding_serial,json=fundingSerial,proto3" json:"funding_serial,omitempty"` + RequiresConfirmedInputs *bool `protobuf:"varint,6,opt,name=requires_confirmed_inputs,json=requiresConfirmedInputs,proto3,oneof" json:"requires_confirmed_inputs,omitempty"` +} + +func (x *OpenchannelInitResponse) Reset() { + *x = OpenchannelInitResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[234] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpenchannelInitResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenchannelInitResponse) ProtoMessage() {} + +func (x *OpenchannelInitResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[234] + 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 OpenchannelInitResponse.ProtoReflect.Descriptor instead. +func (*OpenchannelInitResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{234} +} + +func (x *OpenchannelInitResponse) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *OpenchannelInitResponse) GetPsbt() string { + if x != nil { + return x.Psbt + } + return "" +} + +func (x *OpenchannelInitResponse) GetChannelType() *OpenchannelInitChannelType { + if x != nil { + return x.ChannelType + } + return nil +} + +func (x *OpenchannelInitResponse) GetCommitmentsSecured() bool { + if x != nil { + return x.CommitmentsSecured + } + return false +} + +func (x *OpenchannelInitResponse) GetFundingSerial() uint64 { + if x != nil { + return x.FundingSerial + } + return 0 +} + +func (x *OpenchannelInitResponse) GetRequiresConfirmedInputs() bool { + if x != nil && x.RequiresConfirmedInputs != nil { + return *x.RequiresConfirmedInputs + } + return false +} + +type OpenchannelInitChannelType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bits []uint32 `protobuf:"varint,1,rep,packed,name=bits,proto3" json:"bits,omitempty"` + Names []ChannelTypeName `protobuf:"varint,2,rep,packed,name=names,proto3,enum=cln.ChannelTypeName" json:"names,omitempty"` +} + +func (x *OpenchannelInitChannelType) Reset() { + *x = OpenchannelInitChannelType{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[235] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpenchannelInitChannelType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenchannelInitChannelType) ProtoMessage() {} + +func (x *OpenchannelInitChannelType) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[235] + 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 OpenchannelInitChannelType.ProtoReflect.Descriptor instead. +func (*OpenchannelInitChannelType) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{235} +} + +func (x *OpenchannelInitChannelType) GetBits() []uint32 { + if x != nil { + return x.Bits + } + return nil +} + +func (x *OpenchannelInitChannelType) GetNames() []ChannelTypeName { + if x != nil { + return x.Names + } + return nil +} + +type OpenchannelSignedRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelId []byte `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + SignedPsbt string `protobuf:"bytes,2,opt,name=signed_psbt,json=signedPsbt,proto3" json:"signed_psbt,omitempty"` +} + +func (x *OpenchannelSignedRequest) Reset() { + *x = OpenchannelSignedRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[236] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpenchannelSignedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenchannelSignedRequest) ProtoMessage() {} + +func (x *OpenchannelSignedRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[236] + 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 OpenchannelSignedRequest.ProtoReflect.Descriptor instead. +func (*OpenchannelSignedRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{236} +} + +func (x *OpenchannelSignedRequest) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *OpenchannelSignedRequest) GetSignedPsbt() string { + if x != nil { + return x.SignedPsbt + } + return "" +} + +type OpenchannelSignedResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelId []byte `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + Tx []byte `protobuf:"bytes,2,opt,name=tx,proto3" json:"tx,omitempty"` + Txid []byte `protobuf:"bytes,3,opt,name=txid,proto3" json:"txid,omitempty"` +} + +func (x *OpenchannelSignedResponse) Reset() { + *x = OpenchannelSignedResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[237] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpenchannelSignedResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenchannelSignedResponse) ProtoMessage() {} + +func (x *OpenchannelSignedResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[237] + 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 OpenchannelSignedResponse.ProtoReflect.Descriptor instead. +func (*OpenchannelSignedResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{237} +} + +func (x *OpenchannelSignedResponse) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *OpenchannelSignedResponse) GetTx() []byte { + if x != nil { + return x.Tx + } + return nil +} + +func (x *OpenchannelSignedResponse) GetTxid() []byte { + if x != nil { + return x.Txid + } + return nil +} + +type OpenchannelUpdateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelId []byte `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + Psbt string `protobuf:"bytes,2,opt,name=psbt,proto3" json:"psbt,omitempty"` +} + +func (x *OpenchannelUpdateRequest) Reset() { + *x = OpenchannelUpdateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[238] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpenchannelUpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenchannelUpdateRequest) ProtoMessage() {} + +func (x *OpenchannelUpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[238] + 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 OpenchannelUpdateRequest.ProtoReflect.Descriptor instead. +func (*OpenchannelUpdateRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{238} +} + +func (x *OpenchannelUpdateRequest) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *OpenchannelUpdateRequest) GetPsbt() string { + if x != nil { + return x.Psbt + } + return "" +} + +type OpenchannelUpdateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelId []byte `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + ChannelType *OpenchannelUpdateChannelType `protobuf:"bytes,2,opt,name=channel_type,json=channelType,proto3,oneof" json:"channel_type,omitempty"` + Psbt string `protobuf:"bytes,3,opt,name=psbt,proto3" json:"psbt,omitempty"` + CommitmentsSecured bool `protobuf:"varint,4,opt,name=commitments_secured,json=commitmentsSecured,proto3" json:"commitments_secured,omitempty"` + FundingOutnum uint32 `protobuf:"varint,5,opt,name=funding_outnum,json=fundingOutnum,proto3" json:"funding_outnum,omitempty"` + CloseTo []byte `protobuf:"bytes,6,opt,name=close_to,json=closeTo,proto3,oneof" json:"close_to,omitempty"` + RequiresConfirmedInputs *bool `protobuf:"varint,7,opt,name=requires_confirmed_inputs,json=requiresConfirmedInputs,proto3,oneof" json:"requires_confirmed_inputs,omitempty"` +} + +func (x *OpenchannelUpdateResponse) Reset() { + *x = OpenchannelUpdateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[239] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpenchannelUpdateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenchannelUpdateResponse) ProtoMessage() {} + +func (x *OpenchannelUpdateResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[239] + 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 OpenchannelUpdateResponse.ProtoReflect.Descriptor instead. +func (*OpenchannelUpdateResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{239} +} + +func (x *OpenchannelUpdateResponse) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *OpenchannelUpdateResponse) GetChannelType() *OpenchannelUpdateChannelType { + if x != nil { + return x.ChannelType + } + return nil +} + +func (x *OpenchannelUpdateResponse) GetPsbt() string { + if x != nil { + return x.Psbt + } + return "" +} + +func (x *OpenchannelUpdateResponse) GetCommitmentsSecured() bool { + if x != nil { + return x.CommitmentsSecured + } + return false +} + +func (x *OpenchannelUpdateResponse) GetFundingOutnum() uint32 { + if x != nil { + return x.FundingOutnum + } + return 0 +} + +func (x *OpenchannelUpdateResponse) GetCloseTo() []byte { + if x != nil { + return x.CloseTo + } + return nil +} + +func (x *OpenchannelUpdateResponse) GetRequiresConfirmedInputs() bool { + if x != nil && x.RequiresConfirmedInputs != nil { + return *x.RequiresConfirmedInputs + } + return false +} + +type OpenchannelUpdateChannelType struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bits []uint32 `protobuf:"varint,1,rep,packed,name=bits,proto3" json:"bits,omitempty"` + Names []ChannelTypeName `protobuf:"varint,2,rep,packed,name=names,proto3,enum=cln.ChannelTypeName" json:"names,omitempty"` +} + +func (x *OpenchannelUpdateChannelType) Reset() { + *x = OpenchannelUpdateChannelType{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[240] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OpenchannelUpdateChannelType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OpenchannelUpdateChannelType) ProtoMessage() {} + +func (x *OpenchannelUpdateChannelType) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[240] + 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 OpenchannelUpdateChannelType.ProtoReflect.Descriptor instead. +func (*OpenchannelUpdateChannelType) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{240} +} + +func (x *OpenchannelUpdateChannelType) GetBits() []uint32 { + if x != nil { + return x.Bits + } + return nil +} + +func (x *OpenchannelUpdateChannelType) GetNames() []ChannelTypeName { + if x != nil { + return x.Names + } + return nil +} + +type PingRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Len *uint32 `protobuf:"varint,2,opt,name=len,proto3,oneof" json:"len,omitempty"` + Pongbytes *uint32 `protobuf:"varint,3,opt,name=pongbytes,proto3,oneof" json:"pongbytes,omitempty"` +} + +func (x *PingRequest) Reset() { + *x = PingRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[241] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PingRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PingRequest) ProtoMessage() {} + +func (x *PingRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[241] + 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 PingRequest.ProtoReflect.Descriptor instead. +func (*PingRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{241} +} + +func (x *PingRequest) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *PingRequest) GetLen() uint32 { + if x != nil && x.Len != nil { + return *x.Len + } + return 0 +} + +func (x *PingRequest) GetPongbytes() uint32 { + if x != nil && x.Pongbytes != nil { + return *x.Pongbytes + } + return 0 +} + +type PingResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Totlen uint32 `protobuf:"varint,1,opt,name=totlen,proto3" json:"totlen,omitempty"` +} + +func (x *PingResponse) Reset() { + *x = PingResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[242] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PingResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PingResponse) ProtoMessage() {} + +func (x *PingResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[242] + 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 PingResponse.ProtoReflect.Descriptor instead. +func (*PingResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{242} +} + +func (x *PingResponse) GetTotlen() uint32 { + if x != nil { + return x.Totlen + } + return 0 +} + +type PluginRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subcommand PluginSubcommand `protobuf:"varint,1,opt,name=subcommand,proto3,enum=cln.PluginSubcommand" json:"subcommand,omitempty"` + Plugin *string `protobuf:"bytes,2,opt,name=plugin,proto3,oneof" json:"plugin,omitempty"` + Directory *string `protobuf:"bytes,3,opt,name=directory,proto3,oneof" json:"directory,omitempty"` + Options []string `protobuf:"bytes,4,rep,name=options,proto3" json:"options,omitempty"` +} + +func (x *PluginRequest) Reset() { + *x = PluginRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[243] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PluginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PluginRequest) ProtoMessage() {} + +func (x *PluginRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[243] + 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 PluginRequest.ProtoReflect.Descriptor instead. +func (*PluginRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{243} +} + +func (x *PluginRequest) GetSubcommand() PluginSubcommand { + if x != nil { + return x.Subcommand + } + return PluginSubcommand_START +} + +func (x *PluginRequest) GetPlugin() string { + if x != nil && x.Plugin != nil { + return *x.Plugin + } + return "" +} + +func (x *PluginRequest) GetDirectory() string { + if x != nil && x.Directory != nil { + return *x.Directory + } + return "" +} + +func (x *PluginRequest) GetOptions() []string { + if x != nil { + return x.Options + } + return nil +} + +type PluginResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Command PluginSubcommand `protobuf:"varint,1,opt,name=command,proto3,enum=cln.PluginSubcommand" json:"command,omitempty"` + Plugins []*PluginPlugins `protobuf:"bytes,2,rep,name=plugins,proto3" json:"plugins,omitempty"` + Result *string `protobuf:"bytes,3,opt,name=result,proto3,oneof" json:"result,omitempty"` +} + +func (x *PluginResponse) Reset() { + *x = PluginResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[244] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PluginResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PluginResponse) ProtoMessage() {} + +func (x *PluginResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[244] + 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 PluginResponse.ProtoReflect.Descriptor instead. +func (*PluginResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{244} +} + +func (x *PluginResponse) GetCommand() PluginSubcommand { + if x != nil { + return x.Command + } + return PluginSubcommand_START +} + +func (x *PluginResponse) GetPlugins() []*PluginPlugins { + if x != nil { + return x.Plugins + } + return nil +} + +func (x *PluginResponse) GetResult() string { + if x != nil && x.Result != nil { + return *x.Result + } + return "" +} + +type PluginPlugins struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Active bool `protobuf:"varint,2,opt,name=active,proto3" json:"active,omitempty"` + Dynamic bool `protobuf:"varint,3,opt,name=dynamic,proto3" json:"dynamic,omitempty"` +} + +func (x *PluginPlugins) Reset() { + *x = PluginPlugins{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[245] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PluginPlugins) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PluginPlugins) ProtoMessage() {} + +func (x *PluginPlugins) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[245] + 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 PluginPlugins.ProtoReflect.Descriptor instead. +func (*PluginPlugins) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{245} +} + +func (x *PluginPlugins) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PluginPlugins) GetActive() bool { + if x != nil { + return x.Active + } + return false +} + +func (x *PluginPlugins) GetDynamic() bool { + if x != nil { + return x.Dynamic + } + return false +} + +type RenepaystatusRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Invstring *string `protobuf:"bytes,1,opt,name=invstring,proto3,oneof" json:"invstring,omitempty"` +} + +func (x *RenepaystatusRequest) Reset() { + *x = RenepaystatusRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[246] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RenepaystatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RenepaystatusRequest) ProtoMessage() {} + +func (x *RenepaystatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[246] + 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 RenepaystatusRequest.ProtoReflect.Descriptor instead. +func (*RenepaystatusRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{246} +} + +func (x *RenepaystatusRequest) GetInvstring() string { + if x != nil && x.Invstring != nil { + return *x.Invstring + } + return "" +} + +type RenepaystatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Paystatus []*RenepaystatusPaystatus `protobuf:"bytes,1,rep,name=paystatus,proto3" json:"paystatus,omitempty"` +} + +func (x *RenepaystatusResponse) Reset() { + *x = RenepaystatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[247] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RenepaystatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RenepaystatusResponse) ProtoMessage() {} + +func (x *RenepaystatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[247] + 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 RenepaystatusResponse.ProtoReflect.Descriptor instead. +func (*RenepaystatusResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{247} +} + +func (x *RenepaystatusResponse) GetPaystatus() []*RenepaystatusPaystatus { + if x != nil { + return x.Paystatus + } + return nil +} + +type RenepaystatusPaystatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bolt11 string `protobuf:"bytes,1,opt,name=bolt11,proto3" json:"bolt11,omitempty"` + PaymentPreimage []byte `protobuf:"bytes,2,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` + PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + CreatedAt float64 `protobuf:"fixed64,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Groupid uint32 `protobuf:"varint,5,opt,name=groupid,proto3" json:"groupid,omitempty"` + Parts *uint32 `protobuf:"varint,6,opt,name=parts,proto3,oneof" json:"parts,omitempty"` + AmountMsat *Amount `protobuf:"bytes,7,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` + AmountSentMsat *Amount `protobuf:"bytes,8,opt,name=amount_sent_msat,json=amountSentMsat,proto3,oneof" json:"amount_sent_msat,omitempty"` + Status RenepaystatusPaystatus_RenepaystatusPaystatusStatus `protobuf:"varint,9,opt,name=status,proto3,enum=cln.RenepaystatusPaystatus_RenepaystatusPaystatusStatus" json:"status,omitempty"` + Destination []byte `protobuf:"bytes,10,opt,name=destination,proto3,oneof" json:"destination,omitempty"` + Notes []string `protobuf:"bytes,11,rep,name=notes,proto3" json:"notes,omitempty"` +} + +func (x *RenepaystatusPaystatus) Reset() { + *x = RenepaystatusPaystatus{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[248] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RenepaystatusPaystatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RenepaystatusPaystatus) ProtoMessage() {} + +func (x *RenepaystatusPaystatus) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[248] + 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 RenepaystatusPaystatus.ProtoReflect.Descriptor instead. +func (*RenepaystatusPaystatus) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{248} +} + +func (x *RenepaystatusPaystatus) GetBolt11() string { + if x != nil { + return x.Bolt11 + } + return "" +} + +func (x *RenepaystatusPaystatus) GetPaymentPreimage() []byte { + if x != nil { + return x.PaymentPreimage + } + return nil +} + +func (x *RenepaystatusPaystatus) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash + } + return nil +} + +func (x *RenepaystatusPaystatus) GetCreatedAt() float64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *RenepaystatusPaystatus) GetGroupid() uint32 { + if x != nil { + return x.Groupid + } + return 0 +} + +func (x *RenepaystatusPaystatus) GetParts() uint32 { + if x != nil && x.Parts != nil { + return *x.Parts + } + return 0 +} + +func (x *RenepaystatusPaystatus) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil +} + +func (x *RenepaystatusPaystatus) GetAmountSentMsat() *Amount { + if x != nil { + return x.AmountSentMsat + } + return nil +} + +func (x *RenepaystatusPaystatus) GetStatus() RenepaystatusPaystatus_RenepaystatusPaystatusStatus { + if x != nil { + return x.Status + } + return RenepaystatusPaystatus_COMPLETE +} + +func (x *RenepaystatusPaystatus) GetDestination() []byte { + if x != nil { + return x.Destination + } + return nil +} + +func (x *RenepaystatusPaystatus) GetNotes() []string { + if x != nil { + return x.Notes + } + return nil +} + +type RenepayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Invstring string `protobuf:"bytes,1,opt,name=invstring,proto3" json:"invstring,omitempty"` + AmountMsat *Amount `protobuf:"bytes,2,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Maxfee *Amount `protobuf:"bytes,3,opt,name=maxfee,proto3,oneof" json:"maxfee,omitempty"` + Maxdelay *uint32 `protobuf:"varint,4,opt,name=maxdelay,proto3,oneof" json:"maxdelay,omitempty"` + RetryFor *uint32 `protobuf:"varint,5,opt,name=retry_for,json=retryFor,proto3,oneof" json:"retry_for,omitempty"` + Description *string `protobuf:"bytes,6,opt,name=description,proto3,oneof" json:"description,omitempty"` + Label *string `protobuf:"bytes,7,opt,name=label,proto3,oneof" json:"label,omitempty"` + DevUseShadow *bool `protobuf:"varint,8,opt,name=dev_use_shadow,json=devUseShadow,proto3,oneof" json:"dev_use_shadow,omitempty"` +} + +func (x *RenepayRequest) Reset() { + *x = RenepayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[249] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RenepayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RenepayRequest) ProtoMessage() {} + +func (x *RenepayRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[249] + 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 RenepayRequest.ProtoReflect.Descriptor instead. +func (*RenepayRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{249} +} + +func (x *RenepayRequest) GetInvstring() string { + if x != nil { + return x.Invstring + } + return "" +} + +func (x *RenepayRequest) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil +} + +func (x *RenepayRequest) GetMaxfee() *Amount { + if x != nil { + return x.Maxfee + } + return nil +} + +func (x *RenepayRequest) GetMaxdelay() uint32 { + if x != nil && x.Maxdelay != nil { + return *x.Maxdelay + } + return 0 +} + +func (x *RenepayRequest) GetRetryFor() uint32 { + if x != nil && x.RetryFor != nil { + return *x.RetryFor + } + return 0 +} + +func (x *RenepayRequest) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *RenepayRequest) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label + } + return "" +} + +func (x *RenepayRequest) GetDevUseShadow() bool { + if x != nil && x.DevUseShadow != nil { + return *x.DevUseShadow + } + return false +} + +type RenepayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PaymentPreimage []byte `protobuf:"bytes,1,opt,name=payment_preimage,json=paymentPreimage,proto3" json:"payment_preimage,omitempty"` + PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + CreatedAt float64 `protobuf:"fixed64,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` + Parts uint32 `protobuf:"varint,4,opt,name=parts,proto3" json:"parts,omitempty"` + AmountMsat *Amount `protobuf:"bytes,5,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` + AmountSentMsat *Amount `protobuf:"bytes,6,opt,name=amount_sent_msat,json=amountSentMsat,proto3" json:"amount_sent_msat,omitempty"` + Status RenepayResponse_RenepayStatus `protobuf:"varint,7,opt,name=status,proto3,enum=cln.RenepayResponse_RenepayStatus" json:"status,omitempty"` + Destination []byte `protobuf:"bytes,8,opt,name=destination,proto3,oneof" json:"destination,omitempty"` +} + +func (x *RenepayResponse) Reset() { + *x = RenepayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[250] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RenepayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RenepayResponse) ProtoMessage() {} + +func (x *RenepayResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[250] + 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 RenepayResponse.ProtoReflect.Descriptor instead. +func (*RenepayResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{250} +} + +func (x *RenepayResponse) GetPaymentPreimage() []byte { + if x != nil { + return x.PaymentPreimage + } + return nil +} + +func (x *RenepayResponse) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash + } + return nil +} + +func (x *RenepayResponse) GetCreatedAt() float64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *RenepayResponse) GetParts() uint32 { + if x != nil { + return x.Parts + } + return 0 +} + +func (x *RenepayResponse) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil +} + +func (x *RenepayResponse) GetAmountSentMsat() *Amount { + if x != nil { + return x.AmountSentMsat + } + return nil +} + +func (x *RenepayResponse) GetStatus() RenepayResponse_RenepayStatus { + if x != nil { + return x.Status + } + return RenepayResponse_COMPLETE +} + +func (x *RenepayResponse) GetDestination() []byte { + if x != nil { + return x.Destination + } + return nil +} + +type ReserveinputsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` + Exclusive *bool `protobuf:"varint,2,opt,name=exclusive,proto3,oneof" json:"exclusive,omitempty"` + Reserve *uint32 `protobuf:"varint,3,opt,name=reserve,proto3,oneof" json:"reserve,omitempty"` +} + +func (x *ReserveinputsRequest) Reset() { + *x = ReserveinputsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[251] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReserveinputsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReserveinputsRequest) ProtoMessage() {} + +func (x *ReserveinputsRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[251] + 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 ReserveinputsRequest.ProtoReflect.Descriptor instead. +func (*ReserveinputsRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{251} +} + +func (x *ReserveinputsRequest) GetPsbt() string { + if x != nil { + return x.Psbt + } + return "" +} + +func (x *ReserveinputsRequest) GetExclusive() bool { + if x != nil && x.Exclusive != nil { + return *x.Exclusive + } + return false +} + +func (x *ReserveinputsRequest) GetReserve() uint32 { + if x != nil && x.Reserve != nil { + return *x.Reserve + } + return 0 +} + +type ReserveinputsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reservations []*ReserveinputsReservations `protobuf:"bytes,1,rep,name=reservations,proto3" json:"reservations,omitempty"` +} + +func (x *ReserveinputsResponse) Reset() { + *x = ReserveinputsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[252] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReserveinputsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReserveinputsResponse) ProtoMessage() {} + +func (x *ReserveinputsResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[252] + 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 ReserveinputsResponse.ProtoReflect.Descriptor instead. +func (*ReserveinputsResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{252} +} + +func (x *ReserveinputsResponse) GetReservations() []*ReserveinputsReservations { + if x != nil { + return x.Reservations + } + return nil +} + +type ReserveinputsReservations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Vout uint32 `protobuf:"varint,2,opt,name=vout,proto3" json:"vout,omitempty"` + WasReserved bool `protobuf:"varint,3,opt,name=was_reserved,json=wasReserved,proto3" json:"was_reserved,omitempty"` + Reserved bool `protobuf:"varint,4,opt,name=reserved,proto3" json:"reserved,omitempty"` + ReservedToBlock uint32 `protobuf:"varint,5,opt,name=reserved_to_block,json=reservedToBlock,proto3" json:"reserved_to_block,omitempty"` +} + +func (x *ReserveinputsReservations) Reset() { + *x = ReserveinputsReservations{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[253] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ReserveinputsReservations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReserveinputsReservations) ProtoMessage() {} + +func (x *ReserveinputsReservations) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[253] + 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 ReserveinputsReservations.ProtoReflect.Descriptor instead. +func (*ReserveinputsReservations) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{253} +} + +func (x *ReserveinputsReservations) GetTxid() []byte { + if x != nil { + return x.Txid + } + return nil +} + +func (x *ReserveinputsReservations) GetVout() uint32 { + if x != nil { + return x.Vout + } + return 0 +} + +func (x *ReserveinputsReservations) GetWasReserved() bool { + if x != nil { + return x.WasReserved + } + return false +} + +func (x *ReserveinputsReservations) GetReserved() bool { + if x != nil { + return x.Reserved + } + return false +} + +func (x *ReserveinputsReservations) GetReservedToBlock() uint32 { + if x != nil { + return x.ReservedToBlock + } + return 0 +} + +type SendcustommsgRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NodeId []byte `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + Msg []byte `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` +} + +func (x *SendcustommsgRequest) Reset() { + *x = SendcustommsgRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[254] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendcustommsgRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendcustommsgRequest) ProtoMessage() {} + +func (x *SendcustommsgRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[254] + 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 SendcustommsgRequest.ProtoReflect.Descriptor instead. +func (*SendcustommsgRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{254} +} + +func (x *SendcustommsgRequest) GetNodeId() []byte { + if x != nil { + return x.NodeId + } + return nil +} + +func (x *SendcustommsgRequest) GetMsg() []byte { + if x != nil { + return x.Msg + } + return nil +} + +type SendcustommsgResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *SendcustommsgResponse) Reset() { + *x = SendcustommsgResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[255] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendcustommsgResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendcustommsgResponse) ProtoMessage() {} + +func (x *SendcustommsgResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[255] + 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 SendcustommsgResponse.ProtoReflect.Descriptor instead. +func (*SendcustommsgResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{255} +} + +func (x *SendcustommsgResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type SendinvoiceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Invreq string `protobuf:"bytes,1,opt,name=invreq,proto3" json:"invreq,omitempty"` + Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` + AmountMsat *Amount `protobuf:"bytes,3,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Timeout *uint32 `protobuf:"varint,4,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"` + Quantity *uint64 `protobuf:"varint,5,opt,name=quantity,proto3,oneof" json:"quantity,omitempty"` +} + +func (x *SendinvoiceRequest) Reset() { + *x = SendinvoiceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[256] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendinvoiceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendinvoiceRequest) ProtoMessage() {} + +func (x *SendinvoiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[256] + 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 SendinvoiceRequest.ProtoReflect.Descriptor instead. +func (*SendinvoiceRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{256} +} + +func (x *SendinvoiceRequest) GetInvreq() string { + if x != nil { + return x.Invreq + } + return "" +} + +func (x *SendinvoiceRequest) GetLabel() string { + if x != nil { + return x.Label + } + return "" +} + +func (x *SendinvoiceRequest) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil +} + +func (x *SendinvoiceRequest) GetTimeout() uint32 { + if x != nil && x.Timeout != nil { + return *x.Timeout + } + return 0 +} + +func (x *SendinvoiceRequest) GetQuantity() uint64 { + if x != nil && x.Quantity != nil { + return *x.Quantity + } + return 0 +} + +type SendinvoiceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + Status SendinvoiceResponse_SendinvoiceStatus `protobuf:"varint,4,opt,name=status,proto3,enum=cln.SendinvoiceResponse_SendinvoiceStatus" json:"status,omitempty"` + ExpiresAt uint64 `protobuf:"varint,5,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` + AmountMsat *Amount `protobuf:"bytes,6,opt,name=amount_msat,json=amountMsat,proto3,oneof" json:"amount_msat,omitempty"` + Bolt12 *string `protobuf:"bytes,7,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` + CreatedIndex *uint64 `protobuf:"varint,8,opt,name=created_index,json=createdIndex,proto3,oneof" json:"created_index,omitempty"` + UpdatedIndex *uint64 `protobuf:"varint,9,opt,name=updated_index,json=updatedIndex,proto3,oneof" json:"updated_index,omitempty"` + PayIndex *uint64 `protobuf:"varint,10,opt,name=pay_index,json=payIndex,proto3,oneof" json:"pay_index,omitempty"` + AmountReceivedMsat *Amount `protobuf:"bytes,11,opt,name=amount_received_msat,json=amountReceivedMsat,proto3,oneof" json:"amount_received_msat,omitempty"` + PaidAt *uint64 `protobuf:"varint,12,opt,name=paid_at,json=paidAt,proto3,oneof" json:"paid_at,omitempty"` + PaymentPreimage []byte `protobuf:"bytes,13,opt,name=payment_preimage,json=paymentPreimage,proto3,oneof" json:"payment_preimage,omitempty"` +} + +func (x *SendinvoiceResponse) Reset() { + *x = SendinvoiceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[257] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendinvoiceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendinvoiceResponse) ProtoMessage() {} + +func (x *SendinvoiceResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[257] + 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 SendinvoiceResponse.ProtoReflect.Descriptor instead. +func (*SendinvoiceResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{257} +} + +func (x *SendinvoiceResponse) GetLabel() string { + if x != nil { + return x.Label + } + return "" +} + +func (x *SendinvoiceResponse) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *SendinvoiceResponse) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash + } + return nil +} + +func (x *SendinvoiceResponse) GetStatus() SendinvoiceResponse_SendinvoiceStatus { + if x != nil { + return x.Status + } + return SendinvoiceResponse_UNPAID +} + +func (x *SendinvoiceResponse) GetExpiresAt() uint64 { + if x != nil { + return x.ExpiresAt + } + return 0 +} + +func (x *SendinvoiceResponse) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil +} + +func (x *SendinvoiceResponse) GetBolt12() string { + if x != nil && x.Bolt12 != nil { + return *x.Bolt12 + } + return "" +} + +func (x *SendinvoiceResponse) GetCreatedIndex() uint64 { + if x != nil && x.CreatedIndex != nil { + return *x.CreatedIndex + } + return 0 +} + +func (x *SendinvoiceResponse) GetUpdatedIndex() uint64 { + if x != nil && x.UpdatedIndex != nil { + return *x.UpdatedIndex + } + return 0 +} + +func (x *SendinvoiceResponse) GetPayIndex() uint64 { + if x != nil && x.PayIndex != nil { + return *x.PayIndex + } + return 0 +} + +func (x *SendinvoiceResponse) GetAmountReceivedMsat() *Amount { + if x != nil { + return x.AmountReceivedMsat + } + return nil +} + +func (x *SendinvoiceResponse) GetPaidAt() uint64 { + if x != nil && x.PaidAt != nil { + return *x.PaidAt + } + return 0 +} + +func (x *SendinvoiceResponse) GetPaymentPreimage() []byte { + if x != nil { + return x.PaymentPreimage + } + return nil +} + +type SendonionmessageRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FirstId []byte `protobuf:"bytes,1,opt,name=first_id,json=firstId,proto3" json:"first_id,omitempty"` + Blinding []byte `protobuf:"bytes,2,opt,name=blinding,proto3" json:"blinding,omitempty"` + Hops []*SendonionmessageHops `protobuf:"bytes,3,rep,name=hops,proto3" json:"hops,omitempty"` +} + +func (x *SendonionmessageRequest) Reset() { + *x = SendonionmessageRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[258] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendonionmessageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendonionmessageRequest) ProtoMessage() {} + +func (x *SendonionmessageRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[258] + 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 SendonionmessageRequest.ProtoReflect.Descriptor instead. +func (*SendonionmessageRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{258} +} + +func (x *SendonionmessageRequest) GetFirstId() []byte { + if x != nil { + return x.FirstId + } + return nil +} + +func (x *SendonionmessageRequest) GetBlinding() []byte { + if x != nil { + return x.Blinding + } + return nil +} + +func (x *SendonionmessageRequest) GetHops() []*SendonionmessageHops { + if x != nil { + return x.Hops + } + return nil +} + +type SendonionmessageResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SendonionmessageResponse) Reset() { + *x = SendonionmessageResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[259] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendonionmessageResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendonionmessageResponse) ProtoMessage() {} + +func (x *SendonionmessageResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[259] + 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 SendonionmessageResponse.ProtoReflect.Descriptor instead. +func (*SendonionmessageResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{259} +} + +type SendonionmessageHops struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Node []byte `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + Tlv uint32 `protobuf:"varint,2,opt,name=tlv,proto3" json:"tlv,omitempty"` +} + +func (x *SendonionmessageHops) Reset() { + *x = SendonionmessageHops{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[260] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendonionmessageHops) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendonionmessageHops) ProtoMessage() {} + +func (x *SendonionmessageHops) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[260] + 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 SendonionmessageHops.ProtoReflect.Descriptor instead. +func (*SendonionmessageHops) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{260} +} + +func (x *SendonionmessageHops) GetNode() []byte { + if x != nil { + return x.Node + } + return nil +} + +func (x *SendonionmessageHops) GetTlv() uint32 { + if x != nil { + return x.Tlv + } + return 0 +} + +type SetchannelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Feebase *Amount `protobuf:"bytes,2,opt,name=feebase,proto3,oneof" json:"feebase,omitempty"` + Feeppm *uint32 `protobuf:"varint,3,opt,name=feeppm,proto3,oneof" json:"feeppm,omitempty"` + Htlcmin *Amount `protobuf:"bytes,4,opt,name=htlcmin,proto3,oneof" json:"htlcmin,omitempty"` + Htlcmax *Amount `protobuf:"bytes,5,opt,name=htlcmax,proto3,oneof" json:"htlcmax,omitempty"` + Enforcedelay *uint32 `protobuf:"varint,6,opt,name=enforcedelay,proto3,oneof" json:"enforcedelay,omitempty"` + Ignorefeelimits *bool `protobuf:"varint,7,opt,name=ignorefeelimits,proto3,oneof" json:"ignorefeelimits,omitempty"` +} + +func (x *SetchannelRequest) Reset() { + *x = SetchannelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[261] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetchannelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetchannelRequest) ProtoMessage() {} + +func (x *SetchannelRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[261] + 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 SetchannelRequest.ProtoReflect.Descriptor instead. +func (*SetchannelRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{261} +} + +func (x *SetchannelRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *SetchannelRequest) GetFeebase() *Amount { + if x != nil { + return x.Feebase + } + return nil +} + +func (x *SetchannelRequest) GetFeeppm() uint32 { + if x != nil && x.Feeppm != nil { + return *x.Feeppm + } + return 0 +} + +func (x *SetchannelRequest) GetHtlcmin() *Amount { + if x != nil { + return x.Htlcmin + } + return nil +} + +func (x *SetchannelRequest) GetHtlcmax() *Amount { + if x != nil { + return x.Htlcmax + } + return nil +} + +func (x *SetchannelRequest) GetEnforcedelay() uint32 { + if x != nil && x.Enforcedelay != nil { + return *x.Enforcedelay + } + return 0 +} + +func (x *SetchannelRequest) GetIgnorefeelimits() bool { + if x != nil && x.Ignorefeelimits != nil { + return *x.Ignorefeelimits + } + return false +} + +type SetchannelResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Channels []*SetchannelChannels `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` +} + +func (x *SetchannelResponse) Reset() { + *x = SetchannelResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[262] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetchannelResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetchannelResponse) ProtoMessage() {} + +func (x *SetchannelResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[262] + 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 SetchannelResponse.ProtoReflect.Descriptor instead. +func (*SetchannelResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{262} +} + +func (x *SetchannelResponse) GetChannels() []*SetchannelChannels { + if x != nil { + return x.Channels + } + return nil +} + +type SetchannelChannels struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PeerId []byte `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"` + ChannelId []byte `protobuf:"bytes,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + ShortChannelId *string `protobuf:"bytes,3,opt,name=short_channel_id,json=shortChannelId,proto3,oneof" json:"short_channel_id,omitempty"` + FeeBaseMsat *Amount `protobuf:"bytes,4,opt,name=fee_base_msat,json=feeBaseMsat,proto3" json:"fee_base_msat,omitempty"` + FeeProportionalMillionths uint32 `protobuf:"varint,5,opt,name=fee_proportional_millionths,json=feeProportionalMillionths,proto3" json:"fee_proportional_millionths,omitempty"` + MinimumHtlcOutMsat *Amount `protobuf:"bytes,6,opt,name=minimum_htlc_out_msat,json=minimumHtlcOutMsat,proto3" json:"minimum_htlc_out_msat,omitempty"` + WarningHtlcminTooLow *string `protobuf:"bytes,7,opt,name=warning_htlcmin_too_low,json=warningHtlcminTooLow,proto3,oneof" json:"warning_htlcmin_too_low,omitempty"` + MaximumHtlcOutMsat *Amount `protobuf:"bytes,8,opt,name=maximum_htlc_out_msat,json=maximumHtlcOutMsat,proto3" json:"maximum_htlc_out_msat,omitempty"` + WarningHtlcmaxTooHigh *string `protobuf:"bytes,9,opt,name=warning_htlcmax_too_high,json=warningHtlcmaxTooHigh,proto3,oneof" json:"warning_htlcmax_too_high,omitempty"` + IgnoreFeeLimits *bool `protobuf:"varint,10,opt,name=ignore_fee_limits,json=ignoreFeeLimits,proto3,oneof" json:"ignore_fee_limits,omitempty"` +} + +func (x *SetchannelChannels) Reset() { + *x = SetchannelChannels{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[263] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetchannelChannels) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetchannelChannels) ProtoMessage() {} + +func (x *SetchannelChannels) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[263] + 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 SetchannelChannels.ProtoReflect.Descriptor instead. +func (*SetchannelChannels) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{263} +} + +func (x *SetchannelChannels) GetPeerId() []byte { + if x != nil { + return x.PeerId + } + return nil +} + +func (x *SetchannelChannels) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *SetchannelChannels) GetShortChannelId() string { + if x != nil && x.ShortChannelId != nil { + return *x.ShortChannelId + } + return "" +} + +func (x *SetchannelChannels) GetFeeBaseMsat() *Amount { + if x != nil { + return x.FeeBaseMsat + } + return nil +} + +func (x *SetchannelChannels) GetFeeProportionalMillionths() uint32 { + if x != nil { + return x.FeeProportionalMillionths + } + return 0 +} + +func (x *SetchannelChannels) GetMinimumHtlcOutMsat() *Amount { + if x != nil { + return x.MinimumHtlcOutMsat + } + return nil +} + +func (x *SetchannelChannels) GetWarningHtlcminTooLow() string { + if x != nil && x.WarningHtlcminTooLow != nil { + return *x.WarningHtlcminTooLow + } + return "" +} + +func (x *SetchannelChannels) GetMaximumHtlcOutMsat() *Amount { + if x != nil { + return x.MaximumHtlcOutMsat + } + return nil +} + +func (x *SetchannelChannels) GetWarningHtlcmaxTooHigh() string { + if x != nil && x.WarningHtlcmaxTooHigh != nil { + return *x.WarningHtlcmaxTooHigh + } + return "" +} + +func (x *SetchannelChannels) GetIgnoreFeeLimits() bool { + if x != nil && x.IgnoreFeeLimits != nil { + return *x.IgnoreFeeLimits + } + return false +} + +type SetconfigRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config string `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + Val *string `protobuf:"bytes,2,opt,name=val,proto3,oneof" json:"val,omitempty"` +} + +func (x *SetconfigRequest) Reset() { + *x = SetconfigRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[264] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetconfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetconfigRequest) ProtoMessage() {} + +func (x *SetconfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[264] + 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 SetconfigRequest.ProtoReflect.Descriptor instead. +func (*SetconfigRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{264} +} + +func (x *SetconfigRequest) GetConfig() string { + if x != nil { + return x.Config + } + return "" +} + +func (x *SetconfigRequest) GetVal() string { + if x != nil && x.Val != nil { + return *x.Val + } + return "" +} + +type SetconfigResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config *SetconfigConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` +} + +func (x *SetconfigResponse) Reset() { + *x = SetconfigResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[265] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetconfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetconfigResponse) ProtoMessage() {} + +func (x *SetconfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[265] + 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 SetconfigResponse.ProtoReflect.Descriptor instead. +func (*SetconfigResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{265} +} + +func (x *SetconfigResponse) GetConfig() *SetconfigConfig { + if x != nil { + return x.Config + } + return nil +} + +type SetconfigConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config string `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` + Plugin *string `protobuf:"bytes,3,opt,name=plugin,proto3,oneof" json:"plugin,omitempty"` + Dynamic bool `protobuf:"varint,4,opt,name=dynamic,proto3" json:"dynamic,omitempty"` + Set *bool `protobuf:"varint,5,opt,name=set,proto3,oneof" json:"set,omitempty"` + ValueStr *string `protobuf:"bytes,6,opt,name=value_str,json=valueStr,proto3,oneof" json:"value_str,omitempty"` + ValueMsat *Amount `protobuf:"bytes,7,opt,name=value_msat,json=valueMsat,proto3,oneof" json:"value_msat,omitempty"` + ValueInt *int64 `protobuf:"zigzag64,8,opt,name=value_int,json=valueInt,proto3,oneof" json:"value_int,omitempty"` + ValueBool *bool `protobuf:"varint,9,opt,name=value_bool,json=valueBool,proto3,oneof" json:"value_bool,omitempty"` +} + +func (x *SetconfigConfig) Reset() { + *x = SetconfigConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[266] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetconfigConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetconfigConfig) ProtoMessage() {} + +func (x *SetconfigConfig) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[266] + 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 SetconfigConfig.ProtoReflect.Descriptor instead. +func (*SetconfigConfig) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{266} +} + +func (x *SetconfigConfig) GetConfig() string { + if x != nil { + return x.Config + } + return "" +} + +func (x *SetconfigConfig) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *SetconfigConfig) GetPlugin() string { + if x != nil && x.Plugin != nil { + return *x.Plugin + } + return "" +} + +func (x *SetconfigConfig) GetDynamic() bool { + if x != nil { + return x.Dynamic + } + return false +} + +func (x *SetconfigConfig) GetSet() bool { + if x != nil && x.Set != nil { + return *x.Set + } + return false +} + +func (x *SetconfigConfig) GetValueStr() string { + if x != nil && x.ValueStr != nil { + return *x.ValueStr + } + return "" +} + +func (x *SetconfigConfig) GetValueMsat() *Amount { + if x != nil { + return x.ValueMsat + } + return nil +} + +func (x *SetconfigConfig) GetValueInt() int64 { + if x != nil && x.ValueInt != nil { + return *x.ValueInt + } + return 0 +} + +func (x *SetconfigConfig) GetValueBool() bool { + if x != nil && x.ValueBool != nil { + return *x.ValueBool + } + return false +} + +type SetpsbtversionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` + Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *SetpsbtversionRequest) Reset() { + *x = SetpsbtversionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[267] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetpsbtversionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetpsbtversionRequest) ProtoMessage() {} + +func (x *SetpsbtversionRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[267] + 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 SetpsbtversionRequest.ProtoReflect.Descriptor instead. +func (*SetpsbtversionRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{267} +} + +func (x *SetpsbtversionRequest) GetPsbt() string { + if x != nil { + return x.Psbt + } + return "" +} + +func (x *SetpsbtversionRequest) GetVersion() uint32 { + if x != nil { + return x.Version + } + return 0 +} + +type SetpsbtversionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` +} + +func (x *SetpsbtversionResponse) Reset() { + *x = SetpsbtversionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[268] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetpsbtversionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetpsbtversionResponse) ProtoMessage() {} + +func (x *SetpsbtversionResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[268] + 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 SetpsbtversionResponse.ProtoReflect.Descriptor instead. +func (*SetpsbtversionResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{268} +} + +func (x *SetpsbtversionResponse) GetPsbt() string { + if x != nil { + return x.Psbt + } + return "" +} + +type SigninvoiceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Invstring string `protobuf:"bytes,1,opt,name=invstring,proto3" json:"invstring,omitempty"` +} + +func (x *SigninvoiceRequest) Reset() { + *x = SigninvoiceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[269] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SigninvoiceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SigninvoiceRequest) ProtoMessage() {} + +func (x *SigninvoiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[269] + 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 SigninvoiceRequest.ProtoReflect.Descriptor instead. +func (*SigninvoiceRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{269} +} + +func (x *SigninvoiceRequest) GetInvstring() string { + if x != nil { + return x.Invstring + } + return "" +} + +type SigninvoiceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bolt11 string `protobuf:"bytes,1,opt,name=bolt11,proto3" json:"bolt11,omitempty"` +} + +func (x *SigninvoiceResponse) Reset() { + *x = SigninvoiceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[270] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SigninvoiceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SigninvoiceResponse) ProtoMessage() {} + +func (x *SigninvoiceResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[270] + 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 SigninvoiceResponse.ProtoReflect.Descriptor instead. +func (*SigninvoiceResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{270} +} + +func (x *SigninvoiceResponse) GetBolt11() string { + if x != nil { + return x.Bolt11 + } + return "" +} + +type SignmessageRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` +} + +func (x *SignmessageRequest) Reset() { + *x = SignmessageRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[271] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SignmessageRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignmessageRequest) ProtoMessage() {} + +func (x *SignmessageRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[271] + 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 SignmessageRequest.ProtoReflect.Descriptor instead. +func (*SignmessageRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{271} +} + +func (x *SignmessageRequest) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +type SignmessageResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` + Recid []byte `protobuf:"bytes,2,opt,name=recid,proto3" json:"recid,omitempty"` + Zbase string `protobuf:"bytes,3,opt,name=zbase,proto3" json:"zbase,omitempty"` +} + +func (x *SignmessageResponse) Reset() { + *x = SignmessageResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[272] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SignmessageResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignmessageResponse) ProtoMessage() {} + +func (x *SignmessageResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[272] + 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 SignmessageResponse.ProtoReflect.Descriptor instead. +func (*SignmessageResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{272} +} + +func (x *SignmessageResponse) GetSignature() []byte { + if x != nil { + return x.Signature + } + return nil +} + +func (x *SignmessageResponse) GetRecid() []byte { + if x != nil { + return x.Recid + } + return nil +} + +func (x *SignmessageResponse) GetZbase() string { + if x != nil { + return x.Zbase + } + return "" +} + +type SpliceInitRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelId []byte `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + RelativeAmount int64 `protobuf:"zigzag64,2,opt,name=relative_amount,json=relativeAmount,proto3" json:"relative_amount,omitempty"` + Initialpsbt *string `protobuf:"bytes,3,opt,name=initialpsbt,proto3,oneof" json:"initialpsbt,omitempty"` + FeeratePerKw *uint32 `protobuf:"varint,4,opt,name=feerate_per_kw,json=feeratePerKw,proto3,oneof" json:"feerate_per_kw,omitempty"` + ForceFeerate *bool `protobuf:"varint,5,opt,name=force_feerate,json=forceFeerate,proto3,oneof" json:"force_feerate,omitempty"` +} + +func (x *SpliceInitRequest) Reset() { + *x = SpliceInitRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[273] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpliceInitRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpliceInitRequest) ProtoMessage() {} + +func (x *SpliceInitRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[273] + 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 SpliceInitRequest.ProtoReflect.Descriptor instead. +func (*SpliceInitRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{273} +} + +func (x *SpliceInitRequest) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *SpliceInitRequest) GetRelativeAmount() int64 { + if x != nil { + return x.RelativeAmount + } + return 0 +} + +func (x *SpliceInitRequest) GetInitialpsbt() string { + if x != nil && x.Initialpsbt != nil { + return *x.Initialpsbt + } + return "" +} + +func (x *SpliceInitRequest) GetFeeratePerKw() uint32 { + if x != nil && x.FeeratePerKw != nil { + return *x.FeeratePerKw + } + return 0 +} + +func (x *SpliceInitRequest) GetForceFeerate() bool { + if x != nil && x.ForceFeerate != nil { + return *x.ForceFeerate + } + return false +} + +type SpliceInitResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` +} + +func (x *SpliceInitResponse) Reset() { + *x = SpliceInitResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[274] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpliceInitResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpliceInitResponse) ProtoMessage() {} + +func (x *SpliceInitResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[274] + 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 SpliceInitResponse.ProtoReflect.Descriptor instead. +func (*SpliceInitResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{274} +} + +func (x *SpliceInitResponse) GetPsbt() string { + if x != nil { + return x.Psbt + } + return "" +} + +type SpliceSignedRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelId []byte `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + Psbt string `protobuf:"bytes,2,opt,name=psbt,proto3" json:"psbt,omitempty"` + SignFirst *bool `protobuf:"varint,3,opt,name=sign_first,json=signFirst,proto3,oneof" json:"sign_first,omitempty"` +} + +func (x *SpliceSignedRequest) Reset() { + *x = SpliceSignedRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[275] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpliceSignedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpliceSignedRequest) ProtoMessage() {} + +func (x *SpliceSignedRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[275] + 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 SpliceSignedRequest.ProtoReflect.Descriptor instead. +func (*SpliceSignedRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{275} +} + +func (x *SpliceSignedRequest) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *SpliceSignedRequest) GetPsbt() string { + if x != nil { + return x.Psbt + } + return "" +} + +func (x *SpliceSignedRequest) GetSignFirst() bool { + if x != nil && x.SignFirst != nil { + return *x.SignFirst + } + return false +} + +type SpliceSignedResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Tx []byte `protobuf:"bytes,1,opt,name=tx,proto3" json:"tx,omitempty"` + Txid []byte `protobuf:"bytes,2,opt,name=txid,proto3" json:"txid,omitempty"` +} + +func (x *SpliceSignedResponse) Reset() { + *x = SpliceSignedResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[276] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpliceSignedResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpliceSignedResponse) ProtoMessage() {} + +func (x *SpliceSignedResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[276] + 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 SpliceSignedResponse.ProtoReflect.Descriptor instead. +func (*SpliceSignedResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{276} +} + +func (x *SpliceSignedResponse) GetTx() []byte { + if x != nil { + return x.Tx + } + return nil +} + +func (x *SpliceSignedResponse) GetTxid() []byte { + if x != nil { + return x.Txid + } + return nil +} + +type SpliceUpdateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelId []byte `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + Psbt string `protobuf:"bytes,2,opt,name=psbt,proto3" json:"psbt,omitempty"` +} + +func (x *SpliceUpdateRequest) Reset() { + *x = SpliceUpdateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[277] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpliceUpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpliceUpdateRequest) ProtoMessage() {} + +func (x *SpliceUpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[277] + 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 SpliceUpdateRequest.ProtoReflect.Descriptor instead. +func (*SpliceUpdateRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{277} +} + +func (x *SpliceUpdateRequest) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +func (x *SpliceUpdateRequest) GetPsbt() string { + if x != nil { + return x.Psbt + } + return "" +} + +type SpliceUpdateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` + CommitmentsSecured bool `protobuf:"varint,2,opt,name=commitments_secured,json=commitmentsSecured,proto3" json:"commitments_secured,omitempty"` +} + +func (x *SpliceUpdateResponse) Reset() { + *x = SpliceUpdateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[278] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SpliceUpdateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SpliceUpdateResponse) ProtoMessage() {} + +func (x *SpliceUpdateResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[278] + 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 SpliceUpdateResponse.ProtoReflect.Descriptor instead. +func (*SpliceUpdateResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{278} +} + +func (x *SpliceUpdateResponse) GetPsbt() string { + if x != nil { + return x.Psbt + } + return "" +} + +func (x *SpliceUpdateResponse) GetCommitmentsSecured() bool { + if x != nil { + return x.CommitmentsSecured + } + return false +} + +type UnreserveinputsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Psbt string `protobuf:"bytes,1,opt,name=psbt,proto3" json:"psbt,omitempty"` + Reserve *uint32 `protobuf:"varint,2,opt,name=reserve,proto3,oneof" json:"reserve,omitempty"` +} + +func (x *UnreserveinputsRequest) Reset() { + *x = UnreserveinputsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[279] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnreserveinputsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnreserveinputsRequest) ProtoMessage() {} + +func (x *UnreserveinputsRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[279] + 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 UnreserveinputsRequest.ProtoReflect.Descriptor instead. +func (*UnreserveinputsRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{279} +} + +func (x *UnreserveinputsRequest) GetPsbt() string { + if x != nil { + return x.Psbt + } + return "" +} + +func (x *UnreserveinputsRequest) GetReserve() uint32 { + if x != nil && x.Reserve != nil { + return *x.Reserve + } + return 0 +} + +type UnreserveinputsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reservations []*UnreserveinputsReservations `protobuf:"bytes,1,rep,name=reservations,proto3" json:"reservations,omitempty"` +} + +func (x *UnreserveinputsResponse) Reset() { + *x = UnreserveinputsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[280] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnreserveinputsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnreserveinputsResponse) ProtoMessage() {} + +func (x *UnreserveinputsResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[280] + 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 UnreserveinputsResponse.ProtoReflect.Descriptor instead. +func (*UnreserveinputsResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{280} +} + +func (x *UnreserveinputsResponse) GetReservations() []*UnreserveinputsReservations { + if x != nil { + return x.Reservations + } + return nil +} + +type UnreserveinputsReservations struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Vout uint32 `protobuf:"varint,2,opt,name=vout,proto3" json:"vout,omitempty"` + WasReserved bool `protobuf:"varint,3,opt,name=was_reserved,json=wasReserved,proto3" json:"was_reserved,omitempty"` + Reserved bool `protobuf:"varint,4,opt,name=reserved,proto3" json:"reserved,omitempty"` + ReservedToBlock *uint32 `protobuf:"varint,5,opt,name=reserved_to_block,json=reservedToBlock,proto3,oneof" json:"reserved_to_block,omitempty"` +} + +func (x *UnreserveinputsReservations) Reset() { + *x = UnreserveinputsReservations{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[281] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UnreserveinputsReservations) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnreserveinputsReservations) ProtoMessage() {} + +func (x *UnreserveinputsReservations) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[281] + 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 UnreserveinputsReservations.ProtoReflect.Descriptor instead. +func (*UnreserveinputsReservations) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{281} +} + +func (x *UnreserveinputsReservations) GetTxid() []byte { + if x != nil { + return x.Txid + } + return nil +} + +func (x *UnreserveinputsReservations) GetVout() uint32 { + if x != nil { + return x.Vout + } + return 0 +} + +func (x *UnreserveinputsReservations) GetWasReserved() bool { + if x != nil { + return x.WasReserved + } + return false +} + +func (x *UnreserveinputsReservations) GetReserved() bool { + if x != nil { + return x.Reserved + } + return false +} + +func (x *UnreserveinputsReservations) GetReservedToBlock() uint32 { + if x != nil && x.ReservedToBlock != nil { + return *x.ReservedToBlock + } + return 0 +} + +type UpgradewalletRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Feerate *Feerate `protobuf:"bytes,1,opt,name=feerate,proto3,oneof" json:"feerate,omitempty"` + Reservedok *bool `protobuf:"varint,2,opt,name=reservedok,proto3,oneof" json:"reservedok,omitempty"` +} + +func (x *UpgradewalletRequest) Reset() { + *x = UpgradewalletRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[282] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpgradewalletRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradewalletRequest) ProtoMessage() {} + +func (x *UpgradewalletRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[282] + 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 UpgradewalletRequest.ProtoReflect.Descriptor instead. +func (*UpgradewalletRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{282} +} + +func (x *UpgradewalletRequest) GetFeerate() *Feerate { + if x != nil { + return x.Feerate + } + return nil +} + +func (x *UpgradewalletRequest) GetReservedok() bool { + if x != nil && x.Reservedok != nil { + return *x.Reservedok + } + return false +} + +type UpgradewalletResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UpgradedOuts *uint64 `protobuf:"varint,1,opt,name=upgraded_outs,json=upgradedOuts,proto3,oneof" json:"upgraded_outs,omitempty"` + Psbt *string `protobuf:"bytes,2,opt,name=psbt,proto3,oneof" json:"psbt,omitempty"` + Tx []byte `protobuf:"bytes,3,opt,name=tx,proto3,oneof" json:"tx,omitempty"` + Txid []byte `protobuf:"bytes,4,opt,name=txid,proto3,oneof" json:"txid,omitempty"` +} + +func (x *UpgradewalletResponse) Reset() { + *x = UpgradewalletResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[283] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpgradewalletResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradewalletResponse) ProtoMessage() {} + +func (x *UpgradewalletResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[283] + 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 UpgradewalletResponse.ProtoReflect.Descriptor instead. +func (*UpgradewalletResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{283} +} + +func (x *UpgradewalletResponse) GetUpgradedOuts() uint64 { + if x != nil && x.UpgradedOuts != nil { + return *x.UpgradedOuts + } + return 0 +} + +func (x *UpgradewalletResponse) GetPsbt() string { + if x != nil && x.Psbt != nil { + return *x.Psbt + } + return "" +} + +func (x *UpgradewalletResponse) GetTx() []byte { + if x != nil { + return x.Tx + } + return nil +} + +func (x *UpgradewalletResponse) GetTxid() []byte { + if x != nil { + return x.Txid + } + return nil +} + +type WaitblockheightRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Blockheight uint32 `protobuf:"varint,1,opt,name=blockheight,proto3" json:"blockheight,omitempty"` + Timeout *uint32 `protobuf:"varint,2,opt,name=timeout,proto3,oneof" json:"timeout,omitempty"` +} + +func (x *WaitblockheightRequest) Reset() { + *x = WaitblockheightRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[284] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WaitblockheightRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WaitblockheightRequest) ProtoMessage() {} + +func (x *WaitblockheightRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[284] + 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 WaitblockheightRequest.ProtoReflect.Descriptor instead. +func (*WaitblockheightRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{284} +} + +func (x *WaitblockheightRequest) GetBlockheight() uint32 { + if x != nil { + return x.Blockheight + } + return 0 +} + +func (x *WaitblockheightRequest) GetTimeout() uint32 { + if x != nil && x.Timeout != nil { + return *x.Timeout + } + return 0 +} + +type WaitblockheightResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Blockheight uint32 `protobuf:"varint,1,opt,name=blockheight,proto3" json:"blockheight,omitempty"` +} + +func (x *WaitblockheightResponse) Reset() { + *x = WaitblockheightResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[285] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WaitblockheightResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WaitblockheightResponse) ProtoMessage() {} + +func (x *WaitblockheightResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[285] + 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 WaitblockheightResponse.ProtoReflect.Descriptor instead. +func (*WaitblockheightResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{285} +} + +func (x *WaitblockheightResponse) GetBlockheight() uint32 { + if x != nil { + return x.Blockheight + } + return 0 +} + +type WaitRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subsystem WaitRequest_WaitSubsystem `protobuf:"varint,1,opt,name=subsystem,proto3,enum=cln.WaitRequest_WaitSubsystem" json:"subsystem,omitempty"` + Indexname WaitRequest_WaitIndexname `protobuf:"varint,2,opt,name=indexname,proto3,enum=cln.WaitRequest_WaitIndexname" json:"indexname,omitempty"` + Nextvalue uint64 `protobuf:"varint,3,opt,name=nextvalue,proto3" json:"nextvalue,omitempty"` +} + +func (x *WaitRequest) Reset() { + *x = WaitRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[286] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WaitRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WaitRequest) ProtoMessage() {} + +func (x *WaitRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[286] + 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 WaitRequest.ProtoReflect.Descriptor instead. +func (*WaitRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{286} +} + +func (x *WaitRequest) GetSubsystem() WaitRequest_WaitSubsystem { + if x != nil { + return x.Subsystem + } + return WaitRequest_INVOICES +} + +func (x *WaitRequest) GetIndexname() WaitRequest_WaitIndexname { + if x != nil { + return x.Indexname + } + return WaitRequest_CREATED +} + +func (x *WaitRequest) GetNextvalue() uint64 { + if x != nil { + return x.Nextvalue + } + return 0 +} + +type WaitResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subsystem WaitResponse_WaitSubsystem `protobuf:"varint,1,opt,name=subsystem,proto3,enum=cln.WaitResponse_WaitSubsystem" json:"subsystem,omitempty"` + Created *uint64 `protobuf:"varint,2,opt,name=created,proto3,oneof" json:"created,omitempty"` + Updated *uint64 `protobuf:"varint,3,opt,name=updated,proto3,oneof" json:"updated,omitempty"` + Deleted *uint64 `protobuf:"varint,4,opt,name=deleted,proto3,oneof" json:"deleted,omitempty"` + Details *WaitDetails `protobuf:"bytes,5,opt,name=details,proto3,oneof" json:"details,omitempty"` +} + +func (x *WaitResponse) Reset() { + *x = WaitResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[287] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WaitResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WaitResponse) ProtoMessage() {} + +func (x *WaitResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[287] + 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 WaitResponse.ProtoReflect.Descriptor instead. +func (*WaitResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{287} +} + +func (x *WaitResponse) GetSubsystem() WaitResponse_WaitSubsystem { + if x != nil { + return x.Subsystem + } + return WaitResponse_INVOICES +} + +func (x *WaitResponse) GetCreated() uint64 { + if x != nil && x.Created != nil { + return *x.Created + } + return 0 +} + +func (x *WaitResponse) GetUpdated() uint64 { + if x != nil && x.Updated != nil { + return *x.Updated + } + return 0 +} + +func (x *WaitResponse) GetDeleted() uint64 { + if x != nil && x.Deleted != nil { + return *x.Deleted + } + return 0 +} + +func (x *WaitResponse) GetDetails() *WaitDetails { + if x != nil { + return x.Details + } + return nil +} + +type WaitDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status *WaitDetails_WaitDetailsStatus `protobuf:"varint,1,opt,name=status,proto3,enum=cln.WaitDetails_WaitDetailsStatus,oneof" json:"status,omitempty"` + Label *string `protobuf:"bytes,2,opt,name=label,proto3,oneof" json:"label,omitempty"` + Description *string `protobuf:"bytes,3,opt,name=description,proto3,oneof" json:"description,omitempty"` + Bolt11 *string `protobuf:"bytes,4,opt,name=bolt11,proto3,oneof" json:"bolt11,omitempty"` + Bolt12 *string `protobuf:"bytes,5,opt,name=bolt12,proto3,oneof" json:"bolt12,omitempty"` + Partid *uint64 `protobuf:"varint,6,opt,name=partid,proto3,oneof" json:"partid,omitempty"` + Groupid *uint64 `protobuf:"varint,7,opt,name=groupid,proto3,oneof" json:"groupid,omitempty"` + PaymentHash []byte `protobuf:"bytes,8,opt,name=payment_hash,json=paymentHash,proto3,oneof" json:"payment_hash,omitempty"` + InChannel *string `protobuf:"bytes,9,opt,name=in_channel,json=inChannel,proto3,oneof" json:"in_channel,omitempty"` + InHtlcId *uint64 `protobuf:"varint,10,opt,name=in_htlc_id,json=inHtlcId,proto3,oneof" json:"in_htlc_id,omitempty"` + InMsat *Amount `protobuf:"bytes,11,opt,name=in_msat,json=inMsat,proto3,oneof" json:"in_msat,omitempty"` + OutChannel *string `protobuf:"bytes,12,opt,name=out_channel,json=outChannel,proto3,oneof" json:"out_channel,omitempty"` +} + +func (x *WaitDetails) Reset() { + *x = WaitDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[288] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WaitDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WaitDetails) ProtoMessage() {} + +func (x *WaitDetails) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[288] + 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 WaitDetails.ProtoReflect.Descriptor instead. +func (*WaitDetails) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{288} +} + +func (x *WaitDetails) GetStatus() WaitDetails_WaitDetailsStatus { + if x != nil && x.Status != nil { + return *x.Status + } + return WaitDetails_UNPAID +} + +func (x *WaitDetails) GetLabel() string { + if x != nil && x.Label != nil { + return *x.Label + } + return "" +} + +func (x *WaitDetails) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *WaitDetails) GetBolt11() string { + if x != nil && x.Bolt11 != nil { + return *x.Bolt11 + } + return "" +} + +func (x *WaitDetails) GetBolt12() string { + if x != nil && x.Bolt12 != nil { + return *x.Bolt12 + } + return "" +} + +func (x *WaitDetails) GetPartid() uint64 { + if x != nil && x.Partid != nil { + return *x.Partid + } + return 0 +} + +func (x *WaitDetails) GetGroupid() uint64 { + if x != nil && x.Groupid != nil { + return *x.Groupid + } + return 0 +} + +func (x *WaitDetails) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash + } + return nil +} + +func (x *WaitDetails) GetInChannel() string { + if x != nil && x.InChannel != nil { + return *x.InChannel + } + return "" +} + +func (x *WaitDetails) GetInHtlcId() uint64 { + if x != nil && x.InHtlcId != nil { + return *x.InHtlcId + } + return 0 +} + +func (x *WaitDetails) GetInMsat() *Amount { + if x != nil { + return x.InMsat + } + return nil +} + +func (x *WaitDetails) GetOutChannel() string { + if x != nil && x.OutChannel != nil { + return *x.OutChannel + } + return "" +} + +type ListconfigsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config *string `protobuf:"bytes,1,opt,name=config,proto3,oneof" json:"config,omitempty"` +} + +func (x *ListconfigsRequest) Reset() { + *x = ListconfigsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[289] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsRequest) ProtoMessage() {} + +func (x *ListconfigsRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[289] + 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 ListconfigsRequest.ProtoReflect.Descriptor instead. +func (*ListconfigsRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{289} +} + +func (x *ListconfigsRequest) GetConfig() string { + if x != nil && x.Config != nil { + return *x.Config + } + return "" +} + +type ListconfigsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Configs *ListconfigsConfigs `protobuf:"bytes,1,opt,name=configs,proto3,oneof" json:"configs,omitempty"` + Plugins []*ListconfigsPlugins `protobuf:"bytes,3,rep,name=plugins,proto3" json:"plugins,omitempty"` + ImportantPlugins []*ListconfigsImportantplugins `protobuf:"bytes,4,rep,name=important_plugins,json=importantPlugins,proto3" json:"important_plugins,omitempty"` + Conf *string `protobuf:"bytes,5,opt,name=conf,proto3,oneof" json:"conf,omitempty"` + LightningDir *string `protobuf:"bytes,6,opt,name=lightning_dir,json=lightningDir,proto3,oneof" json:"lightning_dir,omitempty"` + Network *string `protobuf:"bytes,7,opt,name=network,proto3,oneof" json:"network,omitempty"` + AllowDeprecatedApis *bool `protobuf:"varint,8,opt,name=allow_deprecated_apis,json=allowDeprecatedApis,proto3,oneof" json:"allow_deprecated_apis,omitempty"` + RpcFile *string `protobuf:"bytes,9,opt,name=rpc_file,json=rpcFile,proto3,oneof" json:"rpc_file,omitempty"` + DisablePlugin []string `protobuf:"bytes,10,rep,name=disable_plugin,json=disablePlugin,proto3" json:"disable_plugin,omitempty"` + BookkeeperDir *string `protobuf:"bytes,11,opt,name=bookkeeper_dir,json=bookkeeperDir,proto3,oneof" json:"bookkeeper_dir,omitempty"` + BookkeeperDb *string `protobuf:"bytes,12,opt,name=bookkeeper_db,json=bookkeeperDb,proto3,oneof" json:"bookkeeper_db,omitempty"` + AlwaysUseProxy *bool `protobuf:"varint,13,opt,name=always_use_proxy,json=alwaysUseProxy,proto3,oneof" json:"always_use_proxy,omitempty"` + Daemon *bool `protobuf:"varint,14,opt,name=daemon,proto3,oneof" json:"daemon,omitempty"` + Wallet *string `protobuf:"bytes,15,opt,name=wallet,proto3,oneof" json:"wallet,omitempty"` + LargeChannels *bool `protobuf:"varint,16,opt,name=large_channels,json=largeChannels,proto3,oneof" json:"large_channels,omitempty"` + ExperimentalDualFund *bool `protobuf:"varint,17,opt,name=experimental_dual_fund,json=experimentalDualFund,proto3,oneof" json:"experimental_dual_fund,omitempty"` + ExperimentalSplicing *bool `protobuf:"varint,18,opt,name=experimental_splicing,json=experimentalSplicing,proto3,oneof" json:"experimental_splicing,omitempty"` + ExperimentalOnionMessages *bool `protobuf:"varint,19,opt,name=experimental_onion_messages,json=experimentalOnionMessages,proto3,oneof" json:"experimental_onion_messages,omitempty"` + ExperimentalOffers *bool `protobuf:"varint,20,opt,name=experimental_offers,json=experimentalOffers,proto3,oneof" json:"experimental_offers,omitempty"` + ExperimentalShutdownWrongFunding *bool `protobuf:"varint,21,opt,name=experimental_shutdown_wrong_funding,json=experimentalShutdownWrongFunding,proto3,oneof" json:"experimental_shutdown_wrong_funding,omitempty"` + ExperimentalPeerStorage *bool `protobuf:"varint,22,opt,name=experimental_peer_storage,json=experimentalPeerStorage,proto3,oneof" json:"experimental_peer_storage,omitempty"` + ExperimentalQuiesce *bool `protobuf:"varint,23,opt,name=experimental_quiesce,json=experimentalQuiesce,proto3,oneof" json:"experimental_quiesce,omitempty"` + ExperimentalUpgradeProtocol *bool `protobuf:"varint,24,opt,name=experimental_upgrade_protocol,json=experimentalUpgradeProtocol,proto3,oneof" json:"experimental_upgrade_protocol,omitempty"` + InvoicesOnchainFallback *bool `protobuf:"varint,25,opt,name=invoices_onchain_fallback,json=invoicesOnchainFallback,proto3,oneof" json:"invoices_onchain_fallback,omitempty"` + DatabaseUpgrade *bool `protobuf:"varint,26,opt,name=database_upgrade,json=databaseUpgrade,proto3,oneof" json:"database_upgrade,omitempty"` + Rgb []byte `protobuf:"bytes,27,opt,name=rgb,proto3,oneof" json:"rgb,omitempty"` + Alias *string `protobuf:"bytes,28,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + PidFile *string `protobuf:"bytes,29,opt,name=pid_file,json=pidFile,proto3,oneof" json:"pid_file,omitempty"` + IgnoreFeeLimits *bool `protobuf:"varint,30,opt,name=ignore_fee_limits,json=ignoreFeeLimits,proto3,oneof" json:"ignore_fee_limits,omitempty"` + WatchtimeBlocks *uint32 `protobuf:"varint,31,opt,name=watchtime_blocks,json=watchtimeBlocks,proto3,oneof" json:"watchtime_blocks,omitempty"` + MaxLocktimeBlocks *uint32 `protobuf:"varint,32,opt,name=max_locktime_blocks,json=maxLocktimeBlocks,proto3,oneof" json:"max_locktime_blocks,omitempty"` + FundingConfirms *uint32 `protobuf:"varint,33,opt,name=funding_confirms,json=fundingConfirms,proto3,oneof" json:"funding_confirms,omitempty"` + CltvDelta *uint32 `protobuf:"varint,34,opt,name=cltv_delta,json=cltvDelta,proto3,oneof" json:"cltv_delta,omitempty"` + CltvFinal *uint32 `protobuf:"varint,35,opt,name=cltv_final,json=cltvFinal,proto3,oneof" json:"cltv_final,omitempty"` + CommitTime *uint32 `protobuf:"varint,36,opt,name=commit_time,json=commitTime,proto3,oneof" json:"commit_time,omitempty"` + FeeBase *uint32 `protobuf:"varint,37,opt,name=fee_base,json=feeBase,proto3,oneof" json:"fee_base,omitempty"` + Rescan *int64 `protobuf:"zigzag64,38,opt,name=rescan,proto3,oneof" json:"rescan,omitempty"` + FeePerSatoshi *uint32 `protobuf:"varint,39,opt,name=fee_per_satoshi,json=feePerSatoshi,proto3,oneof" json:"fee_per_satoshi,omitempty"` + MaxConcurrentHtlcs *uint32 `protobuf:"varint,40,opt,name=max_concurrent_htlcs,json=maxConcurrentHtlcs,proto3,oneof" json:"max_concurrent_htlcs,omitempty"` + HtlcMinimumMsat *Amount `protobuf:"bytes,41,opt,name=htlc_minimum_msat,json=htlcMinimumMsat,proto3,oneof" json:"htlc_minimum_msat,omitempty"` + HtlcMaximumMsat *Amount `protobuf:"bytes,42,opt,name=htlc_maximum_msat,json=htlcMaximumMsat,proto3,oneof" json:"htlc_maximum_msat,omitempty"` + MaxDustHtlcExposureMsat *Amount `protobuf:"bytes,43,opt,name=max_dust_htlc_exposure_msat,json=maxDustHtlcExposureMsat,proto3,oneof" json:"max_dust_htlc_exposure_msat,omitempty"` + MinCapacitySat *uint64 `protobuf:"varint,44,opt,name=min_capacity_sat,json=minCapacitySat,proto3,oneof" json:"min_capacity_sat,omitempty"` + Addr *string `protobuf:"bytes,45,opt,name=addr,proto3,oneof" json:"addr,omitempty"` + AnnounceAddr *string `protobuf:"bytes,46,opt,name=announce_addr,json=announceAddr,proto3,oneof" json:"announce_addr,omitempty"` + BindAddr *string `protobuf:"bytes,47,opt,name=bind_addr,json=bindAddr,proto3,oneof" json:"bind_addr,omitempty"` + Offline *bool `protobuf:"varint,48,opt,name=offline,proto3,oneof" json:"offline,omitempty"` + Autolisten *bool `protobuf:"varint,49,opt,name=autolisten,proto3,oneof" json:"autolisten,omitempty"` + Proxy *string `protobuf:"bytes,50,opt,name=proxy,proto3,oneof" json:"proxy,omitempty"` + DisableDns *bool `protobuf:"varint,51,opt,name=disable_dns,json=disableDns,proto3,oneof" json:"disable_dns,omitempty"` + AnnounceAddrDiscovered *string `protobuf:"bytes,52,opt,name=announce_addr_discovered,json=announceAddrDiscovered,proto3,oneof" json:"announce_addr_discovered,omitempty"` + AnnounceAddrDiscoveredPort *int64 `protobuf:"zigzag64,53,opt,name=announce_addr_discovered_port,json=announceAddrDiscoveredPort,proto3,oneof" json:"announce_addr_discovered_port,omitempty"` + EncryptedHsm *bool `protobuf:"varint,54,opt,name=encrypted_hsm,json=encryptedHsm,proto3,oneof" json:"encrypted_hsm,omitempty"` + RpcFileMode *string `protobuf:"bytes,55,opt,name=rpc_file_mode,json=rpcFileMode,proto3,oneof" json:"rpc_file_mode,omitempty"` + LogLevel *string `protobuf:"bytes,56,opt,name=log_level,json=logLevel,proto3,oneof" json:"log_level,omitempty"` + LogPrefix *string `protobuf:"bytes,57,opt,name=log_prefix,json=logPrefix,proto3,oneof" json:"log_prefix,omitempty"` + LogFile *string `protobuf:"bytes,58,opt,name=log_file,json=logFile,proto3,oneof" json:"log_file,omitempty"` + LogTimestamps *bool `protobuf:"varint,59,opt,name=log_timestamps,json=logTimestamps,proto3,oneof" json:"log_timestamps,omitempty"` + ForceFeerates *string `protobuf:"bytes,60,opt,name=force_feerates,json=forceFeerates,proto3,oneof" json:"force_feerates,omitempty"` + Subdaemon *string `protobuf:"bytes,61,opt,name=subdaemon,proto3,oneof" json:"subdaemon,omitempty"` + FetchinvoiceNoconnect *bool `protobuf:"varint,62,opt,name=fetchinvoice_noconnect,json=fetchinvoiceNoconnect,proto3,oneof" json:"fetchinvoice_noconnect,omitempty"` + AcceptHtlcTlvTypes *string `protobuf:"bytes,63,opt,name=accept_htlc_tlv_types,json=acceptHtlcTlvTypes,proto3,oneof" json:"accept_htlc_tlv_types,omitempty"` + TorServicePassword *string `protobuf:"bytes,64,opt,name=tor_service_password,json=torServicePassword,proto3,oneof" json:"tor_service_password,omitempty"` + DevAllowdustreserve *bool `protobuf:"varint,65,opt,name=dev_allowdustreserve,json=devAllowdustreserve,proto3,oneof" json:"dev_allowdustreserve,omitempty"` + AnnounceAddrDns *bool `protobuf:"varint,66,opt,name=announce_addr_dns,json=announceAddrDns,proto3,oneof" json:"announce_addr_dns,omitempty"` + RequireConfirmedInputs *bool `protobuf:"varint,67,opt,name=require_confirmed_inputs,json=requireConfirmedInputs,proto3,oneof" json:"require_confirmed_inputs,omitempty"` + Developer *bool `protobuf:"varint,68,opt,name=developer,proto3,oneof" json:"developer,omitempty"` + CommitFee *uint64 `protobuf:"varint,69,opt,name=commit_fee,json=commitFee,proto3,oneof" json:"commit_fee,omitempty"` + MinEmergencyMsat *Amount `protobuf:"bytes,70,opt,name=min_emergency_msat,json=minEmergencyMsat,proto3,oneof" json:"min_emergency_msat,omitempty"` + CommitFeerateOffset *uint32 `protobuf:"varint,71,opt,name=commit_feerate_offset,json=commitFeerateOffset,proto3,oneof" json:"commit_feerate_offset,omitempty"` +} + +func (x *ListconfigsResponse) Reset() { + *x = ListconfigsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[290] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsResponse) ProtoMessage() {} + +func (x *ListconfigsResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[290] + 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 ListconfigsResponse.ProtoReflect.Descriptor instead. +func (*ListconfigsResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{290} +} + +func (x *ListconfigsResponse) GetConfigs() *ListconfigsConfigs { + if x != nil { + return x.Configs + } + return nil +} + +func (x *ListconfigsResponse) GetPlugins() []*ListconfigsPlugins { + if x != nil { + return x.Plugins + } + return nil +} + +func (x *ListconfigsResponse) GetImportantPlugins() []*ListconfigsImportantplugins { + if x != nil { + return x.ImportantPlugins + } + return nil +} + +func (x *ListconfigsResponse) GetConf() string { + if x != nil && x.Conf != nil { + return *x.Conf + } + return "" +} + +func (x *ListconfigsResponse) GetLightningDir() string { + if x != nil && x.LightningDir != nil { + return *x.LightningDir + } + return "" +} + +func (x *ListconfigsResponse) GetNetwork() string { + if x != nil && x.Network != nil { + return *x.Network + } + return "" +} + +func (x *ListconfigsResponse) GetAllowDeprecatedApis() bool { + if x != nil && x.AllowDeprecatedApis != nil { + return *x.AllowDeprecatedApis + } + return false +} + +func (x *ListconfigsResponse) GetRpcFile() string { + if x != nil && x.RpcFile != nil { + return *x.RpcFile + } + return "" +} + +func (x *ListconfigsResponse) GetDisablePlugin() []string { + if x != nil { + return x.DisablePlugin + } + return nil +} + +func (x *ListconfigsResponse) GetBookkeeperDir() string { + if x != nil && x.BookkeeperDir != nil { + return *x.BookkeeperDir + } + return "" +} + +func (x *ListconfigsResponse) GetBookkeeperDb() string { + if x != nil && x.BookkeeperDb != nil { + return *x.BookkeeperDb + } + return "" +} + +func (x *ListconfigsResponse) GetAlwaysUseProxy() bool { + if x != nil && x.AlwaysUseProxy != nil { + return *x.AlwaysUseProxy + } + return false +} + +func (x *ListconfigsResponse) GetDaemon() bool { + if x != nil && x.Daemon != nil { + return *x.Daemon + } + return false +} + +func (x *ListconfigsResponse) GetWallet() string { + if x != nil && x.Wallet != nil { + return *x.Wallet + } + return "" +} + +func (x *ListconfigsResponse) GetLargeChannels() bool { + if x != nil && x.LargeChannels != nil { + return *x.LargeChannels + } + return false +} + +func (x *ListconfigsResponse) GetExperimentalDualFund() bool { + if x != nil && x.ExperimentalDualFund != nil { + return *x.ExperimentalDualFund + } + return false +} + +func (x *ListconfigsResponse) GetExperimentalSplicing() bool { + if x != nil && x.ExperimentalSplicing != nil { + return *x.ExperimentalSplicing + } + return false +} + +func (x *ListconfigsResponse) GetExperimentalOnionMessages() bool { + if x != nil && x.ExperimentalOnionMessages != nil { + return *x.ExperimentalOnionMessages + } + return false +} + +func (x *ListconfigsResponse) GetExperimentalOffers() bool { + if x != nil && x.ExperimentalOffers != nil { + return *x.ExperimentalOffers + } + return false +} + +func (x *ListconfigsResponse) GetExperimentalShutdownWrongFunding() bool { + if x != nil && x.ExperimentalShutdownWrongFunding != nil { + return *x.ExperimentalShutdownWrongFunding + } + return false +} + +func (x *ListconfigsResponse) GetExperimentalPeerStorage() bool { + if x != nil && x.ExperimentalPeerStorage != nil { + return *x.ExperimentalPeerStorage + } + return false +} + +func (x *ListconfigsResponse) GetExperimentalQuiesce() bool { + if x != nil && x.ExperimentalQuiesce != nil { + return *x.ExperimentalQuiesce + } + return false +} + +func (x *ListconfigsResponse) GetExperimentalUpgradeProtocol() bool { + if x != nil && x.ExperimentalUpgradeProtocol != nil { + return *x.ExperimentalUpgradeProtocol + } + return false +} + +func (x *ListconfigsResponse) GetInvoicesOnchainFallback() bool { + if x != nil && x.InvoicesOnchainFallback != nil { + return *x.InvoicesOnchainFallback + } + return false +} + +func (x *ListconfigsResponse) GetDatabaseUpgrade() bool { + if x != nil && x.DatabaseUpgrade != nil { + return *x.DatabaseUpgrade + } + return false +} + +func (x *ListconfigsResponse) GetRgb() []byte { + if x != nil { + return x.Rgb + } + return nil +} + +func (x *ListconfigsResponse) GetAlias() string { + if x != nil && x.Alias != nil { + return *x.Alias + } + return "" +} + +func (x *ListconfigsResponse) GetPidFile() string { + if x != nil && x.PidFile != nil { + return *x.PidFile + } + return "" +} + +func (x *ListconfigsResponse) GetIgnoreFeeLimits() bool { + if x != nil && x.IgnoreFeeLimits != nil { + return *x.IgnoreFeeLimits + } + return false +} + +func (x *ListconfigsResponse) GetWatchtimeBlocks() uint32 { + if x != nil && x.WatchtimeBlocks != nil { + return *x.WatchtimeBlocks + } + return 0 +} + +func (x *ListconfigsResponse) GetMaxLocktimeBlocks() uint32 { + if x != nil && x.MaxLocktimeBlocks != nil { + return *x.MaxLocktimeBlocks + } + return 0 +} + +func (x *ListconfigsResponse) GetFundingConfirms() uint32 { + if x != nil && x.FundingConfirms != nil { + return *x.FundingConfirms + } + return 0 +} + +func (x *ListconfigsResponse) GetCltvDelta() uint32 { + if x != nil && x.CltvDelta != nil { + return *x.CltvDelta + } + return 0 +} + +func (x *ListconfigsResponse) GetCltvFinal() uint32 { + if x != nil && x.CltvFinal != nil { + return *x.CltvFinal + } + return 0 +} + +func (x *ListconfigsResponse) GetCommitTime() uint32 { + if x != nil && x.CommitTime != nil { + return *x.CommitTime + } + return 0 +} + +func (x *ListconfigsResponse) GetFeeBase() uint32 { + if x != nil && x.FeeBase != nil { + return *x.FeeBase + } + return 0 +} + +func (x *ListconfigsResponse) GetRescan() int64 { + if x != nil && x.Rescan != nil { + return *x.Rescan + } + return 0 +} + +func (x *ListconfigsResponse) GetFeePerSatoshi() uint32 { + if x != nil && x.FeePerSatoshi != nil { + return *x.FeePerSatoshi + } + return 0 +} + +func (x *ListconfigsResponse) GetMaxConcurrentHtlcs() uint32 { + if x != nil && x.MaxConcurrentHtlcs != nil { + return *x.MaxConcurrentHtlcs + } + return 0 +} + +func (x *ListconfigsResponse) GetHtlcMinimumMsat() *Amount { + if x != nil { + return x.HtlcMinimumMsat + } + return nil +} + +func (x *ListconfigsResponse) GetHtlcMaximumMsat() *Amount { + if x != nil { + return x.HtlcMaximumMsat + } + return nil +} + +func (x *ListconfigsResponse) GetMaxDustHtlcExposureMsat() *Amount { + if x != nil { + return x.MaxDustHtlcExposureMsat + } + return nil +} + +func (x *ListconfigsResponse) GetMinCapacitySat() uint64 { + if x != nil && x.MinCapacitySat != nil { + return *x.MinCapacitySat + } + return 0 +} + +func (x *ListconfigsResponse) GetAddr() string { + if x != nil && x.Addr != nil { + return *x.Addr + } + return "" +} + +func (x *ListconfigsResponse) GetAnnounceAddr() string { + if x != nil && x.AnnounceAddr != nil { + return *x.AnnounceAddr + } + return "" +} + +func (x *ListconfigsResponse) GetBindAddr() string { + if x != nil && x.BindAddr != nil { + return *x.BindAddr + } + return "" +} + +func (x *ListconfigsResponse) GetOffline() bool { + if x != nil && x.Offline != nil { + return *x.Offline + } + return false +} + +func (x *ListconfigsResponse) GetAutolisten() bool { + if x != nil && x.Autolisten != nil { + return *x.Autolisten + } + return false +} + +func (x *ListconfigsResponse) GetProxy() string { + if x != nil && x.Proxy != nil { + return *x.Proxy + } + return "" +} + +func (x *ListconfigsResponse) GetDisableDns() bool { + if x != nil && x.DisableDns != nil { + return *x.DisableDns + } + return false +} + +func (x *ListconfigsResponse) GetAnnounceAddrDiscovered() string { + if x != nil && x.AnnounceAddrDiscovered != nil { + return *x.AnnounceAddrDiscovered + } + return "" +} + +func (x *ListconfigsResponse) GetAnnounceAddrDiscoveredPort() int64 { + if x != nil && x.AnnounceAddrDiscoveredPort != nil { + return *x.AnnounceAddrDiscoveredPort + } + return 0 +} + +func (x *ListconfigsResponse) GetEncryptedHsm() bool { + if x != nil && x.EncryptedHsm != nil { + return *x.EncryptedHsm + } + return false +} + +func (x *ListconfigsResponse) GetRpcFileMode() string { + if x != nil && x.RpcFileMode != nil { + return *x.RpcFileMode + } + return "" +} + +func (x *ListconfigsResponse) GetLogLevel() string { + if x != nil && x.LogLevel != nil { + return *x.LogLevel + } + return "" +} + +func (x *ListconfigsResponse) GetLogPrefix() string { + if x != nil && x.LogPrefix != nil { + return *x.LogPrefix + } + return "" +} + +func (x *ListconfigsResponse) GetLogFile() string { + if x != nil && x.LogFile != nil { + return *x.LogFile + } + return "" +} + +func (x *ListconfigsResponse) GetLogTimestamps() bool { + if x != nil && x.LogTimestamps != nil { + return *x.LogTimestamps + } + return false +} + +func (x *ListconfigsResponse) GetForceFeerates() string { + if x != nil && x.ForceFeerates != nil { + return *x.ForceFeerates + } + return "" +} + +func (x *ListconfigsResponse) GetSubdaemon() string { + if x != nil && x.Subdaemon != nil { + return *x.Subdaemon + } + return "" +} + +func (x *ListconfigsResponse) GetFetchinvoiceNoconnect() bool { + if x != nil && x.FetchinvoiceNoconnect != nil { + return *x.FetchinvoiceNoconnect + } + return false +} + +func (x *ListconfigsResponse) GetAcceptHtlcTlvTypes() string { + if x != nil && x.AcceptHtlcTlvTypes != nil { + return *x.AcceptHtlcTlvTypes + } + return "" +} + +func (x *ListconfigsResponse) GetTorServicePassword() string { + if x != nil && x.TorServicePassword != nil { + return *x.TorServicePassword + } + return "" +} + +func (x *ListconfigsResponse) GetDevAllowdustreserve() bool { + if x != nil && x.DevAllowdustreserve != nil { + return *x.DevAllowdustreserve + } + return false +} + +func (x *ListconfigsResponse) GetAnnounceAddrDns() bool { + if x != nil && x.AnnounceAddrDns != nil { + return *x.AnnounceAddrDns + } + return false +} + +func (x *ListconfigsResponse) GetRequireConfirmedInputs() bool { + if x != nil && x.RequireConfirmedInputs != nil { + return *x.RequireConfirmedInputs + } + return false +} + +func (x *ListconfigsResponse) GetDeveloper() bool { + if x != nil && x.Developer != nil { + return *x.Developer + } + return false +} + +func (x *ListconfigsResponse) GetCommitFee() uint64 { + if x != nil && x.CommitFee != nil { + return *x.CommitFee + } + return 0 +} + +func (x *ListconfigsResponse) GetMinEmergencyMsat() *Amount { + if x != nil { + return x.MinEmergencyMsat + } + return nil +} + +func (x *ListconfigsResponse) GetCommitFeerateOffset() uint32 { + if x != nil && x.CommitFeerateOffset != nil { + return *x.CommitFeerateOffset + } + return 0 +} + +type ListconfigsConfigs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Conf *ListconfigsConfigsConf `protobuf:"bytes,1,opt,name=conf,proto3,oneof" json:"conf,omitempty"` + Developer *ListconfigsConfigsDeveloper `protobuf:"bytes,2,opt,name=developer,proto3,oneof" json:"developer,omitempty"` + ClearPlugins *ListconfigsConfigsClearplugins `protobuf:"bytes,3,opt,name=clear_plugins,json=clearPlugins,proto3,oneof" json:"clear_plugins,omitempty"` + DisableMpp *ListconfigsConfigsDisablempp `protobuf:"bytes,4,opt,name=disable_mpp,json=disableMpp,proto3,oneof" json:"disable_mpp,omitempty"` + Mainnet *ListconfigsConfigsMainnet `protobuf:"bytes,5,opt,name=mainnet,proto3,oneof" json:"mainnet,omitempty"` + Regtest *ListconfigsConfigsRegtest `protobuf:"bytes,6,opt,name=regtest,proto3,oneof" json:"regtest,omitempty"` + Signet *ListconfigsConfigsSignet `protobuf:"bytes,7,opt,name=signet,proto3,oneof" json:"signet,omitempty"` + Testnet *ListconfigsConfigsTestnet `protobuf:"bytes,8,opt,name=testnet,proto3,oneof" json:"testnet,omitempty"` + ImportantPlugin *ListconfigsConfigsImportantplugin `protobuf:"bytes,9,opt,name=important_plugin,json=importantPlugin,proto3,oneof" json:"important_plugin,omitempty"` + Plugin *ListconfigsConfigsPlugin `protobuf:"bytes,10,opt,name=plugin,proto3,oneof" json:"plugin,omitempty"` + PluginDir *ListconfigsConfigsPlugindir `protobuf:"bytes,11,opt,name=plugin_dir,json=pluginDir,proto3,oneof" json:"plugin_dir,omitempty"` + LightningDir *ListconfigsConfigsLightningdir `protobuf:"bytes,12,opt,name=lightning_dir,json=lightningDir,proto3,oneof" json:"lightning_dir,omitempty"` + Network *ListconfigsConfigsNetwork `protobuf:"bytes,13,opt,name=network,proto3,oneof" json:"network,omitempty"` + AllowDeprecatedApis *ListconfigsConfigsAllowdeprecatedapis `protobuf:"bytes,14,opt,name=allow_deprecated_apis,json=allowDeprecatedApis,proto3,oneof" json:"allow_deprecated_apis,omitempty"` + RpcFile *ListconfigsConfigsRpcfile `protobuf:"bytes,15,opt,name=rpc_file,json=rpcFile,proto3,oneof" json:"rpc_file,omitempty"` + DisablePlugin *ListconfigsConfigsDisableplugin `protobuf:"bytes,16,opt,name=disable_plugin,json=disablePlugin,proto3,oneof" json:"disable_plugin,omitempty"` + AlwaysUseProxy *ListconfigsConfigsAlwaysuseproxy `protobuf:"bytes,17,opt,name=always_use_proxy,json=alwaysUseProxy,proto3,oneof" json:"always_use_proxy,omitempty"` + Daemon *ListconfigsConfigsDaemon `protobuf:"bytes,18,opt,name=daemon,proto3,oneof" json:"daemon,omitempty"` + Wallet *ListconfigsConfigsWallet `protobuf:"bytes,19,opt,name=wallet,proto3,oneof" json:"wallet,omitempty"` + LargeChannels *ListconfigsConfigsLargechannels `protobuf:"bytes,20,opt,name=large_channels,json=largeChannels,proto3,oneof" json:"large_channels,omitempty"` + ExperimentalDualFund *ListconfigsConfigsExperimentaldualfund `protobuf:"bytes,21,opt,name=experimental_dual_fund,json=experimentalDualFund,proto3,oneof" json:"experimental_dual_fund,omitempty"` + ExperimentalSplicing *ListconfigsConfigsExperimentalsplicing `protobuf:"bytes,22,opt,name=experimental_splicing,json=experimentalSplicing,proto3,oneof" json:"experimental_splicing,omitempty"` + ExperimentalOnionMessages *ListconfigsConfigsExperimentalonionmessages `protobuf:"bytes,23,opt,name=experimental_onion_messages,json=experimentalOnionMessages,proto3,oneof" json:"experimental_onion_messages,omitempty"` + ExperimentalOffers *ListconfigsConfigsExperimentaloffers `protobuf:"bytes,24,opt,name=experimental_offers,json=experimentalOffers,proto3,oneof" json:"experimental_offers,omitempty"` + ExperimentalShutdownWrongFunding *ListconfigsConfigsExperimentalshutdownwrongfunding `protobuf:"bytes,25,opt,name=experimental_shutdown_wrong_funding,json=experimentalShutdownWrongFunding,proto3,oneof" json:"experimental_shutdown_wrong_funding,omitempty"` + ExperimentalPeerStorage *ListconfigsConfigsExperimentalpeerstorage `protobuf:"bytes,26,opt,name=experimental_peer_storage,json=experimentalPeerStorage,proto3,oneof" json:"experimental_peer_storage,omitempty"` + ExperimentalAnchors *ListconfigsConfigsExperimentalanchors `protobuf:"bytes,27,opt,name=experimental_anchors,json=experimentalAnchors,proto3,oneof" json:"experimental_anchors,omitempty"` + DatabaseUpgrade *ListconfigsConfigsDatabaseupgrade `protobuf:"bytes,28,opt,name=database_upgrade,json=databaseUpgrade,proto3,oneof" json:"database_upgrade,omitempty"` + Rgb *ListconfigsConfigsRgb `protobuf:"bytes,29,opt,name=rgb,proto3,oneof" json:"rgb,omitempty"` + Alias *ListconfigsConfigsAlias `protobuf:"bytes,30,opt,name=alias,proto3,oneof" json:"alias,omitempty"` + PidFile *ListconfigsConfigsPidfile `protobuf:"bytes,31,opt,name=pid_file,json=pidFile,proto3,oneof" json:"pid_file,omitempty"` + IgnoreFeeLimits *ListconfigsConfigsIgnorefeelimits `protobuf:"bytes,32,opt,name=ignore_fee_limits,json=ignoreFeeLimits,proto3,oneof" json:"ignore_fee_limits,omitempty"` + WatchtimeBlocks *ListconfigsConfigsWatchtimeblocks `protobuf:"bytes,33,opt,name=watchtime_blocks,json=watchtimeBlocks,proto3,oneof" json:"watchtime_blocks,omitempty"` + MaxLocktimeBlocks *ListconfigsConfigsMaxlocktimeblocks `protobuf:"bytes,34,opt,name=max_locktime_blocks,json=maxLocktimeBlocks,proto3,oneof" json:"max_locktime_blocks,omitempty"` + FundingConfirms *ListconfigsConfigsFundingconfirms `protobuf:"bytes,35,opt,name=funding_confirms,json=fundingConfirms,proto3,oneof" json:"funding_confirms,omitempty"` + CltvDelta *ListconfigsConfigsCltvdelta `protobuf:"bytes,36,opt,name=cltv_delta,json=cltvDelta,proto3,oneof" json:"cltv_delta,omitempty"` + CltvFinal *ListconfigsConfigsCltvfinal `protobuf:"bytes,37,opt,name=cltv_final,json=cltvFinal,proto3,oneof" json:"cltv_final,omitempty"` + CommitTime *ListconfigsConfigsCommittime `protobuf:"bytes,38,opt,name=commit_time,json=commitTime,proto3,oneof" json:"commit_time,omitempty"` + FeeBase *ListconfigsConfigsFeebase `protobuf:"bytes,39,opt,name=fee_base,json=feeBase,proto3,oneof" json:"fee_base,omitempty"` + Rescan *ListconfigsConfigsRescan `protobuf:"bytes,40,opt,name=rescan,proto3,oneof" json:"rescan,omitempty"` + FeePerSatoshi *ListconfigsConfigsFeepersatoshi `protobuf:"bytes,41,opt,name=fee_per_satoshi,json=feePerSatoshi,proto3,oneof" json:"fee_per_satoshi,omitempty"` + MaxConcurrentHtlcs *ListconfigsConfigsMaxconcurrenthtlcs `protobuf:"bytes,42,opt,name=max_concurrent_htlcs,json=maxConcurrentHtlcs,proto3,oneof" json:"max_concurrent_htlcs,omitempty"` + HtlcMinimumMsat *ListconfigsConfigsHtlcminimummsat `protobuf:"bytes,43,opt,name=htlc_minimum_msat,json=htlcMinimumMsat,proto3,oneof" json:"htlc_minimum_msat,omitempty"` + HtlcMaximumMsat *ListconfigsConfigsHtlcmaximummsat `protobuf:"bytes,44,opt,name=htlc_maximum_msat,json=htlcMaximumMsat,proto3,oneof" json:"htlc_maximum_msat,omitempty"` + MaxDustHtlcExposureMsat *ListconfigsConfigsMaxdusthtlcexposuremsat `protobuf:"bytes,45,opt,name=max_dust_htlc_exposure_msat,json=maxDustHtlcExposureMsat,proto3,oneof" json:"max_dust_htlc_exposure_msat,omitempty"` + MinCapacitySat *ListconfigsConfigsMincapacitysat `protobuf:"bytes,46,opt,name=min_capacity_sat,json=minCapacitySat,proto3,oneof" json:"min_capacity_sat,omitempty"` + Addr *ListconfigsConfigsAddr `protobuf:"bytes,47,opt,name=addr,proto3,oneof" json:"addr,omitempty"` + AnnounceAddr *ListconfigsConfigsAnnounceaddr `protobuf:"bytes,48,opt,name=announce_addr,json=announceAddr,proto3,oneof" json:"announce_addr,omitempty"` + BindAddr *ListconfigsConfigsBindaddr `protobuf:"bytes,49,opt,name=bind_addr,json=bindAddr,proto3,oneof" json:"bind_addr,omitempty"` + Offline *ListconfigsConfigsOffline `protobuf:"bytes,50,opt,name=offline,proto3,oneof" json:"offline,omitempty"` + Autolisten *ListconfigsConfigsAutolisten `protobuf:"bytes,51,opt,name=autolisten,proto3,oneof" json:"autolisten,omitempty"` + Proxy *ListconfigsConfigsProxy `protobuf:"bytes,52,opt,name=proxy,proto3,oneof" json:"proxy,omitempty"` + DisableDns *ListconfigsConfigsDisabledns `protobuf:"bytes,53,opt,name=disable_dns,json=disableDns,proto3,oneof" json:"disable_dns,omitempty"` + AnnounceAddrDiscovered *ListconfigsConfigsAnnounceaddrdiscovered `protobuf:"bytes,54,opt,name=announce_addr_discovered,json=announceAddrDiscovered,proto3,oneof" json:"announce_addr_discovered,omitempty"` + AnnounceAddrDiscoveredPort *ListconfigsConfigsAnnounceaddrdiscoveredport `protobuf:"bytes,55,opt,name=announce_addr_discovered_port,json=announceAddrDiscoveredPort,proto3,oneof" json:"announce_addr_discovered_port,omitempty"` + EncryptedHsm *ListconfigsConfigsEncryptedhsm `protobuf:"bytes,56,opt,name=encrypted_hsm,json=encryptedHsm,proto3,oneof" json:"encrypted_hsm,omitempty"` + RpcFileMode *ListconfigsConfigsRpcfilemode `protobuf:"bytes,57,opt,name=rpc_file_mode,json=rpcFileMode,proto3,oneof" json:"rpc_file_mode,omitempty"` + LogLevel *ListconfigsConfigsLoglevel `protobuf:"bytes,58,opt,name=log_level,json=logLevel,proto3,oneof" json:"log_level,omitempty"` + LogPrefix *ListconfigsConfigsLogprefix `protobuf:"bytes,59,opt,name=log_prefix,json=logPrefix,proto3,oneof" json:"log_prefix,omitempty"` + LogFile *ListconfigsConfigsLogfile `protobuf:"bytes,60,opt,name=log_file,json=logFile,proto3,oneof" json:"log_file,omitempty"` + LogTimestamps *ListconfigsConfigsLogtimestamps `protobuf:"bytes,61,opt,name=log_timestamps,json=logTimestamps,proto3,oneof" json:"log_timestamps,omitempty"` + ForceFeerates *ListconfigsConfigsForcefeerates `protobuf:"bytes,62,opt,name=force_feerates,json=forceFeerates,proto3,oneof" json:"force_feerates,omitempty"` + Subdaemon *ListconfigsConfigsSubdaemon `protobuf:"bytes,63,opt,name=subdaemon,proto3,oneof" json:"subdaemon,omitempty"` + FetchinvoiceNoconnect *ListconfigsConfigsFetchinvoicenoconnect `protobuf:"bytes,64,opt,name=fetchinvoice_noconnect,json=fetchinvoiceNoconnect,proto3,oneof" json:"fetchinvoice_noconnect,omitempty"` + AcceptHtlcTlvTypes *ListconfigsConfigsAccepthtlctlvtypes `protobuf:"bytes,65,opt,name=accept_htlc_tlv_types,json=acceptHtlcTlvTypes,proto3,oneof" json:"accept_htlc_tlv_types,omitempty"` + TorServicePassword *ListconfigsConfigsTorservicepassword `protobuf:"bytes,66,opt,name=tor_service_password,json=torServicePassword,proto3,oneof" json:"tor_service_password,omitempty"` + AnnounceAddrDns *ListconfigsConfigsAnnounceaddrdns `protobuf:"bytes,67,opt,name=announce_addr_dns,json=announceAddrDns,proto3,oneof" json:"announce_addr_dns,omitempty"` + RequireConfirmedInputs *ListconfigsConfigsRequireconfirmedinputs `protobuf:"bytes,68,opt,name=require_confirmed_inputs,json=requireConfirmedInputs,proto3,oneof" json:"require_confirmed_inputs,omitempty"` + CommitFee *ListconfigsConfigsCommitfee `protobuf:"bytes,69,opt,name=commit_fee,json=commitFee,proto3,oneof" json:"commit_fee,omitempty"` + CommitFeerateOffset *ListconfigsConfigsCommitfeerateoffset `protobuf:"bytes,70,opt,name=commit_feerate_offset,json=commitFeerateOffset,proto3,oneof" json:"commit_feerate_offset,omitempty"` +} + +func (x *ListconfigsConfigs) Reset() { + *x = ListconfigsConfigs{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[291] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigs) ProtoMessage() {} + +func (x *ListconfigsConfigs) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[291] + 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 ListconfigsConfigs.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigs) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{291} +} + +func (x *ListconfigsConfigs) GetConf() *ListconfigsConfigsConf { + if x != nil { + return x.Conf + } + return nil +} + +func (x *ListconfigsConfigs) GetDeveloper() *ListconfigsConfigsDeveloper { + if x != nil { + return x.Developer + } + return nil +} + +func (x *ListconfigsConfigs) GetClearPlugins() *ListconfigsConfigsClearplugins { + if x != nil { + return x.ClearPlugins + } + return nil +} + +func (x *ListconfigsConfigs) GetDisableMpp() *ListconfigsConfigsDisablempp { + if x != nil { + return x.DisableMpp + } + return nil +} + +func (x *ListconfigsConfigs) GetMainnet() *ListconfigsConfigsMainnet { + if x != nil { + return x.Mainnet + } + return nil +} + +func (x *ListconfigsConfigs) GetRegtest() *ListconfigsConfigsRegtest { + if x != nil { + return x.Regtest + } + return nil +} + +func (x *ListconfigsConfigs) GetSignet() *ListconfigsConfigsSignet { + if x != nil { + return x.Signet + } + return nil +} + +func (x *ListconfigsConfigs) GetTestnet() *ListconfigsConfigsTestnet { + if x != nil { + return x.Testnet + } + return nil +} + +func (x *ListconfigsConfigs) GetImportantPlugin() *ListconfigsConfigsImportantplugin { + if x != nil { + return x.ImportantPlugin + } + return nil +} + +func (x *ListconfigsConfigs) GetPlugin() *ListconfigsConfigsPlugin { + if x != nil { + return x.Plugin + } + return nil +} + +func (x *ListconfigsConfigs) GetPluginDir() *ListconfigsConfigsPlugindir { + if x != nil { + return x.PluginDir + } + return nil +} + +func (x *ListconfigsConfigs) GetLightningDir() *ListconfigsConfigsLightningdir { + if x != nil { + return x.LightningDir + } + return nil +} + +func (x *ListconfigsConfigs) GetNetwork() *ListconfigsConfigsNetwork { + if x != nil { + return x.Network + } + return nil +} + +func (x *ListconfigsConfigs) GetAllowDeprecatedApis() *ListconfigsConfigsAllowdeprecatedapis { + if x != nil { + return x.AllowDeprecatedApis + } + return nil +} + +func (x *ListconfigsConfigs) GetRpcFile() *ListconfigsConfigsRpcfile { + if x != nil { + return x.RpcFile + } + return nil +} + +func (x *ListconfigsConfigs) GetDisablePlugin() *ListconfigsConfigsDisableplugin { + if x != nil { + return x.DisablePlugin + } + return nil +} + +func (x *ListconfigsConfigs) GetAlwaysUseProxy() *ListconfigsConfigsAlwaysuseproxy { + if x != nil { + return x.AlwaysUseProxy + } + return nil +} + +func (x *ListconfigsConfigs) GetDaemon() *ListconfigsConfigsDaemon { + if x != nil { + return x.Daemon + } + return nil +} + +func (x *ListconfigsConfigs) GetWallet() *ListconfigsConfigsWallet { + if x != nil { + return x.Wallet + } + return nil +} + +func (x *ListconfigsConfigs) GetLargeChannels() *ListconfigsConfigsLargechannels { + if x != nil { + return x.LargeChannels + } + return nil +} + +func (x *ListconfigsConfigs) GetExperimentalDualFund() *ListconfigsConfigsExperimentaldualfund { + if x != nil { + return x.ExperimentalDualFund + } + return nil +} + +func (x *ListconfigsConfigs) GetExperimentalSplicing() *ListconfigsConfigsExperimentalsplicing { + if x != nil { + return x.ExperimentalSplicing + } + return nil +} + +func (x *ListconfigsConfigs) GetExperimentalOnionMessages() *ListconfigsConfigsExperimentalonionmessages { + if x != nil { + return x.ExperimentalOnionMessages + } + return nil +} + +func (x *ListconfigsConfigs) GetExperimentalOffers() *ListconfigsConfigsExperimentaloffers { + if x != nil { + return x.ExperimentalOffers + } + return nil +} + +func (x *ListconfigsConfigs) GetExperimentalShutdownWrongFunding() *ListconfigsConfigsExperimentalshutdownwrongfunding { + if x != nil { + return x.ExperimentalShutdownWrongFunding + } + return nil +} + +func (x *ListconfigsConfigs) GetExperimentalPeerStorage() *ListconfigsConfigsExperimentalpeerstorage { + if x != nil { + return x.ExperimentalPeerStorage + } + return nil +} + +func (x *ListconfigsConfigs) GetExperimentalAnchors() *ListconfigsConfigsExperimentalanchors { + if x != nil { + return x.ExperimentalAnchors + } + return nil +} + +func (x *ListconfigsConfigs) GetDatabaseUpgrade() *ListconfigsConfigsDatabaseupgrade { + if x != nil { + return x.DatabaseUpgrade + } + return nil +} + +func (x *ListconfigsConfigs) GetRgb() *ListconfigsConfigsRgb { + if x != nil { + return x.Rgb + } + return nil +} + +func (x *ListconfigsConfigs) GetAlias() *ListconfigsConfigsAlias { + if x != nil { + return x.Alias + } + return nil +} + +func (x *ListconfigsConfigs) GetPidFile() *ListconfigsConfigsPidfile { + if x != nil { + return x.PidFile + } + return nil +} + +func (x *ListconfigsConfigs) GetIgnoreFeeLimits() *ListconfigsConfigsIgnorefeelimits { + if x != nil { + return x.IgnoreFeeLimits + } + return nil +} + +func (x *ListconfigsConfigs) GetWatchtimeBlocks() *ListconfigsConfigsWatchtimeblocks { + if x != nil { + return x.WatchtimeBlocks + } + return nil +} + +func (x *ListconfigsConfigs) GetMaxLocktimeBlocks() *ListconfigsConfigsMaxlocktimeblocks { + if x != nil { + return x.MaxLocktimeBlocks + } + return nil +} + +func (x *ListconfigsConfigs) GetFundingConfirms() *ListconfigsConfigsFundingconfirms { + if x != nil { + return x.FundingConfirms + } + return nil +} + +func (x *ListconfigsConfigs) GetCltvDelta() *ListconfigsConfigsCltvdelta { + if x != nil { + return x.CltvDelta + } + return nil +} + +func (x *ListconfigsConfigs) GetCltvFinal() *ListconfigsConfigsCltvfinal { + if x != nil { + return x.CltvFinal + } + return nil +} + +func (x *ListconfigsConfigs) GetCommitTime() *ListconfigsConfigsCommittime { + if x != nil { + return x.CommitTime + } + return nil +} + +func (x *ListconfigsConfigs) GetFeeBase() *ListconfigsConfigsFeebase { + if x != nil { + return x.FeeBase + } + return nil +} + +func (x *ListconfigsConfigs) GetRescan() *ListconfigsConfigsRescan { + if x != nil { + return x.Rescan + } + return nil +} + +func (x *ListconfigsConfigs) GetFeePerSatoshi() *ListconfigsConfigsFeepersatoshi { + if x != nil { + return x.FeePerSatoshi + } + return nil +} + +func (x *ListconfigsConfigs) GetMaxConcurrentHtlcs() *ListconfigsConfigsMaxconcurrenthtlcs { + if x != nil { + return x.MaxConcurrentHtlcs + } + return nil +} + +func (x *ListconfigsConfigs) GetHtlcMinimumMsat() *ListconfigsConfigsHtlcminimummsat { + if x != nil { + return x.HtlcMinimumMsat + } + return nil +} + +func (x *ListconfigsConfigs) GetHtlcMaximumMsat() *ListconfigsConfigsHtlcmaximummsat { + if x != nil { + return x.HtlcMaximumMsat + } + return nil +} + +func (x *ListconfigsConfigs) GetMaxDustHtlcExposureMsat() *ListconfigsConfigsMaxdusthtlcexposuremsat { + if x != nil { + return x.MaxDustHtlcExposureMsat + } + return nil +} + +func (x *ListconfigsConfigs) GetMinCapacitySat() *ListconfigsConfigsMincapacitysat { + if x != nil { + return x.MinCapacitySat + } + return nil +} + +func (x *ListconfigsConfigs) GetAddr() *ListconfigsConfigsAddr { + if x != nil { + return x.Addr + } + return nil +} + +func (x *ListconfigsConfigs) GetAnnounceAddr() *ListconfigsConfigsAnnounceaddr { + if x != nil { + return x.AnnounceAddr + } + return nil +} + +func (x *ListconfigsConfigs) GetBindAddr() *ListconfigsConfigsBindaddr { + if x != nil { + return x.BindAddr + } + return nil +} + +func (x *ListconfigsConfigs) GetOffline() *ListconfigsConfigsOffline { + if x != nil { + return x.Offline + } + return nil +} + +func (x *ListconfigsConfigs) GetAutolisten() *ListconfigsConfigsAutolisten { + if x != nil { + return x.Autolisten + } + return nil +} + +func (x *ListconfigsConfigs) GetProxy() *ListconfigsConfigsProxy { + if x != nil { + return x.Proxy + } + return nil +} + +func (x *ListconfigsConfigs) GetDisableDns() *ListconfigsConfigsDisabledns { + if x != nil { + return x.DisableDns + } + return nil +} + +func (x *ListconfigsConfigs) GetAnnounceAddrDiscovered() *ListconfigsConfigsAnnounceaddrdiscovered { + if x != nil { + return x.AnnounceAddrDiscovered + } + return nil +} + +func (x *ListconfigsConfigs) GetAnnounceAddrDiscoveredPort() *ListconfigsConfigsAnnounceaddrdiscoveredport { + if x != nil { + return x.AnnounceAddrDiscoveredPort + } + return nil +} + +func (x *ListconfigsConfigs) GetEncryptedHsm() *ListconfigsConfigsEncryptedhsm { + if x != nil { + return x.EncryptedHsm + } + return nil +} + +func (x *ListconfigsConfigs) GetRpcFileMode() *ListconfigsConfigsRpcfilemode { + if x != nil { + return x.RpcFileMode + } + return nil +} + +func (x *ListconfigsConfigs) GetLogLevel() *ListconfigsConfigsLoglevel { + if x != nil { + return x.LogLevel + } + return nil +} + +func (x *ListconfigsConfigs) GetLogPrefix() *ListconfigsConfigsLogprefix { + if x != nil { + return x.LogPrefix + } + return nil +} + +func (x *ListconfigsConfigs) GetLogFile() *ListconfigsConfigsLogfile { + if x != nil { + return x.LogFile + } + return nil +} + +func (x *ListconfigsConfigs) GetLogTimestamps() *ListconfigsConfigsLogtimestamps { + if x != nil { + return x.LogTimestamps + } + return nil +} + +func (x *ListconfigsConfigs) GetForceFeerates() *ListconfigsConfigsForcefeerates { + if x != nil { + return x.ForceFeerates + } + return nil +} + +func (x *ListconfigsConfigs) GetSubdaemon() *ListconfigsConfigsSubdaemon { + if x != nil { + return x.Subdaemon + } + return nil +} + +func (x *ListconfigsConfigs) GetFetchinvoiceNoconnect() *ListconfigsConfigsFetchinvoicenoconnect { + if x != nil { + return x.FetchinvoiceNoconnect + } + return nil +} + +func (x *ListconfigsConfigs) GetAcceptHtlcTlvTypes() *ListconfigsConfigsAccepthtlctlvtypes { + if x != nil { + return x.AcceptHtlcTlvTypes + } + return nil +} + +func (x *ListconfigsConfigs) GetTorServicePassword() *ListconfigsConfigsTorservicepassword { + if x != nil { + return x.TorServicePassword + } + return nil +} + +func (x *ListconfigsConfigs) GetAnnounceAddrDns() *ListconfigsConfigsAnnounceaddrdns { + if x != nil { + return x.AnnounceAddrDns + } + return nil +} + +func (x *ListconfigsConfigs) GetRequireConfirmedInputs() *ListconfigsConfigsRequireconfirmedinputs { + if x != nil { + return x.RequireConfirmedInputs + } + return nil +} + +func (x *ListconfigsConfigs) GetCommitFee() *ListconfigsConfigsCommitfee { + if x != nil { + return x.CommitFee + } + return nil +} + +func (x *ListconfigsConfigs) GetCommitFeerateOffset() *ListconfigsConfigsCommitfeerateoffset { + if x != nil { + return x.CommitFeerateOffset + } + return nil +} + +type ListconfigsConfigsConf struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr string `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source ListconfigsConfigsConf_ListconfigsConfigsConfSource `protobuf:"varint,2,opt,name=source,proto3,enum=cln.ListconfigsConfigsConf_ListconfigsConfigsConfSource" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsConf) Reset() { + *x = ListconfigsConfigsConf{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[292] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsConf) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsConf) ProtoMessage() {} + +func (x *ListconfigsConfigsConf) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[292] + 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 ListconfigsConfigsConf.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsConf) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{292} +} + +func (x *ListconfigsConfigsConf) GetValueStr() string { + if x != nil { + return x.ValueStr + } + return "" +} + +func (x *ListconfigsConfigsConf) GetSource() ListconfigsConfigsConf_ListconfigsConfigsConfSource { + if x != nil { + return x.Source + } + return ListconfigsConfigsConf_CMDLINE +} + +type ListconfigsConfigsDeveloper struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsDeveloper) Reset() { + *x = ListconfigsConfigsDeveloper{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[293] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsDeveloper) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsDeveloper) ProtoMessage() {} + +func (x *ListconfigsConfigsDeveloper) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[293] + 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 ListconfigsConfigsDeveloper.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsDeveloper) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{293} +} + +func (x *ListconfigsConfigsDeveloper) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsDeveloper) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsClearplugins struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsClearplugins) Reset() { + *x = ListconfigsConfigsClearplugins{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[294] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsClearplugins) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsClearplugins) ProtoMessage() {} + +func (x *ListconfigsConfigsClearplugins) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[294] + 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 ListconfigsConfigsClearplugins.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsClearplugins) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{294} +} + +func (x *ListconfigsConfigsClearplugins) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsClearplugins) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsDisablempp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` + Plugin *string `protobuf:"bytes,3,opt,name=plugin,proto3,oneof" json:"plugin,omitempty"` +} + +func (x *ListconfigsConfigsDisablempp) Reset() { + *x = ListconfigsConfigsDisablempp{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[295] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsDisablempp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsDisablempp) ProtoMessage() {} + +func (x *ListconfigsConfigsDisablempp) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[295] + 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 ListconfigsConfigsDisablempp.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsDisablempp) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{295} +} + +func (x *ListconfigsConfigsDisablempp) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsDisablempp) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *ListconfigsConfigsDisablempp) GetPlugin() string { + if x != nil && x.Plugin != nil { + return *x.Plugin + } + return "" +} + +type ListconfigsConfigsMainnet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsMainnet) Reset() { + *x = ListconfigsConfigsMainnet{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[296] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsMainnet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsMainnet) ProtoMessage() {} + +func (x *ListconfigsConfigsMainnet) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[296] + 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 ListconfigsConfigsMainnet.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsMainnet) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{296} +} + +func (x *ListconfigsConfigsMainnet) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsMainnet) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsRegtest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsRegtest) Reset() { + *x = ListconfigsConfigsRegtest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[297] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsRegtest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsRegtest) ProtoMessage() {} + +func (x *ListconfigsConfigsRegtest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[297] + 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 ListconfigsConfigsRegtest.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsRegtest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{297} +} + +func (x *ListconfigsConfigsRegtest) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsRegtest) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsSignet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsSignet) Reset() { + *x = ListconfigsConfigsSignet{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[298] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsSignet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsSignet) ProtoMessage() {} + +func (x *ListconfigsConfigsSignet) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[298] + 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 ListconfigsConfigsSignet.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsSignet) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{298} +} + +func (x *ListconfigsConfigsSignet) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsSignet) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsTestnet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsTestnet) Reset() { + *x = ListconfigsConfigsTestnet{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[299] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsTestnet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsTestnet) ProtoMessage() {} + +func (x *ListconfigsConfigsTestnet) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[299] + 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 ListconfigsConfigsTestnet.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsTestnet) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{299} +} + +func (x *ListconfigsConfigsTestnet) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsTestnet) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsImportantplugin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValuesStr []string `protobuf:"bytes,1,rep,name=values_str,json=valuesStr,proto3" json:"values_str,omitempty"` + Sources []string `protobuf:"bytes,2,rep,name=sources,proto3" json:"sources,omitempty"` +} + +func (x *ListconfigsConfigsImportantplugin) Reset() { + *x = ListconfigsConfigsImportantplugin{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[300] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsImportantplugin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsImportantplugin) ProtoMessage() {} + +func (x *ListconfigsConfigsImportantplugin) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[300] + 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 ListconfigsConfigsImportantplugin.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsImportantplugin) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{300} +} + +func (x *ListconfigsConfigsImportantplugin) GetValuesStr() []string { + if x != nil { + return x.ValuesStr + } + return nil +} + +func (x *ListconfigsConfigsImportantplugin) GetSources() []string { + if x != nil { + return x.Sources + } + return nil +} + +type ListconfigsConfigsPlugin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValuesStr []string `protobuf:"bytes,1,rep,name=values_str,json=valuesStr,proto3" json:"values_str,omitempty"` + Sources []string `protobuf:"bytes,2,rep,name=sources,proto3" json:"sources,omitempty"` +} + +func (x *ListconfigsConfigsPlugin) Reset() { + *x = ListconfigsConfigsPlugin{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[301] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsPlugin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsPlugin) ProtoMessage() {} + +func (x *ListconfigsConfigsPlugin) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[301] + 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 ListconfigsConfigsPlugin.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsPlugin) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{301} +} + +func (x *ListconfigsConfigsPlugin) GetValuesStr() []string { + if x != nil { + return x.ValuesStr + } + return nil +} + +func (x *ListconfigsConfigsPlugin) GetSources() []string { + if x != nil { + return x.Sources + } + return nil +} + +type ListconfigsConfigsPlugindir struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValuesStr []string `protobuf:"bytes,1,rep,name=values_str,json=valuesStr,proto3" json:"values_str,omitempty"` + Sources []string `protobuf:"bytes,2,rep,name=sources,proto3" json:"sources,omitempty"` +} + +func (x *ListconfigsConfigsPlugindir) Reset() { + *x = ListconfigsConfigsPlugindir{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[302] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsPlugindir) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsPlugindir) ProtoMessage() {} + +func (x *ListconfigsConfigsPlugindir) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[302] + 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 ListconfigsConfigsPlugindir.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsPlugindir) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{302} +} + +func (x *ListconfigsConfigsPlugindir) GetValuesStr() []string { + if x != nil { + return x.ValuesStr + } + return nil +} + +func (x *ListconfigsConfigsPlugindir) GetSources() []string { + if x != nil { + return x.Sources + } + return nil +} + +type ListconfigsConfigsLightningdir struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr string `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsLightningdir) Reset() { + *x = ListconfigsConfigsLightningdir{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[303] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsLightningdir) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsLightningdir) ProtoMessage() {} + +func (x *ListconfigsConfigsLightningdir) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[303] + 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 ListconfigsConfigsLightningdir.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsLightningdir) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{303} +} + +func (x *ListconfigsConfigsLightningdir) GetValueStr() string { + if x != nil { + return x.ValueStr + } + return "" +} + +func (x *ListconfigsConfigsLightningdir) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsNetwork struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr string `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsNetwork) Reset() { + *x = ListconfigsConfigsNetwork{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[304] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsNetwork) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsNetwork) ProtoMessage() {} + +func (x *ListconfigsConfigsNetwork) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[304] + 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 ListconfigsConfigsNetwork.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsNetwork) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{304} +} + +func (x *ListconfigsConfigsNetwork) GetValueStr() string { + if x != nil { + return x.ValueStr + } + return "" +} + +func (x *ListconfigsConfigsNetwork) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsAllowdeprecatedapis struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueBool bool `protobuf:"varint,1,opt,name=value_bool,json=valueBool,proto3" json:"value_bool,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsAllowdeprecatedapis) Reset() { + *x = ListconfigsConfigsAllowdeprecatedapis{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[305] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsAllowdeprecatedapis) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsAllowdeprecatedapis) ProtoMessage() {} + +func (x *ListconfigsConfigsAllowdeprecatedapis) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[305] + 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 ListconfigsConfigsAllowdeprecatedapis.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsAllowdeprecatedapis) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{305} +} + +func (x *ListconfigsConfigsAllowdeprecatedapis) GetValueBool() bool { + if x != nil { + return x.ValueBool + } + return false +} + +func (x *ListconfigsConfigsAllowdeprecatedapis) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsRpcfile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr string `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsRpcfile) Reset() { + *x = ListconfigsConfigsRpcfile{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[306] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsRpcfile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsRpcfile) ProtoMessage() {} + +func (x *ListconfigsConfigsRpcfile) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[306] + 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 ListconfigsConfigsRpcfile.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsRpcfile) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{306} +} + +func (x *ListconfigsConfigsRpcfile) GetValueStr() string { + if x != nil { + return x.ValueStr + } + return "" +} + +func (x *ListconfigsConfigsRpcfile) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsDisableplugin struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValuesStr []string `protobuf:"bytes,1,rep,name=values_str,json=valuesStr,proto3" json:"values_str,omitempty"` + Sources []string `protobuf:"bytes,2,rep,name=sources,proto3" json:"sources,omitempty"` +} + +func (x *ListconfigsConfigsDisableplugin) Reset() { + *x = ListconfigsConfigsDisableplugin{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[307] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsDisableplugin) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsDisableplugin) ProtoMessage() {} + +func (x *ListconfigsConfigsDisableplugin) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[307] + 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 ListconfigsConfigsDisableplugin.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsDisableplugin) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{307} +} + +func (x *ListconfigsConfigsDisableplugin) GetValuesStr() []string { + if x != nil { + return x.ValuesStr + } + return nil +} + +func (x *ListconfigsConfigsDisableplugin) GetSources() []string { + if x != nil { + return x.Sources + } + return nil +} + +type ListconfigsConfigsAlwaysuseproxy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueBool bool `protobuf:"varint,1,opt,name=value_bool,json=valueBool,proto3" json:"value_bool,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsAlwaysuseproxy) Reset() { + *x = ListconfigsConfigsAlwaysuseproxy{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[308] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsAlwaysuseproxy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsAlwaysuseproxy) ProtoMessage() {} + +func (x *ListconfigsConfigsAlwaysuseproxy) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[308] + 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 ListconfigsConfigsAlwaysuseproxy.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsAlwaysuseproxy) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{308} +} + +func (x *ListconfigsConfigsAlwaysuseproxy) GetValueBool() bool { + if x != nil { + return x.ValueBool + } + return false +} + +func (x *ListconfigsConfigsAlwaysuseproxy) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsDaemon struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsDaemon) Reset() { + *x = ListconfigsConfigsDaemon{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[309] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsDaemon) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsDaemon) ProtoMessage() {} + +func (x *ListconfigsConfigsDaemon) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[309] + 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 ListconfigsConfigsDaemon.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsDaemon) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{309} +} + +func (x *ListconfigsConfigsDaemon) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsDaemon) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsWallet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr string `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsWallet) Reset() { + *x = ListconfigsConfigsWallet{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[310] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsWallet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsWallet) ProtoMessage() {} + +func (x *ListconfigsConfigsWallet) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[310] + 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 ListconfigsConfigsWallet.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsWallet) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{310} +} + +func (x *ListconfigsConfigsWallet) GetValueStr() string { + if x != nil { + return x.ValueStr + } + return "" +} + +func (x *ListconfigsConfigsWallet) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsLargechannels struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsLargechannels) Reset() { + *x = ListconfigsConfigsLargechannels{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[311] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsLargechannels) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsLargechannels) ProtoMessage() {} + +func (x *ListconfigsConfigsLargechannels) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[311] + 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 ListconfigsConfigsLargechannels.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsLargechannels) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{311} +} + +func (x *ListconfigsConfigsLargechannels) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsLargechannels) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsExperimentaldualfund struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsExperimentaldualfund) Reset() { + *x = ListconfigsConfigsExperimentaldualfund{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[312] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsExperimentaldualfund) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsExperimentaldualfund) ProtoMessage() {} + +func (x *ListconfigsConfigsExperimentaldualfund) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[312] + 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 ListconfigsConfigsExperimentaldualfund.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsExperimentaldualfund) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{312} +} + +func (x *ListconfigsConfigsExperimentaldualfund) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsExperimentaldualfund) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsExperimentalsplicing struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsExperimentalsplicing) Reset() { + *x = ListconfigsConfigsExperimentalsplicing{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[313] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsExperimentalsplicing) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsExperimentalsplicing) ProtoMessage() {} + +func (x *ListconfigsConfigsExperimentalsplicing) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[313] + 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 ListconfigsConfigsExperimentalsplicing.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsExperimentalsplicing) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{313} +} + +func (x *ListconfigsConfigsExperimentalsplicing) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsExperimentalsplicing) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsExperimentalonionmessages struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsExperimentalonionmessages) Reset() { + *x = ListconfigsConfigsExperimentalonionmessages{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[314] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsExperimentalonionmessages) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsExperimentalonionmessages) ProtoMessage() {} + +func (x *ListconfigsConfigsExperimentalonionmessages) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[314] + 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 ListconfigsConfigsExperimentalonionmessages.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsExperimentalonionmessages) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{314} +} + +func (x *ListconfigsConfigsExperimentalonionmessages) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsExperimentalonionmessages) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsExperimentaloffers struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsExperimentaloffers) Reset() { + *x = ListconfigsConfigsExperimentaloffers{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[315] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsExperimentaloffers) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsExperimentaloffers) ProtoMessage() {} + +func (x *ListconfigsConfigsExperimentaloffers) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[315] + 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 ListconfigsConfigsExperimentaloffers.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsExperimentaloffers) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{315} +} + +func (x *ListconfigsConfigsExperimentaloffers) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsExperimentaloffers) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsExperimentalshutdownwrongfunding struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsExperimentalshutdownwrongfunding) Reset() { + *x = ListconfigsConfigsExperimentalshutdownwrongfunding{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[316] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsExperimentalshutdownwrongfunding) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsExperimentalshutdownwrongfunding) ProtoMessage() {} + +func (x *ListconfigsConfigsExperimentalshutdownwrongfunding) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[316] + 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 ListconfigsConfigsExperimentalshutdownwrongfunding.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsExperimentalshutdownwrongfunding) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{316} +} + +func (x *ListconfigsConfigsExperimentalshutdownwrongfunding) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsExperimentalshutdownwrongfunding) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsExperimentalpeerstorage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsExperimentalpeerstorage) Reset() { + *x = ListconfigsConfigsExperimentalpeerstorage{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[317] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsExperimentalpeerstorage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsExperimentalpeerstorage) ProtoMessage() {} + +func (x *ListconfigsConfigsExperimentalpeerstorage) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[317] + 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 ListconfigsConfigsExperimentalpeerstorage.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsExperimentalpeerstorage) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{317} +} + +func (x *ListconfigsConfigsExperimentalpeerstorage) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsExperimentalpeerstorage) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsExperimentalanchors struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsExperimentalanchors) Reset() { + *x = ListconfigsConfigsExperimentalanchors{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[318] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsExperimentalanchors) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsExperimentalanchors) ProtoMessage() {} + +func (x *ListconfigsConfigsExperimentalanchors) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[318] + 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 ListconfigsConfigsExperimentalanchors.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsExperimentalanchors) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{318} +} + +func (x *ListconfigsConfigsExperimentalanchors) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsExperimentalanchors) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsDatabaseupgrade struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueBool bool `protobuf:"varint,1,opt,name=value_bool,json=valueBool,proto3" json:"value_bool,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsDatabaseupgrade) Reset() { + *x = ListconfigsConfigsDatabaseupgrade{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[319] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsDatabaseupgrade) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsDatabaseupgrade) ProtoMessage() {} + +func (x *ListconfigsConfigsDatabaseupgrade) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[319] + 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 ListconfigsConfigsDatabaseupgrade.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsDatabaseupgrade) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{319} +} + +func (x *ListconfigsConfigsDatabaseupgrade) GetValueBool() bool { + if x != nil { + return x.ValueBool + } + return false +} + +func (x *ListconfigsConfigsDatabaseupgrade) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsRgb struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr []byte `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsRgb) Reset() { + *x = ListconfigsConfigsRgb{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[320] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsRgb) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsRgb) ProtoMessage() {} + +func (x *ListconfigsConfigsRgb) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[320] + 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 ListconfigsConfigsRgb.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsRgb) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{320} +} + +func (x *ListconfigsConfigsRgb) GetValueStr() []byte { + if x != nil { + return x.ValueStr + } + return nil +} + +func (x *ListconfigsConfigsRgb) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsAlias struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr string `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsAlias) Reset() { + *x = ListconfigsConfigsAlias{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[321] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsAlias) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsAlias) ProtoMessage() {} + +func (x *ListconfigsConfigsAlias) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[321] + 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 ListconfigsConfigsAlias.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsAlias) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{321} +} + +func (x *ListconfigsConfigsAlias) GetValueStr() string { + if x != nil { + return x.ValueStr + } + return "" +} + +func (x *ListconfigsConfigsAlias) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsPidfile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr string `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsPidfile) Reset() { + *x = ListconfigsConfigsPidfile{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[322] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsPidfile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsPidfile) ProtoMessage() {} + +func (x *ListconfigsConfigsPidfile) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[322] + 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 ListconfigsConfigsPidfile.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsPidfile) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{322} +} + +func (x *ListconfigsConfigsPidfile) GetValueStr() string { + if x != nil { + return x.ValueStr + } + return "" +} + +func (x *ListconfigsConfigsPidfile) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsIgnorefeelimits struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueBool bool `protobuf:"varint,1,opt,name=value_bool,json=valueBool,proto3" json:"value_bool,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsIgnorefeelimits) Reset() { + *x = ListconfigsConfigsIgnorefeelimits{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[323] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsIgnorefeelimits) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsIgnorefeelimits) ProtoMessage() {} + +func (x *ListconfigsConfigsIgnorefeelimits) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[323] + 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 ListconfigsConfigsIgnorefeelimits.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsIgnorefeelimits) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{323} +} + +func (x *ListconfigsConfigsIgnorefeelimits) GetValueBool() bool { + if x != nil { + return x.ValueBool + } + return false +} + +func (x *ListconfigsConfigsIgnorefeelimits) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsWatchtimeblocks struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueInt uint32 `protobuf:"varint,1,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsWatchtimeblocks) Reset() { + *x = ListconfigsConfigsWatchtimeblocks{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[324] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsWatchtimeblocks) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsWatchtimeblocks) ProtoMessage() {} + +func (x *ListconfigsConfigsWatchtimeblocks) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[324] + 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 ListconfigsConfigsWatchtimeblocks.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsWatchtimeblocks) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{324} +} + +func (x *ListconfigsConfigsWatchtimeblocks) GetValueInt() uint32 { + if x != nil { + return x.ValueInt + } + return 0 +} + +func (x *ListconfigsConfigsWatchtimeblocks) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsMaxlocktimeblocks struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueInt uint32 `protobuf:"varint,1,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsMaxlocktimeblocks) Reset() { + *x = ListconfigsConfigsMaxlocktimeblocks{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[325] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsMaxlocktimeblocks) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsMaxlocktimeblocks) ProtoMessage() {} + +func (x *ListconfigsConfigsMaxlocktimeblocks) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[325] + 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 ListconfigsConfigsMaxlocktimeblocks.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsMaxlocktimeblocks) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{325} +} + +func (x *ListconfigsConfigsMaxlocktimeblocks) GetValueInt() uint32 { + if x != nil { + return x.ValueInt + } + return 0 +} + +func (x *ListconfigsConfigsMaxlocktimeblocks) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsFundingconfirms struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueInt uint32 `protobuf:"varint,1,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsFundingconfirms) Reset() { + *x = ListconfigsConfigsFundingconfirms{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[326] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsFundingconfirms) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsFundingconfirms) ProtoMessage() {} + +func (x *ListconfigsConfigsFundingconfirms) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[326] + 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 ListconfigsConfigsFundingconfirms.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsFundingconfirms) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{326} +} + +func (x *ListconfigsConfigsFundingconfirms) GetValueInt() uint32 { + if x != nil { + return x.ValueInt + } + return 0 +} + +func (x *ListconfigsConfigsFundingconfirms) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsCltvdelta struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueInt uint32 `protobuf:"varint,1,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsCltvdelta) Reset() { + *x = ListconfigsConfigsCltvdelta{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[327] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsCltvdelta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsCltvdelta) ProtoMessage() {} + +func (x *ListconfigsConfigsCltvdelta) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[327] + 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 ListconfigsConfigsCltvdelta.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsCltvdelta) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{327} +} + +func (x *ListconfigsConfigsCltvdelta) GetValueInt() uint32 { + if x != nil { + return x.ValueInt + } + return 0 +} + +func (x *ListconfigsConfigsCltvdelta) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsCltvfinal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueInt uint32 `protobuf:"varint,1,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsCltvfinal) Reset() { + *x = ListconfigsConfigsCltvfinal{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[328] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsCltvfinal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsCltvfinal) ProtoMessage() {} + +func (x *ListconfigsConfigsCltvfinal) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[328] + 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 ListconfigsConfigsCltvfinal.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsCltvfinal) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{328} +} + +func (x *ListconfigsConfigsCltvfinal) GetValueInt() uint32 { + if x != nil { + return x.ValueInt + } + return 0 +} + +func (x *ListconfigsConfigsCltvfinal) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsCommittime struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueInt uint32 `protobuf:"varint,1,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsCommittime) Reset() { + *x = ListconfigsConfigsCommittime{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[329] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsCommittime) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsCommittime) ProtoMessage() {} + +func (x *ListconfigsConfigsCommittime) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[329] + 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 ListconfigsConfigsCommittime.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsCommittime) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{329} +} + +func (x *ListconfigsConfigsCommittime) GetValueInt() uint32 { + if x != nil { + return x.ValueInt + } + return 0 +} + +func (x *ListconfigsConfigsCommittime) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsFeebase struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueInt uint32 `protobuf:"varint,1,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsFeebase) Reset() { + *x = ListconfigsConfigsFeebase{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[330] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsFeebase) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsFeebase) ProtoMessage() {} + +func (x *ListconfigsConfigsFeebase) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[330] + 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 ListconfigsConfigsFeebase.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsFeebase) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{330} +} + +func (x *ListconfigsConfigsFeebase) GetValueInt() uint32 { + if x != nil { + return x.ValueInt + } + return 0 +} + +func (x *ListconfigsConfigsFeebase) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsRescan struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueInt int64 `protobuf:"zigzag64,1,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsRescan) Reset() { + *x = ListconfigsConfigsRescan{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[331] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsRescan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsRescan) ProtoMessage() {} + +func (x *ListconfigsConfigsRescan) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[331] + 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 ListconfigsConfigsRescan.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsRescan) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{331} +} + +func (x *ListconfigsConfigsRescan) GetValueInt() int64 { + if x != nil { + return x.ValueInt + } + return 0 +} + +func (x *ListconfigsConfigsRescan) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsFeepersatoshi struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueInt uint32 `protobuf:"varint,1,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsFeepersatoshi) Reset() { + *x = ListconfigsConfigsFeepersatoshi{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[332] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsFeepersatoshi) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsFeepersatoshi) ProtoMessage() {} + +func (x *ListconfigsConfigsFeepersatoshi) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[332] + 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 ListconfigsConfigsFeepersatoshi.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsFeepersatoshi) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{332} +} + +func (x *ListconfigsConfigsFeepersatoshi) GetValueInt() uint32 { + if x != nil { + return x.ValueInt + } + return 0 +} + +func (x *ListconfigsConfigsFeepersatoshi) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsMaxconcurrenthtlcs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueInt uint32 `protobuf:"varint,1,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsMaxconcurrenthtlcs) Reset() { + *x = ListconfigsConfigsMaxconcurrenthtlcs{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[333] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsMaxconcurrenthtlcs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsMaxconcurrenthtlcs) ProtoMessage() {} + +func (x *ListconfigsConfigsMaxconcurrenthtlcs) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[333] + 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 ListconfigsConfigsMaxconcurrenthtlcs.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsMaxconcurrenthtlcs) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{333} +} + +func (x *ListconfigsConfigsMaxconcurrenthtlcs) GetValueInt() uint32 { + if x != nil { + return x.ValueInt + } + return 0 +} + +func (x *ListconfigsConfigsMaxconcurrenthtlcs) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsHtlcminimummsat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueMsat *Amount `protobuf:"bytes,1,opt,name=value_msat,json=valueMsat,proto3" json:"value_msat,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsHtlcminimummsat) Reset() { + *x = ListconfigsConfigsHtlcminimummsat{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[334] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsHtlcminimummsat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsHtlcminimummsat) ProtoMessage() {} + +func (x *ListconfigsConfigsHtlcminimummsat) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[334] + 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 ListconfigsConfigsHtlcminimummsat.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsHtlcminimummsat) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{334} +} + +func (x *ListconfigsConfigsHtlcminimummsat) GetValueMsat() *Amount { + if x != nil { + return x.ValueMsat + } + return nil +} + +func (x *ListconfigsConfigsHtlcminimummsat) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsHtlcmaximummsat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueMsat *Amount `protobuf:"bytes,1,opt,name=value_msat,json=valueMsat,proto3" json:"value_msat,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsHtlcmaximummsat) Reset() { + *x = ListconfigsConfigsHtlcmaximummsat{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[335] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsHtlcmaximummsat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsHtlcmaximummsat) ProtoMessage() {} + +func (x *ListconfigsConfigsHtlcmaximummsat) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[335] + 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 ListconfigsConfigsHtlcmaximummsat.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsHtlcmaximummsat) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{335} +} + +func (x *ListconfigsConfigsHtlcmaximummsat) GetValueMsat() *Amount { + if x != nil { + return x.ValueMsat + } + return nil +} + +func (x *ListconfigsConfigsHtlcmaximummsat) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsMaxdusthtlcexposuremsat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueMsat *Amount `protobuf:"bytes,1,opt,name=value_msat,json=valueMsat,proto3" json:"value_msat,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsMaxdusthtlcexposuremsat) Reset() { + *x = ListconfigsConfigsMaxdusthtlcexposuremsat{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[336] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsMaxdusthtlcexposuremsat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsMaxdusthtlcexposuremsat) ProtoMessage() {} + +func (x *ListconfigsConfigsMaxdusthtlcexposuremsat) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[336] + 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 ListconfigsConfigsMaxdusthtlcexposuremsat.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsMaxdusthtlcexposuremsat) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{336} +} + +func (x *ListconfigsConfigsMaxdusthtlcexposuremsat) GetValueMsat() *Amount { + if x != nil { + return x.ValueMsat + } + return nil +} + +func (x *ListconfigsConfigsMaxdusthtlcexposuremsat) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsMincapacitysat struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueInt uint64 `protobuf:"varint,1,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` + Dynamic *bool `protobuf:"varint,3,opt,name=dynamic,proto3,oneof" json:"dynamic,omitempty"` +} + +func (x *ListconfigsConfigsMincapacitysat) Reset() { + *x = ListconfigsConfigsMincapacitysat{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[337] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsMincapacitysat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsMincapacitysat) ProtoMessage() {} + +func (x *ListconfigsConfigsMincapacitysat) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[337] + 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 ListconfigsConfigsMincapacitysat.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsMincapacitysat) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{337} +} + +func (x *ListconfigsConfigsMincapacitysat) GetValueInt() uint64 { + if x != nil { + return x.ValueInt + } + return 0 +} + +func (x *ListconfigsConfigsMincapacitysat) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *ListconfigsConfigsMincapacitysat) GetDynamic() bool { + if x != nil && x.Dynamic != nil { + return *x.Dynamic + } + return false +} + +type ListconfigsConfigsAddr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValuesStr []string `protobuf:"bytes,1,rep,name=values_str,json=valuesStr,proto3" json:"values_str,omitempty"` + Sources []string `protobuf:"bytes,2,rep,name=sources,proto3" json:"sources,omitempty"` +} + +func (x *ListconfigsConfigsAddr) Reset() { + *x = ListconfigsConfigsAddr{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[338] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsAddr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsAddr) ProtoMessage() {} + +func (x *ListconfigsConfigsAddr) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[338] + 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 ListconfigsConfigsAddr.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsAddr) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{338} +} + +func (x *ListconfigsConfigsAddr) GetValuesStr() []string { + if x != nil { + return x.ValuesStr + } + return nil +} + +func (x *ListconfigsConfigsAddr) GetSources() []string { + if x != nil { + return x.Sources + } + return nil +} + +type ListconfigsConfigsAnnounceaddr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValuesStr []string `protobuf:"bytes,1,rep,name=values_str,json=valuesStr,proto3" json:"values_str,omitempty"` + Sources []string `protobuf:"bytes,2,rep,name=sources,proto3" json:"sources,omitempty"` +} + +func (x *ListconfigsConfigsAnnounceaddr) Reset() { + *x = ListconfigsConfigsAnnounceaddr{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[339] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsAnnounceaddr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsAnnounceaddr) ProtoMessage() {} + +func (x *ListconfigsConfigsAnnounceaddr) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[339] + 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 ListconfigsConfigsAnnounceaddr.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsAnnounceaddr) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{339} +} + +func (x *ListconfigsConfigsAnnounceaddr) GetValuesStr() []string { + if x != nil { + return x.ValuesStr + } + return nil +} + +func (x *ListconfigsConfigsAnnounceaddr) GetSources() []string { + if x != nil { + return x.Sources + } + return nil +} + +type ListconfigsConfigsBindaddr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValuesStr []string `protobuf:"bytes,1,rep,name=values_str,json=valuesStr,proto3" json:"values_str,omitempty"` + Sources []string `protobuf:"bytes,2,rep,name=sources,proto3" json:"sources,omitempty"` +} + +func (x *ListconfigsConfigsBindaddr) Reset() { + *x = ListconfigsConfigsBindaddr{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[340] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsBindaddr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsBindaddr) ProtoMessage() {} + +func (x *ListconfigsConfigsBindaddr) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[340] + 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 ListconfigsConfigsBindaddr.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsBindaddr) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{340} +} + +func (x *ListconfigsConfigsBindaddr) GetValuesStr() []string { + if x != nil { + return x.ValuesStr + } + return nil +} + +func (x *ListconfigsConfigsBindaddr) GetSources() []string { + if x != nil { + return x.Sources + } + return nil +} + +type ListconfigsConfigsOffline struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsOffline) Reset() { + *x = ListconfigsConfigsOffline{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[341] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsOffline) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsOffline) ProtoMessage() {} + +func (x *ListconfigsConfigsOffline) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[341] + 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 ListconfigsConfigsOffline.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsOffline) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{341} +} + +func (x *ListconfigsConfigsOffline) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsOffline) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsAutolisten struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueBool bool `protobuf:"varint,1,opt,name=value_bool,json=valueBool,proto3" json:"value_bool,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsAutolisten) Reset() { + *x = ListconfigsConfigsAutolisten{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[342] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsAutolisten) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsAutolisten) ProtoMessage() {} + +func (x *ListconfigsConfigsAutolisten) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[342] + 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 ListconfigsConfigsAutolisten.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsAutolisten) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{342} +} + +func (x *ListconfigsConfigsAutolisten) GetValueBool() bool { + if x != nil { + return x.ValueBool + } + return false +} + +func (x *ListconfigsConfigsAutolisten) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsProxy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr string `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsProxy) Reset() { + *x = ListconfigsConfigsProxy{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[343] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsProxy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsProxy) ProtoMessage() {} + +func (x *ListconfigsConfigsProxy) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[343] + 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 ListconfigsConfigsProxy.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsProxy) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{343} +} + +func (x *ListconfigsConfigsProxy) GetValueStr() string { + if x != nil { + return x.ValueStr + } + return "" +} + +func (x *ListconfigsConfigsProxy) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsDisabledns struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsDisabledns) Reset() { + *x = ListconfigsConfigsDisabledns{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[344] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsDisabledns) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsDisabledns) ProtoMessage() {} + +func (x *ListconfigsConfigsDisabledns) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[344] + 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 ListconfigsConfigsDisabledns.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsDisabledns) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{344} +} + +func (x *ListconfigsConfigsDisabledns) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsDisabledns) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsAnnounceaddrdiscovered struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr `protobuf:"varint,1,opt,name=value_str,json=valueStr,proto3,enum=cln.ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsAnnounceaddrdiscovered) Reset() { + *x = ListconfigsConfigsAnnounceaddrdiscovered{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[345] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsAnnounceaddrdiscovered) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsAnnounceaddrdiscovered) ProtoMessage() {} + +func (x *ListconfigsConfigsAnnounceaddrdiscovered) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[345] + 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 ListconfigsConfigsAnnounceaddrdiscovered.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsAnnounceaddrdiscovered) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{345} +} + +func (x *ListconfigsConfigsAnnounceaddrdiscovered) GetValueStr() ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr { + if x != nil { + return x.ValueStr + } + return ListconfigsConfigsAnnounceaddrdiscovered_TRUE +} + +func (x *ListconfigsConfigsAnnounceaddrdiscovered) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsAnnounceaddrdiscoveredport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueInt uint32 `protobuf:"varint,1,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsAnnounceaddrdiscoveredport) Reset() { + *x = ListconfigsConfigsAnnounceaddrdiscoveredport{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[346] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsAnnounceaddrdiscoveredport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsAnnounceaddrdiscoveredport) ProtoMessage() {} + +func (x *ListconfigsConfigsAnnounceaddrdiscoveredport) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[346] + 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 ListconfigsConfigsAnnounceaddrdiscoveredport.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsAnnounceaddrdiscoveredport) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{346} +} + +func (x *ListconfigsConfigsAnnounceaddrdiscoveredport) GetValueInt() uint32 { + if x != nil { + return x.ValueInt + } + return 0 +} + +func (x *ListconfigsConfigsAnnounceaddrdiscoveredport) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsEncryptedhsm struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsEncryptedhsm) Reset() { + *x = ListconfigsConfigsEncryptedhsm{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[347] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsEncryptedhsm) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsEncryptedhsm) ProtoMessage() {} + +func (x *ListconfigsConfigsEncryptedhsm) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[347] + 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 ListconfigsConfigsEncryptedhsm.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsEncryptedhsm) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{347} +} + +func (x *ListconfigsConfigsEncryptedhsm) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsEncryptedhsm) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsRpcfilemode struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr string `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsRpcfilemode) Reset() { + *x = ListconfigsConfigsRpcfilemode{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[348] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsRpcfilemode) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsRpcfilemode) ProtoMessage() {} + +func (x *ListconfigsConfigsRpcfilemode) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[348] + 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 ListconfigsConfigsRpcfilemode.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsRpcfilemode) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{348} +} + +func (x *ListconfigsConfigsRpcfilemode) GetValueStr() string { + if x != nil { + return x.ValueStr + } + return "" +} + +func (x *ListconfigsConfigsRpcfilemode) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsLoglevel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr string `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsLoglevel) Reset() { + *x = ListconfigsConfigsLoglevel{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[349] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsLoglevel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsLoglevel) ProtoMessage() {} + +func (x *ListconfigsConfigsLoglevel) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[349] + 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 ListconfigsConfigsLoglevel.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsLoglevel) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{349} +} + +func (x *ListconfigsConfigsLoglevel) GetValueStr() string { + if x != nil { + return x.ValueStr + } + return "" +} + +func (x *ListconfigsConfigsLoglevel) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsLogprefix struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr string `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsLogprefix) Reset() { + *x = ListconfigsConfigsLogprefix{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[350] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsLogprefix) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsLogprefix) ProtoMessage() {} + +func (x *ListconfigsConfigsLogprefix) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[350] + 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 ListconfigsConfigsLogprefix.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsLogprefix) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{350} +} + +func (x *ListconfigsConfigsLogprefix) GetValueStr() string { + if x != nil { + return x.ValueStr + } + return "" +} + +func (x *ListconfigsConfigsLogprefix) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsLogfile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValuesStr []string `protobuf:"bytes,1,rep,name=values_str,json=valuesStr,proto3" json:"values_str,omitempty"` + Sources []string `protobuf:"bytes,2,rep,name=sources,proto3" json:"sources,omitempty"` +} + +func (x *ListconfigsConfigsLogfile) Reset() { + *x = ListconfigsConfigsLogfile{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[351] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsLogfile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsLogfile) ProtoMessage() {} + +func (x *ListconfigsConfigsLogfile) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[351] + 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 ListconfigsConfigsLogfile.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsLogfile) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{351} +} + +func (x *ListconfigsConfigsLogfile) GetValuesStr() []string { + if x != nil { + return x.ValuesStr + } + return nil +} + +func (x *ListconfigsConfigsLogfile) GetSources() []string { + if x != nil { + return x.Sources + } + return nil +} + +type ListconfigsConfigsLogtimestamps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueBool bool `protobuf:"varint,1,opt,name=value_bool,json=valueBool,proto3" json:"value_bool,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsLogtimestamps) Reset() { + *x = ListconfigsConfigsLogtimestamps{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[352] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsLogtimestamps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsLogtimestamps) ProtoMessage() {} + +func (x *ListconfigsConfigsLogtimestamps) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[352] + 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 ListconfigsConfigsLogtimestamps.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsLogtimestamps) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{352} +} + +func (x *ListconfigsConfigsLogtimestamps) GetValueBool() bool { + if x != nil { + return x.ValueBool + } + return false +} + +func (x *ListconfigsConfigsLogtimestamps) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsForcefeerates struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr string `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsForcefeerates) Reset() { + *x = ListconfigsConfigsForcefeerates{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[353] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsForcefeerates) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsForcefeerates) ProtoMessage() {} + +func (x *ListconfigsConfigsForcefeerates) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[353] + 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 ListconfigsConfigsForcefeerates.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsForcefeerates) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{353} +} + +func (x *ListconfigsConfigsForcefeerates) GetValueStr() string { + if x != nil { + return x.ValueStr + } + return "" +} + +func (x *ListconfigsConfigsForcefeerates) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsSubdaemon struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValuesStr []string `protobuf:"bytes,1,rep,name=values_str,json=valuesStr,proto3" json:"values_str,omitempty"` + Sources []string `protobuf:"bytes,2,rep,name=sources,proto3" json:"sources,omitempty"` +} + +func (x *ListconfigsConfigsSubdaemon) Reset() { + *x = ListconfigsConfigsSubdaemon{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[354] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsSubdaemon) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsSubdaemon) ProtoMessage() {} + +func (x *ListconfigsConfigsSubdaemon) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[354] + 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 ListconfigsConfigsSubdaemon.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsSubdaemon) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{354} +} + +func (x *ListconfigsConfigsSubdaemon) GetValuesStr() []string { + if x != nil { + return x.ValuesStr + } + return nil +} + +func (x *ListconfigsConfigsSubdaemon) GetSources() []string { + if x != nil { + return x.Sources + } + return nil +} + +type ListconfigsConfigsFetchinvoicenoconnect struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Set bool `protobuf:"varint,1,opt,name=set,proto3" json:"set,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsFetchinvoicenoconnect) Reset() { + *x = ListconfigsConfigsFetchinvoicenoconnect{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[355] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsFetchinvoicenoconnect) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsFetchinvoicenoconnect) ProtoMessage() {} + +func (x *ListconfigsConfigsFetchinvoicenoconnect) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[355] + 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 ListconfigsConfigsFetchinvoicenoconnect.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsFetchinvoicenoconnect) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{355} +} + +func (x *ListconfigsConfigsFetchinvoicenoconnect) GetSet() bool { + if x != nil { + return x.Set + } + return false +} + +func (x *ListconfigsConfigsFetchinvoicenoconnect) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsAccepthtlctlvtypes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr string `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsAccepthtlctlvtypes) Reset() { + *x = ListconfigsConfigsAccepthtlctlvtypes{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[356] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsAccepthtlctlvtypes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsAccepthtlctlvtypes) ProtoMessage() {} + +func (x *ListconfigsConfigsAccepthtlctlvtypes) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[356] + 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 ListconfigsConfigsAccepthtlctlvtypes.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsAccepthtlctlvtypes) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{356} +} + +func (x *ListconfigsConfigsAccepthtlctlvtypes) GetValueStr() string { + if x != nil { + return x.ValueStr + } + return "" +} + +func (x *ListconfigsConfigsAccepthtlctlvtypes) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsTorservicepassword struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueStr string `protobuf:"bytes,1,opt,name=value_str,json=valueStr,proto3" json:"value_str,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsTorservicepassword) Reset() { + *x = ListconfigsConfigsTorservicepassword{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[357] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsTorservicepassword) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsTorservicepassword) ProtoMessage() {} + +func (x *ListconfigsConfigsTorservicepassword) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[357] + 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 ListconfigsConfigsTorservicepassword.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsTorservicepassword) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{357} +} + +func (x *ListconfigsConfigsTorservicepassword) GetValueStr() string { + if x != nil { + return x.ValueStr + } + return "" +} + +func (x *ListconfigsConfigsTorservicepassword) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsAnnounceaddrdns struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueBool bool `protobuf:"varint,1,opt,name=value_bool,json=valueBool,proto3" json:"value_bool,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsAnnounceaddrdns) Reset() { + *x = ListconfigsConfigsAnnounceaddrdns{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[358] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsAnnounceaddrdns) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsAnnounceaddrdns) ProtoMessage() {} + +func (x *ListconfigsConfigsAnnounceaddrdns) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[358] + 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 ListconfigsConfigsAnnounceaddrdns.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsAnnounceaddrdns) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{358} +} + +func (x *ListconfigsConfigsAnnounceaddrdns) GetValueBool() bool { + if x != nil { + return x.ValueBool + } + return false +} + +func (x *ListconfigsConfigsAnnounceaddrdns) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsRequireconfirmedinputs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueBool bool `protobuf:"varint,1,opt,name=value_bool,json=valueBool,proto3" json:"value_bool,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsRequireconfirmedinputs) Reset() { + *x = ListconfigsConfigsRequireconfirmedinputs{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[359] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsRequireconfirmedinputs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsRequireconfirmedinputs) ProtoMessage() {} + +func (x *ListconfigsConfigsRequireconfirmedinputs) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[359] + 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 ListconfigsConfigsRequireconfirmedinputs.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsRequireconfirmedinputs) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{359} +} + +func (x *ListconfigsConfigsRequireconfirmedinputs) GetValueBool() bool { + if x != nil { + return x.ValueBool + } + return false +} + +func (x *ListconfigsConfigsRequireconfirmedinputs) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsCommitfee struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueInt uint64 `protobuf:"varint,1,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsCommitfee) Reset() { + *x = ListconfigsConfigsCommitfee{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[360] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsCommitfee) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsCommitfee) ProtoMessage() {} + +func (x *ListconfigsConfigsCommitfee) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[360] + 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 ListconfigsConfigsCommitfee.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsCommitfee) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{360} +} + +func (x *ListconfigsConfigsCommitfee) GetValueInt() uint64 { + if x != nil { + return x.ValueInt + } + return 0 +} + +func (x *ListconfigsConfigsCommitfee) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsConfigsCommitfeerateoffset struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValueInt uint32 `protobuf:"varint,1,opt,name=value_int,json=valueInt,proto3" json:"value_int,omitempty"` + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` +} + +func (x *ListconfigsConfigsCommitfeerateoffset) Reset() { + *x = ListconfigsConfigsCommitfeerateoffset{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[361] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsConfigsCommitfeerateoffset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsConfigsCommitfeerateoffset) ProtoMessage() {} + +func (x *ListconfigsConfigsCommitfeerateoffset) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[361] + 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 ListconfigsConfigsCommitfeerateoffset.ProtoReflect.Descriptor instead. +func (*ListconfigsConfigsCommitfeerateoffset) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{361} +} + +func (x *ListconfigsConfigsCommitfeerateoffset) GetValueInt() uint32 { + if x != nil { + return x.ValueInt + } + return 0 +} + +func (x *ListconfigsConfigsCommitfeerateoffset) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +type ListconfigsPlugins struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Options *ListconfigsPluginsOptions `protobuf:"bytes,3,opt,name=options,proto3,oneof" json:"options,omitempty"` +} + +func (x *ListconfigsPlugins) Reset() { + *x = ListconfigsPlugins{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[362] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsPlugins) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsPlugins) ProtoMessage() {} + +func (x *ListconfigsPlugins) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[362] + 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 ListconfigsPlugins.ProtoReflect.Descriptor instead. +func (*ListconfigsPlugins) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{362} +} + +func (x *ListconfigsPlugins) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *ListconfigsPlugins) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListconfigsPlugins) GetOptions() *ListconfigsPluginsOptions { + if x != nil { + return x.Options + } + return nil +} + +type ListconfigsPluginsOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ListconfigsPluginsOptions) Reset() { + *x = ListconfigsPluginsOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[363] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsPluginsOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsPluginsOptions) ProtoMessage() {} + +func (x *ListconfigsPluginsOptions) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[363] + 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 ListconfigsPluginsOptions.ProtoReflect.Descriptor instead. +func (*ListconfigsPluginsOptions) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{363} +} + +type ListconfigsImportantplugins struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Options *ListconfigsImportantpluginsOptions `protobuf:"bytes,3,opt,name=options,proto3,oneof" json:"options,omitempty"` +} + +func (x *ListconfigsImportantplugins) Reset() { + *x = ListconfigsImportantplugins{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[364] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsImportantplugins) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsImportantplugins) ProtoMessage() {} + +func (x *ListconfigsImportantplugins) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[364] + 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 ListconfigsImportantplugins.ProtoReflect.Descriptor instead. +func (*ListconfigsImportantplugins) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{364} +} + +func (x *ListconfigsImportantplugins) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *ListconfigsImportantplugins) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListconfigsImportantplugins) GetOptions() *ListconfigsImportantpluginsOptions { + if x != nil { + return x.Options + } + return nil +} + +type ListconfigsImportantpluginsOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ListconfigsImportantpluginsOptions) Reset() { + *x = ListconfigsImportantpluginsOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[365] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListconfigsImportantpluginsOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListconfigsImportantpluginsOptions) ProtoMessage() {} + +func (x *ListconfigsImportantpluginsOptions) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[365] + 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 ListconfigsImportantpluginsOptions.ProtoReflect.Descriptor instead. +func (*ListconfigsImportantpluginsOptions) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{365} +} + +type StopRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *StopRequest) Reset() { + *x = StopRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[366] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StopRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopRequest) ProtoMessage() {} + +func (x *StopRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[366] + 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 StopRequest.ProtoReflect.Descriptor instead. +func (*StopRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{366} +} + +type StopResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Result *StopResponse_StopResult `protobuf:"varint,1,opt,name=result,proto3,enum=cln.StopResponse_StopResult,oneof" json:"result,omitempty"` +} + +func (x *StopResponse) Reset() { + *x = StopResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[367] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StopResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopResponse) ProtoMessage() {} + +func (x *StopResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[367] + 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 StopResponse.ProtoReflect.Descriptor instead. +func (*StopResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{367} +} + +func (x *StopResponse) GetResult() StopResponse_StopResult { + if x != nil && x.Result != nil { + return *x.Result + } + return StopResponse_SHUTDOWN_COMPLETE +} + +type HelpRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Command *string `protobuf:"bytes,1,opt,name=command,proto3,oneof" json:"command,omitempty"` +} + +func (x *HelpRequest) Reset() { + *x = HelpRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[368] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HelpRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HelpRequest) ProtoMessage() {} + +func (x *HelpRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[368] + 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 HelpRequest.ProtoReflect.Descriptor instead. +func (*HelpRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{368} +} + +func (x *HelpRequest) GetCommand() string { + if x != nil && x.Command != nil { + return *x.Command + } + return "" +} + +type HelpResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Help []*HelpHelp `protobuf:"bytes,1,rep,name=help,proto3" json:"help,omitempty"` + FormatHint *HelpResponse_HelpFormathint `protobuf:"varint,2,opt,name=format_hint,json=formatHint,proto3,enum=cln.HelpResponse_HelpFormathint,oneof" json:"format_hint,omitempty"` +} + +func (x *HelpResponse) Reset() { + *x = HelpResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[369] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HelpResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HelpResponse) ProtoMessage() {} + +func (x *HelpResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[369] + 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 HelpResponse.ProtoReflect.Descriptor instead. +func (*HelpResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{369} +} + +func (x *HelpResponse) GetHelp() []*HelpHelp { + if x != nil { + return x.Help + } + return nil +} + +func (x *HelpResponse) GetFormatHint() HelpResponse_HelpFormathint { + if x != nil && x.FormatHint != nil { + return *x.FormatHint + } + return HelpResponse_SIMPLE +} + +type HelpHelp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Command string `protobuf:"bytes,1,opt,name=command,proto3" json:"command,omitempty"` + Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Verbose string `protobuf:"bytes,4,opt,name=verbose,proto3" json:"verbose,omitempty"` +} + +func (x *HelpHelp) Reset() { + *x = HelpHelp{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[370] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HelpHelp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HelpHelp) ProtoMessage() {} + +func (x *HelpHelp) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[370] + 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 HelpHelp.ProtoReflect.Descriptor instead. +func (*HelpHelp) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{370} +} + +func (x *HelpHelp) GetCommand() string { + if x != nil { + return x.Command + } + return "" +} + +func (x *HelpHelp) GetCategory() string { + if x != nil { + return x.Category + } + return "" +} + +func (x *HelpHelp) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *HelpHelp) GetVerbose() string { + if x != nil { + return x.Verbose + } + return "" +} + +type PreapprovekeysendRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Destination []byte `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` + PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` + AmountMsat *Amount `protobuf:"bytes,3,opt,name=amount_msat,json=amountMsat,proto3" json:"amount_msat,omitempty"` +} + +func (x *PreapprovekeysendRequest) Reset() { + *x = PreapprovekeysendRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[371] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PreapprovekeysendRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreapprovekeysendRequest) ProtoMessage() {} + +func (x *PreapprovekeysendRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[371] + 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 PreapprovekeysendRequest.ProtoReflect.Descriptor instead. +func (*PreapprovekeysendRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{371} +} + +func (x *PreapprovekeysendRequest) GetDestination() []byte { + if x != nil { + return x.Destination + } + return nil +} + +func (x *PreapprovekeysendRequest) GetPaymentHash() []byte { + if x != nil { + return x.PaymentHash + } + return nil +} + +func (x *PreapprovekeysendRequest) GetAmountMsat() *Amount { + if x != nil { + return x.AmountMsat + } + return nil +} + +type PreapprovekeysendResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PreapprovekeysendResponse) Reset() { + *x = PreapprovekeysendResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[372] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PreapprovekeysendResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreapprovekeysendResponse) ProtoMessage() {} + +func (x *PreapprovekeysendResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[372] + 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 PreapprovekeysendResponse.ProtoReflect.Descriptor instead. +func (*PreapprovekeysendResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{372} +} + +type PreapproveinvoiceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bolt11 string `protobuf:"bytes,1,opt,name=bolt11,proto3" json:"bolt11,omitempty"` +} + +func (x *PreapproveinvoiceRequest) Reset() { + *x = PreapproveinvoiceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[373] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PreapproveinvoiceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreapproveinvoiceRequest) ProtoMessage() {} + +func (x *PreapproveinvoiceRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[373] + 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 PreapproveinvoiceRequest.ProtoReflect.Descriptor instead. +func (*PreapproveinvoiceRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{373} +} + +func (x *PreapproveinvoiceRequest) GetBolt11() string { + if x != nil { + return x.Bolt11 + } + return "" +} + +type PreapproveinvoiceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PreapproveinvoiceResponse) Reset() { + *x = PreapproveinvoiceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[374] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PreapproveinvoiceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PreapproveinvoiceResponse) ProtoMessage() {} + +func (x *PreapproveinvoiceResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[374] + 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 PreapproveinvoiceResponse.ProtoReflect.Descriptor instead. +func (*PreapproveinvoiceResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{374} +} + +type StaticbackupRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *StaticbackupRequest) Reset() { + *x = StaticbackupRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[375] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StaticbackupRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StaticbackupRequest) ProtoMessage() {} + +func (x *StaticbackupRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[375] + 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 StaticbackupRequest.ProtoReflect.Descriptor instead. +func (*StaticbackupRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{375} +} + +type StaticbackupResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Scb [][]byte `protobuf:"bytes,1,rep,name=scb,proto3" json:"scb,omitempty"` +} + +func (x *StaticbackupResponse) Reset() { + *x = StaticbackupResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[376] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StaticbackupResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StaticbackupResponse) ProtoMessage() {} + +func (x *StaticbackupResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[376] + 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 StaticbackupResponse.ProtoReflect.Descriptor instead. +func (*StaticbackupResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{376} +} + +func (x *StaticbackupResponse) GetScb() [][]byte { + if x != nil { + return x.Scb + } + return nil +} + +type BkprchannelsapyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StartTime *uint64 `protobuf:"varint,1,opt,name=start_time,json=startTime,proto3,oneof" json:"start_time,omitempty"` + EndTime *uint64 `protobuf:"varint,2,opt,name=end_time,json=endTime,proto3,oneof" json:"end_time,omitempty"` +} + +func (x *BkprchannelsapyRequest) Reset() { + *x = BkprchannelsapyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[377] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprchannelsapyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprchannelsapyRequest) ProtoMessage() {} + +func (x *BkprchannelsapyRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[377] + 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 BkprchannelsapyRequest.ProtoReflect.Descriptor instead. +func (*BkprchannelsapyRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{377} +} + +func (x *BkprchannelsapyRequest) GetStartTime() uint64 { + if x != nil && x.StartTime != nil { + return *x.StartTime + } + return 0 +} + +func (x *BkprchannelsapyRequest) GetEndTime() uint64 { + if x != nil && x.EndTime != nil { + return *x.EndTime + } + return 0 +} + +type BkprchannelsapyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelsApy []*BkprchannelsapyChannelsApy `protobuf:"bytes,1,rep,name=channels_apy,json=channelsApy,proto3" json:"channels_apy,omitempty"` +} + +func (x *BkprchannelsapyResponse) Reset() { + *x = BkprchannelsapyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[378] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprchannelsapyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprchannelsapyResponse) ProtoMessage() {} + +func (x *BkprchannelsapyResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[378] + 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 BkprchannelsapyResponse.ProtoReflect.Descriptor instead. +func (*BkprchannelsapyResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{378} +} + +func (x *BkprchannelsapyResponse) GetChannelsApy() []*BkprchannelsapyChannelsApy { + if x != nil { + return x.ChannelsApy + } + return nil +} + +type BkprchannelsapyChannelsApy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + RoutedOutMsat *Amount `protobuf:"bytes,2,opt,name=routed_out_msat,json=routedOutMsat,proto3" json:"routed_out_msat,omitempty"` + RoutedInMsat *Amount `protobuf:"bytes,3,opt,name=routed_in_msat,json=routedInMsat,proto3" json:"routed_in_msat,omitempty"` + LeaseFeePaidMsat *Amount `protobuf:"bytes,4,opt,name=lease_fee_paid_msat,json=leaseFeePaidMsat,proto3" json:"lease_fee_paid_msat,omitempty"` + LeaseFeeEarnedMsat *Amount `protobuf:"bytes,5,opt,name=lease_fee_earned_msat,json=leaseFeeEarnedMsat,proto3" json:"lease_fee_earned_msat,omitempty"` + PushedOutMsat *Amount `protobuf:"bytes,6,opt,name=pushed_out_msat,json=pushedOutMsat,proto3" json:"pushed_out_msat,omitempty"` + PushedInMsat *Amount `protobuf:"bytes,7,opt,name=pushed_in_msat,json=pushedInMsat,proto3" json:"pushed_in_msat,omitempty"` + OurStartBalanceMsat *Amount `protobuf:"bytes,8,opt,name=our_start_balance_msat,json=ourStartBalanceMsat,proto3" json:"our_start_balance_msat,omitempty"` + ChannelStartBalanceMsat *Amount `protobuf:"bytes,9,opt,name=channel_start_balance_msat,json=channelStartBalanceMsat,proto3" json:"channel_start_balance_msat,omitempty"` + FeesOutMsat *Amount `protobuf:"bytes,10,opt,name=fees_out_msat,json=feesOutMsat,proto3" json:"fees_out_msat,omitempty"` + FeesInMsat *Amount `protobuf:"bytes,11,opt,name=fees_in_msat,json=feesInMsat,proto3,oneof" json:"fees_in_msat,omitempty"` + UtilizationOut string `protobuf:"bytes,12,opt,name=utilization_out,json=utilizationOut,proto3" json:"utilization_out,omitempty"` + UtilizationOutInitial *string `protobuf:"bytes,13,opt,name=utilization_out_initial,json=utilizationOutInitial,proto3,oneof" json:"utilization_out_initial,omitempty"` + UtilizationIn string `protobuf:"bytes,14,opt,name=utilization_in,json=utilizationIn,proto3" json:"utilization_in,omitempty"` + UtilizationInInitial *string `protobuf:"bytes,15,opt,name=utilization_in_initial,json=utilizationInInitial,proto3,oneof" json:"utilization_in_initial,omitempty"` + ApyOut string `protobuf:"bytes,16,opt,name=apy_out,json=apyOut,proto3" json:"apy_out,omitempty"` + ApyOutInitial *string `protobuf:"bytes,17,opt,name=apy_out_initial,json=apyOutInitial,proto3,oneof" json:"apy_out_initial,omitempty"` + ApyIn string `protobuf:"bytes,18,opt,name=apy_in,json=apyIn,proto3" json:"apy_in,omitempty"` + ApyInInitial *string `protobuf:"bytes,19,opt,name=apy_in_initial,json=apyInInitial,proto3,oneof" json:"apy_in_initial,omitempty"` + ApyTotal string `protobuf:"bytes,20,opt,name=apy_total,json=apyTotal,proto3" json:"apy_total,omitempty"` + ApyTotalInitial *string `protobuf:"bytes,21,opt,name=apy_total_initial,json=apyTotalInitial,proto3,oneof" json:"apy_total_initial,omitempty"` + ApyLease *string `protobuf:"bytes,22,opt,name=apy_lease,json=apyLease,proto3,oneof" json:"apy_lease,omitempty"` +} + +func (x *BkprchannelsapyChannelsApy) Reset() { + *x = BkprchannelsapyChannelsApy{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[379] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprchannelsapyChannelsApy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprchannelsapyChannelsApy) ProtoMessage() {} + +func (x *BkprchannelsapyChannelsApy) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[379] + 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 BkprchannelsapyChannelsApy.ProtoReflect.Descriptor instead. +func (*BkprchannelsapyChannelsApy) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{379} +} + +func (x *BkprchannelsapyChannelsApy) GetAccount() string { + if x != nil { + return x.Account + } + return "" +} + +func (x *BkprchannelsapyChannelsApy) GetRoutedOutMsat() *Amount { + if x != nil { + return x.RoutedOutMsat + } + return nil +} + +func (x *BkprchannelsapyChannelsApy) GetRoutedInMsat() *Amount { + if x != nil { + return x.RoutedInMsat + } + return nil +} + +func (x *BkprchannelsapyChannelsApy) GetLeaseFeePaidMsat() *Amount { + if x != nil { + return x.LeaseFeePaidMsat + } + return nil +} + +func (x *BkprchannelsapyChannelsApy) GetLeaseFeeEarnedMsat() *Amount { + if x != nil { + return x.LeaseFeeEarnedMsat + } + return nil +} + +func (x *BkprchannelsapyChannelsApy) GetPushedOutMsat() *Amount { + if x != nil { + return x.PushedOutMsat + } + return nil +} + +func (x *BkprchannelsapyChannelsApy) GetPushedInMsat() *Amount { + if x != nil { + return x.PushedInMsat + } + return nil +} + +func (x *BkprchannelsapyChannelsApy) GetOurStartBalanceMsat() *Amount { + if x != nil { + return x.OurStartBalanceMsat + } + return nil +} + +func (x *BkprchannelsapyChannelsApy) GetChannelStartBalanceMsat() *Amount { + if x != nil { + return x.ChannelStartBalanceMsat + } + return nil +} + +func (x *BkprchannelsapyChannelsApy) GetFeesOutMsat() *Amount { + if x != nil { + return x.FeesOutMsat + } + return nil +} + +func (x *BkprchannelsapyChannelsApy) GetFeesInMsat() *Amount { + if x != nil { + return x.FeesInMsat + } + return nil +} + +func (x *BkprchannelsapyChannelsApy) GetUtilizationOut() string { + if x != nil { + return x.UtilizationOut + } + return "" +} + +func (x *BkprchannelsapyChannelsApy) GetUtilizationOutInitial() string { + if x != nil && x.UtilizationOutInitial != nil { + return *x.UtilizationOutInitial + } + return "" +} + +func (x *BkprchannelsapyChannelsApy) GetUtilizationIn() string { + if x != nil { + return x.UtilizationIn + } + return "" +} + +func (x *BkprchannelsapyChannelsApy) GetUtilizationInInitial() string { + if x != nil && x.UtilizationInInitial != nil { + return *x.UtilizationInInitial + } + return "" +} + +func (x *BkprchannelsapyChannelsApy) GetApyOut() string { + if x != nil { + return x.ApyOut + } + return "" +} + +func (x *BkprchannelsapyChannelsApy) GetApyOutInitial() string { + if x != nil && x.ApyOutInitial != nil { + return *x.ApyOutInitial + } + return "" +} + +func (x *BkprchannelsapyChannelsApy) GetApyIn() string { + if x != nil { + return x.ApyIn + } + return "" +} + +func (x *BkprchannelsapyChannelsApy) GetApyInInitial() string { + if x != nil && x.ApyInInitial != nil { + return *x.ApyInInitial + } + return "" +} + +func (x *BkprchannelsapyChannelsApy) GetApyTotal() string { + if x != nil { + return x.ApyTotal + } + return "" +} + +func (x *BkprchannelsapyChannelsApy) GetApyTotalInitial() string { + if x != nil && x.ApyTotalInitial != nil { + return *x.ApyTotalInitial + } + return "" +} + +func (x *BkprchannelsapyChannelsApy) GetApyLease() string { + if x != nil && x.ApyLease != nil { + return *x.ApyLease + } + return "" +} + +type BkprdumpincomecsvRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CsvFormat string `protobuf:"bytes,1,opt,name=csv_format,json=csvFormat,proto3" json:"csv_format,omitempty"` + CsvFile *string `protobuf:"bytes,2,opt,name=csv_file,json=csvFile,proto3,oneof" json:"csv_file,omitempty"` + ConsolidateFees *bool `protobuf:"varint,3,opt,name=consolidate_fees,json=consolidateFees,proto3,oneof" json:"consolidate_fees,omitempty"` + StartTime *uint64 `protobuf:"varint,4,opt,name=start_time,json=startTime,proto3,oneof" json:"start_time,omitempty"` + EndTime *uint64 `protobuf:"varint,5,opt,name=end_time,json=endTime,proto3,oneof" json:"end_time,omitempty"` +} + +func (x *BkprdumpincomecsvRequest) Reset() { + *x = BkprdumpincomecsvRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[380] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprdumpincomecsvRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprdumpincomecsvRequest) ProtoMessage() {} + +func (x *BkprdumpincomecsvRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[380] + 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 BkprdumpincomecsvRequest.ProtoReflect.Descriptor instead. +func (*BkprdumpincomecsvRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{380} +} + +func (x *BkprdumpincomecsvRequest) GetCsvFormat() string { + if x != nil { + return x.CsvFormat + } + return "" +} + +func (x *BkprdumpincomecsvRequest) GetCsvFile() string { + if x != nil && x.CsvFile != nil { + return *x.CsvFile + } + return "" +} + +func (x *BkprdumpincomecsvRequest) GetConsolidateFees() bool { + if x != nil && x.ConsolidateFees != nil { + return *x.ConsolidateFees + } + return false +} + +func (x *BkprdumpincomecsvRequest) GetStartTime() uint64 { + if x != nil && x.StartTime != nil { + return *x.StartTime + } + return 0 +} + +func (x *BkprdumpincomecsvRequest) GetEndTime() uint64 { + if x != nil && x.EndTime != nil { + return *x.EndTime + } + return 0 +} + +type BkprdumpincomecsvResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CsvFile string `protobuf:"bytes,1,opt,name=csv_file,json=csvFile,proto3" json:"csv_file,omitempty"` + CsvFormat BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat `protobuf:"varint,2,opt,name=csv_format,json=csvFormat,proto3,enum=cln.BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat" json:"csv_format,omitempty"` +} + +func (x *BkprdumpincomecsvResponse) Reset() { + *x = BkprdumpincomecsvResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[381] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprdumpincomecsvResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprdumpincomecsvResponse) ProtoMessage() {} + +func (x *BkprdumpincomecsvResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[381] + 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 BkprdumpincomecsvResponse.ProtoReflect.Descriptor instead. +func (*BkprdumpincomecsvResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{381} +} + +func (x *BkprdumpincomecsvResponse) GetCsvFile() string { + if x != nil { + return x.CsvFile + } + return "" +} + +func (x *BkprdumpincomecsvResponse) GetCsvFormat() BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat { + if x != nil { + return x.CsvFormat + } + return BkprdumpincomecsvResponse_COINTRACKER +} + +type BkprinspectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` +} + +func (x *BkprinspectRequest) Reset() { + *x = BkprinspectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[382] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprinspectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprinspectRequest) ProtoMessage() {} + +func (x *BkprinspectRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[382] + 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 BkprinspectRequest.ProtoReflect.Descriptor instead. +func (*BkprinspectRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{382} +} + +func (x *BkprinspectRequest) GetAccount() string { + if x != nil { + return x.Account + } + return "" +} + +type BkprinspectResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Txs []*BkprinspectTxs `protobuf:"bytes,1,rep,name=txs,proto3" json:"txs,omitempty"` +} + +func (x *BkprinspectResponse) Reset() { + *x = BkprinspectResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[383] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprinspectResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprinspectResponse) ProtoMessage() {} + +func (x *BkprinspectResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[383] + 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 BkprinspectResponse.ProtoReflect.Descriptor instead. +func (*BkprinspectResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{383} +} + +func (x *BkprinspectResponse) GetTxs() []*BkprinspectTxs { + if x != nil { + return x.Txs + } + return nil +} + +type BkprinspectTxs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` + Blockheight *uint32 `protobuf:"varint,2,opt,name=blockheight,proto3,oneof" json:"blockheight,omitempty"` + FeesPaidMsat *Amount `protobuf:"bytes,3,opt,name=fees_paid_msat,json=feesPaidMsat,proto3" json:"fees_paid_msat,omitempty"` + Outputs []*BkprinspectTxsOutputs `protobuf:"bytes,4,rep,name=outputs,proto3" json:"outputs,omitempty"` +} + +func (x *BkprinspectTxs) Reset() { + *x = BkprinspectTxs{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[384] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprinspectTxs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprinspectTxs) ProtoMessage() {} + +func (x *BkprinspectTxs) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[384] + 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 BkprinspectTxs.ProtoReflect.Descriptor instead. +func (*BkprinspectTxs) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{384} +} + +func (x *BkprinspectTxs) GetTxid() []byte { + if x != nil { + return x.Txid + } + return nil +} + +func (x *BkprinspectTxs) GetBlockheight() uint32 { + if x != nil && x.Blockheight != nil { + return *x.Blockheight + } + return 0 +} + +func (x *BkprinspectTxs) GetFeesPaidMsat() *Amount { + if x != nil { + return x.FeesPaidMsat + } + return nil +} + +func (x *BkprinspectTxs) GetOutputs() []*BkprinspectTxsOutputs { + if x != nil { + return x.Outputs + } + return nil +} + +type BkprinspectTxsOutputs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + Outnum uint32 `protobuf:"varint,2,opt,name=outnum,proto3" json:"outnum,omitempty"` + OutputValueMsat *Amount `protobuf:"bytes,3,opt,name=output_value_msat,json=outputValueMsat,proto3" json:"output_value_msat,omitempty"` + Currency string `protobuf:"bytes,4,opt,name=currency,proto3" json:"currency,omitempty"` + CreditMsat *Amount `protobuf:"bytes,5,opt,name=credit_msat,json=creditMsat,proto3,oneof" json:"credit_msat,omitempty"` + DebitMsat *Amount `protobuf:"bytes,6,opt,name=debit_msat,json=debitMsat,proto3,oneof" json:"debit_msat,omitempty"` + OriginatingAccount *string `protobuf:"bytes,7,opt,name=originating_account,json=originatingAccount,proto3,oneof" json:"originating_account,omitempty"` + OutputTag *string `protobuf:"bytes,8,opt,name=output_tag,json=outputTag,proto3,oneof" json:"output_tag,omitempty"` + SpendTag *string `protobuf:"bytes,9,opt,name=spend_tag,json=spendTag,proto3,oneof" json:"spend_tag,omitempty"` + SpendingTxid []byte `protobuf:"bytes,10,opt,name=spending_txid,json=spendingTxid,proto3,oneof" json:"spending_txid,omitempty"` + PaymentId []byte `protobuf:"bytes,11,opt,name=payment_id,json=paymentId,proto3,oneof" json:"payment_id,omitempty"` +} + +func (x *BkprinspectTxsOutputs) Reset() { + *x = BkprinspectTxsOutputs{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[385] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprinspectTxsOutputs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprinspectTxsOutputs) ProtoMessage() {} + +func (x *BkprinspectTxsOutputs) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[385] + 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 BkprinspectTxsOutputs.ProtoReflect.Descriptor instead. +func (*BkprinspectTxsOutputs) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{385} +} + +func (x *BkprinspectTxsOutputs) GetAccount() string { + if x != nil { + return x.Account + } + return "" +} + +func (x *BkprinspectTxsOutputs) GetOutnum() uint32 { + if x != nil { + return x.Outnum + } + return 0 +} + +func (x *BkprinspectTxsOutputs) GetOutputValueMsat() *Amount { + if x != nil { + return x.OutputValueMsat + } + return nil +} + +func (x *BkprinspectTxsOutputs) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *BkprinspectTxsOutputs) GetCreditMsat() *Amount { + if x != nil { + return x.CreditMsat + } + return nil +} + +func (x *BkprinspectTxsOutputs) GetDebitMsat() *Amount { + if x != nil { + return x.DebitMsat + } + return nil +} + +func (x *BkprinspectTxsOutputs) GetOriginatingAccount() string { + if x != nil && x.OriginatingAccount != nil { + return *x.OriginatingAccount + } + return "" +} + +func (x *BkprinspectTxsOutputs) GetOutputTag() string { + if x != nil && x.OutputTag != nil { + return *x.OutputTag + } + return "" +} + +func (x *BkprinspectTxsOutputs) GetSpendTag() string { + if x != nil && x.SpendTag != nil { + return *x.SpendTag + } + return "" +} + +func (x *BkprinspectTxsOutputs) GetSpendingTxid() []byte { + if x != nil { + return x.SpendingTxid + } + return nil +} + +func (x *BkprinspectTxsOutputs) GetPaymentId() []byte { + if x != nil { + return x.PaymentId + } + return nil +} + +type BkprlistaccounteventsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Account *string `protobuf:"bytes,1,opt,name=account,proto3,oneof" json:"account,omitempty"` +} + +func (x *BkprlistaccounteventsRequest) Reset() { + *x = BkprlistaccounteventsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[386] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprlistaccounteventsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprlistaccounteventsRequest) ProtoMessage() {} + +func (x *BkprlistaccounteventsRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[386] + 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 BkprlistaccounteventsRequest.ProtoReflect.Descriptor instead. +func (*BkprlistaccounteventsRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{386} +} + +func (x *BkprlistaccounteventsRequest) GetAccount() string { + if x != nil && x.Account != nil { + return *x.Account + } + return "" +} + +type BkprlistaccounteventsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Events []*BkprlistaccounteventsEvents `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` +} + +func (x *BkprlistaccounteventsResponse) Reset() { + *x = BkprlistaccounteventsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[387] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprlistaccounteventsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprlistaccounteventsResponse) ProtoMessage() {} + +func (x *BkprlistaccounteventsResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[387] + 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 BkprlistaccounteventsResponse.ProtoReflect.Descriptor instead. +func (*BkprlistaccounteventsResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{387} +} + +func (x *BkprlistaccounteventsResponse) GetEvents() []*BkprlistaccounteventsEvents { + if x != nil { + return x.Events + } + return nil +} + +type BkprlistaccounteventsEvents struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + ItemType BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType `protobuf:"varint,2,opt,name=item_type,json=itemType,proto3,enum=cln.BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType" json:"item_type,omitempty"` + Tag string `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"` + CreditMsat *Amount `protobuf:"bytes,4,opt,name=credit_msat,json=creditMsat,proto3" json:"credit_msat,omitempty"` + DebitMsat *Amount `protobuf:"bytes,5,opt,name=debit_msat,json=debitMsat,proto3" json:"debit_msat,omitempty"` + Currency string `protobuf:"bytes,6,opt,name=currency,proto3" json:"currency,omitempty"` + Timestamp uint32 `protobuf:"varint,7,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Outpoint *string `protobuf:"bytes,8,opt,name=outpoint,proto3,oneof" json:"outpoint,omitempty"` + Blockheight *uint32 `protobuf:"varint,9,opt,name=blockheight,proto3,oneof" json:"blockheight,omitempty"` + Origin *string `protobuf:"bytes,10,opt,name=origin,proto3,oneof" json:"origin,omitempty"` + PaymentId []byte `protobuf:"bytes,11,opt,name=payment_id,json=paymentId,proto3,oneof" json:"payment_id,omitempty"` + Txid []byte `protobuf:"bytes,12,opt,name=txid,proto3,oneof" json:"txid,omitempty"` + Description *string `protobuf:"bytes,13,opt,name=description,proto3,oneof" json:"description,omitempty"` + FeesMsat *Amount `protobuf:"bytes,14,opt,name=fees_msat,json=feesMsat,proto3,oneof" json:"fees_msat,omitempty"` + IsRebalance *bool `protobuf:"varint,15,opt,name=is_rebalance,json=isRebalance,proto3,oneof" json:"is_rebalance,omitempty"` + PartId *uint32 `protobuf:"varint,16,opt,name=part_id,json=partId,proto3,oneof" json:"part_id,omitempty"` +} + +func (x *BkprlistaccounteventsEvents) Reset() { + *x = BkprlistaccounteventsEvents{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[388] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprlistaccounteventsEvents) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprlistaccounteventsEvents) ProtoMessage() {} + +func (x *BkprlistaccounteventsEvents) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[388] + 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 BkprlistaccounteventsEvents.ProtoReflect.Descriptor instead. +func (*BkprlistaccounteventsEvents) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{388} +} + +func (x *BkprlistaccounteventsEvents) GetAccount() string { + if x != nil { + return x.Account + } + return "" +} + +func (x *BkprlistaccounteventsEvents) GetItemType() BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType { + if x != nil { + return x.ItemType + } + return BkprlistaccounteventsEvents_ONCHAIN_FEE +} + +func (x *BkprlistaccounteventsEvents) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *BkprlistaccounteventsEvents) GetCreditMsat() *Amount { + if x != nil { + return x.CreditMsat + } + return nil +} + +func (x *BkprlistaccounteventsEvents) GetDebitMsat() *Amount { + if x != nil { + return x.DebitMsat + } + return nil +} + +func (x *BkprlistaccounteventsEvents) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *BkprlistaccounteventsEvents) GetTimestamp() uint32 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *BkprlistaccounteventsEvents) GetOutpoint() string { + if x != nil && x.Outpoint != nil { + return *x.Outpoint + } + return "" +} + +func (x *BkprlistaccounteventsEvents) GetBlockheight() uint32 { + if x != nil && x.Blockheight != nil { + return *x.Blockheight + } + return 0 +} + +func (x *BkprlistaccounteventsEvents) GetOrigin() string { + if x != nil && x.Origin != nil { + return *x.Origin + } + return "" +} + +func (x *BkprlistaccounteventsEvents) GetPaymentId() []byte { + if x != nil { + return x.PaymentId + } + return nil +} + +func (x *BkprlistaccounteventsEvents) GetTxid() []byte { + if x != nil { + return x.Txid + } + return nil +} + +func (x *BkprlistaccounteventsEvents) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *BkprlistaccounteventsEvents) GetFeesMsat() *Amount { + if x != nil { + return x.FeesMsat + } + return nil +} + +func (x *BkprlistaccounteventsEvents) GetIsRebalance() bool { + if x != nil && x.IsRebalance != nil { + return *x.IsRebalance + } + return false +} + +func (x *BkprlistaccounteventsEvents) GetPartId() uint32 { + if x != nil && x.PartId != nil { + return *x.PartId + } + return 0 +} + +type BkprlistbalancesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *BkprlistbalancesRequest) Reset() { + *x = BkprlistbalancesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[389] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprlistbalancesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprlistbalancesRequest) ProtoMessage() {} + +func (x *BkprlistbalancesRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[389] + 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 BkprlistbalancesRequest.ProtoReflect.Descriptor instead. +func (*BkprlistbalancesRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{389} +} + +type BkprlistbalancesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Accounts []*BkprlistbalancesAccounts `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"` +} + +func (x *BkprlistbalancesResponse) Reset() { + *x = BkprlistbalancesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[390] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprlistbalancesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprlistbalancesResponse) ProtoMessage() {} + +func (x *BkprlistbalancesResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[390] + 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 BkprlistbalancesResponse.ProtoReflect.Descriptor instead. +func (*BkprlistbalancesResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{390} +} + +func (x *BkprlistbalancesResponse) GetAccounts() []*BkprlistbalancesAccounts { + if x != nil { + return x.Accounts + } + return nil +} + +type BkprlistbalancesAccounts struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + Balances []*BkprlistbalancesAccountsBalances `protobuf:"bytes,2,rep,name=balances,proto3" json:"balances,omitempty"` + PeerId []byte `protobuf:"bytes,3,opt,name=peer_id,json=peerId,proto3,oneof" json:"peer_id,omitempty"` + WeOpened *bool `protobuf:"varint,4,opt,name=we_opened,json=weOpened,proto3,oneof" json:"we_opened,omitempty"` + AccountClosed *bool `protobuf:"varint,5,opt,name=account_closed,json=accountClosed,proto3,oneof" json:"account_closed,omitempty"` + AccountResolved *bool `protobuf:"varint,6,opt,name=account_resolved,json=accountResolved,proto3,oneof" json:"account_resolved,omitempty"` + ResolvedAtBlock *uint32 `protobuf:"varint,7,opt,name=resolved_at_block,json=resolvedAtBlock,proto3,oneof" json:"resolved_at_block,omitempty"` +} + +func (x *BkprlistbalancesAccounts) Reset() { + *x = BkprlistbalancesAccounts{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[391] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprlistbalancesAccounts) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprlistbalancesAccounts) ProtoMessage() {} + +func (x *BkprlistbalancesAccounts) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[391] + 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 BkprlistbalancesAccounts.ProtoReflect.Descriptor instead. +func (*BkprlistbalancesAccounts) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{391} +} + +func (x *BkprlistbalancesAccounts) GetAccount() string { + if x != nil { + return x.Account + } + return "" +} + +func (x *BkprlistbalancesAccounts) GetBalances() []*BkprlistbalancesAccountsBalances { + if x != nil { + return x.Balances + } + return nil +} + +func (x *BkprlistbalancesAccounts) GetPeerId() []byte { + if x != nil { + return x.PeerId + } + return nil +} + +func (x *BkprlistbalancesAccounts) GetWeOpened() bool { + if x != nil && x.WeOpened != nil { + return *x.WeOpened + } + return false +} + +func (x *BkprlistbalancesAccounts) GetAccountClosed() bool { + if x != nil && x.AccountClosed != nil { + return *x.AccountClosed + } + return false +} + +func (x *BkprlistbalancesAccounts) GetAccountResolved() bool { + if x != nil && x.AccountResolved != nil { + return *x.AccountResolved + } + return false +} + +func (x *BkprlistbalancesAccounts) GetResolvedAtBlock() uint32 { + if x != nil && x.ResolvedAtBlock != nil { + return *x.ResolvedAtBlock + } + return 0 +} + +type BkprlistbalancesAccountsBalances struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BalanceMsat *Amount `protobuf:"bytes,1,opt,name=balance_msat,json=balanceMsat,proto3" json:"balance_msat,omitempty"` + CoinType string `protobuf:"bytes,2,opt,name=coin_type,json=coinType,proto3" json:"coin_type,omitempty"` +} + +func (x *BkprlistbalancesAccountsBalances) Reset() { + *x = BkprlistbalancesAccountsBalances{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[392] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprlistbalancesAccountsBalances) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprlistbalancesAccountsBalances) ProtoMessage() {} + +func (x *BkprlistbalancesAccountsBalances) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[392] + 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 BkprlistbalancesAccountsBalances.ProtoReflect.Descriptor instead. +func (*BkprlistbalancesAccountsBalances) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{392} +} + +func (x *BkprlistbalancesAccountsBalances) GetBalanceMsat() *Amount { + if x != nil { + return x.BalanceMsat + } + return nil +} + +func (x *BkprlistbalancesAccountsBalances) GetCoinType() string { + if x != nil { + return x.CoinType + } + return "" +} + +type BkprlistincomeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ConsolidateFees *bool `protobuf:"varint,1,opt,name=consolidate_fees,json=consolidateFees,proto3,oneof" json:"consolidate_fees,omitempty"` + StartTime *uint32 `protobuf:"varint,2,opt,name=start_time,json=startTime,proto3,oneof" json:"start_time,omitempty"` + EndTime *uint32 `protobuf:"varint,3,opt,name=end_time,json=endTime,proto3,oneof" json:"end_time,omitempty"` +} + +func (x *BkprlistincomeRequest) Reset() { + *x = BkprlistincomeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[393] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprlistincomeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprlistincomeRequest) ProtoMessage() {} + +func (x *BkprlistincomeRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[393] + 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 BkprlistincomeRequest.ProtoReflect.Descriptor instead. +func (*BkprlistincomeRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{393} +} + +func (x *BkprlistincomeRequest) GetConsolidateFees() bool { + if x != nil && x.ConsolidateFees != nil { + return *x.ConsolidateFees + } + return false +} + +func (x *BkprlistincomeRequest) GetStartTime() uint32 { + if x != nil && x.StartTime != nil { + return *x.StartTime + } + return 0 +} + +func (x *BkprlistincomeRequest) GetEndTime() uint32 { + if x != nil && x.EndTime != nil { + return *x.EndTime + } + return 0 +} + +type BkprlistincomeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IncomeEvents []*BkprlistincomeIncomeEvents `protobuf:"bytes,1,rep,name=income_events,json=incomeEvents,proto3" json:"income_events,omitempty"` +} + +func (x *BkprlistincomeResponse) Reset() { + *x = BkprlistincomeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[394] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprlistincomeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprlistincomeResponse) ProtoMessage() {} + +func (x *BkprlistincomeResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[394] + 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 BkprlistincomeResponse.ProtoReflect.Descriptor instead. +func (*BkprlistincomeResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{394} +} + +func (x *BkprlistincomeResponse) GetIncomeEvents() []*BkprlistincomeIncomeEvents { + if x != nil { + return x.IncomeEvents + } + return nil +} + +type BkprlistincomeIncomeEvents struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Account string `protobuf:"bytes,1,opt,name=account,proto3" json:"account,omitempty"` + Tag string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"` + CreditMsat *Amount `protobuf:"bytes,3,opt,name=credit_msat,json=creditMsat,proto3" json:"credit_msat,omitempty"` + DebitMsat *Amount `protobuf:"bytes,4,opt,name=debit_msat,json=debitMsat,proto3" json:"debit_msat,omitempty"` + Currency string `protobuf:"bytes,5,opt,name=currency,proto3" json:"currency,omitempty"` + Timestamp uint32 `protobuf:"varint,6,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Description *string `protobuf:"bytes,7,opt,name=description,proto3,oneof" json:"description,omitempty"` + Outpoint *string `protobuf:"bytes,8,opt,name=outpoint,proto3,oneof" json:"outpoint,omitempty"` + Txid []byte `protobuf:"bytes,9,opt,name=txid,proto3,oneof" json:"txid,omitempty"` + PaymentId []byte `protobuf:"bytes,10,opt,name=payment_id,json=paymentId,proto3,oneof" json:"payment_id,omitempty"` +} + +func (x *BkprlistincomeIncomeEvents) Reset() { + *x = BkprlistincomeIncomeEvents{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[395] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BkprlistincomeIncomeEvents) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BkprlistincomeIncomeEvents) ProtoMessage() {} + +func (x *BkprlistincomeIncomeEvents) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[395] + 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 BkprlistincomeIncomeEvents.ProtoReflect.Descriptor instead. +func (*BkprlistincomeIncomeEvents) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{395} +} + +func (x *BkprlistincomeIncomeEvents) GetAccount() string { + if x != nil { + return x.Account + } + return "" +} + +func (x *BkprlistincomeIncomeEvents) GetTag() string { + if x != nil { + return x.Tag + } + return "" +} + +func (x *BkprlistincomeIncomeEvents) GetCreditMsat() *Amount { + if x != nil { + return x.CreditMsat + } + return nil +} + +func (x *BkprlistincomeIncomeEvents) GetDebitMsat() *Amount { + if x != nil { + return x.DebitMsat + } + return nil +} + +func (x *BkprlistincomeIncomeEvents) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *BkprlistincomeIncomeEvents) GetTimestamp() uint32 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *BkprlistincomeIncomeEvents) GetDescription() string { + if x != nil && x.Description != nil { + return *x.Description + } + return "" +} + +func (x *BkprlistincomeIncomeEvents) GetOutpoint() string { + if x != nil && x.Outpoint != nil { + return *x.Outpoint + } + return "" +} + +func (x *BkprlistincomeIncomeEvents) GetTxid() []byte { + if x != nil { + return x.Txid + } + return nil +} + +func (x *BkprlistincomeIncomeEvents) GetPaymentId() []byte { + if x != nil { + return x.PaymentId + } + return nil +} + +type BlacklistruneRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start *uint64 `protobuf:"varint,1,opt,name=start,proto3,oneof" json:"start,omitempty"` + End *uint64 `protobuf:"varint,2,opt,name=end,proto3,oneof" json:"end,omitempty"` +} + +func (x *BlacklistruneRequest) Reset() { + *x = BlacklistruneRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[396] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlacklistruneRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlacklistruneRequest) ProtoMessage() {} + +func (x *BlacklistruneRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[396] + 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 BlacklistruneRequest.ProtoReflect.Descriptor instead. +func (*BlacklistruneRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{396} +} + +func (x *BlacklistruneRequest) GetStart() uint64 { + if x != nil && x.Start != nil { + return *x.Start + } + return 0 +} + +func (x *BlacklistruneRequest) GetEnd() uint64 { + if x != nil && x.End != nil { + return *x.End + } + return 0 +} + +type BlacklistruneResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Blacklist []*BlacklistruneBlacklist `protobuf:"bytes,1,rep,name=blacklist,proto3" json:"blacklist,omitempty"` +} + +func (x *BlacklistruneResponse) Reset() { + *x = BlacklistruneResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[397] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlacklistruneResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlacklistruneResponse) ProtoMessage() {} + +func (x *BlacklistruneResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[397] + 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 BlacklistruneResponse.ProtoReflect.Descriptor instead. +func (*BlacklistruneResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{397} +} + +func (x *BlacklistruneResponse) GetBlacklist() []*BlacklistruneBlacklist { + if x != nil { + return x.Blacklist + } + return nil +} + +type BlacklistruneBlacklist struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Start uint64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` + End uint64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` +} + +func (x *BlacklistruneBlacklist) Reset() { + *x = BlacklistruneBlacklist{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[398] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlacklistruneBlacklist) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlacklistruneBlacklist) ProtoMessage() {} + +func (x *BlacklistruneBlacklist) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[398] + 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 BlacklistruneBlacklist.ProtoReflect.Descriptor instead. +func (*BlacklistruneBlacklist) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{398} +} + +func (x *BlacklistruneBlacklist) GetStart() uint64 { + if x != nil { + return x.Start + } + return 0 +} + +func (x *BlacklistruneBlacklist) GetEnd() uint64 { + if x != nil { + return x.End + } + return 0 +} + +type CheckruneRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rune string `protobuf:"bytes,1,opt,name=rune,proto3" json:"rune,omitempty"` + Nodeid *string `protobuf:"bytes,2,opt,name=nodeid,proto3,oneof" json:"nodeid,omitempty"` + Method *string `protobuf:"bytes,3,opt,name=method,proto3,oneof" json:"method,omitempty"` + Params []string `protobuf:"bytes,4,rep,name=params,proto3" json:"params,omitempty"` +} + +func (x *CheckruneRequest) Reset() { + *x = CheckruneRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[399] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckruneRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckruneRequest) ProtoMessage() {} + +func (x *CheckruneRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[399] + 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 CheckruneRequest.ProtoReflect.Descriptor instead. +func (*CheckruneRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{399} +} + +func (x *CheckruneRequest) GetRune() string { + if x != nil { + return x.Rune + } + return "" +} + +func (x *CheckruneRequest) GetNodeid() string { + if x != nil && x.Nodeid != nil { + return *x.Nodeid + } + return "" +} + +func (x *CheckruneRequest) GetMethod() string { + if x != nil && x.Method != nil { + return *x.Method + } + return "" +} + +func (x *CheckruneRequest) GetParams() []string { + if x != nil { + return x.Params + } + return nil +} + +type CheckruneResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"` +} + +func (x *CheckruneResponse) Reset() { + *x = CheckruneResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[400] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckruneResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckruneResponse) ProtoMessage() {} + +func (x *CheckruneResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[400] + 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 CheckruneResponse.ProtoReflect.Descriptor instead. +func (*CheckruneResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{400} +} + +func (x *CheckruneResponse) GetValid() bool { + if x != nil { + return x.Valid + } + return false +} + +type CreateruneRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rune *string `protobuf:"bytes,1,opt,name=rune,proto3,oneof" json:"rune,omitempty"` + Restrictions []string `protobuf:"bytes,2,rep,name=restrictions,proto3" json:"restrictions,omitempty"` +} + +func (x *CreateruneRequest) Reset() { + *x = CreateruneRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[401] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateruneRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateruneRequest) ProtoMessage() {} + +func (x *CreateruneRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[401] + 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 CreateruneRequest.ProtoReflect.Descriptor instead. +func (*CreateruneRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{401} +} + +func (x *CreateruneRequest) GetRune() string { + if x != nil && x.Rune != nil { + return *x.Rune + } + return "" +} + +func (x *CreateruneRequest) GetRestrictions() []string { + if x != nil { + return x.Restrictions + } + return nil +} + +type CreateruneResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rune string `protobuf:"bytes,1,opt,name=rune,proto3" json:"rune,omitempty"` + UniqueId string `protobuf:"bytes,2,opt,name=unique_id,json=uniqueId,proto3" json:"unique_id,omitempty"` + WarningUnrestrictedRune *string `protobuf:"bytes,3,opt,name=warning_unrestricted_rune,json=warningUnrestrictedRune,proto3,oneof" json:"warning_unrestricted_rune,omitempty"` +} + +func (x *CreateruneResponse) Reset() { + *x = CreateruneResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[402] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateruneResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateruneResponse) ProtoMessage() {} + +func (x *CreateruneResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[402] + 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 CreateruneResponse.ProtoReflect.Descriptor instead. +func (*CreateruneResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{402} +} + +func (x *CreateruneResponse) GetRune() string { + if x != nil { + return x.Rune + } + return "" +} + +func (x *CreateruneResponse) GetUniqueId() string { + if x != nil { + return x.UniqueId + } + return "" +} + +func (x *CreateruneResponse) GetWarningUnrestrictedRune() string { + if x != nil && x.WarningUnrestrictedRune != nil { + return *x.WarningUnrestrictedRune + } + return "" +} + +type ShowrunesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rune *string `protobuf:"bytes,1,opt,name=rune,proto3,oneof" json:"rune,omitempty"` +} + +func (x *ShowrunesRequest) Reset() { + *x = ShowrunesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[403] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowrunesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowrunesRequest) ProtoMessage() {} + +func (x *ShowrunesRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[403] + 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 ShowrunesRequest.ProtoReflect.Descriptor instead. +func (*ShowrunesRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{403} +} + +func (x *ShowrunesRequest) GetRune() string { + if x != nil && x.Rune != nil { + return *x.Rune + } + return "" +} + +type ShowrunesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Runes []*ShowrunesRunes `protobuf:"bytes,1,rep,name=runes,proto3" json:"runes,omitempty"` +} + +func (x *ShowrunesResponse) Reset() { + *x = ShowrunesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[404] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowrunesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowrunesResponse) ProtoMessage() {} + +func (x *ShowrunesResponse) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[404] + 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 ShowrunesResponse.ProtoReflect.Descriptor instead. +func (*ShowrunesResponse) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{404} +} + +func (x *ShowrunesResponse) GetRunes() []*ShowrunesRunes { + if x != nil { + return x.Runes + } + return nil +} + +type ShowrunesRunes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Rune string `protobuf:"bytes,1,opt,name=rune,proto3" json:"rune,omitempty"` + UniqueId string `protobuf:"bytes,2,opt,name=unique_id,json=uniqueId,proto3" json:"unique_id,omitempty"` + Restrictions []*ShowrunesRunesRestrictions `protobuf:"bytes,3,rep,name=restrictions,proto3" json:"restrictions,omitempty"` + RestrictionsAsEnglish string `protobuf:"bytes,4,opt,name=restrictions_as_english,json=restrictionsAsEnglish,proto3" json:"restrictions_as_english,omitempty"` + Stored *bool `protobuf:"varint,5,opt,name=stored,proto3,oneof" json:"stored,omitempty"` + Blacklisted *bool `protobuf:"varint,6,opt,name=blacklisted,proto3,oneof" json:"blacklisted,omitempty"` + LastUsed *float64 `protobuf:"fixed64,7,opt,name=last_used,json=lastUsed,proto3,oneof" json:"last_used,omitempty"` + OurRune *bool `protobuf:"varint,8,opt,name=our_rune,json=ourRune,proto3,oneof" json:"our_rune,omitempty"` +} + +func (x *ShowrunesRunes) Reset() { + *x = ShowrunesRunes{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[405] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowrunesRunes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowrunesRunes) ProtoMessage() {} + +func (x *ShowrunesRunes) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[405] + 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 ShowrunesRunes.ProtoReflect.Descriptor instead. +func (*ShowrunesRunes) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{405} +} + +func (x *ShowrunesRunes) GetRune() string { + if x != nil { + return x.Rune + } + return "" +} + +func (x *ShowrunesRunes) GetUniqueId() string { + if x != nil { + return x.UniqueId + } + return "" +} + +func (x *ShowrunesRunes) GetRestrictions() []*ShowrunesRunesRestrictions { + if x != nil { + return x.Restrictions + } + return nil +} + +func (x *ShowrunesRunes) GetRestrictionsAsEnglish() string { + if x != nil { + return x.RestrictionsAsEnglish + } + return "" +} + +func (x *ShowrunesRunes) GetStored() bool { + if x != nil && x.Stored != nil { + return *x.Stored + } + return false +} + +func (x *ShowrunesRunes) GetBlacklisted() bool { + if x != nil && x.Blacklisted != nil { + return *x.Blacklisted + } + return false +} + +func (x *ShowrunesRunes) GetLastUsed() float64 { + if x != nil && x.LastUsed != nil { + return *x.LastUsed + } + return 0 +} + +func (x *ShowrunesRunes) GetOurRune() bool { + if x != nil && x.OurRune != nil { + return *x.OurRune + } + return false +} + +type ShowrunesRunesRestrictions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Alternatives []*ShowrunesRunesRestrictionsAlternatives `protobuf:"bytes,1,rep,name=alternatives,proto3" json:"alternatives,omitempty"` + English string `protobuf:"bytes,2,opt,name=english,proto3" json:"english,omitempty"` +} + +func (x *ShowrunesRunesRestrictions) Reset() { + *x = ShowrunesRunesRestrictions{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[406] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowrunesRunesRestrictions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowrunesRunesRestrictions) ProtoMessage() {} + +func (x *ShowrunesRunesRestrictions) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[406] + 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 ShowrunesRunesRestrictions.ProtoReflect.Descriptor instead. +func (*ShowrunesRunesRestrictions) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{406} +} + +func (x *ShowrunesRunesRestrictions) GetAlternatives() []*ShowrunesRunesRestrictionsAlternatives { + if x != nil { + return x.Alternatives + } + return nil +} + +func (x *ShowrunesRunesRestrictions) GetEnglish() string { + if x != nil { + return x.English + } + return "" +} + +type ShowrunesRunesRestrictionsAlternatives struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Fieldname string `protobuf:"bytes,1,opt,name=fieldname,proto3" json:"fieldname,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + Condition string `protobuf:"bytes,3,opt,name=condition,proto3" json:"condition,omitempty"` + English string `protobuf:"bytes,4,opt,name=english,proto3" json:"english,omitempty"` +} + +func (x *ShowrunesRunesRestrictionsAlternatives) Reset() { + *x = ShowrunesRunesRestrictionsAlternatives{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[407] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ShowrunesRunesRestrictionsAlternatives) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShowrunesRunesRestrictionsAlternatives) ProtoMessage() {} + +func (x *ShowrunesRunesRestrictionsAlternatives) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[407] + 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 ShowrunesRunesRestrictionsAlternatives.ProtoReflect.Descriptor instead. +func (*ShowrunesRunesRestrictionsAlternatives) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{407} +} + +func (x *ShowrunesRunesRestrictionsAlternatives) GetFieldname() string { + if x != nil { + return x.Fieldname + } + return "" +} + +func (x *ShowrunesRunesRestrictionsAlternatives) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (x *ShowrunesRunesRestrictionsAlternatives) GetCondition() string { + if x != nil { + return x.Condition + } + return "" +} + +func (x *ShowrunesRunesRestrictionsAlternatives) GetEnglish() string { + if x != nil { + return x.English + } + return "" +} + +type StreamBlockAddedRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *StreamBlockAddedRequest) Reset() { + *x = StreamBlockAddedRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[408] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamBlockAddedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamBlockAddedRequest) ProtoMessage() {} + +func (x *StreamBlockAddedRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[408] + 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 StreamBlockAddedRequest.ProtoReflect.Descriptor instead. +func (*StreamBlockAddedRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{408} +} + +type BlockAddedNotification struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hash []byte `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` + Height uint32 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"` +} + +func (x *BlockAddedNotification) Reset() { + *x = BlockAddedNotification{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[409] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BlockAddedNotification) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BlockAddedNotification) ProtoMessage() {} + +func (x *BlockAddedNotification) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[409] + 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 BlockAddedNotification.ProtoReflect.Descriptor instead. +func (*BlockAddedNotification) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{409} +} + +func (x *BlockAddedNotification) GetHash() []byte { + if x != nil { + return x.Hash + } + return nil +} + +func (x *BlockAddedNotification) GetHeight() uint32 { + if x != nil { + return x.Height + } + return 0 +} + +type StreamChannelOpenFailedRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *StreamChannelOpenFailedRequest) Reset() { + *x = StreamChannelOpenFailedRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[410] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamChannelOpenFailedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamChannelOpenFailedRequest) ProtoMessage() {} + +func (x *StreamChannelOpenFailedRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[410] + 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 StreamChannelOpenFailedRequest.ProtoReflect.Descriptor instead. +func (*StreamChannelOpenFailedRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{410} +} + +type ChannelOpenFailedNotification struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelId []byte `protobuf:"bytes,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` +} + +func (x *ChannelOpenFailedNotification) Reset() { + *x = ChannelOpenFailedNotification{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[411] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelOpenFailedNotification) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelOpenFailedNotification) ProtoMessage() {} + +func (x *ChannelOpenFailedNotification) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[411] + 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 ChannelOpenFailedNotification.ProtoReflect.Descriptor instead. +func (*ChannelOpenFailedNotification) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{411} +} + +func (x *ChannelOpenFailedNotification) GetChannelId() []byte { + if x != nil { + return x.ChannelId + } + return nil +} + +type StreamChannelOpenedRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *StreamChannelOpenedRequest) Reset() { + *x = StreamChannelOpenedRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[412] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamChannelOpenedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamChannelOpenedRequest) ProtoMessage() {} + +func (x *StreamChannelOpenedRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[412] + 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 StreamChannelOpenedRequest.ProtoReflect.Descriptor instead. +func (*StreamChannelOpenedRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{412} +} + +type ChannelOpenedNotification struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,1,opt,name=id,proto3,oneof" json:"id,omitempty"` + FundingMsat *Amount `protobuf:"bytes,2,opt,name=funding_msat,json=fundingMsat,proto3" json:"funding_msat,omitempty"` + FundingTxid []byte `protobuf:"bytes,3,opt,name=funding_txid,json=fundingTxid,proto3" json:"funding_txid,omitempty"` + ChannelReady bool `protobuf:"varint,4,opt,name=channel_ready,json=channelReady,proto3" json:"channel_ready,omitempty"` +} + +func (x *ChannelOpenedNotification) Reset() { + *x = ChannelOpenedNotification{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[413] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelOpenedNotification) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelOpenedNotification) ProtoMessage() {} + +func (x *ChannelOpenedNotification) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[413] + 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 ChannelOpenedNotification.ProtoReflect.Descriptor instead. +func (*ChannelOpenedNotification) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{413} +} + +func (x *ChannelOpenedNotification) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *ChannelOpenedNotification) GetFundingMsat() *Amount { + if x != nil { + return x.FundingMsat + } + return nil +} + +func (x *ChannelOpenedNotification) GetFundingTxid() []byte { + if x != nil { + return x.FundingTxid + } + return nil +} + +func (x *ChannelOpenedNotification) GetChannelReady() bool { + if x != nil { + return x.ChannelReady + } + return false +} + +type StreamConnectRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *StreamConnectRequest) Reset() { + *x = StreamConnectRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[414] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamConnectRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamConnectRequest) ProtoMessage() {} + +func (x *StreamConnectRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[414] + 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 StreamConnectRequest.ProtoReflect.Descriptor instead. +func (*StreamConnectRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{414} +} + +type PeerConnectNotification struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Direction PeerConnectNotification_PeerConnectDirection `protobuf:"varint,2,opt,name=direction,proto3,enum=cln.PeerConnectNotification_PeerConnectDirection" json:"direction,omitempty"` + Address *PeerConnectAddress `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` +} + +func (x *PeerConnectNotification) Reset() { + *x = PeerConnectNotification{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[415] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PeerConnectNotification) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PeerConnectNotification) ProtoMessage() {} + +func (x *PeerConnectNotification) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[415] + 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 PeerConnectNotification.ProtoReflect.Descriptor instead. +func (*PeerConnectNotification) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{415} +} + +func (x *PeerConnectNotification) GetId() []byte { + if x != nil { + return x.Id + } + return nil +} + +func (x *PeerConnectNotification) GetDirection() PeerConnectNotification_PeerConnectDirection { + if x != nil { + return x.Direction + } + return PeerConnectNotification_IN +} + +func (x *PeerConnectNotification) GetAddress() *PeerConnectAddress { + if x != nil { + return x.Address + } + return nil +} + +type PeerConnectAddress struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ItemType PeerConnectAddress_PeerConnectAddressType `protobuf:"varint,1,opt,name=item_type,json=itemType,proto3,enum=cln.PeerConnectAddress_PeerConnectAddressType" json:"item_type,omitempty"` + Socket *string `protobuf:"bytes,2,opt,name=socket,proto3,oneof" json:"socket,omitempty"` + Address *string `protobuf:"bytes,3,opt,name=address,proto3,oneof" json:"address,omitempty"` + Port *uint32 `protobuf:"varint,4,opt,name=port,proto3,oneof" json:"port,omitempty"` +} + +func (x *PeerConnectAddress) Reset() { + *x = PeerConnectAddress{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[416] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PeerConnectAddress) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PeerConnectAddress) ProtoMessage() {} + +func (x *PeerConnectAddress) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[416] + 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 PeerConnectAddress.ProtoReflect.Descriptor instead. +func (*PeerConnectAddress) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{416} +} + +func (x *PeerConnectAddress) GetItemType() PeerConnectAddress_PeerConnectAddressType { + if x != nil { + return x.ItemType + } + return PeerConnectAddress_LOCAL_SOCKET +} + +func (x *PeerConnectAddress) GetSocket() string { + if x != nil && x.Socket != nil { + return *x.Socket + } + return "" +} + +func (x *PeerConnectAddress) GetAddress() string { + if x != nil && x.Address != nil { + return *x.Address + } + return "" +} + +func (x *PeerConnectAddress) GetPort() uint32 { + if x != nil && x.Port != nil { + return *x.Port + } + return 0 +} + +type StreamCustomMsgRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *StreamCustomMsgRequest) Reset() { + *x = StreamCustomMsgRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[417] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StreamCustomMsgRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StreamCustomMsgRequest) ProtoMessage() {} + +func (x *StreamCustomMsgRequest) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[417] + 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 StreamCustomMsgRequest.ProtoReflect.Descriptor instead. +func (*StreamCustomMsgRequest) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{417} +} + +type CustomMsgNotification struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PeerId []byte `protobuf:"bytes,1,opt,name=peer_id,json=peerId,proto3" json:"peer_id,omitempty"` + Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` +} + +func (x *CustomMsgNotification) Reset() { + *x = CustomMsgNotification{} + if protoimpl.UnsafeEnabled { + mi := &file_node_proto_msgTypes[418] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CustomMsgNotification) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CustomMsgNotification) ProtoMessage() {} + +func (x *CustomMsgNotification) ProtoReflect() protoreflect.Message { + mi := &file_node_proto_msgTypes[418] + 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 CustomMsgNotification.ProtoReflect.Descriptor instead. +func (*CustomMsgNotification) Descriptor() ([]byte, []int) { + return file_node_proto_rawDescGZIP(), []int{418} +} + +func (x *CustomMsgNotification) GetPeerId() []byte { + if x != nil { + return x.PeerId + } + return nil +} + +func (x *CustomMsgNotification) GetPayload() []byte { + if x != nil { + return x.Payload + } + return nil +} + +var File_node_proto protoreflect.FileDescriptor + +var file_node_proto_rawDesc = []byte{ + 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x63, 0x6c, + 0x6e, 0x1a, 0x10, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x10, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa4, 0x06, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, + 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, + 0x6d, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, + 0x75, 0x6d, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x75, 0x6d, 0x5f, 0x70, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x75, 0x6d, + 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6e, 0x75, 0x6d, 0x49, 0x6e, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x67, 0x68, 0x74, + 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x12, 0x40, 0x0a, 0x0c, + 0x6f, 0x75, 0x72, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, + 0x4f, 0x75, 0x72, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x48, 0x01, 0x52, 0x0b, + 0x6f, 0x75, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x3b, 0x0a, 0x13, 0x66, 0x65, + 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x11, 0x66, 0x65, 0x65, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x2d, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2d, 0x0a, 0x07, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, @@ -18383,7 +34494,7 @@ var file_node_proto_rawDesc = []byte{ 0x34, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x36, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x4f, 0x52, 0x56, 0x32, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x4f, 0x52, 0x56, 0x33, 0x10, 0x04, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, - 0xab, 0x02, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x69, 0x6e, 0x64, 0x69, + 0xd6, 0x02, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x43, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x2e, 0x47, 0x65, 0x74, 0x69, 0x6e, @@ -18393,46 +34504,52 @@ var file_node_proto_rawDesc = []byte{ 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x88, 0x01, 0x01, 0x22, 0x5f, 0x0a, 0x12, - 0x47, 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x53, 0x4f, 0x43, 0x4b, - 0x45, 0x54, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, - 0x54, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x34, 0x10, 0x01, 0x12, 0x08, 0x0a, + 0x02, 0x52, 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, + 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x07, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x5f, 0x0a, 0x12, 0x47, + 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x53, 0x4f, 0x43, 0x4b, 0x45, + 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x34, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x36, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x4f, 0x52, 0x56, 0x32, - 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x4f, 0x52, 0x56, 0x33, 0x10, 0x04, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, - 0x72, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x53, 0x0a, - 0x10, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, - 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x88, 0x01, - 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x22, 0x3e, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x52, 0x05, 0x70, 0x65, 0x65, - 0x72, 0x73, 0x22, 0xd8, 0x02, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, - 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x03, 0x6c, - 0x6f, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x4c, 0x6f, 0x67, - 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x37, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x07, 0x6e, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1f, - 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, - 0x48, 0x02, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0xb4, 0x03, + 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x4f, 0x52, 0x56, 0x33, 0x10, 0x04, 0x12, 0x0d, 0x0a, + 0x09, 0x57, 0x45, 0x42, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x05, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x73, 0x75, 0x62, 0x74, 0x79, 0x70, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, + 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, + 0x72, 0x73, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x88, 0x01, 0x01, 0x22, 0x45, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, + 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4f, 0x10, 0x00, 0x12, 0x09, 0x0a, + 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, + 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x55, 0x53, 0x55, 0x41, 0x4c, 0x10, 0x03, 0x12, + 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x04, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, + 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x3e, 0x0a, 0x11, 0x4c, + 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x29, 0x0a, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, + 0x65, 0x65, 0x72, 0x73, 0x52, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x22, 0x9f, 0x02, 0x0a, 0x0e, + 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, + 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x03, + 0x6c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x4c, 0x6f, + 0x67, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x61, 0x64, 0x64, + 0x72, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x61, 0x64, 0x64, 0x72, + 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x00, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x41, 0x64, 0x64, 0x72, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, + 0x0b, 0x6e, 0x75, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x88, 0x01, 0x01, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xbf, 0x03, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x4c, 0x6f, 0x67, 0x12, 0x49, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, @@ -18449,1782 +34566,1848 @@ var file_node_proto_rawDesc = []byte{ 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x04, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x05, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x22, 0x69, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x22, 0x74, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x4b, 0x49, 0x50, 0x50, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x52, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x55, 0x53, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4f, 0x5f, 0x49, 0x4e, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4f, 0x5f, 0x4f, 0x55, - 0x54, 0x10, 0x06, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x6b, 0x69, 0x70, - 0x70, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6c, 0x6f, 0x67, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x22, 0xc7, 0x1d, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, - 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, - 0x4d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, - 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x26, - 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x54, - 0x78, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x48, 0x01, 0x52, 0x07, 0x66, - 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x05, 0x52, - 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x2a, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x75, 0x74, 0x6e, 0x75, - 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x4f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x46, - 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x08, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x46, - 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x0a, 0x52, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x46, 0x65, 0x65, 0x53, 0x74, 0x65, 0x70, 0x88, - 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x08, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0d, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, - 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x49, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6c, 0x69, - 0x67, 0x68, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0b, 0x52, 0x07, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x6f, - 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x0f, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x0c, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x53, 0x69, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x06, - 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x64, 0x65, 0x48, 0x0d, - 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x08, 0x66, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x66, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x07, 0x66, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x0e, 0x52, 0x07, - 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0a, 0x74, 0x6f, - 0x5f, 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x0f, 0x52, 0x08, 0x74, - 0x6f, 0x55, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x0e, 0x6d, 0x69, - 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x15, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, - 0x10, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x55, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x35, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, 0x6d, - 0x73, 0x61, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x11, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x55, - 0x73, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x12, 0x52, 0x09, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x0d, 0x66, 0x65, 0x65, - 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x13, 0x52, - 0x0b, 0x66, 0x65, 0x65, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x43, 0x0a, 0x1b, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x18, 0x19, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x14, 0x52, 0x19, 0x66, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x6f, - 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x0f, 0x64, 0x75, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x15, 0x52, 0x0d, 0x64, 0x75, - 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x44, - 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x68, 0x74, 0x6c, 0x63, - 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x16, 0x52, 0x12, 0x6d, - 0x61, 0x78, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x4d, 0x73, 0x61, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x12, 0x74, 0x68, 0x65, 0x69, 0x72, 0x5f, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x17, 0x52, - 0x10, 0x74, 0x68, 0x65, 0x69, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x73, 0x61, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x6f, 0x75, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x18, 0x52, 0x0e, 0x6f, - 0x75, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x37, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x73, - 0x61, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x19, 0x52, 0x0d, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x61, 0x62, - 0x6c, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x0f, 0x72, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x1f, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, - 0x1a, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x73, 0x61, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x14, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, - 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x20, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, - 0x1b, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, - 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x69, 0x6d, - 0x75, 0x6d, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x18, 0x30, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x48, 0x1c, 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x74, - 0x6c, 0x63, 0x4f, 0x75, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x15, - 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6f, 0x75, 0x74, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x1d, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x69, - 0x6d, 0x75, 0x6d, 0x48, 0x74, 0x6c, 0x63, 0x4f, 0x75, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x32, 0x0a, 0x13, 0x74, 0x68, 0x65, 0x69, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, - 0x6c, 0x66, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x1e, - 0x52, 0x10, 0x74, 0x68, 0x65, 0x69, 0x72, 0x54, 0x6f, 0x53, 0x65, 0x6c, 0x66, 0x44, 0x65, 0x6c, - 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x11, 0x6f, 0x75, 0x72, 0x5f, 0x74, 0x6f, 0x5f, - 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x1f, 0x52, 0x0e, 0x6f, 0x75, 0x72, 0x54, 0x6f, 0x53, 0x65, 0x6c, 0x66, 0x44, 0x65, 0x6c, - 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x63, - 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x20, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, - 0x48, 0x74, 0x6c, 0x63, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, - 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x48, 0x21, 0x52, 0x05, 0x61, 0x6c, 0x69, - 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x25, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, - 0x13, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6f, 0x66, 0x66, - 0x65, 0x72, 0x65, 0x64, 0x18, 0x26, 0x20, 0x01, 0x28, 0x04, 0x48, 0x22, 0x52, 0x11, 0x69, 0x6e, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x38, 0x0a, 0x0f, 0x69, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x23, 0x52, 0x0d, 0x69, 0x6e, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, - 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x75, 0x6c, 0x66, - 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x28, 0x20, 0x01, 0x28, 0x04, 0x48, 0x24, 0x52, 0x13, 0x69, - 0x6e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, - 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x11, 0x69, 0x6e, 0x5f, 0x66, 0x75, 0x6c, 0x66, - 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x25, 0x52, - 0x0f, 0x69, 0x6e, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x14, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x18, 0x2a, 0x20, 0x01, 0x28, - 0x04, 0x48, 0x26, 0x52, 0x12, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x6f, 0x75, - 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x2b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x48, 0x27, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x4d, - 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x16, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, - 0x18, 0x2c, 0x20, 0x01, 0x28, 0x04, 0x48, 0x28, 0x52, 0x14, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x3e, 0x0a, 0x12, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, - 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x29, 0x52, 0x10, 0x6f, 0x75, - 0x74, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x36, 0x0a, 0x05, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x2e, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, - 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x48, 0x74, 0x6c, - 0x63, 0x73, 0x52, 0x05, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x12, 0x27, 0x0a, 0x0d, 0x63, 0x6c, 0x6f, - 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x2a, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x88, - 0x01, 0x01, 0x22, 0xe0, 0x02, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, - 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x50, 0x45, 0x4e, 0x49, 0x4e, 0x47, 0x44, 0x10, 0x00, - 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x44, 0x5f, 0x41, 0x57, 0x41, - 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x13, - 0x0a, 0x0f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, - 0x4c, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x44, 0x5f, - 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, - 0x18, 0x0a, 0x14, 0x43, 0x4c, 0x4f, 0x53, 0x49, 0x4e, 0x47, 0x44, 0x5f, 0x53, 0x49, 0x47, 0x45, - 0x58, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4c, 0x4f, - 0x53, 0x49, 0x4e, 0x47, 0x44, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, - 0x12, 0x17, 0x0a, 0x13, 0x41, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x49, - 0x4c, 0x41, 0x54, 0x45, 0x52, 0x41, 0x4c, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, - 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x45, 0x4e, 0x10, - 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x4e, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10, 0x08, 0x12, 0x17, - 0x0a, 0x13, 0x44, 0x55, 0x41, 0x4c, 0x4f, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x4e, - 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x09, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x55, 0x41, 0x4c, 0x4f, - 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x41, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, - 0x43, 0x4b, 0x49, 0x4e, 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x55, 0x41, 0x4c, 0x4f, 0x50, - 0x45, 0x4e, 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, - 0x45, 0x44, 0x10, 0x0b, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x55, 0x41, 0x4c, 0x4f, 0x50, 0x45, 0x4e, - 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, - 0x41, 0x44, 0x59, 0x10, 0x0c, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, - 0x68, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x13, 0x0a, 0x11, - 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, - 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, - 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x75, - 0x74, 0x6e, 0x75, 0x6d, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, - 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x5f, - 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x11, - 0x0a, 0x0f, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x73, - 0x61, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, - 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, - 0x68, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x64, 0x75, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x74, 0x68, 0x65, 0x69, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6f, 0x75, 0x72, - 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x11, 0x0a, - 0x0f, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x6d, 0x73, 0x61, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, - 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x18, 0x0a, - 0x16, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6f, - 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6d, 0x61, 0x78, 0x69, - 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x74, 0x68, 0x65, 0x69, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6f, 0x75, - 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, - 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, - 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x5f, - 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x18, 0x0a, 0x16, - 0x5f, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x75, 0x6c, - 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x75, - 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x17, 0x0a, 0x15, - 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6f, 0x66, - 0x66, 0x65, 0x72, 0x65, 0x64, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x66, - 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6f, - 0x75, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x75, 0x6c, 0x66, - 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x75, - 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x22, 0x4b, - 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x70, 0x65, 0x72, 0x6b, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, - 0x70, 0x65, 0x72, 0x6b, 0x77, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x65, 0x72, 0x6b, 0x62, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x65, 0x72, 0x6b, 0x62, 0x22, 0xd5, 0x02, 0x0a, 0x1e, - 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x21, - 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, - 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x75, 0x74, - 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x4f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x12, 0x39, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x35, 0x0a, - 0x10, 0x6f, 0x75, 0x72, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x6f, 0x75, 0x72, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x4d, 0x73, 0x61, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x48, 0x00, 0x52, 0x0c, 0x73, - 0x70, 0x6c, 0x69, 0x63, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, - 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x54, 0x78, 0x69, - 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x22, 0xe2, 0x02, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, - 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x46, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x31, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x5f, - 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, - 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x65, - 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x10, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x12, - 0x37, 0x0a, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x5f, - 0x6d, 0x73, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, - 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, - 0x75, 0x6e, 0x64, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x34, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, - 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x0b, - 0x66, 0x65, 0x65, 0x50, 0x61, 0x69, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x34, - 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x63, 0x76, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x48, 0x02, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x52, 0x63, 0x76, 0x64, 0x4d, 0x73, 0x61, - 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x5f, - 0x6d, 0x73, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x69, - 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, - 0x63, 0x76, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x22, 0x6a, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, - 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x88, - 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x22, 0xbe, 0x03, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, - 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x48, - 0x74, 0x6c, 0x63, 0x73, 0x12, 0x63, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, - 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x48, 0x74, 0x6c, 0x63, 0x73, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, - 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, - 0x73, 0x68, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x69, 0x6d, - 0x6d, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x54, 0x72, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x48, - 0x74, 0x6c, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, - 0x37, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x50, 0x65, 0x65, 0x72, - 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x44, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, 0x00, 0x12, - 0x07, 0x0a, 0x03, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x37, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, - 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x70, 0x65, - 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x05, 0x73, 0x70, 0x65, 0x6e, - 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x22, 0x78, - 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, - 0x75, 0x6e, 0x64, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x52, 0x07, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x08, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xe1, 0x03, 0x0a, 0x10, 0x4c, 0x69, 0x73, - 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, - 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x72, 0x65, - 0x64, 0x65, 0x65, 0x6d, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, - 0x48, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, - 0x6e, 0x64, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, + 0x54, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x07, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x42, 0x07, + 0x0a, 0x05, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6c, 0x6f, 0x67, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, + 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, + 0x37, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x00, 0x52, 0x05, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x22, 0x78, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, + 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, + 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x4f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x73, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x32, + 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x22, 0xa8, 0x04, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, + 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, + 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, + 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x70, 0x75, 0x62, 0x6b, 0x65, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x70, + 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0c, 0x72, 0x65, + 0x64, 0x65, 0x65, 0x6d, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x4f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x4f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x54, 0x6f, 0x42, + 0x6c, 0x6f, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x22, 0x51, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0b, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x22, 0x51, 0x0a, 0x16, - 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x46, - 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4e, 0x46, 0x49, - 0x52, 0x4d, 0x45, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x45, 0x4e, 0x54, 0x10, - 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4d, 0x4d, 0x41, 0x54, 0x55, 0x52, 0x45, 0x10, 0x03, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x72, 0x65, 0x64, 0x65, 0x65, 0x6d, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x97, 0x03, 0x0a, - 0x11, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x0f, 0x6f, - 0x75, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x52, 0x0d, 0x6f, 0x75, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, - 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x21, - 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, - 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x73, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, + 0x49, 0x4d, 0x4d, 0x41, 0x54, 0x55, 0x52, 0x45, 0x10, 0x03, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x72, 0x65, 0x64, 0x65, 0x65, + 0x6d, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x97, 0x03, + 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x0f, + 0x6f, 0x75, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x0d, 0x6f, 0x75, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, + 0x74, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, + 0x21, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, + 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x0e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, - 0x64, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x22, 0xbb, 0x03, 0x0a, 0x0e, 0x53, 0x65, 0x6e, 0x64, 0x70, - 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, - 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, - 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x48, 0x01, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, - 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x04, 0x52, 0x06, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, + 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x22, 0xb7, 0x04, 0x0a, 0x0e, 0x53, 0x65, 0x6e, 0x64, + 0x70, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x05, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, + 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x2a, + 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x02, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x05, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, - 0x48, 0x05, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x69, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x69, 0x64, 0x22, 0xe5, 0x06, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x00, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, - 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x0c, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x07, - 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, - 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3a, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x03, 0x52, 0x0a, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0c, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x10, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x4d, 0x73, - 0x61, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x06, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, - 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, - 0x6c, 0x74, 0x31, 0x31, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, 0x62, 0x6f, - 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, - 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, - 0x32, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0a, - 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x88, 0x01, 0x01, 0x22, 0x2a, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, - 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x42, - 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, - 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x13, 0x0a, 0x11, 0x5f, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x7c, 0x0a, 0x0c, - 0x53, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x0b, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, - 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xb8, 0x01, 0x0a, 0x13, 0x4c, - 0x69, 0x73, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x01, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4d, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, - 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x22, 0x80, 0x05, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, - 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x61, - 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, - 0x69, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x62, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, - 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x12, 0x2a, 0x0a, 0x11, - 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, - 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x50, 0x65, 0x72, 0x4d, - 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, - 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x37, - 0x0a, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, - 0x73, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x69, 0x6e, 0x69, - 0x6d, 0x75, 0x6d, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x3c, 0x0a, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, - 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, - 0x00, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x73, - 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, - 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x22, 0x2c, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x67, 0x6f, - 0x73, 0x73, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x67, 0x6f, 0x73, 0x73, - 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x17, 0x41, - 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, - 0x64, 0x5f, 0x62, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x64, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x79, - 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x48, 0x01, 0x52, 0x0c, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, - 0x5f, 0x62, 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xa3, 0x01, 0x0a, 0x18, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, - 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0a, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x42, 0x79, 0x88, 0x01, 0x01, - 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x0c, 0x63, 0x79, 0x63, 0x6c, 0x65, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x79, - 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0x6d, 0x0a, 0x13, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x7a, 0x62, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x7a, 0x62, 0x61, - 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0x4a, 0x0a, 0x14, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x16, - 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, - 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0xad, 0x03, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, 0x65, + 0x48, 0x06, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x69, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x07, + 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, + 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x69, 0x64, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xe5, 0x06, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, + 0x6e, 0x64, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, + 0x6e, 0x64, 0x70, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, + 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, + 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x02, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x35, 0x0a, 0x10, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x4d, + 0x73, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, + 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x06, 0x62, + 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, + 0x31, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, + 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x48, + 0x07, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x48, 0x09, 0x52, 0x0b, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x0a, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0b, 0x52, + 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, + 0x22, 0x2a, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0c, + 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, + 0x74, 0x31, 0x32, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x7c, 0x0a, 0x0c, 0x53, 0x65, 0x6e, + 0x64, 0x70, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, + 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x22, 0xb8, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2d, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, + 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, + 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, + 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x4d, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x22, 0x80, 0x05, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x4d, 0x73, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, + 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, + 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x61, 0x73, + 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x62, 0x61, 0x73, 0x65, 0x5f, + 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x62, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x4d, + 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x12, 0x2a, 0x0a, 0x11, 0x66, + 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x50, 0x65, 0x72, 0x4d, 0x69, + 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x37, 0x0a, + 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, + 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x69, 0x6e, 0x69, 0x6d, + 0x75, 0x6d, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x3c, 0x0a, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, + 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, + 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x73, 0x61, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x14, + 0x0a, 0x12, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x22, 0x2c, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x67, 0x6f, 0x73, 0x73, 0x69, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x22, 0x13, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x70, + 0x73, 0x62, 0x74, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x25, 0x0a, 0x07, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, + 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x08, 0x6c, 0x6f, 0x63, + 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x69, 0x6e, 0x69, 0x74, + 0x69, 0x61, 0x6c, 0x70, 0x73, 0x62, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x70, 0x73, 0x62, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x74, + 0x69, 0x6d, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x70, + 0x73, 0x62, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x79, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x70, 0x73, 0x62, 0x74, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x73, 0x62, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x62, 0x74, + 0x12, 0x34, 0x0a, 0x16, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x64, + 0x64, 0x65, 0x64, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x14, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x41, 0x64, 0x64, 0x65, 0x64, + 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x22, 0x88, + 0x01, 0x0a, 0x17, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x76, 0x6f, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, + 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x28, + 0x0a, 0x0d, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x0c, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x53, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x79, 0x63, 0x6c, + 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, 0xa3, 0x01, 0x0a, 0x18, 0x41, 0x75, + 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x12, 0x22, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x42, + 0x79, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x0c, 0x63, + 0x79, 0x63, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x42, 0x10, 0x0a, + 0x0e, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x22, + 0x5f, 0x0a, 0x14, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x6f, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x10, + 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x61, 0x67, 0x65, + 0x22, 0x52, 0x0a, 0x15, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x6f, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x61, 0x75, 0x74, + 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x6f, 0x6e, 0x63, 0x65, + 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x63, + 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x8e, 0x05, 0x0a, 0x16, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, + 0x61, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x12, + 0x5f, 0x0a, 0x11, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x41, 0x75, + 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, + 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x48, 0x00, 0x52, 0x11, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x65, 0x64, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x56, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, + 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x73, 0x48, 0x01, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x66, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x53, 0x0a, 0x0d, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x65, 0x64, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x6f, + 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, 0x75, 0x63, 0x63, + 0x65, 0x65, 0x64, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x48, 0x02, 0x52, 0x0d, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, + 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, + 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x48, 0x03, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x0c, 0x70, 0x61, 0x69, + 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x6f, + 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x50, 0x61, 0x69, 0x64, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x48, 0x04, 0x52, 0x0c, 0x70, 0x61, 0x69, 0x64, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x59, 0x0a, 0x0f, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, + 0x6c, 0x65, 0x61, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, + 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, + 0x48, 0x05, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, + 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x65, 0x64, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x42, 0x11, 0x0a, 0x0f, + 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x42, + 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x70, 0x61, 0x79, + 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, + 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x69, 0x6e, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x73, 0x22, 0x61, 0x0a, 0x27, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, + 0x61, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, + 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, + 0x6e, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x22, 0x5e, 0x0a, 0x24, 0x41, 0x75, 0x74, 0x6f, + 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, + 0x61, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, + 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, + 0x6e, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x22, 0x5d, 0x0a, 0x23, 0x41, 0x75, 0x74, 0x6f, + 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, + 0x61, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x63, + 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, 0x6e, + 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x22, 0x5a, 0x0a, 0x20, 0x41, 0x75, 0x74, 0x6f, 0x63, + 0x6c, 0x65, 0x61, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, + 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, + 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x6c, + 0x65, 0x61, 0x6e, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x63, 0x6c, 0x65, 0x61, 0x6e, + 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, 0x6e, 0x63, 0x6c, 0x65, 0x61, + 0x6e, 0x65, 0x64, 0x22, 0x5c, 0x0a, 0x22, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, + 0x6f, 0x6e, 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x50, 0x61, 0x69, + 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x65, + 0x61, 0x6e, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x6c, 0x65, 0x61, + 0x6e, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, 0x6e, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, + 0x64, 0x22, 0x5f, 0x0a, 0x25, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x6f, 0x6e, + 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, + 0x65, 0x61, 0x6e, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x6c, 0x65, + 0x61, 0x6e, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x75, 0x6e, 0x63, 0x6c, 0x65, 0x61, 0x6e, + 0x65, 0x64, 0x22, 0x62, 0x0a, 0x16, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x09, + 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, + 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x75, 0x62, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x22, 0x56, 0x0a, 0x17, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, + 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, + 0x6c, 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, + 0x65, 0x61, 0x6e, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x9c, + 0x05, 0x0a, 0x18, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x12, 0x61, 0x0a, 0x11, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, + 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x75, 0x74, 0x6f, + 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x48, 0x00, 0x52, 0x11, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, + 0x64, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x58, + 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, + 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x75, 0x74, 0x6f, + 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x73, 0x48, 0x01, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x66, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x55, 0x0a, 0x0d, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x65, 0x64, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, 0x75, + 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x48, 0x02, 0x52, 0x0d, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x4c, 0x0a, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, + 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, + 0x61, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x48, 0x03, 0x52, 0x0a, + 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, + 0x0c, 0x70, 0x61, 0x69, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, + 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, + 0x61, 0x6e, 0x50, 0x61, 0x69, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x48, 0x04, + 0x52, 0x0c, 0x70, 0x61, 0x69, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x5b, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x69, 0x6e, 0x76, 0x6f, + 0x69, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x48, 0x05, 0x52, 0x0f, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x65, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x14, + 0x0a, 0x12, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x66, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x66, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x65, 0x64, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x66, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x69, + 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x22, 0x7e, 0x0a, + 0x29, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, + 0x65, 0x64, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x12, 0x15, + 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x03, 0x61, + 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x61, 0x67, 0x65, 0x22, 0x7b, 0x0a, + 0x26, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x66, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x12, 0x15, 0x0a, 0x03, 0x61, + 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x03, 0x61, 0x67, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x61, 0x67, 0x65, 0x22, 0x7a, 0x0a, 0x25, 0x41, 0x75, + 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x75, 0x74, + 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x70, + 0x61, 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x12, 0x15, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x03, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, + 0x0a, 0x04, 0x5f, 0x61, 0x67, 0x65, 0x22, 0x77, 0x0a, 0x22, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, + 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, + 0x61, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x70, 0x61, 0x79, 0x73, 0x12, 0x18, 0x0a, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, + 0x12, 0x15, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, + 0x03, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x61, 0x67, 0x65, 0x22, + 0x79, 0x0a, 0x24, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x50, 0x61, 0x69, 0x64, 0x69, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x12, 0x15, 0x0a, 0x03, 0x61, + 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x03, 0x61, 0x67, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x61, 0x67, 0x65, 0x22, 0x7c, 0x0a, 0x27, 0x41, 0x75, + 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x75, 0x74, + 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x69, 0x6e, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x65, 0x64, 0x12, 0x15, 0x0a, 0x03, 0x61, 0x67, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x03, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, + 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x61, 0x67, 0x65, 0x22, 0x6d, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x7a, 0x62, 0x61, + 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x7a, 0x62, 0x61, 0x73, 0x65, 0x12, + 0x1b, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, + 0x00, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0x4a, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x75, 0x62, + 0x6b, 0x65, 0x79, 0x22, 0xad, 0x03, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x11, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x00, 0x52, 0x11, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x35, + 0x0a, 0x14, 0x66, 0x65, 0x65, 0x5f, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x12, + 0x66, 0x65, 0x65, 0x4e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, + 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x0d, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x5f, 0x66, + 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x03, 0x52, 0x0c, 0x77, + 0x72, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x31, + 0x0a, 0x12, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x10, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x28, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x52, 0x08, 0x66, 0x65, 0x65, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, + 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x77, + 0x72, 0x6f, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x64, 0x22, 0xbf, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, + 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6c, 0x6f, + 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x13, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x02, + 0x74, 0x78, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x88, 0x01, 0x01, 0x22, 0x35, + 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4d, + 0x55, 0x54, 0x55, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4e, 0x49, 0x4c, 0x41, + 0x54, 0x45, 0x52, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x4e, 0x4f, 0x50, 0x45, + 0x4e, 0x45, 0x44, 0x10, 0x02, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x74, 0x78, 0x42, 0x07, 0x0a, 0x05, + 0x5f, 0x74, 0x78, 0x69, 0x64, 0x22, 0x64, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x31, 0x0a, 0x11, 0x75, 0x6e, 0x69, 0x6c, 0x61, - 0x74, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x00, 0x52, 0x11, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, - 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x35, 0x0a, 0x14, 0x66, 0x65, 0x65, 0x5f, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x02, 0x52, 0x12, 0x66, 0x65, 0x65, 0x4e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x0d, 0x77, 0x72, 0x6f, 0x6e, - 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x03, - 0x52, 0x0c, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, - 0x01, 0x12, 0x31, 0x0a, 0x12, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, - 0x10, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x52, 0x08, 0x66, 0x65, 0x65, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x14, - 0x0a, 0x12, 0x5f, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6e, 0x65, 0x67, - 0x6f, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x10, 0x0a, - 0x0e, 0x5f, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, - 0x15, 0x0a, 0x13, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, - 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x22, 0xbf, 0x01, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x73, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x00, 0x52, 0x02, 0x74, 0x78, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x22, 0x35, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, - 0x0a, 0x06, 0x4d, 0x55, 0x54, 0x55, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x55, 0x4e, - 0x49, 0x4c, 0x41, 0x54, 0x45, 0x52, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x4e, - 0x4f, 0x50, 0x45, 0x4e, 0x45, 0x44, 0x10, 0x02, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x74, 0x78, 0x42, - 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x22, 0x64, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x68, 0x6f, - 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x01, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xd6, - 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x43, - 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x25, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, - 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x22, 0x23, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x07, - 0x0a, 0x03, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x22, 0x9c, 0x02, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x09, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x1b, 0x0a, 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x70, - 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x72, - 0x74, 0x88, 0x01, 0x01, 0x22, 0x50, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x4f, - 0x43, 0x41, 0x4c, 0x5f, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, - 0x49, 0x50, 0x56, 0x34, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x36, 0x10, 0x02, - 0x12, 0x09, 0x0a, 0x05, 0x54, 0x4f, 0x52, 0x56, 0x32, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x54, - 0x4f, 0x52, 0x56, 0x33, 0x10, 0x04, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, - 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x07, 0x0a, - 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x66, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0xc0, - 0x07, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1b, - 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, - 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x62, - 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x31, 0x0a, 0x0b, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x02, 0x52, - 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x46, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, - 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, - 0x01, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x08, 0x70, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x14, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x05, - 0x52, 0x12, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x61, 0x69, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x06, 0x70, 0x61, 0x69, 0x64, - 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x0d, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, - 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, - 0x50, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x07, 0x52, - 0x0c, 0x70, 0x61, 0x69, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x08, 0x52, 0x0f, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x29, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x69, - 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, - 0x50, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, 0x22, 0x38, 0x0a, 0x13, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, - 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x4e, - 0x50, 0x41, 0x49, 0x44, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, - 0x31, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0c, - 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x17, 0x0a, 0x15, - 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x61, - 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, - 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, - 0x65, 0x22, 0x66, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x50, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, - 0x17, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, - 0x04, 0x74, 0x78, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x6e, - 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x6e, - 0x75, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x22, 0xd8, 0x02, 0x0a, 0x10, 0x44, 0x61, - 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, - 0x03, 0x68, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x03, 0x68, 0x65, - 0x78, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x48, 0x02, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x70, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x55, 0x53, 0x54, - 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x55, 0x53, - 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, - 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, - 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x55, 0x53, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x45, 0x4e, - 0x44, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x52, - 0x5f, 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x10, 0x04, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x68, 0x65, 0x78, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa0, 0x01, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0a, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x15, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, - 0x52, 0x03, 0x68, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x68, 0x65, 0x78, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x61, 0x74, 0x61, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x7b, 0x0a, 0x16, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x75, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0e, 0x64, 0x61, - 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x75, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x22, 0x73, 0x0a, - 0x1c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x44, - 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x15, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x0a, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6b, - 0x65, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x6f, 0x6e, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x68, 0x6f, 0x70, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x48, 0x6f, 0x70, 0x73, 0x52, 0x04, 0x68, - 0x6f, 0x70, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x09, 0x6f, - 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x52, 0x0a, 0x13, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x05, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, - 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x22, 0x43, - 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x48, 0x6f, 0x70, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 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, 0x22, 0x5b, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0a, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, - 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xa3, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0a, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x00, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x15, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, - 0x03, 0x68, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x68, 0x65, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x57, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x65, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0d, 0x6d, 0x61, 0x78, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, - 0x0e, 0x5f, 0x6d, 0x61, 0x78, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x74, 0x69, 0x6d, 0x65, 0x22, - 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x69, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcf, 0x01, 0x0a, - 0x11, 0x44, 0x65, 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3f, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, - 0x65, 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x65, 0x73, - 0x63, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x64, - 0x65, 0x73, 0x63, 0x6f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x22, 0x35, 0x0a, 0x10, 0x44, 0x65, - 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, - 0x0a, 0x04, 0x50, 0x41, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, - 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x4e, 0x50, 0x41, 0x49, 0x44, 0x10, - 0x02, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0xac, - 0x05, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x17, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, + 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x68, 0x6f, + 0x73, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xd6, 0x01, 0x0a, 0x0f, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x1a, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x43, 0x0a, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x2d, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, + 0x23, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4f, + 0x55, 0x54, 0x10, 0x01, 0x22, 0x9c, 0x02, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x06, + 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, + 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, + 0x01, 0x22, 0x50, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x4f, 0x43, 0x41, 0x4c, + 0x5f, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, + 0x34, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x36, 0x10, 0x02, 0x12, 0x09, 0x0a, + 0x05, 0x54, 0x4f, 0x52, 0x56, 0x32, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x4f, 0x52, 0x56, + 0x33, 0x10, 0x04, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x22, 0x66, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x69, + 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0xc0, 0x07, 0x0a, 0x15, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, - 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, - 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, - 0x73, 0x68, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x0c, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x6c, - 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x44, 0x65, 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x06, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, - 0x0f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x50, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, - 0x88, 0x01, 0x01, 0x22, 0x35, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, 0x49, 0x44, 0x10, - 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, - 0x0a, 0x06, 0x55, 0x4e, 0x50, 0x41, 0x49, 0x44, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, - 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, - 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x76, 0x72, - 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x22, 0xa0, 0x03, + 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x0a, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x69, 0x6e, + 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, + 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x73, 0x41, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x08, 0x70, 0x61, 0x79, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x14, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x48, 0x04, 0x52, 0x12, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x61, + 0x69, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x06, 0x70, + 0x61, 0x69, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x06, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, + 0x48, 0x07, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, + 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x50, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x48, 0x09, 0x52, 0x0c, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x49, + 0x0a, 0x0d, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, + 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x0a, 0x52, 0x0c, 0x70, 0x61, 0x69, 0x64, 0x4f, 0x75, + 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x22, 0x38, 0x0a, 0x13, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, + 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x4e, 0x50, 0x41, 0x49, + 0x44, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, + 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, + 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x48, + 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, + 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x22, 0xd8, 0x02, 0x0a, 0x10, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, + 0x03, 0x68, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x03, 0x68, 0x65, + 0x78, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x48, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x22, 0x70, 0x0a, 0x0d, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x55, 0x53, 0x54, 0x5f, + 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x55, 0x53, 0x54, + 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x52, + 0x45, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, + 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x55, 0x53, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, + 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x52, 0x5f, + 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x10, 0x04, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x68, 0x65, 0x78, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x22, 0xa0, 0x01, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0a, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, + 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, + 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x03, 0x68, + 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, + 0x01, 0x01, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x68, 0x65, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x29, 0x0a, 0x15, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x22, 0x63, 0x0a, 0x16, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x75, 0x73, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0e, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x22, 0x51, 0x0a, 0x1c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xc5, 0x01, 0x0a, 0x12, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x28, 0x0a, 0x04, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, + 0x48, 0x6f, 0x70, 0x73, 0x52, 0x04, 0x68, 0x6f, 0x70, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x73, + 0x73, 0x6f, 0x63, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x61, + 0x73, 0x73, 0x6f, 0x63, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, + 0x0a, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x22, + 0x0a, 0x0a, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x01, 0x52, 0x09, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, + 0x65, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x22, 0x52, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x6e, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x12, 0x25, + 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x73, 0x22, 0x43, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x6f, + 0x6e, 0x69, 0x6f, 0x6e, 0x48, 0x6f, 0x70, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, + 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, 0x22, 0x5b, 0x0a, 0x13, 0x44, 0x65, + 0x6c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa3, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x23, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x01, 0x52, 0x03, 0x68, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x68, + 0x65, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xcf, 0x01, + 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3f, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x44, 0x65, 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x65, + 0x73, 0x63, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, + 0x64, 0x65, 0x73, 0x63, 0x6f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x22, 0x35, 0x0a, 0x10, 0x44, + 0x65, 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x08, 0x0a, 0x04, 0x50, 0x41, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, + 0x49, 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x4e, 0x50, 0x41, 0x49, 0x44, + 0x10, 0x02, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x6f, 0x6e, 0x6c, 0x79, 0x22, + 0xa8, 0x07, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x06, + 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, + 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, + 0x74, 0x31, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x62, 0x6f, 0x6c, + 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, + 0x61, 0x73, 0x68, 0x12, 0x40, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x6e, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x6c, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, + 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x73, 0x41, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x66, + 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x04, 0x52, 0x0c, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2f, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0f, 0x69, 0x6e, + 0x76, 0x72, 0x65, 0x71, 0x50, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x04, 0x48, 0x07, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x48, 0x08, 0x52, 0x08, 0x70, 0x61, 0x79, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x14, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x48, 0x09, 0x52, 0x12, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, + 0x76, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x61, + 0x69, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0a, 0x52, 0x06, 0x70, + 0x61, 0x69, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x0b, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x22, 0x35, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x69, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, + 0x50, 0x41, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, + 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x4e, 0x50, 0x41, 0x49, 0x44, 0x10, 0x02, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, + 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, + 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x76, + 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, + 0x69, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0xc5, 0x01, 0x0a, 0x17, 0x44, + 0x65, 0x76, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x09, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, + 0x65, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x22, 0x7e, 0x0a, 0x18, 0x44, 0x65, 0x76, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x74, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x5f, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x12, + 0x21, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, + 0x69, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x72, + 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x30, 0x0a, + 0x18, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x75, + 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x05, 0x73, 0x74, 0x75, 0x62, 0x73, 0x22, + 0x2e, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x73, 0x6d, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x73, 0x6d, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, + 0x90, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x88, 0x01, 0x01, 0x22, 0x31, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, + 0x59, 0x5f, 0x52, 0x45, 0x53, 0x54, 0x41, 0x52, 0x54, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, + 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x00, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x22, 0x29, 0x0a, 0x15, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, + 0x63, 0x62, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x63, 0x62, 0x22, 0x2e, 0x0a, + 0x16, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x75, 0x62, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x75, 0x62, 0x73, 0x22, 0x81, 0x03, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x4f, 0x72, 0x41, 0x6e, 0x79, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, - 0x73, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x06, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x06, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x6c, 0x6c, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x08, 0x70, 0x72, 0x65, 0x69, + 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x63, 0x6c, 0x74, 0x76, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x04, 0x63, 0x6c, 0x74, 0x76, 0x88, 0x01, 0x01, - 0x12, 0x39, 0x0a, 0x15, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x03, 0x52, 0x15, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x64, - 0x65, 0x73, 0x63, 0x68, 0x61, 0x73, 0x68, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x68, 0x61, 0x73, 0x68, 0x6f, 0x6e, 0x6c, - 0x79, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x04, 0x63, 0x6c, 0x74, 0x76, 0x88, 0x01, 0x01, + 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, + 0x48, 0x02, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, + 0x15, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x15, 0x65, 0x78, + 0x70, 0x6f, 0x73, 0x65, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x12, 0x27, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x68, 0x61, 0x73, 0x68, 0x6f, + 0x6e, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x0c, 0x64, 0x65, 0x73, + 0x63, 0x68, 0x61, 0x73, 0x68, 0x6f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, + 0x41, 0x6e, 0x79, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, - 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x68, 0x61, 0x73, 0x68, 0x6f, 0x6e, 0x6c, 0x79, - 0x22, 0xa6, 0x04, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x12, 0x21, 0x0a, 0x0c, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, - 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, - 0x73, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0c, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, - 0x2e, 0x0a, 0x10, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, - 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x2c, 0x0a, 0x0f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, - 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0e, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, - 0x10, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x65, 0x6e, 0x64, - 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0f, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x44, 0x65, 0x61, 0x64, 0x65, 0x6e, 0x64, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, - 0x16, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x5f, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, - 0x14, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x55, - 0x6e, 0x75, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x70, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, - 0x0a, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x70, 0x70, 0x88, 0x01, 0x01, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, - 0x61, 0x63, 0x69, 0x74, 0x79, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x65, 0x6e, 0x64, 0x73, 0x42, 0x19, - 0x0a, 0x17, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x5f, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x70, 0x70, 0x22, 0x28, 0x0a, 0x14, 0x4c, 0x69, 0x73, - 0x74, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x22, 0x52, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x09, - 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x09, 0x64, 0x61, - 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, - 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x68, 0x65, 0x78, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x03, 0x68, 0x65, 0x78, 0x88, 0x01, 0x01, - 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, - 0x5f, 0x68, 0x65, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, - 0x9b, 0x03, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x02, 0x52, 0x0b, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, - 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x03, 0x52, 0x07, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x48, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x22, 0x2d, 0x0a, 0x11, 0x4c, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, - 0x08, 0x0a, 0x06, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x4d, 0x0a, - 0x14, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x73, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x22, 0xa4, 0x08, 0x0a, - 0x14, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x4c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, + 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x68, 0x61, 0x73, 0x68, 0x6f, 0x6e, 0x6c, + 0x79, 0x22, 0xa6, 0x04, 0x0a, 0x0f, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x12, 0x21, 0x0a, + 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, + 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x2e, 0x0a, 0x10, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x70, 0x61, 0x63, + 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x0e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x64, 0x65, 0x61, 0x64, 0x65, 0x6e, 0x64, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x0f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x61, 0x64, 0x65, 0x6e, 0x64, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x16, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x14, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x50, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x55, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x24, 0x0a, 0x0b, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x70, 0x70, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0a, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, + 0x70, 0x70, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x0c, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x42, + 0x13, 0x0a, 0x11, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x70, 0x61, + 0x63, 0x69, 0x74, 0x79, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x65, 0x6e, 0x64, 0x73, 0x42, 0x19, 0x0a, + 0x17, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x5f, 0x75, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x70, 0x70, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xa0, 0x02, 0x0a, 0x15, 0x49, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x0e, + 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x09, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55, + 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x61, + 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x22, 0xbd, 0x01, + 0x0a, 0x16, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x72, + 0x65, 0x71, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x69, 0x6e, 0x76, + 0x72, 0x65, 0x71, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x6f, + 0x6c, 0x74, 0x31, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x3b, 0x0a, + 0x1c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, + 0x09, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x49, 0x64, 0x22, 0xc4, 0x01, 0x0a, 0x1d, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x08, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55, 0x73, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x05, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x22, 0x82, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, + 0x65, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x20, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x76, + 0x72, 0x65, 0x71, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0x70, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x76, 0x6f, 0x69, 0x63, 0x65, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, + 0x1b, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, + 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, + 0x55, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x73, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, + 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x22, 0x28, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x52, + 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, + 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x09, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x73, + 0x74, 0x6f, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x23, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0c, 0x48, 0x01, 0x52, 0x03, 0x68, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x68, 0x65, 0x78, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x9b, 0x03, 0x0a, 0x13, 0x4c, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, + 0x09, 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, + 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x02, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x48, 0x61, 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x66, + 0x66, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x48, 0x04, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, + 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, + 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, 0x52, 0x05, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x88, 0x01, 0x01, 0x22, 0x2d, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, + 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x44, 0x41, 0x54, + 0x45, 0x44, 0x10, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x4d, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x35, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x52, 0x08, 0x69, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x22, 0xa4, 0x08, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, - 0x41, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, - 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, - 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, - 0x29, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x04, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x4f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x69, 0x6e, - 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x50, - 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x06, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, 0x0c, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, - 0x20, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x08, 0x52, 0x08, 0x70, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, - 0x01, 0x12, 0x42, 0x0a, 0x14, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x09, 0x52, 0x12, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x73, - 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x61, 0x74, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0a, 0x52, 0x06, 0x70, 0x61, 0x69, 0x64, 0x41, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x0d, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x73, 0x50, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x48, 0x0b, 0x52, 0x0c, 0x70, 0x61, 0x69, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x0c, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x88, 0x01, 0x01, 0x22, 0x3f, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x4e, 0x50, 0x41, 0x49, 0x44, 0x10, 0x00, 0x12, - 0x08, 0x0a, 0x04, 0x50, 0x41, 0x49, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, - 0x49, 0x52, 0x45, 0x44, 0x10, 0x02, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, - 0x31, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x11, 0x0a, 0x0f, - 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, - 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, - 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, - 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x13, - 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x22, 0x6d, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x73, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x50, 0x61, 0x69, 0x64, 0x5f, - 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x07, - 0x0a, 0x05, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x75, 0x74, 0x6e, - 0x75, 0x6d, 0x22, 0xff, 0x03, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, - 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, - 0x46, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x52, 0x08, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x48, 0x6f, 0x70, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x64, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, - 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x03, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, - 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x69, 0x64, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x05, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x76, 0x72, - 0x65, 0x71, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x67, 0x72, 0x6f, - 0x75, 0x70, 0x69, 0x64, 0x22, 0x89, 0x06, 0x0a, 0x11, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x04, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, - 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x0a, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, - 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, - 0x12, 0x35, 0x0a, 0x10, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, - 0x6d, 0x73, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, - 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, - 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, - 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x04, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, - 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x06, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, - 0x48, 0x07, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, - 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x08, 0x52, - 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, - 0x01, 0x01, 0x22, 0x2c, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, - 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, + 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, + 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, + 0x12, 0x4c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x34, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, + 0x63, 0x65, 0x73, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, + 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x31, 0x0a, + 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, + 0x01, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, + 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, + 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x04, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x08, 0x70, 0x61, 0x79, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x14, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x48, 0x06, 0x52, 0x12, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x70, + 0x61, 0x69, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, 0x06, + 0x70, 0x61, 0x69, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x0c, 0x48, 0x08, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, + 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x69, 0x6e, 0x76, + 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x50, 0x61, + 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x04, 0x48, 0x0a, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0b, 0x52, 0x0c, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x50, + 0x0a, 0x0d, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, + 0x50, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x0c, 0x52, + 0x0c, 0x70, 0x61, 0x69, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, + 0x22, 0x3f, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, + 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, + 0x0a, 0x06, 0x55, 0x4e, 0x50, 0x41, 0x49, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, + 0x49, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, + 0x02, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, + 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x13, 0x0a, + 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, + 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x4f, + 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x49, 0x6e, + 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x50, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x22, + 0xb6, 0x04, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x09, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, + 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x52, 0x08, 0x66, 0x69, 0x72, 0x73, 0x74, 0x48, 0x6f, 0x70, + 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, + 0x61, 0x73, 0x68, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x25, + 0x0a, 0x0e, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, + 0x18, 0x05, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x64, 0x53, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, + 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, + 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x05, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x48, + 0x06, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x69, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x89, 0x06, 0x0a, 0x11, 0x53, 0x65, 0x6e, + 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, + 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, + 0x68, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x35, 0x0a, 0x10, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x61, + 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, + 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, + 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, + 0x74, 0x31, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x06, 0x62, 0x6f, 0x6c, + 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, + 0x48, 0x05, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x48, 0x08, 0x52, 0x0c, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x09, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x22, 0x2c, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, + 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, + 0x54, 0x45, 0x10, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, + 0x6c, 0x74, 0x31, 0x32, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, - 0x61, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, - 0x31, 0x32, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x42, 0x10, 0x0a, - 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, - 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x22, 0x68, 0x0a, 0x12, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x46, 0x69, 0x72, - 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x4d, 0x73, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x22, 0xd2, 0x03, 0x0a, 0x13, 0x4c, - 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, - 0x26, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x48, 0x61, 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x48, 0x02, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x45, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, - 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x73, - 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x48, 0x03, 0x52, 0x05, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x22, 0x3b, - 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, - 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x12, - 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, 0x2d, 0x0a, 0x11, 0x4c, + 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x22, 0x68, 0x0a, 0x12, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, + 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, + 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x22, 0xd2, + 0x03, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, + 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, + 0x79, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x02, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x73, + 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, - 0x07, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, - 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x08, 0x0a, 0x06, 0x5f, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, - 0x4d, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x8b, - 0x07, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, - 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, - 0x01, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x06, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x06, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x28, 0x0a, 0x0d, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x02, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x50, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, - 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x03, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, - 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x04, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, - 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x35, 0x0a, 0x10, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x4d, - 0x73, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x05, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, - 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, - 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x07, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x08, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, - 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x23, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x0a, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6f, 0x6e, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x22, 0x43, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, - 0x70, 0x61, 0x79, 0x73, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, - 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, - 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x22, 0x19, 0x0a, 0x17, - 0x4c, 0x69, 0x73, 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x61, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbf, 0x02, 0x0a, 0x1c, 0x4c, - 0x69, 0x73, 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, - 0x14, 0x0a, 0x05, 0x72, 0x61, 0x77, 0x74, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, - 0x72, 0x61, 0x77, 0x74, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x78, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x78, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, - 0x52, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x73, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x22, 0x6a, 0x0a, 0x22, - 0x4c, 0x69, 0x73, 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x70, 0x75, - 0x74, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x23, 0x4c, 0x69, 0x73, + 0x48, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x05, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, + 0x01, 0x01, 0x22, 0x3b, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, + 0x79, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, + 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, + 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, + 0x2d, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x22, 0x4d, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, + 0x61, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, + 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x22, 0xc4, 0x07, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, + 0x61, 0x79, 0x73, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x4c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x50, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, + 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x35, 0x0a, 0x10, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, + 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, + 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1b, + 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, + 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x05, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x48, + 0x06, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x48, 0x08, 0x52, 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x48, 0x09, 0x52, 0x0c, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, + 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0a, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0b, + 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, + 0x22, 0x43, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, + 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, + 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x46, + 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, + 0x45, 0x54, 0x45, 0x10, 0x02, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, + 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x22, 0x19, 0x0a, 0x17, 0x4c, 0x69, 0x73, + 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x61, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x45, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbf, 0x02, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, + 0x72, 0x61, 0x77, 0x74, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x72, 0x61, 0x77, + 0x74, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x78, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x78, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, + 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x06, 0x69, + 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x42, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, + 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x4d, 0x73, 0x61, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, - 0x62, 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x22, 0xdc, 0x04, 0x0a, 0x0a, 0x50, 0x61, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, - 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x12, + 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x22, 0x6a, 0x0a, 0x22, 0x4c, 0x69, 0x73, + 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, + 0x78, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x65, 0x71, + 0x75, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x23, 0x4c, 0x69, 0x73, 0x74, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, + 0x4b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x4d, 0x73, 0x61, 0x74, 0x22, 0x5a, 0x0a, 0x11, 0x4d, 0x61, 0x6b, 0x65, 0x73, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x68, 0x65, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x03, 0x68, 0x65, 0x78, 0x88, 0x01, + 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x06, + 0x0a, 0x04, 0x5f, 0x68, 0x65, 0x78, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x22, 0x2c, 0x0a, 0x12, 0x4d, 0x61, 0x6b, 0x65, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, + 0xa2, 0x05, 0x0a, 0x0a, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, + 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x66, 0x65, 0x65, 0x70, 0x65, 0x72, 0x63, 0x65, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x66, + 0x65, 0x65, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, + 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x02, 0x52, 0x08, 0x72, 0x65, 0x74, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1f, + 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x03, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x66, 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, + 0x04, 0x52, 0x09, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x66, 0x65, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x23, 0x0a, 0x0a, 0x72, 0x69, 0x73, 0x6b, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x01, 0x48, 0x05, 0x52, 0x0a, 0x72, 0x69, 0x73, 0x6b, 0x66, 0x61, 0x63, 0x74, 0x6f, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x12, 0x28, + 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x66, 0x65, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x06, 0x52, 0x06, 0x6d, + 0x61, 0x78, 0x66, 0x65, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, - 0x0a, 0x72, 0x69, 0x73, 0x6b, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x01, 0x48, 0x02, 0x52, 0x0a, 0x72, 0x69, 0x73, 0x6b, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x66, 0x65, 0x65, 0x70, 0x65, 0x72, 0x63, - 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, 0x0d, 0x6d, 0x61, 0x78, - 0x66, 0x65, 0x65, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x09, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x04, 0x52, 0x08, 0x72, 0x65, 0x74, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x1f, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x05, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, - 0x12, 0x2e, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x66, 0x65, 0x65, 0x18, 0x07, 0x20, + 0x74, 0x48, 0x08, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x76, 0x72, 0x65, + 0x71, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, + 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x48, 0x06, 0x52, 0x09, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x66, 0x65, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x29, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x69, - 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x07, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x07, 0x65, - 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x66, 0x65, 0x65, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x48, 0x08, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x66, 0x65, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x69, 0x73, 0x6b, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, - 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x61, 0x78, 0x66, 0x65, 0x65, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, - 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x61, 0x78, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x66, 0x65, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x6d, 0x61, 0x78, 0x66, 0x65, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf6, 0x03, 0x0a, 0x0b, 0x50, 0x61, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, - 0x61, 0x72, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x74, - 0x73, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, - 0x35, 0x0a, 0x10, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, - 0x73, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, - 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x41, 0x0a, 0x1a, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x18, 0x77, 0x61, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x61, 0x79, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x32, 0x0a, - 0x09, 0x50, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, - 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, - 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, - 0x02, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, - 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x2e, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x22, 0x3e, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x6e, - 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, - 0x22, 0x9b, 0x02, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, - 0x64, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x6c, - 0x61, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, - 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, - 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x03, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3a, - 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, - 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, - 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6c, - 0x61, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, - 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x81, - 0x02, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, - 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x55, 0x0a, 0x09, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, - 0x65, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x48, 0x0a, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x4d, 0x73, 0x61, 0x74, 0x88, + 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x6d, 0x61, 0x78, 0x66, 0x65, 0x65, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x6d, 0x61, 0x78, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x65, 0x78, + 0x65, 0x6d, 0x70, 0x74, 0x66, 0x65, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x69, 0x73, 0x6b, + 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x61, 0x78, 0x66, 0x65, + 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x76, 0x72, 0x65, + 0x71, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x22, 0xf6, 0x03, 0x0a, 0x0b, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, + 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x74, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, 0x12, 0x2c, + 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x35, 0x0a, 0x10, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x4d, + 0x73, 0x61, 0x74, 0x12, 0x41, 0x0a, 0x1a, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x18, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x32, 0x0a, 0x09, 0x50, 0x61, + 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, + 0x45, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, + 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1d, + 0x0a, 0x1b, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2e, 0x0a, + 0x10, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, + 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x22, 0x3e, 0x0a, + 0x11, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, + 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x84, 0x03, + 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x02, + 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x65, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x03, 0x52, 0x08, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x09, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52, 0x09, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x77, 0x69, 0x6c, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, + 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x6c, + 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x48, 0x04, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x57, 0x69, 0x6c, 0x6c, 0x46, 0x75, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x5f, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, + 0x13, 0x0a, 0x11, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x6c, 0x6c, 0x5f, + 0x66, 0x75, 0x6e, 0x64, 0x22, 0xef, 0x02, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, + 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x77, 0x69, + 0x6c, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x12, 0x3a, 0x0a, 0x13, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x10, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x42, 0x61, 0x73, 0x65, 0x4d, + 0x73, 0x61, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, + 0x5f, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x66, + 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x57, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x12, 0x45, 0x0a, 0x19, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x65, + 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x15, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x65, 0x65, 0x4d, 0x61, + 0x78, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x56, 0x0a, 0x28, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, + 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, + 0x6e, 0x64, 0x74, 0x68, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x24, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x65, 0x65, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x72, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x54, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x74, 0x68, + 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, + 0x74, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x22, 0x81, 0x02, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x6e, + 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x65, 0x73, 0x12, 0x55, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x88, 0x01, 0x01, 0x22, 0x50, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, - 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4e, 0x53, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, - 0x49, 0x50, 0x56, 0x34, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x36, 0x10, 0x02, - 0x12, 0x09, 0x0a, 0x05, 0x54, 0x4f, 0x52, 0x56, 0x32, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x54, - 0x4f, 0x52, 0x56, 0x33, 0x10, 0x04, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x22, 0x7e, 0x0a, 0x15, 0x57, 0x61, 0x69, 0x74, 0x61, 0x6e, 0x79, 0x69, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x6c, - 0x61, 0x73, 0x74, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x61, 0x79, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x61, 0x79, - 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x22, 0xf0, 0x06, 0x0a, 0x16, 0x57, 0x61, 0x69, 0x74, 0x61, 0x6e, 0x79, 0x69, 0x6e, - 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, + 0x73, 0x65, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, + 0x65, 0x73, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x0a, + 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x22, 0x50, 0x0a, 0x1b, + 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x44, + 0x4e, 0x53, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x34, 0x10, 0x01, 0x12, 0x08, + 0x0a, 0x04, 0x49, 0x50, 0x56, 0x36, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x4f, 0x52, 0x56, + 0x32, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x4f, 0x52, 0x56, 0x33, 0x10, 0x04, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x7e, 0x0a, 0x15, 0x57, 0x61, + 0x69, 0x74, 0x61, 0x6e, 0x79, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x61, 0x79, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x61, + 0x73, 0x74, 0x70, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, + 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, + 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xf0, 0x06, 0x0a, 0x16, 0x57, 0x61, 0x69, 0x74, 0x61, 0x6e, 0x79, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x61, 0x6e, 0x79, 0x69, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, - 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, - 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x28, - 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x04, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, - 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x08, 0x70, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x14, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, - 0x06, 0x52, 0x12, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x61, 0x69, 0x64, - 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, 0x06, 0x70, 0x61, 0x69, - 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x0d, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6f, - 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x61, 0x6e, 0x79, 0x69, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x50, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, - 0x08, 0x52, 0x0c, 0x70, 0x61, 0x69, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, - 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x09, 0x52, 0x0f, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, - 0x01, 0x01, 0x22, 0x2d, 0x0a, 0x14, 0x57, 0x61, 0x69, 0x74, 0x61, 0x6e, 0x79, 0x69, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, - 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, - 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, - 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, - 0x61, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x67, 0x0a, 0x1b, 0x57, 0x61, 0x69, 0x74, 0x61, 0x6e, 0x79, - 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, - 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, - 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, - 0x78, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x22, 0x2a, - 0x0a, 0x12, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0xe1, 0x06, 0x0a, 0x13, 0x57, - 0x61, 0x69, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x42, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x76, 0x6f, - 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, - 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, - 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, - 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, - 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, - 0x01, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x08, 0x70, 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x14, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x06, - 0x52, 0x12, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x61, 0x69, 0x64, 0x5f, - 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, 0x06, 0x70, 0x61, 0x69, 0x64, - 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x0d, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, - 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, - 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x08, 0x52, 0x0c, 0x70, - 0x61, 0x69, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, - 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x22, 0x2a, - 0x0a, 0x11, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, - 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, - 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x70, 0x61, 0x69, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x61, 0x69, 0x64, - 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x64, - 0x0a, 0x18, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x69, - 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x78, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, - 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x75, - 0x74, 0x6e, 0x75, 0x6d, 0x22, 0xb5, 0x01, 0x0a, 0x12, 0x57, 0x61, 0x69, 0x74, 0x73, 0x65, 0x6e, - 0x64, 0x70, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, - 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x00, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, - 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, - 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x07, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x22, 0xbd, 0x06, 0x0a, - 0x13, 0x57, 0x61, 0x69, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0c, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, - 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x01, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, - 0x12, 0x42, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, - 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x73, - 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, - 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x03, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, - 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x28, 0x0a, - 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x10, - 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x48, 0x05, 0x52, - 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x12, 0x48, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x30, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x61, 0x6e, 0x79, 0x69, 0x6e, + 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x61, + 0x69, 0x74, 0x61, 0x6e, 0x79, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, + 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, + 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, + 0x74, 0x31, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x62, 0x6f, 0x6c, + 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x08, 0x70, 0x61, 0x79, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x14, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x48, 0x04, 0x52, 0x12, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, + 0x70, 0x61, 0x69, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, + 0x06, 0x70, 0x61, 0x69, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x06, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, + 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x04, 0x48, 0x07, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x48, 0x08, 0x52, 0x0c, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x4a, + 0x0a, 0x0d, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, + 0x61, 0x6e, 0x79, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x69, 0x64, 0x5f, 0x6f, + 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x69, 0x64, 0x4f, + 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x22, 0x2d, 0x0a, 0x14, 0x57, 0x61, + 0x69, 0x74, 0x61, 0x6e, 0x79, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, + 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, + 0x6c, 0x74, 0x31, 0x31, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x17, 0x0a, + 0x15, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, + 0x61, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, + 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, + 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x49, 0x0a, + 0x1b, 0x57, 0x61, 0x69, 0x74, 0x61, 0x6e, 0x79, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, + 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x22, 0x2a, 0x0a, 0x12, 0x57, 0x61, 0x69, 0x74, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x22, 0xe1, 0x06, 0x0a, 0x13, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, + 0x69, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, + 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, + 0x6c, 0x74, 0x31, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x62, 0x6f, + 0x6c, 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x08, 0x70, 0x61, + 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x14, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x04, 0x52, 0x12, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, + 0x07, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, + 0x52, 0x06, 0x70, 0x61, 0x69, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x06, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x04, 0x48, 0x07, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x48, 0x08, 0x52, 0x0c, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, + 0x47, 0x0a, 0x0d, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, + 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x69, 0x64, 0x4f, 0x75, 0x74, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x22, 0x2a, 0x0a, 0x11, 0x57, 0x61, 0x69, 0x74, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x08, 0x0a, + 0x04, 0x50, 0x41, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, + 0x45, 0x44, 0x10, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, + 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x13, 0x0a, + 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, + 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x46, 0x0a, 0x18, 0x57, 0x61, 0x69, 0x74, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x6e, + 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, + 0x22, 0xb5, 0x01, 0x0a, 0x12, 0x57, 0x61, 0x69, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x22, 0xbd, 0x06, 0x0a, 0x13, 0x57, 0x61, 0x69, + 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x1d, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x48, 0x00, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x73, 0x65, 0x6e, + 0x64, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x61, 0x69, + 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x02, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x35, 0x0a, 0x10, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x04, 0x48, 0x07, 0x52, 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, - 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, + 0x04, 0x48, 0x04, 0x52, 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, + 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, - 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x06, 0x62, + 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x0c, 0x48, 0x0a, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x22, 0x21, 0x0a, 0x11, 0x57, 0x61, 0x69, 0x74, - 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0c, 0x0a, - 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00, 0x42, 0x10, 0x0a, 0x0e, 0x5f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, - 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0xa4, 0x01, 0x0a, - 0x0e, 0x4e, 0x65, 0x77, 0x61, 0x64, 0x64, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x4d, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4e, 0x65, 0x77, 0x61, 0x64, - 0x64, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x61, 0x64, 0x64, - 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x33, - 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x61, 0x64, 0x64, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x45, 0x43, 0x48, 0x33, 0x32, 0x10, 0x00, - 0x12, 0x08, 0x0a, 0x04, 0x50, 0x32, 0x54, 0x52, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, - 0x4c, 0x10, 0x02, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x74, - 0x79, 0x70, 0x65, 0x22, 0x5b, 0x0a, 0x0f, 0x4e, 0x65, 0x77, 0x61, 0x64, 0x64, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x32, 0x74, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x70, 0x32, 0x74, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x1b, 0x0a, 0x06, 0x62, 0x65, 0x63, 0x68, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x06, 0x62, 0x65, 0x63, 0x68, 0x33, 0x32, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x70, 0x32, 0x74, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x65, 0x63, 0x68, 0x33, 0x32, - 0x22, 0xf9, 0x01, 0x0a, 0x0f, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x07, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, - 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x41, 0x6c, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x73, 0x61, 0x74, - 0x6f, 0x73, 0x68, 0x69, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, - 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x48, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, - 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x73, 0x61, 0x74, - 0x6f, 0x73, 0x68, 0x69, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x22, 0x4a, 0x0a, 0x10, - 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, - 0x74, 0x78, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x62, 0x74, 0x22, 0xe7, 0x03, 0x0a, 0x0e, 0x4b, 0x65, 0x79, - 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, - 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x66, 0x65, 0x65, - 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, - 0x0d, 0x6d, 0x61, 0x78, 0x66, 0x65, 0x65, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x20, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x08, 0x72, 0x65, 0x74, 0x72, 0x79, 0x46, 0x6f, 0x72, - 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x64, 0x65, 0x6c, 0x61, - 0x79, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x66, 0x65, - 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x04, 0x52, 0x09, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x66, 0x65, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x68, 0x69, 0x6e, - 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x68, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x05, 0x52, 0x0a, - 0x72, 0x6f, 0x75, 0x74, 0x65, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, - 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x54, 0x6c, 0x76, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x48, 0x06, 0x52, 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x74, 0x6c, 0x76, 0x73, 0x88, 0x01, 0x01, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, - 0x61, 0x78, 0x66, 0x65, 0x65, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, - 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, - 0x61, 0x78, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x65, 0x78, 0x65, 0x6d, - 0x70, 0x74, 0x66, 0x65, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x68, - 0x69, 0x6e, 0x74, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x74, 0x6c, - 0x76, 0x73, 0x22, 0xed, 0x03, 0x0a, 0x0f, 0x4b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, - 0x72, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, - 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x35, - 0x0a, 0x10, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, - 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6e, - 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x41, 0x0a, 0x1a, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x18, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4b, - 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4b, - 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x22, 0x1d, 0x0a, 0x0d, 0x4b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, - 0x45, 0x10, 0x00, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xa3, 0x04, 0x0a, 0x0f, 0x46, 0x75, 0x6e, 0x64, 0x70, 0x73, 0x62, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, - 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x41, 0x6c, 0x6c, 0x52, 0x07, 0x73, 0x61, 0x74, 0x6f, 0x73, - 0x68, 0x69, 0x12, 0x26, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, + 0x28, 0x0c, 0x48, 0x07, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x48, 0x08, + 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x48, 0x09, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x10, 0x20, 0x01, 0x28, + 0x04, 0x48, 0x0a, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x88, 0x01, 0x01, 0x22, 0x21, 0x0a, 0x11, 0x57, 0x61, 0x69, 0x74, 0x73, 0x65, 0x6e, 0x64, + 0x70, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, + 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, + 0x74, 0x31, 0x31, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x13, + 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xa4, 0x01, 0x0a, 0x0e, 0x4e, 0x65, 0x77, + 0x61, 0x64, 0x64, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x0b, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4e, 0x65, 0x77, 0x61, 0x64, 0x64, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4e, 0x65, 0x77, 0x61, 0x64, 0x64, 0x72, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x22, 0x33, 0x0a, 0x12, 0x4e, 0x65, + 0x77, 0x61, 0x64, 0x64, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x45, 0x43, 0x48, 0x33, 0x32, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, + 0x41, 0x4c, 0x4c, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x32, 0x54, 0x52, 0x10, 0x03, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x5b, 0x0a, 0x0f, 0x4e, 0x65, 0x77, 0x61, 0x64, 0x64, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x65, 0x63, 0x68, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x62, 0x65, 0x63, 0x68, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, + 0x17, 0x0a, 0x04, 0x70, 0x32, 0x74, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, + 0x04, 0x70, 0x32, 0x74, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x65, 0x63, + 0x68, 0x33, 0x32, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x32, 0x74, 0x72, 0x22, 0xe8, 0x01, 0x0a, + 0x0f, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x07, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x4f, 0x72, 0x41, 0x6c, 0x6c, 0x52, 0x07, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x12, 0x1d, + 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x00, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, + 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x75, 0x74, 0x78, + 0x6f, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x07, - 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, - 0x07, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x07, - 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, - 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x6d, - 0x69, 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x57, 0x69, - 0x74, 0x6e, 0x65, 0x73, 0x73, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2d, - 0x0a, 0x10, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x65, - 0x73, 0x73, 0x41, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, - 0x0a, 0x6e, 0x6f, 0x6e, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x05, 0x52, 0x0a, 0x6e, 0x6f, 0x6e, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x39, 0x0a, 0x16, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6e, - 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x06, 0x52, 0x14, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x63, - 0x68, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, - 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x6e, 0x65, - 0x73, 0x73, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65, 0x78, - 0x63, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x6e, 0x6f, 0x6e, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x42, 0x19, 0x0a, - 0x17, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xab, 0x02, 0x0a, 0x10, 0x46, 0x75, 0x6e, - 0x64, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x62, - 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, - 0x5f, 0x6b, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x50, 0x65, 0x72, 0x4b, 0x77, 0x12, 0x34, 0x0a, 0x16, 0x65, 0x73, 0x74, 0x69, 0x6d, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, - 0x65, 0x64, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2c, 0x0a, - 0x0b, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x65, 0x48, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x22, 0x4a, 0x0a, 0x10, 0x57, 0x69, 0x74, 0x68, 0x64, + 0x72, 0x61, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x74, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, + 0x73, 0x62, 0x74, 0x22, 0xe7, 0x03, 0x0a, 0x0e, 0x4b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x66, 0x65, 0x65, 0x70, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x0d, 0x6d, 0x61, + 0x78, 0x66, 0x65, 0x65, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x09, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x02, 0x52, 0x08, 0x72, 0x65, 0x74, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x1f, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x03, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x2e, 0x0a, 0x09, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x66, 0x65, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x48, 0x04, 0x52, 0x09, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x66, 0x65, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x37, 0x0a, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x68, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x05, 0x52, 0x0a, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x54, 0x6c, 0x76, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x48, 0x06, 0x52, + 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x74, 0x6c, 0x76, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, + 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x0a, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x75, 0x74, 0x6e, - 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, - 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x22, 0xa9, 0x01, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x70, - 0x73, 0x62, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, - 0x78, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x04, 0x76, 0x6f, 0x75, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x73, 0x5f, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x77, - 0x61, 0x73, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x54, 0x6f, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x22, 0x50, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x62, 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x22, 0x36, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x73, 0x62, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x22, 0x41, 0x0a, 0x0f, - 0x53, 0x69, 0x67, 0x6e, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, - 0x73, 0x62, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x6c, 0x79, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x6c, 0x79, 0x22, - 0x33, 0x0a, 0x10, 0x53, 0x69, 0x67, 0x6e, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x73, - 0x62, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x50, 0x73, 0x62, 0x74, 0x22, 0x98, 0x04, 0x0a, 0x0f, 0x55, 0x74, 0x78, 0x6f, 0x70, 0x73, 0x62, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x07, 0x73, 0x61, 0x74, 0x6f, - 0x73, 0x68, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x12, + 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6d, 0x61, 0x78, 0x66, 0x65, 0x65, + 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x74, 0x72, + 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x61, 0x78, 0x64, 0x65, 0x6c, + 0x61, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x65, 0x78, 0x65, 0x6d, 0x70, 0x74, 0x66, 0x65, 0x65, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x74, 0x6c, 0x76, 0x73, 0x22, 0xed, 0x03, + 0x0a, 0x0f, 0x4b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x25, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x0b, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x35, 0x0a, 0x10, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, + 0x12, 0x41, 0x0a, 0x1a, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x18, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x65, 0x6e, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x65, 0x6e, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x1d, 0x0a, 0x0d, 0x4b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x1d, + 0x0a, 0x1b, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, + 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa3, 0x04, + 0x0a, 0x0f, 0x46, 0x75, 0x6e, 0x64, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4f, + 0x72, 0x41, 0x6c, 0x6c, 0x52, 0x07, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x12, 0x26, 0x0a, + 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x07, 0x66, 0x65, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x77, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x63, 0x6f, + 0x6e, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x63, + 0x6f, 0x6e, 0x66, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, + 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x77, 0x69, + 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x03, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, + 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x78, 0x63, + 0x65, 0x73, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x41, 0x73, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x6e, 0x6f, 0x6e, 0x77, + 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x0a, + 0x6e, 0x6f, 0x6e, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, + 0x16, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, + 0x14, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, + 0x63, 0x6f, 0x6e, 0x66, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x15, 0x0a, + 0x13, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x77, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x5f, + 0x61, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6e, 0x6f, + 0x6e, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6f, 0x70, 0x65, + 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x22, 0xab, 0x02, 0x0a, 0x10, 0x46, 0x75, 0x6e, 0x64, 0x70, 0x73, 0x62, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x62, 0x74, 0x12, 0x24, 0x0a, 0x0e, + 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6b, 0x77, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, + 0x4b, 0x77, 0x12, 0x34, 0x0a, 0x16, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x14, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6e, + 0x61, 0x6c, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2c, 0x0a, 0x0b, 0x65, 0x78, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x78, 0x63, 0x65, + 0x73, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, + 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, + 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x75, 0x6e, + 0x64, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, + 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x6e, 0x75, + 0x6d, 0x22, 0xa9, 0x01, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x76, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x76, 0x6f, + 0x75, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x77, 0x61, 0x73, 0x52, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x6f, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x54, 0x6f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x50, 0x0a, + 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x73, 0x62, 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x22, + 0x36, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x02, 0x74, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x22, 0x41, 0x0a, 0x0f, 0x53, 0x69, 0x67, 0x6e, 0x70, + 0x73, 0x62, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, + 0x62, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x62, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0d, + 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0x33, 0x0a, 0x10, 0x53, 0x69, + 0x67, 0x6e, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, + 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x73, 0x62, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x73, 0x62, 0x74, 0x22, + 0x9d, 0x04, 0x0a, 0x0f, 0x55, 0x74, 0x78, 0x6f, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x07, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x4f, 0x72, 0x41, 0x6c, 0x6c, 0x52, 0x07, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x12, 0x26, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, @@ -20233,25 +36416,25 @@ var file_node_proto_rawDesc = []byte{ 0x6f, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x00, 0x52, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, - 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x6f, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x6f, 0x6b, 0x88, - 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x6e, 0x65, - 0x73, 0x73, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x03, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x57, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, + 0x00, 0x52, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, + 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x01, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, + 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x77, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x10, 0x6d, 0x69, + 0x6e, 0x57, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x6f, 0x6b, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x6f, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x0e, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x41, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x16, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x14, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x6f, 0x6b, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x69, 0x6e, - 0x5f, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6d, 0x69, + 0x6e, 0x5f, 0x77, 0x69, 0x74, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x6f, 0x6b, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, @@ -20293,16 +36476,16 @@ var file_node_proto_rawDesc = []byte{ 0x69, 0x67, 0x6e, 0x65, 0x64, 0x54, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x22, 0xc6, 0x01, 0x0a, 0x10, 0x54, 0x78, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x29, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x65, - 0x73, 0x63, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x66, - 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x07, 0x66, 0x65, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x63, - 0x6f, 0x6e, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x69, 0x6e, - 0x63, 0x6f, 0x6e, 0x66, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x75, 0x74, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x0a, 0x0a, 0x08, + 0x12, 0x2b, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x48, + 0x00, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, + 0x07, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, + 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x05, + 0x75, 0x74, 0x78, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x75, 0x74, 0x78, 0x6f, + 0x73, 0x12, 0x29, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, + 0x65, 0x73, 0x63, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x22, 0x5c, 0x0a, 0x11, 0x54, 0x78, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, @@ -20326,230 +36509,231 @@ var file_node_proto_rawDesc = []byte{ 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, - 0x84, 0x21, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x07, - 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, - 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x65, - 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x01, 0x52, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x48, 0x02, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, - 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x03, 0x52, 0x0b, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x54, - 0x78, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, + 0xfa, 0x21, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x17, 0x0a, 0x07, + 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, + 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, + 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x51, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, + 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, + 0x26, 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, + 0x54, 0x78, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x48, 0x01, + 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, 0x6f, + 0x77, 0x6e, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x04, 0x52, 0x09, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x66, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, + 0x48, 0x05, 0x52, 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x75, + 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, 0x52, 0x0d, 0x66, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2c, + 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x08, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x65, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0b, 0x6e, 0x65, + 0x78, 0x74, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, + 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x0f, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x0a, 0x52, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x46, 0x65, 0x65, 0x53, 0x74, + 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x08, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x48, 0x04, 0x52, - 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x69, - 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, - 0x18, 0x36, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, - 0x46, 0x65, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, - 0x6c, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x39, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x06, 0x52, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x43, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x52, 0x08, + 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x63, 0x6c, 0x6f, 0x73, + 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0b, 0x52, 0x07, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x54, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0c, 0x52, 0x07, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, + 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, + 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, + 0x69, 0x64, 0x65, 0x48, 0x0d, 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x43, 0x0a, 0x07, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x48, 0x07, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x88, 0x01, 0x01, - 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, 0x0e, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x0a, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, - 0x78, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0b, 0x52, 0x0b, 0x66, 0x75, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x66, - 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x0c, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x75, - 0x74, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x0d, 0x52, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, 0x65, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x0b, 0x6c, - 0x61, 0x73, 0x74, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, - 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x46, 0x65, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x65, - 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x10, 0x52, 0x0b, - 0x6e, 0x65, 0x78, 0x74, 0x46, 0x65, 0x65, 0x53, 0x74, 0x65, 0x70, 0x88, 0x01, 0x01, 0x12, 0x41, - 0x0a, 0x08, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x49, - 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, - 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x11, 0x52, 0x07, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x6f, 0x88, 0x01, - 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x12, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x12, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x2d, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, - 0x64, 0x65, 0x48, 0x13, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, - 0x2d, 0x0a, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x64, - 0x65, 0x48, 0x14, 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x43, - 0x0a, 0x07, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x46, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x15, 0x52, 0x07, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0a, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x16, 0x52, 0x08, 0x74, 0x6f, 0x55, 0x73, 0x4d, 0x73, 0x61, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x17, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x54, - 0x6f, 0x55, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x0e, 0x6d, 0x61, - 0x78, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x19, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, - 0x18, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x55, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, - 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x48, 0x19, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x73, 0x61, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x34, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, - 0x73, 0x61, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x1a, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x42, 0x61, 0x73, - 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x1b, 0x66, 0x65, 0x65, 0x5f, - 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6c, - 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x1b, 0x52, - 0x19, 0x66, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, - 0x0f, 0x64, 0x75, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x48, 0x1c, 0x52, 0x0d, 0x64, 0x75, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x1d, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x74, 0x61, 0x6c, - 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, - 0x12, 0x74, 0x68, 0x65, 0x69, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6d, - 0x73, 0x61, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x1e, 0x52, 0x10, 0x74, 0x68, 0x65, 0x69, 0x72, 0x52, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, - 0x10, 0x6f, 0x75, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x1f, 0x52, 0x0e, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x0e, 0x73, 0x70, 0x65, - 0x6e, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x20, - 0x52, 0x0d, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x39, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x61, 0x62, 0x6c, 0x65, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x21, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x65, - 0x69, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, - 0x14, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x6e, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x22, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x69, - 0x6d, 0x75, 0x6d, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x43, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x74, 0x6c, 0x63, - 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x23, 0x52, 0x12, - 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x74, 0x6c, 0x63, 0x4f, 0x75, 0x74, 0x4d, 0x73, - 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, - 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x25, + 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x0e, 0x52, 0x07, 0x66, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0a, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x0f, 0x52, 0x08, 0x74, 0x6f, 0x55, 0x73, 0x4d, 0x73, + 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, + 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x10, 0x52, 0x0b, 0x6d, 0x69, + 0x6e, 0x54, 0x6f, 0x55, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x0e, + 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x48, 0x24, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x74, 0x6c, 0x63, - 0x4f, 0x75, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x13, 0x74, 0x68, - 0x65, 0x69, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x64, 0x65, 0x6c, 0x61, - 0x79, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x25, 0x52, 0x10, 0x74, 0x68, 0x65, 0x69, 0x72, - 0x54, 0x6f, 0x53, 0x65, 0x6c, 0x66, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2e, - 0x0a, 0x11, 0x6f, 0x75, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x64, 0x65, - 0x6c, 0x61, 0x79, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x26, 0x52, 0x0e, 0x6f, 0x75, 0x72, - 0x54, 0x6f, 0x53, 0x65, 0x6c, 0x66, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x31, - 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x68, - 0x74, 0x6c, 0x63, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x27, 0x52, 0x10, 0x6d, 0x61, - 0x78, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x3d, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x41, - 0x6c, 0x69, 0x61, 0x73, 0x48, 0x28, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x6e, 0x5f, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x18, - 0x2c, 0x20, 0x01, 0x28, 0x04, 0x48, 0x29, 0x52, 0x11, 0x69, 0x6e, 0x50, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, - 0x0f, 0x69, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x48, 0x2a, 0x52, 0x0d, 0x69, 0x6e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, - 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, 0x69, 0x6e, 0x5f, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, - 0x18, 0x2e, 0x20, 0x01, 0x28, 0x04, 0x48, 0x2b, 0x52, 0x13, 0x69, 0x6e, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x3c, 0x0a, 0x11, 0x69, 0x6e, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x2c, 0x52, 0x0f, 0x69, 0x6e, 0x46, 0x75, - 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, - 0x0a, 0x14, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6f, - 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x18, 0x30, 0x20, 0x01, 0x28, 0x04, 0x48, 0x2d, 0x52, 0x12, - 0x6f, 0x75, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4f, 0x66, 0x66, 0x65, 0x72, - 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x66, 0x66, - 0x65, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x2e, 0x52, 0x0e, - 0x6f, 0x75, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x39, 0x0a, 0x16, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x32, 0x20, 0x01, 0x28, - 0x04, 0x48, 0x2f, 0x52, 0x14, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x12, - 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x73, - 0x61, 0x74, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x30, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x46, 0x75, 0x6c, 0x66, - 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x16, - 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x38, 0x20, 0x01, 0x28, 0x04, 0x48, 0x31, 0x52, 0x14, - 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x05, 0x68, 0x74, 0x6c, 0x63, 0x73, - 0x18, 0x34, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x52, 0x05, 0x68, 0x74, 0x6c, 0x63, - 0x73, 0x12, 0x27, 0x0a, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x18, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x32, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, - 0x65, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x88, 0x01, 0x01, 0x22, 0x80, 0x03, 0x0a, 0x1d, 0x4c, - 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0c, 0x0a, 0x08, - 0x4f, 0x50, 0x45, 0x4e, 0x49, 0x4e, 0x47, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, - 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x44, 0x5f, 0x41, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, - 0x4c, 0x4f, 0x43, 0x4b, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x48, 0x41, 0x4e, - 0x4e, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x1a, 0x0a, - 0x16, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x44, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x54, 0x49, - 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x4c, 0x4f, - 0x53, 0x49, 0x4e, 0x47, 0x44, 0x5f, 0x53, 0x49, 0x47, 0x45, 0x58, 0x43, 0x48, 0x41, 0x4e, 0x47, - 0x45, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4c, 0x4f, 0x53, 0x49, 0x4e, 0x47, 0x44, 0x5f, - 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x57, - 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x49, 0x4c, 0x41, 0x54, 0x45, 0x52, 0x41, - 0x4c, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x53, - 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x45, 0x4e, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x4f, - 0x4e, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x55, 0x41, 0x4c, - 0x4f, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x10, - 0x09, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x55, 0x41, 0x4c, 0x4f, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x41, - 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x49, 0x4e, 0x10, 0x0a, - 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x44, 0x5f, 0x41, 0x57, 0x41, - 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x43, 0x45, 0x10, 0x0b, 0x12, 0x1c, - 0x0a, 0x18, 0x44, 0x55, 0x41, 0x4c, 0x4f, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x4e, - 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x1f, 0x0a, 0x1b, - 0x44, 0x55, 0x41, 0x4c, 0x4f, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x43, - 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x0d, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x65, - 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x63, 0x72, 0x61, 0x74, - 0x63, 0x68, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, - 0x65, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6c, 0x6f, - 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x65, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x13, - 0x0a, 0x11, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, - 0x78, 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, - 0x61, 0x73, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x70, 0x65, 0x6e, - 0x65, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x42, 0x0a, 0x0a, + 0x74, 0x48, 0x11, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x55, 0x73, 0x4d, 0x73, 0x61, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x12, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x73, 0x61, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x13, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x42, + 0x61, 0x73, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x1b, 0x66, 0x65, + 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, + 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x14, 0x52, 0x19, 0x66, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x38, 0x0a, 0x0f, 0x64, 0x75, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x73, + 0x61, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x15, 0x52, 0x0d, 0x64, 0x75, 0x73, 0x74, 0x4c, 0x69, 0x6d, + 0x69, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x16, 0x6d, 0x61, 0x78, + 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x16, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x74, + 0x61, 0x6c, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x3e, 0x0a, 0x12, 0x74, 0x68, 0x65, 0x69, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x17, 0x52, 0x10, 0x74, 0x68, 0x65, 0x69, + 0x72, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x3a, 0x0a, 0x10, 0x6f, 0x75, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x18, 0x52, 0x0e, 0x6f, 0x75, 0x72, 0x52, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x0e, 0x73, + 0x70, 0x65, 0x6e, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x21, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x48, 0x19, 0x52, 0x0d, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x73, 0x61, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x1a, 0x52, 0x0e, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x41, 0x0a, 0x14, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, + 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x1b, 0x52, 0x11, 0x6d, 0x69, + 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x4d, 0x73, 0x61, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x43, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x74, + 0x6c, 0x63, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x1c, + 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x74, 0x6c, 0x63, 0x4f, 0x75, 0x74, + 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x69, 0x6d, + 0x75, 0x6d, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, + 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x48, 0x1d, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x74, + 0x6c, 0x63, 0x4f, 0x75, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x13, + 0x74, 0x68, 0x65, 0x69, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x64, 0x65, + 0x6c, 0x61, 0x79, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x1e, 0x52, 0x10, 0x74, 0x68, 0x65, + 0x69, 0x72, 0x54, 0x6f, 0x53, 0x65, 0x6c, 0x66, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x11, 0x6f, 0x75, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, + 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x1f, 0x52, 0x0e, 0x6f, + 0x75, 0x72, 0x54, 0x6f, 0x53, 0x65, 0x6c, 0x66, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x31, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, + 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x20, 0x52, 0x10, + 0x6d, 0x61, 0x78, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x48, 0x74, 0x6c, 0x63, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x29, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, + 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x48, 0x21, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x2b, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x6e, + 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, + 0x64, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x04, 0x48, 0x22, 0x52, 0x11, 0x69, 0x6e, 0x50, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x38, 0x0a, 0x0f, 0x69, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x73, + 0x61, 0x74, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x23, 0x52, 0x0d, 0x69, 0x6e, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, 0x69, 0x6e, 0x5f, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, + 0x65, 0x64, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x04, 0x48, 0x24, 0x52, 0x13, 0x69, 0x6e, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x11, 0x69, 0x6e, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, + 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x25, 0x52, 0x0f, 0x69, 0x6e, + 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x35, 0x0a, 0x14, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x18, 0x30, 0x20, 0x01, 0x28, 0x04, 0x48, 0x26, + 0x52, 0x12, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x5f, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x31, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x27, + 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x16, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x32, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x28, 0x52, 0x14, 0x6f, 0x75, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x46, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3e, + 0x0a, 0x12, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x29, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x46, 0x75, + 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x38, + 0x0a, 0x05, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x34, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x48, 0x74, 0x6c, 0x63, + 0x73, 0x52, 0x05, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x12, 0x27, 0x0a, 0x0d, 0x63, 0x6c, 0x6f, 0x73, + 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x2a, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x6f, 0x41, 0x64, 0x64, 0x72, 0x88, 0x01, + 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x36, 0x20, 0x01, 0x28, 0x08, 0x48, 0x2b, 0x52, 0x0f, + 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x46, 0x65, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x43, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x37, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, + 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x48, 0x2c, 0x52, 0x07, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, + 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x38, 0x20, 0x01, 0x28, 0x04, 0x48, 0x2d, 0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x53, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6c, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x39, 0x20, 0x01, 0x28, 0x08, 0x48, 0x2e, 0x52, 0x09, 0x6c, 0x6f, 0x73, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x72, 0x65, 0x65, 0x73, 0x74, 0x61, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x2f, 0x52, + 0x0d, 0x72, 0x65, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x39, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x78, 0x5f, 0x66, 0x65, 0x65, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x30, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, + 0x54, 0x78, 0x46, 0x65, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x31, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, + 0x80, 0x03, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x50, 0x45, 0x4e, 0x49, 0x4e, 0x47, 0x44, 0x10, 0x00, 0x12, + 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x44, 0x5f, 0x41, 0x57, 0x41, 0x49, + 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x13, 0x0a, + 0x0f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, + 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x44, 0x5f, 0x53, + 0x48, 0x55, 0x54, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, 0x18, + 0x0a, 0x14, 0x43, 0x4c, 0x4f, 0x53, 0x49, 0x4e, 0x47, 0x44, 0x5f, 0x53, 0x49, 0x47, 0x45, 0x58, + 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4c, 0x4f, 0x53, + 0x49, 0x4e, 0x47, 0x44, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x12, + 0x17, 0x0a, 0x13, 0x41, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x49, 0x4c, + 0x41, 0x54, 0x45, 0x52, 0x41, 0x4c, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x55, 0x4e, 0x44, + 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x45, 0x45, 0x4e, 0x10, 0x07, + 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x4e, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10, 0x08, 0x12, 0x17, 0x0a, + 0x13, 0x44, 0x55, 0x41, 0x4c, 0x4f, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, + 0x49, 0x4e, 0x49, 0x54, 0x10, 0x09, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x55, 0x41, 0x4c, 0x4f, 0x50, + 0x45, 0x4e, 0x44, 0x5f, 0x41, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x4c, 0x4f, 0x43, + 0x4b, 0x49, 0x4e, 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, + 0x44, 0x5f, 0x41, 0x57, 0x41, 0x49, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x43, + 0x45, 0x10, 0x0b, 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x55, 0x41, 0x4c, 0x4f, 0x50, 0x45, 0x4e, 0x44, + 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, + 0x0c, 0x12, 0x1f, 0x0a, 0x1b, 0x44, 0x55, 0x41, 0x4c, 0x4f, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x4f, + 0x50, 0x45, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x59, + 0x10, 0x0d, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, + 0x78, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x42, 0x11, + 0x0a, 0x0f, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x75, 0x74, 0x6e, 0x75, + 0x6d, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x65, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x66, + 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6e, 0x65, 0x78, 0x74, + 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x5f, @@ -20587,737 +36771,739 @@ var file_node_proto_rawDesc = []byte{ 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x75, 0x6c, 0x66, 0x69, - 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, - 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x22, 0xc5, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x70, - 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x05, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x4c, - 0x6f, 0x63, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x88, 0x01, 0x01, - 0x12, 0x47, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x01, 0x52, 0x06, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0xc2, - 0x03, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x3c, 0x0a, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, - 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, - 0x00, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x73, - 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x61, - 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, - 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x73, 0x61, 0x74, - 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, - 0x72, 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, - 0x52, 0x0f, 0x63, 0x6c, 0x74, 0x76, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x74, - 0x61, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x03, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x42, - 0x61, 0x73, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x1b, 0x66, 0x65, - 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, - 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x04, 0x52, 0x19, 0x66, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, 0x42, - 0x14, 0x0a, 0x12, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, - 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, - 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x74, - 0x61, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, - 0x73, 0x61, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, - 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, - 0x74, 0x68, 0x73, 0x22, 0xc3, 0x03, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, + 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x42, 0x14, 0x0a, 0x12, 0x5f, + 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x42, 0x19, 0x0a, + 0x17, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6c, 0x6f, 0x73, + 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x72, 0x65, 0x65, 0x73, + 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x74, 0x78, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0x0a, + 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x12, 0x3f, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x12, 0x47, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x3c, 0x0a, - 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, - 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x69, 0x6e, - 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x11, 0x68, - 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x61, 0x78, 0x69, 0x6d, - 0x75, 0x6d, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x63, 0x6c, 0x74, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, + 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0xb5, 0x02, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, + 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x37, + 0x0a, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x69, 0x6e, 0x69, + 0x6d, 0x75, 0x6d, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x37, 0x0a, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, + 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x73, 0x61, 0x74, + 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x5f, + 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6c, 0x74, + 0x76, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x0d, + 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x0b, 0x66, 0x65, 0x65, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x3e, 0x0a, + 0x1b, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x19, 0x66, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x22, 0xb6, 0x02, + 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x37, 0x0a, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, + 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x73, 0x61, 0x74, + 0x12, 0x37, 0x0a, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x61, + 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0f, 0x63, 0x6c, 0x74, 0x76, 0x45, 0x78, 0x70, 0x69, - 0x72, 0x79, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x0d, 0x66, 0x65, - 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x03, - 0x52, 0x0b, 0x66, 0x65, 0x65, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x43, 0x0a, 0x1b, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x04, 0x52, 0x19, 0x66, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x70, - 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, - 0x68, 0x73, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, - 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, - 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x66, 0x65, 0x65, 0x5f, - 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x66, 0x65, - 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, - 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x22, 0x6b, 0x0a, 0x1f, 0x4c, 0x69, 0x73, - 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x05, - 0x70, 0x65, 0x72, 0x6b, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x70, - 0x65, 0x72, 0x6b, 0x77, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x70, 0x65, 0x72, 0x6b, 0x62, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x05, 0x70, 0x65, 0x72, 0x6b, 0x62, 0x88, - 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x65, 0x72, 0x6b, 0x77, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x70, 0x65, 0x72, 0x6b, 0x62, 0x22, 0xe2, 0x03, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x70, - 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x49, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x66, - 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, - 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0d, 0x66, - 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, - 0x1d, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x02, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3e, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6c, 0x74, 0x76, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, + 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, + 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x42, 0x61, + 0x73, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x3e, 0x0a, 0x1b, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x72, + 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, + 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x66, 0x65, 0x65, + 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x69, 0x6c, 0x6c, + 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x22, 0x4d, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, + 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x65, 0x72, + 0x6b, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x65, 0x72, 0x6b, 0x77, 0x12, + 0x14, 0x0a, 0x05, 0x70, 0x65, 0x72, 0x6b, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, + 0x70, 0x65, 0x72, 0x6b, 0x62, 0x22, 0xed, 0x02, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, + 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x49, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, 0x12, 0x25, 0x0a, + 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x75, + 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, - 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x03, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x28, - 0x0a, 0x0d, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x12, 0x48, 0x04, 0x52, 0x0c, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x6f, 0x75, 0x72, 0x5f, - 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, - 0x05, 0x52, 0x0e, 0x6f, 0x75, 0x72, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x61, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x74, 0x78, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x06, 0x52, 0x0b, 0x73, 0x63, - 0x72, 0x61, 0x74, 0x63, 0x68, 0x54, 0x78, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, - 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x42, 0x11, 0x0a, - 0x0f, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x15, 0x0a, 0x13, - 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, - 0x73, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6f, 0x75, 0x72, 0x5f, 0x66, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, - 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x22, 0x99, 0x03, 0x0a, 0x1f, - 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, - 0x31, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, - 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x0e, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3c, - 0x0a, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x5f, 0x6d, - 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x46, 0x75, 0x6e, 0x64, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x0d, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x35, 0x0a, 0x10, 0x6f, 0x75, 0x72, + 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x52, 0x0e, 0x6f, 0x75, 0x72, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x61, 0x74, + 0x12, 0x26, 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x78, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, + 0x68, 0x54, 0x78, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x70, 0x6c, 0x69, + 0x63, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x48, + 0x01, 0x52, 0x0c, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x73, 0x63, 0x72, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, + 0x78, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xe4, 0x02, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, + 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x31, 0x0a, 0x0b, 0x70, 0x75, 0x73, + 0x68, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x70, + 0x75, 0x73, 0x68, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x10, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x4d, + 0x73, 0x61, 0x74, 0x12, 0x37, 0x0a, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x75, + 0x6e, 0x64, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x34, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x48, 0x03, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x50, 0x61, 0x69, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, + 0x48, 0x01, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x50, 0x61, 0x69, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x63, 0x76, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x04, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x52, 0x63, 0x76, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x52, 0x63, 0x76, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x70, 0x75, 0x73, - 0x68, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x14, 0x0a, - 0x12, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x5f, 0x6d, - 0x73, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x64, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x63, - 0x76, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x22, 0x6c, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x70, - 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0xaf, 0x04, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, - 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x12, 0x6c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x49, 0x2e, 0x63, 0x6c, 0x6e, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x44, 0x69, 0x72, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x48, 0x01, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x0a, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, - 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, - 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, - 0x48, 0x04, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x88, - 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x69, 0x6d, - 0x6d, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x0c, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x54, 0x72, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x48, - 0x74, 0x6c, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x07, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x88, 0x01, 0x01, 0x22, 0x39, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x48, 0x74, 0x6c, 0x63, 0x73, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x06, - 0x0a, 0x02, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x05, 0x0a, - 0x03, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x6d, 0x73, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x69, 0x6d, 0x6d, - 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x37, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, - 0x22, 0x6b, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, - 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x0e, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xd4, 0x0c, - 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, - 0x2d, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x45, - 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x48, 0x02, 0x52, 0x05, 0x61, 0x6c, 0x69, - 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x72, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x72, 0x12, - 0x2d, 0x0a, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x64, - 0x65, 0x48, 0x03, 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x18, - 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x38, 0x0a, 0x18, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x74, 0x6c, 0x63, 0x73, - 0x53, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x74, 0x78, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x66, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x5f, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0d, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x16, - 0x0a, 0x06, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x43, 0x0a, 0x15, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x48, 0x04, 0x52, 0x12, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, - 0x50, 0x61, 0x69, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x15, 0x66, - 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x63, 0x76, 0x64, 0x5f, - 0x6d, 0x73, 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, - 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x05, 0x52, 0x12, 0x66, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x46, 0x65, 0x65, 0x52, 0x63, 0x76, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x40, 0x0a, 0x13, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x75, 0x73, 0x68, - 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x06, 0x52, 0x11, 0x66, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x34, - 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, 0x6d, 0x73, - 0x61, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0d, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x6f, 0x55, 0x73, - 0x4d, 0x73, 0x61, 0x74, 0x12, 0x30, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, - 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x54, 0x6f, - 0x55, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x30, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, - 0x5f, 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x6d, 0x61, 0x78, - 0x54, 0x6f, 0x55, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x78, 0x69, 0x64, - 0x18, 0x16, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x07, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x78, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x49, 0x0a, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x08, - 0x52, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x46, 0x65, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x72, 0x0a, 0x0b, 0x63, 0x6c, - 0x6f, 0x73, 0x65, 0x5f, 0x63, 0x61, 0x75, 0x73, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x51, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x63, 0x61, 0x75, - 0x73, 0x65, 0x52, 0x0a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x12, 0x39, - 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x04, 0x48, 0x09, - 0x52, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x76, 0x0a, 0x2b, 0x4c, 0x69, 0x73, - 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x6c, 0x6f, - 0x73, 0x65, 0x5f, 0x63, 0x61, 0x75, 0x73, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, - 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x01, - 0x12, 0x08, 0x0a, 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, - 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, - 0x4f, 0x4c, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x4e, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10, - 0x05, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x13, 0x0a, - 0x11, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x66, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x65, - 0x65, 0x5f, 0x72, 0x63, 0x76, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x16, 0x0a, 0x14, 0x5f, - 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6d, - 0x73, 0x61, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x42, 0x1b, 0x0a, 0x19, - 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x74, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, - 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x19, 0x0a, + 0x68, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x66, 0x65, 0x65, + 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x66, + 0x65, 0x65, 0x5f, 0x72, 0x63, 0x76, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x22, 0x6c, 0x0a, 0x1d, + 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0x61, 0x0a, 0x10, 0x44, 0x65, - 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, - 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc3, 0x05, - 0x0a, 0x11, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, - 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x12, 0x31, 0x0a, 0x0b, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, - 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, - 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x02, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x61, 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x5f, 0x66, - 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x43, 0x6c, 0x74, 0x76, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0c, 0x48, 0x03, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x04, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x05, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x09, 0x66, 0x61, 0x6c, 0x6c, 0x62, - 0x61, 0x63, 0x6b, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6c, 0x6e, - 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, - 0x63, 0x6b, 0x73, 0x52, 0x09, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x29, - 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x45, 0x78, 0x74, - 0x72, 0x61, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x11, - 0x0a, 0x0f, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, 0x13, - 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x22, 0xe5, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, - 0x79, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x4b, 0x0a, 0x09, 0x69, 0x74, - 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x46, 0x61, 0x6c, - 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, - 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x69, - 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x88, 0x01, 0x01, - 0x12, 0x10, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x68, - 0x65, 0x78, 0x22, 0x4e, 0x0a, 0x16, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x46, - 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, - 0x50, 0x32, 0x50, 0x4b, 0x48, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x32, 0x53, 0x48, 0x10, - 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x32, 0x57, 0x50, 0x4b, 0x48, 0x10, 0x02, 0x12, 0x09, 0x0a, - 0x05, 0x50, 0x32, 0x57, 0x53, 0x48, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x32, 0x54, 0x52, - 0x10, 0x04, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x0e, 0x44, - 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x45, 0x78, 0x74, 0x72, 0x61, 0x12, 0x10, 0x0a, - 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, - 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x22, 0x27, 0x0a, 0x0d, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xd1, 0x2c, 0x0a, - 0x0e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, - 0x0d, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, - 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6f, 0x66, 0x66, - 0x65, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, - 0x1e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, - 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x1b, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x04, 0x52, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, - 0x4d, 0x69, 0x6e, 0x6f, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, - 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x05, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x11, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x06, 0x52, 0x0f, - 0x6f, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, - 0x10, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0b, 0x6f, 0x66, - 0x66, 0x65, 0x72, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, - 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0d, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x09, 0x52, 0x0d, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, 0x6f, 0x66, 0x66, 0x65, - 0x72, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, - 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0a, 0x52, 0x13, 0x6f, 0x66, 0x66, 0x65, 0x72, - 0x41, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x88, 0x01, - 0x01, 0x12, 0x31, 0x0a, 0x12, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0b, 0x52, - 0x10, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x61, - 0x78, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x73, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x27, 0x0a, - 0x0d, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x11, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0c, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x4e, 0x6f, 0x64, - 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x1d, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, - 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, - 0x19, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, - 0x21, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x1e, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x44, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, - 0x21, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x1e, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x44, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, - 0x1e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, - 0x17, 0x20, 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x1b, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x1c, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, - 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, - 0x19, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, - 0x66, 0x66, 0x65, 0x72, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, - 0x0f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x19, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x12, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x69, - 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x1a, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x13, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x50, 0x61, - 0x79, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x69, 0x6e, 0x76, 0x72, - 0x65, 0x71, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x14, - 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x3e, 0x0a, 0x12, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x15, 0x52, 0x10, 0x69, 0x6e, 0x76, - 0x72, 0x65, 0x71, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x2c, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x16, 0x52, 0x0e, 0x69, 0x6e, 0x76, - 0x72, 0x65, 0x71, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, - 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x04, 0x48, 0x17, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x72, 0x65, - 0x71, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, - 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, - 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x72, 0x65, - 0x71, 0x50, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, - 0x19, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x19, 0x52, 0x17, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x52, 0x65, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3b, - 0x0a, 0x17, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x1a, 0x52, 0x15, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x52, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x1f, 0x77, + 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0xc6, 0x03, 0x0a, 0x1d, 0x4c, + 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x12, 0x67, 0x0a, 0x09, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x49, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x48, 0x74, + 0x6c, 0x63, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x48, 0x74, 0x6c, 0x63, + 0x73, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, + 0x73, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x28, + 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x72, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x54, 0x72, + 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x48, 0x74, 0x6c, 0x63, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x39, 0x0a, 0x26, 0x4c, + 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x44, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, + 0x03, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x5f, 0x74, 0x72, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x22, 0x37, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, + 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x02, + 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x22, 0x6b, 0x0a, 0x1a, + 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, + 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x65, + 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xd4, 0x0c, 0x0a, 0x20, 0x4c, 0x69, + 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1c, + 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, + 0x00, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x10, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x05, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x48, 0x02, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x28, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, + 0x69, 0x64, 0x65, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x06, 0x63, + 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x64, 0x65, 0x48, 0x03, 0x52, + 0x06, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x6f, 0x63, 0x61, + 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x18, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x68, 0x74, 0x6c, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x53, 0x65, 0x6e, 0x74, + 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, + 0x78, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, + 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x75, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x64, 0x12, 0x43, 0x0a, 0x15, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x65, + 0x65, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x04, + 0x52, 0x12, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, 0x50, 0x61, 0x69, 0x64, + 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x15, 0x66, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x63, 0x76, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x48, 0x05, 0x52, 0x12, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x65, + 0x65, 0x52, 0x63, 0x76, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x13, + 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x06, 0x52, 0x11, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x50, 0x75, 0x73, 0x68, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2a, + 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x12, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x34, 0x0a, 0x10, 0x66, 0x69, + 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x0d, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x6f, 0x55, 0x73, 0x4d, 0x73, 0x61, 0x74, + 0x12, 0x30, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, 0x6d, 0x73, + 0x61, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x55, 0x73, 0x4d, 0x73, + 0x61, 0x74, 0x12, 0x30, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x55, 0x73, + 0x4d, 0x73, 0x61, 0x74, 0x12, 0x35, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x07, 0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x78, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x18, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x66, + 0x65, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x08, 0x52, 0x15, 0x6c, 0x61, + 0x73, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x65, 0x65, 0x4d, + 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x72, 0x0a, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, + 0x63, 0x61, 0x75, 0x73, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x51, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x63, 0x61, 0x75, 0x73, 0x65, 0x52, 0x0a, + 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x61, 0x75, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x16, 0x6c, 0x61, + 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x04, 0x48, 0x09, 0x52, 0x14, 0x6c, 0x61, + 0x73, 0x74, 0x53, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x76, 0x0a, 0x2b, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, + 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x63, + 0x61, 0x75, 0x73, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, + 0x00, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, + 0x55, 0x53, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, + 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x10, 0x04, + 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x4e, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10, 0x05, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x72, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x18, 0x0a, + 0x16, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x63, + 0x76, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x66, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, + 0x17, 0x0a, 0x15, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x6c, 0x61, 0x73, + 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x65, 0x65, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x74, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x88, 0x01, + 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0x61, 0x0a, 0x10, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x70, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, + 0x6c, 0x74, 0x31, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, + 0x31, 0x31, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x06, 0x0a, 0x11, 0x44, 0x65, + 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, + 0x70, 0x69, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1c, + 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x02, 0x52, + 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, + 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, + 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x43, 0x6c, 0x74, 0x76, + 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x03, + 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x04, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x05, 0x52, + 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x09, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, + 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x52, + 0x09, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x29, 0x0a, 0x05, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x05, + 0x65, 0x78, 0x74, 0x72, 0x61, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x68, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, + 0x06, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, + 0x68, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, + 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x46, + 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x4b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x46, 0x61, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x73, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x46, 0x61, + 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x69, 0x74, 0x65, + 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x88, 0x01, 0x01, 0x12, 0x10, + 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x68, 0x65, 0x78, + 0x22, 0x4e, 0x0a, 0x16, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x46, 0x61, 0x6c, + 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x32, + 0x50, 0x4b, 0x48, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x32, 0x53, 0x48, 0x10, 0x01, 0x12, + 0x0a, 0x0a, 0x06, 0x50, 0x32, 0x57, 0x50, 0x4b, 0x48, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x50, + 0x32, 0x57, 0x53, 0x48, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x32, 0x54, 0x52, 0x10, 0x04, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x22, 0x36, 0x0a, 0x0e, 0x44, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x45, 0x78, 0x74, 0x72, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x74, + 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x27, 0x0a, 0x0d, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x9a, 0x2f, 0x0a, 0x0e, 0x44, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, + 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0d, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, + 0x2a, 0x0a, 0x0e, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x6f, 0x66, 0x66, 0x65, 0x72, + 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x1e, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x1b, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x55, 0x6e, + 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x79, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x04, 0x52, 0x11, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x69, + 0x6e, 0x6f, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6f, 0x66, + 0x66, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, + 0x48, 0x05, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x11, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x06, 0x52, 0x0f, 0x6f, 0x66, + 0x66, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x10, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x73, 0x73, 0x75, + 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x65, + 0x72, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6f, 0x66, + 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x09, 0x52, 0x0d, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, + 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0a, 0x52, 0x13, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x41, 0x62, + 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, + 0x31, 0x0a, 0x12, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0b, 0x52, 0x10, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x78, 0x88, + 0x01, 0x01, 0x12, 0x37, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, + 0x63, 0x6f, 0x64, 0x65, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x52, + 0x0a, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x27, 0x0a, 0x0d, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x0c, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x1d, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6e, 0x6f, + 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0d, 0x52, 0x19, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x21, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0e, 0x52, 0x1e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x21, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0f, 0x52, 0x1e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x1e, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x17, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x10, 0x52, 0x1b, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x1c, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, + 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x48, 0x11, 0x52, 0x19, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4f, 0x66, 0x66, + 0x65, 0x72, 0x49, 0x73, 0x73, 0x75, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x69, + 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x19, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x12, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x69, 0x6e, 0x76, + 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x1a, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x13, 0x52, 0x0d, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x50, 0x61, 0x79, 0x65, + 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, + 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x14, 0x52, 0x0b, + 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3e, + 0x0a, 0x12, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x15, 0x52, 0x10, 0x69, 0x6e, 0x76, 0x72, 0x65, + 0x71, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2c, + 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x16, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x72, 0x65, + 0x71, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, + 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x04, 0x48, 0x17, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x51, + 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x69, 0x6e, + 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x18, + 0x1f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x50, + 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x19, 0x69, + 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x19, + 0x52, 0x17, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x52, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, + 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x1a, 0x52, + 0x15, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x52, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x1f, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, + 0x72, 0x65, 0x71, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x23, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x1b, 0x52, 0x1c, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x1f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, + 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1c, + 0x52, 0x1b, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x49, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x50, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x4d, 0x0a, 0x21, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1d, 0x52, 0x1d, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x76, + 0x72, 0x65, 0x71, 0x50, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x5d, 0x0a, 0x29, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x26, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x1e, 0x52, 0x25, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x5d, + 0x0a, 0x29, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x27, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x1f, 0x52, 0x25, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, + 0x12, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x04, 0x48, 0x20, 0x52, 0x10, 0x69, 0x6e, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x2a, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x21, 0x52, 0x15, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, + 0x14, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x22, 0x52, 0x12, 0x69, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, + 0x68, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x13, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x23, + 0x52, 0x11, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, + 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, + 0x65, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x2d, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x49, 0x6e, + 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x52, + 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, + 0x73, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x65, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x24, 0x52, 0x0f, 0x69, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x25, 0x52, 0x0d, 0x69, 0x6e, + 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x43, + 0x0a, 0x1b, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x30, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x26, 0x52, 0x19, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x73, 0x65, 0x74, 0x69, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1d, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x27, 0x52, 0x1a, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x6f, + 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x22, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, - 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x23, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x1b, 0x52, 0x1c, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, - 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x1f, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, - 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x1c, 0x52, 0x1b, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x50, 0x61, 0x79, 0x65, 0x72, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x21, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, - 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x48, 0x1d, 0x52, - 0x1d, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, - 0x6e, 0x76, 0x72, 0x65, 0x71, 0x50, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x5d, 0x0a, 0x29, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x26, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x1e, 0x52, 0x25, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, - 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x5d, 0x0a, 0x29, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x27, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x1f, 0x52, 0x25, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x31, 0x0a, 0x12, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x29, 0x20, 0x01, 0x28, 0x04, 0x48, 0x20, 0x52, 0x10, 0x69, - 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x2a, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x21, 0x52, 0x15, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x35, 0x0a, 0x14, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x22, 0x52, - 0x12, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, - 0x61, 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x13, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x2c, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x48, 0x23, 0x52, 0x11, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x6f, - 0x69, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x2d, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, - 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, - 0x73, 0x52, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, - 0x63, 0x6b, 0x73, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x66, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x24, 0x52, - 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, - 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, - 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x25, 0x52, 0x0d, - 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x43, 0x0a, 0x1b, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x30, 0x20, 0x01, 0x28, 0x04, 0x48, 0x26, 0x52, 0x19, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, - 0x52, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x73, 0x65, 0x74, 0x69, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x46, 0x0a, 0x1d, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, - 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x27, 0x52, 0x1a, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, - 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x62, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x70, 0x61, + 0x79, 0x18, 0x33, 0x20, 0x01, 0x28, 0x09, 0x48, 0x28, 0x52, 0x1f, 0x77, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, + 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x70, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x4f, 0x0a, 0x22, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x62, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, - 0x70, 0x61, 0x79, 0x18, 0x33, 0x20, 0x01, 0x28, 0x09, 0x48, 0x28, 0x52, 0x1f, 0x77, 0x61, 0x72, + 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x29, 0x52, 0x1e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x42, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x70, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x4f, 0x0a, 0x22, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x48, 0x29, 0x52, 0x1e, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, - 0x12, 0x53, 0x0a, 0x24, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2a, - 0x52, 0x20, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, - 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x1e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, - 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2b, 0x52, - 0x1b, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, - 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, - 0x61, 0x0a, 0x2b, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x37, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x2c, 0x52, 0x27, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, - 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x73, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x49, 0x0a, 0x1f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x38, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2d, 0x52, 0x1b, 0x77, + 0x63, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x53, + 0x0a, 0x24, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, + 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x35, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2a, 0x52, 0x20, + 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, + 0x76, 0x6f, 0x69, 0x63, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, + 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x1e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x36, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2b, 0x52, 0x1b, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, - 0x21, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x18, 0x39, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2e, 0x52, 0x1e, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, - 0x21, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2f, 0x52, 0x1e, 0x77, 0x61, 0x72, 0x6e, - 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, - 0x09, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x61, 0x6c, - 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x09, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, - 0x73, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, - 0x3c, 0x20, 0x01, 0x28, 0x04, 0x48, 0x30, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, - 0x3d, 0x20, 0x01, 0x28, 0x04, 0x48, 0x31, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x18, 0x3e, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x32, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, - 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x3f, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x33, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, - 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x40, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x34, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, - 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6e, - 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x41, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x35, 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x61, 0x6c, - 0x43, 0x6c, 0x74, 0x76, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, - 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, - 0x42, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x36, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x43, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x37, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x05, 0x65, 0x78, 0x74, - 0x72, 0x61, 0x18, 0x45, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, - 0x65, 0x63, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, - 0x61, 0x12, 0x20, 0x0a, 0x09, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x46, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x38, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x47, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x39, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, - 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x48, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x3a, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, - 0x3b, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x49, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, - 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x19, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x75, 0x74, 0x66, 0x38, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x3b, 0x52, 0x16, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x65, 0x49, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x55, 0x74, 0x66, 0x38, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, - 0x68, 0x65, 0x78, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x3c, 0x52, 0x03, 0x68, 0x65, 0x78, - 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, - 0x18, 0x4c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x3d, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x22, 0x83, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x63, 0x6f, 0x64, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x4f, 0x4c, 0x54, 0x31, 0x32, 0x5f, - 0x4f, 0x46, 0x46, 0x45, 0x52, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x42, 0x4f, 0x4c, 0x54, 0x31, - 0x32, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x42, - 0x4f, 0x4c, 0x54, 0x31, 0x32, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x52, 0x45, - 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x42, 0x4f, 0x4c, 0x54, 0x31, - 0x31, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x52, - 0x55, 0x4e, 0x45, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4d, 0x45, 0x52, 0x47, 0x45, 0x4e, - 0x43, 0x59, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x10, 0x05, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x66, - 0x66, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x11, 0x0a, 0x0f, - 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x42, - 0x21, 0x0a, 0x1f, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, - 0x6f, 0x77, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x63, 0x79, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x5f, - 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6f, - 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, - 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6f, 0x66, 0x66, 0x65, - 0x72, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x66, 0x66, - 0x65, 0x72, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, 0x18, 0x0a, 0x16, 0x5f, - 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x20, - 0x0a, 0x1e, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, - 0x42, 0x24, 0x0a, 0x22, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x24, 0x0a, 0x22, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, - 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x21, 0x0a, 0x1f, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x42, - 0x1f, 0x0a, 0x1d, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, - 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, 0x6e, 0x76, - 0x72, 0x65, 0x71, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, - 0x76, 0x72, 0x65, 0x71, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, - 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, 0x6e, 0x76, - 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x42, 0x1c, - 0x0a, 0x1a, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x42, 0x1a, 0x0a, 0x18, - 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, - 0x72, 0x65, 0x71, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x22, 0x0a, 0x20, + 0x6f, 0x69, 0x63, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x61, 0x0a, + 0x2b, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x37, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x2c, 0x52, 0x27, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x73, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x49, 0x0a, 0x1f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x38, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2d, 0x52, 0x1b, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x6f, 0x69, + 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x21, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x39, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2e, 0x52, 0x1e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x21, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x69, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x18, 0x3a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2f, 0x52, 0x1e, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x09, 0x66, + 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, + 0x61, 0x63, 0x6b, 0x73, 0x52, 0x09, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, + 0x22, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x3c, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x30, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x3d, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x31, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x88, 0x01, 0x01, + 0x12, 0x19, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0c, 0x48, + 0x32, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x3f, 0x20, 0x01, 0x28, + 0x0c, 0x48, 0x33, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, + 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x40, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x34, 0x52, + 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, + 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, + 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x41, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x35, 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x43, 0x6c, + 0x74, 0x76, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x42, 0x20, + 0x01, 0x28, 0x0c, 0x48, 0x36, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x43, 0x20, 0x01, 0x28, + 0x0c, 0x48, 0x37, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x18, 0x45, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x12, + 0x20, 0x0a, 0x09, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x46, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x38, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x47, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x39, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x48, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x3a, 0x52, 0x06, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, + 0x0c, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x49, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x72, 0x65, + 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x19, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x5f, 0x75, 0x74, 0x66, 0x38, 0x18, 0x4a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x3b, 0x52, + 0x16, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x65, 0x49, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x55, 0x74, 0x66, 0x38, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x68, 0x65, + 0x78, 0x18, 0x4b, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x3c, 0x52, 0x03, 0x68, 0x65, 0x78, 0x88, 0x01, + 0x01, 0x12, 0x21, 0x0a, 0x09, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x18, 0x4c, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x3d, 0x52, 0x09, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x18, 0x4d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x3e, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x79, 0x18, 0x4e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x3f, 0x52, 0x08, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x4f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x40, 0x52, 0x0a, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x50, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x41, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x51, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x42, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x52, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x68, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x43, 0x52, + 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x22, 0x83, 0x01, 0x0a, 0x0a, 0x44, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x4f, 0x4c, + 0x54, 0x31, 0x32, 0x5f, 0x4f, 0x46, 0x46, 0x45, 0x52, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x42, + 0x4f, 0x4c, 0x54, 0x31, 0x32, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x10, 0x01, 0x12, + 0x1a, 0x0a, 0x16, 0x42, 0x4f, 0x4c, 0x54, 0x31, 0x32, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, + 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x42, + 0x4f, 0x4c, 0x54, 0x31, 0x31, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x10, 0x03, 0x12, + 0x08, 0x0a, 0x04, 0x52, 0x55, 0x4e, 0x45, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4d, 0x45, + 0x52, 0x47, 0x45, 0x4e, 0x43, 0x59, 0x5f, 0x52, 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x10, 0x05, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, + 0x0f, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x79, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x42, 0x0f, + 0x0a, 0x0d, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x14, 0x0a, 0x12, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, + 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x42, 0x11, 0x0a, 0x0f, + 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, + 0x18, 0x0a, 0x16, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, + 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6f, 0x66, + 0x66, 0x65, 0x72, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x78, + 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, + 0x69, 0x64, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, + 0x65, 0x5f, 0x69, 0x64, 0x42, 0x24, 0x0a, 0x22, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x24, 0x0a, 0x22, 0x5f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x79, 0x42, 0x1f, 0x0a, 0x1d, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x73, + 0x73, 0x75, 0x65, 0x72, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x76, + 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x42, 0x15, 0x0a, + 0x13, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, + 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x76, + 0x72, 0x65, 0x71, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, + 0x74, 0x65, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x72, 0x65, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x22, 0x0a, 0x20, + 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x22, 0x0a, 0x20, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x42, 0x24, 0x0a, 0x22, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, + 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x42, 0x2c, 0x0a, 0x2a, 0x5f, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x2c, 0x0a, 0x2a, 0x5f, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, + 0x63, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x1a, 0x0a, + 0x18, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x69, 0x6e, + 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, + 0x73, 0x68, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x69, 0x64, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, + 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x74, + 0x69, 0x6d, 0x65, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x73, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, + 0x65, 0x5f, 0x62, 0x6c, 0x69, 0x6e, 0x64, 0x65, 0x64, 0x70, 0x61, 0x79, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x42, 0x24, 0x0a, 0x22, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x5f, 0x70, 0x61, 0x79, 0x65, - 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x42, 0x2c, 0x0a, 0x2a, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x42, 0x2c, 0x0a, 0x2a, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x6e, - 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x16, - 0x0a, 0x14, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x42, - 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x75, + 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x61, 0x74, 0x42, 0x27, 0x0a, 0x25, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x21, 0x0a, 0x1f, + 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x42, + 0x2e, 0x0a, 0x2c, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x42, - 0x20, 0x0a, 0x1e, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x73, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x62, 0x6c, - 0x69, 0x6e, 0x64, 0x65, 0x64, 0x70, 0x61, 0x79, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, - 0x27, 0x0a, 0x25, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x2e, 0x0a, 0x2c, 0x5f, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, - 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x22, 0x0a, 0x20, 0x5f, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, - 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x42, - 0x24, 0x0a, 0x22, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x24, 0x0a, 0x22, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x65, 0x42, - 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x66, 0x69, - 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, - 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x75, 0x6e, 0x69, 0x71, - 0x75, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x1c, 0x0a, 0x1a, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x69, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x75, 0x74, 0x66, 0x38, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x68, - 0x65, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, - 0x22, 0x53, 0x0a, 0x11, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, - 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x66, 0x69, - 0x72, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6c, 0x69, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x6c, 0x69, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x22, 0xbb, 0x01, 0x0a, 0x1f, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x22, 0x0a, 0x20, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x69, 0x64, 0x42, 0x24, 0x0a, 0x22, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x24, 0x0a, 0x22, 0x5f, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x69, 0x6e, + 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x61, + 0x79, 0x65, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6d, 0x69, + 0x6e, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x79, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6e, + 0x65, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x75, 0x74, 0x66, 0x38, 0x42, 0x06, + 0x0a, 0x04, 0x5f, 0x68, 0x65, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x65, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x22, 0xdb, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x27, 0x0a, + 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x4e, 0x6f, 0x64, + 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6c, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x6c, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x69, 0x64, + 0x5f, 0x64, 0x69, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0c, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x53, 0x63, 0x69, 0x64, 0x44, 0x69, 0x72, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, + 0x0a, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x09, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x63, 0x69, 0x64, 0x88, 0x01, + 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x63, + 0x69, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, + 0x5f, 0x73, 0x63, 0x69, 0x64, 0x22, 0xbb, 0x01, 0x0a, 0x1f, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x79, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, @@ -21344,794 +37530,3341 @@ var file_node_proto_rawDesc = []byte{ 0x28, 0x0c, 0x52, 0x03, 0x68, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x0f, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x61, 0x6c, + 0x73, 0x73, 0x22, 0xe6, 0x02, 0x0a, 0x0f, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x5d, 0x0a, 0x29, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x25, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x2c, 0x0a, 0x2a, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, - 0x63, 0x6b, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x22, 0x33, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x74, - 0x72, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x52, 0x0a, 0x12, 0x44, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, - 0x0a, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x48, 0x0a, 0x11, - 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x00, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x0a, 0x0f, - 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x38, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x53, 0x74, 0x79, - 0x6c, 0x65, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x22, 0x25, 0x0a, 0x0d, 0x46, 0x65, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x73, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x45, - 0x52, 0x4b, 0x42, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x45, 0x52, 0x4b, 0x57, 0x10, 0x01, - 0x22, 0xd7, 0x02, 0x0a, 0x10, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x18, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, - 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x16, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x65, 0x72, 0x6b, 0x62, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x73, 0x50, 0x65, 0x72, 0x6b, 0x62, 0x48, 0x01, 0x52, 0x05, 0x70, 0x65, 0x72, 0x6b, 0x62, - 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x65, 0x72, 0x6b, 0x77, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x73, 0x50, 0x65, 0x72, 0x6b, 0x77, 0x48, 0x02, 0x52, 0x05, 0x70, 0x65, 0x72, 0x6b, 0x77, 0x88, - 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x15, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x65, - 0x65, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, - 0x4f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x65, 0x73, 0x74, 0x69, - 0x6d, 0x61, 0x74, 0x65, 0x73, 0x48, 0x03, 0x52, 0x13, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x46, 0x65, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, - 0x1b, 0x0a, 0x19, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x42, 0x08, 0x0a, 0x06, - 0x5f, 0x70, 0x65, 0x72, 0x6b, 0x62, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x65, 0x72, 0x6b, 0x77, - 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x65, 0x65, - 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x22, 0xe7, 0x04, 0x0a, 0x0d, 0x46, - 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x6b, 0x62, 0x12, 0x25, 0x0a, 0x0e, - 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x78, - 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6c, - 0x6f, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x66, 0x6c, 0x6f, - 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x09, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, - 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, - 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x6b, 0x62, 0x45, 0x73, 0x74, 0x69, - 0x6d, 0x61, 0x74, 0x65, 0x73, 0x52, 0x09, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, + 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x2e, 0x44, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x04, + 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x61, 0x64, + 0x64, 0x72, 0x88, 0x01, 0x01, 0x12, 0x10, 0x0a, 0x03, 0x68, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x03, 0x68, 0x65, 0x78, 0x22, 0x4b, 0x0a, 0x13, 0x44, 0x65, 0x63, 0x6f, 0x64, + 0x65, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, + 0x0a, 0x05, 0x50, 0x32, 0x50, 0x4b, 0x48, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x32, 0x53, + 0x48, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x32, 0x57, 0x50, 0x4b, 0x48, 0x10, 0x02, 0x12, + 0x09, 0x0a, 0x05, 0x50, 0x32, 0x57, 0x53, 0x48, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x32, + 0x54, 0x52, 0x10, 0x04, 0x42, 0x2c, 0x0a, 0x2a, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x22, 0x33, 0x0a, 0x0b, 0x44, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x22, 0x52, 0x0a, 0x12, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6c, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x22, 0xe8, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x70, 0x61, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x44, 0x65, 0x6c, 0x70, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x65, + 0x6c, 0x70, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x04, 0x48, 0x00, 0x52, 0x06, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x1d, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, + 0x48, 0x01, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x88, 0x01, 0x01, 0x22, 0x28, + 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x70, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0c, + 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x22, + 0x41, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x70, 0x61, 0x79, + 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x22, 0x86, 0x07, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x70, 0x61, 0x79, 0x50, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0c, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x40, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x70, 0x61, 0x79, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x70, 0x61, 0x79, 0x50, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x35, 0x0a, 0x10, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, + 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x02, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x48, 0x03, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x04, 0x48, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, + 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x07, 0x52, 0x0f, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x08, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, + 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x09, 0x52, + 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, + 0x6c, 0x74, 0x31, 0x32, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x06, 0x62, 0x6f, + 0x6c, 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0b, 0x52, 0x0a, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x3d, 0x0a, 0x14, + 0x44, 0x65, 0x6c, 0x70, 0x61, 0x79, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, + 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x42, 0x10, 0x0a, 0x0e, 0x5f, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, + 0x31, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x22, 0xd0, 0x01, 0x0a, 0x11, + 0x44, 0x65, 0x6c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x12, 0x1c, 0x0a, 0x0a, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x64, 0x12, 0x3f, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x6c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x3d, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, + 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, 0x14, + 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x0a, 0x13, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x22, 0xb9, 0x01, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x07, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x73, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55, 0x73, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, 0x19, 0x0a, + 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x22, 0x48, 0x0a, 0x11, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x14, 0x0a, 0x12, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x72, 0x0a, 0x0f, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x73, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x22, + 0x25, 0x0a, 0x0d, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x53, 0x74, 0x79, 0x6c, 0x65, + 0x12, 0x09, 0x0a, 0x05, 0x50, 0x45, 0x52, 0x4b, 0x42, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x50, + 0x45, 0x52, 0x4b, 0x57, 0x10, 0x01, 0x22, 0xd7, 0x02, 0x0a, 0x10, 0x46, 0x65, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x18, 0x77, + 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x66, + 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x16, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x46, + 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x65, + 0x72, 0x6b, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x6b, 0x62, 0x48, 0x01, 0x52, + 0x05, 0x70, 0x65, 0x72, 0x6b, 0x62, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x05, 0x70, 0x65, 0x72, + 0x6b, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, + 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x6b, 0x77, 0x48, 0x02, 0x52, 0x05, + 0x70, 0x65, 0x72, 0x6b, 0x77, 0x88, 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x15, 0x6f, 0x6e, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, + 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x4f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x65, + 0x65, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x48, 0x03, 0x52, 0x13, 0x6f, + 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, + 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x70, 0x65, 0x72, 0x6b, 0x62, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x70, 0x65, 0x72, 0x6b, 0x77, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6f, 0x6e, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, + 0x22, 0xe7, 0x04, 0x0a, 0x0d, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, + 0x6b, 0x62, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x41, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x78, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x01, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, + 0x0d, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0b, 0x6d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x43, + 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0b, 0x6d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x03, 0x52, 0x0f, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x75, 0x6e, 0x69, 0x6c, 0x61, - 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x6f, - 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x04, 0x52, 0x15, 0x75, 0x6e, 0x69, 0x6c, - 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x43, 0x6c, 0x6f, 0x73, - 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, - 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x0b, 0x64, - 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x54, 0x6f, 0x55, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, - 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, 0x52, 0x0e, 0x68, 0x74, 0x6c, 0x63, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x70, - 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x07, 0x52, 0x07, - 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, - 0x6c, 0x6f, 0x6f, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, - 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, - 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, - 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x75, 0x6e, 0x69, 0x6c, 0x61, - 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x6f, + 0x0d, 0x48, 0x02, 0x52, 0x0f, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x43, + 0x6c, 0x6f, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x61, 0x79, + 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, + 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x54, 0x6f, 0x55, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x2c, 0x0a, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x04, 0x52, 0x0e, 0x68, 0x74, 0x6c, + 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, + 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x05, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, + 0x09, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x50, + 0x65, 0x72, 0x6b, 0x62, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x52, 0x09, 0x65, + 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, + 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x07, 0x52, 0x15, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, + 0x61, 0x6c, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x88, 0x01, 0x01, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x6d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x13, 0x0a, + 0x11, 0x5f, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x65, 0x6e, - 0x61, 0x6c, 0x74, 0x79, 0x22, 0xbc, 0x01, 0x0a, 0x16, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x73, 0x50, 0x65, 0x72, 0x6b, 0x62, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x12, - 0x23, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x65, 0x64, 0x5f, - 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, - 0x0f, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x65, 0x64, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x13, - 0x0a, 0x11, 0x5f, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x22, 0xe7, 0x04, 0x0a, 0x0d, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, - 0x50, 0x65, 0x72, 0x6b, 0x77, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x63, - 0x65, 0x70, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, - 0x69, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, - 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x39, - 0x0a, 0x09, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, - 0x50, 0x65, 0x72, 0x6b, 0x77, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x52, 0x09, - 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x07, 0x6f, 0x70, 0x65, - 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x07, 0x6f, 0x70, + 0x61, 0x6c, 0x74, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x42, 0x1a, + 0x0a, 0x18, 0x5f, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x61, 0x6e, + 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x22, 0x7d, 0x0a, 0x16, 0x46, 0x65, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x6b, 0x62, 0x45, 0x73, 0x74, 0x69, 0x6d, + 0x61, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x29, + 0x0a, 0x10, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, + 0x65, 0x64, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x22, 0xe7, 0x04, 0x0a, 0x0d, 0x46, 0x65, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x6b, 0x77, 0x12, 0x25, 0x0a, 0x0e, 0x6d, + 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x41, + 0x63, 0x63, 0x65, 0x70, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x6f, 0x70, 0x65, + 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x6d, 0x75, 0x74, 0x75, - 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, + 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0b, 0x6d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0f, 0x75, 0x6e, + 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0f, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x3b, 0x0a, 0x17, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x61, - 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x0d, 0x48, 0x04, 0x52, 0x15, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x41, - 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, - 0x0d, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x54, - 0x6f, 0x55, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x72, - 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x06, 0x52, 0x0e, 0x68, 0x74, 0x6c, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x07, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, - 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x75, - 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x75, - 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x42, - 0x1a, 0x0a, 0x18, 0x5f, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x61, - 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, + 0x12, 0x27, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x61, 0x79, + 0x65, 0x64, 0x54, 0x6f, 0x55, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x68, 0x74, 0x6c, + 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x04, 0x52, 0x0e, 0x68, 0x74, 0x6c, 0x63, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x70, 0x65, 0x6e, 0x61, 0x6c, + 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x07, 0x70, 0x65, 0x6e, 0x61, + 0x6c, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x09, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, + 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x6b, 0x77, 0x45, 0x73, 0x74, + 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x52, 0x09, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, + 0x73, 0x12, 0x19, 0x0a, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x06, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, + 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, + 0x72, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x07, 0x52, + 0x15, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x41, 0x6e, 0x63, 0x68, 0x6f, + 0x72, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x70, + 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x6d, 0x75, 0x74, 0x75, 0x61, 0x6c, + 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x75, 0x6e, 0x69, 0x6c, 0x61, + 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x22, 0xbc, 0x01, - 0x0a, 0x16, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x50, 0x65, 0x72, 0x6b, 0x77, 0x45, - 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0a, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, - 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, - 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, - 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0f, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, - 0x65, 0x64, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, - 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x6d, 0x6f, 0x6f, - 0x74, 0x68, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x22, 0xad, 0x03, 0x0a, - 0x1d, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x4f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x12, 0x38, - 0x0a, 0x18, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x16, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x53, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x75, 0x74, 0x75, - 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x6d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x12, 0x3a, 0x0a, 0x19, - 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x17, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, - 0x53, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x12, 0x52, 0x0a, 0x23, 0x75, 0x6e, 0x69, 0x6c, - 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, - 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x20, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, - 0x72, 0x61, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x68, 0x6f, - 0x72, 0x53, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x15, - 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x61, 0x74, - 0x6f, 0x73, 0x68, 0x69, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x68, 0x74, 0x6c, - 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, - 0x12, 0x32, 0x0a, 0x15, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x13, 0x68, 0x74, 0x6c, 0x63, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x61, 0x74, 0x6f, - 0x73, 0x68, 0x69, 0x73, 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, - 0x72, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x61, 0x6e, 0x63, - 0x68, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x22, 0xcf, 0x03, 0x0a, - 0x13, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, - 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x01, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x32, - 0x0a, 0x12, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x11, 0x72, 0x65, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x88, - 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, 0x03, 0x52, 0x0f, - 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0f, - 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x88, - 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x01, 0x48, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, - 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x09, 0x70, 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, - 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x13, - 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x22, 0xb8, - 0x01, 0x0a, 0x14, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x12, 0x32, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, - 0x76, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x52, 0x07, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, - 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, - 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, - 0x78, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0xc7, 0x02, 0x0a, 0x13, 0x46, 0x65, - 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x73, 0x12, 0x36, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x13, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x70, - 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x2a, 0x0a, 0x0e, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0d, 0x76, 0x65, 0x6e, 0x64, - 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, - 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, - 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x04, 0x52, 0x0a, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, - 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x70, 0x70, - 0x65, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, - 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x76, 0x65, 0x6e, - 0x64, 0x6f, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, - 0x73, 0x61, 0x74, 0x22, 0xb9, 0x01, 0x0a, 0x17, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x74, 0x69, 0x6d, - 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x77, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, - 0x79, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0c, 0x70, 0x61, 0x79, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x45, 0x6e, 0x64, 0x22, - 0xf7, 0x04, 0x0a, 0x12, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x41, 0x6c, 0x6c, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x2b, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x48, - 0x00, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, - 0x08, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x01, 0x52, 0x08, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, - 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x02, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, - 0x09, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x03, 0x52, - 0x08, 0x70, 0x75, 0x73, 0x68, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, - 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, - 0x52, 0x07, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x6d, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x05, - 0x52, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x6d, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x66, 0x6c, 0x6f, 0x6f, 0x72, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x75, 0x6e, 0x69, 0x6c, + 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x22, 0x7d, 0x0a, 0x16, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x50, + 0x65, 0x72, 0x6b, 0x77, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a, + 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, + 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x6d, 0x6f, 0x6f, 0x74, + 0x68, 0x65, 0x64, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0f, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x65, 0x64, 0x46, 0x65, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x22, 0xad, 0x03, 0x0a, 0x1d, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x4f, + 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x65, 0x73, 0x74, 0x69, 0x6d, + 0x61, 0x74, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x12, 0x32, + 0x0a, 0x15, 0x6d, 0x75, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x73, + 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x6d, + 0x75, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x61, 0x74, 0x6f, 0x73, 0x68, + 0x69, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, + 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x12, 0x32, + 0x0a, 0x15, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, + 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x68, + 0x74, 0x6c, 0x63, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x61, 0x74, 0x6f, 0x73, 0x68, + 0x69, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x13, 0x68, 0x74, 0x6c, 0x63, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x53, 0x61, + 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x12, 0x52, 0x0a, 0x23, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, + 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x61, 0x6e, + 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x20, 0x75, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, + 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x4e, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x53, + 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x88, 0x01, 0x01, 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x75, + 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, + 0x6e, 0x6f, 0x6e, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, + 0x69, 0x73, 0x22, 0xcf, 0x03, 0x0a, 0x13, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x66, + 0x66, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x66, 0x66, 0x65, 0x72, + 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, + 0x48, 0x02, 0x52, 0x11, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x01, 0x48, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x04, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, + 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x48, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x79, 0x65, 0x72, + 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x09, 0x70, + 0x61, 0x79, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x72, 0x65, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x42, + 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, + 0x6e, 0x6f, 0x74, 0x65, 0x22, 0xb8, 0x01, 0x0a, 0x14, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, + 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, + 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, + 0x65, 0x73, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, + 0x69, 0x63, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x48, 0x00, + 0x52, 0x0a, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, + 0xc7, 0x02, 0x0a, 0x13, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, + 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x14, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, + 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x0d, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x48, 0x04, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, + 0x01, 0x01, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, + 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x22, 0xb9, 0x01, 0x0a, 0x17, 0x46, 0x65, + 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x65, 0x6e, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, + 0x65, 0x6e, 0x64, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x77, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x0e, 0x70, 0x61, 0x79, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x79, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, 0x65, 0x6e, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x61, 0x79, 0x77, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x45, 0x6e, 0x64, 0x22, 0x2b, 0x0a, 0x19, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, + 0x69, 0x64, 0x22, 0x3a, 0x0a, 0x1a, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x41, + 0x0a, 0x1b, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x62, + 0x74, 0x22, 0x6e, 0x0a, 0x1c, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, + 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, + 0x64, 0x22, 0xf7, 0x04, 0x0a, 0x12, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x41, 0x6c, 0x6c, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x48, 0x00, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1f, 0x0a, 0x08, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x01, 0x52, 0x08, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x2d, 0x0a, 0x09, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x48, 0x02, 0x52, 0x08, 0x70, 0x75, 0x73, 0x68, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x1e, 0x0a, 0x08, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x07, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x6f, 0x88, 0x01, 0x01, 0x12, + 0x31, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x6d, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x48, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x6d, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6d, + 0x70, 0x61, 0x63, 0x74, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x07, + 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x06, 0x52, + 0x07, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x05, 0x75, + 0x74, 0x78, 0x6f, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, + 0x12, 0x1f, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x07, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x88, 0x01, + 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, + 0x08, 0x52, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, + 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x75, + 0x73, 0x68, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6c, 0x6f, 0x73, + 0x65, 0x5f, 0x74, 0x6f, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x61, 0x6d, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, + 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x63, 0x6f, + 0x6e, 0x66, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x13, + 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x02, 0x74, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, + 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x12, + 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1e, + 0x0a, 0x08, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, + 0x48, 0x00, 0x52, 0x07, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x1f, + 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x01, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, + 0x44, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x48, 0x02, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, + 0x74, 0x6f, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x42, + 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x22, 0x59, 0x0a, 0x17, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, + 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x04, 0x62, 0x69, 0x74, 0x73, 0x12, + 0x2a, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xa9, 0x03, 0x0a, 0x18, + 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, + 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x07, + 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x61, 0x6e, + 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x08, + 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x63, + 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x07, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x09, 0x70, + 0x75, 0x73, 0x68, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x03, 0x52, 0x08, 0x70, + 0x75, 0x73, 0x68, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x6d, 0x69, + 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x04, 0x52, 0x08, + 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x05, 0x52, 0x07, 0x72, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, + 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, + 0x6e, 0x63, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x22, 0xc5, 0x02, 0x0a, 0x19, 0x46, 0x75, 0x6e, 0x64, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x22, + 0x0a, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x70, 0x75, 0x62, 0x6b, + 0x65, 0x79, 0x12, 0x4a, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, + 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, + 0x0a, 0x08, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, + 0x48, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x23, + 0x0a, 0x0d, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x55, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, + 0x68, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, + 0x74, 0x6f, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, + 0x5f, 0x0a, 0x1d, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x62, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x04, + 0x62, 0x69, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x22, 0xa4, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x39, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x6c, 0x6f, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, + 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x22, 0x4e, 0x0a, + 0x0b, 0x47, 0x65, 0x74, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x0a, 0x0a, 0x06, + 0x42, 0x52, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x55, 0x53, + 0x55, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x02, 0x12, + 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4f, + 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x05, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x22, 0x8d, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x6c, + 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x55, 0x73, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x79, 0x74, + 0x65, 0x73, 0x4d, 0x61, 0x78, 0x12, 0x20, 0x0a, 0x03, 0x6c, 0x6f, 0x67, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x6c, 0x6f, 0x67, 0x4c, + 0x6f, 0x67, 0x52, 0x03, 0x6c, 0x6f, 0x67, 0x22, 0x9f, 0x03, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x6c, + 0x6f, 0x67, 0x4c, 0x6f, 0x67, 0x12, 0x39, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, + 0x65, 0x74, 0x6c, 0x6f, 0x67, 0x4c, 0x6f, 0x67, 0x2e, 0x47, 0x65, 0x74, 0x6c, 0x6f, 0x67, 0x4c, + 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x24, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x53, 0x6b, 0x69, 0x70, + 0x70, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x1b, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, + 0x6c, 0x6f, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x03, 0x6c, 0x6f, 0x67, + 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x04, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x17, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x48, + 0x05, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x22, 0x6c, 0x0a, 0x0d, 0x47, 0x65, + 0x74, 0x6c, 0x6f, 0x67, 0x4c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, + 0x4b, 0x49, 0x50, 0x50, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x52, 0x4f, 0x4b, + 0x45, 0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x55, 0x53, 0x55, 0x41, 0x4c, 0x10, + 0x02, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x44, + 0x45, 0x42, 0x55, 0x47, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4f, 0x5f, 0x49, 0x4e, 0x10, + 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4f, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x06, 0x12, 0x09, 0x0a, + 0x05, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x07, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6e, 0x75, 0x6d, + 0x5f, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x06, 0x0a, 0x04, + 0x5f, 0x6c, 0x6f, 0x67, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf2, 0x0a, 0x0a, 0x13, 0x46, 0x75, + 0x6e, 0x64, 0x65, 0x72, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x75, 0x6e, 0x64, + 0x65, 0x72, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x48, 0x00, + 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0a, 0x70, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x09, + 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4d, 0x6f, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x02, 0x52, 0x0a, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x45, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x68, 0x65, 0x69, 0x72, 0x5f, + 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, + 0x03, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x54, 0x68, 0x65, 0x69, 0x72, 0x46, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x16, 0x6d, 0x61, 0x78, + 0x5f, 0x74, 0x68, 0x65, 0x69, 0x72, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x04, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x54, 0x68, 0x65, + 0x69, 0x72, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x41, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x05, 0x52, 0x11, 0x70, + 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x69, 0x6e, 0x4d, 0x73, 0x61, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x14, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x06, + 0x52, 0x11, 0x70, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4d, 0x61, 0x78, 0x4d, + 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x5f, 0x74, 0x61, 0x6e, 0x6b, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x07, + 0x52, 0x0f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x54, 0x61, 0x6e, 0x6b, 0x4d, 0x73, 0x61, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x66, 0x75, 0x7a, 0x7a, 0x5f, 0x70, 0x65, 0x72, + 0x63, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x08, 0x52, 0x0b, 0x66, 0x75, + 0x7a, 0x7a, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, + 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x09, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x50, 0x72, + 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x13, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x0a, 0x52, 0x10, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x46, + 0x65, 0x65, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, + 0x0f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x69, 0x73, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0b, 0x52, 0x0d, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x46, + 0x65, 0x65, 0x42, 0x61, 0x73, 0x69, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x66, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x0c, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x57, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x19, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x0d, 0x52, 0x15, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x46, 0x65, 0x65, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x28, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x65, + 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x74, 0x68, 0x73, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x0e, 0x52, 0x24, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, + 0x65, 0x65, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x54, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x74, 0x68, 0x73, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, - 0x74, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x74, 0x78, - 0x6f, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, - 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x12, 0x1f, - 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, - 0x48, 0x07, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, - 0x2a, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x08, 0x52, - 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x03, 0x28, - 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, - 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x63, - 0x6f, 0x6e, 0x66, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x6d, 0x74, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x42, 0x0a, 0x0a, - 0x08, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x13, 0x46, 0x75, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0f, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, + 0x74, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, 0x22, 0x39, 0x0a, 0x12, 0x46, 0x75, 0x6e, + 0x64, 0x65, 0x72, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, + 0x09, 0x0a, 0x05, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x56, + 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x58, + 0x45, 0x44, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x19, + 0x0a, 0x17, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x68, 0x65, 0x69, 0x72, 0x5f, 0x66, 0x75, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x74, 0x68, 0x65, 0x69, 0x72, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x17, 0x0a, + 0x15, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6d, 0x61, + 0x78, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x5f, 0x74, 0x61, 0x6e, 0x6b, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x66, 0x75, 0x7a, 0x7a, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x13, 0x0a, + 0x11, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, + 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x69, 0x73, 0x42, 0x11, + 0x0a, 0x0f, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x65, + 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, + 0x2b, 0x0a, 0x29, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x5f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x74, 0x68, 0x73, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0x81, + 0x09, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, + 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, + 0x79, 0x12, 0x44, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x75, 0x6e, + 0x64, 0x65, 0x72, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, + 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x4d, 0x6f, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, + 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x40, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x5f, 0x74, + 0x68, 0x65, 0x69, 0x72, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x13, 0x6d, 0x69, 0x6e, 0x54, 0x68, 0x65, 0x69, 0x72, 0x46, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x40, 0x0a, 0x16, 0x6d, 0x61, 0x78, + 0x5f, 0x74, 0x68, 0x65, 0x69, 0x72, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x54, 0x68, 0x65, 0x69, 0x72, + 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x3c, 0x0a, 0x14, 0x70, + 0x65, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x11, 0x70, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x4d, 0x69, 0x6e, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x3c, 0x0a, 0x14, 0x70, 0x65, 0x72, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x11, 0x70, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x4d, 0x61, 0x78, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x37, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x5f, 0x74, 0x61, 0x6e, 0x6b, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x0f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x54, 0x61, 0x6e, 0x6b, 0x4d, 0x73, 0x61, 0x74, + 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75, 0x7a, 0x7a, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x75, 0x7a, 0x7a, 0x50, 0x65, 0x72, 0x63, + 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x62, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x66, + 0x75, 0x6e, 0x64, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3f, + 0x0a, 0x13, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x46, 0x65, 0x65, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x2b, 0x0a, 0x0f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, + 0x69, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0d, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x46, 0x65, 0x65, 0x42, 0x61, 0x73, 0x69, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, + 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x57, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x19, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x03, 0x52, 0x15, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x46, 0x65, 0x65, 0x4d, 0x61, 0x78, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x73, 0x61, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x5b, 0x0a, 0x28, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x74, 0x68, 0x73, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x04, 0x52, 0x24, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x46, 0x65, 0x65, 0x4d, 0x61, 0x78, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x54, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x74, 0x68, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, + 0x61, 0x63, 0x74, 0x4c, 0x65, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, 0x22, 0x39, 0x0a, 0x12, 0x46, + 0x75, 0x6e, 0x64, 0x65, 0x72, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, + 0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x46, + 0x49, 0x58, 0x45, 0x44, 0x10, 0x02, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x12, + 0x0a, 0x10, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, + 0x69, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x77, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x42, 0x2b, 0x0a, 0x29, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x68, 0x6f, 0x75, 0x73, 0x61, 0x6e, 0x64, 0x74, 0x68, 0x73, + 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x22, 0xb5, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x69, 0x73, 0x6b, 0x66, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x69, 0x73, 0x6b, + 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x63, 0x6c, 0x74, 0x76, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6c, 0x74, 0x76, 0x88, 0x01, 0x01, 0x12, + 0x1b, 0x0a, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, + 0x01, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, + 0x66, 0x75, 0x7a, 0x7a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x02, 0x52, 0x0b, 0x66, 0x75, 0x7a, 0x7a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x12, 0x1d, 0x0a, + 0x07, 0x6d, 0x61, 0x78, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, + 0x52, 0x07, 0x6d, 0x61, 0x78, 0x68, 0x6f, 0x70, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0b, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, + 0x6c, 0x74, 0x76, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x69, 0x64, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x66, 0x75, 0x7a, 0x7a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x6d, 0x61, 0x78, 0x68, 0x6f, 0x70, 0x73, 0x22, 0x3c, 0x0a, 0x10, 0x47, 0x65, + 0x74, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, + 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, + 0x65, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22, 0xf7, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, + 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x47, 0x65, 0x74, 0x72, 0x6f, 0x75, + 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x05, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x22, 0x1d, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x4c, 0x56, + 0x10, 0x00, 0x22, 0xeb, 0x03, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, + 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x69, 0x6e, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, + 0x0a, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x45, + 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x48, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x22, 0x4c, 0x0a, 0x12, 0x4c, + 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x46, 0x46, 0x45, 0x52, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, + 0x0a, 0x07, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4c, + 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, + 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x22, 0x2d, 0x0a, 0x11, 0x4c, 0x69, 0x73, + 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x0b, + 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x22, 0x4d, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x66, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x46, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x08, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x22, + 0xd7, 0x07, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x24, 0x0a, 0x07, 0x69, 0x6e, 0x5f, 0x6d, 0x73, + 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x4c, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, + 0x77, 0x61, 0x72, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x24, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x73, + 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x4d, 0x73, 0x61, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x4e, 0x0a, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x33, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x53, + 0x74, 0x79, 0x6c, 0x65, 0x48, 0x03, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x0a, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x08, 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, + 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x48, + 0x74, 0x6c, 0x63, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x48, + 0x06, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, + 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x48, 0x07, 0x52, 0x0c, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, + 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x01, 0x48, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x63, 0x6f, + 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x09, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, + 0x63, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x72, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x0a, 0x66, + 0x61, 0x69, 0x6c, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x54, 0x0a, 0x1a, + 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x77, + 0x61, 0x72, 0x64, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x46, + 0x46, 0x45, 0x52, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x54, 0x54, 0x4c, + 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, + 0x10, 0x03, 0x22, 0x30, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, + 0x64, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, + 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, + 0x4c, 0x56, 0x10, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x6e, 0x5f, + 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6f, 0x75, 0x74, 0x5f, + 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x63, 0x6f, 0x64, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x66, + 0x61, 0x69, 0x6c, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x76, 0x0a, 0x11, 0x4c, 0x69, 0x73, + 0x74, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x48, 0x00, 0x52, 0x07, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, + 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6e, 0x6c, + 0x79, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, + 0x79, 0x22, 0x43, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x65, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x06, + 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x73, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, + 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0xf8, + 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, + 0x26, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x48, 0x61, 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x02, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x22, 0x37, 0x0a, 0x0e, 0x4c, 0x69, 0x73, + 0x74, 0x70, 0x61, 0x79, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x50, + 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, + 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, + 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x39, 0x0a, 0x10, 0x4c, 0x69, 0x73, + 0x74, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, + 0x04, 0x70, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x50, 0x61, 0x79, 0x73, 0x52, 0x04, + 0x70, 0x61, 0x79, 0x73, 0x22, 0x9e, 0x06, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, + 0x73, 0x50, 0x61, 0x79, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x50, 0x61, 0x79, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x70, 0x61, 0x79, 0x73, 0x50, 0x61, 0x79, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x19, 0x0a, 0x05, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, + 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, + 0x31, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x88, 0x01, + 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x48, 0x04, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, + 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x05, 0x52, 0x0e, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x23, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0c, 0x48, 0x06, 0x52, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6f, 0x6e, 0x69, + 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x04, 0x48, 0x08, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, + 0x6f, 0x66, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x48, 0x0a, + 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x50, 0x61, 0x72, 0x74, 0x73, 0x88, + 0x01, 0x01, 0x22, 0x3b, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x50, 0x61, + 0x79, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, + 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, + 0x6c, 0x74, 0x31, 0x31, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, + 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, + 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6f, 0x6e, + 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x5f, 0x61, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x73, 0x22, 0x2e, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, 0x6c, + 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, + 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x22, 0x3e, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, 0x6c, + 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x68, 0x74, + 0x6c, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x52, 0x05, + 0x68, 0x74, 0x6c, 0x63, 0x73, 0x22, 0xd0, 0x02, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, + 0x6c, 0x63, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x49, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x48, 0x74, 0x6c, 0x63, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x2a, 0x0a, 0x17, + 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x55, 0x54, 0x10, 0x00, + 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, 0x01, 0x22, 0xf9, 0x02, 0x0a, 0x17, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x66, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x66, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x66, + 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x07, 0x66, 0x65, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x63, + 0x6f, 0x6e, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x69, 0x6e, + 0x63, 0x6f, 0x6e, 0x66, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x75, 0x74, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x12, 0x25, 0x0a, 0x0b, + 0x6d, 0x69, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x12, 0x48, 0x02, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x48, 0x03, 0x52, + 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x65, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x6d, 0x69, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x15, 0x0a, + 0x13, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x65, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x22, 0xb6, 0x01, 0x0a, 0x18, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x66, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x1d, 0x0a, - 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0c, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x41, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x66, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x73, 0x52, 0x0a, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x73, 0x12, 0x33, 0x0a, 0x06, 0x66, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x66, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x22, 0xd5, 0x03, + 0x0a, 0x1c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x66, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, + 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4f, 0x72, 0x41, 0x6c, 0x6c, + 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x61, 0x6e, 0x6e, 0x6f, + 0x75, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x08, 0x61, 0x6e, + 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x09, 0x70, 0x75, 0x73, + 0x68, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x08, 0x70, 0x75, 0x73, + 0x68, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x63, 0x6c, 0x6f, 0x73, + 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x54, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x61, 0x6d, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x03, 0x52, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x6d, 0x74, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, + 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x04, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x4c, 0x65, 0x61, + 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, + 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x64, 0x65, + 0x70, 0x74, 0x68, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x06, 0x52, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x42, + 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0b, 0x0a, + 0x09, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x6d, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, + 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x22, 0xf8, 0x01, 0x0a, 0x1b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x66, + 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x54, 0x0a, 0x0c, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x66, 0x75, + 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x69, 0x64, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x6f, 0x88, - 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, - 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, - 0x6f, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x69, 0x6e, 0x64, 0x65, 0x70, 0x74, 0x68, 0x22, 0x59, - 0x0a, 0x17, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x69, 0x74, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x04, 0x62, 0x69, 0x74, 0x73, 0x12, 0x2a, 0x0a, - 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xb5, 0x02, 0x0a, 0x0f, 0x47, 0x65, - 0x74, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2c, 0x0a, - 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x72, - 0x69, 0x73, 0x6b, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0a, 0x72, 0x69, 0x73, 0x6b, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x63, - 0x6c, 0x74, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x04, 0x63, 0x6c, 0x74, - 0x76, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x6d, 0x69, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x66, 0x75, 0x7a, 0x7a, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x0b, 0x66, 0x75, 0x7a, 0x7a, 0x70, 0x65, - 0x72, 0x63, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x61, 0x78, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x68, 0x6f, 0x70, 0x73, 0x88, 0x01, - 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, - 0x72, 0x6f, 0x6d, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x75, 0x7a, 0x7a, 0x70, 0x65, - 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x61, 0x78, 0x68, 0x6f, 0x70, - 0x73, 0x22, 0x3c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22, - 0xf7, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, - 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x3b, 0x0a, - 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x2e, 0x47, 0x65, 0x74, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x74, - 0x79, 0x6c, 0x65, 0x52, 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x22, 0x1d, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x74, 0x79, 0x6c, 0x65, - 0x12, 0x07, 0x0a, 0x03, 0x54, 0x4c, 0x56, 0x10, 0x00, 0x22, 0xeb, 0x03, 0x0a, 0x13, 0x4c, 0x69, - 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x69, - 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x01, 0x52, 0x09, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, - 0x24, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x45, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x48, 0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x05, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, - 0x01, 0x01, 0x22, 0x4c, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, - 0x64, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x46, 0x46, 0x45, - 0x52, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x44, - 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, - 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, - 0x22, 0x2d, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, - 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6f, 0x75, - 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0x4d, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x35, 0x0a, 0x08, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x08, 0x66, 0x6f, - 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x22, 0xb9, 0x06, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x12, - 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6e, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, - 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0a, 0x69, 0x6e, 0x5f, 0x68, - 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x08, - 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x07, 0x69, - 0x6e, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x4d, 0x73, 0x61, - 0x74, 0x12, 0x4c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x0a, 0x6f, 0x75, 0x74, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0b, 0x6f, 0x75, - 0x74, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x03, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x28, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x05, 0x73, 0x74, 0x79, - 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, - 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x48, 0x05, 0x52, - 0x05, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x08, 0x66, 0x65, 0x65, + 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, + 0x22, 0x69, 0x0a, 0x27, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x66, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x73, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, + 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x04, 0x62, 0x69, 0x74, 0x73, 0x12, + 0x2a, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xa6, 0x02, 0x0a, 0x16, + 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x66, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x50, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x66, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x66, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x36, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x66, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x61, + 0x69, 0x6c, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x22, 0x72, 0x0a, 0x1c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x66, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, + 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x14, 0x0a, + 0x10, 0x4f, 0x50, 0x45, 0x4e, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x49, 0x4e, 0x49, + 0x54, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x46, 0x55, 0x4e, 0x44, 0x43, 0x48, 0x41, 0x4e, 0x4e, + 0x45, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x55, + 0x4e, 0x44, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, + 0x54, 0x45, 0x10, 0x03, 0x22, 0x4b, 0x0a, 0x1b, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x66, 0x75, 0x6e, + 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x12, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x22, 0xca, 0x01, 0x0a, 0x14, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x77, 0x69, 0x74, 0x68, 0x64, + 0x72, 0x61, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x07, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x65, 0x73, 0x63, 0x52, 0x07, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x88, 0x01, + 0x01, 0x12, 0x23, 0x0a, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, + 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x69, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x22, 0x3b, + 0x0a, 0x15, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x22, 0xcf, 0x04, 0x0a, 0x0c, + 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x26, + 0x0a, 0x0c, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x0b, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x4d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, + 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x48, + 0x03, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, + 0x79, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x72, 0x65, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x05, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x42, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x14, 0x72, 0x65, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x13, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x50, 0x61, 0x79, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x12, + 0x2e, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x07, 0x52, 0x0f, 0x72, 0x65, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x22, 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x08, 0x52, 0x09, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55, 0x73, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x71, 0x75, 0x61, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x61, 0x62, + 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, + 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, + 0x70, 0x61, 0x79, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x22, 0xcc, 0x01, + 0x0a, 0x0d, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x07, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x73, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55, 0x73, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, 0x73, 0x65, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, + 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x39, 0x0a, 0x18, + 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x62, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x7d, 0x0a, 0x19, 0x4f, 0x70, 0x65, 0x6e, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xcf, 0x01, 0x0a, 0x17, 0x4f, 0x70, 0x65, 0x6e, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x62, 0x75, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x70, 0x73, 0x62, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x70, + 0x73, 0x62, 0x74, 0x12, 0x3a, 0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66, + 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x23, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x22, 0xe0, 0x02, 0x0a, 0x18, 0x4f, 0x70, 0x65, + 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x62, 0x75, 0x6d, 0x70, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x62, 0x75, 0x6d, + 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, + 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, + 0x73, 0x62, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x63, + 0x75, 0x72, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x66, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x19, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, + 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, + 0x52, 0x17, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x1c, 0x0a, + 0x1a, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x5e, 0x0a, 0x1c, 0x4f, + 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x62, 0x75, 0x6d, 0x70, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, + 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x04, 0x62, 0x69, 0x74, 0x73, 0x12, + 0x2a, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x96, 0x04, 0x0a, 0x17, + 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x69, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x70, 0x73, 0x62, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x61, 0x6c, 0x70, 0x73, 0x62, 0x74, 0x12, 0x40, 0x0a, 0x12, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x11, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x0f, 0x66, + 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x48, 0x01, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x61, 0x6e, 0x6e, 0x6f, 0x75, + 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x08, 0x61, 0x6e, 0x6e, + 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x63, 0x6c, 0x6f, 0x73, + 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x54, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x61, 0x6d, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x04, 0x52, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x6d, 0x74, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, + 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0c, 0x48, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x4c, 0x65, 0x61, + 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x15, 0x0a, + 0x13, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x66, 0x65, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x6e, 0x6e, + 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, + 0x74, 0x6f, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x61, + 0x6d, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x22, 0xe0, 0x02, 0x0a, 0x18, 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x73, 0x62, 0x74, 0x12, 0x49, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x69, + 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x48, 0x00, 0x52, + 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x64, + 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x69, + 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x3f, 0x0a, 0x19, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x17, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x49, + 0x6e, 0x70, 0x75, 0x74, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x5e, 0x0a, 0x1c, 0x4f, 0x70, 0x65, 0x6e, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x69, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x04, 0x62, 0x69, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x5b, 0x0a, 0x19, 0x4f, 0x70, 0x65, 0x6e, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x73, + 0x62, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, + 0x50, 0x73, 0x62, 0x74, 0x22, 0x5f, 0x0a, 0x1a, 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, + 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, + 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x04, 0x74, 0x78, 0x69, 0x64, 0x22, 0x4e, 0x0a, 0x19, 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x73, 0x62, 0x74, 0x22, 0x91, 0x03, 0x0a, 0x1a, 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x48, 0x00, + 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x73, 0x62, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x65, + 0x63, 0x75, 0x72, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x5f, 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, + 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x08, + 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, + 0x52, 0x07, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x6f, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x19, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x02, 0x52, 0x17, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, + 0x0d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x6f, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x22, 0x60, 0x0a, 0x1e, 0x4f, 0x70, 0x65, + 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, + 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x04, 0x62, 0x69, 0x74, 0x73, 0x12, + 0x2a, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x0b, 0x50, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x03, 0x6c, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x03, 0x6c, 0x65, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x21, 0x0a, 0x09, 0x70, 0x6f, 0x6e, 0x67, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x09, 0x70, 0x6f, 0x6e, 0x67, 0x62, 0x79, 0x74, 0x65, + 0x73, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x6c, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, + 0x5f, 0x70, 0x6f, 0x6e, 0x67, 0x62, 0x79, 0x74, 0x65, 0x73, 0x22, 0x26, 0x0a, 0x0c, 0x50, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, + 0x74, 0x6c, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x6f, 0x74, 0x6c, + 0x65, 0x6e, 0x22, 0xb9, 0x01, 0x0a, 0x0d, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x53, 0x75, 0x62, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, + 0x0a, 0x73, 0x75, 0x62, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x06, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x07, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x97, + 0x01, 0x0a, 0x0e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2f, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x53, + 0x75, 0x62, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x12, 0x2c, 0x0a, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x55, 0x0a, 0x0d, 0x50, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x22, + 0x47, 0x0a, 0x14, 0x52, 0x65, 0x6e, 0x65, 0x70, 0x61, 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x69, 0x6e, + 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x69, + 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x52, 0x0a, 0x15, 0x52, 0x65, 0x6e, 0x65, + 0x70, 0x61, 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x39, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x65, 0x6e, 0x65, 0x70, + 0x61, 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x61, 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x09, 0x70, 0x61, 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xdb, 0x04, 0x0a, + 0x16, 0x52, 0x65, 0x6e, 0x65, 0x70, 0x61, 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x61, + 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, + 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x12, + 0x2e, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0f, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, + 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x70, + 0x61, 0x72, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x05, 0x70, 0x61, + 0x72, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x06, 0x52, 0x07, 0x66, 0x65, 0x65, 0x4d, - 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, - 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x07, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x4d, 0x73, 0x61, 0x74, - 0x88, 0x01, 0x01, 0x22, 0x54, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x46, 0x46, 0x45, 0x52, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, - 0x0a, 0x07, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4c, - 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, - 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x22, 0x30, 0x0a, 0x19, 0x4c, 0x69, 0x73, - 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x73, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, - 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x4c, 0x56, 0x10, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x0e, 0x0a, 0x0c, - 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x65, 0x65, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, - 0x61, 0x74, 0x22, 0x76, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x66, 0x66, - 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0a, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, - 0x09, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0x43, 0x0a, 0x12, 0x4c, 0x69, - 0x73, 0x74, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x2d, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x6f, 0x66, 0x66, 0x65, 0x72, - 0x73, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x22, - 0xb5, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x4f, 0x66, - 0x66, 0x65, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, - 0x65, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x69, 0x6e, - 0x67, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x12, 0x12, - 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, 0x73, - 0x65, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0xf8, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, - 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, - 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x62, - 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x01, - 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x88, 0x01, 0x01, - 0x12, 0x40, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x23, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x02, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, - 0x01, 0x01, 0x22, 0x37, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, - 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x12, - 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0x39, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x04, 0x70, 0x61, 0x79, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, - 0x61, 0x79, 0x73, 0x50, 0x61, 0x79, 0x73, 0x52, 0x04, 0x70, 0x61, 0x79, 0x73, 0x22, 0x9e, 0x06, - 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x50, 0x61, 0x79, 0x73, 0x12, 0x21, - 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, - 0x50, 0x61, 0x79, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x50, 0x61, 0x79, - 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, - 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x0b, 0x63, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, - 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x05, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, - 0x31, 0x31, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, - 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, - 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x06, - 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x06, 0x52, 0x0a, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x10, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x48, 0x07, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6e, - 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x08, 0x52, 0x08, 0x70, 0x72, - 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x73, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x09, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x50, 0x61, - 0x72, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6f, - 0x6e, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x0a, 0x52, 0x0a, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x3b, 0x0a, 0x12, 0x4c, - 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x50, 0x61, 0x79, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0a, - 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, - 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x02, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, - 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x73, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x22, 0x2e, - 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x22, 0x3e, - 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, 0x6c, - 0x63, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x52, 0x05, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x22, 0xd0, - 0x02, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x48, 0x74, 0x6c, 0x63, - 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x68, 0x6f, - 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x79, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, - 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, - 0x74, 0x12, 0x49, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x68, - 0x74, 0x6c, 0x63, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, - 0x6c, 0x63, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, - 0x24, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x48, 0x74, 0x6c, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x2a, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, 0x6c, - 0x63, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x55, 0x54, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, - 0x01, 0x22, 0xcf, 0x04, 0x0a, 0x0c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x06, - 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, - 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x0b, 0x71, 0x75, - 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, - 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x0e, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, - 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x72, 0x65, - 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, - 0x52, 0x0a, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x2c, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x61, - 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, - 0x14, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x77, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x13, 0x72, - 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x50, 0x61, 0x79, 0x77, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x07, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, - 0x75, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x08, 0x52, 0x09, 0x73, 0x69, 0x6e, - 0x67, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x69, 0x73, - 0x73, 0x75, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x0f, - 0x0a, 0x0d, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6d, 0x61, 0x78, 0x42, - 0x12, 0x0a, 0x10, 0x5f, 0x61, 0x62, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x42, - 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, - 0x75, 0x73, 0x65, 0x22, 0xcc, 0x01, 0x0a, 0x0d, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x6e, 0x67, - 0x6c, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x69, - 0x6e, 0x67, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, - 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x12, - 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x75, - 0x73, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x19, 0x0a, - 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x22, 0x6d, 0x0a, 0x0b, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x15, 0x0a, 0x03, 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, - 0x52, 0x03, 0x6c, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x70, 0x6f, 0x6e, 0x67, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x09, 0x70, - 0x6f, 0x6e, 0x67, 0x62, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, - 0x6c, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x6f, 0x6e, 0x67, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x22, 0x26, 0x0a, 0x0c, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x6f, 0x74, 0x6c, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x06, 0x74, 0x6f, 0x74, 0x6c, 0x65, 0x6e, 0x22, 0x41, 0x0a, 0x14, 0x53, 0x65, 0x6e, + 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x4d, 0x73, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x10, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, + 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x0e, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x50, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x38, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x65, 0x6e, 0x65, 0x70, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x50, 0x61, 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x52, 0x65, + 0x6e, 0x65, 0x70, 0x61, 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x61, 0x79, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x03, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, + 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, + 0x45, 0x0a, 0x1c, 0x52, 0x65, 0x6e, 0x65, 0x70, 0x61, 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x50, 0x61, 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, + 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x70, 0x61, 0x72, 0x74, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x03, 0x0a, 0x0e, 0x52, + 0x65, 0x6e, 0x65, 0x70, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x31, 0x0a, 0x0b, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, + 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x28, + 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x66, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, 0x06, 0x6d, + 0x61, 0x78, 0x66, 0x65, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x64, + 0x65, 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x08, 0x6d, 0x61, + 0x78, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x72, 0x65, 0x74, + 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x03, 0x52, 0x08, + 0x72, 0x65, 0x74, 0x72, 0x79, 0x46, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x04, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x05, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, + 0x0e, 0x64, 0x65, 0x76, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, 0x06, 0x52, 0x0c, 0x64, 0x65, 0x76, 0x55, 0x73, 0x65, 0x53, + 0x68, 0x61, 0x64, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, 0x61, 0x78, + 0x66, 0x65, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6d, 0x61, 0x78, 0x64, 0x65, 0x6c, 0x61, 0x79, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x65, 0x76, + 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x22, 0xa4, 0x03, 0x0a, 0x0f, + 0x52, 0x65, 0x6e, 0x65, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x29, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x70, 0x61, 0x72, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x70, 0x61, 0x72, + 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, + 0x12, 0x35, 0x0a, 0x10, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, + 0x65, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x65, + 0x6e, 0x65, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, + 0x6e, 0x65, 0x70, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x22, 0x36, 0x0a, 0x0d, 0x52, 0x65, + 0x6e, 0x65, 0x70, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0c, 0x0a, 0x08, 0x43, + 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, + 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, + 0x10, 0x02, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x86, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x73, 0x62, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x62, 0x74, 0x12, + 0x21, 0x0a, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x88, 0x01, + 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x22, 0x5b, 0x0a, 0x15, 0x52, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xae, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x76, 0x6f, + 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x76, 0x6f, 0x75, 0x74, 0x12, 0x21, + 0x0a, 0x0c, 0x77, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x77, 0x61, 0x73, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x2a, 0x0a, + 0x11, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x64, 0x54, 0x6f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x41, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x64, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x6d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x2f, 0x0a, 0x15, 0x53, 0x65, 0x6e, 0x64, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x6d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xf0, 0x02, - 0x0a, 0x11, 0x53, 0x65, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x62, 0x61, 0x73, 0x65, 0x18, 0x02, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xde, 0x01, + 0x0a, 0x12, 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6e, 0x76, 0x72, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, + 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x08, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x71, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x22, 0xea, + 0x05, 0x0a, 0x13, 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, + 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, + 0x68, 0x12, 0x42, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x76, 0x6f, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x6e, 0x64, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, + 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x65, 0x78, 0x70, 0x69, 0x72, + 0x65, 0x73, 0x41, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, + 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, + 0x32, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x0c, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x28, + 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x5f, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x08, 0x70, + 0x61, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x14, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, + 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x05, 0x52, 0x12, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1c, + 0x0a, 0x07, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x04, 0x48, + 0x06, 0x52, 0x06, 0x70, 0x61, 0x69, 0x64, 0x41, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x07, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x22, 0x36, 0x0a, 0x11, + 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x4e, 0x50, 0x41, 0x49, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, + 0x04, 0x50, 0x41, 0x49, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, + 0x45, 0x44, 0x10, 0x02, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, + 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x70, 0x61, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, + 0x61, 0x69, 0x64, 0x5f, 0x61, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x7f, 0x0a, 0x17, 0x53, + 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x66, 0x69, 0x72, 0x73, 0x74, 0x49, + 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x6c, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x6c, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2d, 0x0a, + 0x04, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x48, 0x6f, 0x70, 0x73, 0x52, 0x04, 0x68, 0x6f, 0x70, 0x73, 0x22, 0x1a, 0x0a, 0x18, + 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x64, + 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x6f, 0x70, 0x73, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x6c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x03, 0x74, 0x6c, 0x76, 0x22, 0xf0, 0x02, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x07, + 0x66, 0x65, 0x65, 0x62, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x07, 0x66, 0x65, + 0x65, 0x62, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x65, 0x65, 0x70, + 0x70, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x06, 0x66, 0x65, 0x65, 0x70, + 0x70, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x68, 0x74, 0x6c, 0x63, 0x6d, 0x69, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x07, 0x68, 0x74, 0x6c, 0x63, 0x6d, 0x69, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x68, 0x74, 0x6c, 0x63, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, + 0x03, 0x52, 0x07, 0x68, 0x74, 0x6c, 0x63, 0x6d, 0x61, 0x78, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, + 0x0c, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x48, 0x04, 0x52, 0x0c, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x65, + 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, + 0x66, 0x65, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x05, 0x52, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x66, 0x65, 0x65, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x65, 0x65, 0x62, 0x61, 0x73, + 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x65, 0x65, 0x70, 0x70, 0x6d, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x6d, 0x69, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x68, 0x74, 0x6c, + 0x63, 0x6d, 0x61, 0x78, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, + 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, + 0x66, 0x65, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x49, 0x0a, 0x12, 0x53, 0x65, 0x74, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x33, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xfb, 0x04, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x70, + 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x65, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x0e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x42, 0x61, 0x73, 0x65, 0x4d, + 0x73, 0x61, 0x74, 0x12, 0x3e, 0x0a, 0x1b, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, + 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, + 0x68, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x66, 0x65, 0x65, 0x50, 0x72, 0x6f, + 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, + 0x74, 0x68, 0x73, 0x12, 0x3e, 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, + 0x74, 0x6c, 0x63, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x12, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x74, 0x6c, 0x63, 0x4f, 0x75, 0x74, 0x4d, + 0x73, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x17, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x68, + 0x74, 0x6c, 0x63, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x6f, 0x5f, 0x6c, 0x6f, 0x77, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x14, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, + 0x74, 0x6c, 0x63, 0x6d, 0x69, 0x6e, 0x54, 0x6f, 0x6f, 0x4c, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x12, + 0x3e, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, + 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x12, 0x6d, 0x61, 0x78, + 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x74, 0x6c, 0x63, 0x4f, 0x75, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, + 0x3c, 0x0a, 0x18, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x6d, + 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x02, 0x52, 0x15, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x74, 0x6c, 0x63, + 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x6f, 0x48, 0x69, 0x67, 0x68, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, + 0x11, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x0f, 0x69, 0x67, 0x6e, 0x6f, + 0x72, 0x65, 0x46, 0x65, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x42, 0x13, + 0x0a, 0x11, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x69, 0x64, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, + 0x68, 0x74, 0x6c, 0x63, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x6f, 0x5f, 0x6c, 0x6f, 0x77, 0x42, + 0x1b, 0x0a, 0x19, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x74, 0x6c, 0x63, + 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x73, 0x22, 0x49, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x15, + 0x0a, 0x03, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x76, + 0x61, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x76, 0x61, 0x6c, 0x22, 0x41, 0x0a, + 0x11, 0x53, 0x65, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x22, 0xf5, 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x12, 0x15, 0x0a, 0x03, 0x73, + 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x03, 0x73, 0x65, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, + 0x72, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x73, + 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x03, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x73, + 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, + 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x12, 0x48, 0x04, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x49, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x09, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x73, 0x65, 0x74, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x22, 0x45, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x70, + 0x73, 0x62, 0x74, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x73, 0x62, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0x2c, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x70, 0x73, 0x62, 0x74, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x62, 0x74, 0x22, 0x32, 0x0a, + 0x12, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x22, 0x2d, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, + 0x31, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, + 0x22, 0x2e, 0x0a, 0x12, 0x53, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x5f, 0x0a, 0x13, 0x53, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x63, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x72, 0x65, 0x63, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x7a, + 0x62, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x7a, 0x62, 0x61, 0x73, + 0x65, 0x22, 0x8d, 0x02, 0x0a, 0x12, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x69, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x0e, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x25, 0x0a, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x70, 0x73, 0x62, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x70, 0x73, 0x62, 0x74, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x0e, 0x66, 0x65, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6b, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x01, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x50, 0x65, 0x72, 0x4b, 0x77, 0x88, + 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0c, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x70, 0x73, 0x62, 0x74, 0x42, 0x11, 0x0a, 0x0f, + 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6b, 0x77, 0x42, + 0x10, 0x0a, 0x0e, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x22, 0x29, 0x0a, 0x13, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x62, 0x74, 0x22, 0x7c, 0x0a, 0x14, + 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x70, 0x73, 0x62, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x5f, + 0x66, 0x69, 0x72, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x73, + 0x69, 0x67, 0x6e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x15, 0x53, 0x70, + 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x02, 0x74, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x22, 0x49, 0x0a, 0x14, 0x53, 0x70, 0x6c, 0x69, 0x63, + 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, + 0x62, 0x74, 0x22, 0x5c, 0x0a, 0x15, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x73, 0x62, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x62, 0x74, 0x12, + 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x73, + 0x65, 0x63, 0x75, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x64, + 0x22, 0x57, 0x0a, 0x16, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, + 0x62, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x73, 0x62, 0x74, 0x12, 0x1d, + 0x0a, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, + 0x00, 0x52, 0x07, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, + 0x08, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x22, 0x5f, 0x0a, 0x17, 0x55, 0x6e, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x72, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x1b, 0x55, + 0x6e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x76, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x76, 0x6f, + 0x75, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x77, 0x61, 0x73, 0x52, 0x65, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x12, 0x2f, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x6f, + 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0f, + 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x54, 0x6f, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x88, + 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, + 0x74, 0x6f, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x83, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2b, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x48, 0x00, 0x52, 0x07, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, + 0x0a, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x6f, 0x6b, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x01, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x6f, 0x6b, + 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x6f, 0x6b, 0x22, 0xb3, + 0x01, 0x0a, 0x15, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x75, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, + 0x00, 0x52, 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x01, 0x52, 0x04, 0x70, 0x73, 0x62, 0x74, 0x88, 0x01, 0x01, 0x12, 0x13, 0x0a, 0x02, 0x74, + 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x02, 0x52, 0x02, 0x74, 0x78, 0x88, 0x01, 0x01, + 0x12, 0x17, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x03, + 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x75, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x70, 0x73, 0x62, 0x74, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x74, 0x78, 0x42, 0x07, 0x0a, 0x05, 0x5f, + 0x74, 0x78, 0x69, 0x64, 0x22, 0x65, 0x0a, 0x16, 0x57, 0x61, 0x69, 0x74, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x00, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x3b, 0x0a, 0x17, 0x57, + 0x61, 0x69, 0x74, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x9a, 0x02, 0x0a, 0x0b, 0x57, 0x61, 0x69, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x61, + 0x69, 0x74, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x73, 0x75, 0x62, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x3c, 0x0a, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x61, 0x69, 0x74, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x39, 0x0a, 0x0d, 0x57, 0x61, 0x69, 0x74, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x53, 0x10, + 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x53, 0x10, 0x01, 0x12, + 0x0c, 0x0a, 0x08, 0x53, 0x45, 0x4e, 0x44, 0x50, 0x41, 0x59, 0x53, 0x10, 0x02, 0x22, 0x36, 0x0a, + 0x0d, 0x57, 0x61, 0x69, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0b, + 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, + 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, + 0x54, 0x45, 0x44, 0x10, 0x02, 0x22, 0xc6, 0x02, 0x0a, 0x0c, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x61, 0x69, + 0x74, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x48, 0x03, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x88, 0x01, 0x01, 0x22, 0x39, 0x0a, 0x0d, 0x57, 0x61, 0x69, 0x74, 0x53, 0x75, 0x62, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x53, + 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x53, 0x10, 0x01, + 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x45, 0x4e, 0x44, 0x50, 0x41, 0x59, 0x53, 0x10, 0x02, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xef, + 0x05, 0x0a, 0x0b, 0x57, 0x61, 0x69, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3f, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, + 0x2e, 0x57, 0x61, 0x69, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x19, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x03, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x12, 0x1b, + 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, + 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x48, 0x05, 0x52, 0x06, 0x70, + 0x61, 0x72, 0x74, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x48, 0x06, 0x52, 0x07, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x07, 0x52, + 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, + 0x22, 0x0a, 0x0a, 0x69, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x08, 0x52, 0x09, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0a, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x48, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x48, 0x74, 0x6c, + 0x63, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x29, 0x0a, 0x07, 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x0a, 0x52, 0x06, 0x69, 0x6e, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x0b, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x22, 0x89, 0x01, 0x0a, 0x11, 0x57, 0x61, 0x69, 0x74, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0a, 0x0a, + 0x06, 0x55, 0x4e, 0x50, 0x41, 0x49, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, 0x49, + 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x02, + 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0a, 0x0a, + 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, + 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x46, 0x46, 0x45, 0x52, + 0x45, 0x44, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x44, 0x10, + 0x07, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x44, 0x10, 0x08, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, + 0x74, 0x31, 0x31, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x32, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x6e, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, + 0x63, 0x5f, 0x69, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x61, 0x74, + 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x22, 0x3c, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x9d, + 0x24, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x88, 0x01, 0x01, 0x12, 0x31, + 0x0a, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x07, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x73, 0x12, 0x4d, 0x0a, 0x11, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x49, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x52, 0x10, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x12, 0x17, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, + 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x69, 0x67, + 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x0c, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, + 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, + 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x70, 0x72, + 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x70, 0x69, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x04, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x70, 0x69, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x72, + 0x70, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, + 0x07, 0x72, 0x70, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0e, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x0a, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x62, 0x6f, 0x6f, 0x6b, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, + 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x0d, 0x62, 0x6f, + 0x6f, 0x6b, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x44, 0x69, 0x72, 0x88, 0x01, 0x01, 0x12, 0x28, + 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6b, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x62, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6b, 0x6b, 0x65, 0x65, + 0x70, 0x65, 0x72, 0x44, 0x62, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x61, 0x6c, 0x77, 0x61, + 0x79, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x08, 0x52, 0x0e, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x55, 0x73, 0x65, 0x50, + 0x72, 0x6f, 0x78, 0x79, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x64, 0x61, 0x65, 0x6d, 0x6f, + 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x09, 0x52, 0x06, 0x64, 0x61, 0x65, 0x6d, 0x6f, + 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x0a, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0b, 0x52, 0x0d, 0x6c, 0x61, 0x72, + 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, + 0x16, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x75, + 0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0c, 0x52, + 0x14, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x44, 0x75, 0x61, + 0x6c, 0x46, 0x75, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x15, 0x65, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x6e, + 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0d, 0x52, 0x14, 0x65, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x6e, 0x67, 0x88, + 0x01, 0x01, 0x12, 0x43, 0x0a, 0x1b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x5f, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x48, 0x0e, 0x52, 0x19, 0x65, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x4f, 0x6e, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x0f, 0x52, 0x12, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x61, 0x6c, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x52, 0x0a, + 0x23, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x68, + 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x48, 0x10, 0x52, 0x20, 0x65, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, + 0x77, 0x6e, 0x57, 0x72, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x88, 0x01, + 0x01, 0x12, 0x3f, 0x0a, 0x19, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x18, 0x16, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x11, 0x52, 0x17, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x36, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x5f, 0x71, 0x75, 0x69, 0x65, 0x73, 0x63, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x12, 0x52, 0x13, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, + 0x51, 0x75, 0x69, 0x65, 0x73, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x1d, 0x65, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x18, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x13, 0x52, 0x1b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, + 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x19, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x5f, + 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, + 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x48, 0x14, 0x52, 0x17, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, + 0x65, 0x73, 0x4f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, + 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x15, + 0x52, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x72, 0x67, 0x62, 0x18, 0x1b, 0x20, 0x01, 0x28, + 0x0c, 0x48, 0x16, 0x52, 0x03, 0x72, 0x67, 0x62, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x17, 0x52, 0x05, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x70, 0x69, 0x64, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x18, 0x52, 0x07, 0x70, 0x69, 0x64, 0x46, + 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x11, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, + 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x19, 0x52, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x46, 0x65, 0x65, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x77, 0x61, 0x74, 0x63, 0x68, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x1a, 0x52, 0x0f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x73, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x6c, + 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x20, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x1b, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x4c, 0x6f, 0x63, 0x6b, 0x74, + 0x69, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, + 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x73, + 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x1c, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, + 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x1d, 0x52, 0x09, 0x63, 0x6c, 0x74, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x88, 0x01, 0x01, + 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x23, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x1e, 0x52, 0x09, 0x63, 0x6c, 0x74, 0x76, 0x46, 0x69, 0x6e, 0x61, + 0x6c, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x1f, 0x52, 0x0a, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x66, 0x65, + 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x20, 0x52, 0x07, + 0x66, 0x65, 0x65, 0x42, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x72, 0x65, + 0x73, 0x63, 0x61, 0x6e, 0x18, 0x26, 0x20, 0x01, 0x28, 0x12, 0x48, 0x21, 0x52, 0x06, 0x72, 0x65, + 0x73, 0x63, 0x61, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2b, 0x0a, 0x0f, 0x66, 0x65, 0x65, 0x5f, 0x70, + 0x65, 0x72, 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x22, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x50, 0x65, 0x72, 0x53, 0x61, 0x74, 0x6f, 0x73, 0x68, + 0x69, 0x88, 0x01, 0x01, 0x12, 0x35, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x28, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x23, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x11, 0x68, + 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, + 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x48, 0x24, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x69, 0x6e, 0x69, 0x6d, + 0x75, 0x6d, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x11, 0x68, 0x74, 0x6c, + 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x48, 0x00, 0x52, 0x07, 0x66, 0x65, 0x65, 0x62, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x1b, 0x0a, 0x06, 0x66, 0x65, 0x65, 0x70, 0x70, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, - 0x01, 0x52, 0x06, 0x66, 0x65, 0x65, 0x70, 0x70, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, - 0x68, 0x74, 0x6c, 0x63, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x07, 0x68, 0x74, - 0x6c, 0x63, 0x6d, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x07, 0x68, 0x74, 0x6c, 0x63, - 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x03, 0x52, 0x07, 0x68, 0x74, 0x6c, 0x63, 0x6d, 0x61, - 0x78, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0c, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, - 0x65, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x04, 0x52, 0x0c, 0x65, 0x6e, - 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, - 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x66, 0x65, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x05, 0x52, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, - 0x66, 0x65, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x66, 0x65, 0x65, 0x62, 0x61, 0x73, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x66, 0x65, 0x65, - 0x70, 0x70, 0x6d, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x6d, 0x69, 0x6e, 0x42, - 0x0a, 0x0a, 0x08, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x6d, 0x61, 0x78, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x66, 0x65, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, - 0x22, 0x49, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, - 0x65, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xfb, 0x04, 0x0a, 0x12, - 0x53, 0x65, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0d, 0x66, 0x65, 0x65, - 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x66, - 0x65, 0x65, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x3e, 0x0a, 0x1b, 0x66, 0x65, - 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, - 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x19, 0x66, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x12, 0x2f, 0x0a, 0x11, 0x69, 0x67, - 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x46, - 0x65, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x15, 0x6d, - 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6f, 0x75, 0x74, 0x5f, - 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, - 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x12, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, - 0x48, 0x74, 0x6c, 0x63, 0x4f, 0x75, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x3a, 0x0a, 0x17, 0x77, - 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x6d, 0x69, 0x6e, 0x5f, 0x74, - 0x6f, 0x6f, 0x5f, 0x6c, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x14, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x74, 0x6c, 0x63, 0x6d, 0x69, 0x6e, 0x54, 0x6f, - 0x6f, 0x4c, 0x6f, 0x77, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x15, 0x6d, 0x61, 0x78, 0x69, 0x6d, - 0x75, 0x6d, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x48, 0x74, 0x6c, 0x63, - 0x4f, 0x75, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x3c, 0x0a, 0x18, 0x77, 0x61, 0x72, 0x6e, 0x69, - 0x6e, 0x67, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x6d, 0x61, 0x78, 0x5f, 0x74, 0x6f, 0x6f, 0x5f, 0x68, - 0x69, 0x67, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x15, 0x77, 0x61, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x48, 0x74, 0x6c, 0x63, 0x6d, 0x61, 0x78, 0x54, 0x6f, 0x6f, 0x48, 0x69, - 0x67, 0x68, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x69, - 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, - 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x74, 0x6c, - 0x63, 0x6d, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x6f, 0x5f, 0x6c, 0x6f, 0x77, 0x42, 0x1b, 0x0a, 0x19, - 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x6d, 0x61, 0x78, - 0x5f, 0x74, 0x6f, 0x6f, 0x5f, 0x68, 0x69, 0x67, 0x68, 0x22, 0x32, 0x0a, 0x12, 0x53, 0x69, 0x67, - 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x76, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x2d, 0x0a, - 0x13, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x22, 0x2e, 0x0a, 0x12, - 0x53, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x5f, 0x0a, 0x13, - 0x53, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x63, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x05, 0x72, 0x65, 0x63, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x7a, 0x62, 0x61, 0x73, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x7a, 0x62, 0x61, 0x73, 0x65, 0x22, 0x65, 0x0a, - 0x16, 0x57, 0x61, 0x69, 0x74, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x07, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x22, 0x3b, 0x0a, 0x17, 0x57, 0x61, 0x69, 0x74, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x20, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x22, 0x9a, 0x02, 0x0a, 0x0b, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x53, 0x75, 0x62, 0x73, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, - 0x3c, 0x0a, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, - 0x6d, 0x65, 0x52, 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x6e, 0x65, 0x78, 0x74, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x6e, 0x65, 0x78, 0x74, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x39, 0x0a, 0x0d, 0x57, - 0x61, 0x69, 0x74, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x0c, 0x0a, 0x08, - 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x53, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x4f, - 0x52, 0x57, 0x41, 0x52, 0x44, 0x53, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x45, 0x4e, 0x44, - 0x50, 0x41, 0x59, 0x53, 0x10, 0x02, 0x22, 0x36, 0x0a, 0x0d, 0x57, 0x61, 0x69, 0x74, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x02, 0x22, 0x89, - 0x02, 0x0a, 0x0c, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3d, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x52, 0x09, 0x73, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1d, - 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x48, - 0x00, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, - 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, - 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, - 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x22, 0x39, 0x0a, 0x0d, 0x57, - 0x61, 0x69, 0x74, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x0c, 0x0a, 0x08, - 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x53, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x4f, - 0x52, 0x57, 0x41, 0x52, 0x44, 0x53, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x45, 0x4e, 0x44, - 0x50, 0x41, 0x59, 0x53, 0x10, 0x02, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x0d, 0x0a, 0x0b, 0x53, 0x74, - 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x53, 0x74, 0x6f, - 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xcd, 0x01, 0x0a, 0x18, 0x50, 0x72, - 0x65, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, - 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x48, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, - 0x73, 0x68, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, - 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, - 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x02, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x22, 0x1b, 0x0a, 0x19, 0x50, 0x72, 0x65, - 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x0a, 0x18, 0x50, 0x72, 0x65, 0x61, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x88, 0x01, 0x01, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x22, 0x1b, 0x0a, 0x19, 0x50, 0x72, - 0x65, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x63, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x28, - 0x0a, 0x14, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x63, 0x62, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x63, 0x62, 0x22, 0xbc, 0x01, 0x0a, 0x15, 0x42, 0x6b, 0x70, + 0x74, 0x48, 0x25, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, + 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x4e, 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x64, + 0x75, 0x73, 0x74, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, + 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x26, 0x52, 0x17, 0x6d, 0x61, 0x78, + 0x44, 0x75, 0x73, 0x74, 0x48, 0x74, 0x6c, 0x63, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, + 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, + 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, + 0x04, 0x48, 0x27, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, + 0x53, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x2d, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x28, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x28, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x18, 0x2e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x29, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, + 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x62, 0x69, 0x6e, + 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2a, 0x52, 0x08, + 0x62, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x6f, + 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, 0x08, 0x48, 0x2b, 0x52, 0x07, + 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x0a, 0x61, 0x75, + 0x74, 0x6f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x18, 0x31, 0x20, 0x01, 0x28, 0x08, 0x48, 0x2c, + 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x19, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x48, 0x2d, + 0x52, 0x05, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x2e, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x6e, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x3d, 0x0a, 0x18, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x34, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x2f, 0x52, 0x16, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x41, 0x64, + 0x64, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x46, 0x0a, 0x1d, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, + 0x18, 0x35, 0x20, 0x01, 0x28, 0x12, 0x48, 0x30, 0x52, 0x1a, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, + 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, + 0x50, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x73, 0x6d, 0x18, 0x36, 0x20, 0x01, 0x28, 0x08, 0x48, 0x31, + 0x52, 0x0c, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x48, 0x73, 0x6d, 0x88, 0x01, + 0x01, 0x12, 0x27, 0x0a, 0x0d, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, + 0x64, 0x65, 0x18, 0x37, 0x20, 0x01, 0x28, 0x09, 0x48, 0x32, 0x52, 0x0b, 0x72, 0x70, 0x63, 0x46, + 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x6c, 0x6f, + 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x38, 0x20, 0x01, 0x28, 0x09, 0x48, 0x33, 0x52, + 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, + 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x39, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x34, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, + 0x12, 0x1e, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x3a, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x35, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x2a, 0x0a, 0x0e, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x73, 0x18, 0x3b, 0x20, 0x01, 0x28, 0x08, 0x48, 0x36, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x88, 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x3c, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x37, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x46, 0x65, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x64, + 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x38, 0x52, 0x09, 0x73, + 0x75, 0x62, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x16, 0x66, + 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x08, 0x48, 0x39, 0x52, 0x15, 0x66, + 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x6f, 0x63, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x15, 0x61, 0x63, 0x63, 0x65, 0x70, + 0x74, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x74, 0x6c, 0x76, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x18, 0x3f, 0x20, 0x01, 0x28, 0x09, 0x48, 0x3a, 0x52, 0x12, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x48, 0x74, 0x6c, 0x63, 0x54, 0x6c, 0x76, 0x54, 0x79, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x35, 0x0a, 0x14, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, + 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x40, 0x20, 0x01, 0x28, 0x09, 0x48, 0x3b, 0x52, + 0x12, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x36, 0x0a, 0x14, 0x64, 0x65, 0x76, 0x5f, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x64, 0x75, 0x73, 0x74, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x41, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x3c, 0x52, 0x13, 0x64, 0x65, 0x76, 0x41, 0x6c, 0x6c, 0x6f, 0x77, + 0x64, 0x75, 0x73, 0x74, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2f, + 0x0a, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, + 0x64, 0x6e, 0x73, 0x18, 0x42, 0x20, 0x01, 0x28, 0x08, 0x48, 0x3d, 0x52, 0x0f, 0x61, 0x6e, 0x6e, + 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x44, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x3d, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x43, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x3e, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x72, 0x6d, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x21, + 0x0a, 0x09, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x18, 0x44, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x3f, 0x52, 0x09, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x88, 0x01, + 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x18, + 0x45, 0x20, 0x01, 0x28, 0x04, 0x48, 0x40, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, + 0x65, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x6d, 0x65, + 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x46, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x41, + 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, + 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, + 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x47, + 0x20, 0x01, 0x28, 0x0d, 0x48, 0x42, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x65, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, + 0x67, 0x5f, 0x64, 0x69, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x70, 0x72, + 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x70, 0x69, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x72, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x62, 0x6f, 0x6f, + 0x6b, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x69, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, + 0x62, 0x6f, 0x6f, 0x6b, 0x6b, 0x65, 0x65, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x62, 0x42, 0x13, 0x0a, + 0x11, 0x5f, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x6f, + 0x78, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6c, 0x61, 0x72, + 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, + 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x75, 0x61, + 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, + 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x6e, 0x67, + 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x5f, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, + 0x77, 0x6e, 0x5f, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x17, + 0x0a, 0x15, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, + 0x71, 0x75, 0x69, 0x65, 0x73, 0x63, 0x65, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x65, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x69, 0x6e, + 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x5f, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x66, + 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x42, 0x06, 0x0a, 0x04, + 0x5f, 0x72, 0x67, 0x62, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x70, 0x69, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, + 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6c, + 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x42, 0x13, + 0x0a, 0x11, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, + 0x74, 0x61, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x66, 0x69, 0x6e, 0x61, + 0x6c, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x73, 0x63, 0x61, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x66, 0x65, + 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x42, 0x17, 0x0a, + 0x15, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, + 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x14, 0x0a, 0x12, + 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, + 0x61, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x75, 0x73, 0x74, 0x5f, + 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x73, + 0x61, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, + 0x69, 0x74, 0x79, 0x5f, 0x73, 0x61, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, + 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x65, 0x64, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x65, 0x64, 0x5f, 0x68, 0x73, 0x6d, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x66, + 0x69, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x6f, 0x67, + 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x70, + 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, + 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, 0x75, 0x62, + 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x68, 0x74, 0x6c, + 0x63, 0x5f, 0x74, 0x6c, 0x76, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x42, 0x17, 0x0a, 0x15, 0x5f, + 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, + 0x77, 0x6f, 0x72, 0x64, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x64, 0x75, 0x73, 0x74, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x42, 0x14, 0x0a, + 0x12, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, + 0x64, 0x6e, 0x73, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x42, 0x15, 0x0a, + 0x13, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x65, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, + 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0xe1, + 0x36, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x48, 0x00, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x09, 0x64, + 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, + 0x48, 0x01, 0x52, 0x09, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x4d, 0x0a, 0x0d, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x43, 0x6c, 0x65, 0x61, 0x72, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x48, 0x02, 0x52, 0x0c, + 0x63, 0x6c, 0x65, 0x61, 0x72, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x47, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x70, 0x70, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x6d, 0x70, 0x70, 0x48, 0x03, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x4d, 0x70, 0x70, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x07, 0x6d, 0x61, 0x69, 0x6e, + 0x6e, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x6e, 0x65, 0x74, 0x48, 0x04, 0x52, 0x07, 0x6d, 0x61, 0x69, + 0x6e, 0x6e, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x07, 0x72, 0x65, 0x67, 0x74, 0x65, + 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x52, 0x65, 0x67, 0x74, 0x65, 0x73, 0x74, 0x48, 0x05, 0x52, 0x07, 0x72, 0x65, 0x67, 0x74, + 0x65, 0x73, 0x74, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x74, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x53, + 0x69, 0x67, 0x6e, 0x65, 0x74, 0x48, 0x06, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x07, 0x74, 0x65, 0x73, 0x74, 0x6e, 0x65, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x54, 0x65, 0x73, 0x74, + 0x6e, 0x65, 0x74, 0x48, 0x07, 0x52, 0x07, 0x74, 0x65, 0x73, 0x74, 0x6e, 0x65, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x56, 0x0a, 0x10, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x48, 0x08, 0x52, 0x0f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x06, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x48, 0x09, 0x52, 0x06, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, + 0x64, 0x69, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x48, 0x0a, 0x52, 0x09, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x44, 0x69, 0x72, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0d, 0x6c, + 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4c, 0x69, 0x67, 0x68, 0x74, + 0x6e, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x72, 0x48, 0x0b, 0x52, 0x0c, 0x6c, 0x69, 0x67, 0x68, 0x74, + 0x6e, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x72, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x07, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x48, 0x0c, 0x52, 0x07, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x63, 0x0a, 0x15, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x70, + 0x69, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x61, 0x70, 0x69, 0x73, 0x48, 0x0d, 0x52, 0x13, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x44, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x41, 0x70, 0x69, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3e, + 0x0a, 0x08, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x70, 0x63, 0x66, 0x69, 0x6c, 0x65, + 0x48, 0x0e, 0x52, 0x07, 0x72, 0x70, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x50, + 0x0a, 0x0e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x48, 0x0f, 0x52, 0x0d, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x54, 0x0a, 0x10, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x75, 0x73, 0x65, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x48, 0x10, 0x52, 0x0e, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x55, 0x73, 0x65, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x06, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x44, + 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x48, 0x11, 0x52, 0x06, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x88, + 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, + 0x74, 0x48, 0x12, 0x52, 0x06, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x50, + 0x0a, 0x0e, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4c, + 0x61, 0x72, 0x67, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x48, 0x13, 0x52, 0x0d, + 0x6c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x66, 0x0a, 0x16, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, + 0x5f, 0x64, 0x75, 0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x64, 0x75, 0x61, 0x6c, 0x66, 0x75, 0x6e, 0x64, 0x48, 0x14, 0x52, + 0x14, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x44, 0x75, 0x61, + 0x6c, 0x46, 0x75, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x12, 0x65, 0x0a, 0x15, 0x65, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x6e, + 0x67, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x73, 0x70, 0x6c, 0x69, + 0x63, 0x69, 0x6e, 0x67, 0x48, 0x15, 0x52, 0x14, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, + 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, + 0x75, 0x0a, 0x1b, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, + 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x17, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x48, 0x16, 0x52, 0x19, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x4f, 0x6e, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x5f, 0x0a, 0x13, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x18, 0x18, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x48, 0x17, + 0x52, 0x12, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x4f, 0x66, + 0x66, 0x65, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x8b, 0x01, 0x0a, 0x23, 0x65, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, + 0x6e, 0x5f, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, + 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x78, + 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, + 0x77, 0x6e, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x18, + 0x52, 0x20, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x68, + 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x57, 0x72, 0x6f, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x6f, 0x0a, 0x19, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, + 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x70, 0x65, 0x65, + 0x72, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x48, 0x19, 0x52, 0x17, 0x65, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x12, 0x62, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x18, 0x1b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, + 0x48, 0x1a, 0x52, 0x13, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, + 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x10, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x1c, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x44, 0x61, 0x74, + 0x61, 0x62, 0x61, 0x73, 0x65, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x48, 0x1b, 0x52, 0x0f, + 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x31, 0x0a, 0x03, 0x72, 0x67, 0x62, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x67, 0x62, 0x48, 0x1c, 0x52, 0x03, 0x72, + 0x67, 0x62, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x1e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x41, 0x6c, 0x69, + 0x61, 0x73, 0x48, 0x1d, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3e, + 0x0a, 0x08, 0x70, 0x69, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x50, 0x69, 0x64, 0x66, 0x69, 0x6c, 0x65, + 0x48, 0x1e, 0x52, 0x07, 0x70, 0x69, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x57, + 0x0a, 0x11, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x73, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x66, 0x65, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x73, 0x48, 0x1f, 0x52, 0x0f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x46, 0x65, 0x65, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x10, 0x77, 0x61, 0x74, 0x63, 0x68, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x57, 0x61, 0x74, 0x63, 0x68, 0x74, + 0x69, 0x6d, 0x65, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x48, 0x20, 0x52, 0x0f, 0x77, 0x61, 0x74, + 0x63, 0x68, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x5d, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4d, 0x61, 0x78, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x48, 0x21, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x4c, 0x6f, 0x63, + 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x88, 0x01, 0x01, 0x12, 0x56, + 0x0a, 0x10, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x73, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x73, + 0x48, 0x22, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x73, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x0a, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, + 0x65, 0x6c, 0x74, 0x61, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x43, 0x6c, 0x74, 0x76, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x48, 0x23, 0x52, 0x09, + 0x63, 0x6c, 0x74, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x0a, + 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6c, 0x74, 0x76, 0x66, 0x69, 0x6e, + 0x61, 0x6c, 0x48, 0x24, 0x52, 0x09, 0x63, 0x6c, 0x74, 0x76, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x88, + 0x01, 0x01, 0x12, 0x47, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x25, 0x52, 0x0a, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x08, 0x66, + 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x18, 0x27, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x46, 0x65, 0x65, 0x62, 0x61, 0x73, 0x65, 0x48, 0x26, 0x52, + 0x07, 0x66, 0x65, 0x65, 0x42, 0x61, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x06, 0x72, + 0x65, 0x73, 0x63, 0x61, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x63, 0x61, 0x6e, 0x48, 0x27, 0x52, 0x06, 0x72, 0x65, + 0x73, 0x63, 0x61, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x0f, 0x66, 0x65, 0x65, 0x5f, 0x70, + 0x65, 0x72, 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x46, 0x65, 0x65, 0x70, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x48, 0x28, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x50, 0x65, 0x72, + 0x53, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x14, 0x6d, 0x61, + 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x74, 0x6c, + 0x63, 0x73, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x4d, 0x61, 0x78, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x68, 0x74, + 0x6c, 0x63, 0x73, 0x48, 0x29, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x11, + 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x48, 0x74, 0x6c, 0x63, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x6d, 0x73, 0x61, 0x74, 0x48, + 0x2a, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x73, + 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x61, + 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x6d, 0x61, 0x78, + 0x69, 0x6d, 0x75, 0x6d, 0x6d, 0x73, 0x61, 0x74, 0x48, 0x2b, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, + 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x71, + 0x0a, 0x1b, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x75, 0x73, 0x74, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, + 0x65, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x2d, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4d, 0x61, 0x78, 0x64, + 0x75, 0x73, 0x74, 0x68, 0x74, 0x6c, 0x63, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x6d, + 0x73, 0x61, 0x74, 0x48, 0x2c, 0x52, 0x17, 0x6d, 0x61, 0x78, 0x44, 0x75, 0x73, 0x74, 0x48, 0x74, + 0x6c, 0x63, 0x45, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x54, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, + 0x79, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x4d, 0x69, 0x6e, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x73, + 0x61, 0x74, 0x48, 0x2d, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, + 0x79, 0x53, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, + 0x2f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x41, 0x64, + 0x64, 0x72, 0x48, 0x2e, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, + 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x30, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x41, 0x6e, 0x6e, + 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x61, 0x64, 0x64, 0x72, 0x48, 0x2f, 0x52, 0x0c, 0x61, 0x6e, 0x6e, + 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, 0x09, + 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x31, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x61, 0x64, 0x64, 0x72, + 0x48, 0x30, 0x52, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x88, 0x01, 0x01, 0x12, + 0x3d, 0x0a, 0x07, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, + 0x48, 0x31, 0x52, 0x07, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x46, + 0x0a, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x18, 0x33, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x6c, + 0x69, 0x73, 0x74, 0x65, 0x6e, 0x48, 0x32, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x69, 0x73, + 0x74, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x37, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, + 0x34, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x50, 0x72, + 0x6f, 0x78, 0x79, 0x48, 0x33, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x88, 0x01, 0x01, 0x12, + 0x47, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x18, 0x35, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x44, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x6e, 0x73, 0x48, 0x34, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x44, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x6c, 0x0a, 0x18, 0x61, 0x6e, 0x6e, 0x6f, + 0x75, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, + 0x65, 0x72, 0x65, 0x64, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x61, 0x64, 0x64, 0x72, 0x64, + 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x48, 0x35, 0x52, 0x16, 0x61, 0x6e, 0x6e, + 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x79, 0x0a, 0x1d, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, + 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x61, 0x64, + 0x64, 0x72, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x70, 0x6f, 0x72, 0x74, + 0x48, 0x36, 0x52, 0x1a, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, + 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x4d, 0x0a, 0x0d, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x68, + 0x73, 0x6d, 0x18, 0x38, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x68, 0x73, 0x6d, 0x48, 0x37, 0x52, + 0x0c, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x48, 0x73, 0x6d, 0x88, 0x01, 0x01, + 0x12, 0x4b, 0x0a, 0x0d, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x64, + 0x65, 0x18, 0x39, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x52, 0x70, 0x63, 0x66, 0x69, 0x6c, 0x65, 0x6d, 0x6f, 0x64, 0x65, 0x48, 0x38, 0x52, 0x0b, 0x72, + 0x70, 0x63, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x41, 0x0a, + 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x3a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4c, 0x6f, 0x67, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x48, 0x39, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x88, 0x01, 0x01, + 0x12, 0x44, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x3b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4c, 0x6f, 0x67, + 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x48, 0x3a, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x88, 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x4c, 0x6f, 0x67, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x3b, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x46, + 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x0e, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18, 0x3d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4c, 0x6f, 0x67, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x73, 0x48, 0x3c, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x73, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, 0x0e, 0x66, 0x6f, 0x72, 0x63, + 0x65, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x18, 0x3e, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x66, 0x65, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x48, 0x3d, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x46, + 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x43, 0x0a, 0x09, 0x73, 0x75, + 0x62, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x18, 0x3f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x53, 0x75, 0x62, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x48, + 0x3e, 0x52, 0x09, 0x73, 0x75, 0x62, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, + 0x68, 0x0a, 0x16, 0x66, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, + 0x6e, 0x6f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x18, 0x40, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x6e, 0x6f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x48, 0x3f, 0x52, + 0x15, 0x66, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x4e, 0x6f, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x88, 0x01, 0x01, 0x12, 0x61, 0x0a, 0x15, 0x61, 0x63, 0x63, + 0x65, 0x70, 0x74, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x74, 0x6c, 0x76, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x18, 0x41, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x68, 0x74, 0x6c, 0x63, 0x74, 0x6c, 0x76, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x48, 0x40, 0x52, 0x12, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x48, 0x74, 0x6c, + 0x63, 0x54, 0x6c, 0x76, 0x54, 0x79, 0x70, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x60, 0x0a, 0x14, + 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, 0x73, 0x73, + 0x77, 0x6f, 0x72, 0x64, 0x18, 0x42, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x54, 0x6f, 0x72, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x70, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x48, 0x41, 0x52, 0x12, 0x74, 0x6f, 0x72, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x88, 0x01, 0x01, 0x12, 0x57, + 0x0a, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, + 0x64, 0x6e, 0x73, 0x18, 0x43, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x61, 0x64, 0x64, 0x72, 0x64, 0x6e, + 0x73, 0x48, 0x42, 0x52, 0x0f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x41, 0x64, 0x64, + 0x72, 0x44, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x6c, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, + 0x75, 0x74, 0x73, 0x18, 0x44, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x65, 0x64, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x48, 0x43, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x49, 0x6e, 0x70, 0x75, + 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, + 0x66, 0x65, 0x65, 0x18, 0x45, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x66, 0x65, 0x65, 0x48, 0x44, 0x52, 0x09, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x65, 0x65, 0x88, 0x01, 0x01, 0x12, 0x63, 0x0a, 0x15, 0x63, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x48, 0x45, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x64, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x63, 0x6c, 0x65, 0x61, + 0x72, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x70, 0x70, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6d, 0x61, + 0x69, 0x6e, 0x6e, 0x65, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x65, 0x67, 0x74, 0x65, 0x73, + 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x74, 0x42, 0x0a, 0x0a, 0x08, + 0x5f, 0x74, 0x65, 0x73, 0x74, 0x6e, 0x65, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x42, 0x09, 0x0a, + 0x07, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x5f, 0x64, 0x69, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x69, 0x67, 0x68, + 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, + 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x70, 0x69, 0x73, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x11, 0x0a, 0x0f, + 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x42, + 0x13, 0x0a, 0x11, 0x5f, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6c, + 0x61, 0x72, 0x67, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x19, 0x0a, + 0x17, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x64, + 0x75, 0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x65, 0x78, 0x70, + 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x69, + 0x6e, 0x67, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, + 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, + 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x42, 0x26, 0x0a, 0x24, 0x5f, 0x65, + 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x68, 0x75, 0x74, + 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, + 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x65, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x42, 0x06, + 0x0a, 0x04, 0x5f, 0x72, 0x67, 0x62, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x69, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x14, 0x0a, + 0x12, 0x5f, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x77, 0x61, 0x74, 0x63, 0x68, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6d, 0x61, 0x78, + 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, + 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x72, 0x6d, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, + 0x65, 0x6c, 0x74, 0x61, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x66, 0x69, + 0x6e, 0x61, 0x6c, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x73, 0x63, 0x61, 0x6e, 0x42, 0x12, 0x0a, 0x10, 0x5f, + 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x42, + 0x17, 0x0a, 0x15, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x68, 0x74, 0x6c, + 0x63, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x14, + 0x0a, 0x12, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x64, 0x75, 0x73, + 0x74, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x61, 0x70, + 0x61, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x61, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x6e, 0x73, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, + 0x75, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, + 0x65, 0x72, 0x65, 0x64, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, + 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, + 0x64, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x73, 0x6d, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x72, 0x70, 0x63, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, + 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6c, 0x6f, 0x67, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, + 0x66, 0x69, 0x6c, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x6f, 0x72, 0x63, + 0x65, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x73, + 0x75, 0x62, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x66, 0x65, 0x74, + 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x63, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x68, + 0x74, 0x6c, 0x63, 0x5f, 0x74, 0x6c, 0x76, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x42, 0x17, 0x0a, + 0x15, 0x5f, 0x74, 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x75, + 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x64, 0x6e, 0x73, 0x42, 0x1b, 0x0a, 0x19, + 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x22, 0xb4, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x1b, 0x0a, + 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x72, 0x12, 0x50, 0x0a, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x2b, 0x0a, 0x1c, + 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, + 0x43, 0x4d, 0x44, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x00, 0x22, 0x47, 0x0a, 0x1b, 0x4c, 0x69, 0x73, + 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x44, + 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x4a, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x70, + 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x6d, 0x70, 0x70, 0x12, 0x10, + 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x22, 0x45, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4d, 0x61, 0x69, 0x6e, 0x6e, 0x65, 0x74, 0x12, 0x10, 0x0a, + 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x45, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x67, + 0x74, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x44, + 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x45, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x54, 0x65, 0x73, 0x74, 0x6e, 0x65, + 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, + 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5c, 0x0a, 0x21, 0x4c, + 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x74, 0x72, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x53, 0x0a, 0x18, 0x4c, 0x69, 0x73, + 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x50, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, + 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x56, + 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x64, 0x69, 0x72, 0x12, 0x1d, 0x0a, + 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x55, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4c, 0x69, 0x67, 0x68, + 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x64, 0x69, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x50, 0x0a, + 0x19, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x5e, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x61, 0x70, 0x69, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x50, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x70, 0x63, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x5a, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x70, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x73, + 0x74, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x59, 0x0a, + 0x20, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x75, 0x73, 0x65, 0x70, 0x72, 0x6f, 0x78, + 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x6f, 0x6f, 0x6c, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x44, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x44, 0x61, + 0x65, 0x6d, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4f, + 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x4b, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x52, 0x0a, 0x26, + 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x64, 0x75, + 0x61, 0x6c, 0x66, 0x75, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x52, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, + 0x61, 0x6c, 0x73, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0x57, 0x0a, 0x2b, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, + 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x50, 0x0a, + 0x24, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x73, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x6f, + 0x66, 0x66, 0x65, 0x72, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x5e, 0x0a, 0x32, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x66, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x55, 0x0a, 0x29, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x78, 0x70, 0x65, 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x6c, 0x70, 0x65, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x51, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x78, 0x70, 0x65, + 0x72, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x12, + 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x65, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5a, 0x0a, 0x21, 0x4c, 0x69, 0x73, + 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x44, + 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x67, 0x62, 0x12, 0x1b, + 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x4e, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1b, + 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x50, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x50, 0x69, 0x64, 0x66, 0x69, 0x6c, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5a, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x49, 0x67, 0x6e, 0x6f, 0x72, + 0x65, 0x66, 0x65, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x58, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x57, 0x61, 0x74, 0x63, 0x68, 0x74, 0x69, 0x6d, 0x65, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, + 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x49, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5a, 0x0a, 0x23, 0x4c, + 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x4d, 0x61, 0x78, 0x6c, 0x6f, 0x63, 0x6b, 0x74, 0x69, 0x6d, 0x65, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x46, 0x75, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x52, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6c, 0x74, 0x76, 0x64, 0x65, 0x6c, 0x74, 0x61, + 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x52, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6c, 0x74, 0x76, 0x66, + 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x53, 0x0a, 0x1c, 0x4c, 0x69, 0x73, + 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x50, + 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x46, 0x65, 0x65, 0x62, 0x61, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x4f, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x73, 0x63, 0x61, 0x6e, 0x12, 0x1b, 0x0a, 0x09, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x56, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x46, 0x65, 0x65, 0x70, 0x65, 0x72, 0x73, 0x61, 0x74, + 0x6f, 0x73, 0x68, 0x69, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5b, 0x0a, 0x24, 0x4c, 0x69, 0x73, + 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4d, + 0x61, 0x78, 0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x68, 0x74, 0x6c, 0x63, + 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x67, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x48, 0x74, 0x6c, 0x63, + 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x6d, 0x73, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x0a, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x09, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x67, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x48, 0x74, 0x6c, 0x63, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, + 0x6d, 0x73, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x73, + 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x73, 0x61, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x6f, 0x0a, 0x29, 0x4c, 0x69, 0x73, 0x74, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4d, 0x61, + 0x78, 0x64, 0x75, 0x73, 0x74, 0x68, 0x74, 0x6c, 0x63, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x75, 0x72, + 0x65, 0x6d, 0x73, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x73, 0x61, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x20, 0x4c, 0x69, + 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x4d, 0x69, 0x6e, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x73, 0x61, 0x74, 0x12, 0x1b, + 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x88, + 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x22, 0x51, + 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x22, 0x59, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x61, + 0x64, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x73, 0x74, + 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, + 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x55, 0x0a, 0x1a, + 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x42, 0x69, 0x6e, 0x64, 0x61, 0x64, 0x64, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x22, 0x45, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, + 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x55, 0x0a, 0x1c, 0x4c, 0x69, + 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x41, 0x75, 0x74, 0x6f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x4e, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x1b, 0x0a, 0x09, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x22, 0x48, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x6e, + 0x73, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, + 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x94, 0x02, 0x0a, 0x28, + 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x61, 0x64, 0x64, 0x72, 0x64, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x12, 0x7c, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x5f, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x61, 0x64, 0x64, 0x72, + 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x41, 0x6e, 0x6e, + 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x61, 0x64, 0x64, 0x72, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x52, 0x08, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x52, + 0x0a, 0x31, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x61, 0x64, 0x64, 0x72, + 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x5f, + 0x73, 0x74, 0x72, 0x12, 0x08, 0x0a, 0x04, 0x54, 0x52, 0x55, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, + 0x05, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, + 0x10, 0x02, 0x22, 0x63, 0x0a, 0x2c, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, + 0x61, 0x64, 0x64, 0x72, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x4a, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x65, 0x64, 0x68, 0x73, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x22, 0x54, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x70, 0x63, 0x66, 0x69, 0x6c, 0x65, + 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, + 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x51, 0x0a, 0x1a, 0x4c, 0x69, 0x73, + 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4c, + 0x6f, 0x67, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x52, 0x0a, 0x1b, + 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x4c, 0x6f, 0x67, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x54, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4c, 0x6f, 0x67, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x58, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x4c, 0x6f, 0x67, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x56, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x66, 0x65, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x72, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x53, 0x75, + 0x62, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x22, 0x53, 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, + 0x63, 0x65, 0x6e, 0x6f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, + 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5b, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x41, 0x63, 0x63, 0x65, 0x70, + 0x74, 0x68, 0x74, 0x6c, 0x63, 0x74, 0x6c, 0x76, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x5b, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x54, 0x6f, 0x72, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, + 0x5a, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x61, 0x64, 0x64, + 0x72, 0x64, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x62, 0x6f, + 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, + 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x61, 0x0a, 0x28, 0x4c, + 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, + 0x64, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x52, + 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x66, 0x65, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x22, 0x5c, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x66, 0x65, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x22, 0x87, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x3d, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x48, 0x00, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0a, + 0x0a, 0x08, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x4c, 0x69, + 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, + 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x46, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x22, 0x24, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x53, 0x74, 0x6f, + 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x79, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x70, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, + 0x74, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x6f, 0x70, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x88, 0x01, 0x01, 0x22, 0x23, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x5f, 0x43, 0x4f, + 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x00, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x22, 0x38, 0x0a, 0x0b, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x88, 0x01, + 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x22, 0xa7, 0x01, + 0x0a, 0x0c, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, + 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x04, 0x68, 0x65, 0x6c, + 0x70, 0x12, 0x46, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x68, 0x69, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x48, 0x65, 0x6c, + 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x46, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x68, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x48, 0x69, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x22, 0x1c, 0x0a, 0x0e, 0x48, 0x65, 0x6c, + 0x70, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x68, 0x69, 0x6e, 0x74, 0x12, 0x0a, 0x0a, 0x06, 0x53, + 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x10, 0x00, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x22, 0x7c, 0x0a, 0x08, 0x48, 0x65, 0x6c, 0x70, 0x48, + 0x65, 0x6c, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x62, 0x6f, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x18, 0x50, 0x72, 0x65, 0x61, 0x70, 0x70, + 0x72, 0x6f, 0x76, 0x65, 0x6b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x4d, 0x73, 0x61, 0x74, 0x22, 0x1b, 0x0a, 0x19, 0x50, 0x72, 0x65, 0x61, 0x70, 0x70, 0x72, + 0x6f, 0x76, 0x65, 0x6b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x32, 0x0a, 0x18, 0x50, 0x72, 0x65, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x62, 0x6f, 0x6c, 0x74, 0x31, 0x31, 0x22, 0x1b, 0x0a, 0x19, 0x50, 0x72, 0x65, 0x61, 0x70, 0x70, + 0x72, 0x6f, 0x76, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x15, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x62, 0x61, 0x63, + 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x28, 0x0a, 0x14, 0x53, 0x74, + 0x61, 0x74, 0x69, 0x63, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x63, 0x62, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0c, 0x52, + 0x03, 0x73, 0x63, 0x62, 0x22, 0x78, 0x0a, 0x16, 0x42, 0x6b, 0x70, 0x72, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x61, 0x70, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x5e, + 0x0a, 0x17, 0x42, 0x6b, 0x70, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x61, 0x70, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5f, 0x61, 0x70, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x61, 0x70, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5f, 0x61, 0x70, + 0x79, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x41, 0x70, 0x79, 0x22, 0xc7, + 0x09, 0x0a, 0x1b, 0x42, 0x6b, 0x70, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x61, + 0x70, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5f, 0x61, 0x70, 0x79, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, + 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0d, + 0x72, 0x6f, 0x75, 0x74, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x31, 0x0a, + 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x4d, 0x73, 0x61, 0x74, + 0x12, 0x3a, 0x0a, 0x13, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, + 0x69, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x10, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x46, 0x65, 0x65, 0x50, 0x61, 0x69, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x3e, 0x0a, 0x15, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x65, 0x61, 0x72, 0x6e, 0x65, 0x64, + 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x12, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x46, + 0x65, 0x65, 0x45, 0x61, 0x72, 0x6e, 0x65, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x33, 0x0a, 0x0f, + 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x0d, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x4d, 0x73, 0x61, + 0x74, 0x12, 0x31, 0x0a, 0x0e, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, + 0x73, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0c, 0x70, 0x75, 0x73, 0x68, 0x65, 0x64, 0x49, 0x6e, + 0x4d, 0x73, 0x61, 0x74, 0x12, 0x40, 0x0a, 0x16, 0x6f, 0x75, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x13, 0x6f, 0x75, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x48, 0x0a, 0x1a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, + 0x6d, 0x73, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x17, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x73, 0x61, 0x74, + 0x12, 0x2f, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x73, 0x4f, 0x75, 0x74, 0x4d, 0x73, 0x61, + 0x74, 0x12, 0x32, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x66, 0x65, 0x65, 0x73, 0x49, 0x6e, 0x4d, 0x73, + 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x12, 0x3b, + 0x0a, 0x17, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, + 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x01, 0x52, 0x15, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, + 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0e, 0x75, + 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x18, 0x0e, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x6e, 0x12, 0x39, 0x0a, 0x16, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x02, 0x52, 0x14, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, + 0x07, 0x61, 0x70, 0x79, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x61, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x12, 0x2b, 0x0a, 0x0f, 0x61, 0x70, 0x79, 0x5f, 0x6f, 0x75, + 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x03, 0x52, 0x0d, 0x61, 0x70, 0x79, 0x4f, 0x75, 0x74, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x70, 0x79, 0x5f, 0x69, 0x6e, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x79, 0x49, 0x6e, 0x12, 0x29, 0x0a, 0x0e, 0x61, 0x70, + 0x79, 0x5f, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x13, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x04, 0x52, 0x0c, 0x61, 0x70, 0x79, 0x49, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x79, 0x5f, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x79, 0x54, 0x6f, 0x74, + 0x61, 0x6c, 0x12, 0x2f, 0x0a, 0x11, 0x61, 0x70, 0x79, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, + 0x0f, 0x61, 0x70, 0x79, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x70, 0x79, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x48, 0x06, 0x52, 0x08, 0x61, 0x70, 0x79, 0x4c, 0x65, 0x61, + 0x73, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x5f, 0x69, + 0x6e, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, + 0x61, 0x6c, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x12, 0x0a, + 0x10, 0x5f, 0x61, 0x70, 0x79, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, + 0x6c, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x70, 0x79, 0x5f, 0x69, 0x6e, 0x5f, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x61, 0x6c, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x70, 0x79, 0x5f, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x61, + 0x70, 0x79, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0x8b, 0x02, 0x0a, 0x18, 0x42, 0x6b, 0x70, + 0x72, 0x64, 0x75, 0x6d, 0x70, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x63, 0x73, 0x76, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x73, 0x76, 0x46, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x63, 0x73, 0x76, 0x5f, 0x66, 0x69, 0x6c, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x63, 0x73, 0x76, 0x46, 0x69, 0x6c, + 0x65, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, + 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, + 0x73, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x48, 0x03, 0x52, 0x07, 0x65, 0x6e, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x63, 0x73, 0x76, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x6e, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xea, 0x01, 0x0a, 0x19, 0x42, 0x6b, 0x70, 0x72, 0x64, + 0x75, 0x6d, 0x70, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x63, 0x73, 0x76, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x73, 0x76, 0x5f, 0x66, 0x69, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x73, 0x76, 0x46, 0x69, 0x6c, 0x65, 0x12, + 0x59, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x64, 0x75, + 0x6d, 0x70, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x63, 0x73, 0x76, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x64, 0x75, 0x6d, 0x70, 0x69, 0x6e, 0x63, 0x6f, + 0x6d, 0x65, 0x63, 0x73, 0x76, 0x43, 0x73, 0x76, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, + 0x09, 0x63, 0x73, 0x76, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x57, 0x0a, 0x1b, 0x42, 0x6b, + 0x70, 0x72, 0x64, 0x75, 0x6d, 0x70, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x63, 0x73, 0x76, 0x43, + 0x73, 0x76, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x49, + 0x4e, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4b, 0x4f, + 0x49, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x41, 0x52, 0x4d, 0x4f, 0x4e, + 0x59, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x51, 0x55, 0x49, 0x43, 0x4b, 0x42, 0x4f, 0x4f, 0x4b, + 0x53, 0x10, 0x03, 0x22, 0x2e, 0x0a, 0x12, 0x42, 0x6b, 0x70, 0x72, 0x69, 0x6e, 0x73, 0x70, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x22, 0x3c, 0x0a, 0x13, 0x42, 0x6b, 0x70, 0x72, 0x69, 0x6e, 0x73, 0x70, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x03, 0x74, 0x78, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6b, + 0x70, 0x72, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x78, 0x73, 0x52, 0x03, 0x74, 0x78, + 0x73, 0x22, 0xc4, 0x01, 0x0a, 0x0e, 0x42, 0x6b, 0x70, 0x72, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, + 0x74, 0x54, 0x78, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, + 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x31, 0x0a, 0x0e, 0x66, 0x65, 0x65, 0x73, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6d, 0x73, 0x61, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0c, 0x66, 0x65, 0x65, 0x73, 0x50, 0x61, 0x69, 0x64, 0x4d, 0x73, + 0x61, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x69, 0x6e, + 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x78, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x52, + 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xc1, 0x04, 0x0a, 0x15, 0x42, 0x6b, 0x70, + 0x72, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x54, 0x78, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x6f, 0x75, 0x74, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x75, + 0x74, 0x6e, 0x75, 0x6d, 0x12, 0x37, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0f, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x31, 0x0a, 0x0b, 0x63, 0x72, 0x65, + 0x64, 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x63, + 0x72, 0x65, 0x64, 0x69, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x0a, + 0x64, 0x65, 0x62, 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x01, 0x52, + 0x09, 0x64, 0x65, 0x62, 0x69, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, + 0x13, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x12, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x61, + 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x54, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x73, 0x70, 0x65, 0x6e, 0x64, + 0x5f, 0x74, 0x61, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x04, 0x52, 0x08, 0x73, 0x70, + 0x65, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x70, 0x65, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, + 0x48, 0x05, 0x52, 0x0c, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x06, 0x52, 0x09, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x72, 0x65, 0x64, + 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x62, 0x69, + 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x6f, 0x72, 0x69, 0x67, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0d, + 0x0a, 0x0b, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x5f, + 0x73, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x42, 0x0d, 0x0a, + 0x0b, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x49, 0x0a, 0x1c, + 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x07, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x59, 0x0a, 0x1d, 0x42, 0x6b, 0x70, 0x72, 0x6c, + 0x69, 0x73, 0x74, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, + 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x22, 0xc1, 0x06, 0x0a, 0x1b, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x5d, 0x0a, 0x09, + 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x40, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, + 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x2c, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, + 0x0a, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x0a, 0x64, + 0x65, 0x62, 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x09, 0x64, 0x65, + 0x62, 0x69, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x12, 0x1f, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x88, + 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x01, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x06, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x03, 0x52, 0x09, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x78, + 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x04, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x48, 0x05, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x09, 0x66, 0x65, + 0x65, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x06, 0x52, 0x08, 0x66, 0x65, + 0x65, 0x73, 0x4d, 0x73, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x26, 0x0a, 0x0c, 0x69, 0x73, 0x5f, + 0x72, 0x65, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x07, 0x52, 0x0b, 0x69, 0x73, 0x52, 0x65, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, + 0x01, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x08, 0x52, 0x06, 0x70, 0x61, 0x72, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x22, + 0x4a, 0x0a, 0x1f, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x4e, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x46, 0x45, + 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0b, + 0x0a, 0x07, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x02, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x72, 0x69, + 0x67, 0x69, 0x6e, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x66, 0x65, 0x65, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x69, 0x73, + 0x5f, 0x72, 0x65, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x70, + 0x61, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, + 0x73, 0x74, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x55, 0x0a, 0x18, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, + 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x08, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x9c, 0x03, 0x0a, 0x18, 0x42, 0x6b, 0x70, + 0x72, 0x6c, 0x69, 0x73, 0x74, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x41, 0x0a, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x08, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, + 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x07, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x70, 0x65, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x20, 0x0a, 0x09, 0x77, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x08, 0x77, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0d, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, + 0x0a, 0x10, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2f, + 0x0a, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x04, 0x52, 0x0f, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x41, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x88, 0x01, 0x01, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x77, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x61, + 0x74, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x6f, 0x0a, 0x20, 0x42, 0x6b, 0x70, 0x72, 0x6c, + 0x69, 0x73, 0x74, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x0c, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x63, + 0x6f, 0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x6f, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0xbc, 0x01, 0x0a, 0x15, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0f, @@ -22175,271 +40908,686 @@ var file_node_proto_rawDesc = []byte{ 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x69, 0x64, 0x32, 0xe2, 0x20, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x47, - 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, - 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x73, - 0x12, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x15, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x36, 0x0a, 0x07, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x12, 0x13, 0x2e, 0x63, 0x6c, 0x6e, - 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, - 0x0a, 0x09, 0x41, 0x64, 0x64, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x12, 0x15, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x67, 0x6f, 0x73, 0x73, - 0x69, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, - 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, - 0x12, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, - 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x69, 0x6e, + 0x69, 0x64, 0x22, 0x5a, 0x0a, 0x14, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x72, + 0x75, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x04, 0x48, 0x01, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x65, 0x6e, 0x64, 0x22, 0x52, + 0x0a, 0x15, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x72, 0x75, 0x6e, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x09, 0x62, 0x6c, 0x61, 0x63, 0x6b, + 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x72, 0x75, 0x6e, 0x65, 0x42, 0x6c, + 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x09, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, + 0x73, 0x74, 0x22, 0x40, 0x0a, 0x16, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x72, + 0x75, 0x6e, 0x65, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x03, 0x65, 0x6e, 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x10, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x72, 0x75, + 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x75, 0x6e, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x75, 0x6e, 0x65, 0x12, 0x1b, 0x0a, + 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6d, + 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x29, 0x0a, 0x11, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x72, 0x75, + 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x22, 0x59, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x72, 0x75, 0x6e, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x72, 0x75, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, + 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x72, 0x75, 0x6e, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x12, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x75, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x72, 0x75, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x71, 0x75, + 0x65, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x19, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x75, + 0x6e, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x75, 0x6e, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x17, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, + 0x67, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6e, + 0x65, 0x88, 0x01, 0x01, 0x42, 0x1c, 0x0a, 0x1a, 0x5f, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x5f, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x75, + 0x6e, 0x65, 0x22, 0x34, 0x0a, 0x10, 0x53, 0x68, 0x6f, 0x77, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x72, 0x75, 0x6e, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x72, 0x75, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x72, 0x75, 0x6e, 0x65, 0x22, 0x3e, 0x0a, 0x11, 0x53, 0x68, 0x6f, 0x77, + 0x72, 0x75, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, + 0x05, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x52, 0x75, 0x6e, 0x65, + 0x73, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x22, 0xfa, 0x02, 0x0a, 0x0e, 0x53, 0x68, 0x6f, + 0x77, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x52, 0x75, 0x6e, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, + 0x75, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x75, 0x6e, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0c, + 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x72, 0x75, 0x6e, + 0x65, 0x73, 0x52, 0x75, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5f, 0x61, 0x73, 0x5f, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x15, 0x72, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x41, 0x73, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0b, 0x62, 0x6c, 0x61, 0x63, 0x6b, 0x6c, + 0x69, 0x73, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x0b, 0x62, + 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, + 0x09, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, + 0x48, 0x02, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x73, 0x65, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x1e, 0x0a, 0x08, 0x6f, 0x75, 0x72, 0x5f, 0x72, 0x75, 0x6e, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x08, 0x48, 0x03, 0x52, 0x07, 0x6f, 0x75, 0x72, 0x52, 0x75, 0x6e, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x62, + 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, + 0x61, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x75, 0x72, + 0x5f, 0x72, 0x75, 0x6e, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x1a, 0x53, 0x68, 0x6f, 0x77, 0x72, 0x75, + 0x6e, 0x65, 0x73, 0x52, 0x75, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x52, 0x75, 0x6e, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x6c, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x52, 0x0c, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x22, + 0x94, 0x01, 0x0a, 0x26, 0x53, 0x68, 0x6f, 0x77, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x52, 0x75, 0x6e, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x41, 0x6c, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, + 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, + 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x22, 0x19, 0x0a, 0x17, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x44, 0x0a, 0x16, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x68, + 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, + 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x20, 0x0a, 0x1e, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x0a, 0x1d, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xaf, 0x01, 0x0a, 0x19, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x0c, 0x66, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x66, + 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x61, + 0x64, 0x79, 0x42, 0x05, 0x0a, 0x03, 0x5f, 0x69, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0xd6, 0x01, 0x0a, 0x17, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x4f, 0x0a, + 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x31, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, + 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, + 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x22, 0x27, 0x0a, 0x14, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, + 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x22, 0xac, 0x02, 0x0a, 0x12, 0x50, + 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x4b, 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x50, 0x65, + 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, + 0x0a, 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1d, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x02, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x88, 0x01, 0x01, 0x22, 0x54, 0x0a, 0x16, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, + 0x0c, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x53, 0x4f, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x00, 0x12, + 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, 0x34, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x50, 0x56, + 0x36, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x4f, 0x52, 0x56, 0x32, 0x10, 0x03, 0x12, 0x09, + 0x0a, 0x05, 0x54, 0x4f, 0x52, 0x56, 0x33, 0x10, 0x04, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x6f, + 0x63, 0x6b, 0x65, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x18, 0x0a, 0x16, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x22, 0x4a, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, + 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, + 0x65, 0x65, 0x72, 0x49, 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, 0x32, + 0xf1, 0x40, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x12, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, + 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x3c, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x15, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, + 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, + 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x15, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x75, 0x6e, + 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x07, + 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x12, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, + 0x6e, 0x64, 0x70, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x41, + 0x64, 0x64, 0x47, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x12, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, + 0x64, 0x64, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x67, 0x6f, 0x73, 0x73, 0x69, 0x70, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x41, 0x64, 0x64, + 0x50, 0x73, 0x62, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x19, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x41, 0x64, 0x64, 0x70, 0x73, 0x62, 0x74, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x70, + 0x73, 0x62, 0x74, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6c, 0x65, 0x61, 0x6e, + 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, + 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, + 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6c, + 0x65, 0x61, 0x6e, 0x4f, 0x6e, 0x63, 0x65, 0x12, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, + 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, + 0x61, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x4e, 0x0a, 0x0f, 0x41, 0x75, 0x74, 0x6f, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, + 0x65, 0x61, 0x6e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x65, 0x61, 0x6e, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x45, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x30, 0x0a, 0x05, 0x43, 0x6c, 0x6f, 0x73, 0x65, + 0x12, 0x11, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, + 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x45, 0x0a, 0x0c, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x30, 0x0a, 0x05, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, - 0x11, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x69, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, - 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x15, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0e, - 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1a, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x75, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, - 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x6f, 0x6e, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, - 0x0c, 0x44, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x18, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, - 0x6c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x45, 0x78, 0x70, 0x69, 0x72, - 0x65, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0a, 0x44, 0x65, - 0x6c, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, - 0x65, 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x07, 0x49, - 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x49, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x12, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x64, - 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, - 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, - 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x12, 0x18, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x53, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x69, 0x6f, - 0x6e, 0x12, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, - 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, - 0x79, 0x73, 0x12, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, - 0x64, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x4c, 0x69, 0x73, - 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2a, 0x0a, 0x03, - 0x50, 0x61, 0x79, 0x12, 0x0f, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0e, 0x57, 0x61, 0x69, 0x74, 0x41, 0x6e, - 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, - 0x61, 0x69, 0x74, 0x61, 0x6e, 0x79, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x61, - 0x6e, 0x79, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x57, 0x61, 0x69, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x12, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x57, 0x61, 0x69, 0x74, 0x53, - 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x12, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, - 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x07, 0x4e, - 0x65, 0x77, 0x41, 0x64, 0x64, 0x72, 0x12, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4e, 0x65, 0x77, - 0x61, 0x64, 0x64, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x4e, 0x65, 0x77, 0x61, 0x64, 0x64, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x12, - 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x69, 0x74, 0x68, - 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x36, - 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x4b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, 0x46, 0x75, 0x6e, 0x64, 0x50, 0x73, - 0x62, 0x74, 0x12, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x70, 0x73, 0x62, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, - 0x75, 0x6e, 0x64, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x39, 0x0a, 0x08, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x73, 0x62, 0x74, 0x12, 0x14, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x73, - 0x62, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, - 0x53, 0x69, 0x67, 0x6e, 0x50, 0x73, 0x62, 0x74, 0x12, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, - 0x69, 0x67, 0x6e, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, 0x55, 0x74, 0x78, 0x6f, 0x50, - 0x73, 0x62, 0x74, 0x12, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x70, 0x73, - 0x62, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x55, 0x74, 0x78, 0x6f, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x54, 0x78, 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x12, - 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x54, 0x78, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x54, 0x78, 0x64, - 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x3c, 0x0a, 0x09, 0x54, 0x78, 0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x12, 0x15, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x54, 0x78, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x54, 0x78, 0x70, 0x72, 0x65, - 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x33, - 0x0a, 0x06, 0x54, 0x78, 0x53, 0x65, 0x6e, 0x64, 0x12, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x54, - 0x78, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x54, 0x78, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, - 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1e, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x3c, 0x0a, 0x09, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x79, 0x12, 0x15, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, - 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x33, 0x0a, - 0x06, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, - 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, - 0x12, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, - 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x12, - 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, - 0x0a, 0x0c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x18, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, - 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x46, 0x75, 0x6e, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, 0x47, 0x65, 0x74, - 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x73, 0x12, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0a, 0x4c, - 0x69, 0x73, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x6f, 0x66, 0x66, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x73, 0x12, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x48, - 0x74, 0x6c, 0x63, 0x73, 0x12, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x68, - 0x74, 0x6c, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x30, 0x0a, 0x05, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x11, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, - 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, - 0x6e, 0x64, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x6d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x6d, 0x73, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x3f, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x16, - 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x74, + 0x3c, 0x0a, 0x09, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x15, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, + 0x0e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x75, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x75, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x6f, + 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, + 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x18, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, + 0x65, 0x6c, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x49, 0x6e, 0x76, 0x6f, + 0x69, 0x63, 0x65, 0x12, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x6e, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x46, 0x6f, 0x72, + 0x67, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x44, 0x65, 0x76, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, + 0x65, 0x76, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x45, 0x6d, 0x65, + 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x1c, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x72, 0x65, 0x63, + 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x45, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x79, 0x72, 0x65, 0x63, 0x6f, 0x76, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x07, + 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x12, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x65, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x65, 0x63, + 0x6f, 0x76, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, - 0x12, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0f, 0x57, 0x61, 0x69, - 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1b, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, - 0x57, 0x61, 0x69, 0x74, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x04, 0x57, 0x61, 0x69, - 0x74, 0x12, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x04, 0x53, 0x74, 0x6f, 0x70, - 0x12, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x41, 0x70, - 0x70, 0x72, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x1d, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x50, 0x72, 0x65, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6b, 0x65, 0x79, - 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6c, - 0x6e, 0x2e, 0x50, 0x72, 0x65, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6b, 0x65, 0x79, 0x73, - 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, - 0x11, 0x50, 0x72, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x12, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x72, 0x65, 0x61, 0x70, 0x70, 0x72, - 0x6f, 0x76, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x72, 0x65, 0x61, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x12, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, - 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, - 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0e, 0x42, 0x6b, - 0x70, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1a, 0x2e, 0x63, - 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x6f, 0x6d, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, - 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x1f, 0x5a, 0x1d, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x72, 0x65, 0x65, 0x7a, 0x2f, 0x6c, 0x73, 0x70, 0x64, - 0x2f, 0x63, 0x6c, 0x6e, 0x2f, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x00, 0x12, 0x36, 0x0a, 0x07, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x13, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x14, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x15, + 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, + 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x4c, 0x69, + 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x19, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x64, 0x61, 0x74, 0x61, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x6f, + 0x69, 0x63, 0x65, 0x73, 0x12, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x53, + 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, + 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x4c, 0x69, 0x73, + 0x74, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x73, 0x12, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x65, + 0x6e, 0x64, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x51, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0a, 0x4d, 0x61, 0x6b, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x12, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4d, 0x61, 0x6b, 0x65, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x4d, 0x61, 0x6b, 0x65, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x2a, 0x0a, 0x03, 0x50, 0x61, 0x79, 0x12, 0x0f, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x3c, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x15, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x6e, + 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, + 0x0a, 0x0e, 0x57, 0x61, 0x69, 0x74, 0x41, 0x6e, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, + 0x12, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x61, 0x6e, 0x79, 0x69, 0x6e, + 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x61, 0x6e, 0x79, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x57, + 0x61, 0x69, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x17, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, + 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x42, 0x0a, 0x0b, 0x57, 0x61, 0x69, 0x74, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x12, 0x17, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, + 0x69, 0x74, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x07, 0x4e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x72, 0x12, 0x13, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4e, 0x65, 0x77, 0x61, 0x64, 0x64, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4e, 0x65, 0x77, 0x61, 0x64, 0x64, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, 0x57, + 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x12, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x69, + 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x36, 0x0a, 0x07, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x6e, + 0x64, 0x12, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4b, 0x65, 0x79, + 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, + 0x0a, 0x08, 0x46, 0x75, 0x6e, 0x64, 0x50, 0x73, 0x62, 0x74, 0x12, 0x14, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x70, 0x73, 0x62, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, 0x53, 0x65, 0x6e, + 0x64, 0x50, 0x73, 0x62, 0x74, 0x12, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, + 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x50, 0x73, 0x62, 0x74, + 0x12, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x70, 0x73, 0x62, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x69, 0x67, + 0x6e, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x39, 0x0a, 0x08, 0x55, 0x74, 0x78, 0x6f, 0x50, 0x73, 0x62, 0x74, 0x12, 0x14, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x70, 0x73, 0x62, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x70, 0x73, 0x62, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x54, 0x78, + 0x44, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x12, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x54, 0x78, + 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x54, 0x78, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x54, 0x78, 0x50, 0x72, + 0x65, 0x70, 0x61, 0x72, 0x65, 0x12, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x54, 0x78, 0x70, 0x72, + 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x54, 0x78, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x06, 0x54, 0x78, 0x53, 0x65, 0x6e, 0x64, + 0x12, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x54, 0x78, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x54, 0x78, 0x73, 0x65, 0x6e, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, + 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x65, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, + 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, + 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x44, 0x65, 0x63, 0x6f, 0x64, + 0x65, 0x50, 0x61, 0x79, 0x12, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, + 0x65, 0x70, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x06, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x06, 0x44, 0x65, + 0x6c, 0x50, 0x61, 0x79, 0x12, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x70, 0x61, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, + 0x65, 0x6c, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x3f, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x16, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x66, + 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x45, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x66, 0x66, 0x65, 0x72, + 0x12, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x6f, 0x66, + 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, 0x46, 0x65, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x73, 0x12, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x46, 0x65, 0x65, 0x72, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x49, 0x6e, 0x76, 0x6f, + 0x69, 0x63, 0x65, 0x12, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, + 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x12, 0x46, 0x75, + 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, + 0x12, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1f, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x46, 0x75, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x12, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x11, 0x46, 0x75, 0x6e, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1d, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x33, 0x0a, 0x06, + 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x12, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, + 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x47, 0x65, 0x74, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x46, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x52, + 0x6f, 0x75, 0x74, 0x65, 0x12, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x72, 0x6f, + 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x47, 0x65, 0x74, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, + 0x72, 0x64, 0x73, 0x12, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, + 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0a, 0x4c, 0x69, + 0x73, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x6f, 0x66, 0x66, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x73, 0x12, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x70, 0x61, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x74, + 0x6c, 0x63, 0x73, 0x12, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, + 0x6c, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x46, 0x75, 0x6e, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x66, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4d, 0x75, 0x6c, + 0x74, 0x69, 0x66, 0x75, 0x6e, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x4d, 0x75, 0x6c, 0x74, 0x69, + 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x12, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4d, + 0x75, 0x6c, 0x74, 0x69, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x77, + 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x30, 0x0a, 0x05, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x11, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x11, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x41, 0x62, 0x6f, 0x72, 0x74, 0x12, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, + 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x62, 0x6f, 0x72, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x70, + 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x62, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x4f, 0x70, 0x65, + 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x42, 0x75, 0x6d, 0x70, 0x12, 0x1c, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x62, 0x75, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x62, 0x75, + 0x6d, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, + 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x49, 0x6e, 0x69, 0x74, + 0x12, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x57, 0x0a, 0x12, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x53, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x12, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x12, 0x4f, 0x70, 0x65, 0x6e, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1e, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x2d, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x33, 0x0a, 0x06, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x12, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x52, 0x65, 0x6e, 0x65, 0x50, 0x61, 0x79, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x65, 0x6e, + 0x65, 0x70, 0x61, 0x79, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x65, 0x6e, 0x65, 0x70, 0x61, 0x79, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x36, 0x0a, 0x07, 0x52, 0x65, 0x6e, 0x65, 0x50, 0x61, 0x79, 0x12, 0x13, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x52, 0x65, 0x6e, 0x65, 0x70, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x65, 0x6e, 0x65, 0x70, 0x61, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, + 0x73, 0x67, 0x12, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x6d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x6d, 0x73, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x53, + 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x17, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x51, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x4f, 0x6e, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, + 0x69, 0x6f, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x6f, 0x6e, 0x69, 0x6f, + 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0a, 0x53, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x12, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, + 0x65, 0x74, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, + 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x4b, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x50, 0x73, 0x62, 0x74, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x70, 0x73, 0x62, + 0x74, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x70, 0x73, 0x62, 0x74, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, + 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x17, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x69, 0x67, + 0x6e, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, + 0x5f, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x70, 0x6c, 0x69, + 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x53, 0x70, + 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x12, 0x19, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x70, 0x6c, + 0x69, 0x63, 0x65, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x70, 0x6c, 0x69, + 0x63, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, + 0x0a, 0x0f, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, + 0x73, 0x12, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x69, 0x6e, + 0x70, 0x75, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, + 0x0a, 0x0d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, + 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x77, 0x61, 0x6c, + 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0f, 0x57, 0x61, 0x69, 0x74, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1b, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, + 0x61, 0x69, 0x74, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x04, 0x57, 0x61, 0x69, 0x74, + 0x12, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x04, 0x53, + 0x74, 0x6f, 0x70, 0x12, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x74, 0x6f, 0x70, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2d, 0x0a, 0x04, 0x48, 0x65, + 0x6c, 0x70, 0x12, 0x10, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x11, 0x50, 0x72, 0x65, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x1d, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x72, 0x65, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6b, + 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x72, 0x65, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6b, 0x65, + 0x79, 0x73, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x54, 0x0a, 0x11, 0x50, 0x72, 0x65, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x49, 0x6e, 0x76, + 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x72, 0x65, 0x61, 0x70, + 0x70, 0x72, 0x6f, 0x76, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x72, 0x65, 0x61, 0x70, 0x70, + 0x72, 0x6f, 0x76, 0x65, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x42, + 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x18, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x69, 0x63, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x62, 0x61, 0x63, 0x6b, + 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0f, + 0x42, 0x6b, 0x70, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x41, 0x70, 0x79, 0x12, + 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x61, 0x70, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x61, + 0x70, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x54, 0x0a, 0x11, + 0x42, 0x6b, 0x70, 0x72, 0x44, 0x75, 0x6d, 0x70, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x43, 0x73, + 0x76, 0x12, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x64, 0x75, 0x6d, 0x70, + 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x63, 0x73, 0x76, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x64, 0x75, 0x6d, 0x70, 0x69, + 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x63, 0x73, 0x76, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x42, 0x6b, 0x70, 0x72, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, + 0x74, 0x12, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x69, 0x6e, 0x73, 0x70, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x69, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x15, 0x42, 0x6b, 0x70, 0x72, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x21, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, + 0x74, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x10, 0x42, 0x6b, 0x70, 0x72, + 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x1c, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0e, 0x42, + 0x6b, 0x70, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1a, 0x2e, + 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x6f, + 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x42, 0x6b, 0x70, 0x72, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0d, 0x42, 0x6c, 0x61, 0x63, + 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x65, 0x12, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x6c, 0x69, 0x73, 0x74, 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6c, 0x61, 0x63, 0x6b, + 0x6c, 0x69, 0x73, 0x74, 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x75, 0x6e, 0x65, 0x12, + 0x15, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x72, 0x75, 0x6e, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x3f, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x65, 0x12, 0x16, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x75, 0x6e, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x72, 0x75, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x3c, 0x0a, 0x09, 0x53, 0x68, 0x6f, 0x77, 0x52, 0x75, 0x6e, 0x65, 0x73, 0x12, 0x15, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x68, 0x6f, 0x77, 0x72, 0x75, 0x6e, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x68, 0x6f, 0x77, + 0x72, 0x75, 0x6e, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x54, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x42, 0x6c, 0x6f, 0x63, + 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64, 0x12, 0x1c, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x65, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, + 0x41, 0x64, 0x64, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x00, 0x30, 0x01, 0x12, 0x69, 0x0a, 0x1a, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x12, 0x23, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x00, 0x30, 0x01, + 0x12, 0x5d, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x12, 0x1f, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, + 0x65, 0x6e, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x63, 0x6c, + 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x65, 0x64, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x00, 0x30, 0x01, 0x12, + 0x4f, 0x0a, 0x10, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x12, 0x19, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x00, 0x30, 0x01, + 0x12, 0x51, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x1b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x4d, 0x73, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x00, 0x30, 0x01, 0x42, 0x1f, 0x5a, 0x1d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x62, 0x72, 0x65, 0x65, 0x7a, 0x2f, 0x6c, 0x73, 0x70, 0x64, 0x2f, 0x63, 0x6c, 0x6e, + 0x2f, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -22454,668 +41602,1224 @@ func file_node_proto_rawDescGZIP() []byte { return file_node_proto_rawDescData } -var file_node_proto_enumTypes = make([]protoimpl.EnumInfo, 44) -var file_node_proto_msgTypes = make([]protoimpl.MessageInfo, 196) +var file_node_proto_enumTypes = make([]protoimpl.EnumInfo, 65) +var file_node_proto_msgTypes = make([]protoimpl.MessageInfo, 419) var file_node_proto_goTypes = []interface{}{ - (GetinfoAddress_GetinfoAddressType)(0), // 0: cln.GetinfoAddress.GetinfoAddressType - (GetinfoBinding_GetinfoBindingType)(0), // 1: cln.GetinfoBinding.GetinfoBindingType - (ListpeersPeersLog_ListpeersPeersLogType)(0), // 2: cln.ListpeersPeersLog.ListpeersPeersLogType - (ListpeersPeersChannels_ListpeersPeersChannelsState)(0), // 3: cln.ListpeersPeersChannels.ListpeersPeersChannelsState - (ListpeersPeersChannelsHtlcs_ListpeersPeersChannelsHtlcsDirection)(0), // 4: cln.ListpeersPeersChannelsHtlcs.ListpeersPeersChannelsHtlcsDirection - (ListfundsOutputs_ListfundsOutputsStatus)(0), // 5: cln.ListfundsOutputs.ListfundsOutputsStatus - (SendpayResponse_SendpayStatus)(0), // 6: cln.SendpayResponse.SendpayStatus - (CloseResponse_CloseType)(0), // 7: cln.CloseResponse.CloseType - (ConnectResponse_ConnectDirection)(0), // 8: cln.ConnectResponse.ConnectDirection - (ConnectAddress_ConnectAddressType)(0), // 9: cln.ConnectAddress.ConnectAddressType - (CreateinvoiceResponse_CreateinvoiceStatus)(0), // 10: cln.CreateinvoiceResponse.CreateinvoiceStatus - (DatastoreRequest_DatastoreMode)(0), // 11: cln.DatastoreRequest.DatastoreMode - (DelinvoiceRequest_DelinvoiceStatus)(0), // 12: cln.DelinvoiceRequest.DelinvoiceStatus - (DelinvoiceResponse_DelinvoiceStatus)(0), // 13: cln.DelinvoiceResponse.DelinvoiceStatus - (ListinvoicesRequest_ListinvoicesIndex)(0), // 14: cln.ListinvoicesRequest.ListinvoicesIndex - (ListinvoicesInvoices_ListinvoicesInvoicesStatus)(0), // 15: cln.ListinvoicesInvoices.ListinvoicesInvoicesStatus - (SendonionResponse_SendonionStatus)(0), // 16: cln.SendonionResponse.SendonionStatus - (ListsendpaysRequest_ListsendpaysStatus)(0), // 17: cln.ListsendpaysRequest.ListsendpaysStatus - (ListsendpaysRequest_ListsendpaysIndex)(0), // 18: cln.ListsendpaysRequest.ListsendpaysIndex - (ListsendpaysPayments_ListsendpaysPaymentsStatus)(0), // 19: cln.ListsendpaysPayments.ListsendpaysPaymentsStatus - (PayResponse_PayStatus)(0), // 20: cln.PayResponse.PayStatus - (ListnodesNodesAddresses_ListnodesNodesAddressesType)(0), // 21: cln.ListnodesNodesAddresses.ListnodesNodesAddressesType - (WaitanyinvoiceResponse_WaitanyinvoiceStatus)(0), // 22: cln.WaitanyinvoiceResponse.WaitanyinvoiceStatus - (WaitinvoiceResponse_WaitinvoiceStatus)(0), // 23: cln.WaitinvoiceResponse.WaitinvoiceStatus - (WaitsendpayResponse_WaitsendpayStatus)(0), // 24: cln.WaitsendpayResponse.WaitsendpayStatus - (NewaddrRequest_NewaddrAddresstype)(0), // 25: cln.NewaddrRequest.NewaddrAddresstype - (KeysendResponse_KeysendStatus)(0), // 26: cln.KeysendResponse.KeysendStatus - (ListpeerchannelsChannels_ListpeerchannelsChannelsState)(0), // 27: cln.ListpeerchannelsChannels.ListpeerchannelsChannelsState - (ListpeerchannelsChannelsHtlcs_ListpeerchannelsChannelsHtlcsDirection)(0), // 28: cln.ListpeerchannelsChannelsHtlcs.ListpeerchannelsChannelsHtlcsDirection - (ListclosedchannelsClosedchannels_ListclosedchannelsClosedchannelsCloseCause)(0), // 29: cln.ListclosedchannelsClosedchannels.ListclosedchannelsClosedchannelsClose_cause - (DecodepayFallbacks_DecodepayFallbacksType)(0), // 30: cln.DecodepayFallbacks.DecodepayFallbacksType - (DecodeResponse_DecodeType)(0), // 31: cln.DecodeResponse.DecodeType - (FeeratesRequest_FeeratesStyle)(0), // 32: cln.FeeratesRequest.FeeratesStyle - (GetrouteRoute_GetrouteRouteStyle)(0), // 33: cln.GetrouteRoute.GetrouteRouteStyle - (ListforwardsRequest_ListforwardsStatus)(0), // 34: cln.ListforwardsRequest.ListforwardsStatus - (ListforwardsRequest_ListforwardsIndex)(0), // 35: cln.ListforwardsRequest.ListforwardsIndex - (ListforwardsForwards_ListforwardsForwardsStatus)(0), // 36: cln.ListforwardsForwards.ListforwardsForwardsStatus - (ListforwardsForwards_ListforwardsForwardsStyle)(0), // 37: cln.ListforwardsForwards.ListforwardsForwardsStyle - (ListpaysRequest_ListpaysStatus)(0), // 38: cln.ListpaysRequest.ListpaysStatus - (ListpaysPays_ListpaysPaysStatus)(0), // 39: cln.ListpaysPays.ListpaysPaysStatus - (ListhtlcsHtlcs_ListhtlcsHtlcsDirection)(0), // 40: cln.ListhtlcsHtlcs.ListhtlcsHtlcsDirection - (WaitRequest_WaitSubsystem)(0), // 41: cln.WaitRequest.WaitSubsystem - (WaitRequest_WaitIndexname)(0), // 42: cln.WaitRequest.WaitIndexname - (WaitResponse_WaitSubsystem)(0), // 43: cln.WaitResponse.WaitSubsystem - (*GetinfoRequest)(nil), // 44: cln.GetinfoRequest - (*GetinfoResponse)(nil), // 45: cln.GetinfoResponse - (*GetinfoOurFeatures)(nil), // 46: cln.GetinfoOur_features - (*GetinfoAddress)(nil), // 47: cln.GetinfoAddress - (*GetinfoBinding)(nil), // 48: cln.GetinfoBinding - (*ListpeersRequest)(nil), // 49: cln.ListpeersRequest - (*ListpeersResponse)(nil), // 50: cln.ListpeersResponse - (*ListpeersPeers)(nil), // 51: cln.ListpeersPeers - (*ListpeersPeersLog)(nil), // 52: cln.ListpeersPeersLog - (*ListpeersPeersChannels)(nil), // 53: cln.ListpeersPeersChannels - (*ListpeersPeersChannelsFeerate)(nil), // 54: cln.ListpeersPeersChannelsFeerate - (*ListpeersPeersChannelsInflight)(nil), // 55: cln.ListpeersPeersChannelsInflight - (*ListpeersPeersChannelsFunding)(nil), // 56: cln.ListpeersPeersChannelsFunding - (*ListpeersPeersChannelsAlias)(nil), // 57: cln.ListpeersPeersChannelsAlias - (*ListpeersPeersChannelsHtlcs)(nil), // 58: cln.ListpeersPeersChannelsHtlcs - (*ListfundsRequest)(nil), // 59: cln.ListfundsRequest - (*ListfundsResponse)(nil), // 60: cln.ListfundsResponse - (*ListfundsOutputs)(nil), // 61: cln.ListfundsOutputs - (*ListfundsChannels)(nil), // 62: cln.ListfundsChannels - (*SendpayRequest)(nil), // 63: cln.SendpayRequest - (*SendpayResponse)(nil), // 64: cln.SendpayResponse - (*SendpayRoute)(nil), // 65: cln.SendpayRoute - (*ListchannelsRequest)(nil), // 66: cln.ListchannelsRequest - (*ListchannelsResponse)(nil), // 67: cln.ListchannelsResponse - (*ListchannelsChannels)(nil), // 68: cln.ListchannelsChannels - (*AddgossipRequest)(nil), // 69: cln.AddgossipRequest - (*AddgossipResponse)(nil), // 70: cln.AddgossipResponse - (*AutocleaninvoiceRequest)(nil), // 71: cln.AutocleaninvoiceRequest - (*AutocleaninvoiceResponse)(nil), // 72: cln.AutocleaninvoiceResponse - (*CheckmessageRequest)(nil), // 73: cln.CheckmessageRequest - (*CheckmessageResponse)(nil), // 74: cln.CheckmessageResponse - (*CloseRequest)(nil), // 75: cln.CloseRequest - (*CloseResponse)(nil), // 76: cln.CloseResponse - (*ConnectRequest)(nil), // 77: cln.ConnectRequest - (*ConnectResponse)(nil), // 78: cln.ConnectResponse - (*ConnectAddress)(nil), // 79: cln.ConnectAddress - (*CreateinvoiceRequest)(nil), // 80: cln.CreateinvoiceRequest - (*CreateinvoiceResponse)(nil), // 81: cln.CreateinvoiceResponse - (*CreateinvoicePaidOutpoint)(nil), // 82: cln.CreateinvoicePaid_outpoint - (*DatastoreRequest)(nil), // 83: cln.DatastoreRequest - (*DatastoreResponse)(nil), // 84: cln.DatastoreResponse - (*DatastoreusageRequest)(nil), // 85: cln.DatastoreusageRequest - (*DatastoreusageResponse)(nil), // 86: cln.DatastoreusageResponse - (*DatastoreusageDatastoreusage)(nil), // 87: cln.DatastoreusageDatastoreusage - (*CreateonionRequest)(nil), // 88: cln.CreateonionRequest - (*CreateonionResponse)(nil), // 89: cln.CreateonionResponse - (*CreateonionHops)(nil), // 90: cln.CreateonionHops - (*DeldatastoreRequest)(nil), // 91: cln.DeldatastoreRequest - (*DeldatastoreResponse)(nil), // 92: cln.DeldatastoreResponse - (*DelexpiredinvoiceRequest)(nil), // 93: cln.DelexpiredinvoiceRequest - (*DelexpiredinvoiceResponse)(nil), // 94: cln.DelexpiredinvoiceResponse - (*DelinvoiceRequest)(nil), // 95: cln.DelinvoiceRequest - (*DelinvoiceResponse)(nil), // 96: cln.DelinvoiceResponse - (*InvoiceRequest)(nil), // 97: cln.InvoiceRequest - (*InvoiceResponse)(nil), // 98: cln.InvoiceResponse - (*ListdatastoreRequest)(nil), // 99: cln.ListdatastoreRequest - (*ListdatastoreResponse)(nil), // 100: cln.ListdatastoreResponse - (*ListdatastoreDatastore)(nil), // 101: cln.ListdatastoreDatastore - (*ListinvoicesRequest)(nil), // 102: cln.ListinvoicesRequest - (*ListinvoicesResponse)(nil), // 103: cln.ListinvoicesResponse - (*ListinvoicesInvoices)(nil), // 104: cln.ListinvoicesInvoices - (*ListinvoicesInvoicesPaidOutpoint)(nil), // 105: cln.ListinvoicesInvoicesPaid_outpoint - (*SendonionRequest)(nil), // 106: cln.SendonionRequest - (*SendonionResponse)(nil), // 107: cln.SendonionResponse - (*SendonionFirstHop)(nil), // 108: cln.SendonionFirst_hop - (*ListsendpaysRequest)(nil), // 109: cln.ListsendpaysRequest - (*ListsendpaysResponse)(nil), // 110: cln.ListsendpaysResponse - (*ListsendpaysPayments)(nil), // 111: cln.ListsendpaysPayments - (*ListtransactionsRequest)(nil), // 112: cln.ListtransactionsRequest - (*ListtransactionsResponse)(nil), // 113: cln.ListtransactionsResponse - (*ListtransactionsTransactions)(nil), // 114: cln.ListtransactionsTransactions - (*ListtransactionsTransactionsInputs)(nil), // 115: cln.ListtransactionsTransactionsInputs - (*ListtransactionsTransactionsOutputs)(nil), // 116: cln.ListtransactionsTransactionsOutputs - (*PayRequest)(nil), // 117: cln.PayRequest - (*PayResponse)(nil), // 118: cln.PayResponse - (*ListnodesRequest)(nil), // 119: cln.ListnodesRequest - (*ListnodesResponse)(nil), // 120: cln.ListnodesResponse - (*ListnodesNodes)(nil), // 121: cln.ListnodesNodes - (*ListnodesNodesAddresses)(nil), // 122: cln.ListnodesNodesAddresses - (*WaitanyinvoiceRequest)(nil), // 123: cln.WaitanyinvoiceRequest - (*WaitanyinvoiceResponse)(nil), // 124: cln.WaitanyinvoiceResponse - (*WaitanyinvoicePaidOutpoint)(nil), // 125: cln.WaitanyinvoicePaid_outpoint - (*WaitinvoiceRequest)(nil), // 126: cln.WaitinvoiceRequest - (*WaitinvoiceResponse)(nil), // 127: cln.WaitinvoiceResponse - (*WaitinvoicePaidOutpoint)(nil), // 128: cln.WaitinvoicePaid_outpoint - (*WaitsendpayRequest)(nil), // 129: cln.WaitsendpayRequest - (*WaitsendpayResponse)(nil), // 130: cln.WaitsendpayResponse - (*NewaddrRequest)(nil), // 131: cln.NewaddrRequest - (*NewaddrResponse)(nil), // 132: cln.NewaddrResponse - (*WithdrawRequest)(nil), // 133: cln.WithdrawRequest - (*WithdrawResponse)(nil), // 134: cln.WithdrawResponse - (*KeysendRequest)(nil), // 135: cln.KeysendRequest - (*KeysendResponse)(nil), // 136: cln.KeysendResponse - (*FundpsbtRequest)(nil), // 137: cln.FundpsbtRequest - (*FundpsbtResponse)(nil), // 138: cln.FundpsbtResponse - (*FundpsbtReservations)(nil), // 139: cln.FundpsbtReservations - (*SendpsbtRequest)(nil), // 140: cln.SendpsbtRequest - (*SendpsbtResponse)(nil), // 141: cln.SendpsbtResponse - (*SignpsbtRequest)(nil), // 142: cln.SignpsbtRequest - (*SignpsbtResponse)(nil), // 143: cln.SignpsbtResponse - (*UtxopsbtRequest)(nil), // 144: cln.UtxopsbtRequest - (*UtxopsbtResponse)(nil), // 145: cln.UtxopsbtResponse - (*UtxopsbtReservations)(nil), // 146: cln.UtxopsbtReservations - (*TxdiscardRequest)(nil), // 147: cln.TxdiscardRequest - (*TxdiscardResponse)(nil), // 148: cln.TxdiscardResponse - (*TxprepareRequest)(nil), // 149: cln.TxprepareRequest - (*TxprepareResponse)(nil), // 150: cln.TxprepareResponse - (*TxsendRequest)(nil), // 151: cln.TxsendRequest - (*TxsendResponse)(nil), // 152: cln.TxsendResponse - (*ListpeerchannelsRequest)(nil), // 153: cln.ListpeerchannelsRequest - (*ListpeerchannelsResponse)(nil), // 154: cln.ListpeerchannelsResponse - (*ListpeerchannelsChannels)(nil), // 155: cln.ListpeerchannelsChannels - (*ListpeerchannelsChannelsUpdates)(nil), // 156: cln.ListpeerchannelsChannelsUpdates - (*ListpeerchannelsChannelsUpdatesLocal)(nil), // 157: cln.ListpeerchannelsChannelsUpdatesLocal - (*ListpeerchannelsChannelsUpdatesRemote)(nil), // 158: cln.ListpeerchannelsChannelsUpdatesRemote - (*ListpeerchannelsChannelsFeerate)(nil), // 159: cln.ListpeerchannelsChannelsFeerate - (*ListpeerchannelsChannelsInflight)(nil), // 160: cln.ListpeerchannelsChannelsInflight - (*ListpeerchannelsChannelsFunding)(nil), // 161: cln.ListpeerchannelsChannelsFunding - (*ListpeerchannelsChannelsAlias)(nil), // 162: cln.ListpeerchannelsChannelsAlias - (*ListpeerchannelsChannelsHtlcs)(nil), // 163: cln.ListpeerchannelsChannelsHtlcs - (*ListclosedchannelsRequest)(nil), // 164: cln.ListclosedchannelsRequest - (*ListclosedchannelsResponse)(nil), // 165: cln.ListclosedchannelsResponse - (*ListclosedchannelsClosedchannels)(nil), // 166: cln.ListclosedchannelsClosedchannels - (*ListclosedchannelsClosedchannelsAlias)(nil), // 167: cln.ListclosedchannelsClosedchannelsAlias - (*DecodepayRequest)(nil), // 168: cln.DecodepayRequest - (*DecodepayResponse)(nil), // 169: cln.DecodepayResponse - (*DecodepayFallbacks)(nil), // 170: cln.DecodepayFallbacks - (*DecodepayExtra)(nil), // 171: cln.DecodepayExtra - (*DecodeRequest)(nil), // 172: cln.DecodeRequest - (*DecodeResponse)(nil), // 173: cln.DecodeResponse - (*DecodeOfferPaths)(nil), // 174: cln.DecodeOffer_paths - (*DecodeOfferRecurrencePaywindow)(nil), // 175: cln.DecodeOffer_recurrencePaywindow - (*DecodeInvoicePathsPath)(nil), // 176: cln.DecodeInvoice_pathsPath - (*DecodeInvoiceFallbacks)(nil), // 177: cln.DecodeInvoice_fallbacks - (*DecodeFallbacks)(nil), // 178: cln.DecodeFallbacks - (*DecodeExtra)(nil), // 179: cln.DecodeExtra - (*DecodeRestrictions)(nil), // 180: cln.DecodeRestrictions - (*DisconnectRequest)(nil), // 181: cln.DisconnectRequest - (*DisconnectResponse)(nil), // 182: cln.DisconnectResponse - (*FeeratesRequest)(nil), // 183: cln.FeeratesRequest - (*FeeratesResponse)(nil), // 184: cln.FeeratesResponse - (*FeeratesPerkb)(nil), // 185: cln.FeeratesPerkb - (*FeeratesPerkbEstimates)(nil), // 186: cln.FeeratesPerkbEstimates - (*FeeratesPerkw)(nil), // 187: cln.FeeratesPerkw - (*FeeratesPerkwEstimates)(nil), // 188: cln.FeeratesPerkwEstimates - (*FeeratesOnchainFeeEstimates)(nil), // 189: cln.FeeratesOnchain_fee_estimates - (*FetchinvoiceRequest)(nil), // 190: cln.FetchinvoiceRequest - (*FetchinvoiceResponse)(nil), // 191: cln.FetchinvoiceResponse - (*FetchinvoiceChanges)(nil), // 192: cln.FetchinvoiceChanges - (*FetchinvoiceNextPeriod)(nil), // 193: cln.FetchinvoiceNext_period - (*FundchannelRequest)(nil), // 194: cln.FundchannelRequest - (*FundchannelResponse)(nil), // 195: cln.FundchannelResponse - (*FundchannelChannelType)(nil), // 196: cln.FundchannelChannel_type - (*GetrouteRequest)(nil), // 197: cln.GetrouteRequest - (*GetrouteResponse)(nil), // 198: cln.GetrouteResponse - (*GetrouteRoute)(nil), // 199: cln.GetrouteRoute - (*ListforwardsRequest)(nil), // 200: cln.ListforwardsRequest - (*ListforwardsResponse)(nil), // 201: cln.ListforwardsResponse - (*ListforwardsForwards)(nil), // 202: cln.ListforwardsForwards - (*ListoffersRequest)(nil), // 203: cln.ListoffersRequest - (*ListoffersResponse)(nil), // 204: cln.ListoffersResponse - (*ListoffersOffers)(nil), // 205: cln.ListoffersOffers - (*ListpaysRequest)(nil), // 206: cln.ListpaysRequest - (*ListpaysResponse)(nil), // 207: cln.ListpaysResponse - (*ListpaysPays)(nil), // 208: cln.ListpaysPays - (*ListhtlcsRequest)(nil), // 209: cln.ListhtlcsRequest - (*ListhtlcsResponse)(nil), // 210: cln.ListhtlcsResponse - (*ListhtlcsHtlcs)(nil), // 211: cln.ListhtlcsHtlcs - (*OfferRequest)(nil), // 212: cln.OfferRequest - (*OfferResponse)(nil), // 213: cln.OfferResponse - (*PingRequest)(nil), // 214: cln.PingRequest - (*PingResponse)(nil), // 215: cln.PingResponse - (*SendcustommsgRequest)(nil), // 216: cln.SendcustommsgRequest - (*SendcustommsgResponse)(nil), // 217: cln.SendcustommsgResponse - (*SetchannelRequest)(nil), // 218: cln.SetchannelRequest - (*SetchannelResponse)(nil), // 219: cln.SetchannelResponse - (*SetchannelChannels)(nil), // 220: cln.SetchannelChannels - (*SigninvoiceRequest)(nil), // 221: cln.SigninvoiceRequest - (*SigninvoiceResponse)(nil), // 222: cln.SigninvoiceResponse - (*SignmessageRequest)(nil), // 223: cln.SignmessageRequest - (*SignmessageResponse)(nil), // 224: cln.SignmessageResponse - (*WaitblockheightRequest)(nil), // 225: cln.WaitblockheightRequest - (*WaitblockheightResponse)(nil), // 226: cln.WaitblockheightResponse - (*WaitRequest)(nil), // 227: cln.WaitRequest - (*WaitResponse)(nil), // 228: cln.WaitResponse - (*StopRequest)(nil), // 229: cln.StopRequest - (*StopResponse)(nil), // 230: cln.StopResponse - (*PreapprovekeysendRequest)(nil), // 231: cln.PreapprovekeysendRequest - (*PreapprovekeysendResponse)(nil), // 232: cln.PreapprovekeysendResponse - (*PreapproveinvoiceRequest)(nil), // 233: cln.PreapproveinvoiceRequest - (*PreapproveinvoiceResponse)(nil), // 234: cln.PreapproveinvoiceResponse - (*StaticbackupRequest)(nil), // 235: cln.StaticbackupRequest - (*StaticbackupResponse)(nil), // 236: cln.StaticbackupResponse - (*BkprlistincomeRequest)(nil), // 237: cln.BkprlistincomeRequest - (*BkprlistincomeResponse)(nil), // 238: cln.BkprlistincomeResponse - (*BkprlistincomeIncomeEvents)(nil), // 239: cln.BkprlistincomeIncome_events - (*Amount)(nil), // 240: cln.Amount - (ChannelSide)(0), // 241: cln.ChannelSide - (HtlcState)(0), // 242: cln.HtlcState - (ChannelState)(0), // 243: cln.ChannelState - (*Outpoint)(nil), // 244: cln.Outpoint - (*Feerate)(nil), // 245: cln.Feerate - (*AmountOrAny)(nil), // 246: cln.AmountOrAny - (*AmountOrAll)(nil), // 247: cln.AmountOrAll - (*RoutehintList)(nil), // 248: cln.RoutehintList - (*TlvStream)(nil), // 249: cln.TlvStream - (*OutputDesc)(nil), // 250: cln.OutputDesc - (ChannelTypeName)(0), // 251: cln.ChannelTypeName + (GetinfoAddress_GetinfoAddressType)(0), // 0: cln.GetinfoAddress.GetinfoAddressType + (GetinfoBinding_GetinfoBindingType)(0), // 1: cln.GetinfoBinding.GetinfoBindingType + (ListpeersRequest_ListpeersLevel)(0), // 2: cln.ListpeersRequest.ListpeersLevel + (ListpeersPeersLog_ListpeersPeersLogType)(0), // 3: cln.ListpeersPeersLog.ListpeersPeersLogType + (ListfundsOutputs_ListfundsOutputsStatus)(0), // 4: cln.ListfundsOutputs.ListfundsOutputsStatus + (SendpayResponse_SendpayStatus)(0), // 5: cln.SendpayResponse.SendpayStatus + (CloseResponse_CloseType)(0), // 6: cln.CloseResponse.CloseType + (ConnectResponse_ConnectDirection)(0), // 7: cln.ConnectResponse.ConnectDirection + (ConnectAddress_ConnectAddressType)(0), // 8: cln.ConnectAddress.ConnectAddressType + (CreateinvoiceResponse_CreateinvoiceStatus)(0), // 9: cln.CreateinvoiceResponse.CreateinvoiceStatus + (DatastoreRequest_DatastoreMode)(0), // 10: cln.DatastoreRequest.DatastoreMode + (DelinvoiceRequest_DelinvoiceStatus)(0), // 11: cln.DelinvoiceRequest.DelinvoiceStatus + (DelinvoiceResponse_DelinvoiceStatus)(0), // 12: cln.DelinvoiceResponse.DelinvoiceStatus + (RecoverResponse_RecoverResult)(0), // 13: cln.RecoverResponse.RecoverResult + (ListinvoicesRequest_ListinvoicesIndex)(0), // 14: cln.ListinvoicesRequest.ListinvoicesIndex + (ListinvoicesInvoices_ListinvoicesInvoicesStatus)(0), // 15: cln.ListinvoicesInvoices.ListinvoicesInvoicesStatus + (SendonionResponse_SendonionStatus)(0), // 16: cln.SendonionResponse.SendonionStatus + (ListsendpaysRequest_ListsendpaysStatus)(0), // 17: cln.ListsendpaysRequest.ListsendpaysStatus + (ListsendpaysRequest_ListsendpaysIndex)(0), // 18: cln.ListsendpaysRequest.ListsendpaysIndex + (ListsendpaysPayments_ListsendpaysPaymentsStatus)(0), // 19: cln.ListsendpaysPayments.ListsendpaysPaymentsStatus + (PayResponse_PayStatus)(0), // 20: cln.PayResponse.PayStatus + (ListnodesNodesAddresses_ListnodesNodesAddressesType)(0), // 21: cln.ListnodesNodesAddresses.ListnodesNodesAddressesType + (WaitanyinvoiceResponse_WaitanyinvoiceStatus)(0), // 22: cln.WaitanyinvoiceResponse.WaitanyinvoiceStatus + (WaitinvoiceResponse_WaitinvoiceStatus)(0), // 23: cln.WaitinvoiceResponse.WaitinvoiceStatus + (WaitsendpayResponse_WaitsendpayStatus)(0), // 24: cln.WaitsendpayResponse.WaitsendpayStatus + (NewaddrRequest_NewaddrAddresstype)(0), // 25: cln.NewaddrRequest.NewaddrAddresstype + (KeysendResponse_KeysendStatus)(0), // 26: cln.KeysendResponse.KeysendStatus + (ListpeerchannelsChannels_ListpeerchannelsChannelsState)(0), // 27: cln.ListpeerchannelsChannels.ListpeerchannelsChannelsState + (ListpeerchannelsChannelsHtlcs_ListpeerchannelsChannelsHtlcsDirection)(0), // 28: cln.ListpeerchannelsChannelsHtlcs.ListpeerchannelsChannelsHtlcsDirection + (ListclosedchannelsClosedchannels_ListclosedchannelsClosedchannelsCloseCause)(0), // 29: cln.ListclosedchannelsClosedchannels.ListclosedchannelsClosedchannelsClose_cause + (DecodepayFallbacks_DecodepayFallbacksType)(0), // 30: cln.DecodepayFallbacks.DecodepayFallbacksType + (DecodeResponse_DecodeType)(0), // 31: cln.DecodeResponse.DecodeType + (DecodeFallbacks_DecodeFallbacksType)(0), // 32: cln.DecodeFallbacks.DecodeFallbacksType + (DelpayRequest_DelpayStatus)(0), // 33: cln.DelpayRequest.DelpayStatus + (DelpayPayments_DelpayPaymentsStatus)(0), // 34: cln.DelpayPayments.DelpayPaymentsStatus + (DelforwardRequest_DelforwardStatus)(0), // 35: cln.DelforwardRequest.DelforwardStatus + (FeeratesRequest_FeeratesStyle)(0), // 36: cln.FeeratesRequest.FeeratesStyle + (GetlogRequest_GetlogLevel)(0), // 37: cln.GetlogRequest.GetlogLevel + (GetlogLog_GetlogLogType)(0), // 38: cln.GetlogLog.GetlogLogType + (FunderupdateRequest_FunderupdatePolicy)(0), // 39: cln.FunderupdateRequest.FunderupdatePolicy + (FunderupdateResponse_FunderupdatePolicy)(0), // 40: cln.FunderupdateResponse.FunderupdatePolicy + (GetrouteRoute_GetrouteRouteStyle)(0), // 41: cln.GetrouteRoute.GetrouteRouteStyle + (ListforwardsRequest_ListforwardsStatus)(0), // 42: cln.ListforwardsRequest.ListforwardsStatus + (ListforwardsRequest_ListforwardsIndex)(0), // 43: cln.ListforwardsRequest.ListforwardsIndex + (ListforwardsForwards_ListforwardsForwardsStatus)(0), // 44: cln.ListforwardsForwards.ListforwardsForwardsStatus + (ListforwardsForwards_ListforwardsForwardsStyle)(0), // 45: cln.ListforwardsForwards.ListforwardsForwardsStyle + (ListpaysRequest_ListpaysStatus)(0), // 46: cln.ListpaysRequest.ListpaysStatus + (ListpaysPays_ListpaysPaysStatus)(0), // 47: cln.ListpaysPays.ListpaysPaysStatus + (ListhtlcsHtlcs_ListhtlcsHtlcsDirection)(0), // 48: cln.ListhtlcsHtlcs.ListhtlcsHtlcsDirection + (MultifundchannelFailed_MultifundchannelFailedMethod)(0), // 49: cln.MultifundchannelFailed.MultifundchannelFailedMethod + (RenepaystatusPaystatus_RenepaystatusPaystatusStatus)(0), // 50: cln.RenepaystatusPaystatus.RenepaystatusPaystatusStatus + (RenepayResponse_RenepayStatus)(0), // 51: cln.RenepayResponse.RenepayStatus + (SendinvoiceResponse_SendinvoiceStatus)(0), // 52: cln.SendinvoiceResponse.SendinvoiceStatus + (WaitRequest_WaitSubsystem)(0), // 53: cln.WaitRequest.WaitSubsystem + (WaitRequest_WaitIndexname)(0), // 54: cln.WaitRequest.WaitIndexname + (WaitResponse_WaitSubsystem)(0), // 55: cln.WaitResponse.WaitSubsystem + (WaitDetails_WaitDetailsStatus)(0), // 56: cln.WaitDetails.WaitDetailsStatus + (ListconfigsConfigsConf_ListconfigsConfigsConfSource)(0), // 57: cln.ListconfigsConfigsConf.ListconfigsConfigsConfSource + (ListconfigsConfigsAnnounceaddrdiscovered_ListconfigsConfigsAnnounceaddrdiscoveredValueStr)(0), // 58: cln.ListconfigsConfigsAnnounceaddrdiscovered.ListconfigsConfigsAnnounceaddrdiscoveredValue_str + (StopResponse_StopResult)(0), // 59: cln.StopResponse.StopResult + (HelpResponse_HelpFormathint)(0), // 60: cln.HelpResponse.HelpFormathint + (BkprdumpincomecsvResponse_BkprdumpincomecsvCsvFormat)(0), // 61: cln.BkprdumpincomecsvResponse.BkprdumpincomecsvCsv_format + (BkprlistaccounteventsEvents_BkprlistaccounteventsEventsType)(0), // 62: cln.BkprlistaccounteventsEvents.BkprlistaccounteventsEventsType + (PeerConnectNotification_PeerConnectDirection)(0), // 63: cln.PeerConnectNotification.PeerConnectDirection + (PeerConnectAddress_PeerConnectAddressType)(0), // 64: cln.PeerConnectAddress.PeerConnectAddressType + (*GetinfoRequest)(nil), // 65: cln.GetinfoRequest + (*GetinfoResponse)(nil), // 66: cln.GetinfoResponse + (*GetinfoOurFeatures)(nil), // 67: cln.GetinfoOur_features + (*GetinfoAddress)(nil), // 68: cln.GetinfoAddress + (*GetinfoBinding)(nil), // 69: cln.GetinfoBinding + (*ListpeersRequest)(nil), // 70: cln.ListpeersRequest + (*ListpeersResponse)(nil), // 71: cln.ListpeersResponse + (*ListpeersPeers)(nil), // 72: cln.ListpeersPeers + (*ListpeersPeersLog)(nil), // 73: cln.ListpeersPeersLog + (*ListfundsRequest)(nil), // 74: cln.ListfundsRequest + (*ListfundsResponse)(nil), // 75: cln.ListfundsResponse + (*ListfundsOutputs)(nil), // 76: cln.ListfundsOutputs + (*ListfundsChannels)(nil), // 77: cln.ListfundsChannels + (*SendpayRequest)(nil), // 78: cln.SendpayRequest + (*SendpayResponse)(nil), // 79: cln.SendpayResponse + (*SendpayRoute)(nil), // 80: cln.SendpayRoute + (*ListchannelsRequest)(nil), // 81: cln.ListchannelsRequest + (*ListchannelsResponse)(nil), // 82: cln.ListchannelsResponse + (*ListchannelsChannels)(nil), // 83: cln.ListchannelsChannels + (*AddgossipRequest)(nil), // 84: cln.AddgossipRequest + (*AddgossipResponse)(nil), // 85: cln.AddgossipResponse + (*AddpsbtoutputRequest)(nil), // 86: cln.AddpsbtoutputRequest + (*AddpsbtoutputResponse)(nil), // 87: cln.AddpsbtoutputResponse + (*AutocleaninvoiceRequest)(nil), // 88: cln.AutocleaninvoiceRequest + (*AutocleaninvoiceResponse)(nil), // 89: cln.AutocleaninvoiceResponse + (*AutocleanonceRequest)(nil), // 90: cln.AutocleanonceRequest + (*AutocleanonceResponse)(nil), // 91: cln.AutocleanonceResponse + (*AutocleanonceAutoclean)(nil), // 92: cln.AutocleanonceAutoclean + (*AutocleanonceAutocleanSucceededforwards)(nil), // 93: cln.AutocleanonceAutocleanSucceededforwards + (*AutocleanonceAutocleanFailedforwards)(nil), // 94: cln.AutocleanonceAutocleanFailedforwards + (*AutocleanonceAutocleanSucceededpays)(nil), // 95: cln.AutocleanonceAutocleanSucceededpays + (*AutocleanonceAutocleanFailedpays)(nil), // 96: cln.AutocleanonceAutocleanFailedpays + (*AutocleanonceAutocleanPaidinvoices)(nil), // 97: cln.AutocleanonceAutocleanPaidinvoices + (*AutocleanonceAutocleanExpiredinvoices)(nil), // 98: cln.AutocleanonceAutocleanExpiredinvoices + (*AutocleanstatusRequest)(nil), // 99: cln.AutocleanstatusRequest + (*AutocleanstatusResponse)(nil), // 100: cln.AutocleanstatusResponse + (*AutocleanstatusAutoclean)(nil), // 101: cln.AutocleanstatusAutoclean + (*AutocleanstatusAutocleanSucceededforwards)(nil), // 102: cln.AutocleanstatusAutocleanSucceededforwards + (*AutocleanstatusAutocleanFailedforwards)(nil), // 103: cln.AutocleanstatusAutocleanFailedforwards + (*AutocleanstatusAutocleanSucceededpays)(nil), // 104: cln.AutocleanstatusAutocleanSucceededpays + (*AutocleanstatusAutocleanFailedpays)(nil), // 105: cln.AutocleanstatusAutocleanFailedpays + (*AutocleanstatusAutocleanPaidinvoices)(nil), // 106: cln.AutocleanstatusAutocleanPaidinvoices + (*AutocleanstatusAutocleanExpiredinvoices)(nil), // 107: cln.AutocleanstatusAutocleanExpiredinvoices + (*CheckmessageRequest)(nil), // 108: cln.CheckmessageRequest + (*CheckmessageResponse)(nil), // 109: cln.CheckmessageResponse + (*CloseRequest)(nil), // 110: cln.CloseRequest + (*CloseResponse)(nil), // 111: cln.CloseResponse + (*ConnectRequest)(nil), // 112: cln.ConnectRequest + (*ConnectResponse)(nil), // 113: cln.ConnectResponse + (*ConnectAddress)(nil), // 114: cln.ConnectAddress + (*CreateinvoiceRequest)(nil), // 115: cln.CreateinvoiceRequest + (*CreateinvoiceResponse)(nil), // 116: cln.CreateinvoiceResponse + (*CreateinvoicePaidOutpoint)(nil), // 117: cln.CreateinvoicePaid_outpoint + (*DatastoreRequest)(nil), // 118: cln.DatastoreRequest + (*DatastoreResponse)(nil), // 119: cln.DatastoreResponse + (*DatastoreusageRequest)(nil), // 120: cln.DatastoreusageRequest + (*DatastoreusageResponse)(nil), // 121: cln.DatastoreusageResponse + (*DatastoreusageDatastoreusage)(nil), // 122: cln.DatastoreusageDatastoreusage + (*CreateonionRequest)(nil), // 123: cln.CreateonionRequest + (*CreateonionResponse)(nil), // 124: cln.CreateonionResponse + (*CreateonionHops)(nil), // 125: cln.CreateonionHops + (*DeldatastoreRequest)(nil), // 126: cln.DeldatastoreRequest + (*DeldatastoreResponse)(nil), // 127: cln.DeldatastoreResponse + (*DelinvoiceRequest)(nil), // 128: cln.DelinvoiceRequest + (*DelinvoiceResponse)(nil), // 129: cln.DelinvoiceResponse + (*DevforgetchannelRequest)(nil), // 130: cln.DevforgetchannelRequest + (*DevforgetchannelResponse)(nil), // 131: cln.DevforgetchannelResponse + (*EmergencyrecoverRequest)(nil), // 132: cln.EmergencyrecoverRequest + (*EmergencyrecoverResponse)(nil), // 133: cln.EmergencyrecoverResponse + (*RecoverRequest)(nil), // 134: cln.RecoverRequest + (*RecoverResponse)(nil), // 135: cln.RecoverResponse + (*RecoverchannelRequest)(nil), // 136: cln.RecoverchannelRequest + (*RecoverchannelResponse)(nil), // 137: cln.RecoverchannelResponse + (*InvoiceRequest)(nil), // 138: cln.InvoiceRequest + (*InvoiceResponse)(nil), // 139: cln.InvoiceResponse + (*InvoicerequestRequest)(nil), // 140: cln.InvoicerequestRequest + (*InvoicerequestResponse)(nil), // 141: cln.InvoicerequestResponse + (*DisableinvoicerequestRequest)(nil), // 142: cln.DisableinvoicerequestRequest + (*DisableinvoicerequestResponse)(nil), // 143: cln.DisableinvoicerequestResponse + (*ListinvoicerequestsRequest)(nil), // 144: cln.ListinvoicerequestsRequest + (*ListinvoicerequestsResponse)(nil), // 145: cln.ListinvoicerequestsResponse + (*ListinvoicerequestsInvoicerequests)(nil), // 146: cln.ListinvoicerequestsInvoicerequests + (*ListdatastoreRequest)(nil), // 147: cln.ListdatastoreRequest + (*ListdatastoreResponse)(nil), // 148: cln.ListdatastoreResponse + (*ListdatastoreDatastore)(nil), // 149: cln.ListdatastoreDatastore + (*ListinvoicesRequest)(nil), // 150: cln.ListinvoicesRequest + (*ListinvoicesResponse)(nil), // 151: cln.ListinvoicesResponse + (*ListinvoicesInvoices)(nil), // 152: cln.ListinvoicesInvoices + (*ListinvoicesInvoicesPaidOutpoint)(nil), // 153: cln.ListinvoicesInvoicesPaid_outpoint + (*SendonionRequest)(nil), // 154: cln.SendonionRequest + (*SendonionResponse)(nil), // 155: cln.SendonionResponse + (*SendonionFirstHop)(nil), // 156: cln.SendonionFirst_hop + (*ListsendpaysRequest)(nil), // 157: cln.ListsendpaysRequest + (*ListsendpaysResponse)(nil), // 158: cln.ListsendpaysResponse + (*ListsendpaysPayments)(nil), // 159: cln.ListsendpaysPayments + (*ListtransactionsRequest)(nil), // 160: cln.ListtransactionsRequest + (*ListtransactionsResponse)(nil), // 161: cln.ListtransactionsResponse + (*ListtransactionsTransactions)(nil), // 162: cln.ListtransactionsTransactions + (*ListtransactionsTransactionsInputs)(nil), // 163: cln.ListtransactionsTransactionsInputs + (*ListtransactionsTransactionsOutputs)(nil), // 164: cln.ListtransactionsTransactionsOutputs + (*MakesecretRequest)(nil), // 165: cln.MakesecretRequest + (*MakesecretResponse)(nil), // 166: cln.MakesecretResponse + (*PayRequest)(nil), // 167: cln.PayRequest + (*PayResponse)(nil), // 168: cln.PayResponse + (*ListnodesRequest)(nil), // 169: cln.ListnodesRequest + (*ListnodesResponse)(nil), // 170: cln.ListnodesResponse + (*ListnodesNodes)(nil), // 171: cln.ListnodesNodes + (*ListnodesNodesOptionWillFund)(nil), // 172: cln.ListnodesNodesOption_will_fund + (*ListnodesNodesAddresses)(nil), // 173: cln.ListnodesNodesAddresses + (*WaitanyinvoiceRequest)(nil), // 174: cln.WaitanyinvoiceRequest + (*WaitanyinvoiceResponse)(nil), // 175: cln.WaitanyinvoiceResponse + (*WaitanyinvoicePaidOutpoint)(nil), // 176: cln.WaitanyinvoicePaid_outpoint + (*WaitinvoiceRequest)(nil), // 177: cln.WaitinvoiceRequest + (*WaitinvoiceResponse)(nil), // 178: cln.WaitinvoiceResponse + (*WaitinvoicePaidOutpoint)(nil), // 179: cln.WaitinvoicePaid_outpoint + (*WaitsendpayRequest)(nil), // 180: cln.WaitsendpayRequest + (*WaitsendpayResponse)(nil), // 181: cln.WaitsendpayResponse + (*NewaddrRequest)(nil), // 182: cln.NewaddrRequest + (*NewaddrResponse)(nil), // 183: cln.NewaddrResponse + (*WithdrawRequest)(nil), // 184: cln.WithdrawRequest + (*WithdrawResponse)(nil), // 185: cln.WithdrawResponse + (*KeysendRequest)(nil), // 186: cln.KeysendRequest + (*KeysendResponse)(nil), // 187: cln.KeysendResponse + (*FundpsbtRequest)(nil), // 188: cln.FundpsbtRequest + (*FundpsbtResponse)(nil), // 189: cln.FundpsbtResponse + (*FundpsbtReservations)(nil), // 190: cln.FundpsbtReservations + (*SendpsbtRequest)(nil), // 191: cln.SendpsbtRequest + (*SendpsbtResponse)(nil), // 192: cln.SendpsbtResponse + (*SignpsbtRequest)(nil), // 193: cln.SignpsbtRequest + (*SignpsbtResponse)(nil), // 194: cln.SignpsbtResponse + (*UtxopsbtRequest)(nil), // 195: cln.UtxopsbtRequest + (*UtxopsbtResponse)(nil), // 196: cln.UtxopsbtResponse + (*UtxopsbtReservations)(nil), // 197: cln.UtxopsbtReservations + (*TxdiscardRequest)(nil), // 198: cln.TxdiscardRequest + (*TxdiscardResponse)(nil), // 199: cln.TxdiscardResponse + (*TxprepareRequest)(nil), // 200: cln.TxprepareRequest + (*TxprepareResponse)(nil), // 201: cln.TxprepareResponse + (*TxsendRequest)(nil), // 202: cln.TxsendRequest + (*TxsendResponse)(nil), // 203: cln.TxsendResponse + (*ListpeerchannelsRequest)(nil), // 204: cln.ListpeerchannelsRequest + (*ListpeerchannelsResponse)(nil), // 205: cln.ListpeerchannelsResponse + (*ListpeerchannelsChannels)(nil), // 206: cln.ListpeerchannelsChannels + (*ListpeerchannelsChannelsUpdates)(nil), // 207: cln.ListpeerchannelsChannelsUpdates + (*ListpeerchannelsChannelsUpdatesLocal)(nil), // 208: cln.ListpeerchannelsChannelsUpdatesLocal + (*ListpeerchannelsChannelsUpdatesRemote)(nil), // 209: cln.ListpeerchannelsChannelsUpdatesRemote + (*ListpeerchannelsChannelsFeerate)(nil), // 210: cln.ListpeerchannelsChannelsFeerate + (*ListpeerchannelsChannelsInflight)(nil), // 211: cln.ListpeerchannelsChannelsInflight + (*ListpeerchannelsChannelsFunding)(nil), // 212: cln.ListpeerchannelsChannelsFunding + (*ListpeerchannelsChannelsAlias)(nil), // 213: cln.ListpeerchannelsChannelsAlias + (*ListpeerchannelsChannelsHtlcs)(nil), // 214: cln.ListpeerchannelsChannelsHtlcs + (*ListclosedchannelsRequest)(nil), // 215: cln.ListclosedchannelsRequest + (*ListclosedchannelsResponse)(nil), // 216: cln.ListclosedchannelsResponse + (*ListclosedchannelsClosedchannels)(nil), // 217: cln.ListclosedchannelsClosedchannels + (*ListclosedchannelsClosedchannelsAlias)(nil), // 218: cln.ListclosedchannelsClosedchannelsAlias + (*DecodepayRequest)(nil), // 219: cln.DecodepayRequest + (*DecodepayResponse)(nil), // 220: cln.DecodepayResponse + (*DecodepayFallbacks)(nil), // 221: cln.DecodepayFallbacks + (*DecodepayExtra)(nil), // 222: cln.DecodepayExtra + (*DecodeRequest)(nil), // 223: cln.DecodeRequest + (*DecodeResponse)(nil), // 224: cln.DecodeResponse + (*DecodeOfferPaths)(nil), // 225: cln.DecodeOffer_paths + (*DecodeOfferRecurrencePaywindow)(nil), // 226: cln.DecodeOffer_recurrencePaywindow + (*DecodeInvoicePathsPath)(nil), // 227: cln.DecodeInvoice_pathsPath + (*DecodeInvoiceFallbacks)(nil), // 228: cln.DecodeInvoice_fallbacks + (*DecodeFallbacks)(nil), // 229: cln.DecodeFallbacks + (*DecodeExtra)(nil), // 230: cln.DecodeExtra + (*DecodeRestrictions)(nil), // 231: cln.DecodeRestrictions + (*DelpayRequest)(nil), // 232: cln.DelpayRequest + (*DelpayResponse)(nil), // 233: cln.DelpayResponse + (*DelpayPayments)(nil), // 234: cln.DelpayPayments + (*DelforwardRequest)(nil), // 235: cln.DelforwardRequest + (*DelforwardResponse)(nil), // 236: cln.DelforwardResponse + (*DisableofferRequest)(nil), // 237: cln.DisableofferRequest + (*DisableofferResponse)(nil), // 238: cln.DisableofferResponse + (*DisconnectRequest)(nil), // 239: cln.DisconnectRequest + (*DisconnectResponse)(nil), // 240: cln.DisconnectResponse + (*FeeratesRequest)(nil), // 241: cln.FeeratesRequest + (*FeeratesResponse)(nil), // 242: cln.FeeratesResponse + (*FeeratesPerkb)(nil), // 243: cln.FeeratesPerkb + (*FeeratesPerkbEstimates)(nil), // 244: cln.FeeratesPerkbEstimates + (*FeeratesPerkw)(nil), // 245: cln.FeeratesPerkw + (*FeeratesPerkwEstimates)(nil), // 246: cln.FeeratesPerkwEstimates + (*FeeratesOnchainFeeEstimates)(nil), // 247: cln.FeeratesOnchain_fee_estimates + (*FetchinvoiceRequest)(nil), // 248: cln.FetchinvoiceRequest + (*FetchinvoiceResponse)(nil), // 249: cln.FetchinvoiceResponse + (*FetchinvoiceChanges)(nil), // 250: cln.FetchinvoiceChanges + (*FetchinvoiceNextPeriod)(nil), // 251: cln.FetchinvoiceNext_period + (*FundchannelCancelRequest)(nil), // 252: cln.Fundchannel_cancelRequest + (*FundchannelCancelResponse)(nil), // 253: cln.Fundchannel_cancelResponse + (*FundchannelCompleteRequest)(nil), // 254: cln.Fundchannel_completeRequest + (*FundchannelCompleteResponse)(nil), // 255: cln.Fundchannel_completeResponse + (*FundchannelRequest)(nil), // 256: cln.FundchannelRequest + (*FundchannelResponse)(nil), // 257: cln.FundchannelResponse + (*FundchannelChannelType)(nil), // 258: cln.FundchannelChannel_type + (*FundchannelStartRequest)(nil), // 259: cln.Fundchannel_startRequest + (*FundchannelStartResponse)(nil), // 260: cln.Fundchannel_startResponse + (*FundchannelStartChannelType)(nil), // 261: cln.Fundchannel_startChannel_type + (*GetlogRequest)(nil), // 262: cln.GetlogRequest + (*GetlogResponse)(nil), // 263: cln.GetlogResponse + (*GetlogLog)(nil), // 264: cln.GetlogLog + (*FunderupdateRequest)(nil), // 265: cln.FunderupdateRequest + (*FunderupdateResponse)(nil), // 266: cln.FunderupdateResponse + (*GetrouteRequest)(nil), // 267: cln.GetrouteRequest + (*GetrouteResponse)(nil), // 268: cln.GetrouteResponse + (*GetrouteRoute)(nil), // 269: cln.GetrouteRoute + (*ListforwardsRequest)(nil), // 270: cln.ListforwardsRequest + (*ListforwardsResponse)(nil), // 271: cln.ListforwardsResponse + (*ListforwardsForwards)(nil), // 272: cln.ListforwardsForwards + (*ListoffersRequest)(nil), // 273: cln.ListoffersRequest + (*ListoffersResponse)(nil), // 274: cln.ListoffersResponse + (*ListoffersOffers)(nil), // 275: cln.ListoffersOffers + (*ListpaysRequest)(nil), // 276: cln.ListpaysRequest + (*ListpaysResponse)(nil), // 277: cln.ListpaysResponse + (*ListpaysPays)(nil), // 278: cln.ListpaysPays + (*ListhtlcsRequest)(nil), // 279: cln.ListhtlcsRequest + (*ListhtlcsResponse)(nil), // 280: cln.ListhtlcsResponse + (*ListhtlcsHtlcs)(nil), // 281: cln.ListhtlcsHtlcs + (*MultifundchannelRequest)(nil), // 282: cln.MultifundchannelRequest + (*MultifundchannelResponse)(nil), // 283: cln.MultifundchannelResponse + (*MultifundchannelDestinations)(nil), // 284: cln.MultifundchannelDestinations + (*MultifundchannelChannelIds)(nil), // 285: cln.MultifundchannelChannel_ids + (*MultifundchannelChannelIdsChannelType)(nil), // 286: cln.MultifundchannelChannel_idsChannel_type + (*MultifundchannelFailed)(nil), // 287: cln.MultifundchannelFailed + (*MultifundchannelFailedError)(nil), // 288: cln.MultifundchannelFailedError + (*MultiwithdrawRequest)(nil), // 289: cln.MultiwithdrawRequest + (*MultiwithdrawResponse)(nil), // 290: cln.MultiwithdrawResponse + (*OfferRequest)(nil), // 291: cln.OfferRequest + (*OfferResponse)(nil), // 292: cln.OfferResponse + (*OpenchannelAbortRequest)(nil), // 293: cln.Openchannel_abortRequest + (*OpenchannelAbortResponse)(nil), // 294: cln.Openchannel_abortResponse + (*OpenchannelBumpRequest)(nil), // 295: cln.Openchannel_bumpRequest + (*OpenchannelBumpResponse)(nil), // 296: cln.Openchannel_bumpResponse + (*OpenchannelBumpChannelType)(nil), // 297: cln.Openchannel_bumpChannel_type + (*OpenchannelInitRequest)(nil), // 298: cln.Openchannel_initRequest + (*OpenchannelInitResponse)(nil), // 299: cln.Openchannel_initResponse + (*OpenchannelInitChannelType)(nil), // 300: cln.Openchannel_initChannel_type + (*OpenchannelSignedRequest)(nil), // 301: cln.Openchannel_signedRequest + (*OpenchannelSignedResponse)(nil), // 302: cln.Openchannel_signedResponse + (*OpenchannelUpdateRequest)(nil), // 303: cln.Openchannel_updateRequest + (*OpenchannelUpdateResponse)(nil), // 304: cln.Openchannel_updateResponse + (*OpenchannelUpdateChannelType)(nil), // 305: cln.Openchannel_updateChannel_type + (*PingRequest)(nil), // 306: cln.PingRequest + (*PingResponse)(nil), // 307: cln.PingResponse + (*PluginRequest)(nil), // 308: cln.PluginRequest + (*PluginResponse)(nil), // 309: cln.PluginResponse + (*PluginPlugins)(nil), // 310: cln.PluginPlugins + (*RenepaystatusRequest)(nil), // 311: cln.RenepaystatusRequest + (*RenepaystatusResponse)(nil), // 312: cln.RenepaystatusResponse + (*RenepaystatusPaystatus)(nil), // 313: cln.RenepaystatusPaystatus + (*RenepayRequest)(nil), // 314: cln.RenepayRequest + (*RenepayResponse)(nil), // 315: cln.RenepayResponse + (*ReserveinputsRequest)(nil), // 316: cln.ReserveinputsRequest + (*ReserveinputsResponse)(nil), // 317: cln.ReserveinputsResponse + (*ReserveinputsReservations)(nil), // 318: cln.ReserveinputsReservations + (*SendcustommsgRequest)(nil), // 319: cln.SendcustommsgRequest + (*SendcustommsgResponse)(nil), // 320: cln.SendcustommsgResponse + (*SendinvoiceRequest)(nil), // 321: cln.SendinvoiceRequest + (*SendinvoiceResponse)(nil), // 322: cln.SendinvoiceResponse + (*SendonionmessageRequest)(nil), // 323: cln.SendonionmessageRequest + (*SendonionmessageResponse)(nil), // 324: cln.SendonionmessageResponse + (*SendonionmessageHops)(nil), // 325: cln.SendonionmessageHops + (*SetchannelRequest)(nil), // 326: cln.SetchannelRequest + (*SetchannelResponse)(nil), // 327: cln.SetchannelResponse + (*SetchannelChannels)(nil), // 328: cln.SetchannelChannels + (*SetconfigRequest)(nil), // 329: cln.SetconfigRequest + (*SetconfigResponse)(nil), // 330: cln.SetconfigResponse + (*SetconfigConfig)(nil), // 331: cln.SetconfigConfig + (*SetpsbtversionRequest)(nil), // 332: cln.SetpsbtversionRequest + (*SetpsbtversionResponse)(nil), // 333: cln.SetpsbtversionResponse + (*SigninvoiceRequest)(nil), // 334: cln.SigninvoiceRequest + (*SigninvoiceResponse)(nil), // 335: cln.SigninvoiceResponse + (*SignmessageRequest)(nil), // 336: cln.SignmessageRequest + (*SignmessageResponse)(nil), // 337: cln.SignmessageResponse + (*SpliceInitRequest)(nil), // 338: cln.Splice_initRequest + (*SpliceInitResponse)(nil), // 339: cln.Splice_initResponse + (*SpliceSignedRequest)(nil), // 340: cln.Splice_signedRequest + (*SpliceSignedResponse)(nil), // 341: cln.Splice_signedResponse + (*SpliceUpdateRequest)(nil), // 342: cln.Splice_updateRequest + (*SpliceUpdateResponse)(nil), // 343: cln.Splice_updateResponse + (*UnreserveinputsRequest)(nil), // 344: cln.UnreserveinputsRequest + (*UnreserveinputsResponse)(nil), // 345: cln.UnreserveinputsResponse + (*UnreserveinputsReservations)(nil), // 346: cln.UnreserveinputsReservations + (*UpgradewalletRequest)(nil), // 347: cln.UpgradewalletRequest + (*UpgradewalletResponse)(nil), // 348: cln.UpgradewalletResponse + (*WaitblockheightRequest)(nil), // 349: cln.WaitblockheightRequest + (*WaitblockheightResponse)(nil), // 350: cln.WaitblockheightResponse + (*WaitRequest)(nil), // 351: cln.WaitRequest + (*WaitResponse)(nil), // 352: cln.WaitResponse + (*WaitDetails)(nil), // 353: cln.WaitDetails + (*ListconfigsRequest)(nil), // 354: cln.ListconfigsRequest + (*ListconfigsResponse)(nil), // 355: cln.ListconfigsResponse + (*ListconfigsConfigs)(nil), // 356: cln.ListconfigsConfigs + (*ListconfigsConfigsConf)(nil), // 357: cln.ListconfigsConfigsConf + (*ListconfigsConfigsDeveloper)(nil), // 358: cln.ListconfigsConfigsDeveloper + (*ListconfigsConfigsClearplugins)(nil), // 359: cln.ListconfigsConfigsClearplugins + (*ListconfigsConfigsDisablempp)(nil), // 360: cln.ListconfigsConfigsDisablempp + (*ListconfigsConfigsMainnet)(nil), // 361: cln.ListconfigsConfigsMainnet + (*ListconfigsConfigsRegtest)(nil), // 362: cln.ListconfigsConfigsRegtest + (*ListconfigsConfigsSignet)(nil), // 363: cln.ListconfigsConfigsSignet + (*ListconfigsConfigsTestnet)(nil), // 364: cln.ListconfigsConfigsTestnet + (*ListconfigsConfigsImportantplugin)(nil), // 365: cln.ListconfigsConfigsImportantplugin + (*ListconfigsConfigsPlugin)(nil), // 366: cln.ListconfigsConfigsPlugin + (*ListconfigsConfigsPlugindir)(nil), // 367: cln.ListconfigsConfigsPlugindir + (*ListconfigsConfigsLightningdir)(nil), // 368: cln.ListconfigsConfigsLightningdir + (*ListconfigsConfigsNetwork)(nil), // 369: cln.ListconfigsConfigsNetwork + (*ListconfigsConfigsAllowdeprecatedapis)(nil), // 370: cln.ListconfigsConfigsAllowdeprecatedapis + (*ListconfigsConfigsRpcfile)(nil), // 371: cln.ListconfigsConfigsRpcfile + (*ListconfigsConfigsDisableplugin)(nil), // 372: cln.ListconfigsConfigsDisableplugin + (*ListconfigsConfigsAlwaysuseproxy)(nil), // 373: cln.ListconfigsConfigsAlwaysuseproxy + (*ListconfigsConfigsDaemon)(nil), // 374: cln.ListconfigsConfigsDaemon + (*ListconfigsConfigsWallet)(nil), // 375: cln.ListconfigsConfigsWallet + (*ListconfigsConfigsLargechannels)(nil), // 376: cln.ListconfigsConfigsLargechannels + (*ListconfigsConfigsExperimentaldualfund)(nil), // 377: cln.ListconfigsConfigsExperimentaldualfund + (*ListconfigsConfigsExperimentalsplicing)(nil), // 378: cln.ListconfigsConfigsExperimentalsplicing + (*ListconfigsConfigsExperimentalonionmessages)(nil), // 379: cln.ListconfigsConfigsExperimentalonionmessages + (*ListconfigsConfigsExperimentaloffers)(nil), // 380: cln.ListconfigsConfigsExperimentaloffers + (*ListconfigsConfigsExperimentalshutdownwrongfunding)(nil), // 381: cln.ListconfigsConfigsExperimentalshutdownwrongfunding + (*ListconfigsConfigsExperimentalpeerstorage)(nil), // 382: cln.ListconfigsConfigsExperimentalpeerstorage + (*ListconfigsConfigsExperimentalanchors)(nil), // 383: cln.ListconfigsConfigsExperimentalanchors + (*ListconfigsConfigsDatabaseupgrade)(nil), // 384: cln.ListconfigsConfigsDatabaseupgrade + (*ListconfigsConfigsRgb)(nil), // 385: cln.ListconfigsConfigsRgb + (*ListconfigsConfigsAlias)(nil), // 386: cln.ListconfigsConfigsAlias + (*ListconfigsConfigsPidfile)(nil), // 387: cln.ListconfigsConfigsPidfile + (*ListconfigsConfigsIgnorefeelimits)(nil), // 388: cln.ListconfigsConfigsIgnorefeelimits + (*ListconfigsConfigsWatchtimeblocks)(nil), // 389: cln.ListconfigsConfigsWatchtimeblocks + (*ListconfigsConfigsMaxlocktimeblocks)(nil), // 390: cln.ListconfigsConfigsMaxlocktimeblocks + (*ListconfigsConfigsFundingconfirms)(nil), // 391: cln.ListconfigsConfigsFundingconfirms + (*ListconfigsConfigsCltvdelta)(nil), // 392: cln.ListconfigsConfigsCltvdelta + (*ListconfigsConfigsCltvfinal)(nil), // 393: cln.ListconfigsConfigsCltvfinal + (*ListconfigsConfigsCommittime)(nil), // 394: cln.ListconfigsConfigsCommittime + (*ListconfigsConfigsFeebase)(nil), // 395: cln.ListconfigsConfigsFeebase + (*ListconfigsConfigsRescan)(nil), // 396: cln.ListconfigsConfigsRescan + (*ListconfigsConfigsFeepersatoshi)(nil), // 397: cln.ListconfigsConfigsFeepersatoshi + (*ListconfigsConfigsMaxconcurrenthtlcs)(nil), // 398: cln.ListconfigsConfigsMaxconcurrenthtlcs + (*ListconfigsConfigsHtlcminimummsat)(nil), // 399: cln.ListconfigsConfigsHtlcminimummsat + (*ListconfigsConfigsHtlcmaximummsat)(nil), // 400: cln.ListconfigsConfigsHtlcmaximummsat + (*ListconfigsConfigsMaxdusthtlcexposuremsat)(nil), // 401: cln.ListconfigsConfigsMaxdusthtlcexposuremsat + (*ListconfigsConfigsMincapacitysat)(nil), // 402: cln.ListconfigsConfigsMincapacitysat + (*ListconfigsConfigsAddr)(nil), // 403: cln.ListconfigsConfigsAddr + (*ListconfigsConfigsAnnounceaddr)(nil), // 404: cln.ListconfigsConfigsAnnounceaddr + (*ListconfigsConfigsBindaddr)(nil), // 405: cln.ListconfigsConfigsBindaddr + (*ListconfigsConfigsOffline)(nil), // 406: cln.ListconfigsConfigsOffline + (*ListconfigsConfigsAutolisten)(nil), // 407: cln.ListconfigsConfigsAutolisten + (*ListconfigsConfigsProxy)(nil), // 408: cln.ListconfigsConfigsProxy + (*ListconfigsConfigsDisabledns)(nil), // 409: cln.ListconfigsConfigsDisabledns + (*ListconfigsConfigsAnnounceaddrdiscovered)(nil), // 410: cln.ListconfigsConfigsAnnounceaddrdiscovered + (*ListconfigsConfigsAnnounceaddrdiscoveredport)(nil), // 411: cln.ListconfigsConfigsAnnounceaddrdiscoveredport + (*ListconfigsConfigsEncryptedhsm)(nil), // 412: cln.ListconfigsConfigsEncryptedhsm + (*ListconfigsConfigsRpcfilemode)(nil), // 413: cln.ListconfigsConfigsRpcfilemode + (*ListconfigsConfigsLoglevel)(nil), // 414: cln.ListconfigsConfigsLoglevel + (*ListconfigsConfigsLogprefix)(nil), // 415: cln.ListconfigsConfigsLogprefix + (*ListconfigsConfigsLogfile)(nil), // 416: cln.ListconfigsConfigsLogfile + (*ListconfigsConfigsLogtimestamps)(nil), // 417: cln.ListconfigsConfigsLogtimestamps + (*ListconfigsConfigsForcefeerates)(nil), // 418: cln.ListconfigsConfigsForcefeerates + (*ListconfigsConfigsSubdaemon)(nil), // 419: cln.ListconfigsConfigsSubdaemon + (*ListconfigsConfigsFetchinvoicenoconnect)(nil), // 420: cln.ListconfigsConfigsFetchinvoicenoconnect + (*ListconfigsConfigsAccepthtlctlvtypes)(nil), // 421: cln.ListconfigsConfigsAccepthtlctlvtypes + (*ListconfigsConfigsTorservicepassword)(nil), // 422: cln.ListconfigsConfigsTorservicepassword + (*ListconfigsConfigsAnnounceaddrdns)(nil), // 423: cln.ListconfigsConfigsAnnounceaddrdns + (*ListconfigsConfigsRequireconfirmedinputs)(nil), // 424: cln.ListconfigsConfigsRequireconfirmedinputs + (*ListconfigsConfigsCommitfee)(nil), // 425: cln.ListconfigsConfigsCommitfee + (*ListconfigsConfigsCommitfeerateoffset)(nil), // 426: cln.ListconfigsConfigsCommitfeerateoffset + (*ListconfigsPlugins)(nil), // 427: cln.ListconfigsPlugins + (*ListconfigsPluginsOptions)(nil), // 428: cln.ListconfigsPluginsOptions + (*ListconfigsImportantplugins)(nil), // 429: cln.ListconfigsImportantplugins + (*ListconfigsImportantpluginsOptions)(nil), // 430: cln.ListconfigsImportantpluginsOptions + (*StopRequest)(nil), // 431: cln.StopRequest + (*StopResponse)(nil), // 432: cln.StopResponse + (*HelpRequest)(nil), // 433: cln.HelpRequest + (*HelpResponse)(nil), // 434: cln.HelpResponse + (*HelpHelp)(nil), // 435: cln.HelpHelp + (*PreapprovekeysendRequest)(nil), // 436: cln.PreapprovekeysendRequest + (*PreapprovekeysendResponse)(nil), // 437: cln.PreapprovekeysendResponse + (*PreapproveinvoiceRequest)(nil), // 438: cln.PreapproveinvoiceRequest + (*PreapproveinvoiceResponse)(nil), // 439: cln.PreapproveinvoiceResponse + (*StaticbackupRequest)(nil), // 440: cln.StaticbackupRequest + (*StaticbackupResponse)(nil), // 441: cln.StaticbackupResponse + (*BkprchannelsapyRequest)(nil), // 442: cln.BkprchannelsapyRequest + (*BkprchannelsapyResponse)(nil), // 443: cln.BkprchannelsapyResponse + (*BkprchannelsapyChannelsApy)(nil), // 444: cln.BkprchannelsapyChannels_apy + (*BkprdumpincomecsvRequest)(nil), // 445: cln.BkprdumpincomecsvRequest + (*BkprdumpincomecsvResponse)(nil), // 446: cln.BkprdumpincomecsvResponse + (*BkprinspectRequest)(nil), // 447: cln.BkprinspectRequest + (*BkprinspectResponse)(nil), // 448: cln.BkprinspectResponse + (*BkprinspectTxs)(nil), // 449: cln.BkprinspectTxs + (*BkprinspectTxsOutputs)(nil), // 450: cln.BkprinspectTxsOutputs + (*BkprlistaccounteventsRequest)(nil), // 451: cln.BkprlistaccounteventsRequest + (*BkprlistaccounteventsResponse)(nil), // 452: cln.BkprlistaccounteventsResponse + (*BkprlistaccounteventsEvents)(nil), // 453: cln.BkprlistaccounteventsEvents + (*BkprlistbalancesRequest)(nil), // 454: cln.BkprlistbalancesRequest + (*BkprlistbalancesResponse)(nil), // 455: cln.BkprlistbalancesResponse + (*BkprlistbalancesAccounts)(nil), // 456: cln.BkprlistbalancesAccounts + (*BkprlistbalancesAccountsBalances)(nil), // 457: cln.BkprlistbalancesAccountsBalances + (*BkprlistincomeRequest)(nil), // 458: cln.BkprlistincomeRequest + (*BkprlistincomeResponse)(nil), // 459: cln.BkprlistincomeResponse + (*BkprlistincomeIncomeEvents)(nil), // 460: cln.BkprlistincomeIncome_events + (*BlacklistruneRequest)(nil), // 461: cln.BlacklistruneRequest + (*BlacklistruneResponse)(nil), // 462: cln.BlacklistruneResponse + (*BlacklistruneBlacklist)(nil), // 463: cln.BlacklistruneBlacklist + (*CheckruneRequest)(nil), // 464: cln.CheckruneRequest + (*CheckruneResponse)(nil), // 465: cln.CheckruneResponse + (*CreateruneRequest)(nil), // 466: cln.CreateruneRequest + (*CreateruneResponse)(nil), // 467: cln.CreateruneResponse + (*ShowrunesRequest)(nil), // 468: cln.ShowrunesRequest + (*ShowrunesResponse)(nil), // 469: cln.ShowrunesResponse + (*ShowrunesRunes)(nil), // 470: cln.ShowrunesRunes + (*ShowrunesRunesRestrictions)(nil), // 471: cln.ShowrunesRunesRestrictions + (*ShowrunesRunesRestrictionsAlternatives)(nil), // 472: cln.ShowrunesRunesRestrictionsAlternatives + (*StreamBlockAddedRequest)(nil), // 473: cln.StreamBlockAddedRequest + (*BlockAddedNotification)(nil), // 474: cln.BlockAddedNotification + (*StreamChannelOpenFailedRequest)(nil), // 475: cln.StreamChannelOpenFailedRequest + (*ChannelOpenFailedNotification)(nil), // 476: cln.ChannelOpenFailedNotification + (*StreamChannelOpenedRequest)(nil), // 477: cln.StreamChannelOpenedRequest + (*ChannelOpenedNotification)(nil), // 478: cln.ChannelOpenedNotification + (*StreamConnectRequest)(nil), // 479: cln.StreamConnectRequest + (*PeerConnectNotification)(nil), // 480: cln.PeerConnectNotification + (*PeerConnectAddress)(nil), // 481: cln.PeerConnectAddress + (*StreamCustomMsgRequest)(nil), // 482: cln.StreamCustomMsgRequest + (*CustomMsgNotification)(nil), // 483: cln.CustomMsgNotification + (*Amount)(nil), // 484: cln.Amount + (ChannelState)(0), // 485: cln.ChannelState + (AutocleanSubsystem)(0), // 486: cln.AutocleanSubsystem + (*Outpoint)(nil), // 487: cln.Outpoint + (*Feerate)(nil), // 488: cln.Feerate + (*AmountOrAny)(nil), // 489: cln.AmountOrAny + (*AmountOrAll)(nil), // 490: cln.AmountOrAll + (*RoutehintList)(nil), // 491: cln.RoutehintList + (*TlvStream)(nil), // 492: cln.TlvStream + (*OutputDesc)(nil), // 493: cln.OutputDesc + (ChannelSide)(0), // 494: cln.ChannelSide + (HtlcState)(0), // 495: cln.HtlcState + (*DecodeRoutehintList)(nil), // 496: cln.DecodeRoutehintList + (ChannelTypeName)(0), // 497: cln.ChannelTypeName + (PluginSubcommand)(0), // 498: cln.PluginSubcommand } var file_node_proto_depIdxs = []int32{ - 46, // 0: cln.GetinfoResponse.our_features:type_name -> cln.GetinfoOur_features - 240, // 1: cln.GetinfoResponse.fees_collected_msat:type_name -> cln.Amount - 47, // 2: cln.GetinfoResponse.address:type_name -> cln.GetinfoAddress - 48, // 3: cln.GetinfoResponse.binding:type_name -> cln.GetinfoBinding + 67, // 0: cln.GetinfoResponse.our_features:type_name -> cln.GetinfoOur_features + 484, // 1: cln.GetinfoResponse.fees_collected_msat:type_name -> cln.Amount + 68, // 2: cln.GetinfoResponse.address:type_name -> cln.GetinfoAddress + 69, // 3: cln.GetinfoResponse.binding:type_name -> cln.GetinfoBinding 0, // 4: cln.GetinfoAddress.item_type:type_name -> cln.GetinfoAddress.GetinfoAddressType 1, // 5: cln.GetinfoBinding.item_type:type_name -> cln.GetinfoBinding.GetinfoBindingType - 51, // 6: cln.ListpeersResponse.peers:type_name -> cln.ListpeersPeers - 52, // 7: cln.ListpeersPeers.log:type_name -> cln.ListpeersPeersLog - 53, // 8: cln.ListpeersPeers.channels:type_name -> cln.ListpeersPeersChannels - 2, // 9: cln.ListpeersPeersLog.item_type:type_name -> cln.ListpeersPeersLog.ListpeersPeersLogType - 3, // 10: cln.ListpeersPeersChannels.state:type_name -> cln.ListpeersPeersChannels.ListpeersPeersChannelsState - 54, // 11: cln.ListpeersPeersChannels.feerate:type_name -> cln.ListpeersPeersChannelsFeerate - 55, // 12: cln.ListpeersPeersChannels.inflight:type_name -> cln.ListpeersPeersChannelsInflight - 241, // 13: cln.ListpeersPeersChannels.opener:type_name -> cln.ChannelSide - 241, // 14: cln.ListpeersPeersChannels.closer:type_name -> cln.ChannelSide - 56, // 15: cln.ListpeersPeersChannels.funding:type_name -> cln.ListpeersPeersChannelsFunding - 240, // 16: cln.ListpeersPeersChannels.to_us_msat:type_name -> cln.Amount - 240, // 17: cln.ListpeersPeersChannels.min_to_us_msat:type_name -> cln.Amount - 240, // 18: cln.ListpeersPeersChannels.max_to_us_msat:type_name -> cln.Amount - 240, // 19: cln.ListpeersPeersChannels.total_msat:type_name -> cln.Amount - 240, // 20: cln.ListpeersPeersChannels.fee_base_msat:type_name -> cln.Amount - 240, // 21: cln.ListpeersPeersChannels.dust_limit_msat:type_name -> cln.Amount - 240, // 22: cln.ListpeersPeersChannels.max_total_htlc_in_msat:type_name -> cln.Amount - 240, // 23: cln.ListpeersPeersChannels.their_reserve_msat:type_name -> cln.Amount - 240, // 24: cln.ListpeersPeersChannels.our_reserve_msat:type_name -> cln.Amount - 240, // 25: cln.ListpeersPeersChannels.spendable_msat:type_name -> cln.Amount - 240, // 26: cln.ListpeersPeersChannels.receivable_msat:type_name -> cln.Amount - 240, // 27: cln.ListpeersPeersChannels.minimum_htlc_in_msat:type_name -> cln.Amount - 240, // 28: cln.ListpeersPeersChannels.minimum_htlc_out_msat:type_name -> cln.Amount - 240, // 29: cln.ListpeersPeersChannels.maximum_htlc_out_msat:type_name -> cln.Amount - 57, // 30: cln.ListpeersPeersChannels.alias:type_name -> cln.ListpeersPeersChannelsAlias - 240, // 31: cln.ListpeersPeersChannels.in_offered_msat:type_name -> cln.Amount - 240, // 32: cln.ListpeersPeersChannels.in_fulfilled_msat:type_name -> cln.Amount - 240, // 33: cln.ListpeersPeersChannels.out_offered_msat:type_name -> cln.Amount - 240, // 34: cln.ListpeersPeersChannels.out_fulfilled_msat:type_name -> cln.Amount - 58, // 35: cln.ListpeersPeersChannels.htlcs:type_name -> cln.ListpeersPeersChannelsHtlcs - 240, // 36: cln.ListpeersPeersChannelsInflight.total_funding_msat:type_name -> cln.Amount - 240, // 37: cln.ListpeersPeersChannelsInflight.our_funding_msat:type_name -> cln.Amount - 240, // 38: cln.ListpeersPeersChannelsFunding.pushed_msat:type_name -> cln.Amount - 240, // 39: cln.ListpeersPeersChannelsFunding.local_funds_msat:type_name -> cln.Amount - 240, // 40: cln.ListpeersPeersChannelsFunding.remote_funds_msat:type_name -> cln.Amount - 240, // 41: cln.ListpeersPeersChannelsFunding.fee_paid_msat:type_name -> cln.Amount - 240, // 42: cln.ListpeersPeersChannelsFunding.fee_rcvd_msat:type_name -> cln.Amount - 4, // 43: cln.ListpeersPeersChannelsHtlcs.direction:type_name -> cln.ListpeersPeersChannelsHtlcs.ListpeersPeersChannelsHtlcsDirection - 240, // 44: cln.ListpeersPeersChannelsHtlcs.amount_msat:type_name -> cln.Amount - 242, // 45: cln.ListpeersPeersChannelsHtlcs.state:type_name -> cln.HtlcState - 61, // 46: cln.ListfundsResponse.outputs:type_name -> cln.ListfundsOutputs - 62, // 47: cln.ListfundsResponse.channels:type_name -> cln.ListfundsChannels - 240, // 48: cln.ListfundsOutputs.amount_msat:type_name -> cln.Amount - 5, // 49: cln.ListfundsOutputs.status:type_name -> cln.ListfundsOutputs.ListfundsOutputsStatus - 240, // 50: cln.ListfundsChannels.our_amount_msat:type_name -> cln.Amount - 240, // 51: cln.ListfundsChannels.amount_msat:type_name -> cln.Amount - 243, // 52: cln.ListfundsChannels.state:type_name -> cln.ChannelState - 65, // 53: cln.SendpayRequest.route:type_name -> cln.SendpayRoute - 240, // 54: cln.SendpayRequest.amount_msat:type_name -> cln.Amount - 6, // 55: cln.SendpayResponse.status:type_name -> cln.SendpayResponse.SendpayStatus - 240, // 56: cln.SendpayResponse.amount_msat:type_name -> cln.Amount - 240, // 57: cln.SendpayResponse.amount_sent_msat:type_name -> cln.Amount - 240, // 58: cln.SendpayRoute.amount_msat:type_name -> cln.Amount - 68, // 59: cln.ListchannelsResponse.channels:type_name -> cln.ListchannelsChannels - 240, // 60: cln.ListchannelsChannels.amount_msat:type_name -> cln.Amount - 240, // 61: cln.ListchannelsChannels.htlc_minimum_msat:type_name -> cln.Amount - 240, // 62: cln.ListchannelsChannels.htlc_maximum_msat:type_name -> cln.Amount - 244, // 63: cln.CloseRequest.wrong_funding:type_name -> cln.Outpoint - 245, // 64: cln.CloseRequest.feerange:type_name -> cln.Feerate - 7, // 65: cln.CloseResponse.item_type:type_name -> cln.CloseResponse.CloseType - 8, // 66: cln.ConnectResponse.direction:type_name -> cln.ConnectResponse.ConnectDirection - 79, // 67: cln.ConnectResponse.address:type_name -> cln.ConnectAddress - 9, // 68: cln.ConnectAddress.item_type:type_name -> cln.ConnectAddress.ConnectAddressType - 240, // 69: cln.CreateinvoiceResponse.amount_msat:type_name -> cln.Amount - 10, // 70: cln.CreateinvoiceResponse.status:type_name -> cln.CreateinvoiceResponse.CreateinvoiceStatus - 240, // 71: cln.CreateinvoiceResponse.amount_received_msat:type_name -> cln.Amount - 82, // 72: cln.CreateinvoiceResponse.paid_outpoint:type_name -> cln.CreateinvoicePaid_outpoint - 11, // 73: cln.DatastoreRequest.mode:type_name -> cln.DatastoreRequest.DatastoreMode - 87, // 74: cln.DatastoreusageResponse.datastoreusage:type_name -> cln.DatastoreusageDatastoreusage - 90, // 75: cln.CreateonionRequest.hops:type_name -> cln.CreateonionHops - 12, // 76: cln.DelinvoiceRequest.status:type_name -> cln.DelinvoiceRequest.DelinvoiceStatus - 240, // 77: cln.DelinvoiceResponse.amount_msat:type_name -> cln.Amount - 13, // 78: cln.DelinvoiceResponse.status:type_name -> cln.DelinvoiceResponse.DelinvoiceStatus - 246, // 79: cln.InvoiceRequest.amount_msat:type_name -> cln.AmountOrAny - 101, // 80: cln.ListdatastoreResponse.datastore:type_name -> cln.ListdatastoreDatastore - 14, // 81: cln.ListinvoicesRequest.index:type_name -> cln.ListinvoicesRequest.ListinvoicesIndex - 104, // 82: cln.ListinvoicesResponse.invoices:type_name -> cln.ListinvoicesInvoices - 15, // 83: cln.ListinvoicesInvoices.status:type_name -> cln.ListinvoicesInvoices.ListinvoicesInvoicesStatus - 240, // 84: cln.ListinvoicesInvoices.amount_msat:type_name -> cln.Amount - 240, // 85: cln.ListinvoicesInvoices.amount_received_msat:type_name -> cln.Amount - 105, // 86: cln.ListinvoicesInvoices.paid_outpoint:type_name -> cln.ListinvoicesInvoicesPaid_outpoint - 108, // 87: cln.SendonionRequest.first_hop:type_name -> cln.SendonionFirst_hop - 240, // 88: cln.SendonionRequest.amount_msat:type_name -> cln.Amount - 16, // 89: cln.SendonionResponse.status:type_name -> cln.SendonionResponse.SendonionStatus - 240, // 90: cln.SendonionResponse.amount_msat:type_name -> cln.Amount - 240, // 91: cln.SendonionResponse.amount_sent_msat:type_name -> cln.Amount - 240, // 92: cln.SendonionFirst_hop.amount_msat:type_name -> cln.Amount - 17, // 93: cln.ListsendpaysRequest.status:type_name -> cln.ListsendpaysRequest.ListsendpaysStatus - 18, // 94: cln.ListsendpaysRequest.index:type_name -> cln.ListsendpaysRequest.ListsendpaysIndex - 111, // 95: cln.ListsendpaysResponse.payments:type_name -> cln.ListsendpaysPayments - 19, // 96: cln.ListsendpaysPayments.status:type_name -> cln.ListsendpaysPayments.ListsendpaysPaymentsStatus - 240, // 97: cln.ListsendpaysPayments.amount_msat:type_name -> cln.Amount - 240, // 98: cln.ListsendpaysPayments.amount_sent_msat:type_name -> cln.Amount - 114, // 99: cln.ListtransactionsResponse.transactions:type_name -> cln.ListtransactionsTransactions - 115, // 100: cln.ListtransactionsTransactions.inputs:type_name -> cln.ListtransactionsTransactionsInputs - 116, // 101: cln.ListtransactionsTransactions.outputs:type_name -> cln.ListtransactionsTransactionsOutputs - 240, // 102: cln.ListtransactionsTransactionsOutputs.amount_msat:type_name -> cln.Amount - 240, // 103: cln.PayRequest.amount_msat:type_name -> cln.Amount - 240, // 104: cln.PayRequest.exemptfee:type_name -> cln.Amount - 240, // 105: cln.PayRequest.maxfee:type_name -> cln.Amount - 240, // 106: cln.PayResponse.amount_msat:type_name -> cln.Amount - 240, // 107: cln.PayResponse.amount_sent_msat:type_name -> cln.Amount - 20, // 108: cln.PayResponse.status:type_name -> cln.PayResponse.PayStatus - 121, // 109: cln.ListnodesResponse.nodes:type_name -> cln.ListnodesNodes - 122, // 110: cln.ListnodesNodes.addresses:type_name -> cln.ListnodesNodesAddresses - 21, // 111: cln.ListnodesNodesAddresses.item_type:type_name -> cln.ListnodesNodesAddresses.ListnodesNodesAddressesType - 22, // 112: cln.WaitanyinvoiceResponse.status:type_name -> cln.WaitanyinvoiceResponse.WaitanyinvoiceStatus - 240, // 113: cln.WaitanyinvoiceResponse.amount_msat:type_name -> cln.Amount - 240, // 114: cln.WaitanyinvoiceResponse.amount_received_msat:type_name -> cln.Amount - 125, // 115: cln.WaitanyinvoiceResponse.paid_outpoint:type_name -> cln.WaitanyinvoicePaid_outpoint - 23, // 116: cln.WaitinvoiceResponse.status:type_name -> cln.WaitinvoiceResponse.WaitinvoiceStatus - 240, // 117: cln.WaitinvoiceResponse.amount_msat:type_name -> cln.Amount - 240, // 118: cln.WaitinvoiceResponse.amount_received_msat:type_name -> cln.Amount - 128, // 119: cln.WaitinvoiceResponse.paid_outpoint:type_name -> cln.WaitinvoicePaid_outpoint - 24, // 120: cln.WaitsendpayResponse.status:type_name -> cln.WaitsendpayResponse.WaitsendpayStatus - 240, // 121: cln.WaitsendpayResponse.amount_msat:type_name -> cln.Amount - 240, // 122: cln.WaitsendpayResponse.amount_sent_msat:type_name -> cln.Amount - 25, // 123: cln.NewaddrRequest.addresstype:type_name -> cln.NewaddrRequest.NewaddrAddresstype - 247, // 124: cln.WithdrawRequest.satoshi:type_name -> cln.AmountOrAll - 245, // 125: cln.WithdrawRequest.feerate:type_name -> cln.Feerate - 244, // 126: cln.WithdrawRequest.utxos:type_name -> cln.Outpoint - 240, // 127: cln.KeysendRequest.amount_msat:type_name -> cln.Amount - 240, // 128: cln.KeysendRequest.exemptfee:type_name -> cln.Amount - 248, // 129: cln.KeysendRequest.routehints:type_name -> cln.RoutehintList - 249, // 130: cln.KeysendRequest.extratlvs:type_name -> cln.TlvStream - 240, // 131: cln.KeysendResponse.amount_msat:type_name -> cln.Amount - 240, // 132: cln.KeysendResponse.amount_sent_msat:type_name -> cln.Amount - 26, // 133: cln.KeysendResponse.status:type_name -> cln.KeysendResponse.KeysendStatus - 247, // 134: cln.FundpsbtRequest.satoshi:type_name -> cln.AmountOrAll - 245, // 135: cln.FundpsbtRequest.feerate:type_name -> cln.Feerate - 240, // 136: cln.FundpsbtResponse.excess_msat:type_name -> cln.Amount - 139, // 137: cln.FundpsbtResponse.reservations:type_name -> cln.FundpsbtReservations - 240, // 138: cln.UtxopsbtRequest.satoshi:type_name -> cln.Amount - 245, // 139: cln.UtxopsbtRequest.feerate:type_name -> cln.Feerate - 244, // 140: cln.UtxopsbtRequest.utxos:type_name -> cln.Outpoint - 240, // 141: cln.UtxopsbtResponse.excess_msat:type_name -> cln.Amount - 146, // 142: cln.UtxopsbtResponse.reservations:type_name -> cln.UtxopsbtReservations - 250, // 143: cln.TxprepareRequest.outputs:type_name -> cln.OutputDesc - 245, // 144: cln.TxprepareRequest.feerate:type_name -> cln.Feerate - 244, // 145: cln.TxprepareRequest.utxos:type_name -> cln.Outpoint - 155, // 146: cln.ListpeerchannelsResponse.channels:type_name -> cln.ListpeerchannelsChannels - 27, // 147: cln.ListpeerchannelsChannels.state:type_name -> cln.ListpeerchannelsChannels.ListpeerchannelsChannelsState - 156, // 148: cln.ListpeerchannelsChannels.updates:type_name -> cln.ListpeerchannelsChannelsUpdates - 159, // 149: cln.ListpeerchannelsChannels.feerate:type_name -> cln.ListpeerchannelsChannelsFeerate - 160, // 150: cln.ListpeerchannelsChannels.inflight:type_name -> cln.ListpeerchannelsChannelsInflight - 241, // 151: cln.ListpeerchannelsChannels.opener:type_name -> cln.ChannelSide - 241, // 152: cln.ListpeerchannelsChannels.closer:type_name -> cln.ChannelSide - 161, // 153: cln.ListpeerchannelsChannels.funding:type_name -> cln.ListpeerchannelsChannelsFunding - 240, // 154: cln.ListpeerchannelsChannels.to_us_msat:type_name -> cln.Amount - 240, // 155: cln.ListpeerchannelsChannels.min_to_us_msat:type_name -> cln.Amount - 240, // 156: cln.ListpeerchannelsChannels.max_to_us_msat:type_name -> cln.Amount - 240, // 157: cln.ListpeerchannelsChannels.total_msat:type_name -> cln.Amount - 240, // 158: cln.ListpeerchannelsChannels.fee_base_msat:type_name -> cln.Amount - 240, // 159: cln.ListpeerchannelsChannels.dust_limit_msat:type_name -> cln.Amount - 240, // 160: cln.ListpeerchannelsChannels.max_total_htlc_in_msat:type_name -> cln.Amount - 240, // 161: cln.ListpeerchannelsChannels.their_reserve_msat:type_name -> cln.Amount - 240, // 162: cln.ListpeerchannelsChannels.our_reserve_msat:type_name -> cln.Amount - 240, // 163: cln.ListpeerchannelsChannels.spendable_msat:type_name -> cln.Amount - 240, // 164: cln.ListpeerchannelsChannels.receivable_msat:type_name -> cln.Amount - 240, // 165: cln.ListpeerchannelsChannels.minimum_htlc_in_msat:type_name -> cln.Amount - 240, // 166: cln.ListpeerchannelsChannels.minimum_htlc_out_msat:type_name -> cln.Amount - 240, // 167: cln.ListpeerchannelsChannels.maximum_htlc_out_msat:type_name -> cln.Amount - 162, // 168: cln.ListpeerchannelsChannels.alias:type_name -> cln.ListpeerchannelsChannelsAlias - 240, // 169: cln.ListpeerchannelsChannels.in_offered_msat:type_name -> cln.Amount - 240, // 170: cln.ListpeerchannelsChannels.in_fulfilled_msat:type_name -> cln.Amount - 240, // 171: cln.ListpeerchannelsChannels.out_offered_msat:type_name -> cln.Amount - 240, // 172: cln.ListpeerchannelsChannels.out_fulfilled_msat:type_name -> cln.Amount - 163, // 173: cln.ListpeerchannelsChannels.htlcs:type_name -> cln.ListpeerchannelsChannelsHtlcs - 157, // 174: cln.ListpeerchannelsChannelsUpdates.local:type_name -> cln.ListpeerchannelsChannelsUpdatesLocal - 158, // 175: cln.ListpeerchannelsChannelsUpdates.remote:type_name -> cln.ListpeerchannelsChannelsUpdatesRemote - 240, // 176: cln.ListpeerchannelsChannelsUpdatesLocal.htlc_minimum_msat:type_name -> cln.Amount - 240, // 177: cln.ListpeerchannelsChannelsUpdatesLocal.htlc_maximum_msat:type_name -> cln.Amount - 240, // 178: cln.ListpeerchannelsChannelsUpdatesLocal.fee_base_msat:type_name -> cln.Amount - 240, // 179: cln.ListpeerchannelsChannelsUpdatesRemote.htlc_minimum_msat:type_name -> cln.Amount - 240, // 180: cln.ListpeerchannelsChannelsUpdatesRemote.htlc_maximum_msat:type_name -> cln.Amount - 240, // 181: cln.ListpeerchannelsChannelsUpdatesRemote.fee_base_msat:type_name -> cln.Amount - 240, // 182: cln.ListpeerchannelsChannelsInflight.total_funding_msat:type_name -> cln.Amount - 240, // 183: cln.ListpeerchannelsChannelsInflight.our_funding_msat:type_name -> cln.Amount - 240, // 184: cln.ListpeerchannelsChannelsFunding.pushed_msat:type_name -> cln.Amount - 240, // 185: cln.ListpeerchannelsChannelsFunding.local_funds_msat:type_name -> cln.Amount - 240, // 186: cln.ListpeerchannelsChannelsFunding.remote_funds_msat:type_name -> cln.Amount - 240, // 187: cln.ListpeerchannelsChannelsFunding.fee_paid_msat:type_name -> cln.Amount - 240, // 188: cln.ListpeerchannelsChannelsFunding.fee_rcvd_msat:type_name -> cln.Amount - 28, // 189: cln.ListpeerchannelsChannelsHtlcs.direction:type_name -> cln.ListpeerchannelsChannelsHtlcs.ListpeerchannelsChannelsHtlcsDirection - 240, // 190: cln.ListpeerchannelsChannelsHtlcs.amount_msat:type_name -> cln.Amount - 242, // 191: cln.ListpeerchannelsChannelsHtlcs.state:type_name -> cln.HtlcState - 166, // 192: cln.ListclosedchannelsResponse.closedchannels:type_name -> cln.ListclosedchannelsClosedchannels - 167, // 193: cln.ListclosedchannelsClosedchannels.alias:type_name -> cln.ListclosedchannelsClosedchannelsAlias - 241, // 194: cln.ListclosedchannelsClosedchannels.opener:type_name -> cln.ChannelSide - 241, // 195: cln.ListclosedchannelsClosedchannels.closer:type_name -> cln.ChannelSide - 240, // 196: cln.ListclosedchannelsClosedchannels.funding_fee_paid_msat:type_name -> cln.Amount - 240, // 197: cln.ListclosedchannelsClosedchannels.funding_fee_rcvd_msat:type_name -> cln.Amount - 240, // 198: cln.ListclosedchannelsClosedchannels.funding_pushed_msat:type_name -> cln.Amount - 240, // 199: cln.ListclosedchannelsClosedchannels.total_msat:type_name -> cln.Amount - 240, // 200: cln.ListclosedchannelsClosedchannels.final_to_us_msat:type_name -> cln.Amount - 240, // 201: cln.ListclosedchannelsClosedchannels.min_to_us_msat:type_name -> cln.Amount - 240, // 202: cln.ListclosedchannelsClosedchannels.max_to_us_msat:type_name -> cln.Amount - 240, // 203: cln.ListclosedchannelsClosedchannels.last_commitment_fee_msat:type_name -> cln.Amount - 29, // 204: cln.ListclosedchannelsClosedchannels.close_cause:type_name -> cln.ListclosedchannelsClosedchannels.ListclosedchannelsClosedchannelsClose_cause - 240, // 205: cln.DecodepayResponse.amount_msat:type_name -> cln.Amount - 170, // 206: cln.DecodepayResponse.fallbacks:type_name -> cln.DecodepayFallbacks - 171, // 207: cln.DecodepayResponse.extra:type_name -> cln.DecodepayExtra - 30, // 208: cln.DecodepayFallbacks.item_type:type_name -> cln.DecodepayFallbacks.DecodepayFallbacksType - 31, // 209: cln.DecodeResponse.item_type:type_name -> cln.DecodeResponse.DecodeType - 240, // 210: cln.DecodeResponse.offer_amount_msat:type_name -> cln.Amount - 174, // 211: cln.DecodeResponse.offer_paths:type_name -> cln.DecodeOffer_paths - 240, // 212: cln.DecodeResponse.invreq_amount_msat:type_name -> cln.Amount - 240, // 213: cln.DecodeResponse.invoice_amount_msat:type_name -> cln.Amount - 177, // 214: cln.DecodeResponse.invoice_fallbacks:type_name -> cln.DecodeInvoice_fallbacks - 178, // 215: cln.DecodeResponse.fallbacks:type_name -> cln.DecodeFallbacks - 179, // 216: cln.DecodeResponse.extra:type_name -> cln.DecodeExtra - 180, // 217: cln.DecodeResponse.restrictions:type_name -> cln.DecodeRestrictions - 32, // 218: cln.FeeratesRequest.style:type_name -> cln.FeeratesRequest.FeeratesStyle - 185, // 219: cln.FeeratesResponse.perkb:type_name -> cln.FeeratesPerkb - 187, // 220: cln.FeeratesResponse.perkw:type_name -> cln.FeeratesPerkw - 189, // 221: cln.FeeratesResponse.onchain_fee_estimates:type_name -> cln.FeeratesOnchain_fee_estimates - 186, // 222: cln.FeeratesPerkb.estimates:type_name -> cln.FeeratesPerkbEstimates - 188, // 223: cln.FeeratesPerkw.estimates:type_name -> cln.FeeratesPerkwEstimates - 240, // 224: cln.FetchinvoiceRequest.amount_msat:type_name -> cln.Amount - 192, // 225: cln.FetchinvoiceResponse.changes:type_name -> cln.FetchinvoiceChanges - 193, // 226: cln.FetchinvoiceResponse.next_period:type_name -> cln.FetchinvoiceNext_period - 240, // 227: cln.FetchinvoiceChanges.amount_msat:type_name -> cln.Amount - 247, // 228: cln.FundchannelRequest.amount:type_name -> cln.AmountOrAll - 245, // 229: cln.FundchannelRequest.feerate:type_name -> cln.Feerate - 240, // 230: cln.FundchannelRequest.push_msat:type_name -> cln.Amount - 240, // 231: cln.FundchannelRequest.request_amt:type_name -> cln.Amount - 244, // 232: cln.FundchannelRequest.utxos:type_name -> cln.Outpoint - 240, // 233: cln.FundchannelRequest.reserve:type_name -> cln.Amount - 196, // 234: cln.FundchannelResponse.channel_type:type_name -> cln.FundchannelChannel_type - 251, // 235: cln.FundchannelChannel_type.names:type_name -> cln.ChannelTypeName - 240, // 236: cln.GetrouteRequest.amount_msat:type_name -> cln.Amount - 199, // 237: cln.GetrouteResponse.route:type_name -> cln.GetrouteRoute - 240, // 238: cln.GetrouteRoute.amount_msat:type_name -> cln.Amount - 33, // 239: cln.GetrouteRoute.style:type_name -> cln.GetrouteRoute.GetrouteRouteStyle - 34, // 240: cln.ListforwardsRequest.status:type_name -> cln.ListforwardsRequest.ListforwardsStatus - 35, // 241: cln.ListforwardsRequest.index:type_name -> cln.ListforwardsRequest.ListforwardsIndex - 202, // 242: cln.ListforwardsResponse.forwards:type_name -> cln.ListforwardsForwards - 240, // 243: cln.ListforwardsForwards.in_msat:type_name -> cln.Amount - 36, // 244: cln.ListforwardsForwards.status:type_name -> cln.ListforwardsForwards.ListforwardsForwardsStatus - 37, // 245: cln.ListforwardsForwards.style:type_name -> cln.ListforwardsForwards.ListforwardsForwardsStyle - 240, // 246: cln.ListforwardsForwards.fee_msat:type_name -> cln.Amount - 240, // 247: cln.ListforwardsForwards.out_msat:type_name -> cln.Amount - 205, // 248: cln.ListoffersResponse.offers:type_name -> cln.ListoffersOffers - 38, // 249: cln.ListpaysRequest.status:type_name -> cln.ListpaysRequest.ListpaysStatus - 208, // 250: cln.ListpaysResponse.pays:type_name -> cln.ListpaysPays - 39, // 251: cln.ListpaysPays.status:type_name -> cln.ListpaysPays.ListpaysPaysStatus - 240, // 252: cln.ListpaysPays.amount_msat:type_name -> cln.Amount - 240, // 253: cln.ListpaysPays.amount_sent_msat:type_name -> cln.Amount - 211, // 254: cln.ListhtlcsResponse.htlcs:type_name -> cln.ListhtlcsHtlcs - 240, // 255: cln.ListhtlcsHtlcs.amount_msat:type_name -> cln.Amount - 40, // 256: cln.ListhtlcsHtlcs.direction:type_name -> cln.ListhtlcsHtlcs.ListhtlcsHtlcsDirection - 242, // 257: cln.ListhtlcsHtlcs.state:type_name -> cln.HtlcState - 240, // 258: cln.SetchannelRequest.feebase:type_name -> cln.Amount - 240, // 259: cln.SetchannelRequest.htlcmin:type_name -> cln.Amount - 240, // 260: cln.SetchannelRequest.htlcmax:type_name -> cln.Amount - 220, // 261: cln.SetchannelResponse.channels:type_name -> cln.SetchannelChannels - 240, // 262: cln.SetchannelChannels.fee_base_msat:type_name -> cln.Amount - 240, // 263: cln.SetchannelChannels.minimum_htlc_out_msat:type_name -> cln.Amount - 240, // 264: cln.SetchannelChannels.maximum_htlc_out_msat:type_name -> cln.Amount - 41, // 265: cln.WaitRequest.subsystem:type_name -> cln.WaitRequest.WaitSubsystem - 42, // 266: cln.WaitRequest.indexname:type_name -> cln.WaitRequest.WaitIndexname - 43, // 267: cln.WaitResponse.subsystem:type_name -> cln.WaitResponse.WaitSubsystem - 240, // 268: cln.PreapprovekeysendRequest.amount_msat:type_name -> cln.Amount - 239, // 269: cln.BkprlistincomeResponse.income_events:type_name -> cln.BkprlistincomeIncome_events - 240, // 270: cln.BkprlistincomeIncome_events.credit_msat:type_name -> cln.Amount - 240, // 271: cln.BkprlistincomeIncome_events.debit_msat:type_name -> cln.Amount - 44, // 272: cln.Node.Getinfo:input_type -> cln.GetinfoRequest - 49, // 273: cln.Node.ListPeers:input_type -> cln.ListpeersRequest - 59, // 274: cln.Node.ListFunds:input_type -> cln.ListfundsRequest - 63, // 275: cln.Node.SendPay:input_type -> cln.SendpayRequest - 66, // 276: cln.Node.ListChannels:input_type -> cln.ListchannelsRequest - 69, // 277: cln.Node.AddGossip:input_type -> cln.AddgossipRequest - 71, // 278: cln.Node.AutoCleanInvoice:input_type -> cln.AutocleaninvoiceRequest - 73, // 279: cln.Node.CheckMessage:input_type -> cln.CheckmessageRequest - 75, // 280: cln.Node.Close:input_type -> cln.CloseRequest - 77, // 281: cln.Node.ConnectPeer:input_type -> cln.ConnectRequest - 80, // 282: cln.Node.CreateInvoice:input_type -> cln.CreateinvoiceRequest - 83, // 283: cln.Node.Datastore:input_type -> cln.DatastoreRequest - 85, // 284: cln.Node.DatastoreUsage:input_type -> cln.DatastoreusageRequest - 88, // 285: cln.Node.CreateOnion:input_type -> cln.CreateonionRequest - 91, // 286: cln.Node.DelDatastore:input_type -> cln.DeldatastoreRequest - 93, // 287: cln.Node.DelExpiredInvoice:input_type -> cln.DelexpiredinvoiceRequest - 95, // 288: cln.Node.DelInvoice:input_type -> cln.DelinvoiceRequest - 97, // 289: cln.Node.Invoice:input_type -> cln.InvoiceRequest - 99, // 290: cln.Node.ListDatastore:input_type -> cln.ListdatastoreRequest - 102, // 291: cln.Node.ListInvoices:input_type -> cln.ListinvoicesRequest - 106, // 292: cln.Node.SendOnion:input_type -> cln.SendonionRequest - 109, // 293: cln.Node.ListSendPays:input_type -> cln.ListsendpaysRequest - 112, // 294: cln.Node.ListTransactions:input_type -> cln.ListtransactionsRequest - 117, // 295: cln.Node.Pay:input_type -> cln.PayRequest - 119, // 296: cln.Node.ListNodes:input_type -> cln.ListnodesRequest - 123, // 297: cln.Node.WaitAnyInvoice:input_type -> cln.WaitanyinvoiceRequest - 126, // 298: cln.Node.WaitInvoice:input_type -> cln.WaitinvoiceRequest - 129, // 299: cln.Node.WaitSendPay:input_type -> cln.WaitsendpayRequest - 131, // 300: cln.Node.NewAddr:input_type -> cln.NewaddrRequest - 133, // 301: cln.Node.Withdraw:input_type -> cln.WithdrawRequest - 135, // 302: cln.Node.KeySend:input_type -> cln.KeysendRequest - 137, // 303: cln.Node.FundPsbt:input_type -> cln.FundpsbtRequest - 140, // 304: cln.Node.SendPsbt:input_type -> cln.SendpsbtRequest - 142, // 305: cln.Node.SignPsbt:input_type -> cln.SignpsbtRequest - 144, // 306: cln.Node.UtxoPsbt:input_type -> cln.UtxopsbtRequest - 147, // 307: cln.Node.TxDiscard:input_type -> cln.TxdiscardRequest - 149, // 308: cln.Node.TxPrepare:input_type -> cln.TxprepareRequest - 151, // 309: cln.Node.TxSend:input_type -> cln.TxsendRequest - 153, // 310: cln.Node.ListPeerChannels:input_type -> cln.ListpeerchannelsRequest - 164, // 311: cln.Node.ListClosedChannels:input_type -> cln.ListclosedchannelsRequest - 168, // 312: cln.Node.DecodePay:input_type -> cln.DecodepayRequest - 172, // 313: cln.Node.Decode:input_type -> cln.DecodeRequest - 181, // 314: cln.Node.Disconnect:input_type -> cln.DisconnectRequest - 183, // 315: cln.Node.Feerates:input_type -> cln.FeeratesRequest - 190, // 316: cln.Node.FetchInvoice:input_type -> cln.FetchinvoiceRequest - 194, // 317: cln.Node.FundChannel:input_type -> cln.FundchannelRequest - 197, // 318: cln.Node.GetRoute:input_type -> cln.GetrouteRequest - 200, // 319: cln.Node.ListForwards:input_type -> cln.ListforwardsRequest - 203, // 320: cln.Node.ListOffers:input_type -> cln.ListoffersRequest - 206, // 321: cln.Node.ListPays:input_type -> cln.ListpaysRequest - 209, // 322: cln.Node.ListHtlcs:input_type -> cln.ListhtlcsRequest - 212, // 323: cln.Node.Offer:input_type -> cln.OfferRequest - 214, // 324: cln.Node.Ping:input_type -> cln.PingRequest - 216, // 325: cln.Node.SendCustomMsg:input_type -> cln.SendcustommsgRequest - 218, // 326: cln.Node.SetChannel:input_type -> cln.SetchannelRequest - 221, // 327: cln.Node.SignInvoice:input_type -> cln.SigninvoiceRequest - 223, // 328: cln.Node.SignMessage:input_type -> cln.SignmessageRequest - 225, // 329: cln.Node.WaitBlockHeight:input_type -> cln.WaitblockheightRequest - 227, // 330: cln.Node.Wait:input_type -> cln.WaitRequest - 229, // 331: cln.Node.Stop:input_type -> cln.StopRequest - 231, // 332: cln.Node.PreApproveKeysend:input_type -> cln.PreapprovekeysendRequest - 233, // 333: cln.Node.PreApproveInvoice:input_type -> cln.PreapproveinvoiceRequest - 235, // 334: cln.Node.StaticBackup:input_type -> cln.StaticbackupRequest - 237, // 335: cln.Node.BkprListIncome:input_type -> cln.BkprlistincomeRequest - 45, // 336: cln.Node.Getinfo:output_type -> cln.GetinfoResponse - 50, // 337: cln.Node.ListPeers:output_type -> cln.ListpeersResponse - 60, // 338: cln.Node.ListFunds:output_type -> cln.ListfundsResponse - 64, // 339: cln.Node.SendPay:output_type -> cln.SendpayResponse - 67, // 340: cln.Node.ListChannels:output_type -> cln.ListchannelsResponse - 70, // 341: cln.Node.AddGossip:output_type -> cln.AddgossipResponse - 72, // 342: cln.Node.AutoCleanInvoice:output_type -> cln.AutocleaninvoiceResponse - 74, // 343: cln.Node.CheckMessage:output_type -> cln.CheckmessageResponse - 76, // 344: cln.Node.Close:output_type -> cln.CloseResponse - 78, // 345: cln.Node.ConnectPeer:output_type -> cln.ConnectResponse - 81, // 346: cln.Node.CreateInvoice:output_type -> cln.CreateinvoiceResponse - 84, // 347: cln.Node.Datastore:output_type -> cln.DatastoreResponse - 86, // 348: cln.Node.DatastoreUsage:output_type -> cln.DatastoreusageResponse - 89, // 349: cln.Node.CreateOnion:output_type -> cln.CreateonionResponse - 92, // 350: cln.Node.DelDatastore:output_type -> cln.DeldatastoreResponse - 94, // 351: cln.Node.DelExpiredInvoice:output_type -> cln.DelexpiredinvoiceResponse - 96, // 352: cln.Node.DelInvoice:output_type -> cln.DelinvoiceResponse - 98, // 353: cln.Node.Invoice:output_type -> cln.InvoiceResponse - 100, // 354: cln.Node.ListDatastore:output_type -> cln.ListdatastoreResponse - 103, // 355: cln.Node.ListInvoices:output_type -> cln.ListinvoicesResponse - 107, // 356: cln.Node.SendOnion:output_type -> cln.SendonionResponse - 110, // 357: cln.Node.ListSendPays:output_type -> cln.ListsendpaysResponse - 113, // 358: cln.Node.ListTransactions:output_type -> cln.ListtransactionsResponse - 118, // 359: cln.Node.Pay:output_type -> cln.PayResponse - 120, // 360: cln.Node.ListNodes:output_type -> cln.ListnodesResponse - 124, // 361: cln.Node.WaitAnyInvoice:output_type -> cln.WaitanyinvoiceResponse - 127, // 362: cln.Node.WaitInvoice:output_type -> cln.WaitinvoiceResponse - 130, // 363: cln.Node.WaitSendPay:output_type -> cln.WaitsendpayResponse - 132, // 364: cln.Node.NewAddr:output_type -> cln.NewaddrResponse - 134, // 365: cln.Node.Withdraw:output_type -> cln.WithdrawResponse - 136, // 366: cln.Node.KeySend:output_type -> cln.KeysendResponse - 138, // 367: cln.Node.FundPsbt:output_type -> cln.FundpsbtResponse - 141, // 368: cln.Node.SendPsbt:output_type -> cln.SendpsbtResponse - 143, // 369: cln.Node.SignPsbt:output_type -> cln.SignpsbtResponse - 145, // 370: cln.Node.UtxoPsbt:output_type -> cln.UtxopsbtResponse - 148, // 371: cln.Node.TxDiscard:output_type -> cln.TxdiscardResponse - 150, // 372: cln.Node.TxPrepare:output_type -> cln.TxprepareResponse - 152, // 373: cln.Node.TxSend:output_type -> cln.TxsendResponse - 154, // 374: cln.Node.ListPeerChannels:output_type -> cln.ListpeerchannelsResponse - 165, // 375: cln.Node.ListClosedChannels:output_type -> cln.ListclosedchannelsResponse - 169, // 376: cln.Node.DecodePay:output_type -> cln.DecodepayResponse - 173, // 377: cln.Node.Decode:output_type -> cln.DecodeResponse - 182, // 378: cln.Node.Disconnect:output_type -> cln.DisconnectResponse - 184, // 379: cln.Node.Feerates:output_type -> cln.FeeratesResponse - 191, // 380: cln.Node.FetchInvoice:output_type -> cln.FetchinvoiceResponse - 195, // 381: cln.Node.FundChannel:output_type -> cln.FundchannelResponse - 198, // 382: cln.Node.GetRoute:output_type -> cln.GetrouteResponse - 201, // 383: cln.Node.ListForwards:output_type -> cln.ListforwardsResponse - 204, // 384: cln.Node.ListOffers:output_type -> cln.ListoffersResponse - 207, // 385: cln.Node.ListPays:output_type -> cln.ListpaysResponse - 210, // 386: cln.Node.ListHtlcs:output_type -> cln.ListhtlcsResponse - 213, // 387: cln.Node.Offer:output_type -> cln.OfferResponse - 215, // 388: cln.Node.Ping:output_type -> cln.PingResponse - 217, // 389: cln.Node.SendCustomMsg:output_type -> cln.SendcustommsgResponse - 219, // 390: cln.Node.SetChannel:output_type -> cln.SetchannelResponse - 222, // 391: cln.Node.SignInvoice:output_type -> cln.SigninvoiceResponse - 224, // 392: cln.Node.SignMessage:output_type -> cln.SignmessageResponse - 226, // 393: cln.Node.WaitBlockHeight:output_type -> cln.WaitblockheightResponse - 228, // 394: cln.Node.Wait:output_type -> cln.WaitResponse - 230, // 395: cln.Node.Stop:output_type -> cln.StopResponse - 232, // 396: cln.Node.PreApproveKeysend:output_type -> cln.PreapprovekeysendResponse - 234, // 397: cln.Node.PreApproveInvoice:output_type -> cln.PreapproveinvoiceResponse - 236, // 398: cln.Node.StaticBackup:output_type -> cln.StaticbackupResponse - 238, // 399: cln.Node.BkprListIncome:output_type -> cln.BkprlistincomeResponse - 336, // [336:400] is the sub-list for method output_type - 272, // [272:336] is the sub-list for method input_type - 272, // [272:272] is the sub-list for extension type_name - 272, // [272:272] is the sub-list for extension extendee - 0, // [0:272] is the sub-list for field type_name + 2, // 6: cln.ListpeersRequest.level:type_name -> cln.ListpeersRequest.ListpeersLevel + 72, // 7: cln.ListpeersResponse.peers:type_name -> cln.ListpeersPeers + 73, // 8: cln.ListpeersPeers.log:type_name -> cln.ListpeersPeersLog + 3, // 9: cln.ListpeersPeersLog.item_type:type_name -> cln.ListpeersPeersLog.ListpeersPeersLogType + 76, // 10: cln.ListfundsResponse.outputs:type_name -> cln.ListfundsOutputs + 77, // 11: cln.ListfundsResponse.channels:type_name -> cln.ListfundsChannels + 484, // 12: cln.ListfundsOutputs.amount_msat:type_name -> cln.Amount + 4, // 13: cln.ListfundsOutputs.status:type_name -> cln.ListfundsOutputs.ListfundsOutputsStatus + 484, // 14: cln.ListfundsChannels.our_amount_msat:type_name -> cln.Amount + 484, // 15: cln.ListfundsChannels.amount_msat:type_name -> cln.Amount + 485, // 16: cln.ListfundsChannels.state:type_name -> cln.ChannelState + 80, // 17: cln.SendpayRequest.route:type_name -> cln.SendpayRoute + 484, // 18: cln.SendpayRequest.amount_msat:type_name -> cln.Amount + 5, // 19: cln.SendpayResponse.status:type_name -> cln.SendpayResponse.SendpayStatus + 484, // 20: cln.SendpayResponse.amount_msat:type_name -> cln.Amount + 484, // 21: cln.SendpayResponse.amount_sent_msat:type_name -> cln.Amount + 484, // 22: cln.SendpayRoute.amount_msat:type_name -> cln.Amount + 83, // 23: cln.ListchannelsResponse.channels:type_name -> cln.ListchannelsChannels + 484, // 24: cln.ListchannelsChannels.amount_msat:type_name -> cln.Amount + 484, // 25: cln.ListchannelsChannels.htlc_minimum_msat:type_name -> cln.Amount + 484, // 26: cln.ListchannelsChannels.htlc_maximum_msat:type_name -> cln.Amount + 484, // 27: cln.AddpsbtoutputRequest.satoshi:type_name -> cln.Amount + 486, // 28: cln.AutocleanonceRequest.subsystem:type_name -> cln.AutocleanSubsystem + 92, // 29: cln.AutocleanonceResponse.autoclean:type_name -> cln.AutocleanonceAutoclean + 93, // 30: cln.AutocleanonceAutoclean.succeededforwards:type_name -> cln.AutocleanonceAutocleanSucceededforwards + 94, // 31: cln.AutocleanonceAutoclean.failedforwards:type_name -> cln.AutocleanonceAutocleanFailedforwards + 95, // 32: cln.AutocleanonceAutoclean.succeededpays:type_name -> cln.AutocleanonceAutocleanSucceededpays + 96, // 33: cln.AutocleanonceAutoclean.failedpays:type_name -> cln.AutocleanonceAutocleanFailedpays + 97, // 34: cln.AutocleanonceAutoclean.paidinvoices:type_name -> cln.AutocleanonceAutocleanPaidinvoices + 98, // 35: cln.AutocleanonceAutoclean.expiredinvoices:type_name -> cln.AutocleanonceAutocleanExpiredinvoices + 486, // 36: cln.AutocleanstatusRequest.subsystem:type_name -> cln.AutocleanSubsystem + 101, // 37: cln.AutocleanstatusResponse.autoclean:type_name -> cln.AutocleanstatusAutoclean + 102, // 38: cln.AutocleanstatusAutoclean.succeededforwards:type_name -> cln.AutocleanstatusAutocleanSucceededforwards + 103, // 39: cln.AutocleanstatusAutoclean.failedforwards:type_name -> cln.AutocleanstatusAutocleanFailedforwards + 104, // 40: cln.AutocleanstatusAutoclean.succeededpays:type_name -> cln.AutocleanstatusAutocleanSucceededpays + 105, // 41: cln.AutocleanstatusAutoclean.failedpays:type_name -> cln.AutocleanstatusAutocleanFailedpays + 106, // 42: cln.AutocleanstatusAutoclean.paidinvoices:type_name -> cln.AutocleanstatusAutocleanPaidinvoices + 107, // 43: cln.AutocleanstatusAutoclean.expiredinvoices:type_name -> cln.AutocleanstatusAutocleanExpiredinvoices + 487, // 44: cln.CloseRequest.wrong_funding:type_name -> cln.Outpoint + 488, // 45: cln.CloseRequest.feerange:type_name -> cln.Feerate + 6, // 46: cln.CloseResponse.item_type:type_name -> cln.CloseResponse.CloseType + 7, // 47: cln.ConnectResponse.direction:type_name -> cln.ConnectResponse.ConnectDirection + 114, // 48: cln.ConnectResponse.address:type_name -> cln.ConnectAddress + 8, // 49: cln.ConnectAddress.item_type:type_name -> cln.ConnectAddress.ConnectAddressType + 484, // 50: cln.CreateinvoiceResponse.amount_msat:type_name -> cln.Amount + 9, // 51: cln.CreateinvoiceResponse.status:type_name -> cln.CreateinvoiceResponse.CreateinvoiceStatus + 484, // 52: cln.CreateinvoiceResponse.amount_received_msat:type_name -> cln.Amount + 117, // 53: cln.CreateinvoiceResponse.paid_outpoint:type_name -> cln.CreateinvoicePaid_outpoint + 10, // 54: cln.DatastoreRequest.mode:type_name -> cln.DatastoreRequest.DatastoreMode + 122, // 55: cln.DatastoreusageResponse.datastoreusage:type_name -> cln.DatastoreusageDatastoreusage + 125, // 56: cln.CreateonionRequest.hops:type_name -> cln.CreateonionHops + 11, // 57: cln.DelinvoiceRequest.status:type_name -> cln.DelinvoiceRequest.DelinvoiceStatus + 484, // 58: cln.DelinvoiceResponse.amount_msat:type_name -> cln.Amount + 12, // 59: cln.DelinvoiceResponse.status:type_name -> cln.DelinvoiceResponse.DelinvoiceStatus + 484, // 60: cln.DelinvoiceResponse.amount_received_msat:type_name -> cln.Amount + 13, // 61: cln.RecoverResponse.result:type_name -> cln.RecoverResponse.RecoverResult + 489, // 62: cln.InvoiceRequest.amount_msat:type_name -> cln.AmountOrAny + 484, // 63: cln.InvoicerequestRequest.amount:type_name -> cln.Amount + 146, // 64: cln.ListinvoicerequestsResponse.invoicerequests:type_name -> cln.ListinvoicerequestsInvoicerequests + 149, // 65: cln.ListdatastoreResponse.datastore:type_name -> cln.ListdatastoreDatastore + 14, // 66: cln.ListinvoicesRequest.index:type_name -> cln.ListinvoicesRequest.ListinvoicesIndex + 152, // 67: cln.ListinvoicesResponse.invoices:type_name -> cln.ListinvoicesInvoices + 15, // 68: cln.ListinvoicesInvoices.status:type_name -> cln.ListinvoicesInvoices.ListinvoicesInvoicesStatus + 484, // 69: cln.ListinvoicesInvoices.amount_msat:type_name -> cln.Amount + 484, // 70: cln.ListinvoicesInvoices.amount_received_msat:type_name -> cln.Amount + 153, // 71: cln.ListinvoicesInvoices.paid_outpoint:type_name -> cln.ListinvoicesInvoicesPaid_outpoint + 156, // 72: cln.SendonionRequest.first_hop:type_name -> cln.SendonionFirst_hop + 484, // 73: cln.SendonionRequest.amount_msat:type_name -> cln.Amount + 16, // 74: cln.SendonionResponse.status:type_name -> cln.SendonionResponse.SendonionStatus + 484, // 75: cln.SendonionResponse.amount_msat:type_name -> cln.Amount + 484, // 76: cln.SendonionResponse.amount_sent_msat:type_name -> cln.Amount + 484, // 77: cln.SendonionFirst_hop.amount_msat:type_name -> cln.Amount + 17, // 78: cln.ListsendpaysRequest.status:type_name -> cln.ListsendpaysRequest.ListsendpaysStatus + 18, // 79: cln.ListsendpaysRequest.index:type_name -> cln.ListsendpaysRequest.ListsendpaysIndex + 159, // 80: cln.ListsendpaysResponse.payments:type_name -> cln.ListsendpaysPayments + 19, // 81: cln.ListsendpaysPayments.status:type_name -> cln.ListsendpaysPayments.ListsendpaysPaymentsStatus + 484, // 82: cln.ListsendpaysPayments.amount_msat:type_name -> cln.Amount + 484, // 83: cln.ListsendpaysPayments.amount_sent_msat:type_name -> cln.Amount + 162, // 84: cln.ListtransactionsResponse.transactions:type_name -> cln.ListtransactionsTransactions + 163, // 85: cln.ListtransactionsTransactions.inputs:type_name -> cln.ListtransactionsTransactionsInputs + 164, // 86: cln.ListtransactionsTransactions.outputs:type_name -> cln.ListtransactionsTransactionsOutputs + 484, // 87: cln.ListtransactionsTransactionsOutputs.amount_msat:type_name -> cln.Amount + 484, // 88: cln.PayRequest.exemptfee:type_name -> cln.Amount + 484, // 89: cln.PayRequest.maxfee:type_name -> cln.Amount + 484, // 90: cln.PayRequest.amount_msat:type_name -> cln.Amount + 484, // 91: cln.PayRequest.partial_msat:type_name -> cln.Amount + 484, // 92: cln.PayResponse.amount_msat:type_name -> cln.Amount + 484, // 93: cln.PayResponse.amount_sent_msat:type_name -> cln.Amount + 20, // 94: cln.PayResponse.status:type_name -> cln.PayResponse.PayStatus + 171, // 95: cln.ListnodesResponse.nodes:type_name -> cln.ListnodesNodes + 173, // 96: cln.ListnodesNodes.addresses:type_name -> cln.ListnodesNodesAddresses + 172, // 97: cln.ListnodesNodes.option_will_fund:type_name -> cln.ListnodesNodesOption_will_fund + 484, // 98: cln.ListnodesNodesOption_will_fund.lease_fee_base_msat:type_name -> cln.Amount + 484, // 99: cln.ListnodesNodesOption_will_fund.channel_fee_max_base_msat:type_name -> cln.Amount + 21, // 100: cln.ListnodesNodesAddresses.item_type:type_name -> cln.ListnodesNodesAddresses.ListnodesNodesAddressesType + 22, // 101: cln.WaitanyinvoiceResponse.status:type_name -> cln.WaitanyinvoiceResponse.WaitanyinvoiceStatus + 484, // 102: cln.WaitanyinvoiceResponse.amount_msat:type_name -> cln.Amount + 484, // 103: cln.WaitanyinvoiceResponse.amount_received_msat:type_name -> cln.Amount + 176, // 104: cln.WaitanyinvoiceResponse.paid_outpoint:type_name -> cln.WaitanyinvoicePaid_outpoint + 23, // 105: cln.WaitinvoiceResponse.status:type_name -> cln.WaitinvoiceResponse.WaitinvoiceStatus + 484, // 106: cln.WaitinvoiceResponse.amount_msat:type_name -> cln.Amount + 484, // 107: cln.WaitinvoiceResponse.amount_received_msat:type_name -> cln.Amount + 179, // 108: cln.WaitinvoiceResponse.paid_outpoint:type_name -> cln.WaitinvoicePaid_outpoint + 24, // 109: cln.WaitsendpayResponse.status:type_name -> cln.WaitsendpayResponse.WaitsendpayStatus + 484, // 110: cln.WaitsendpayResponse.amount_msat:type_name -> cln.Amount + 484, // 111: cln.WaitsendpayResponse.amount_sent_msat:type_name -> cln.Amount + 25, // 112: cln.NewaddrRequest.addresstype:type_name -> cln.NewaddrRequest.NewaddrAddresstype + 490, // 113: cln.WithdrawRequest.satoshi:type_name -> cln.AmountOrAll + 487, // 114: cln.WithdrawRequest.utxos:type_name -> cln.Outpoint + 488, // 115: cln.WithdrawRequest.feerate:type_name -> cln.Feerate + 484, // 116: cln.KeysendRequest.exemptfee:type_name -> cln.Amount + 491, // 117: cln.KeysendRequest.routehints:type_name -> cln.RoutehintList + 492, // 118: cln.KeysendRequest.extratlvs:type_name -> cln.TlvStream + 484, // 119: cln.KeysendRequest.amount_msat:type_name -> cln.Amount + 484, // 120: cln.KeysendResponse.amount_msat:type_name -> cln.Amount + 484, // 121: cln.KeysendResponse.amount_sent_msat:type_name -> cln.Amount + 26, // 122: cln.KeysendResponse.status:type_name -> cln.KeysendResponse.KeysendStatus + 490, // 123: cln.FundpsbtRequest.satoshi:type_name -> cln.AmountOrAll + 488, // 124: cln.FundpsbtRequest.feerate:type_name -> cln.Feerate + 484, // 125: cln.FundpsbtResponse.excess_msat:type_name -> cln.Amount + 190, // 126: cln.FundpsbtResponse.reservations:type_name -> cln.FundpsbtReservations + 490, // 127: cln.UtxopsbtRequest.satoshi:type_name -> cln.AmountOrAll + 488, // 128: cln.UtxopsbtRequest.feerate:type_name -> cln.Feerate + 487, // 129: cln.UtxopsbtRequest.utxos:type_name -> cln.Outpoint + 484, // 130: cln.UtxopsbtResponse.excess_msat:type_name -> cln.Amount + 197, // 131: cln.UtxopsbtResponse.reservations:type_name -> cln.UtxopsbtReservations + 488, // 132: cln.TxprepareRequest.feerate:type_name -> cln.Feerate + 487, // 133: cln.TxprepareRequest.utxos:type_name -> cln.Outpoint + 493, // 134: cln.TxprepareRequest.outputs:type_name -> cln.OutputDesc + 206, // 135: cln.ListpeerchannelsResponse.channels:type_name -> cln.ListpeerchannelsChannels + 27, // 136: cln.ListpeerchannelsChannels.state:type_name -> cln.ListpeerchannelsChannels.ListpeerchannelsChannelsState + 210, // 137: cln.ListpeerchannelsChannels.feerate:type_name -> cln.ListpeerchannelsChannelsFeerate + 211, // 138: cln.ListpeerchannelsChannels.inflight:type_name -> cln.ListpeerchannelsChannelsInflight + 494, // 139: cln.ListpeerchannelsChannels.opener:type_name -> cln.ChannelSide + 494, // 140: cln.ListpeerchannelsChannels.closer:type_name -> cln.ChannelSide + 212, // 141: cln.ListpeerchannelsChannels.funding:type_name -> cln.ListpeerchannelsChannelsFunding + 484, // 142: cln.ListpeerchannelsChannels.to_us_msat:type_name -> cln.Amount + 484, // 143: cln.ListpeerchannelsChannels.min_to_us_msat:type_name -> cln.Amount + 484, // 144: cln.ListpeerchannelsChannels.max_to_us_msat:type_name -> cln.Amount + 484, // 145: cln.ListpeerchannelsChannels.total_msat:type_name -> cln.Amount + 484, // 146: cln.ListpeerchannelsChannels.fee_base_msat:type_name -> cln.Amount + 484, // 147: cln.ListpeerchannelsChannels.dust_limit_msat:type_name -> cln.Amount + 484, // 148: cln.ListpeerchannelsChannels.max_total_htlc_in_msat:type_name -> cln.Amount + 484, // 149: cln.ListpeerchannelsChannels.their_reserve_msat:type_name -> cln.Amount + 484, // 150: cln.ListpeerchannelsChannels.our_reserve_msat:type_name -> cln.Amount + 484, // 151: cln.ListpeerchannelsChannels.spendable_msat:type_name -> cln.Amount + 484, // 152: cln.ListpeerchannelsChannels.receivable_msat:type_name -> cln.Amount + 484, // 153: cln.ListpeerchannelsChannels.minimum_htlc_in_msat:type_name -> cln.Amount + 484, // 154: cln.ListpeerchannelsChannels.minimum_htlc_out_msat:type_name -> cln.Amount + 484, // 155: cln.ListpeerchannelsChannels.maximum_htlc_out_msat:type_name -> cln.Amount + 213, // 156: cln.ListpeerchannelsChannels.alias:type_name -> cln.ListpeerchannelsChannelsAlias + 484, // 157: cln.ListpeerchannelsChannels.in_offered_msat:type_name -> cln.Amount + 484, // 158: cln.ListpeerchannelsChannels.in_fulfilled_msat:type_name -> cln.Amount + 484, // 159: cln.ListpeerchannelsChannels.out_offered_msat:type_name -> cln.Amount + 484, // 160: cln.ListpeerchannelsChannels.out_fulfilled_msat:type_name -> cln.Amount + 214, // 161: cln.ListpeerchannelsChannels.htlcs:type_name -> cln.ListpeerchannelsChannelsHtlcs + 207, // 162: cln.ListpeerchannelsChannels.updates:type_name -> cln.ListpeerchannelsChannelsUpdates + 484, // 163: cln.ListpeerchannelsChannels.last_tx_fee_msat:type_name -> cln.Amount + 208, // 164: cln.ListpeerchannelsChannelsUpdates.local:type_name -> cln.ListpeerchannelsChannelsUpdatesLocal + 209, // 165: cln.ListpeerchannelsChannelsUpdates.remote:type_name -> cln.ListpeerchannelsChannelsUpdatesRemote + 484, // 166: cln.ListpeerchannelsChannelsUpdatesLocal.htlc_minimum_msat:type_name -> cln.Amount + 484, // 167: cln.ListpeerchannelsChannelsUpdatesLocal.htlc_maximum_msat:type_name -> cln.Amount + 484, // 168: cln.ListpeerchannelsChannelsUpdatesLocal.fee_base_msat:type_name -> cln.Amount + 484, // 169: cln.ListpeerchannelsChannelsUpdatesRemote.htlc_minimum_msat:type_name -> cln.Amount + 484, // 170: cln.ListpeerchannelsChannelsUpdatesRemote.htlc_maximum_msat:type_name -> cln.Amount + 484, // 171: cln.ListpeerchannelsChannelsUpdatesRemote.fee_base_msat:type_name -> cln.Amount + 484, // 172: cln.ListpeerchannelsChannelsInflight.total_funding_msat:type_name -> cln.Amount + 484, // 173: cln.ListpeerchannelsChannelsInflight.our_funding_msat:type_name -> cln.Amount + 484, // 174: cln.ListpeerchannelsChannelsFunding.pushed_msat:type_name -> cln.Amount + 484, // 175: cln.ListpeerchannelsChannelsFunding.local_funds_msat:type_name -> cln.Amount + 484, // 176: cln.ListpeerchannelsChannelsFunding.remote_funds_msat:type_name -> cln.Amount + 484, // 177: cln.ListpeerchannelsChannelsFunding.fee_paid_msat:type_name -> cln.Amount + 484, // 178: cln.ListpeerchannelsChannelsFunding.fee_rcvd_msat:type_name -> cln.Amount + 28, // 179: cln.ListpeerchannelsChannelsHtlcs.direction:type_name -> cln.ListpeerchannelsChannelsHtlcs.ListpeerchannelsChannelsHtlcsDirection + 484, // 180: cln.ListpeerchannelsChannelsHtlcs.amount_msat:type_name -> cln.Amount + 495, // 181: cln.ListpeerchannelsChannelsHtlcs.state:type_name -> cln.HtlcState + 217, // 182: cln.ListclosedchannelsResponse.closedchannels:type_name -> cln.ListclosedchannelsClosedchannels + 218, // 183: cln.ListclosedchannelsClosedchannels.alias:type_name -> cln.ListclosedchannelsClosedchannelsAlias + 494, // 184: cln.ListclosedchannelsClosedchannels.opener:type_name -> cln.ChannelSide + 494, // 185: cln.ListclosedchannelsClosedchannels.closer:type_name -> cln.ChannelSide + 484, // 186: cln.ListclosedchannelsClosedchannels.funding_fee_paid_msat:type_name -> cln.Amount + 484, // 187: cln.ListclosedchannelsClosedchannels.funding_fee_rcvd_msat:type_name -> cln.Amount + 484, // 188: cln.ListclosedchannelsClosedchannels.funding_pushed_msat:type_name -> cln.Amount + 484, // 189: cln.ListclosedchannelsClosedchannels.total_msat:type_name -> cln.Amount + 484, // 190: cln.ListclosedchannelsClosedchannels.final_to_us_msat:type_name -> cln.Amount + 484, // 191: cln.ListclosedchannelsClosedchannels.min_to_us_msat:type_name -> cln.Amount + 484, // 192: cln.ListclosedchannelsClosedchannels.max_to_us_msat:type_name -> cln.Amount + 484, // 193: cln.ListclosedchannelsClosedchannels.last_commitment_fee_msat:type_name -> cln.Amount + 29, // 194: cln.ListclosedchannelsClosedchannels.close_cause:type_name -> cln.ListclosedchannelsClosedchannels.ListclosedchannelsClosedchannelsClose_cause + 484, // 195: cln.DecodepayResponse.amount_msat:type_name -> cln.Amount + 221, // 196: cln.DecodepayResponse.fallbacks:type_name -> cln.DecodepayFallbacks + 222, // 197: cln.DecodepayResponse.extra:type_name -> cln.DecodepayExtra + 496, // 198: cln.DecodepayResponse.routes:type_name -> cln.DecodeRoutehintList + 30, // 199: cln.DecodepayFallbacks.item_type:type_name -> cln.DecodepayFallbacks.DecodepayFallbacksType + 31, // 200: cln.DecodeResponse.item_type:type_name -> cln.DecodeResponse.DecodeType + 484, // 201: cln.DecodeResponse.offer_amount_msat:type_name -> cln.Amount + 225, // 202: cln.DecodeResponse.offer_paths:type_name -> cln.DecodeOffer_paths + 484, // 203: cln.DecodeResponse.invreq_amount_msat:type_name -> cln.Amount + 484, // 204: cln.DecodeResponse.invoice_amount_msat:type_name -> cln.Amount + 228, // 205: cln.DecodeResponse.invoice_fallbacks:type_name -> cln.DecodeInvoice_fallbacks + 229, // 206: cln.DecodeResponse.fallbacks:type_name -> cln.DecodeFallbacks + 230, // 207: cln.DecodeResponse.extra:type_name -> cln.DecodeExtra + 231, // 208: cln.DecodeResponse.restrictions:type_name -> cln.DecodeRestrictions + 484, // 209: cln.DecodeResponse.amount_msat:type_name -> cln.Amount + 496, // 210: cln.DecodeResponse.routes:type_name -> cln.DecodeRoutehintList + 32, // 211: cln.DecodeFallbacks.item_type:type_name -> cln.DecodeFallbacks.DecodeFallbacksType + 33, // 212: cln.DelpayRequest.status:type_name -> cln.DelpayRequest.DelpayStatus + 234, // 213: cln.DelpayResponse.payments:type_name -> cln.DelpayPayments + 34, // 214: cln.DelpayPayments.status:type_name -> cln.DelpayPayments.DelpayPaymentsStatus + 484, // 215: cln.DelpayPayments.amount_sent_msat:type_name -> cln.Amount + 484, // 216: cln.DelpayPayments.amount_msat:type_name -> cln.Amount + 35, // 217: cln.DelforwardRequest.status:type_name -> cln.DelforwardRequest.DelforwardStatus + 36, // 218: cln.FeeratesRequest.style:type_name -> cln.FeeratesRequest.FeeratesStyle + 243, // 219: cln.FeeratesResponse.perkb:type_name -> cln.FeeratesPerkb + 245, // 220: cln.FeeratesResponse.perkw:type_name -> cln.FeeratesPerkw + 247, // 221: cln.FeeratesResponse.onchain_fee_estimates:type_name -> cln.FeeratesOnchain_fee_estimates + 244, // 222: cln.FeeratesPerkb.estimates:type_name -> cln.FeeratesPerkbEstimates + 246, // 223: cln.FeeratesPerkw.estimates:type_name -> cln.FeeratesPerkwEstimates + 484, // 224: cln.FetchinvoiceRequest.amount_msat:type_name -> cln.Amount + 250, // 225: cln.FetchinvoiceResponse.changes:type_name -> cln.FetchinvoiceChanges + 251, // 226: cln.FetchinvoiceResponse.next_period:type_name -> cln.FetchinvoiceNext_period + 484, // 227: cln.FetchinvoiceChanges.amount_msat:type_name -> cln.Amount + 490, // 228: cln.FundchannelRequest.amount:type_name -> cln.AmountOrAll + 488, // 229: cln.FundchannelRequest.feerate:type_name -> cln.Feerate + 484, // 230: cln.FundchannelRequest.push_msat:type_name -> cln.Amount + 484, // 231: cln.FundchannelRequest.request_amt:type_name -> cln.Amount + 487, // 232: cln.FundchannelRequest.utxos:type_name -> cln.Outpoint + 484, // 233: cln.FundchannelRequest.reserve:type_name -> cln.Amount + 258, // 234: cln.FundchannelResponse.channel_type:type_name -> cln.FundchannelChannel_type + 497, // 235: cln.FundchannelChannel_type.names:type_name -> cln.ChannelTypeName + 484, // 236: cln.Fundchannel_startRequest.amount:type_name -> cln.Amount + 488, // 237: cln.Fundchannel_startRequest.feerate:type_name -> cln.Feerate + 484, // 238: cln.Fundchannel_startRequest.push_msat:type_name -> cln.Amount + 484, // 239: cln.Fundchannel_startRequest.reserve:type_name -> cln.Amount + 261, // 240: cln.Fundchannel_startResponse.channel_type:type_name -> cln.Fundchannel_startChannel_type + 497, // 241: cln.Fundchannel_startChannel_type.names:type_name -> cln.ChannelTypeName + 37, // 242: cln.GetlogRequest.level:type_name -> cln.GetlogRequest.GetlogLevel + 264, // 243: cln.GetlogResponse.log:type_name -> cln.GetlogLog + 38, // 244: cln.GetlogLog.item_type:type_name -> cln.GetlogLog.GetlogLogType + 39, // 245: cln.FunderupdateRequest.policy:type_name -> cln.FunderupdateRequest.FunderupdatePolicy + 484, // 246: cln.FunderupdateRequest.policy_mod:type_name -> cln.Amount + 484, // 247: cln.FunderupdateRequest.min_their_funding_msat:type_name -> cln.Amount + 484, // 248: cln.FunderupdateRequest.max_their_funding_msat:type_name -> cln.Amount + 484, // 249: cln.FunderupdateRequest.per_channel_min_msat:type_name -> cln.Amount + 484, // 250: cln.FunderupdateRequest.per_channel_max_msat:type_name -> cln.Amount + 484, // 251: cln.FunderupdateRequest.reserve_tank_msat:type_name -> cln.Amount + 484, // 252: cln.FunderupdateRequest.lease_fee_base_msat:type_name -> cln.Amount + 484, // 253: cln.FunderupdateRequest.channel_fee_max_base_msat:type_name -> cln.Amount + 40, // 254: cln.FunderupdateResponse.policy:type_name -> cln.FunderupdateResponse.FunderupdatePolicy + 484, // 255: cln.FunderupdateResponse.min_their_funding_msat:type_name -> cln.Amount + 484, // 256: cln.FunderupdateResponse.max_their_funding_msat:type_name -> cln.Amount + 484, // 257: cln.FunderupdateResponse.per_channel_min_msat:type_name -> cln.Amount + 484, // 258: cln.FunderupdateResponse.per_channel_max_msat:type_name -> cln.Amount + 484, // 259: cln.FunderupdateResponse.reserve_tank_msat:type_name -> cln.Amount + 484, // 260: cln.FunderupdateResponse.lease_fee_base_msat:type_name -> cln.Amount + 484, // 261: cln.FunderupdateResponse.channel_fee_max_base_msat:type_name -> cln.Amount + 484, // 262: cln.GetrouteRequest.amount_msat:type_name -> cln.Amount + 269, // 263: cln.GetrouteResponse.route:type_name -> cln.GetrouteRoute + 484, // 264: cln.GetrouteRoute.amount_msat:type_name -> cln.Amount + 41, // 265: cln.GetrouteRoute.style:type_name -> cln.GetrouteRoute.GetrouteRouteStyle + 42, // 266: cln.ListforwardsRequest.status:type_name -> cln.ListforwardsRequest.ListforwardsStatus + 43, // 267: cln.ListforwardsRequest.index:type_name -> cln.ListforwardsRequest.ListforwardsIndex + 272, // 268: cln.ListforwardsResponse.forwards:type_name -> cln.ListforwardsForwards + 484, // 269: cln.ListforwardsForwards.in_msat:type_name -> cln.Amount + 44, // 270: cln.ListforwardsForwards.status:type_name -> cln.ListforwardsForwards.ListforwardsForwardsStatus + 484, // 271: cln.ListforwardsForwards.fee_msat:type_name -> cln.Amount + 484, // 272: cln.ListforwardsForwards.out_msat:type_name -> cln.Amount + 45, // 273: cln.ListforwardsForwards.style:type_name -> cln.ListforwardsForwards.ListforwardsForwardsStyle + 275, // 274: cln.ListoffersResponse.offers:type_name -> cln.ListoffersOffers + 46, // 275: cln.ListpaysRequest.status:type_name -> cln.ListpaysRequest.ListpaysStatus + 278, // 276: cln.ListpaysResponse.pays:type_name -> cln.ListpaysPays + 47, // 277: cln.ListpaysPays.status:type_name -> cln.ListpaysPays.ListpaysPaysStatus + 484, // 278: cln.ListpaysPays.amount_msat:type_name -> cln.Amount + 484, // 279: cln.ListpaysPays.amount_sent_msat:type_name -> cln.Amount + 281, // 280: cln.ListhtlcsResponse.htlcs:type_name -> cln.ListhtlcsHtlcs + 484, // 281: cln.ListhtlcsHtlcs.amount_msat:type_name -> cln.Amount + 48, // 282: cln.ListhtlcsHtlcs.direction:type_name -> cln.ListhtlcsHtlcs.ListhtlcsHtlcsDirection + 495, // 283: cln.ListhtlcsHtlcs.state:type_name -> cln.HtlcState + 284, // 284: cln.MultifundchannelRequest.destinations:type_name -> cln.MultifundchannelDestinations + 488, // 285: cln.MultifundchannelRequest.feerate:type_name -> cln.Feerate + 487, // 286: cln.MultifundchannelRequest.utxos:type_name -> cln.Outpoint + 488, // 287: cln.MultifundchannelRequest.commitment_feerate:type_name -> cln.Feerate + 285, // 288: cln.MultifundchannelResponse.channel_ids:type_name -> cln.MultifundchannelChannel_ids + 287, // 289: cln.MultifundchannelResponse.failed:type_name -> cln.MultifundchannelFailed + 490, // 290: cln.MultifundchannelDestinations.amount:type_name -> cln.AmountOrAll + 484, // 291: cln.MultifundchannelDestinations.push_msat:type_name -> cln.Amount + 484, // 292: cln.MultifundchannelDestinations.request_amt:type_name -> cln.Amount + 484, // 293: cln.MultifundchannelDestinations.reserve:type_name -> cln.Amount + 286, // 294: cln.MultifundchannelChannel_ids.channel_type:type_name -> cln.MultifundchannelChannel_idsChannel_type + 497, // 295: cln.MultifundchannelChannel_idsChannel_type.names:type_name -> cln.ChannelTypeName + 49, // 296: cln.MultifundchannelFailed.method:type_name -> cln.MultifundchannelFailed.MultifundchannelFailedMethod + 288, // 297: cln.MultifundchannelFailed.error:type_name -> cln.MultifundchannelFailedError + 493, // 298: cln.MultiwithdrawRequest.outputs:type_name -> cln.OutputDesc + 488, // 299: cln.MultiwithdrawRequest.feerate:type_name -> cln.Feerate + 487, // 300: cln.MultiwithdrawRequest.utxos:type_name -> cln.Outpoint + 488, // 301: cln.Openchannel_bumpRequest.funding_feerate:type_name -> cln.Feerate + 484, // 302: cln.Openchannel_bumpRequest.amount:type_name -> cln.Amount + 297, // 303: cln.Openchannel_bumpResponse.channel_type:type_name -> cln.Openchannel_bumpChannel_type + 497, // 304: cln.Openchannel_bumpChannel_type.names:type_name -> cln.ChannelTypeName + 488, // 305: cln.Openchannel_initRequest.commitment_feerate:type_name -> cln.Feerate + 488, // 306: cln.Openchannel_initRequest.funding_feerate:type_name -> cln.Feerate + 484, // 307: cln.Openchannel_initRequest.request_amt:type_name -> cln.Amount + 484, // 308: cln.Openchannel_initRequest.amount:type_name -> cln.Amount + 300, // 309: cln.Openchannel_initResponse.channel_type:type_name -> cln.Openchannel_initChannel_type + 497, // 310: cln.Openchannel_initChannel_type.names:type_name -> cln.ChannelTypeName + 305, // 311: cln.Openchannel_updateResponse.channel_type:type_name -> cln.Openchannel_updateChannel_type + 497, // 312: cln.Openchannel_updateChannel_type.names:type_name -> cln.ChannelTypeName + 498, // 313: cln.PluginRequest.subcommand:type_name -> cln.PluginSubcommand + 498, // 314: cln.PluginResponse.command:type_name -> cln.PluginSubcommand + 310, // 315: cln.PluginResponse.plugins:type_name -> cln.PluginPlugins + 313, // 316: cln.RenepaystatusResponse.paystatus:type_name -> cln.RenepaystatusPaystatus + 484, // 317: cln.RenepaystatusPaystatus.amount_msat:type_name -> cln.Amount + 484, // 318: cln.RenepaystatusPaystatus.amount_sent_msat:type_name -> cln.Amount + 50, // 319: cln.RenepaystatusPaystatus.status:type_name -> cln.RenepaystatusPaystatus.RenepaystatusPaystatusStatus + 484, // 320: cln.RenepayRequest.amount_msat:type_name -> cln.Amount + 484, // 321: cln.RenepayRequest.maxfee:type_name -> cln.Amount + 484, // 322: cln.RenepayResponse.amount_msat:type_name -> cln.Amount + 484, // 323: cln.RenepayResponse.amount_sent_msat:type_name -> cln.Amount + 51, // 324: cln.RenepayResponse.status:type_name -> cln.RenepayResponse.RenepayStatus + 318, // 325: cln.ReserveinputsResponse.reservations:type_name -> cln.ReserveinputsReservations + 484, // 326: cln.SendinvoiceRequest.amount_msat:type_name -> cln.Amount + 52, // 327: cln.SendinvoiceResponse.status:type_name -> cln.SendinvoiceResponse.SendinvoiceStatus + 484, // 328: cln.SendinvoiceResponse.amount_msat:type_name -> cln.Amount + 484, // 329: cln.SendinvoiceResponse.amount_received_msat:type_name -> cln.Amount + 325, // 330: cln.SendonionmessageRequest.hops:type_name -> cln.SendonionmessageHops + 484, // 331: cln.SetchannelRequest.feebase:type_name -> cln.Amount + 484, // 332: cln.SetchannelRequest.htlcmin:type_name -> cln.Amount + 484, // 333: cln.SetchannelRequest.htlcmax:type_name -> cln.Amount + 328, // 334: cln.SetchannelResponse.channels:type_name -> cln.SetchannelChannels + 484, // 335: cln.SetchannelChannels.fee_base_msat:type_name -> cln.Amount + 484, // 336: cln.SetchannelChannels.minimum_htlc_out_msat:type_name -> cln.Amount + 484, // 337: cln.SetchannelChannels.maximum_htlc_out_msat:type_name -> cln.Amount + 331, // 338: cln.SetconfigResponse.config:type_name -> cln.SetconfigConfig + 484, // 339: cln.SetconfigConfig.value_msat:type_name -> cln.Amount + 346, // 340: cln.UnreserveinputsResponse.reservations:type_name -> cln.UnreserveinputsReservations + 488, // 341: cln.UpgradewalletRequest.feerate:type_name -> cln.Feerate + 53, // 342: cln.WaitRequest.subsystem:type_name -> cln.WaitRequest.WaitSubsystem + 54, // 343: cln.WaitRequest.indexname:type_name -> cln.WaitRequest.WaitIndexname + 55, // 344: cln.WaitResponse.subsystem:type_name -> cln.WaitResponse.WaitSubsystem + 353, // 345: cln.WaitResponse.details:type_name -> cln.WaitDetails + 56, // 346: cln.WaitDetails.status:type_name -> cln.WaitDetails.WaitDetailsStatus + 484, // 347: cln.WaitDetails.in_msat:type_name -> cln.Amount + 356, // 348: cln.ListconfigsResponse.configs:type_name -> cln.ListconfigsConfigs + 427, // 349: cln.ListconfigsResponse.plugins:type_name -> cln.ListconfigsPlugins + 429, // 350: cln.ListconfigsResponse.important_plugins:type_name -> cln.ListconfigsImportantplugins + 484, // 351: cln.ListconfigsResponse.htlc_minimum_msat:type_name -> cln.Amount + 484, // 352: cln.ListconfigsResponse.htlc_maximum_msat:type_name -> cln.Amount + 484, // 353: cln.ListconfigsResponse.max_dust_htlc_exposure_msat:type_name -> cln.Amount + 484, // 354: cln.ListconfigsResponse.min_emergency_msat:type_name -> cln.Amount + 357, // 355: cln.ListconfigsConfigs.conf:type_name -> cln.ListconfigsConfigsConf + 358, // 356: cln.ListconfigsConfigs.developer:type_name -> cln.ListconfigsConfigsDeveloper + 359, // 357: cln.ListconfigsConfigs.clear_plugins:type_name -> cln.ListconfigsConfigsClearplugins + 360, // 358: cln.ListconfigsConfigs.disable_mpp:type_name -> cln.ListconfigsConfigsDisablempp + 361, // 359: cln.ListconfigsConfigs.mainnet:type_name -> cln.ListconfigsConfigsMainnet + 362, // 360: cln.ListconfigsConfigs.regtest:type_name -> cln.ListconfigsConfigsRegtest + 363, // 361: cln.ListconfigsConfigs.signet:type_name -> cln.ListconfigsConfigsSignet + 364, // 362: cln.ListconfigsConfigs.testnet:type_name -> cln.ListconfigsConfigsTestnet + 365, // 363: cln.ListconfigsConfigs.important_plugin:type_name -> cln.ListconfigsConfigsImportantplugin + 366, // 364: cln.ListconfigsConfigs.plugin:type_name -> cln.ListconfigsConfigsPlugin + 367, // 365: cln.ListconfigsConfigs.plugin_dir:type_name -> cln.ListconfigsConfigsPlugindir + 368, // 366: cln.ListconfigsConfigs.lightning_dir:type_name -> cln.ListconfigsConfigsLightningdir + 369, // 367: cln.ListconfigsConfigs.network:type_name -> cln.ListconfigsConfigsNetwork + 370, // 368: cln.ListconfigsConfigs.allow_deprecated_apis:type_name -> cln.ListconfigsConfigsAllowdeprecatedapis + 371, // 369: cln.ListconfigsConfigs.rpc_file:type_name -> cln.ListconfigsConfigsRpcfile + 372, // 370: cln.ListconfigsConfigs.disable_plugin:type_name -> cln.ListconfigsConfigsDisableplugin + 373, // 371: cln.ListconfigsConfigs.always_use_proxy:type_name -> cln.ListconfigsConfigsAlwaysuseproxy + 374, // 372: cln.ListconfigsConfigs.daemon:type_name -> cln.ListconfigsConfigsDaemon + 375, // 373: cln.ListconfigsConfigs.wallet:type_name -> cln.ListconfigsConfigsWallet + 376, // 374: cln.ListconfigsConfigs.large_channels:type_name -> cln.ListconfigsConfigsLargechannels + 377, // 375: cln.ListconfigsConfigs.experimental_dual_fund:type_name -> cln.ListconfigsConfigsExperimentaldualfund + 378, // 376: cln.ListconfigsConfigs.experimental_splicing:type_name -> cln.ListconfigsConfigsExperimentalsplicing + 379, // 377: cln.ListconfigsConfigs.experimental_onion_messages:type_name -> cln.ListconfigsConfigsExperimentalonionmessages + 380, // 378: cln.ListconfigsConfigs.experimental_offers:type_name -> cln.ListconfigsConfigsExperimentaloffers + 381, // 379: cln.ListconfigsConfigs.experimental_shutdown_wrong_funding:type_name -> cln.ListconfigsConfigsExperimentalshutdownwrongfunding + 382, // 380: cln.ListconfigsConfigs.experimental_peer_storage:type_name -> cln.ListconfigsConfigsExperimentalpeerstorage + 383, // 381: cln.ListconfigsConfigs.experimental_anchors:type_name -> cln.ListconfigsConfigsExperimentalanchors + 384, // 382: cln.ListconfigsConfigs.database_upgrade:type_name -> cln.ListconfigsConfigsDatabaseupgrade + 385, // 383: cln.ListconfigsConfigs.rgb:type_name -> cln.ListconfigsConfigsRgb + 386, // 384: cln.ListconfigsConfigs.alias:type_name -> cln.ListconfigsConfigsAlias + 387, // 385: cln.ListconfigsConfigs.pid_file:type_name -> cln.ListconfigsConfigsPidfile + 388, // 386: cln.ListconfigsConfigs.ignore_fee_limits:type_name -> cln.ListconfigsConfigsIgnorefeelimits + 389, // 387: cln.ListconfigsConfigs.watchtime_blocks:type_name -> cln.ListconfigsConfigsWatchtimeblocks + 390, // 388: cln.ListconfigsConfigs.max_locktime_blocks:type_name -> cln.ListconfigsConfigsMaxlocktimeblocks + 391, // 389: cln.ListconfigsConfigs.funding_confirms:type_name -> cln.ListconfigsConfigsFundingconfirms + 392, // 390: cln.ListconfigsConfigs.cltv_delta:type_name -> cln.ListconfigsConfigsCltvdelta + 393, // 391: cln.ListconfigsConfigs.cltv_final:type_name -> cln.ListconfigsConfigsCltvfinal + 394, // 392: cln.ListconfigsConfigs.commit_time:type_name -> cln.ListconfigsConfigsCommittime + 395, // 393: cln.ListconfigsConfigs.fee_base:type_name -> cln.ListconfigsConfigsFeebase + 396, // 394: cln.ListconfigsConfigs.rescan:type_name -> cln.ListconfigsConfigsRescan + 397, // 395: cln.ListconfigsConfigs.fee_per_satoshi:type_name -> cln.ListconfigsConfigsFeepersatoshi + 398, // 396: cln.ListconfigsConfigs.max_concurrent_htlcs:type_name -> cln.ListconfigsConfigsMaxconcurrenthtlcs + 399, // 397: cln.ListconfigsConfigs.htlc_minimum_msat:type_name -> cln.ListconfigsConfigsHtlcminimummsat + 400, // 398: cln.ListconfigsConfigs.htlc_maximum_msat:type_name -> cln.ListconfigsConfigsHtlcmaximummsat + 401, // 399: cln.ListconfigsConfigs.max_dust_htlc_exposure_msat:type_name -> cln.ListconfigsConfigsMaxdusthtlcexposuremsat + 402, // 400: cln.ListconfigsConfigs.min_capacity_sat:type_name -> cln.ListconfigsConfigsMincapacitysat + 403, // 401: cln.ListconfigsConfigs.addr:type_name -> cln.ListconfigsConfigsAddr + 404, // 402: cln.ListconfigsConfigs.announce_addr:type_name -> cln.ListconfigsConfigsAnnounceaddr + 405, // 403: cln.ListconfigsConfigs.bind_addr:type_name -> cln.ListconfigsConfigsBindaddr + 406, // 404: cln.ListconfigsConfigs.offline:type_name -> cln.ListconfigsConfigsOffline + 407, // 405: cln.ListconfigsConfigs.autolisten:type_name -> cln.ListconfigsConfigsAutolisten + 408, // 406: cln.ListconfigsConfigs.proxy:type_name -> cln.ListconfigsConfigsProxy + 409, // 407: cln.ListconfigsConfigs.disable_dns:type_name -> cln.ListconfigsConfigsDisabledns + 410, // 408: cln.ListconfigsConfigs.announce_addr_discovered:type_name -> cln.ListconfigsConfigsAnnounceaddrdiscovered + 411, // 409: cln.ListconfigsConfigs.announce_addr_discovered_port:type_name -> cln.ListconfigsConfigsAnnounceaddrdiscoveredport + 412, // 410: cln.ListconfigsConfigs.encrypted_hsm:type_name -> cln.ListconfigsConfigsEncryptedhsm + 413, // 411: cln.ListconfigsConfigs.rpc_file_mode:type_name -> cln.ListconfigsConfigsRpcfilemode + 414, // 412: cln.ListconfigsConfigs.log_level:type_name -> cln.ListconfigsConfigsLoglevel + 415, // 413: cln.ListconfigsConfigs.log_prefix:type_name -> cln.ListconfigsConfigsLogprefix + 416, // 414: cln.ListconfigsConfigs.log_file:type_name -> cln.ListconfigsConfigsLogfile + 417, // 415: cln.ListconfigsConfigs.log_timestamps:type_name -> cln.ListconfigsConfigsLogtimestamps + 418, // 416: cln.ListconfigsConfigs.force_feerates:type_name -> cln.ListconfigsConfigsForcefeerates + 419, // 417: cln.ListconfigsConfigs.subdaemon:type_name -> cln.ListconfigsConfigsSubdaemon + 420, // 418: cln.ListconfigsConfigs.fetchinvoice_noconnect:type_name -> cln.ListconfigsConfigsFetchinvoicenoconnect + 421, // 419: cln.ListconfigsConfigs.accept_htlc_tlv_types:type_name -> cln.ListconfigsConfigsAccepthtlctlvtypes + 422, // 420: cln.ListconfigsConfigs.tor_service_password:type_name -> cln.ListconfigsConfigsTorservicepassword + 423, // 421: cln.ListconfigsConfigs.announce_addr_dns:type_name -> cln.ListconfigsConfigsAnnounceaddrdns + 424, // 422: cln.ListconfigsConfigs.require_confirmed_inputs:type_name -> cln.ListconfigsConfigsRequireconfirmedinputs + 425, // 423: cln.ListconfigsConfigs.commit_fee:type_name -> cln.ListconfigsConfigsCommitfee + 426, // 424: cln.ListconfigsConfigs.commit_feerate_offset:type_name -> cln.ListconfigsConfigsCommitfeerateoffset + 57, // 425: cln.ListconfigsConfigsConf.source:type_name -> cln.ListconfigsConfigsConf.ListconfigsConfigsConfSource + 484, // 426: cln.ListconfigsConfigsHtlcminimummsat.value_msat:type_name -> cln.Amount + 484, // 427: cln.ListconfigsConfigsHtlcmaximummsat.value_msat:type_name -> cln.Amount + 484, // 428: cln.ListconfigsConfigsMaxdusthtlcexposuremsat.value_msat:type_name -> cln.Amount + 58, // 429: cln.ListconfigsConfigsAnnounceaddrdiscovered.value_str:type_name -> cln.ListconfigsConfigsAnnounceaddrdiscovered.ListconfigsConfigsAnnounceaddrdiscoveredValue_str + 428, // 430: cln.ListconfigsPlugins.options:type_name -> cln.ListconfigsPluginsOptions + 430, // 431: cln.ListconfigsImportantplugins.options:type_name -> cln.ListconfigsImportantpluginsOptions + 59, // 432: cln.StopResponse.result:type_name -> cln.StopResponse.StopResult + 435, // 433: cln.HelpResponse.help:type_name -> cln.HelpHelp + 60, // 434: cln.HelpResponse.format_hint:type_name -> cln.HelpResponse.HelpFormathint + 484, // 435: cln.PreapprovekeysendRequest.amount_msat:type_name -> cln.Amount + 444, // 436: cln.BkprchannelsapyResponse.channels_apy:type_name -> cln.BkprchannelsapyChannels_apy + 484, // 437: cln.BkprchannelsapyChannels_apy.routed_out_msat:type_name -> cln.Amount + 484, // 438: cln.BkprchannelsapyChannels_apy.routed_in_msat:type_name -> cln.Amount + 484, // 439: cln.BkprchannelsapyChannels_apy.lease_fee_paid_msat:type_name -> cln.Amount + 484, // 440: cln.BkprchannelsapyChannels_apy.lease_fee_earned_msat:type_name -> cln.Amount + 484, // 441: cln.BkprchannelsapyChannels_apy.pushed_out_msat:type_name -> cln.Amount + 484, // 442: cln.BkprchannelsapyChannels_apy.pushed_in_msat:type_name -> cln.Amount + 484, // 443: cln.BkprchannelsapyChannels_apy.our_start_balance_msat:type_name -> cln.Amount + 484, // 444: cln.BkprchannelsapyChannels_apy.channel_start_balance_msat:type_name -> cln.Amount + 484, // 445: cln.BkprchannelsapyChannels_apy.fees_out_msat:type_name -> cln.Amount + 484, // 446: cln.BkprchannelsapyChannels_apy.fees_in_msat:type_name -> cln.Amount + 61, // 447: cln.BkprdumpincomecsvResponse.csv_format:type_name -> cln.BkprdumpincomecsvResponse.BkprdumpincomecsvCsv_format + 449, // 448: cln.BkprinspectResponse.txs:type_name -> cln.BkprinspectTxs + 484, // 449: cln.BkprinspectTxs.fees_paid_msat:type_name -> cln.Amount + 450, // 450: cln.BkprinspectTxs.outputs:type_name -> cln.BkprinspectTxsOutputs + 484, // 451: cln.BkprinspectTxsOutputs.output_value_msat:type_name -> cln.Amount + 484, // 452: cln.BkprinspectTxsOutputs.credit_msat:type_name -> cln.Amount + 484, // 453: cln.BkprinspectTxsOutputs.debit_msat:type_name -> cln.Amount + 453, // 454: cln.BkprlistaccounteventsResponse.events:type_name -> cln.BkprlistaccounteventsEvents + 62, // 455: cln.BkprlistaccounteventsEvents.item_type:type_name -> cln.BkprlistaccounteventsEvents.BkprlistaccounteventsEventsType + 484, // 456: cln.BkprlistaccounteventsEvents.credit_msat:type_name -> cln.Amount + 484, // 457: cln.BkprlistaccounteventsEvents.debit_msat:type_name -> cln.Amount + 484, // 458: cln.BkprlistaccounteventsEvents.fees_msat:type_name -> cln.Amount + 456, // 459: cln.BkprlistbalancesResponse.accounts:type_name -> cln.BkprlistbalancesAccounts + 457, // 460: cln.BkprlistbalancesAccounts.balances:type_name -> cln.BkprlistbalancesAccountsBalances + 484, // 461: cln.BkprlistbalancesAccountsBalances.balance_msat:type_name -> cln.Amount + 460, // 462: cln.BkprlistincomeResponse.income_events:type_name -> cln.BkprlistincomeIncome_events + 484, // 463: cln.BkprlistincomeIncome_events.credit_msat:type_name -> cln.Amount + 484, // 464: cln.BkprlistincomeIncome_events.debit_msat:type_name -> cln.Amount + 463, // 465: cln.BlacklistruneResponse.blacklist:type_name -> cln.BlacklistruneBlacklist + 470, // 466: cln.ShowrunesResponse.runes:type_name -> cln.ShowrunesRunes + 471, // 467: cln.ShowrunesRunes.restrictions:type_name -> cln.ShowrunesRunesRestrictions + 472, // 468: cln.ShowrunesRunesRestrictions.alternatives:type_name -> cln.ShowrunesRunesRestrictionsAlternatives + 484, // 469: cln.ChannelOpenedNotification.funding_msat:type_name -> cln.Amount + 63, // 470: cln.PeerConnectNotification.direction:type_name -> cln.PeerConnectNotification.PeerConnectDirection + 481, // 471: cln.PeerConnectNotification.address:type_name -> cln.PeerConnectAddress + 64, // 472: cln.PeerConnectAddress.item_type:type_name -> cln.PeerConnectAddress.PeerConnectAddressType + 65, // 473: cln.Node.Getinfo:input_type -> cln.GetinfoRequest + 70, // 474: cln.Node.ListPeers:input_type -> cln.ListpeersRequest + 74, // 475: cln.Node.ListFunds:input_type -> cln.ListfundsRequest + 78, // 476: cln.Node.SendPay:input_type -> cln.SendpayRequest + 81, // 477: cln.Node.ListChannels:input_type -> cln.ListchannelsRequest + 84, // 478: cln.Node.AddGossip:input_type -> cln.AddgossipRequest + 86, // 479: cln.Node.AddPsbtOutput:input_type -> cln.AddpsbtoutputRequest + 88, // 480: cln.Node.AutoCleanInvoice:input_type -> cln.AutocleaninvoiceRequest + 90, // 481: cln.Node.AutoCleanOnce:input_type -> cln.AutocleanonceRequest + 99, // 482: cln.Node.AutoCleanStatus:input_type -> cln.AutocleanstatusRequest + 108, // 483: cln.Node.CheckMessage:input_type -> cln.CheckmessageRequest + 110, // 484: cln.Node.Close:input_type -> cln.CloseRequest + 112, // 485: cln.Node.ConnectPeer:input_type -> cln.ConnectRequest + 115, // 486: cln.Node.CreateInvoice:input_type -> cln.CreateinvoiceRequest + 118, // 487: cln.Node.Datastore:input_type -> cln.DatastoreRequest + 120, // 488: cln.Node.DatastoreUsage:input_type -> cln.DatastoreusageRequest + 123, // 489: cln.Node.CreateOnion:input_type -> cln.CreateonionRequest + 126, // 490: cln.Node.DelDatastore:input_type -> cln.DeldatastoreRequest + 128, // 491: cln.Node.DelInvoice:input_type -> cln.DelinvoiceRequest + 130, // 492: cln.Node.DevForgetChannel:input_type -> cln.DevforgetchannelRequest + 132, // 493: cln.Node.EmergencyRecover:input_type -> cln.EmergencyrecoverRequest + 134, // 494: cln.Node.Recover:input_type -> cln.RecoverRequest + 136, // 495: cln.Node.RecoverChannel:input_type -> cln.RecoverchannelRequest + 138, // 496: cln.Node.Invoice:input_type -> cln.InvoiceRequest + 140, // 497: cln.Node.CreateInvoiceRequest:input_type -> cln.InvoicerequestRequest + 142, // 498: cln.Node.DisableInvoiceRequest:input_type -> cln.DisableinvoicerequestRequest + 144, // 499: cln.Node.ListInvoiceRequests:input_type -> cln.ListinvoicerequestsRequest + 147, // 500: cln.Node.ListDatastore:input_type -> cln.ListdatastoreRequest + 150, // 501: cln.Node.ListInvoices:input_type -> cln.ListinvoicesRequest + 154, // 502: cln.Node.SendOnion:input_type -> cln.SendonionRequest + 157, // 503: cln.Node.ListSendPays:input_type -> cln.ListsendpaysRequest + 160, // 504: cln.Node.ListTransactions:input_type -> cln.ListtransactionsRequest + 165, // 505: cln.Node.MakeSecret:input_type -> cln.MakesecretRequest + 167, // 506: cln.Node.Pay:input_type -> cln.PayRequest + 169, // 507: cln.Node.ListNodes:input_type -> cln.ListnodesRequest + 174, // 508: cln.Node.WaitAnyInvoice:input_type -> cln.WaitanyinvoiceRequest + 177, // 509: cln.Node.WaitInvoice:input_type -> cln.WaitinvoiceRequest + 180, // 510: cln.Node.WaitSendPay:input_type -> cln.WaitsendpayRequest + 182, // 511: cln.Node.NewAddr:input_type -> cln.NewaddrRequest + 184, // 512: cln.Node.Withdraw:input_type -> cln.WithdrawRequest + 186, // 513: cln.Node.KeySend:input_type -> cln.KeysendRequest + 188, // 514: cln.Node.FundPsbt:input_type -> cln.FundpsbtRequest + 191, // 515: cln.Node.SendPsbt:input_type -> cln.SendpsbtRequest + 193, // 516: cln.Node.SignPsbt:input_type -> cln.SignpsbtRequest + 195, // 517: cln.Node.UtxoPsbt:input_type -> cln.UtxopsbtRequest + 198, // 518: cln.Node.TxDiscard:input_type -> cln.TxdiscardRequest + 200, // 519: cln.Node.TxPrepare:input_type -> cln.TxprepareRequest + 202, // 520: cln.Node.TxSend:input_type -> cln.TxsendRequest + 204, // 521: cln.Node.ListPeerChannels:input_type -> cln.ListpeerchannelsRequest + 215, // 522: cln.Node.ListClosedChannels:input_type -> cln.ListclosedchannelsRequest + 219, // 523: cln.Node.DecodePay:input_type -> cln.DecodepayRequest + 223, // 524: cln.Node.Decode:input_type -> cln.DecodeRequest + 232, // 525: cln.Node.DelPay:input_type -> cln.DelpayRequest + 235, // 526: cln.Node.DelForward:input_type -> cln.DelforwardRequest + 237, // 527: cln.Node.DisableOffer:input_type -> cln.DisableofferRequest + 239, // 528: cln.Node.Disconnect:input_type -> cln.DisconnectRequest + 241, // 529: cln.Node.Feerates:input_type -> cln.FeeratesRequest + 248, // 530: cln.Node.FetchInvoice:input_type -> cln.FetchinvoiceRequest + 252, // 531: cln.Node.FundChannel_Cancel:input_type -> cln.Fundchannel_cancelRequest + 254, // 532: cln.Node.FundChannel_Complete:input_type -> cln.Fundchannel_completeRequest + 256, // 533: cln.Node.FundChannel:input_type -> cln.FundchannelRequest + 259, // 534: cln.Node.FundChannel_Start:input_type -> cln.Fundchannel_startRequest + 262, // 535: cln.Node.GetLog:input_type -> cln.GetlogRequest + 265, // 536: cln.Node.FunderUpdate:input_type -> cln.FunderupdateRequest + 267, // 537: cln.Node.GetRoute:input_type -> cln.GetrouteRequest + 270, // 538: cln.Node.ListForwards:input_type -> cln.ListforwardsRequest + 273, // 539: cln.Node.ListOffers:input_type -> cln.ListoffersRequest + 276, // 540: cln.Node.ListPays:input_type -> cln.ListpaysRequest + 279, // 541: cln.Node.ListHtlcs:input_type -> cln.ListhtlcsRequest + 282, // 542: cln.Node.MultiFundChannel:input_type -> cln.MultifundchannelRequest + 289, // 543: cln.Node.MultiWithdraw:input_type -> cln.MultiwithdrawRequest + 291, // 544: cln.Node.Offer:input_type -> cln.OfferRequest + 293, // 545: cln.Node.OpenChannel_Abort:input_type -> cln.Openchannel_abortRequest + 295, // 546: cln.Node.OpenChannel_Bump:input_type -> cln.Openchannel_bumpRequest + 298, // 547: cln.Node.OpenChannel_Init:input_type -> cln.Openchannel_initRequest + 301, // 548: cln.Node.OpenChannel_Signed:input_type -> cln.Openchannel_signedRequest + 303, // 549: cln.Node.OpenChannel_Update:input_type -> cln.Openchannel_updateRequest + 306, // 550: cln.Node.Ping:input_type -> cln.PingRequest + 308, // 551: cln.Node.Plugin:input_type -> cln.PluginRequest + 311, // 552: cln.Node.RenePayStatus:input_type -> cln.RenepaystatusRequest + 314, // 553: cln.Node.RenePay:input_type -> cln.RenepayRequest + 316, // 554: cln.Node.ReserveInputs:input_type -> cln.ReserveinputsRequest + 319, // 555: cln.Node.SendCustomMsg:input_type -> cln.SendcustommsgRequest + 321, // 556: cln.Node.SendInvoice:input_type -> cln.SendinvoiceRequest + 323, // 557: cln.Node.SendOnionMessage:input_type -> cln.SendonionmessageRequest + 326, // 558: cln.Node.SetChannel:input_type -> cln.SetchannelRequest + 329, // 559: cln.Node.SetConfig:input_type -> cln.SetconfigRequest + 332, // 560: cln.Node.SetPsbtVersion:input_type -> cln.SetpsbtversionRequest + 334, // 561: cln.Node.SignInvoice:input_type -> cln.SigninvoiceRequest + 336, // 562: cln.Node.SignMessage:input_type -> cln.SignmessageRequest + 338, // 563: cln.Node.Splice_Init:input_type -> cln.Splice_initRequest + 340, // 564: cln.Node.Splice_Signed:input_type -> cln.Splice_signedRequest + 342, // 565: cln.Node.Splice_Update:input_type -> cln.Splice_updateRequest + 344, // 566: cln.Node.UnreserveInputs:input_type -> cln.UnreserveinputsRequest + 347, // 567: cln.Node.UpgradeWallet:input_type -> cln.UpgradewalletRequest + 349, // 568: cln.Node.WaitBlockHeight:input_type -> cln.WaitblockheightRequest + 351, // 569: cln.Node.Wait:input_type -> cln.WaitRequest + 354, // 570: cln.Node.ListConfigs:input_type -> cln.ListconfigsRequest + 431, // 571: cln.Node.Stop:input_type -> cln.StopRequest + 433, // 572: cln.Node.Help:input_type -> cln.HelpRequest + 436, // 573: cln.Node.PreApproveKeysend:input_type -> cln.PreapprovekeysendRequest + 438, // 574: cln.Node.PreApproveInvoice:input_type -> cln.PreapproveinvoiceRequest + 440, // 575: cln.Node.StaticBackup:input_type -> cln.StaticbackupRequest + 442, // 576: cln.Node.BkprChannelsApy:input_type -> cln.BkprchannelsapyRequest + 445, // 577: cln.Node.BkprDumpIncomeCsv:input_type -> cln.BkprdumpincomecsvRequest + 447, // 578: cln.Node.BkprInspect:input_type -> cln.BkprinspectRequest + 451, // 579: cln.Node.BkprListAccountEvents:input_type -> cln.BkprlistaccounteventsRequest + 454, // 580: cln.Node.BkprListBalances:input_type -> cln.BkprlistbalancesRequest + 458, // 581: cln.Node.BkprListIncome:input_type -> cln.BkprlistincomeRequest + 461, // 582: cln.Node.BlacklistRune:input_type -> cln.BlacklistruneRequest + 464, // 583: cln.Node.CheckRune:input_type -> cln.CheckruneRequest + 466, // 584: cln.Node.CreateRune:input_type -> cln.CreateruneRequest + 468, // 585: cln.Node.ShowRunes:input_type -> cln.ShowrunesRequest + 473, // 586: cln.Node.SubscribeBlockAdded:input_type -> cln.StreamBlockAddedRequest + 475, // 587: cln.Node.SubscribeChannelOpenFailed:input_type -> cln.StreamChannelOpenFailedRequest + 477, // 588: cln.Node.SubscribeChannelOpened:input_type -> cln.StreamChannelOpenedRequest + 479, // 589: cln.Node.SubscribeConnect:input_type -> cln.StreamConnectRequest + 482, // 590: cln.Node.SubscribeCustomMsg:input_type -> cln.StreamCustomMsgRequest + 66, // 591: cln.Node.Getinfo:output_type -> cln.GetinfoResponse + 71, // 592: cln.Node.ListPeers:output_type -> cln.ListpeersResponse + 75, // 593: cln.Node.ListFunds:output_type -> cln.ListfundsResponse + 79, // 594: cln.Node.SendPay:output_type -> cln.SendpayResponse + 82, // 595: cln.Node.ListChannels:output_type -> cln.ListchannelsResponse + 85, // 596: cln.Node.AddGossip:output_type -> cln.AddgossipResponse + 87, // 597: cln.Node.AddPsbtOutput:output_type -> cln.AddpsbtoutputResponse + 89, // 598: cln.Node.AutoCleanInvoice:output_type -> cln.AutocleaninvoiceResponse + 91, // 599: cln.Node.AutoCleanOnce:output_type -> cln.AutocleanonceResponse + 100, // 600: cln.Node.AutoCleanStatus:output_type -> cln.AutocleanstatusResponse + 109, // 601: cln.Node.CheckMessage:output_type -> cln.CheckmessageResponse + 111, // 602: cln.Node.Close:output_type -> cln.CloseResponse + 113, // 603: cln.Node.ConnectPeer:output_type -> cln.ConnectResponse + 116, // 604: cln.Node.CreateInvoice:output_type -> cln.CreateinvoiceResponse + 119, // 605: cln.Node.Datastore:output_type -> cln.DatastoreResponse + 121, // 606: cln.Node.DatastoreUsage:output_type -> cln.DatastoreusageResponse + 124, // 607: cln.Node.CreateOnion:output_type -> cln.CreateonionResponse + 127, // 608: cln.Node.DelDatastore:output_type -> cln.DeldatastoreResponse + 129, // 609: cln.Node.DelInvoice:output_type -> cln.DelinvoiceResponse + 131, // 610: cln.Node.DevForgetChannel:output_type -> cln.DevforgetchannelResponse + 133, // 611: cln.Node.EmergencyRecover:output_type -> cln.EmergencyrecoverResponse + 135, // 612: cln.Node.Recover:output_type -> cln.RecoverResponse + 137, // 613: cln.Node.RecoverChannel:output_type -> cln.RecoverchannelResponse + 139, // 614: cln.Node.Invoice:output_type -> cln.InvoiceResponse + 141, // 615: cln.Node.CreateInvoiceRequest:output_type -> cln.InvoicerequestResponse + 143, // 616: cln.Node.DisableInvoiceRequest:output_type -> cln.DisableinvoicerequestResponse + 145, // 617: cln.Node.ListInvoiceRequests:output_type -> cln.ListinvoicerequestsResponse + 148, // 618: cln.Node.ListDatastore:output_type -> cln.ListdatastoreResponse + 151, // 619: cln.Node.ListInvoices:output_type -> cln.ListinvoicesResponse + 155, // 620: cln.Node.SendOnion:output_type -> cln.SendonionResponse + 158, // 621: cln.Node.ListSendPays:output_type -> cln.ListsendpaysResponse + 161, // 622: cln.Node.ListTransactions:output_type -> cln.ListtransactionsResponse + 166, // 623: cln.Node.MakeSecret:output_type -> cln.MakesecretResponse + 168, // 624: cln.Node.Pay:output_type -> cln.PayResponse + 170, // 625: cln.Node.ListNodes:output_type -> cln.ListnodesResponse + 175, // 626: cln.Node.WaitAnyInvoice:output_type -> cln.WaitanyinvoiceResponse + 178, // 627: cln.Node.WaitInvoice:output_type -> cln.WaitinvoiceResponse + 181, // 628: cln.Node.WaitSendPay:output_type -> cln.WaitsendpayResponse + 183, // 629: cln.Node.NewAddr:output_type -> cln.NewaddrResponse + 185, // 630: cln.Node.Withdraw:output_type -> cln.WithdrawResponse + 187, // 631: cln.Node.KeySend:output_type -> cln.KeysendResponse + 189, // 632: cln.Node.FundPsbt:output_type -> cln.FundpsbtResponse + 192, // 633: cln.Node.SendPsbt:output_type -> cln.SendpsbtResponse + 194, // 634: cln.Node.SignPsbt:output_type -> cln.SignpsbtResponse + 196, // 635: cln.Node.UtxoPsbt:output_type -> cln.UtxopsbtResponse + 199, // 636: cln.Node.TxDiscard:output_type -> cln.TxdiscardResponse + 201, // 637: cln.Node.TxPrepare:output_type -> cln.TxprepareResponse + 203, // 638: cln.Node.TxSend:output_type -> cln.TxsendResponse + 205, // 639: cln.Node.ListPeerChannels:output_type -> cln.ListpeerchannelsResponse + 216, // 640: cln.Node.ListClosedChannels:output_type -> cln.ListclosedchannelsResponse + 220, // 641: cln.Node.DecodePay:output_type -> cln.DecodepayResponse + 224, // 642: cln.Node.Decode:output_type -> cln.DecodeResponse + 233, // 643: cln.Node.DelPay:output_type -> cln.DelpayResponse + 236, // 644: cln.Node.DelForward:output_type -> cln.DelforwardResponse + 238, // 645: cln.Node.DisableOffer:output_type -> cln.DisableofferResponse + 240, // 646: cln.Node.Disconnect:output_type -> cln.DisconnectResponse + 242, // 647: cln.Node.Feerates:output_type -> cln.FeeratesResponse + 249, // 648: cln.Node.FetchInvoice:output_type -> cln.FetchinvoiceResponse + 253, // 649: cln.Node.FundChannel_Cancel:output_type -> cln.Fundchannel_cancelResponse + 255, // 650: cln.Node.FundChannel_Complete:output_type -> cln.Fundchannel_completeResponse + 257, // 651: cln.Node.FundChannel:output_type -> cln.FundchannelResponse + 260, // 652: cln.Node.FundChannel_Start:output_type -> cln.Fundchannel_startResponse + 263, // 653: cln.Node.GetLog:output_type -> cln.GetlogResponse + 266, // 654: cln.Node.FunderUpdate:output_type -> cln.FunderupdateResponse + 268, // 655: cln.Node.GetRoute:output_type -> cln.GetrouteResponse + 271, // 656: cln.Node.ListForwards:output_type -> cln.ListforwardsResponse + 274, // 657: cln.Node.ListOffers:output_type -> cln.ListoffersResponse + 277, // 658: cln.Node.ListPays:output_type -> cln.ListpaysResponse + 280, // 659: cln.Node.ListHtlcs:output_type -> cln.ListhtlcsResponse + 283, // 660: cln.Node.MultiFundChannel:output_type -> cln.MultifundchannelResponse + 290, // 661: cln.Node.MultiWithdraw:output_type -> cln.MultiwithdrawResponse + 292, // 662: cln.Node.Offer:output_type -> cln.OfferResponse + 294, // 663: cln.Node.OpenChannel_Abort:output_type -> cln.Openchannel_abortResponse + 296, // 664: cln.Node.OpenChannel_Bump:output_type -> cln.Openchannel_bumpResponse + 299, // 665: cln.Node.OpenChannel_Init:output_type -> cln.Openchannel_initResponse + 302, // 666: cln.Node.OpenChannel_Signed:output_type -> cln.Openchannel_signedResponse + 304, // 667: cln.Node.OpenChannel_Update:output_type -> cln.Openchannel_updateResponse + 307, // 668: cln.Node.Ping:output_type -> cln.PingResponse + 309, // 669: cln.Node.Plugin:output_type -> cln.PluginResponse + 312, // 670: cln.Node.RenePayStatus:output_type -> cln.RenepaystatusResponse + 315, // 671: cln.Node.RenePay:output_type -> cln.RenepayResponse + 317, // 672: cln.Node.ReserveInputs:output_type -> cln.ReserveinputsResponse + 320, // 673: cln.Node.SendCustomMsg:output_type -> cln.SendcustommsgResponse + 322, // 674: cln.Node.SendInvoice:output_type -> cln.SendinvoiceResponse + 324, // 675: cln.Node.SendOnionMessage:output_type -> cln.SendonionmessageResponse + 327, // 676: cln.Node.SetChannel:output_type -> cln.SetchannelResponse + 330, // 677: cln.Node.SetConfig:output_type -> cln.SetconfigResponse + 333, // 678: cln.Node.SetPsbtVersion:output_type -> cln.SetpsbtversionResponse + 335, // 679: cln.Node.SignInvoice:output_type -> cln.SigninvoiceResponse + 337, // 680: cln.Node.SignMessage:output_type -> cln.SignmessageResponse + 339, // 681: cln.Node.Splice_Init:output_type -> cln.Splice_initResponse + 341, // 682: cln.Node.Splice_Signed:output_type -> cln.Splice_signedResponse + 343, // 683: cln.Node.Splice_Update:output_type -> cln.Splice_updateResponse + 345, // 684: cln.Node.UnreserveInputs:output_type -> cln.UnreserveinputsResponse + 348, // 685: cln.Node.UpgradeWallet:output_type -> cln.UpgradewalletResponse + 350, // 686: cln.Node.WaitBlockHeight:output_type -> cln.WaitblockheightResponse + 352, // 687: cln.Node.Wait:output_type -> cln.WaitResponse + 355, // 688: cln.Node.ListConfigs:output_type -> cln.ListconfigsResponse + 432, // 689: cln.Node.Stop:output_type -> cln.StopResponse + 434, // 690: cln.Node.Help:output_type -> cln.HelpResponse + 437, // 691: cln.Node.PreApproveKeysend:output_type -> cln.PreapprovekeysendResponse + 439, // 692: cln.Node.PreApproveInvoice:output_type -> cln.PreapproveinvoiceResponse + 441, // 693: cln.Node.StaticBackup:output_type -> cln.StaticbackupResponse + 443, // 694: cln.Node.BkprChannelsApy:output_type -> cln.BkprchannelsapyResponse + 446, // 695: cln.Node.BkprDumpIncomeCsv:output_type -> cln.BkprdumpincomecsvResponse + 448, // 696: cln.Node.BkprInspect:output_type -> cln.BkprinspectResponse + 452, // 697: cln.Node.BkprListAccountEvents:output_type -> cln.BkprlistaccounteventsResponse + 455, // 698: cln.Node.BkprListBalances:output_type -> cln.BkprlistbalancesResponse + 459, // 699: cln.Node.BkprListIncome:output_type -> cln.BkprlistincomeResponse + 462, // 700: cln.Node.BlacklistRune:output_type -> cln.BlacklistruneResponse + 465, // 701: cln.Node.CheckRune:output_type -> cln.CheckruneResponse + 467, // 702: cln.Node.CreateRune:output_type -> cln.CreateruneResponse + 469, // 703: cln.Node.ShowRunes:output_type -> cln.ShowrunesResponse + 474, // 704: cln.Node.SubscribeBlockAdded:output_type -> cln.BlockAddedNotification + 476, // 705: cln.Node.SubscribeChannelOpenFailed:output_type -> cln.ChannelOpenFailedNotification + 478, // 706: cln.Node.SubscribeChannelOpened:output_type -> cln.ChannelOpenedNotification + 480, // 707: cln.Node.SubscribeConnect:output_type -> cln.PeerConnectNotification + 483, // 708: cln.Node.SubscribeCustomMsg:output_type -> cln.CustomMsgNotification + 591, // [591:709] is the sub-list for method output_type + 473, // [473:591] is the sub-list for method input_type + 473, // [473:473] is the sub-list for extension type_name + 473, // [473:473] is the sub-list for extension extendee + 0, // [0:473] is the sub-list for field type_name } func init() { file_node_proto_init() } @@ -23137,8 +42841,2576 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetinfoResponse); i { + file_node_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetinfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetinfoOurFeatures); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetinfoAddress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetinfoBinding); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeersPeers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeersPeersLog); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListfundsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListfundsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListfundsOutputs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListfundsChannels); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendpayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendpayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendpayRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListchannelsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListchannelsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListchannelsChannels); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddgossipRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddgossipResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddpsbtoutputRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddpsbtoutputResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleaninvoiceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleaninvoiceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanonceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanonceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanonceAutoclean); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanonceAutocleanSucceededforwards); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanonceAutocleanFailedforwards); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanonceAutocleanSucceededpays); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanonceAutocleanFailedpays); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanonceAutocleanPaidinvoices); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanonceAutocleanExpiredinvoices); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanstatusRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanstatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanstatusAutoclean); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanstatusAutocleanSucceededforwards); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanstatusAutocleanFailedforwards); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanstatusAutocleanSucceededpays); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanstatusAutocleanFailedpays); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanstatusAutocleanPaidinvoices); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AutocleanstatusAutocleanExpiredinvoices); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckmessageRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckmessageResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloseRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloseResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConnectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConnectResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConnectAddress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateinvoiceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateinvoiceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateinvoicePaidOutpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DatastoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DatastoreResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DatastoreusageRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DatastoreusageResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DatastoreusageDatastoreusage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateonionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateonionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateonionHops); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeldatastoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeldatastoreResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DelinvoiceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DelinvoiceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DevforgetchannelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DevforgetchannelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EmergencyrecoverRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EmergencyrecoverResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RecoverRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RecoverResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RecoverchannelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RecoverchannelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InvoiceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InvoiceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InvoicerequestRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InvoicerequestResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableinvoicerequestRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableinvoicerequestResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListinvoicerequestsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListinvoicerequestsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListinvoicerequestsInvoicerequests); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListdatastoreRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListdatastoreResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListdatastoreDatastore); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListinvoicesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListinvoicesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListinvoicesInvoices); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListinvoicesInvoicesPaidOutpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendonionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendonionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendonionFirstHop); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListsendpaysRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListsendpaysResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListsendpaysPayments); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListtransactionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListtransactionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListtransactionsTransactions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListtransactionsTransactionsInputs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListtransactionsTransactionsOutputs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MakesecretRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MakesecretResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListnodesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListnodesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListnodesNodes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListnodesNodesOptionWillFund); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListnodesNodesAddresses); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaitanyinvoiceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaitanyinvoiceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaitanyinvoicePaidOutpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaitinvoiceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaitinvoiceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaitinvoicePaidOutpoint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaitsendpayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaitsendpayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewaddrRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NewaddrResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WithdrawRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WithdrawResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KeysendRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KeysendResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundpsbtRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundpsbtResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundpsbtReservations); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendpsbtRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendpsbtResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SignpsbtRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SignpsbtResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UtxopsbtRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UtxopsbtResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UtxopsbtReservations); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TxdiscardRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TxdiscardResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TxprepareRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TxprepareResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TxsendRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TxsendResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeerchannelsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeerchannelsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeerchannelsChannels); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeerchannelsChannelsUpdates); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeerchannelsChannelsUpdatesLocal); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeerchannelsChannelsUpdatesRemote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeerchannelsChannelsFeerate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeerchannelsChannelsInflight); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeerchannelsChannelsFunding); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeerchannelsChannelsAlias); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpeerchannelsChannelsHtlcs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListclosedchannelsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListclosedchannelsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListclosedchannelsClosedchannels); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListclosedchannelsClosedchannelsAlias); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodepayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodepayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodepayFallbacks); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodepayExtra); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodeOfferPaths); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodeOfferRecurrencePaywindow); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodeInvoicePathsPath); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodeInvoiceFallbacks); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodeFallbacks); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodeExtra); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodeRestrictions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DelpayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DelpayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DelpayPayments); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DelforwardRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DelforwardResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableofferRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisableofferResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisconnectRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DisconnectResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeeratesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeeratesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeeratesPerkb); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeeratesPerkbEstimates); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeeratesPerkw); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeeratesPerkwEstimates); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FeeratesOnchainFeeEstimates); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FetchinvoiceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FetchinvoiceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FetchinvoiceChanges); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FetchinvoiceNextPeriod); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundchannelCancelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundchannelCancelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundchannelCompleteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundchannelCompleteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundchannelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundchannelResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundchannelChannelType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundchannelStartRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundchannelStartResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FundchannelStartChannelType); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetlogRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetlogResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetlogLog); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FunderupdateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[201].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FunderupdateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[202].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetrouteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[203].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetrouteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[204].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetrouteRoute); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[205].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListforwardsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[206].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListforwardsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[207].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListforwardsForwards); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[208].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListoffersRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[209].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListoffersResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[210].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListoffersOffers); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[211].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpaysRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[212].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpaysResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[213].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListpaysPays); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[214].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListhtlcsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[215].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListhtlcsResponse); i { case 0: return &v.state case 1: @@ -23149,8 +45421,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetinfoOurFeatures); i { + file_node_proto_msgTypes[216].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListhtlcsHtlcs); i { case 0: return &v.state case 1: @@ -23161,8 +45433,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetinfoAddress); i { + file_node_proto_msgTypes[217].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MultifundchannelRequest); i { case 0: return &v.state case 1: @@ -23173,8 +45445,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetinfoBinding); i { + file_node_proto_msgTypes[218].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MultifundchannelResponse); i { case 0: return &v.state case 1: @@ -23185,8 +45457,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeersRequest); i { + file_node_proto_msgTypes[219].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MultifundchannelDestinations); i { case 0: return &v.state case 1: @@ -23197,8 +45469,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeersResponse); i { + file_node_proto_msgTypes[220].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MultifundchannelChannelIds); i { case 0: return &v.state case 1: @@ -23209,8 +45481,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeersPeers); i { + file_node_proto_msgTypes[221].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MultifundchannelChannelIdsChannelType); i { case 0: return &v.state case 1: @@ -23221,8 +45493,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeersPeersLog); i { + file_node_proto_msgTypes[222].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MultifundchannelFailed); i { case 0: return &v.state case 1: @@ -23233,8 +45505,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeersPeersChannels); i { + file_node_proto_msgTypes[223].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MultifundchannelFailedError); i { case 0: return &v.state case 1: @@ -23245,8 +45517,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeersPeersChannelsFeerate); i { + file_node_proto_msgTypes[224].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MultiwithdrawRequest); i { case 0: return &v.state case 1: @@ -23257,8 +45529,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeersPeersChannelsInflight); i { + file_node_proto_msgTypes[225].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MultiwithdrawResponse); i { case 0: return &v.state case 1: @@ -23269,8 +45541,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeersPeersChannelsFunding); i { + file_node_proto_msgTypes[226].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OfferRequest); i { case 0: return &v.state case 1: @@ -23281,8 +45553,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeersPeersChannelsAlias); i { + file_node_proto_msgTypes[227].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OfferResponse); i { case 0: return &v.state case 1: @@ -23293,8 +45565,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeersPeersChannelsHtlcs); i { + file_node_proto_msgTypes[228].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpenchannelAbortRequest); i { case 0: return &v.state case 1: @@ -23305,8 +45577,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListfundsRequest); i { + file_node_proto_msgTypes[229].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpenchannelAbortResponse); i { case 0: return &v.state case 1: @@ -23317,8 +45589,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListfundsResponse); i { + file_node_proto_msgTypes[230].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpenchannelBumpRequest); i { case 0: return &v.state case 1: @@ -23329,8 +45601,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListfundsOutputs); i { + file_node_proto_msgTypes[231].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpenchannelBumpResponse); i { case 0: return &v.state case 1: @@ -23341,8 +45613,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListfundsChannels); i { + file_node_proto_msgTypes[232].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpenchannelBumpChannelType); i { case 0: return &v.state case 1: @@ -23353,8 +45625,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendpayRequest); i { + file_node_proto_msgTypes[233].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpenchannelInitRequest); i { case 0: return &v.state case 1: @@ -23365,8 +45637,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendpayResponse); i { + file_node_proto_msgTypes[234].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpenchannelInitResponse); i { case 0: return &v.state case 1: @@ -23377,8 +45649,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendpayRoute); i { + file_node_proto_msgTypes[235].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpenchannelInitChannelType); i { case 0: return &v.state case 1: @@ -23389,8 +45661,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListchannelsRequest); i { + file_node_proto_msgTypes[236].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpenchannelSignedRequest); i { case 0: return &v.state case 1: @@ -23401,8 +45673,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListchannelsResponse); i { + file_node_proto_msgTypes[237].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpenchannelSignedResponse); i { case 0: return &v.state case 1: @@ -23413,8 +45685,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListchannelsChannels); i { + file_node_proto_msgTypes[238].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpenchannelUpdateRequest); i { case 0: return &v.state case 1: @@ -23425,8 +45697,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddgossipRequest); i { + file_node_proto_msgTypes[239].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpenchannelUpdateResponse); i { case 0: return &v.state case 1: @@ -23437,8 +45709,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddgossipResponse); i { + file_node_proto_msgTypes[240].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OpenchannelUpdateChannelType); i { case 0: return &v.state case 1: @@ -23449,8 +45721,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutocleaninvoiceRequest); i { + file_node_proto_msgTypes[241].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PingRequest); i { case 0: return &v.state case 1: @@ -23461,8 +45733,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AutocleaninvoiceResponse); i { + file_node_proto_msgTypes[242].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PingResponse); i { case 0: return &v.state case 1: @@ -23473,8 +45745,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CheckmessageRequest); i { + file_node_proto_msgTypes[243].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PluginRequest); i { case 0: return &v.state case 1: @@ -23485,8 +45757,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CheckmessageResponse); i { + file_node_proto_msgTypes[244].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PluginResponse); i { case 0: return &v.state case 1: @@ -23497,8 +45769,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloseRequest); i { + file_node_proto_msgTypes[245].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PluginPlugins); i { case 0: return &v.state case 1: @@ -23509,8 +45781,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloseResponse); i { + file_node_proto_msgTypes[246].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RenepaystatusRequest); i { case 0: return &v.state case 1: @@ -23521,8 +45793,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConnectRequest); i { + file_node_proto_msgTypes[247].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RenepaystatusResponse); i { case 0: return &v.state case 1: @@ -23533,8 +45805,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConnectResponse); i { + file_node_proto_msgTypes[248].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RenepaystatusPaystatus); i { case 0: return &v.state case 1: @@ -23545,8 +45817,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConnectAddress); i { + file_node_proto_msgTypes[249].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RenepayRequest); i { case 0: return &v.state case 1: @@ -23557,8 +45829,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateinvoiceRequest); i { + file_node_proto_msgTypes[250].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RenepayResponse); i { case 0: return &v.state case 1: @@ -23569,8 +45841,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateinvoiceResponse); i { + file_node_proto_msgTypes[251].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReserveinputsRequest); i { case 0: return &v.state case 1: @@ -23581,8 +45853,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateinvoicePaidOutpoint); i { + file_node_proto_msgTypes[252].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReserveinputsResponse); i { case 0: return &v.state case 1: @@ -23593,8 +45865,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DatastoreRequest); i { + file_node_proto_msgTypes[253].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReserveinputsReservations); i { case 0: return &v.state case 1: @@ -23605,8 +45877,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DatastoreResponse); i { + file_node_proto_msgTypes[254].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendcustommsgRequest); i { case 0: return &v.state case 1: @@ -23617,8 +45889,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DatastoreusageRequest); i { + file_node_proto_msgTypes[255].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendcustommsgResponse); i { case 0: return &v.state case 1: @@ -23629,8 +45901,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DatastoreusageResponse); i { + file_node_proto_msgTypes[256].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendinvoiceRequest); i { case 0: return &v.state case 1: @@ -23641,8 +45913,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DatastoreusageDatastoreusage); i { + file_node_proto_msgTypes[257].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendinvoiceResponse); i { case 0: return &v.state case 1: @@ -23653,8 +45925,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateonionRequest); i { + file_node_proto_msgTypes[258].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendonionmessageRequest); i { case 0: return &v.state case 1: @@ -23665,8 +45937,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateonionResponse); i { + file_node_proto_msgTypes[259].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendonionmessageResponse); i { case 0: return &v.state case 1: @@ -23677,8 +45949,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateonionHops); i { + file_node_proto_msgTypes[260].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendonionmessageHops); i { case 0: return &v.state case 1: @@ -23689,8 +45961,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeldatastoreRequest); i { + file_node_proto_msgTypes[261].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetchannelRequest); i { case 0: return &v.state case 1: @@ -23701,8 +45973,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeldatastoreResponse); i { + file_node_proto_msgTypes[262].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetchannelResponse); i { case 0: return &v.state case 1: @@ -23713,8 +45985,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DelexpiredinvoiceRequest); i { + file_node_proto_msgTypes[263].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetchannelChannels); i { case 0: return &v.state case 1: @@ -23725,8 +45997,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DelexpiredinvoiceResponse); i { + file_node_proto_msgTypes[264].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetconfigRequest); i { case 0: return &v.state case 1: @@ -23737,8 +46009,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DelinvoiceRequest); i { + file_node_proto_msgTypes[265].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetconfigResponse); i { case 0: return &v.state case 1: @@ -23749,8 +46021,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DelinvoiceResponse); i { + file_node_proto_msgTypes[266].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetconfigConfig); i { case 0: return &v.state case 1: @@ -23761,8 +46033,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InvoiceRequest); i { + file_node_proto_msgTypes[267].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetpsbtversionRequest); i { case 0: return &v.state case 1: @@ -23773,8 +46045,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InvoiceResponse); i { + file_node_proto_msgTypes[268].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetpsbtversionResponse); i { case 0: return &v.state case 1: @@ -23785,8 +46057,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListdatastoreRequest); i { + file_node_proto_msgTypes[269].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SigninvoiceRequest); i { case 0: return &v.state case 1: @@ -23797,8 +46069,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListdatastoreResponse); i { + file_node_proto_msgTypes[270].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SigninvoiceResponse); i { case 0: return &v.state case 1: @@ -23809,8 +46081,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListdatastoreDatastore); i { + file_node_proto_msgTypes[271].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SignmessageRequest); i { case 0: return &v.state case 1: @@ -23821,8 +46093,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListinvoicesRequest); i { + file_node_proto_msgTypes[272].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SignmessageResponse); i { case 0: return &v.state case 1: @@ -23833,8 +46105,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListinvoicesResponse); i { + file_node_proto_msgTypes[273].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpliceInitRequest); i { case 0: return &v.state case 1: @@ -23845,8 +46117,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListinvoicesInvoices); i { + file_node_proto_msgTypes[274].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpliceInitResponse); i { case 0: return &v.state case 1: @@ -23857,8 +46129,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListinvoicesInvoicesPaidOutpoint); i { + file_node_proto_msgTypes[275].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpliceSignedRequest); i { case 0: return &v.state case 1: @@ -23869,8 +46141,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendonionRequest); i { + file_node_proto_msgTypes[276].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpliceSignedResponse); i { case 0: return &v.state case 1: @@ -23881,8 +46153,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendonionResponse); i { + file_node_proto_msgTypes[277].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpliceUpdateRequest); i { case 0: return &v.state case 1: @@ -23893,8 +46165,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendonionFirstHop); i { + file_node_proto_msgTypes[278].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SpliceUpdateResponse); i { case 0: return &v.state case 1: @@ -23905,8 +46177,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListsendpaysRequest); i { + file_node_proto_msgTypes[279].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnreserveinputsRequest); i { case 0: return &v.state case 1: @@ -23917,8 +46189,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListsendpaysResponse); i { + file_node_proto_msgTypes[280].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnreserveinputsResponse); i { case 0: return &v.state case 1: @@ -23929,8 +46201,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListsendpaysPayments); i { + file_node_proto_msgTypes[281].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UnreserveinputsReservations); i { case 0: return &v.state case 1: @@ -23941,8 +46213,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListtransactionsRequest); i { + file_node_proto_msgTypes[282].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpgradewalletRequest); i { case 0: return &v.state case 1: @@ -23953,8 +46225,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListtransactionsResponse); i { + file_node_proto_msgTypes[283].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpgradewalletResponse); i { case 0: return &v.state case 1: @@ -23965,8 +46237,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListtransactionsTransactions); i { + file_node_proto_msgTypes[284].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaitblockheightRequest); i { case 0: return &v.state case 1: @@ -23977,8 +46249,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListtransactionsTransactionsInputs); i { + file_node_proto_msgTypes[285].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaitblockheightResponse); i { case 0: return &v.state case 1: @@ -23989,8 +46261,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListtransactionsTransactionsOutputs); i { + file_node_proto_msgTypes[286].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaitRequest); i { case 0: return &v.state case 1: @@ -24001,8 +46273,116 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayRequest); i { + file_node_proto_msgTypes[287].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaitResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[288].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WaitDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[289].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[290].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[291].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[292].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsConf); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[293].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsDeveloper); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[294].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsClearplugins); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[295].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsDisablempp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_node_proto_msgTypes[296].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsMainnet); i { case 0: return &v.state case 1: @@ -24013,8 +46393,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayResponse); i { + file_node_proto_msgTypes[297].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsRegtest); i { case 0: return &v.state case 1: @@ -24025,8 +46405,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListnodesRequest); i { + file_node_proto_msgTypes[298].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsSignet); i { case 0: return &v.state case 1: @@ -24037,8 +46417,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListnodesResponse); i { + file_node_proto_msgTypes[299].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsTestnet); i { case 0: return &v.state case 1: @@ -24049,8 +46429,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListnodesNodes); i { + file_node_proto_msgTypes[300].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsImportantplugin); i { case 0: return &v.state case 1: @@ -24061,8 +46441,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListnodesNodesAddresses); i { + file_node_proto_msgTypes[301].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsPlugin); i { case 0: return &v.state case 1: @@ -24073,8 +46453,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaitanyinvoiceRequest); i { + file_node_proto_msgTypes[302].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsPlugindir); i { case 0: return &v.state case 1: @@ -24085,8 +46465,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaitanyinvoiceResponse); i { + file_node_proto_msgTypes[303].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsLightningdir); i { case 0: return &v.state case 1: @@ -24097,8 +46477,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaitanyinvoicePaidOutpoint); i { + file_node_proto_msgTypes[304].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsNetwork); i { case 0: return &v.state case 1: @@ -24109,8 +46489,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaitinvoiceRequest); i { + file_node_proto_msgTypes[305].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsAllowdeprecatedapis); i { case 0: return &v.state case 1: @@ -24121,8 +46501,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaitinvoiceResponse); i { + file_node_proto_msgTypes[306].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsRpcfile); i { case 0: return &v.state case 1: @@ -24133,8 +46513,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaitinvoicePaidOutpoint); i { + file_node_proto_msgTypes[307].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsDisableplugin); i { case 0: return &v.state case 1: @@ -24145,8 +46525,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaitsendpayRequest); i { + file_node_proto_msgTypes[308].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsAlwaysuseproxy); i { case 0: return &v.state case 1: @@ -24157,8 +46537,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaitsendpayResponse); i { + file_node_proto_msgTypes[309].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsDaemon); i { case 0: return &v.state case 1: @@ -24169,8 +46549,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewaddrRequest); i { + file_node_proto_msgTypes[310].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsWallet); i { case 0: return &v.state case 1: @@ -24181,8 +46561,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewaddrResponse); i { + file_node_proto_msgTypes[311].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsLargechannels); i { case 0: return &v.state case 1: @@ -24193,8 +46573,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WithdrawRequest); i { + file_node_proto_msgTypes[312].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsExperimentaldualfund); i { case 0: return &v.state case 1: @@ -24205,8 +46585,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WithdrawResponse); i { + file_node_proto_msgTypes[313].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsExperimentalsplicing); i { case 0: return &v.state case 1: @@ -24217,8 +46597,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeysendRequest); i { + file_node_proto_msgTypes[314].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsExperimentalonionmessages); i { case 0: return &v.state case 1: @@ -24229,8 +46609,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeysendResponse); i { + file_node_proto_msgTypes[315].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsExperimentaloffers); i { case 0: return &v.state case 1: @@ -24241,8 +46621,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundpsbtRequest); i { + file_node_proto_msgTypes[316].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsExperimentalshutdownwrongfunding); i { case 0: return &v.state case 1: @@ -24253,8 +46633,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundpsbtResponse); i { + file_node_proto_msgTypes[317].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsExperimentalpeerstorage); i { case 0: return &v.state case 1: @@ -24265,8 +46645,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundpsbtReservations); i { + file_node_proto_msgTypes[318].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsExperimentalanchors); i { case 0: return &v.state case 1: @@ -24277,8 +46657,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendpsbtRequest); i { + file_node_proto_msgTypes[319].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsDatabaseupgrade); i { case 0: return &v.state case 1: @@ -24289,8 +46669,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendpsbtResponse); i { + file_node_proto_msgTypes[320].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsRgb); i { case 0: return &v.state case 1: @@ -24301,8 +46681,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignpsbtRequest); i { + file_node_proto_msgTypes[321].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsAlias); i { case 0: return &v.state case 1: @@ -24313,8 +46693,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignpsbtResponse); i { + file_node_proto_msgTypes[322].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsPidfile); i { case 0: return &v.state case 1: @@ -24325,8 +46705,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UtxopsbtRequest); i { + file_node_proto_msgTypes[323].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsIgnorefeelimits); i { case 0: return &v.state case 1: @@ -24337,8 +46717,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UtxopsbtResponse); i { + file_node_proto_msgTypes[324].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsWatchtimeblocks); i { case 0: return &v.state case 1: @@ -24349,8 +46729,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UtxopsbtReservations); i { + file_node_proto_msgTypes[325].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsMaxlocktimeblocks); i { case 0: return &v.state case 1: @@ -24361,8 +46741,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TxdiscardRequest); i { + file_node_proto_msgTypes[326].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsFundingconfirms); i { case 0: return &v.state case 1: @@ -24373,8 +46753,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TxdiscardResponse); i { + file_node_proto_msgTypes[327].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsCltvdelta); i { case 0: return &v.state case 1: @@ -24385,8 +46765,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TxprepareRequest); i { + file_node_proto_msgTypes[328].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsCltvfinal); i { case 0: return &v.state case 1: @@ -24397,8 +46777,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TxprepareResponse); i { + file_node_proto_msgTypes[329].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsCommittime); i { case 0: return &v.state case 1: @@ -24409,8 +46789,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TxsendRequest); i { + file_node_proto_msgTypes[330].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsFeebase); i { case 0: return &v.state case 1: @@ -24421,8 +46801,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TxsendResponse); i { + file_node_proto_msgTypes[331].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsRescan); i { case 0: return &v.state case 1: @@ -24433,8 +46813,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeerchannelsRequest); i { + file_node_proto_msgTypes[332].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsFeepersatoshi); i { case 0: return &v.state case 1: @@ -24445,8 +46825,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeerchannelsResponse); i { + file_node_proto_msgTypes[333].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsMaxconcurrenthtlcs); i { case 0: return &v.state case 1: @@ -24457,8 +46837,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeerchannelsChannels); i { + file_node_proto_msgTypes[334].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsHtlcminimummsat); i { case 0: return &v.state case 1: @@ -24469,8 +46849,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeerchannelsChannelsUpdates); i { + file_node_proto_msgTypes[335].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsHtlcmaximummsat); i { case 0: return &v.state case 1: @@ -24481,8 +46861,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeerchannelsChannelsUpdatesLocal); i { + file_node_proto_msgTypes[336].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsMaxdusthtlcexposuremsat); i { case 0: return &v.state case 1: @@ -24493,8 +46873,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeerchannelsChannelsUpdatesRemote); i { + file_node_proto_msgTypes[337].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsMincapacitysat); i { case 0: return &v.state case 1: @@ -24505,8 +46885,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeerchannelsChannelsFeerate); i { + file_node_proto_msgTypes[338].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsAddr); i { case 0: return &v.state case 1: @@ -24517,8 +46897,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeerchannelsChannelsInflight); i { + file_node_proto_msgTypes[339].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsAnnounceaddr); i { case 0: return &v.state case 1: @@ -24529,8 +46909,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeerchannelsChannelsFunding); i { + file_node_proto_msgTypes[340].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsBindaddr); i { case 0: return &v.state case 1: @@ -24541,8 +46921,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeerchannelsChannelsAlias); i { + file_node_proto_msgTypes[341].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsOffline); i { case 0: return &v.state case 1: @@ -24553,8 +46933,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpeerchannelsChannelsHtlcs); i { + file_node_proto_msgTypes[342].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsAutolisten); i { case 0: return &v.state case 1: @@ -24565,8 +46945,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListclosedchannelsRequest); i { + file_node_proto_msgTypes[343].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsProxy); i { case 0: return &v.state case 1: @@ -24577,8 +46957,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListclosedchannelsResponse); i { + file_node_proto_msgTypes[344].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsDisabledns); i { case 0: return &v.state case 1: @@ -24589,8 +46969,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListclosedchannelsClosedchannels); i { + file_node_proto_msgTypes[345].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsAnnounceaddrdiscovered); i { case 0: return &v.state case 1: @@ -24601,8 +46981,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListclosedchannelsClosedchannelsAlias); i { + file_node_proto_msgTypes[346].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsAnnounceaddrdiscoveredport); i { case 0: return &v.state case 1: @@ -24613,8 +46993,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodepayRequest); i { + file_node_proto_msgTypes[347].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsEncryptedhsm); i { case 0: return &v.state case 1: @@ -24625,8 +47005,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodepayResponse); i { + file_node_proto_msgTypes[348].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsRpcfilemode); i { case 0: return &v.state case 1: @@ -24637,8 +47017,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodepayFallbacks); i { + file_node_proto_msgTypes[349].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsLoglevel); i { case 0: return &v.state case 1: @@ -24649,8 +47029,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodepayExtra); i { + file_node_proto_msgTypes[350].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsLogprefix); i { case 0: return &v.state case 1: @@ -24661,8 +47041,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodeRequest); i { + file_node_proto_msgTypes[351].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsLogfile); i { case 0: return &v.state case 1: @@ -24673,8 +47053,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodeResponse); i { + file_node_proto_msgTypes[352].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsLogtimestamps); i { case 0: return &v.state case 1: @@ -24685,8 +47065,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodeOfferPaths); i { + file_node_proto_msgTypes[353].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsForcefeerates); i { case 0: return &v.state case 1: @@ -24697,8 +47077,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodeOfferRecurrencePaywindow); i { + file_node_proto_msgTypes[354].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsSubdaemon); i { case 0: return &v.state case 1: @@ -24709,8 +47089,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodeInvoicePathsPath); i { + file_node_proto_msgTypes[355].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsFetchinvoicenoconnect); i { case 0: return &v.state case 1: @@ -24721,8 +47101,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodeInvoiceFallbacks); i { + file_node_proto_msgTypes[356].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsAccepthtlctlvtypes); i { case 0: return &v.state case 1: @@ -24733,8 +47113,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodeFallbacks); i { + file_node_proto_msgTypes[357].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsTorservicepassword); i { case 0: return &v.state case 1: @@ -24745,8 +47125,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodeExtra); i { + file_node_proto_msgTypes[358].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsAnnounceaddrdns); i { case 0: return &v.state case 1: @@ -24757,8 +47137,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DecodeRestrictions); i { + file_node_proto_msgTypes[359].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsRequireconfirmedinputs); i { case 0: return &v.state case 1: @@ -24769,8 +47149,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisconnectRequest); i { + file_node_proto_msgTypes[360].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsCommitfee); i { case 0: return &v.state case 1: @@ -24781,8 +47161,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisconnectResponse); i { + file_node_proto_msgTypes[361].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsConfigsCommitfeerateoffset); i { case 0: return &v.state case 1: @@ -24793,8 +47173,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FeeratesRequest); i { + file_node_proto_msgTypes[362].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsPlugins); i { case 0: return &v.state case 1: @@ -24805,8 +47185,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FeeratesResponse); i { + file_node_proto_msgTypes[363].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsPluginsOptions); i { case 0: return &v.state case 1: @@ -24817,8 +47197,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FeeratesPerkb); i { + file_node_proto_msgTypes[364].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsImportantplugins); i { case 0: return &v.state case 1: @@ -24829,8 +47209,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FeeratesPerkbEstimates); i { + file_node_proto_msgTypes[365].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListconfigsImportantpluginsOptions); i { case 0: return &v.state case 1: @@ -24841,8 +47221,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FeeratesPerkw); i { + file_node_proto_msgTypes[366].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StopRequest); i { case 0: return &v.state case 1: @@ -24853,8 +47233,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FeeratesPerkwEstimates); i { + file_node_proto_msgTypes[367].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StopResponse); i { case 0: return &v.state case 1: @@ -24865,8 +47245,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FeeratesOnchainFeeEstimates); i { + file_node_proto_msgTypes[368].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HelpRequest); i { case 0: return &v.state case 1: @@ -24877,8 +47257,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FetchinvoiceRequest); i { + file_node_proto_msgTypes[369].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HelpResponse); i { case 0: return &v.state case 1: @@ -24889,8 +47269,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FetchinvoiceResponse); i { + file_node_proto_msgTypes[370].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HelpHelp); i { case 0: return &v.state case 1: @@ -24901,8 +47281,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FetchinvoiceChanges); i { + file_node_proto_msgTypes[371].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PreapprovekeysendRequest); i { case 0: return &v.state case 1: @@ -24913,8 +47293,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FetchinvoiceNextPeriod); i { + file_node_proto_msgTypes[372].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PreapprovekeysendResponse); i { case 0: return &v.state case 1: @@ -24925,8 +47305,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundchannelRequest); i { + file_node_proto_msgTypes[373].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PreapproveinvoiceRequest); i { case 0: return &v.state case 1: @@ -24937,8 +47317,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundchannelResponse); i { + file_node_proto_msgTypes[374].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PreapproveinvoiceResponse); i { case 0: return &v.state case 1: @@ -24949,8 +47329,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundchannelChannelType); i { + file_node_proto_msgTypes[375].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StaticbackupRequest); i { case 0: return &v.state case 1: @@ -24961,8 +47341,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetrouteRequest); i { + file_node_proto_msgTypes[376].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StaticbackupResponse); i { case 0: return &v.state case 1: @@ -24973,8 +47353,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetrouteResponse); i { + file_node_proto_msgTypes[377].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprchannelsapyRequest); i { case 0: return &v.state case 1: @@ -24985,8 +47365,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetrouteRoute); i { + file_node_proto_msgTypes[378].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprchannelsapyResponse); i { case 0: return &v.state case 1: @@ -24997,8 +47377,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListforwardsRequest); i { + file_node_proto_msgTypes[379].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprchannelsapyChannelsApy); i { case 0: return &v.state case 1: @@ -25009,8 +47389,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListforwardsResponse); i { + file_node_proto_msgTypes[380].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprdumpincomecsvRequest); i { case 0: return &v.state case 1: @@ -25021,8 +47401,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListforwardsForwards); i { + file_node_proto_msgTypes[381].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprdumpincomecsvResponse); i { case 0: return &v.state case 1: @@ -25033,8 +47413,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListoffersRequest); i { + file_node_proto_msgTypes[382].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprinspectRequest); i { case 0: return &v.state case 1: @@ -25045,8 +47425,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListoffersResponse); i { + file_node_proto_msgTypes[383].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprinspectResponse); i { case 0: return &v.state case 1: @@ -25057,8 +47437,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListoffersOffers); i { + file_node_proto_msgTypes[384].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprinspectTxs); i { case 0: return &v.state case 1: @@ -25069,8 +47449,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpaysRequest); i { + file_node_proto_msgTypes[385].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprinspectTxsOutputs); i { case 0: return &v.state case 1: @@ -25081,8 +47461,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpaysResponse); i { + file_node_proto_msgTypes[386].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprlistaccounteventsRequest); i { case 0: return &v.state case 1: @@ -25093,8 +47473,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListpaysPays); i { + file_node_proto_msgTypes[387].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprlistaccounteventsResponse); i { case 0: return &v.state case 1: @@ -25105,8 +47485,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListhtlcsRequest); i { + file_node_proto_msgTypes[388].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprlistaccounteventsEvents); i { case 0: return &v.state case 1: @@ -25117,8 +47497,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListhtlcsResponse); i { + file_node_proto_msgTypes[389].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprlistbalancesRequest); i { case 0: return &v.state case 1: @@ -25129,8 +47509,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListhtlcsHtlcs); i { + file_node_proto_msgTypes[390].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprlistbalancesResponse); i { case 0: return &v.state case 1: @@ -25141,8 +47521,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OfferRequest); i { + file_node_proto_msgTypes[391].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprlistbalancesAccounts); i { case 0: return &v.state case 1: @@ -25153,8 +47533,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OfferResponse); i { + file_node_proto_msgTypes[392].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprlistbalancesAccountsBalances); i { case 0: return &v.state case 1: @@ -25165,8 +47545,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PingRequest); i { + file_node_proto_msgTypes[393].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprlistincomeRequest); i { case 0: return &v.state case 1: @@ -25177,8 +47557,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PingResponse); i { + file_node_proto_msgTypes[394].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprlistincomeResponse); i { case 0: return &v.state case 1: @@ -25189,8 +47569,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendcustommsgRequest); i { + file_node_proto_msgTypes[395].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BkprlistincomeIncomeEvents); i { case 0: return &v.state case 1: @@ -25201,8 +47581,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendcustommsgResponse); i { + file_node_proto_msgTypes[396].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlacklistruneRequest); i { case 0: return &v.state case 1: @@ -25213,8 +47593,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetchannelRequest); i { + file_node_proto_msgTypes[397].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlacklistruneResponse); i { case 0: return &v.state case 1: @@ -25225,8 +47605,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetchannelResponse); i { + file_node_proto_msgTypes[398].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlacklistruneBlacklist); i { case 0: return &v.state case 1: @@ -25237,8 +47617,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetchannelChannels); i { + file_node_proto_msgTypes[399].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckruneRequest); i { case 0: return &v.state case 1: @@ -25249,8 +47629,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SigninvoiceRequest); i { + file_node_proto_msgTypes[400].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckruneResponse); i { case 0: return &v.state case 1: @@ -25261,8 +47641,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SigninvoiceResponse); i { + file_node_proto_msgTypes[401].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateruneRequest); i { case 0: return &v.state case 1: @@ -25273,8 +47653,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignmessageRequest); i { + file_node_proto_msgTypes[402].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateruneResponse); i { case 0: return &v.state case 1: @@ -25285,8 +47665,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignmessageResponse); i { + file_node_proto_msgTypes[403].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowrunesRequest); i { case 0: return &v.state case 1: @@ -25297,8 +47677,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaitblockheightRequest); i { + file_node_proto_msgTypes[404].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowrunesResponse); i { case 0: return &v.state case 1: @@ -25309,8 +47689,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaitblockheightResponse); i { + file_node_proto_msgTypes[405].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowrunesRunes); i { case 0: return &v.state case 1: @@ -25321,8 +47701,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaitRequest); i { + file_node_proto_msgTypes[406].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowrunesRunesRestrictions); i { case 0: return &v.state case 1: @@ -25333,8 +47713,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WaitResponse); i { + file_node_proto_msgTypes[407].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ShowrunesRunesRestrictionsAlternatives); i { case 0: return &v.state case 1: @@ -25345,8 +47725,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopRequest); i { + file_node_proto_msgTypes[408].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamBlockAddedRequest); i { case 0: return &v.state case 1: @@ -25357,8 +47737,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopResponse); i { + file_node_proto_msgTypes[409].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BlockAddedNotification); i { case 0: return &v.state case 1: @@ -25369,8 +47749,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PreapprovekeysendRequest); i { + file_node_proto_msgTypes[410].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamChannelOpenFailedRequest); i { case 0: return &v.state case 1: @@ -25381,8 +47761,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PreapprovekeysendResponse); i { + file_node_proto_msgTypes[411].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelOpenFailedNotification); i { case 0: return &v.state case 1: @@ -25393,8 +47773,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PreapproveinvoiceRequest); i { + file_node_proto_msgTypes[412].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamChannelOpenedRequest); i { case 0: return &v.state case 1: @@ -25405,8 +47785,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[190].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PreapproveinvoiceResponse); i { + file_node_proto_msgTypes[413].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelOpenedNotification); i { case 0: return &v.state case 1: @@ -25417,8 +47797,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[191].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StaticbackupRequest); i { + file_node_proto_msgTypes[414].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamConnectRequest); i { case 0: return &v.state case 1: @@ -25429,8 +47809,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[192].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StaticbackupResponse); i { + file_node_proto_msgTypes[415].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PeerConnectNotification); i { case 0: return &v.state case 1: @@ -25441,8 +47821,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[193].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BkprlistincomeRequest); i { + file_node_proto_msgTypes[416].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PeerConnectAddress); i { case 0: return &v.state case 1: @@ -25453,8 +47833,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BkprlistincomeResponse); i { + file_node_proto_msgTypes[417].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StreamCustomMsgRequest); i { case 0: return &v.state case 1: @@ -25465,8 +47845,8 @@ func file_node_proto_init() { return nil } } - file_node_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BkprlistincomeIncomeEvents); i { + file_node_proto_msgTypes[418].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CustomMsgNotification); i { case 0: return &v.state case 1: @@ -25489,123 +47869,185 @@ func file_node_proto_init() { file_node_proto_msgTypes[12].OneofWrappers = []interface{}{} file_node_proto_msgTypes[13].OneofWrappers = []interface{}{} file_node_proto_msgTypes[14].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[15].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[17].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[16].OneofWrappers = []interface{}{} file_node_proto_msgTypes[18].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[19].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[20].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[22].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[21].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[23].OneofWrappers = []interface{}{} file_node_proto_msgTypes[24].OneofWrappers = []interface{}{} file_node_proto_msgTypes[27].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[28].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[29].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[31].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[32].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[33].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[35].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[34].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[36].OneofWrappers = []interface{}{} file_node_proto_msgTypes[37].OneofWrappers = []interface{}{} file_node_proto_msgTypes[38].OneofWrappers = []interface{}{} file_node_proto_msgTypes[39].OneofWrappers = []interface{}{} file_node_proto_msgTypes[40].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[41].OneofWrappers = []interface{}{} file_node_proto_msgTypes[42].OneofWrappers = []interface{}{} file_node_proto_msgTypes[43].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[44].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[45].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[46].OneofWrappers = []interface{}{} file_node_proto_msgTypes[47].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[48].OneofWrappers = []interface{}{} file_node_proto_msgTypes[49].OneofWrappers = []interface{}{} file_node_proto_msgTypes[51].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[52].OneofWrappers = []interface{}{} file_node_proto_msgTypes[53].OneofWrappers = []interface{}{} file_node_proto_msgTypes[54].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[57].OneofWrappers = []interface{}{} file_node_proto_msgTypes[58].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[60].OneofWrappers = []interface{}{} file_node_proto_msgTypes[61].OneofWrappers = []interface{}{} file_node_proto_msgTypes[62].OneofWrappers = []interface{}{} file_node_proto_msgTypes[63].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[64].OneofWrappers = []interface{}{} file_node_proto_msgTypes[65].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[67].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[70].OneofWrappers = []interface{}{} file_node_proto_msgTypes[73].OneofWrappers = []interface{}{} file_node_proto_msgTypes[74].OneofWrappers = []interface{}{} file_node_proto_msgTypes[75].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[77].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[76].OneofWrappers = []interface{}{} file_node_proto_msgTypes[78].OneofWrappers = []interface{}{} file_node_proto_msgTypes[79].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[80].OneofWrappers = []interface{}{} file_node_proto_msgTypes[81].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[83].OneofWrappers = []interface{}{} file_node_proto_msgTypes[84].OneofWrappers = []interface{}{} file_node_proto_msgTypes[85].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[86].OneofWrappers = []interface{}{} file_node_proto_msgTypes[87].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[88].OneofWrappers = []interface{}{} file_node_proto_msgTypes[89].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[91].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[90].OneofWrappers = []interface{}{} file_node_proto_msgTypes[92].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[93].OneofWrappers = []interface{}{} file_node_proto_msgTypes[94].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[96].OneofWrappers = []interface{}{} file_node_proto_msgTypes[100].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[101].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[105].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[102].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[103].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[104].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[106].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[108].OneofWrappers = []interface{}{} file_node_proto_msgTypes[109].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[111].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[112].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[110].OneofWrappers = []interface{}{} file_node_proto_msgTypes[113].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[114].OneofWrappers = []interface{}{} file_node_proto_msgTypes[115].OneofWrappers = []interface{}{} file_node_proto_msgTypes[116].OneofWrappers = []interface{}{} file_node_proto_msgTypes[117].OneofWrappers = []interface{}{} file_node_proto_msgTypes[118].OneofWrappers = []interface{}{} file_node_proto_msgTypes[119].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[120].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[121].OneofWrappers = []interface{}{} file_node_proto_msgTypes[122].OneofWrappers = []interface{}{} file_node_proto_msgTypes[123].OneofWrappers = []interface{}{} file_node_proto_msgTypes[124].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[125].OneofWrappers = []interface{}{} file_node_proto_msgTypes[126].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[129].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[130].OneofWrappers = []interface{}{} file_node_proto_msgTypes[131].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[133].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[134].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[137].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[140].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[135].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[139].OneofWrappers = []interface{}{} file_node_proto_msgTypes[141].OneofWrappers = []interface{}{} file_node_proto_msgTypes[142].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[143].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[144].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[145].OneofWrappers = []interface{}{} file_node_proto_msgTypes[146].OneofWrappers = []interface{}{} file_node_proto_msgTypes[147].OneofWrappers = []interface{}{} file_node_proto_msgTypes[148].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[149].OneofWrappers = []interface{}{} file_node_proto_msgTypes[150].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[151].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[152].OneofWrappers = []interface{}{} file_node_proto_msgTypes[153].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[154].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[155].OneofWrappers = []interface{}{} file_node_proto_msgTypes[156].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[158].OneofWrappers = []interface{}{} file_node_proto_msgTypes[159].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[160].OneofWrappers = []interface{}{} file_node_proto_msgTypes[161].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[162].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[163].OneofWrappers = []interface{}{} file_node_proto_msgTypes[164].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[165].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[168].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[167].OneofWrappers = []interface{}{} file_node_proto_msgTypes[169].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[170].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[173].OneofWrappers = []interface{}{} file_node_proto_msgTypes[174].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[176].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[181].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[177].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[178].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[180].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[182].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[183].OneofWrappers = []interface{}{} file_node_proto_msgTypes[184].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[187].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[189].OneofWrappers = []interface{}{} - file_node_proto_msgTypes[193].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[185].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[191].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[192].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[194].OneofWrappers = []interface{}{} file_node_proto_msgTypes[195].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[197].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[199].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[200].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[201].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[202].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[205].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[207].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[208].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[210].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[211].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[213].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[214].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[217].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[219].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[220].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[224].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[226].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[227].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[230].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[231].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[233].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[234].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[239].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[241].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[243].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[244].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[246].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[248].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[249].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[250].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[251].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[256].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[257].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[261].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[263].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[264].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[266].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[273].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[275].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[279].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[281].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[282].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[283].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[284].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[287].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[288].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[289].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[290].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[291].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[295].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[337].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[362].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[364].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[367].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[368].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[369].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[377].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[379].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[380].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[384].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[385].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[386].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[388].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[391].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[393].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[395].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[396].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[399].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[401].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[402].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[403].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[405].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[413].OneofWrappers = []interface{}{} + file_node_proto_msgTypes[416].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_node_proto_rawDesc, - NumEnums: 44, - NumMessages: 196, + NumEnums: 65, + NumMessages: 419, NumExtensions: 0, NumServices: 1, }, diff --git a/cln/rpc/node.proto b/cln/rpc/node.proto index bd4f3b7a..6b2540c1 100644 --- a/cln/rpc/node.proto +++ b/cln/rpc/node.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package cln; option go_package = "github.com/breez/lspd/cln/rpc"; -// This file was taken from cln v24.02.1 +// This file was taken from cln v24.05 import "primitives.proto"; @@ -13,7 +13,10 @@ service Node { rpc SendPay(SendpayRequest) returns (SendpayResponse) {} rpc ListChannels(ListchannelsRequest) returns (ListchannelsResponse) {} rpc AddGossip(AddgossipRequest) returns (AddgossipResponse) {} + rpc AddPsbtOutput(AddpsbtoutputRequest) returns (AddpsbtoutputResponse) {} rpc AutoCleanInvoice(AutocleaninvoiceRequest) returns (AutocleaninvoiceResponse) {} + rpc AutoCleanOnce(AutocleanonceRequest) returns (AutocleanonceResponse) {} + rpc AutoCleanStatus(AutocleanstatusRequest) returns (AutocleanstatusResponse) {} rpc CheckMessage(CheckmessageRequest) returns (CheckmessageResponse) {} rpc Close(CloseRequest) returns (CloseResponse) {} rpc ConnectPeer(ConnectRequest) returns (ConnectResponse) {} @@ -22,14 +25,21 @@ service Node { rpc DatastoreUsage(DatastoreusageRequest) returns (DatastoreusageResponse) {} rpc CreateOnion(CreateonionRequest) returns (CreateonionResponse) {} rpc DelDatastore(DeldatastoreRequest) returns (DeldatastoreResponse) {} - rpc DelExpiredInvoice(DelexpiredinvoiceRequest) returns (DelexpiredinvoiceResponse) {} rpc DelInvoice(DelinvoiceRequest) returns (DelinvoiceResponse) {} + rpc DevForgetChannel(DevforgetchannelRequest) returns (DevforgetchannelResponse) {} + rpc EmergencyRecover(EmergencyrecoverRequest) returns (EmergencyrecoverResponse) {} + rpc Recover(RecoverRequest) returns (RecoverResponse) {} + rpc RecoverChannel(RecoverchannelRequest) returns (RecoverchannelResponse) {} rpc Invoice(InvoiceRequest) returns (InvoiceResponse) {} + rpc CreateInvoiceRequest(InvoicerequestRequest) returns (InvoicerequestResponse) {} + rpc DisableInvoiceRequest(DisableinvoicerequestRequest) returns (DisableinvoicerequestResponse) {} + rpc ListInvoiceRequests(ListinvoicerequestsRequest) returns (ListinvoicerequestsResponse) {} rpc ListDatastore(ListdatastoreRequest) returns (ListdatastoreResponse) {} rpc ListInvoices(ListinvoicesRequest) returns (ListinvoicesResponse) {} rpc SendOnion(SendonionRequest) returns (SendonionResponse) {} rpc ListSendPays(ListsendpaysRequest) returns (ListsendpaysResponse) {} rpc ListTransactions(ListtransactionsRequest) returns (ListtransactionsResponse) {} + rpc MakeSecret(MakesecretRequest) returns (MakesecretResponse) {} rpc Pay(PayRequest) returns (PayResponse) {} rpc ListNodes(ListnodesRequest) returns (ListnodesResponse) {} rpc WaitAnyInvoice(WaitanyinvoiceRequest) returns (WaitanyinvoiceResponse) {} @@ -49,28 +59,73 @@ service Node { rpc ListClosedChannels(ListclosedchannelsRequest) returns (ListclosedchannelsResponse) {} rpc DecodePay(DecodepayRequest) returns (DecodepayResponse) {} rpc Decode(DecodeRequest) returns (DecodeResponse) {} + rpc DelPay(DelpayRequest) returns (DelpayResponse) {} + rpc DelForward(DelforwardRequest) returns (DelforwardResponse) {} + rpc DisableOffer(DisableofferRequest) returns (DisableofferResponse) {} rpc Disconnect(DisconnectRequest) returns (DisconnectResponse) {} rpc Feerates(FeeratesRequest) returns (FeeratesResponse) {} rpc FetchInvoice(FetchinvoiceRequest) returns (FetchinvoiceResponse) {} + rpc FundChannel_Cancel(Fundchannel_cancelRequest) returns (Fundchannel_cancelResponse) {} + rpc FundChannel_Complete(Fundchannel_completeRequest) returns (Fundchannel_completeResponse) {} rpc FundChannel(FundchannelRequest) returns (FundchannelResponse) {} + rpc FundChannel_Start(Fundchannel_startRequest) returns (Fundchannel_startResponse) {} + rpc GetLog(GetlogRequest) returns (GetlogResponse) {} + rpc FunderUpdate(FunderupdateRequest) returns (FunderupdateResponse) {} rpc GetRoute(GetrouteRequest) returns (GetrouteResponse) {} rpc ListForwards(ListforwardsRequest) returns (ListforwardsResponse) {} rpc ListOffers(ListoffersRequest) returns (ListoffersResponse) {} rpc ListPays(ListpaysRequest) returns (ListpaysResponse) {} rpc ListHtlcs(ListhtlcsRequest) returns (ListhtlcsResponse) {} + rpc MultiFundChannel(MultifundchannelRequest) returns (MultifundchannelResponse) {} + rpc MultiWithdraw(MultiwithdrawRequest) returns (MultiwithdrawResponse) {} rpc Offer(OfferRequest) returns (OfferResponse) {} + rpc OpenChannel_Abort(Openchannel_abortRequest) returns (Openchannel_abortResponse) {} + rpc OpenChannel_Bump(Openchannel_bumpRequest) returns (Openchannel_bumpResponse) {} + rpc OpenChannel_Init(Openchannel_initRequest) returns (Openchannel_initResponse) {} + rpc OpenChannel_Signed(Openchannel_signedRequest) returns (Openchannel_signedResponse) {} + rpc OpenChannel_Update(Openchannel_updateRequest) returns (Openchannel_updateResponse) {} rpc Ping(PingRequest) returns (PingResponse) {} + rpc Plugin(PluginRequest) returns (PluginResponse) {} + rpc RenePayStatus(RenepaystatusRequest) returns (RenepaystatusResponse) {} + rpc RenePay(RenepayRequest) returns (RenepayResponse) {} + rpc ReserveInputs(ReserveinputsRequest) returns (ReserveinputsResponse) {} rpc SendCustomMsg(SendcustommsgRequest) returns (SendcustommsgResponse) {} + rpc SendInvoice(SendinvoiceRequest) returns (SendinvoiceResponse) {} + rpc SendOnionMessage(SendonionmessageRequest) returns (SendonionmessageResponse) {} rpc SetChannel(SetchannelRequest) returns (SetchannelResponse) {} + rpc SetConfig(SetconfigRequest) returns (SetconfigResponse) {} + rpc SetPsbtVersion(SetpsbtversionRequest) returns (SetpsbtversionResponse) {} rpc SignInvoice(SigninvoiceRequest) returns (SigninvoiceResponse) {} rpc SignMessage(SignmessageRequest) returns (SignmessageResponse) {} + rpc Splice_Init(Splice_initRequest) returns (Splice_initResponse) {} + rpc Splice_Signed(Splice_signedRequest) returns (Splice_signedResponse) {} + rpc Splice_Update(Splice_updateRequest) returns (Splice_updateResponse) {} + rpc UnreserveInputs(UnreserveinputsRequest) returns (UnreserveinputsResponse) {} + rpc UpgradeWallet(UpgradewalletRequest) returns (UpgradewalletResponse) {} rpc WaitBlockHeight(WaitblockheightRequest) returns (WaitblockheightResponse) {} rpc Wait(WaitRequest) returns (WaitResponse) {} + rpc ListConfigs(ListconfigsRequest) returns (ListconfigsResponse) {} rpc Stop(StopRequest) returns (StopResponse) {} + rpc Help(HelpRequest) returns (HelpResponse) {} rpc PreApproveKeysend(PreapprovekeysendRequest) returns (PreapprovekeysendResponse) {} rpc PreApproveInvoice(PreapproveinvoiceRequest) returns (PreapproveinvoiceResponse) {} rpc StaticBackup(StaticbackupRequest) returns (StaticbackupResponse) {} + rpc BkprChannelsApy(BkprchannelsapyRequest) returns (BkprchannelsapyResponse) {} + rpc BkprDumpIncomeCsv(BkprdumpincomecsvRequest) returns (BkprdumpincomecsvResponse) {} + rpc BkprInspect(BkprinspectRequest) returns (BkprinspectResponse) {} + rpc BkprListAccountEvents(BkprlistaccounteventsRequest) returns (BkprlistaccounteventsResponse) {} + rpc BkprListBalances(BkprlistbalancesRequest) returns (BkprlistbalancesResponse) {} rpc BkprListIncome(BkprlistincomeRequest) returns (BkprlistincomeResponse) {} + rpc BlacklistRune(BlacklistruneRequest) returns (BlacklistruneResponse) {} + rpc CheckRune(CheckruneRequest) returns (CheckruneResponse) {} + rpc CreateRune(CreateruneRequest) returns (CreateruneResponse) {} + rpc ShowRunes(ShowrunesRequest) returns (ShowrunesResponse) {} + + rpc SubscribeBlockAdded(StreamBlockAddedRequest) returns (stream BlockAddedNotification) {} + rpc SubscribeChannelOpenFailed(StreamChannelOpenFailedRequest) returns (stream ChannelOpenFailedNotification) {} + rpc SubscribeChannelOpened(StreamChannelOpenedRequest) returns (stream ChannelOpenedNotification) {} + rpc SubscribeConnect(StreamConnectRequest) returns (stream PeerConnectNotification) {} + rpc SubscribeCustomMsg(StreamCustomMsgRequest) returns (stream CustomMsgNotification) {} } message GetinfoRequest { @@ -121,21 +176,30 @@ message GetinfoBinding { // Getinfo.binding[].type enum GetinfoBindingType { LOCAL_SOCKET = 0; - WEBSOCKET = 5; IPV4 = 1; IPV6 = 2; TORV2 = 3; TORV3 = 4; + WEBSOCKET = 5; } GetinfoBindingType item_type = 1; optional string address = 2; optional uint32 port = 3; optional string socket = 4; + optional string subtype = 5; } message ListpeersRequest { + // ListPeers.level + enum ListpeersLevel { + IO = 0; + DEBUG = 1; + INFO = 2; + UNUSUAL = 3; + TRACE = 4; + } optional bytes id = 1; - optional string level = 2; + optional ListpeersLevel level = 2; } message ListpeersResponse { @@ -145,12 +209,11 @@ message ListpeersResponse { message ListpeersPeers { bytes id = 1; bool connected = 2; - optional uint32 num_channels = 8; repeated ListpeersPeersLog log = 3; - repeated ListpeersPeersChannels channels = 4; repeated string netaddr = 5; - optional string remote_addr = 7; optional bytes features = 6; + optional string remote_addr = 7; + optional uint32 num_channels = 8; } message ListpeersPeersLog { @@ -163,6 +226,7 @@ message ListpeersPeersLog { DEBUG = 4; IO_IN = 5; IO_OUT = 6; + TRACE = 7; } ListpeersPeersLogType item_type = 1; optional uint32 num_skipped = 2; @@ -173,118 +237,6 @@ message ListpeersPeersLog { optional bytes data = 7; } -message ListpeersPeersChannels { - // ListPeers.peers[].channels[].state - enum ListpeersPeersChannelsState { - OPENINGD = 0; - CHANNELD_AWAITING_LOCKIN = 1; - CHANNELD_NORMAL = 2; - CHANNELD_SHUTTING_DOWN = 3; - CLOSINGD_SIGEXCHANGE = 4; - CLOSINGD_COMPLETE = 5; - AWAITING_UNILATERAL = 6; - FUNDING_SPEND_SEEN = 7; - ONCHAIN = 8; - DUALOPEND_OPEN_INIT = 9; - DUALOPEND_AWAITING_LOCKIN = 10; - DUALOPEND_OPEN_COMMITTED = 11; - DUALOPEND_OPEN_COMMIT_READY = 12; - } - ListpeersPeersChannelsState state = 1; - optional bytes scratch_txid = 2; - optional ListpeersPeersChannelsFeerate feerate = 3; - optional string owner = 4; - optional string short_channel_id = 5; - optional bytes channel_id = 6; - optional bytes funding_txid = 7; - optional uint32 funding_outnum = 8; - optional string initial_feerate = 9; - optional string last_feerate = 10; - optional string next_feerate = 11; - optional uint32 next_fee_step = 12; - repeated ListpeersPeersChannelsInflight inflight = 13; - optional bytes close_to = 14; - optional bool private = 15; - ChannelSide opener = 16; - optional ChannelSide closer = 17; - repeated string features = 18; - optional ListpeersPeersChannelsFunding funding = 19; - optional Amount to_us_msat = 20; - optional Amount min_to_us_msat = 21; - optional Amount max_to_us_msat = 22; - optional Amount total_msat = 23; - optional Amount fee_base_msat = 24; - optional uint32 fee_proportional_millionths = 25; - optional Amount dust_limit_msat = 26; - optional Amount max_total_htlc_in_msat = 27; - optional Amount their_reserve_msat = 28; - optional Amount our_reserve_msat = 29; - optional Amount spendable_msat = 30; - optional Amount receivable_msat = 31; - optional Amount minimum_htlc_in_msat = 32; - optional Amount minimum_htlc_out_msat = 48; - optional Amount maximum_htlc_out_msat = 49; - optional uint32 their_to_self_delay = 33; - optional uint32 our_to_self_delay = 34; - optional uint32 max_accepted_htlcs = 35; - optional ListpeersPeersChannelsAlias alias = 50; - repeated string status = 37; - optional uint64 in_payments_offered = 38; - optional Amount in_offered_msat = 39; - optional uint64 in_payments_fulfilled = 40; - optional Amount in_fulfilled_msat = 41; - optional uint64 out_payments_offered = 42; - optional Amount out_offered_msat = 43; - optional uint64 out_payments_fulfilled = 44; - optional Amount out_fulfilled_msat = 45; - repeated ListpeersPeersChannelsHtlcs htlcs = 46; - optional string close_to_addr = 47; -} - -message ListpeersPeersChannelsFeerate { - uint32 perkw = 1; - uint32 perkb = 2; -} - -message ListpeersPeersChannelsInflight { - bytes funding_txid = 1; - uint32 funding_outnum = 2; - string feerate = 3; - Amount total_funding_msat = 4; - Amount our_funding_msat = 5; - optional sint64 splice_amount = 7; - bytes scratch_txid = 6; -} - -message ListpeersPeersChannelsFunding { - optional Amount pushed_msat = 3; - Amount local_funds_msat = 4; - Amount remote_funds_msat = 7; - optional Amount fee_paid_msat = 5; - optional Amount fee_rcvd_msat = 6; -} - -message ListpeersPeersChannelsAlias { - optional string local = 1; - optional string remote = 2; -} - -message ListpeersPeersChannelsHtlcs { - // ListPeers.peers[].channels[].htlcs[].direction - enum ListpeersPeersChannelsHtlcsDirection { - IN = 0; - OUT = 1; - } - ListpeersPeersChannelsHtlcsDirection direction = 1; - uint64 id = 2; - Amount amount_msat = 3; - uint32 expiry = 4; - bytes payment_hash = 5; - optional bool local_trimmed = 6; - optional string status = 7; - HtlcState state = 8; -} - message ListfundsRequest { optional bool spent = 1; } @@ -309,8 +261,9 @@ message ListfundsOutputs { optional string address = 5; optional bytes redeemscript = 6; ListfundsOutputsStatus status = 7; - bool reserved = 9; optional uint32 blockheight = 8; + bool reserved = 9; + optional uint32 reserved_to_block = 10; } message ListfundsChannels { @@ -321,20 +274,22 @@ message ListfundsChannels { uint32 funding_output = 5; bool connected = 6; ChannelState state = 7; - optional bytes channel_id = 9; optional string short_channel_id = 8; + optional bytes channel_id = 9; } message SendpayRequest { repeated SendpayRoute route = 1; bytes payment_hash = 2; optional string label = 3; - optional Amount amount_msat = 10; optional string bolt11 = 5; optional bytes payment_secret = 6; - optional uint32 partid = 7; - optional bytes localinvreqid = 11; + optional uint64 partid = 7; optional uint64 groupid = 9; + optional Amount amount_msat = 10; + optional bytes localinvreqid = 11; + optional bytes payment_metadata = 12; + optional string description = 13; } message SendpayResponse { @@ -343,8 +298,6 @@ message SendpayResponse { PENDING = 0; COMPLETE = 1; } - optional uint64 created_index = 16; - optional uint64 updated_index = 17; uint64 id = 1; optional uint64 groupid = 2; bytes payment_hash = 3; @@ -352,7 +305,6 @@ message SendpayResponse { optional Amount amount_msat = 5; optional bytes destination = 6; uint64 created_at = 7; - optional uint64 completed_at = 15; Amount amount_sent_msat = 8; optional string label = 9; optional uint64 partid = 10; @@ -360,13 +312,16 @@ message SendpayResponse { optional string bolt12 = 12; optional bytes payment_preimage = 13; optional string message = 14; + optional uint64 completed_at = 15; + optional uint64 created_index = 16; + optional uint64 updated_index = 17; } message SendpayRoute { - Amount amount_msat = 5; bytes id = 2; uint32 delay = 3; string channel = 4; + Amount amount_msat = 5; } message ListchannelsRequest { @@ -383,7 +338,6 @@ message ListchannelsChannels { bytes source = 1; bytes destination = 2; string short_channel_id = 3; - uint32 direction = 16; bool public = 4; Amount amount_msat = 5; uint32 message_flags = 6; @@ -396,6 +350,7 @@ message ListchannelsChannels { Amount htlc_minimum_msat = 13; optional Amount htlc_maximum_msat = 14; bytes features = 15; + uint32 direction = 16; } message AddgossipRequest { @@ -405,6 +360,19 @@ message AddgossipRequest { message AddgossipResponse { } +message AddpsbtoutputRequest { + Amount satoshi = 1; + optional uint32 locktime = 2; + optional string initialpsbt = 3; + optional string destination = 4; +} + +message AddpsbtoutputResponse { + string psbt = 1; + uint32 estimated_added_weight = 2; + uint32 outnum = 3; +} + message AutocleaninvoiceRequest { optional uint64 expired_by = 1; optional uint64 cycle_seconds = 2; @@ -416,6 +384,107 @@ message AutocleaninvoiceResponse { optional uint64 cycle_seconds = 3; } +message AutocleanonceRequest { + AutocleanSubsystem subsystem = 1; + uint64 age = 2; +} + +message AutocleanonceResponse { + AutocleanonceAutoclean autoclean = 1; +} + +message AutocleanonceAutoclean { + optional AutocleanonceAutocleanSucceededforwards succeededforwards = 1; + optional AutocleanonceAutocleanFailedforwards failedforwards = 2; + optional AutocleanonceAutocleanSucceededpays succeededpays = 3; + optional AutocleanonceAutocleanFailedpays failedpays = 4; + optional AutocleanonceAutocleanPaidinvoices paidinvoices = 5; + optional AutocleanonceAutocleanExpiredinvoices expiredinvoices = 6; +} + +message AutocleanonceAutocleanSucceededforwards { + uint64 cleaned = 1; + uint64 uncleaned = 2; +} + +message AutocleanonceAutocleanFailedforwards { + uint64 cleaned = 1; + uint64 uncleaned = 2; +} + +message AutocleanonceAutocleanSucceededpays { + uint64 cleaned = 1; + uint64 uncleaned = 2; +} + +message AutocleanonceAutocleanFailedpays { + uint64 cleaned = 1; + uint64 uncleaned = 2; +} + +message AutocleanonceAutocleanPaidinvoices { + uint64 cleaned = 1; + uint64 uncleaned = 2; +} + +message AutocleanonceAutocleanExpiredinvoices { + uint64 cleaned = 1; + uint64 uncleaned = 2; +} + +message AutocleanstatusRequest { + optional AutocleanSubsystem subsystem = 1; +} + +message AutocleanstatusResponse { + AutocleanstatusAutoclean autoclean = 1; +} + +message AutocleanstatusAutoclean { + optional AutocleanstatusAutocleanSucceededforwards succeededforwards = 1; + optional AutocleanstatusAutocleanFailedforwards failedforwards = 2; + optional AutocleanstatusAutocleanSucceededpays succeededpays = 3; + optional AutocleanstatusAutocleanFailedpays failedpays = 4; + optional AutocleanstatusAutocleanPaidinvoices paidinvoices = 5; + optional AutocleanstatusAutocleanExpiredinvoices expiredinvoices = 6; +} + +message AutocleanstatusAutocleanSucceededforwards { + bool enabled = 1; + uint64 cleaned = 2; + optional uint64 age = 3; +} + +message AutocleanstatusAutocleanFailedforwards { + bool enabled = 1; + uint64 cleaned = 2; + optional uint64 age = 3; +} + +message AutocleanstatusAutocleanSucceededpays { + bool enabled = 1; + uint64 cleaned = 2; + optional uint64 age = 3; +} + +message AutocleanstatusAutocleanFailedpays { + bool enabled = 1; + uint64 cleaned = 2; + optional uint64 age = 3; +} + +message AutocleanstatusAutocleanPaidinvoices { + bool enabled = 1; + uint64 cleaned = 2; + optional uint64 age = 3; +} + +message AutocleanstatusAutocleanExpiredinvoices { + bool enabled = 1; + uint64 cleaned = 2; + optional uint64 age = 3; +} + message CheckmessageRequest { string message = 1; string zbase = 2; @@ -503,19 +572,19 @@ message CreateinvoiceResponse { CreateinvoiceStatus status = 6; string description = 7; uint64 expires_at = 8; - optional uint64 created_index = 16; optional uint64 pay_index = 9; optional Amount amount_received_msat = 10; optional uint64 paid_at = 11; - optional CreateinvoicePaid_outpoint paid_outpoint = 17; optional bytes payment_preimage = 12; optional bytes local_offer_id = 13; optional string invreq_payer_note = 15; + optional uint64 created_index = 16; + optional CreateinvoicePaid_outpoint paid_outpoint = 17; } message CreateinvoicePaid_outpoint { - optional bytes txid = 1; - optional uint32 outnum = 2; + bytes txid = 1; + uint32 outnum = 2; } message DatastoreRequest { @@ -527,30 +596,31 @@ message DatastoreRequest { MUST_APPEND = 3; CREATE_OR_APPEND = 4; } - repeated string key = 5; - optional string string = 6; optional bytes hex = 2; optional DatastoreMode mode = 3; optional uint64 generation = 4; + repeated string key = 5; + optional string string = 6; } message DatastoreResponse { - repeated string key = 5; optional uint64 generation = 2; optional bytes hex = 3; optional string string = 4; + repeated string key = 5; } message DatastoreusageRequest { + repeated string key = 1; } message DatastoreusageResponse { - optional DatastoreusageDatastoreusage datastoreusage = 1; + DatastoreusageDatastoreusage datastoreusage = 1; } message DatastoreusageDatastoreusage { - optional string key = 1; - optional uint64 total_bytes = 2; + string key = 1; + uint64 total_bytes = 2; } message CreateonionRequest { @@ -571,22 +641,15 @@ message CreateonionHops { } message DeldatastoreRequest { - repeated string key = 3; optional uint64 generation = 2; + repeated string key = 3; } message DeldatastoreResponse { - repeated string key = 5; optional uint64 generation = 2; optional bytes hex = 3; optional string string = 4; -} - -message DelexpiredinvoiceRequest { - optional uint64 maxexpirytime = 1; -} - -message DelexpiredinvoiceResponse { + repeated string key = 5; } message DelinvoiceRequest { @@ -614,24 +677,68 @@ message DelinvoiceResponse { optional Amount amount_msat = 4; optional string description = 5; bytes payment_hash = 6; - optional uint64 created_index = 12; - optional uint64 updated_index = 13; DelinvoiceStatus status = 7; uint64 expires_at = 8; optional bytes local_offer_id = 9; optional string invreq_payer_note = 11; + optional uint64 created_index = 12; + optional uint64 updated_index = 13; + optional uint64 pay_index = 14; + optional Amount amount_received_msat = 15; + optional uint64 paid_at = 16; + optional bytes payment_preimage = 17; +} + +message DevforgetchannelRequest { + bytes id = 1; + optional string short_channel_id = 2; + optional bytes channel_id = 3; + optional bool force = 4; +} + +message DevforgetchannelResponse { + bool forced = 1; + bool funding_unspent = 2; + bytes funding_txid = 3; +} + +message EmergencyrecoverRequest { +} + +message EmergencyrecoverResponse { + repeated bytes stubs = 1; +} + +message RecoverRequest { + string hsmsecret = 1; +} + +message RecoverResponse { + // Recover.result + enum RecoverResult { + RECOVERY_RESTART_IN_PROGRESS = 0; + } + optional RecoverResult result = 1; +} + +message RecoverchannelRequest { + repeated bytes scb = 1; +} + +message RecoverchannelResponse { + repeated string stubs = 1; } message InvoiceRequest { - AmountOrAny amount_msat = 10; string description = 2; string label = 3; - optional uint64 expiry = 7; repeated string fallbacks = 4; optional bytes preimage = 5; optional uint32 cltv = 6; - optional bool exposeprivatechannels = 8; + optional uint64 expiry = 7; + repeated string exposeprivatechannels = 8; optional bool deschashonly = 9; + AmountOrAny amount_msat = 10; } message InvoiceResponse { @@ -639,12 +746,61 @@ message InvoiceResponse { bytes payment_hash = 2; bytes payment_secret = 3; uint64 expires_at = 4; - optional uint64 created_index = 10; optional string warning_capacity = 5; optional string warning_offline = 6; optional string warning_deadends = 7; optional string warning_private_unused = 8; optional string warning_mpp = 9; + optional uint64 created_index = 10; +} + +message InvoicerequestRequest { + Amount amount = 1; + string description = 2; + optional string issuer = 3; + optional string label = 4; + optional uint64 absolute_expiry = 5; + optional bool single_use = 6; +} + +message InvoicerequestResponse { + bytes invreq_id = 1; + bool active = 2; + bool single_use = 3; + string bolt12 = 4; + bool used = 5; + optional string label = 6; +} + +message DisableinvoicerequestRequest { + string invreq_id = 1; +} + +message DisableinvoicerequestResponse { + bytes invreq_id = 1; + bool active = 2; + bool single_use = 3; + string bolt12 = 4; + bool used = 5; + optional string label = 6; +} + +message ListinvoicerequestsRequest { + optional string invreq_id = 1; + optional bool active_only = 2; +} + +message ListinvoicerequestsResponse { + repeated ListinvoicerequestsInvoicerequests invoicerequests = 1; +} + +message ListinvoicerequestsInvoicerequests { + bytes invreq_id = 1; + bool active = 2; + bool single_use = 3; + string bolt12 = 4; + bool used = 5; + optional string label = 6; } message ListdatastoreRequest { @@ -697,19 +853,19 @@ message ListinvoicesInvoices { optional string bolt11 = 7; optional string bolt12 = 8; optional bytes local_offer_id = 9; - optional string invreq_payer_note = 15; - optional uint64 created_index = 16; - optional uint64 updated_index = 17; optional uint64 pay_index = 11; optional Amount amount_received_msat = 12; optional uint64 paid_at = 13; - optional ListinvoicesInvoicesPaid_outpoint paid_outpoint = 18; optional bytes payment_preimage = 14; + optional string invreq_payer_note = 15; + optional uint64 created_index = 16; + optional uint64 updated_index = 17; + optional ListinvoicesInvoicesPaid_outpoint paid_outpoint = 18; } message ListinvoicesInvoicesPaid_outpoint { - optional bytes txid = 1; - optional uint32 outnum = 2; + bytes txid = 1; + uint32 outnum = 2; } message SendonionRequest { @@ -720,10 +876,11 @@ message SendonionRequest { repeated bytes shared_secrets = 5; optional uint32 partid = 6; optional string bolt11 = 7; - optional Amount amount_msat = 12; optional bytes destination = 9; - optional bytes localinvreqid = 13; optional uint64 groupid = 11; + optional Amount amount_msat = 12; + optional bytes localinvreqid = 13; + optional string description = 14; } message SendonionResponse { @@ -732,7 +889,6 @@ message SendonionResponse { PENDING = 0; COMPLETE = 1; } - optional uint64 created_index = 14; uint64 id = 1; bytes payment_hash = 2; SendonionStatus status = 3; @@ -743,10 +899,11 @@ message SendonionResponse { optional string label = 8; optional string bolt11 = 9; optional string bolt12 = 10; - optional uint64 partid = 13; - optional uint64 updated_index = 15; optional bytes payment_preimage = 11; optional string message = 12; + optional uint64 partid = 13; + optional uint64 created_index = 14; + optional uint64 updated_index = 15; } message SendonionFirst_hop { @@ -786,12 +943,9 @@ message ListsendpaysPayments { FAILED = 1; COMPLETE = 2; } - optional uint64 created_index = 16; uint64 id = 1; uint64 groupid = 2; - optional uint64 partid = 15; bytes payment_hash = 3; - optional uint64 updated_index = 17; ListsendpaysPaymentsStatus status = 4; optional Amount amount_msat = 5; optional bytes destination = 6; @@ -799,10 +953,14 @@ message ListsendpaysPayments { Amount amount_sent_msat = 8; optional string label = 9; optional string bolt11 = 10; - optional string description = 14; optional string bolt12 = 11; optional bytes payment_preimage = 12; optional bytes erroronion = 13; + optional string description = 14; + optional uint64 partid = 15; + optional uint64 created_index = 16; + optional uint64 updated_index = 17; + optional uint64 completed_at = 18; } message ListtransactionsRequest { @@ -831,23 +989,33 @@ message ListtransactionsTransactionsInputs { message ListtransactionsTransactionsOutputs { uint32 index = 1; - Amount amount_msat = 6; bytes scriptPubKey = 3; + Amount amount_msat = 6; +} + +message MakesecretRequest { + optional bytes hex = 1; + optional string string = 2; +} + +message MakesecretResponse { + bytes secret = 1; } message PayRequest { string bolt11 = 1; - optional Amount amount_msat = 13; optional string label = 3; - optional double riskfactor = 8; optional double maxfeepercent = 4; optional uint32 retry_for = 5; optional uint32 maxdelay = 6; optional Amount exemptfee = 7; - optional bytes localinvreqid = 14; + optional double riskfactor = 8; repeated string exclude = 10; optional Amount maxfee = 11; optional string description = 12; + optional Amount amount_msat = 13; + optional bytes localinvreqid = 14; + optional Amount partial_msat = 15; } message PayResponse { @@ -883,6 +1051,16 @@ message ListnodesNodes { optional bytes color = 4; optional bytes features = 5; repeated ListnodesNodesAddresses addresses = 6; + optional ListnodesNodesOption_will_fund option_will_fund = 7; +} + +message ListnodesNodesOption_will_fund { + Amount lease_fee_base_msat = 1; + uint32 lease_fee_basis = 2; + uint32 funding_weight = 3; + Amount channel_fee_max_base_msat = 4; + uint32 channel_fee_max_proportional_thousandths = 5; + bytes compact_lease = 6; } message ListnodesNodesAddresses { @@ -918,18 +1096,18 @@ message WaitanyinvoiceResponse { optional Amount amount_msat = 6; optional string bolt11 = 7; optional string bolt12 = 8; - optional uint64 created_index = 13; - optional uint64 updated_index = 14; optional uint64 pay_index = 9; optional Amount amount_received_msat = 10; optional uint64 paid_at = 11; - optional WaitanyinvoicePaid_outpoint paid_outpoint = 15; optional bytes payment_preimage = 12; + optional uint64 created_index = 13; + optional uint64 updated_index = 14; + optional WaitanyinvoicePaid_outpoint paid_outpoint = 15; } message WaitanyinvoicePaid_outpoint { - optional bytes txid = 1; - optional uint32 outnum = 2; + bytes txid = 1; + uint32 outnum = 2; } message WaitinvoiceRequest { @@ -950,24 +1128,24 @@ message WaitinvoiceResponse { optional Amount amount_msat = 6; optional string bolt11 = 7; optional string bolt12 = 8; - optional uint64 created_index = 13; - optional uint64 updated_index = 14; optional uint64 pay_index = 9; optional Amount amount_received_msat = 10; optional uint64 paid_at = 11; - optional WaitinvoicePaid_outpoint paid_outpoint = 15; optional bytes payment_preimage = 12; + optional uint64 created_index = 13; + optional uint64 updated_index = 14; + optional WaitinvoicePaid_outpoint paid_outpoint = 15; } message WaitinvoicePaid_outpoint { - optional bytes txid = 1; - optional uint32 outnum = 2; + bytes txid = 1; + uint32 outnum = 2; } message WaitsendpayRequest { bytes payment_hash = 1; - optional uint32 timeout = 3; optional uint64 partid = 2; + optional uint32 timeout = 3; optional uint64 groupid = 4; } @@ -976,7 +1154,6 @@ message WaitsendpayResponse { enum WaitsendpayStatus { COMPLETE = 0; } - optional uint64 created_index = 15; uint64 id = 1; optional uint64 groupid = 2; bytes payment_hash = 3; @@ -984,37 +1161,38 @@ message WaitsendpayResponse { optional Amount amount_msat = 5; optional bytes destination = 6; uint64 created_at = 7; - optional uint64 updated_index = 16; - optional double completed_at = 14; Amount amount_sent_msat = 8; optional string label = 9; optional uint64 partid = 10; optional string bolt11 = 11; optional string bolt12 = 12; optional bytes payment_preimage = 13; + optional double completed_at = 14; + optional uint64 created_index = 15; + optional uint64 updated_index = 16; } message NewaddrRequest { // NewAddr.addresstype enum NewaddrAddresstype { BECH32 = 0; - P2TR = 3; ALL = 2; + P2TR = 3; } optional NewaddrAddresstype addresstype = 1; } message NewaddrResponse { - optional string p2tr = 3; optional string bech32 = 1; + optional string p2tr = 3; } message WithdrawRequest { string destination = 1; - optional AmountOrAll satoshi = 2; - optional Feerate feerate = 5; + AmountOrAll satoshi = 2; optional uint32 minconf = 3; repeated Outpoint utxos = 4; + optional Feerate feerate = 5; } message WithdrawResponse { @@ -1025,7 +1203,6 @@ message WithdrawResponse { message KeysendRequest { bytes destination = 1; - Amount amount_msat = 10; optional string label = 3; optional double maxfeepercent = 4; optional uint32 retry_for = 5; @@ -1033,6 +1210,7 @@ message KeysendRequest { optional Amount exemptfee = 7; optional RoutehintList routehints = 8; optional TlvStream extratlvs = 9; + Amount amount_msat = 10; } message KeysendResponse { @@ -1083,7 +1261,7 @@ message FundpsbtReservations { message SendpsbtRequest { string psbt = 1; - optional bool reserve = 2; + optional uint32 reserve = 2; } message SendpsbtResponse { @@ -1101,14 +1279,14 @@ message SignpsbtResponse { } message UtxopsbtRequest { - Amount satoshi = 1; + AmountOrAll satoshi = 1; Feerate feerate = 2; uint32 startweight = 3; repeated Outpoint utxos = 4; optional uint32 reserve = 5; - optional bool reservedok = 8; optional uint32 locktime = 6; optional uint32 min_witness_weight = 7; + optional bool reservedok = 8; optional bool excess_as_change = 9; optional bool opening_anchor_channel = 10; } @@ -1140,10 +1318,10 @@ message TxdiscardResponse { } message TxprepareRequest { - repeated OutputDesc outputs = 5; optional Feerate feerate = 2; optional uint32 minconf = 3; repeated Outpoint utxos = 4; + repeated OutputDesc outputs = 5; } message TxprepareResponse { @@ -1188,13 +1366,10 @@ message ListpeerchannelsChannels { DUALOPEND_OPEN_COMMITTED = 12; DUALOPEND_OPEN_COMMIT_READY = 13; } - optional bytes peer_id = 1; - optional bool peer_connected = 2; - optional ListpeerchannelsChannelsState state = 3; + bytes peer_id = 1; + bool peer_connected = 2; + ListpeerchannelsChannelsState state = 3; optional bytes scratch_txid = 4; - optional ListpeerchannelsChannelsUpdates updates = 55; - optional bool ignore_fee_limits = 54; - optional bool lost_state = 57; optional ListpeerchannelsChannelsFeerate feerate = 6; optional string owner = 7; optional string short_channel_id = 8; @@ -1208,7 +1383,7 @@ message ListpeerchannelsChannels { repeated ListpeerchannelsChannelsInflight inflight = 16; optional bytes close_to = 17; optional bool private = 18; - optional ChannelSide opener = 19; + ChannelSide opener = 19; optional ChannelSide closer = 20; optional ListpeerchannelsChannelsFunding funding = 22; optional Amount to_us_msat = 23; @@ -1239,51 +1414,57 @@ message ListpeerchannelsChannels { optional Amount out_offered_msat = 49; optional uint64 out_payments_fulfilled = 50; optional Amount out_fulfilled_msat = 51; - optional uint64 last_stable_connection = 56; repeated ListpeerchannelsChannelsHtlcs htlcs = 52; optional string close_to_addr = 53; + optional bool ignore_fee_limits = 54; + optional ListpeerchannelsChannelsUpdates updates = 55; + optional uint64 last_stable_connection = 56; + optional bool lost_state = 57; + optional bool reestablished = 58; + optional Amount last_tx_fee_msat = 59; + optional uint32 direction = 60; } message ListpeerchannelsChannelsUpdates { - optional ListpeerchannelsChannelsUpdatesLocal local = 1; + ListpeerchannelsChannelsUpdatesLocal local = 1; optional ListpeerchannelsChannelsUpdatesRemote remote = 2; } message ListpeerchannelsChannelsUpdatesLocal { - optional Amount htlc_minimum_msat = 1; - optional Amount htlc_maximum_msat = 2; - optional uint32 cltv_expiry_delta = 3; - optional Amount fee_base_msat = 4; - optional uint32 fee_proportional_millionths = 5; + Amount htlc_minimum_msat = 1; + Amount htlc_maximum_msat = 2; + uint32 cltv_expiry_delta = 3; + Amount fee_base_msat = 4; + uint32 fee_proportional_millionths = 5; } message ListpeerchannelsChannelsUpdatesRemote { - optional Amount htlc_minimum_msat = 1; - optional Amount htlc_maximum_msat = 2; - optional uint32 cltv_expiry_delta = 3; - optional Amount fee_base_msat = 4; - optional uint32 fee_proportional_millionths = 5; + Amount htlc_minimum_msat = 1; + Amount htlc_maximum_msat = 2; + uint32 cltv_expiry_delta = 3; + Amount fee_base_msat = 4; + uint32 fee_proportional_millionths = 5; } message ListpeerchannelsChannelsFeerate { - optional uint32 perkw = 1; - optional uint32 perkb = 2; + uint32 perkw = 1; + uint32 perkb = 2; } message ListpeerchannelsChannelsInflight { - optional bytes funding_txid = 1; - optional uint32 funding_outnum = 2; - optional string feerate = 3; - optional Amount total_funding_msat = 4; - optional sint64 splice_amount = 7; - optional Amount our_funding_msat = 5; + bytes funding_txid = 1; + uint32 funding_outnum = 2; + string feerate = 3; + Amount total_funding_msat = 4; + Amount our_funding_msat = 5; optional bytes scratch_txid = 6; + optional sint64 splice_amount = 7; } message ListpeerchannelsChannelsFunding { optional Amount pushed_msat = 1; - optional Amount local_funds_msat = 2; - optional Amount remote_funds_msat = 3; + Amount local_funds_msat = 2; + Amount remote_funds_msat = 3; optional Amount fee_paid_msat = 4; optional Amount fee_rcvd_msat = 5; } @@ -1299,14 +1480,14 @@ message ListpeerchannelsChannelsHtlcs { IN = 0; OUT = 1; } - optional ListpeerchannelsChannelsHtlcsDirection direction = 1; - optional uint64 id = 2; - optional Amount amount_msat = 3; - optional uint32 expiry = 4; - optional bytes payment_hash = 5; + ListpeerchannelsChannelsHtlcsDirection direction = 1; + uint64 id = 2; + Amount amount_msat = 3; + uint32 expiry = 4; + bytes payment_hash = 5; optional bool local_trimmed = 6; optional string status = 7; - optional HtlcState state = 8; + HtlcState state = 8; } message ListclosedchannelsRequest { @@ -1379,6 +1560,7 @@ message DecodepayResponse { optional bytes payment_metadata = 13; repeated DecodepayFallbacks fallbacks = 14; repeated DecodepayExtra extra = 16; + optional DecodeRoutehintList routes = 17; } message DecodepayFallbacks { @@ -1484,11 +1666,19 @@ message DecodeResponse { optional string warning_rune_invalid_utf8 = 74; optional bytes hex = 75; optional bytes decrypted = 76; + optional string signature = 77; + optional string currency = 78; + optional Amount amount_msat = 79; + optional string description = 80; + optional bytes features = 81; + optional DecodeRoutehintList routes = 82; } message DecodeOffer_paths { - bytes first_node_id = 1; + optional bytes first_node_id = 1; bytes blinding = 2; + optional uint32 first_scid_dir = 4; + optional string first_scid = 5; } message DecodeOffer_recurrencePaywindow { @@ -1509,7 +1699,18 @@ message DecodeInvoice_fallbacks { } message DecodeFallbacks { + // Decode.fallbacks[].type + enum DecodeFallbacksType { + P2PKH = 0; + P2SH = 1; + P2WPKH = 2; + P2WSH = 3; + P2TR = 4; + } optional string warning_invoice_fallbacks_version_invalid = 1; + DecodeFallbacksType item_type = 2; + optional string addr = 3; + bytes hex = 4; } message DecodeExtra { @@ -1522,6 +1723,76 @@ message DecodeRestrictions { string summary = 2; } +message DelpayRequest { + // DelPay.status + enum DelpayStatus { + COMPLETE = 0; + FAILED = 1; + } + bytes payment_hash = 1; + DelpayStatus status = 2; + optional uint64 partid = 3; + optional uint64 groupid = 4; +} + +message DelpayResponse { + repeated DelpayPayments payments = 1; +} + +message DelpayPayments { + // DelPay.payments[].status + enum DelpayPaymentsStatus { + PENDING = 0; + FAILED = 1; + COMPLETE = 2; + } + optional uint64 created_index = 1; + uint64 id = 2; + bytes payment_hash = 3; + DelpayPaymentsStatus status = 4; + Amount amount_sent_msat = 5; + optional uint64 partid = 6; + optional bytes destination = 7; + optional Amount amount_msat = 8; + uint64 created_at = 9; + optional uint64 updated_index = 10; + optional uint64 completed_at = 11; + optional uint64 groupid = 12; + optional bytes payment_preimage = 13; + optional string label = 14; + optional string bolt11 = 15; + optional string bolt12 = 16; + optional bytes erroronion = 17; +} + +message DelforwardRequest { + // DelForward.status + enum DelforwardStatus { + SETTLED = 0; + LOCAL_FAILED = 1; + FAILED = 2; + } + string in_channel = 1; + uint64 in_htlc_id = 2; + DelforwardStatus status = 3; +} + +message DelforwardResponse { +} + +message DisableofferRequest { + bytes offer_id = 1; +} + +message DisableofferResponse { + bytes offer_id = 1; + bool active = 2; + bool single_use = 3; + string bolt12 = 4; + bool used = 5; + optional string label = 6; +} + message DisconnectRequest { bytes id = 1; optional bool force = 2; @@ -1549,50 +1820,50 @@ message FeeratesResponse { message FeeratesPerkb { uint32 min_acceptable = 1; uint32 max_acceptable = 2; - optional uint32 floor = 10; - repeated FeeratesPerkbEstimates estimates = 9; optional uint32 opening = 3; optional uint32 mutual_close = 4; optional uint32 unilateral_close = 5; - optional uint32 unilateral_anchor_close = 11; optional uint32 delayed_to_us = 6; optional uint32 htlc_resolution = 7; optional uint32 penalty = 8; + repeated FeeratesPerkbEstimates estimates = 9; + optional uint32 floor = 10; + optional uint32 unilateral_anchor_close = 11; } message FeeratesPerkbEstimates { - optional uint32 blockcount = 1; - optional uint32 feerate = 2; - optional uint32 smoothed_feerate = 3; + uint32 blockcount = 1; + uint32 feerate = 2; + uint32 smoothed_feerate = 3; } message FeeratesPerkw { uint32 min_acceptable = 1; uint32 max_acceptable = 2; - optional uint32 floor = 10; - repeated FeeratesPerkwEstimates estimates = 9; optional uint32 opening = 3; optional uint32 mutual_close = 4; optional uint32 unilateral_close = 5; - optional uint32 unilateral_anchor_close = 11; optional uint32 delayed_to_us = 6; optional uint32 htlc_resolution = 7; optional uint32 penalty = 8; + repeated FeeratesPerkwEstimates estimates = 9; + optional uint32 floor = 10; + optional uint32 unilateral_anchor_close = 11; } message FeeratesPerkwEstimates { - optional uint32 blockcount = 1; - optional uint32 feerate = 2; - optional uint32 smoothed_feerate = 3; + uint32 blockcount = 1; + uint32 feerate = 2; + uint32 smoothed_feerate = 3; } message FeeratesOnchain_fee_estimates { uint64 opening_channel_satoshis = 1; uint64 mutual_close_satoshis = 2; uint64 unilateral_close_satoshis = 3; - optional uint64 unilateral_close_nonanchor_satoshis = 6; uint64 htlc_timeout_satoshis = 4; uint64 htlc_success_satoshis = 5; + optional uint64 unilateral_close_nonanchor_satoshis = 6; } message FetchinvoiceRequest { @@ -1628,16 +1899,34 @@ message FetchinvoiceNext_period { uint64 paywindow_end = 5; } +message Fundchannel_cancelRequest { + bytes id = 1; +} + +message Fundchannel_cancelResponse { + string cancelled = 1; +} + +message Fundchannel_completeRequest { + bytes id = 1; + string psbt = 2; +} + +message Fundchannel_completeResponse { + bytes channel_id = 1; + bool commitments_secured = 2; +} + message FundchannelRequest { - bytes id = 9; AmountOrAll amount = 1; optional Feerate feerate = 2; optional bool announce = 3; - optional uint32 minconf = 10; optional Amount push_msat = 5; optional string close_to = 6; optional Amount request_amt = 7; optional string compact_lease = 8; + bytes id = 9; + optional uint32 minconf = 10; repeated Outpoint utxos = 11; optional uint32 mindepth = 12; optional Amount reserve = 13; @@ -1649,9 +1938,9 @@ message FundchannelResponse { bytes txid = 2; uint32 outnum = 3; bytes channel_id = 4; - optional FundchannelChannel_type channel_type = 7; optional bytes close_to = 5; optional uint32 mindepth = 6; + optional FundchannelChannel_type channel_type = 7; } message FundchannelChannel_type { @@ -1659,15 +1948,133 @@ message FundchannelChannel_type { repeated ChannelTypeName names = 2; } +message Fundchannel_startRequest { + bytes id = 1; + Amount amount = 2; + optional Feerate feerate = 3; + optional bool announce = 4; + optional string close_to = 5; + optional Amount push_msat = 6; + optional uint32 mindepth = 7; + optional Amount reserve = 8; + repeated uint32 channel_type = 9; +} + +message Fundchannel_startResponse { + string funding_address = 1; + bytes scriptpubkey = 2; + optional Fundchannel_startChannel_type channel_type = 3; + optional bytes close_to = 4; + string warning_usage = 5; + optional uint32 mindepth = 6; +} + +message Fundchannel_startChannel_type { + repeated uint32 bits = 1; + repeated ChannelTypeName names = 2; +} + +message GetlogRequest { + // GetLog.level + enum GetlogLevel { + BROKEN = 0; + UNUSUAL = 1; + INFO = 2; + DEBUG = 3; + IO = 4; + TRACE = 5; + } + optional GetlogLevel level = 1; +} + +message GetlogResponse { + string created_at = 1; + uint32 bytes_used = 2; + uint32 bytes_max = 3; + repeated GetlogLog log = 4; +} + +message GetlogLog { + // GetLog.log[].type + enum GetlogLogType { + SKIPPED = 0; + BROKEN = 1; + UNUSUAL = 2; + INFO = 3; + DEBUG = 4; + IO_IN = 5; + IO_OUT = 6; + TRACE = 7; + } + GetlogLogType item_type = 1; + optional uint32 num_skipped = 2; + optional string time = 3; + optional string source = 4; + optional string log = 5; + optional bytes node_id = 6; + optional bytes data = 7; +} + +message FunderupdateRequest { + // FunderUpdate.policy + enum FunderupdatePolicy { + MATCH = 0; + AVAILABLE = 1; + FIXED = 2; + } + optional FunderupdatePolicy policy = 1; + optional Amount policy_mod = 2; + optional bool leases_only = 3; + optional Amount min_their_funding_msat = 4; + optional Amount max_their_funding_msat = 5; + optional Amount per_channel_min_msat = 6; + optional Amount per_channel_max_msat = 7; + optional Amount reserve_tank_msat = 8; + optional uint32 fuzz_percent = 9; + optional uint32 fund_probability = 10; + optional Amount lease_fee_base_msat = 11; + optional uint32 lease_fee_basis = 12; + optional uint32 funding_weight = 13; + optional Amount channel_fee_max_base_msat = 14; + optional uint32 channel_fee_max_proportional_thousandths = 15; + optional bytes compact_lease = 16; +} + +message FunderupdateResponse { + // FunderUpdate.policy + enum FunderupdatePolicy { + MATCH = 0; + AVAILABLE = 1; + FIXED = 2; + } + string summary = 1; + FunderupdatePolicy policy = 2; + uint32 policy_mod = 3; + bool leases_only = 4; + Amount min_their_funding_msat = 5; + Amount max_their_funding_msat = 6; + Amount per_channel_min_msat = 7; + Amount per_channel_max_msat = 8; + Amount reserve_tank_msat = 9; + uint32 fuzz_percent = 10; + uint32 fund_probability = 11; + optional Amount lease_fee_base_msat = 12; + optional uint32 lease_fee_basis = 13; + optional uint32 funding_weight = 14; + optional Amount channel_fee_max_base_msat = 15; + optional uint32 channel_fee_max_proportional_thousandths = 16; + optional bytes compact_lease = 17; +} + message GetrouteRequest { bytes id = 1; - Amount amount_msat = 9; uint64 riskfactor = 3; optional uint32 cltv = 4; optional bytes fromid = 5; optional uint32 fuzzpercent = 6; repeated string exclude = 7; optional uint32 maxhops = 8; + Amount amount_msat = 9; } message GetrouteResponse { @@ -1725,18 +2132,21 @@ message ListforwardsForwards { LEGACY = 0; TLV = 1; } - optional uint64 created_index = 12; string in_channel = 1; - optional uint64 in_htlc_id = 10; Amount in_msat = 2; ListforwardsForwardsStatus status = 3; double received_time = 4; optional string out_channel = 5; - optional uint64 out_htlc_id = 11; - optional uint64 updated_index = 13; - optional ListforwardsForwardsStyle style = 9; optional Amount fee_msat = 7; optional Amount out_msat = 8; + optional ListforwardsForwardsStyle style = 9; + optional uint64 in_htlc_id = 10; + optional uint64 out_htlc_id = 11; + optional uint64 created_index = 12; + optional uint64 updated_index = 13; + optional double resolved_time = 14; + optional uint32 failcode = 15; + optional string failreason = 16; } message ListoffersRequest { @@ -1784,16 +2194,16 @@ message ListpaysPays { ListpaysPaysStatus status = 2; optional bytes destination = 3; uint64 created_at = 4; - optional uint64 completed_at = 12; optional string label = 5; optional string bolt11 = 6; - optional string description = 11; optional string bolt12 = 7; optional Amount amount_msat = 8; optional Amount amount_sent_msat = 9; + optional bytes erroronion = 10; + optional string description = 11; + optional uint64 completed_at = 12; optional bytes preimage = 13; optional uint64 number_of_parts = 14; - optional bytes erroronion = 10; } message ListhtlcsRequest { @@ -1819,6 +2229,77 @@ message ListhtlcsHtlcs { HtlcState state = 7; } +message MultifundchannelRequest { + repeated MultifundchannelDestinations destinations = 1; + optional Feerate feerate = 2; + optional sint64 minconf = 3; + repeated Outpoint utxos = 4; + optional sint64 minchannels = 5; + optional Feerate commitment_feerate = 6; +} + +message MultifundchannelResponse { + bytes tx = 1; + bytes txid = 2; + repeated MultifundchannelChannel_ids channel_ids = 3; + repeated MultifundchannelFailed failed = 4; +} + +message MultifundchannelDestinations { + string id = 1; + AmountOrAll amount = 2; + optional bool announce = 3; + optional Amount push_msat = 4; + optional string close_to = 5; + optional Amount request_amt = 6; + optional string compact_lease = 7; + optional uint32 mindepth = 8; + optional Amount reserve = 9; +} + +message MultifundchannelChannel_ids { + bytes id = 1; + uint32 outnum = 2; + bytes channel_id = 3; + optional MultifundchannelChannel_idsChannel_type channel_type = 4; + optional bytes close_to = 5; +} + +message MultifundchannelChannel_idsChannel_type { + repeated uint32 bits = 1; + repeated ChannelTypeName names = 2; +} + +message MultifundchannelFailed { + // MultiFundChannel.failed[].method + enum MultifundchannelFailedMethod { + CONNECT = 0; + OPENCHANNEL_INIT = 1; + FUNDCHANNEL_START = 2; + FUNDCHANNEL_COMPLETE = 3; + } + bytes id = 1; + MultifundchannelFailedMethod method = 2; + MultifundchannelFailedError error = 3; +} + +message MultifundchannelFailedError { + sint64 code = 1; + string message = 2; +} + +message MultiwithdrawRequest { + repeated OutputDesc outputs = 1; + optional Feerate feerate = 2; + optional uint32 minconf = 3; + repeated Outpoint utxos = 4; +} + +message MultiwithdrawResponse { + bytes tx = 1; + bytes txid = 2; +} + message OfferRequest { string amount = 1; string description = 2; @@ -1829,7 +2310,7 @@ message OfferRequest { optional string recurrence = 7; optional string recurrence_base = 8; optional string recurrence_paywindow = 9; - optional uint64 recurrence_limit = 10; + optional uint32 recurrence_limit = 10; optional bool single_use = 11; } @@ -1843,62 +2324,318 @@ message OfferResponse { optional string label = 7; } -message PingRequest { - bytes id = 1; - optional uint32 len = 2; - optional uint32 pongbytes = 3; +message Openchannel_abortRequest { + bytes channel_id = 1; } -message PingResponse { - uint32 totlen = 1; +message Openchannel_abortResponse { + bytes channel_id = 1; + bool channel_canceled = 2; + string reason = 3; } -message SendcustommsgRequest { - bytes node_id = 1; - bytes msg = 2; +message Openchannel_bumpRequest { + bytes channel_id = 1; + string initialpsbt = 2; + optional Feerate funding_feerate = 3; + Amount amount = 4; } -message SendcustommsgResponse { - string status = 1; +message Openchannel_bumpResponse { + bytes channel_id = 1; + optional Openchannel_bumpChannel_type channel_type = 2; + string psbt = 3; + bool commitments_secured = 4; + uint64 funding_serial = 5; + optional bool requires_confirmed_inputs = 6; } -message SetchannelRequest { - string id = 1; - optional Amount feebase = 2; - optional uint32 feeppm = 3; - optional Amount htlcmin = 4; - optional Amount htlcmax = 5; - optional uint32 enforcedelay = 6; - optional bool ignorefeelimits = 7; +message Openchannel_bumpChannel_type { + repeated uint32 bits = 1; + repeated ChannelTypeName names = 2; } -message SetchannelResponse { - repeated SetchannelChannels channels = 1; +message Openchannel_initRequest { + bytes id = 1; + string initialpsbt = 2; + optional Feerate commitment_feerate = 3; + optional Feerate funding_feerate = 4; + optional bool announce = 5; + optional string close_to = 6; + optional Amount request_amt = 7; + optional bytes compact_lease = 8; + repeated uint32 channel_type = 9; + Amount amount = 10; } -message SetchannelChannels { - bytes peer_id = 1; - bytes channel_id = 2; - optional string short_channel_id = 3; - Amount fee_base_msat = 4; - uint32 fee_proportional_millionths = 5; - optional bool ignore_fee_limits = 10; - Amount minimum_htlc_out_msat = 6; - optional string warning_htlcmin_too_low = 7; - Amount maximum_htlc_out_msat = 8; - optional string warning_htlcmax_too_high = 9; +message Openchannel_initResponse { + bytes channel_id = 1; + string psbt = 2; + optional Openchannel_initChannel_type channel_type = 3; + bool commitments_secured = 4; + uint64 funding_serial = 5; + optional bool requires_confirmed_inputs = 6; } -message SigninvoiceRequest { - string invstring = 1; +message Openchannel_initChannel_type { + repeated uint32 bits = 1; + repeated ChannelTypeName names = 2; } -message SigninvoiceResponse { - string bolt11 = 1; +message Openchannel_signedRequest { + bytes channel_id = 1; + string signed_psbt = 2; } -message SignmessageRequest { - string message = 1; +message Openchannel_signedResponse { + bytes channel_id = 1; + bytes tx = 2; + bytes txid = 3; +} + +message Openchannel_updateRequest { + bytes channel_id = 1; + string psbt = 2; +} + +message Openchannel_updateResponse { + bytes channel_id = 1; + optional Openchannel_updateChannel_type channel_type = 2; + string psbt = 3; + bool commitments_secured = 4; + uint32 funding_outnum = 5; + optional bytes close_to = 6; + optional bool requires_confirmed_inputs = 7; +} + +message Openchannel_updateChannel_type { + repeated uint32 bits = 1; + repeated ChannelTypeName names = 2; +} + +message PingRequest { + bytes id = 1; + optional uint32 len = 2; + optional uint32 pongbytes = 3; +} + +message PingResponse { + uint32 totlen = 1; +} + +message PluginRequest { + PluginSubcommand subcommand = 1; + optional string plugin = 2; + optional string directory = 3; + repeated string options = 4; +} + +message PluginResponse { + PluginSubcommand command = 1; + repeated PluginPlugins plugins = 2; + optional string result = 3; +} + +message PluginPlugins { + string name = 1; + bool active = 2; + bool dynamic = 3; +} + +message RenepaystatusRequest { + optional string invstring = 1; +} + +message RenepaystatusResponse { + repeated RenepaystatusPaystatus paystatus = 1; +} + +message RenepaystatusPaystatus { + // RenePayStatus.paystatus[].status + enum RenepaystatusPaystatusStatus { + COMPLETE = 0; + PENDING = 1; + FAILED = 2; + } + string bolt11 = 1; + optional bytes payment_preimage = 2; + bytes payment_hash = 3; + double created_at = 4; + uint32 groupid = 5; + optional uint32 parts = 6; + Amount amount_msat = 7; + optional Amount amount_sent_msat = 8; + RenepaystatusPaystatusStatus status = 9; + optional bytes destination = 10; + repeated string notes = 11; +} + +message RenepayRequest { + string invstring = 1; + optional Amount amount_msat = 2; + optional Amount maxfee = 3; + optional uint32 maxdelay = 4; + optional uint32 retry_for = 5; + optional string description = 6; + optional string label = 7; + optional bool dev_use_shadow = 8; +} + +message RenepayResponse { + // RenePay.status + enum RenepayStatus { + COMPLETE = 0; + PENDING = 1; + FAILED = 2; + } + bytes payment_preimage = 1; + bytes payment_hash = 2; + double created_at = 3; + uint32 parts = 4; + Amount amount_msat = 5; + Amount amount_sent_msat = 6; + RenepayStatus status = 7; + optional bytes destination = 8; +} + +message ReserveinputsRequest { + string psbt = 1; + optional bool exclusive = 2; + optional uint32 reserve = 3; +} + +message ReserveinputsResponse { + repeated ReserveinputsReservations reservations = 1; +} + +message ReserveinputsReservations { + bytes txid = 1; + uint32 vout = 2; + bool was_reserved = 3; + bool reserved = 4; + uint32 reserved_to_block = 5; +} + +message SendcustommsgRequest { + bytes node_id = 1; + bytes msg = 2; +} + +message SendcustommsgResponse { + string status = 1; +} + +message SendinvoiceRequest { + string invreq = 1; + string label = 2; + optional Amount amount_msat = 3; + optional uint32 timeout = 4; + optional uint64 quantity = 5; +} + +message SendinvoiceResponse { + // SendInvoice.status + enum SendinvoiceStatus { + UNPAID = 0; + PAID = 1; + EXPIRED = 2; + } + string label = 1; + string description = 2; + bytes payment_hash = 3; + SendinvoiceStatus status = 4; + uint64 expires_at = 5; + optional Amount amount_msat = 6; + optional string bolt12 = 7; + optional uint64 created_index = 8; + optional uint64 updated_index = 9; + optional uint64 pay_index = 10; + optional Amount amount_received_msat = 11; + optional uint64 paid_at = 12; + optional bytes payment_preimage = 13; +} + +message SendonionmessageRequest { + bytes first_id = 1; + bytes blinding = 2; + repeated SendonionmessageHops hops = 3; +} + +message SendonionmessageResponse { +} + +message SendonionmessageHops { + bytes node = 1; + uint32 tlv = 2; +} + +message SetchannelRequest { + string id = 1; + optional Amount feebase = 2; + optional uint32 feeppm = 3; + optional Amount htlcmin = 4; + optional Amount htlcmax = 5; + optional uint32 enforcedelay = 6; + optional bool ignorefeelimits = 7; +} + +message SetchannelResponse { + repeated SetchannelChannels channels = 1; +} + +message SetchannelChannels { + bytes peer_id = 1; + bytes channel_id = 2; + optional string short_channel_id = 3; + Amount fee_base_msat = 4; + uint32 fee_proportional_millionths = 5; + Amount minimum_htlc_out_msat = 6; + optional string warning_htlcmin_too_low = 7; + Amount maximum_htlc_out_msat = 8; + optional string warning_htlcmax_too_high = 9; + optional bool ignore_fee_limits = 10; +} + +message SetconfigRequest { + string config = 1; + optional string val = 2; +} + +message SetconfigResponse { + SetconfigConfig config = 1; +} + +message SetconfigConfig { + string config = 1; + string source = 2; + optional string plugin = 3; + bool dynamic = 4; + optional bool set = 5; + optional string value_str = 6; + optional Amount value_msat = 7; + optional sint64 value_int = 8; + optional bool value_bool = 9; +} + +message SetpsbtversionRequest { + string psbt = 1; + uint32 version = 2; +} + +message SetpsbtversionResponse { + string psbt = 1; +} + +message SigninvoiceRequest { + string invstring = 1; +} + +message SigninvoiceResponse { + string bolt11 = 1; +} + +message SignmessageRequest { + string message = 1; } message SignmessageResponse { @@ -1907,6 +2644,68 @@ message SignmessageResponse { string zbase = 3; } +message Splice_initRequest { + bytes channel_id = 1; + sint64 relative_amount = 2; + optional string initialpsbt = 3; + optional uint32 feerate_per_kw = 4; + optional bool force_feerate = 5; +} + +message Splice_initResponse { + string psbt = 1; +} + +message Splice_signedRequest { + bytes channel_id = 1; + string psbt = 2; + optional bool sign_first = 3; +} + +message Splice_signedResponse { + bytes tx = 1; + bytes txid = 2; +} + +message Splice_updateRequest { + bytes channel_id = 1; + string psbt = 2; +} + +message Splice_updateResponse { + string psbt = 1; + bool commitments_secured = 2; +} + +message UnreserveinputsRequest { + string psbt = 1; + optional uint32 reserve = 2; +} + +message UnreserveinputsResponse { + repeated UnreserveinputsReservations reservations = 1; +} + +message UnreserveinputsReservations { + bytes txid = 1; + uint32 vout = 2; + bool was_reserved = 3; + bool reserved = 4; + optional uint32 reserved_to_block = 5; +} + +message UpgradewalletRequest { + optional Feerate feerate = 1; + optional bool reservedok = 2; +} + +message UpgradewalletResponse { + optional uint64 upgraded_outs = 1; + optional string psbt = 2; + optional bytes tx = 3; + optional bytes txid = 4; +} + message WaitblockheightRequest { uint32 blockheight = 1; optional uint32 timeout = 2; @@ -1945,25 +2744,608 @@ message WaitResponse { optional uint64 created = 2; optional uint64 updated = 3; optional uint64 deleted = 4; + optional WaitDetails details = 5; +} + +message WaitDetails { + // Wait.details.status + enum WaitDetailsStatus { + UNPAID = 0; + PAID = 1; + EXPIRED = 2; + PENDING = 3; + FAILED = 4; + COMPLETE = 5; + OFFERED = 6; + SETTLED = 7; + LOCAL_FAILED = 8; + } + optional WaitDetailsStatus status = 1; + optional string label = 2; + optional string description = 3; + optional string bolt11 = 4; + optional string bolt12 = 5; + optional uint64 partid = 6; + optional uint64 groupid = 7; + optional bytes payment_hash = 8; + optional string in_channel = 9; + optional uint64 in_htlc_id = 10; + optional Amount in_msat = 11; + optional string out_channel = 12; +} + +message ListconfigsRequest { + optional string config = 1; +} + +message ListconfigsResponse { + optional ListconfigsConfigs configs = 1; + repeated ListconfigsPlugins plugins = 3; + repeated ListconfigsImportantplugins important_plugins = 4; + optional string conf = 5; + optional string lightning_dir = 6; + optional string network = 7; + optional bool allow_deprecated_apis = 8; + optional string rpc_file = 9; + repeated string disable_plugin = 10; + optional string bookkeeper_dir = 11; + optional string bookkeeper_db = 12; + optional bool always_use_proxy = 13; + optional bool daemon = 14; + optional string wallet = 15; + optional bool large_channels = 16; + optional bool experimental_dual_fund = 17; + optional bool experimental_splicing = 18; + optional bool experimental_onion_messages = 19; + optional bool experimental_offers = 20; + optional bool experimental_shutdown_wrong_funding = 21; + optional bool experimental_peer_storage = 22; + optional bool experimental_quiesce = 23; + optional bool experimental_upgrade_protocol = 24; + optional bool invoices_onchain_fallback = 25; + optional bool database_upgrade = 26; + optional bytes rgb = 27; + optional string alias = 28; + optional string pid_file = 29; + optional bool ignore_fee_limits = 30; + optional uint32 watchtime_blocks = 31; + optional uint32 max_locktime_blocks = 32; + optional uint32 funding_confirms = 33; + optional uint32 cltv_delta = 34; + optional uint32 cltv_final = 35; + optional uint32 commit_time = 36; + optional uint32 fee_base = 37; + optional sint64 rescan = 38; + optional uint32 fee_per_satoshi = 39; + optional uint32 max_concurrent_htlcs = 40; + optional Amount htlc_minimum_msat = 41; + optional Amount htlc_maximum_msat = 42; + optional Amount max_dust_htlc_exposure_msat = 43; + optional uint64 min_capacity_sat = 44; + optional string addr = 45; + optional string announce_addr = 46; + optional string bind_addr = 47; + optional bool offline = 48; + optional bool autolisten = 49; + optional string proxy = 50; + optional bool disable_dns = 51; + optional string announce_addr_discovered = 52; + optional sint64 announce_addr_discovered_port = 53; + optional bool encrypted_hsm = 54; + optional string rpc_file_mode = 55; + optional string log_level = 56; + optional string log_prefix = 57; + optional string log_file = 58; + optional bool log_timestamps = 59; + optional string force_feerates = 60; + optional string subdaemon = 61; + optional bool fetchinvoice_noconnect = 62; + optional string accept_htlc_tlv_types = 63; + optional string tor_service_password = 64; + optional bool dev_allowdustreserve = 65; + optional bool announce_addr_dns = 66; + optional bool require_confirmed_inputs = 67; + optional bool developer = 68; + optional uint64 commit_fee = 69; + optional Amount min_emergency_msat = 70; + optional uint32 commit_feerate_offset = 71; +} + +message ListconfigsConfigs { + optional ListconfigsConfigsConf conf = 1; + optional ListconfigsConfigsDeveloper developer = 2; + optional ListconfigsConfigsClearplugins clear_plugins = 3; + optional ListconfigsConfigsDisablempp disable_mpp = 4; + optional ListconfigsConfigsMainnet mainnet = 5; + optional ListconfigsConfigsRegtest regtest = 6; + optional ListconfigsConfigsSignet signet = 7; + optional ListconfigsConfigsTestnet testnet = 8; + optional ListconfigsConfigsImportantplugin important_plugin = 9; + optional ListconfigsConfigsPlugin plugin = 10; + optional ListconfigsConfigsPlugindir plugin_dir = 11; + optional ListconfigsConfigsLightningdir lightning_dir = 12; + optional ListconfigsConfigsNetwork network = 13; + optional ListconfigsConfigsAllowdeprecatedapis allow_deprecated_apis = 14; + optional ListconfigsConfigsRpcfile rpc_file = 15; + optional ListconfigsConfigsDisableplugin disable_plugin = 16; + optional ListconfigsConfigsAlwaysuseproxy always_use_proxy = 17; + optional ListconfigsConfigsDaemon daemon = 18; + optional ListconfigsConfigsWallet wallet = 19; + optional ListconfigsConfigsLargechannels large_channels = 20; + optional ListconfigsConfigsExperimentaldualfund experimental_dual_fund = 21; + optional ListconfigsConfigsExperimentalsplicing experimental_splicing = 22; + optional ListconfigsConfigsExperimentalonionmessages experimental_onion_messages = 23; + optional ListconfigsConfigsExperimentaloffers experimental_offers = 24; + optional ListconfigsConfigsExperimentalshutdownwrongfunding experimental_shutdown_wrong_funding = 25; + optional ListconfigsConfigsExperimentalpeerstorage experimental_peer_storage = 26; + optional ListconfigsConfigsExperimentalanchors experimental_anchors = 27; + optional ListconfigsConfigsDatabaseupgrade database_upgrade = 28; + optional ListconfigsConfigsRgb rgb = 29; + optional ListconfigsConfigsAlias alias = 30; + optional ListconfigsConfigsPidfile pid_file = 31; + optional ListconfigsConfigsIgnorefeelimits ignore_fee_limits = 32; + optional ListconfigsConfigsWatchtimeblocks watchtime_blocks = 33; + optional ListconfigsConfigsMaxlocktimeblocks max_locktime_blocks = 34; + optional ListconfigsConfigsFundingconfirms funding_confirms = 35; + optional ListconfigsConfigsCltvdelta cltv_delta = 36; + optional ListconfigsConfigsCltvfinal cltv_final = 37; + optional ListconfigsConfigsCommittime commit_time = 38; + optional ListconfigsConfigsFeebase fee_base = 39; + optional ListconfigsConfigsRescan rescan = 40; + optional ListconfigsConfigsFeepersatoshi fee_per_satoshi = 41; + optional ListconfigsConfigsMaxconcurrenthtlcs max_concurrent_htlcs = 42; + optional ListconfigsConfigsHtlcminimummsat htlc_minimum_msat = 43; + optional ListconfigsConfigsHtlcmaximummsat htlc_maximum_msat = 44; + optional ListconfigsConfigsMaxdusthtlcexposuremsat max_dust_htlc_exposure_msat = 45; + optional ListconfigsConfigsMincapacitysat min_capacity_sat = 46; + optional ListconfigsConfigsAddr addr = 47; + optional ListconfigsConfigsAnnounceaddr announce_addr = 48; + optional ListconfigsConfigsBindaddr bind_addr = 49; + optional ListconfigsConfigsOffline offline = 50; + optional ListconfigsConfigsAutolisten autolisten = 51; + optional ListconfigsConfigsProxy proxy = 52; + optional ListconfigsConfigsDisabledns disable_dns = 53; + optional ListconfigsConfigsAnnounceaddrdiscovered announce_addr_discovered = 54; + optional ListconfigsConfigsAnnounceaddrdiscoveredport announce_addr_discovered_port = 55; + optional ListconfigsConfigsEncryptedhsm encrypted_hsm = 56; + optional ListconfigsConfigsRpcfilemode rpc_file_mode = 57; + optional ListconfigsConfigsLoglevel log_level = 58; + optional ListconfigsConfigsLogprefix log_prefix = 59; + optional ListconfigsConfigsLogfile log_file = 60; + optional ListconfigsConfigsLogtimestamps log_timestamps = 61; + optional ListconfigsConfigsForcefeerates force_feerates = 62; + optional ListconfigsConfigsSubdaemon subdaemon = 63; + optional ListconfigsConfigsFetchinvoicenoconnect fetchinvoice_noconnect = 64; + optional ListconfigsConfigsAccepthtlctlvtypes accept_htlc_tlv_types = 65; + optional ListconfigsConfigsTorservicepassword tor_service_password = 66; + optional ListconfigsConfigsAnnounceaddrdns announce_addr_dns = 67; + optional ListconfigsConfigsRequireconfirmedinputs require_confirmed_inputs = 68; + optional ListconfigsConfigsCommitfee commit_fee = 69; + optional ListconfigsConfigsCommitfeerateoffset commit_feerate_offset = 70; +} + +message ListconfigsConfigsConf { + // ListConfigs.configs.conf.source + enum ListconfigsConfigsConfSource { + CMDLINE = 0; + } + string value_str = 1; + ListconfigsConfigsConfSource source = 2; +} + +message ListconfigsConfigsDeveloper { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsClearplugins { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsDisablempp { + bool set = 1; + string source = 2; + optional string plugin = 3; +} + +message ListconfigsConfigsMainnet { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsRegtest { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsSignet { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsTestnet { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsImportantplugin { + repeated string values_str = 1; + repeated string sources = 2; +} + +message ListconfigsConfigsPlugin { + repeated string values_str = 1; + repeated string sources = 2; +} + +message ListconfigsConfigsPlugindir { + repeated string values_str = 1; + repeated string sources = 2; +} + +message ListconfigsConfigsLightningdir { + string value_str = 1; + string source = 2; +} + +message ListconfigsConfigsNetwork { + string value_str = 1; + string source = 2; +} + +message ListconfigsConfigsAllowdeprecatedapis { + bool value_bool = 1; + string source = 2; +} + +message ListconfigsConfigsRpcfile { + string value_str = 1; + string source = 2; +} + +message ListconfigsConfigsDisableplugin { + repeated string values_str = 1; + repeated string sources = 2; +} + +message ListconfigsConfigsAlwaysuseproxy { + bool value_bool = 1; + string source = 2; +} + +message ListconfigsConfigsDaemon { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsWallet { + string value_str = 1; + string source = 2; +} + +message ListconfigsConfigsLargechannels { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsExperimentaldualfund { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsExperimentalsplicing { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsExperimentalonionmessages { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsExperimentaloffers { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsExperimentalshutdownwrongfunding { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsExperimentalpeerstorage { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsExperimentalanchors { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsDatabaseupgrade { + bool value_bool = 1; + string source = 2; +} + +message ListconfigsConfigsRgb { + bytes value_str = 1; + string source = 2; +} + +message ListconfigsConfigsAlias { + string value_str = 1; + string source = 2; +} + +message ListconfigsConfigsPidfile { + string value_str = 1; + string source = 2; +} + +message ListconfigsConfigsIgnorefeelimits { + bool value_bool = 1; + string source = 2; +} + +message ListconfigsConfigsWatchtimeblocks { + uint32 value_int = 1; + string source = 2; +} + +message ListconfigsConfigsMaxlocktimeblocks { + uint32 value_int = 1; + string source = 2; +} + +message ListconfigsConfigsFundingconfirms { + uint32 value_int = 1; + string source = 2; +} + +message ListconfigsConfigsCltvdelta { + uint32 value_int = 1; + string source = 2; +} + +message ListconfigsConfigsCltvfinal { + uint32 value_int = 1; + string source = 2; +} + +message ListconfigsConfigsCommittime { + uint32 value_int = 1; + string source = 2; +} + +message ListconfigsConfigsFeebase { + uint32 value_int = 1; + string source = 2; +} + +message ListconfigsConfigsRescan { + sint64 value_int = 1; + string source = 2; +} + +message ListconfigsConfigsFeepersatoshi { + uint32 value_int = 1; + string source = 2; +} + +message ListconfigsConfigsMaxconcurrenthtlcs { + uint32 value_int = 1; + string source = 2; +} + +message ListconfigsConfigsHtlcminimummsat { + Amount value_msat = 1; + string source = 2; +} + +message ListconfigsConfigsHtlcmaximummsat { + Amount value_msat = 1; + string source = 2; +} + +message ListconfigsConfigsMaxdusthtlcexposuremsat { + Amount value_msat = 1; + string source = 2; +} + +message ListconfigsConfigsMincapacitysat { + uint64 value_int = 1; + string source = 2; + optional bool dynamic = 3; +} + +message ListconfigsConfigsAddr { + repeated string values_str = 1; + repeated string sources = 2; +} + +message ListconfigsConfigsAnnounceaddr { + repeated string values_str = 1; + repeated string sources = 2; +} + +message ListconfigsConfigsBindaddr { + repeated string values_str = 1; + repeated string sources = 2; +} + +message ListconfigsConfigsOffline { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsAutolisten { + bool value_bool = 1; + string source = 2; +} + +message ListconfigsConfigsProxy { + string value_str = 1; + string source = 2; +} + +message ListconfigsConfigsDisabledns { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsAnnounceaddrdiscovered { + // ListConfigs.configs.announce-addr-discovered.value_str + enum ListconfigsConfigsAnnounceaddrdiscoveredValue_str { + TRUE = 0; + FALSE = 1; + AUTO = 2; + } + ListconfigsConfigsAnnounceaddrdiscoveredValue_str value_str = 1; + string source = 2; +} + +message ListconfigsConfigsAnnounceaddrdiscoveredport { + uint32 value_int = 1; + string source = 2; +} + +message ListconfigsConfigsEncryptedhsm { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsRpcfilemode { + string value_str = 1; + string source = 2; +} + +message ListconfigsConfigsLoglevel { + string value_str = 1; + string source = 2; +} + +message ListconfigsConfigsLogprefix { + string value_str = 1; + string source = 2; +} + +message ListconfigsConfigsLogfile { + repeated string values_str = 1; + repeated string sources = 2; +} + +message ListconfigsConfigsLogtimestamps { + bool value_bool = 1; + string source = 2; +} + +message ListconfigsConfigsForcefeerates { + string value_str = 1; + string source = 2; +} + +message ListconfigsConfigsSubdaemon { + repeated string values_str = 1; + repeated string sources = 2; +} + +message ListconfigsConfigsFetchinvoicenoconnect { + bool set = 1; + string source = 2; +} + +message ListconfigsConfigsAccepthtlctlvtypes { + string value_str = 1; + string source = 2; +} + +message ListconfigsConfigsTorservicepassword { + string value_str = 1; + string source = 2; +} + +message ListconfigsConfigsAnnounceaddrdns { + bool value_bool = 1; + string source = 2; +} + +message ListconfigsConfigsRequireconfirmedinputs { + bool value_bool = 1; + string source = 2; +} + +message ListconfigsConfigsCommitfee { + uint64 value_int = 1; + string source = 2; +} + +message ListconfigsConfigsCommitfeerateoffset { + uint32 value_int = 1; + string source = 2; +} + +message ListconfigsPlugins { + string path = 1; + string name = 2; + optional ListconfigsPluginsOptions options = 3; +} + +message ListconfigsPluginsOptions { +} + +message ListconfigsImportantplugins { + string path = 1; + string name = 2; + optional ListconfigsImportantpluginsOptions options = 3; +} + +message ListconfigsImportantpluginsOptions { } message StopRequest { } message StopResponse { + // Stop.result + enum StopResult { + SHUTDOWN_COMPLETE = 0; + } + optional StopResult result = 1; +} + +message HelpRequest { + optional string command = 1; +} + +message HelpResponse { + // Help.format-hint + enum HelpFormathint { + SIMPLE = 0; + } + repeated HelpHelp help = 1; + optional HelpFormathint format_hint = 2; +} + +message HelpHelp { + string command = 1; + string category = 2; + string description = 3; + string verbose = 4; } message PreapprovekeysendRequest { - optional bytes destination = 1; - optional bytes payment_hash = 2; - optional Amount amount_msat = 3; + bytes destination = 1; + bytes payment_hash = 2; + Amount amount_msat = 3; } message PreapprovekeysendResponse { } message PreapproveinvoiceRequest { - optional string bolt11 = 1; + string bolt11 = 1; } message PreapproveinvoiceResponse { @@ -1976,6 +3358,144 @@ message StaticbackupResponse { repeated bytes scb = 1; } +message BkprchannelsapyRequest { + optional uint64 start_time = 1; + optional uint64 end_time = 2; +} + +message BkprchannelsapyResponse { + repeated BkprchannelsapyChannels_apy channels_apy = 1; +} + +message BkprchannelsapyChannels_apy { + string account = 1; + Amount routed_out_msat = 2; + Amount routed_in_msat = 3; + Amount lease_fee_paid_msat = 4; + Amount lease_fee_earned_msat = 5; + Amount pushed_out_msat = 6; + Amount pushed_in_msat = 7; + Amount our_start_balance_msat = 8; + Amount channel_start_balance_msat = 9; + Amount fees_out_msat = 10; + optional Amount fees_in_msat = 11; + string utilization_out = 12; + optional string utilization_out_initial = 13; + string utilization_in = 14; + optional string utilization_in_initial = 15; + string apy_out = 16; + optional string apy_out_initial = 17; + string apy_in = 18; + optional string apy_in_initial = 19; + string apy_total = 20; + optional string apy_total_initial = 21; + optional string apy_lease = 22; +} + +message BkprdumpincomecsvRequest { + string csv_format = 1; + optional string csv_file = 2; + optional bool consolidate_fees = 3; + optional uint64 start_time = 4; + optional uint64 end_time = 5; +} + +message BkprdumpincomecsvResponse { + // Bkpr-DumpIncomeCsv.csv_format + enum BkprdumpincomecsvCsv_format { + COINTRACKER = 0; + KOINLY = 1; + HARMONY = 2; + QUICKBOOKS = 3; + } + string csv_file = 1; + BkprdumpincomecsvCsv_format csv_format = 2; +} + +message BkprinspectRequest { + string account = 1; +} + +message BkprinspectResponse { + repeated BkprinspectTxs txs = 1; +} + +message BkprinspectTxs { + bytes txid = 1; + optional uint32 blockheight = 2; + Amount fees_paid_msat = 3; + repeated BkprinspectTxsOutputs outputs = 4; +} + +message BkprinspectTxsOutputs { + string account = 1; + uint32 outnum = 2; + Amount output_value_msat = 3; + string currency = 4; + optional Amount credit_msat = 5; + optional Amount debit_msat = 6; + optional string originating_account = 7; + optional string output_tag = 8; + optional string spend_tag = 9; + optional bytes spending_txid = 10; + optional bytes payment_id = 11; +} + +message BkprlistaccounteventsRequest { + optional string account = 1; +} + +message BkprlistaccounteventsResponse { + repeated BkprlistaccounteventsEvents events = 1; +} + +message BkprlistaccounteventsEvents { + // Bkpr-ListAccountEvents.events[].type + enum BkprlistaccounteventsEventsType { + ONCHAIN_FEE = 0; + CHAIN = 1; + CHANNEL = 2; + } + string account = 1; + BkprlistaccounteventsEventsType item_type = 2; + string tag = 3; + Amount credit_msat = 4; + Amount debit_msat = 5; + string currency = 6; + uint32 timestamp = 7; + optional string outpoint = 8; + optional uint32 blockheight = 9; + optional string origin = 10; + optional bytes payment_id = 11; + optional bytes txid = 12; + optional string description = 13; + optional Amount fees_msat = 14; + optional bool is_rebalance = 15; + optional uint32 part_id = 16; +} + +message BkprlistbalancesRequest { +} + +message BkprlistbalancesResponse { + repeated BkprlistbalancesAccounts accounts = 1; +} + +message BkprlistbalancesAccounts { + string account = 1; + repeated BkprlistbalancesAccountsBalances balances = 2; + optional bytes peer_id = 3; + optional bool we_opened = 4; + optional bool account_closed = 5; + optional bool account_resolved = 6; + optional uint32 resolved_at_block = 7; +} + +message BkprlistbalancesAccountsBalances { + Amount balance_msat = 1; + string coin_type = 2; +} + message BkprlistincomeRequest { optional bool consolidate_fees = 1; optional uint32 start_time = 2; @@ -1998,3 +3518,132 @@ message BkprlistincomeIncome_events { optional bytes txid = 9; optional bytes payment_id = 10; } + +message BlacklistruneRequest { + optional uint64 start = 1; + optional uint64 end = 2; +} + +message BlacklistruneResponse { + repeated BlacklistruneBlacklist blacklist = 1; +} + +message BlacklistruneBlacklist { + uint64 start = 1; + uint64 end = 2; +} + +message CheckruneRequest { + string rune = 1; + optional string nodeid = 2; + optional string method = 3; + repeated string params = 4; +} + +message CheckruneResponse { + bool valid = 1; +} + +message CreateruneRequest { + optional string rune = 1; + repeated string restrictions = 2; +} + +message CreateruneResponse { + string rune = 1; + string unique_id = 2; + optional string warning_unrestricted_rune = 3; +} + +message ShowrunesRequest { + optional string rune = 1; +} + +message ShowrunesResponse { + repeated ShowrunesRunes runes = 1; +} + +message ShowrunesRunes { + string rune = 1; + string unique_id = 2; + repeated ShowrunesRunesRestrictions restrictions = 3; + string restrictions_as_english = 4; + optional bool stored = 5; + optional bool blacklisted = 6; + optional double last_used = 7; + optional bool our_rune = 8; +} + +message ShowrunesRunesRestrictions { + repeated ShowrunesRunesRestrictionsAlternatives alternatives = 1; + string english = 2; +} + +message ShowrunesRunesRestrictionsAlternatives { + string fieldname = 1; + string value = 2; + string condition = 3; + string english = 4; +} + +message StreamBlockAddedRequest { +} + +message BlockAddedNotification { + bytes hash = 1; + uint32 height = 2; +} + +message StreamChannelOpenFailedRequest { +} + +message ChannelOpenFailedNotification { + bytes channel_id = 1; +} + +message StreamChannelOpenedRequest { +} + +message ChannelOpenedNotification { + optional bytes id = 1; + Amount funding_msat = 2; + bytes funding_txid = 3; + bool channel_ready = 4; +} + +message StreamConnectRequest { +} + +message PeerConnectNotification { + // connect.direction + enum PeerConnectDirection { + IN = 0; + OUT = 1; + } + bytes id = 1; + PeerConnectDirection direction = 2; + PeerConnectAddress address = 3; +} + +message PeerConnectAddress { + // connect.address.type + enum PeerConnectAddressType { + LOCAL_SOCKET = 0; + IPV4 = 1; + IPV6 = 2; + TORV2 = 3; + TORV3 = 4; + } + PeerConnectAddressType item_type = 1; + optional string socket = 2; + optional string address = 3; + optional uint32 port = 4; +} + +message StreamCustomMsgRequest { +} + +message CustomMsgNotification { + bytes peer_id = 1; + bytes payload = 2; +} diff --git a/cln/rpc/node_grpc.pb.go b/cln/rpc/node_grpc.pb.go index 80ebb252..f3eb48be 100644 --- a/cln/rpc/node_grpc.pb.go +++ b/cln/rpc/node_grpc.pb.go @@ -28,7 +28,10 @@ type NodeClient interface { SendPay(ctx context.Context, in *SendpayRequest, opts ...grpc.CallOption) (*SendpayResponse, error) ListChannels(ctx context.Context, in *ListchannelsRequest, opts ...grpc.CallOption) (*ListchannelsResponse, error) AddGossip(ctx context.Context, in *AddgossipRequest, opts ...grpc.CallOption) (*AddgossipResponse, error) + AddPsbtOutput(ctx context.Context, in *AddpsbtoutputRequest, opts ...grpc.CallOption) (*AddpsbtoutputResponse, error) AutoCleanInvoice(ctx context.Context, in *AutocleaninvoiceRequest, opts ...grpc.CallOption) (*AutocleaninvoiceResponse, error) + AutoCleanOnce(ctx context.Context, in *AutocleanonceRequest, opts ...grpc.CallOption) (*AutocleanonceResponse, error) + AutoCleanStatus(ctx context.Context, in *AutocleanstatusRequest, opts ...grpc.CallOption) (*AutocleanstatusResponse, error) CheckMessage(ctx context.Context, in *CheckmessageRequest, opts ...grpc.CallOption) (*CheckmessageResponse, error) Close(ctx context.Context, in *CloseRequest, opts ...grpc.CallOption) (*CloseResponse, error) ConnectPeer(ctx context.Context, in *ConnectRequest, opts ...grpc.CallOption) (*ConnectResponse, error) @@ -37,14 +40,21 @@ type NodeClient interface { DatastoreUsage(ctx context.Context, in *DatastoreusageRequest, opts ...grpc.CallOption) (*DatastoreusageResponse, error) CreateOnion(ctx context.Context, in *CreateonionRequest, opts ...grpc.CallOption) (*CreateonionResponse, error) DelDatastore(ctx context.Context, in *DeldatastoreRequest, opts ...grpc.CallOption) (*DeldatastoreResponse, error) - DelExpiredInvoice(ctx context.Context, in *DelexpiredinvoiceRequest, opts ...grpc.CallOption) (*DelexpiredinvoiceResponse, error) DelInvoice(ctx context.Context, in *DelinvoiceRequest, opts ...grpc.CallOption) (*DelinvoiceResponse, error) + DevForgetChannel(ctx context.Context, in *DevforgetchannelRequest, opts ...grpc.CallOption) (*DevforgetchannelResponse, error) + EmergencyRecover(ctx context.Context, in *EmergencyrecoverRequest, opts ...grpc.CallOption) (*EmergencyrecoverResponse, error) + Recover(ctx context.Context, in *RecoverRequest, opts ...grpc.CallOption) (*RecoverResponse, error) + RecoverChannel(ctx context.Context, in *RecoverchannelRequest, opts ...grpc.CallOption) (*RecoverchannelResponse, error) Invoice(ctx context.Context, in *InvoiceRequest, opts ...grpc.CallOption) (*InvoiceResponse, error) + CreateInvoiceRequest(ctx context.Context, in *InvoicerequestRequest, opts ...grpc.CallOption) (*InvoicerequestResponse, error) + DisableInvoiceRequest(ctx context.Context, in *DisableinvoicerequestRequest, opts ...grpc.CallOption) (*DisableinvoicerequestResponse, error) + ListInvoiceRequests(ctx context.Context, in *ListinvoicerequestsRequest, opts ...grpc.CallOption) (*ListinvoicerequestsResponse, error) ListDatastore(ctx context.Context, in *ListdatastoreRequest, opts ...grpc.CallOption) (*ListdatastoreResponse, error) ListInvoices(ctx context.Context, in *ListinvoicesRequest, opts ...grpc.CallOption) (*ListinvoicesResponse, error) SendOnion(ctx context.Context, in *SendonionRequest, opts ...grpc.CallOption) (*SendonionResponse, error) ListSendPays(ctx context.Context, in *ListsendpaysRequest, opts ...grpc.CallOption) (*ListsendpaysResponse, error) ListTransactions(ctx context.Context, in *ListtransactionsRequest, opts ...grpc.CallOption) (*ListtransactionsResponse, error) + MakeSecret(ctx context.Context, in *MakesecretRequest, opts ...grpc.CallOption) (*MakesecretResponse, error) Pay(ctx context.Context, in *PayRequest, opts ...grpc.CallOption) (*PayResponse, error) ListNodes(ctx context.Context, in *ListnodesRequest, opts ...grpc.CallOption) (*ListnodesResponse, error) WaitAnyInvoice(ctx context.Context, in *WaitanyinvoiceRequest, opts ...grpc.CallOption) (*WaitanyinvoiceResponse, error) @@ -64,28 +74,72 @@ type NodeClient interface { ListClosedChannels(ctx context.Context, in *ListclosedchannelsRequest, opts ...grpc.CallOption) (*ListclosedchannelsResponse, error) DecodePay(ctx context.Context, in *DecodepayRequest, opts ...grpc.CallOption) (*DecodepayResponse, error) Decode(ctx context.Context, in *DecodeRequest, opts ...grpc.CallOption) (*DecodeResponse, error) + DelPay(ctx context.Context, in *DelpayRequest, opts ...grpc.CallOption) (*DelpayResponse, error) + DelForward(ctx context.Context, in *DelforwardRequest, opts ...grpc.CallOption) (*DelforwardResponse, error) + DisableOffer(ctx context.Context, in *DisableofferRequest, opts ...grpc.CallOption) (*DisableofferResponse, error) Disconnect(ctx context.Context, in *DisconnectRequest, opts ...grpc.CallOption) (*DisconnectResponse, error) Feerates(ctx context.Context, in *FeeratesRequest, opts ...grpc.CallOption) (*FeeratesResponse, error) FetchInvoice(ctx context.Context, in *FetchinvoiceRequest, opts ...grpc.CallOption) (*FetchinvoiceResponse, error) + FundChannel_Cancel(ctx context.Context, in *FundchannelCancelRequest, opts ...grpc.CallOption) (*FundchannelCancelResponse, error) + FundChannel_Complete(ctx context.Context, in *FundchannelCompleteRequest, opts ...grpc.CallOption) (*FundchannelCompleteResponse, error) FundChannel(ctx context.Context, in *FundchannelRequest, opts ...grpc.CallOption) (*FundchannelResponse, error) + FundChannel_Start(ctx context.Context, in *FundchannelStartRequest, opts ...grpc.CallOption) (*FundchannelStartResponse, error) + GetLog(ctx context.Context, in *GetlogRequest, opts ...grpc.CallOption) (*GetlogResponse, error) + FunderUpdate(ctx context.Context, in *FunderupdateRequest, opts ...grpc.CallOption) (*FunderupdateResponse, error) GetRoute(ctx context.Context, in *GetrouteRequest, opts ...grpc.CallOption) (*GetrouteResponse, error) ListForwards(ctx context.Context, in *ListforwardsRequest, opts ...grpc.CallOption) (*ListforwardsResponse, error) ListOffers(ctx context.Context, in *ListoffersRequest, opts ...grpc.CallOption) (*ListoffersResponse, error) ListPays(ctx context.Context, in *ListpaysRequest, opts ...grpc.CallOption) (*ListpaysResponse, error) ListHtlcs(ctx context.Context, in *ListhtlcsRequest, opts ...grpc.CallOption) (*ListhtlcsResponse, error) + MultiFundChannel(ctx context.Context, in *MultifundchannelRequest, opts ...grpc.CallOption) (*MultifundchannelResponse, error) + MultiWithdraw(ctx context.Context, in *MultiwithdrawRequest, opts ...grpc.CallOption) (*MultiwithdrawResponse, error) Offer(ctx context.Context, in *OfferRequest, opts ...grpc.CallOption) (*OfferResponse, error) + OpenChannel_Abort(ctx context.Context, in *OpenchannelAbortRequest, opts ...grpc.CallOption) (*OpenchannelAbortResponse, error) + OpenChannel_Bump(ctx context.Context, in *OpenchannelBumpRequest, opts ...grpc.CallOption) (*OpenchannelBumpResponse, error) + OpenChannel_Init(ctx context.Context, in *OpenchannelInitRequest, opts ...grpc.CallOption) (*OpenchannelInitResponse, error) + OpenChannel_Signed(ctx context.Context, in *OpenchannelSignedRequest, opts ...grpc.CallOption) (*OpenchannelSignedResponse, error) + OpenChannel_Update(ctx context.Context, in *OpenchannelUpdateRequest, opts ...grpc.CallOption) (*OpenchannelUpdateResponse, error) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) + Plugin(ctx context.Context, in *PluginRequest, opts ...grpc.CallOption) (*PluginResponse, error) + RenePayStatus(ctx context.Context, in *RenepaystatusRequest, opts ...grpc.CallOption) (*RenepaystatusResponse, error) + RenePay(ctx context.Context, in *RenepayRequest, opts ...grpc.CallOption) (*RenepayResponse, error) + ReserveInputs(ctx context.Context, in *ReserveinputsRequest, opts ...grpc.CallOption) (*ReserveinputsResponse, error) SendCustomMsg(ctx context.Context, in *SendcustommsgRequest, opts ...grpc.CallOption) (*SendcustommsgResponse, error) + SendInvoice(ctx context.Context, in *SendinvoiceRequest, opts ...grpc.CallOption) (*SendinvoiceResponse, error) + SendOnionMessage(ctx context.Context, in *SendonionmessageRequest, opts ...grpc.CallOption) (*SendonionmessageResponse, error) SetChannel(ctx context.Context, in *SetchannelRequest, opts ...grpc.CallOption) (*SetchannelResponse, error) + SetConfig(ctx context.Context, in *SetconfigRequest, opts ...grpc.CallOption) (*SetconfigResponse, error) + SetPsbtVersion(ctx context.Context, in *SetpsbtversionRequest, opts ...grpc.CallOption) (*SetpsbtversionResponse, error) SignInvoice(ctx context.Context, in *SigninvoiceRequest, opts ...grpc.CallOption) (*SigninvoiceResponse, error) SignMessage(ctx context.Context, in *SignmessageRequest, opts ...grpc.CallOption) (*SignmessageResponse, error) + Splice_Init(ctx context.Context, in *SpliceInitRequest, opts ...grpc.CallOption) (*SpliceInitResponse, error) + Splice_Signed(ctx context.Context, in *SpliceSignedRequest, opts ...grpc.CallOption) (*SpliceSignedResponse, error) + Splice_Update(ctx context.Context, in *SpliceUpdateRequest, opts ...grpc.CallOption) (*SpliceUpdateResponse, error) + UnreserveInputs(ctx context.Context, in *UnreserveinputsRequest, opts ...grpc.CallOption) (*UnreserveinputsResponse, error) + UpgradeWallet(ctx context.Context, in *UpgradewalletRequest, opts ...grpc.CallOption) (*UpgradewalletResponse, error) WaitBlockHeight(ctx context.Context, in *WaitblockheightRequest, opts ...grpc.CallOption) (*WaitblockheightResponse, error) Wait(ctx context.Context, in *WaitRequest, opts ...grpc.CallOption) (*WaitResponse, error) + ListConfigs(ctx context.Context, in *ListconfigsRequest, opts ...grpc.CallOption) (*ListconfigsResponse, error) Stop(ctx context.Context, in *StopRequest, opts ...grpc.CallOption) (*StopResponse, error) + Help(ctx context.Context, in *HelpRequest, opts ...grpc.CallOption) (*HelpResponse, error) PreApproveKeysend(ctx context.Context, in *PreapprovekeysendRequest, opts ...grpc.CallOption) (*PreapprovekeysendResponse, error) PreApproveInvoice(ctx context.Context, in *PreapproveinvoiceRequest, opts ...grpc.CallOption) (*PreapproveinvoiceResponse, error) StaticBackup(ctx context.Context, in *StaticbackupRequest, opts ...grpc.CallOption) (*StaticbackupResponse, error) + BkprChannelsApy(ctx context.Context, in *BkprchannelsapyRequest, opts ...grpc.CallOption) (*BkprchannelsapyResponse, error) + BkprDumpIncomeCsv(ctx context.Context, in *BkprdumpincomecsvRequest, opts ...grpc.CallOption) (*BkprdumpincomecsvResponse, error) + BkprInspect(ctx context.Context, in *BkprinspectRequest, opts ...grpc.CallOption) (*BkprinspectResponse, error) + BkprListAccountEvents(ctx context.Context, in *BkprlistaccounteventsRequest, opts ...grpc.CallOption) (*BkprlistaccounteventsResponse, error) + BkprListBalances(ctx context.Context, in *BkprlistbalancesRequest, opts ...grpc.CallOption) (*BkprlistbalancesResponse, error) BkprListIncome(ctx context.Context, in *BkprlistincomeRequest, opts ...grpc.CallOption) (*BkprlistincomeResponse, error) + BlacklistRune(ctx context.Context, in *BlacklistruneRequest, opts ...grpc.CallOption) (*BlacklistruneResponse, error) + CheckRune(ctx context.Context, in *CheckruneRequest, opts ...grpc.CallOption) (*CheckruneResponse, error) + CreateRune(ctx context.Context, in *CreateruneRequest, opts ...grpc.CallOption) (*CreateruneResponse, error) + ShowRunes(ctx context.Context, in *ShowrunesRequest, opts ...grpc.CallOption) (*ShowrunesResponse, error) + SubscribeBlockAdded(ctx context.Context, in *StreamBlockAddedRequest, opts ...grpc.CallOption) (Node_SubscribeBlockAddedClient, error) + SubscribeChannelOpenFailed(ctx context.Context, in *StreamChannelOpenFailedRequest, opts ...grpc.CallOption) (Node_SubscribeChannelOpenFailedClient, error) + SubscribeChannelOpened(ctx context.Context, in *StreamChannelOpenedRequest, opts ...grpc.CallOption) (Node_SubscribeChannelOpenedClient, error) + SubscribeConnect(ctx context.Context, in *StreamConnectRequest, opts ...grpc.CallOption) (Node_SubscribeConnectClient, error) + SubscribeCustomMsg(ctx context.Context, in *StreamCustomMsgRequest, opts ...grpc.CallOption) (Node_SubscribeCustomMsgClient, error) } type nodeClient struct { @@ -150,6 +204,15 @@ func (c *nodeClient) AddGossip(ctx context.Context, in *AddgossipRequest, opts . return out, nil } +func (c *nodeClient) AddPsbtOutput(ctx context.Context, in *AddpsbtoutputRequest, opts ...grpc.CallOption) (*AddpsbtoutputResponse, error) { + out := new(AddpsbtoutputResponse) + err := c.cc.Invoke(ctx, "/cln.Node/AddPsbtOutput", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) AutoCleanInvoice(ctx context.Context, in *AutocleaninvoiceRequest, opts ...grpc.CallOption) (*AutocleaninvoiceResponse, error) { out := new(AutocleaninvoiceResponse) err := c.cc.Invoke(ctx, "/cln.Node/AutoCleanInvoice", in, out, opts...) @@ -159,6 +222,24 @@ func (c *nodeClient) AutoCleanInvoice(ctx context.Context, in *AutocleaninvoiceR return out, nil } +func (c *nodeClient) AutoCleanOnce(ctx context.Context, in *AutocleanonceRequest, opts ...grpc.CallOption) (*AutocleanonceResponse, error) { + out := new(AutocleanonceResponse) + err := c.cc.Invoke(ctx, "/cln.Node/AutoCleanOnce", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) AutoCleanStatus(ctx context.Context, in *AutocleanstatusRequest, opts ...grpc.CallOption) (*AutocleanstatusResponse, error) { + out := new(AutocleanstatusResponse) + err := c.cc.Invoke(ctx, "/cln.Node/AutoCleanStatus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) CheckMessage(ctx context.Context, in *CheckmessageRequest, opts ...grpc.CallOption) (*CheckmessageResponse, error) { out := new(CheckmessageResponse) err := c.cc.Invoke(ctx, "/cln.Node/CheckMessage", in, out, opts...) @@ -231,18 +312,45 @@ func (c *nodeClient) DelDatastore(ctx context.Context, in *DeldatastoreRequest, return out, nil } -func (c *nodeClient) DelExpiredInvoice(ctx context.Context, in *DelexpiredinvoiceRequest, opts ...grpc.CallOption) (*DelexpiredinvoiceResponse, error) { - out := new(DelexpiredinvoiceResponse) - err := c.cc.Invoke(ctx, "/cln.Node/DelExpiredInvoice", in, out, opts...) +func (c *nodeClient) DelInvoice(ctx context.Context, in *DelinvoiceRequest, opts ...grpc.CallOption) (*DelinvoiceResponse, error) { + out := new(DelinvoiceResponse) + err := c.cc.Invoke(ctx, "/cln.Node/DelInvoice", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *nodeClient) DelInvoice(ctx context.Context, in *DelinvoiceRequest, opts ...grpc.CallOption) (*DelinvoiceResponse, error) { - out := new(DelinvoiceResponse) - err := c.cc.Invoke(ctx, "/cln.Node/DelInvoice", in, out, opts...) +func (c *nodeClient) DevForgetChannel(ctx context.Context, in *DevforgetchannelRequest, opts ...grpc.CallOption) (*DevforgetchannelResponse, error) { + out := new(DevforgetchannelResponse) + err := c.cc.Invoke(ctx, "/cln.Node/DevForgetChannel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) EmergencyRecover(ctx context.Context, in *EmergencyrecoverRequest, opts ...grpc.CallOption) (*EmergencyrecoverResponse, error) { + out := new(EmergencyrecoverResponse) + err := c.cc.Invoke(ctx, "/cln.Node/EmergencyRecover", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) Recover(ctx context.Context, in *RecoverRequest, opts ...grpc.CallOption) (*RecoverResponse, error) { + out := new(RecoverResponse) + err := c.cc.Invoke(ctx, "/cln.Node/Recover", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) RecoverChannel(ctx context.Context, in *RecoverchannelRequest, opts ...grpc.CallOption) (*RecoverchannelResponse, error) { + out := new(RecoverchannelResponse) + err := c.cc.Invoke(ctx, "/cln.Node/RecoverChannel", in, out, opts...) if err != nil { return nil, err } @@ -258,6 +366,33 @@ func (c *nodeClient) Invoice(ctx context.Context, in *InvoiceRequest, opts ...gr return out, nil } +func (c *nodeClient) CreateInvoiceRequest(ctx context.Context, in *InvoicerequestRequest, opts ...grpc.CallOption) (*InvoicerequestResponse, error) { + out := new(InvoicerequestResponse) + err := c.cc.Invoke(ctx, "/cln.Node/CreateInvoiceRequest", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) DisableInvoiceRequest(ctx context.Context, in *DisableinvoicerequestRequest, opts ...grpc.CallOption) (*DisableinvoicerequestResponse, error) { + out := new(DisableinvoicerequestResponse) + err := c.cc.Invoke(ctx, "/cln.Node/DisableInvoiceRequest", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) ListInvoiceRequests(ctx context.Context, in *ListinvoicerequestsRequest, opts ...grpc.CallOption) (*ListinvoicerequestsResponse, error) { + out := new(ListinvoicerequestsResponse) + err := c.cc.Invoke(ctx, "/cln.Node/ListInvoiceRequests", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) ListDatastore(ctx context.Context, in *ListdatastoreRequest, opts ...grpc.CallOption) (*ListdatastoreResponse, error) { out := new(ListdatastoreResponse) err := c.cc.Invoke(ctx, "/cln.Node/ListDatastore", in, out, opts...) @@ -303,6 +438,15 @@ func (c *nodeClient) ListTransactions(ctx context.Context, in *ListtransactionsR return out, nil } +func (c *nodeClient) MakeSecret(ctx context.Context, in *MakesecretRequest, opts ...grpc.CallOption) (*MakesecretResponse, error) { + out := new(MakesecretResponse) + err := c.cc.Invoke(ctx, "/cln.Node/MakeSecret", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) Pay(ctx context.Context, in *PayRequest, opts ...grpc.CallOption) (*PayResponse, error) { out := new(PayResponse) err := c.cc.Invoke(ctx, "/cln.Node/Pay", in, out, opts...) @@ -474,6 +618,33 @@ func (c *nodeClient) Decode(ctx context.Context, in *DecodeRequest, opts ...grpc return out, nil } +func (c *nodeClient) DelPay(ctx context.Context, in *DelpayRequest, opts ...grpc.CallOption) (*DelpayResponse, error) { + out := new(DelpayResponse) + err := c.cc.Invoke(ctx, "/cln.Node/DelPay", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) DelForward(ctx context.Context, in *DelforwardRequest, opts ...grpc.CallOption) (*DelforwardResponse, error) { + out := new(DelforwardResponse) + err := c.cc.Invoke(ctx, "/cln.Node/DelForward", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) DisableOffer(ctx context.Context, in *DisableofferRequest, opts ...grpc.CallOption) (*DisableofferResponse, error) { + out := new(DisableofferResponse) + err := c.cc.Invoke(ctx, "/cln.Node/DisableOffer", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) Disconnect(ctx context.Context, in *DisconnectRequest, opts ...grpc.CallOption) (*DisconnectResponse, error) { out := new(DisconnectResponse) err := c.cc.Invoke(ctx, "/cln.Node/Disconnect", in, out, opts...) @@ -501,6 +672,24 @@ func (c *nodeClient) FetchInvoice(ctx context.Context, in *FetchinvoiceRequest, return out, nil } +func (c *nodeClient) FundChannel_Cancel(ctx context.Context, in *FundchannelCancelRequest, opts ...grpc.CallOption) (*FundchannelCancelResponse, error) { + out := new(FundchannelCancelResponse) + err := c.cc.Invoke(ctx, "/cln.Node/FundChannel_Cancel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) FundChannel_Complete(ctx context.Context, in *FundchannelCompleteRequest, opts ...grpc.CallOption) (*FundchannelCompleteResponse, error) { + out := new(FundchannelCompleteResponse) + err := c.cc.Invoke(ctx, "/cln.Node/FundChannel_Complete", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) FundChannel(ctx context.Context, in *FundchannelRequest, opts ...grpc.CallOption) (*FundchannelResponse, error) { out := new(FundchannelResponse) err := c.cc.Invoke(ctx, "/cln.Node/FundChannel", in, out, opts...) @@ -510,6 +699,33 @@ func (c *nodeClient) FundChannel(ctx context.Context, in *FundchannelRequest, op return out, nil } +func (c *nodeClient) FundChannel_Start(ctx context.Context, in *FundchannelStartRequest, opts ...grpc.CallOption) (*FundchannelStartResponse, error) { + out := new(FundchannelStartResponse) + err := c.cc.Invoke(ctx, "/cln.Node/FundChannel_Start", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) GetLog(ctx context.Context, in *GetlogRequest, opts ...grpc.CallOption) (*GetlogResponse, error) { + out := new(GetlogResponse) + err := c.cc.Invoke(ctx, "/cln.Node/GetLog", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) FunderUpdate(ctx context.Context, in *FunderupdateRequest, opts ...grpc.CallOption) (*FunderupdateResponse, error) { + out := new(FunderupdateResponse) + err := c.cc.Invoke(ctx, "/cln.Node/FunderUpdate", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) GetRoute(ctx context.Context, in *GetrouteRequest, opts ...grpc.CallOption) (*GetrouteResponse, error) { out := new(GetrouteResponse) err := c.cc.Invoke(ctx, "/cln.Node/GetRoute", in, out, opts...) @@ -555,6 +771,24 @@ func (c *nodeClient) ListHtlcs(ctx context.Context, in *ListhtlcsRequest, opts . return out, nil } +func (c *nodeClient) MultiFundChannel(ctx context.Context, in *MultifundchannelRequest, opts ...grpc.CallOption) (*MultifundchannelResponse, error) { + out := new(MultifundchannelResponse) + err := c.cc.Invoke(ctx, "/cln.Node/MultiFundChannel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) MultiWithdraw(ctx context.Context, in *MultiwithdrawRequest, opts ...grpc.CallOption) (*MultiwithdrawResponse, error) { + out := new(MultiwithdrawResponse) + err := c.cc.Invoke(ctx, "/cln.Node/MultiWithdraw", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) Offer(ctx context.Context, in *OfferRequest, opts ...grpc.CallOption) (*OfferResponse, error) { out := new(OfferResponse) err := c.cc.Invoke(ctx, "/cln.Node/Offer", in, out, opts...) @@ -564,6 +798,51 @@ func (c *nodeClient) Offer(ctx context.Context, in *OfferRequest, opts ...grpc.C return out, nil } +func (c *nodeClient) OpenChannel_Abort(ctx context.Context, in *OpenchannelAbortRequest, opts ...grpc.CallOption) (*OpenchannelAbortResponse, error) { + out := new(OpenchannelAbortResponse) + err := c.cc.Invoke(ctx, "/cln.Node/OpenChannel_Abort", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) OpenChannel_Bump(ctx context.Context, in *OpenchannelBumpRequest, opts ...grpc.CallOption) (*OpenchannelBumpResponse, error) { + out := new(OpenchannelBumpResponse) + err := c.cc.Invoke(ctx, "/cln.Node/OpenChannel_Bump", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) OpenChannel_Init(ctx context.Context, in *OpenchannelInitRequest, opts ...grpc.CallOption) (*OpenchannelInitResponse, error) { + out := new(OpenchannelInitResponse) + err := c.cc.Invoke(ctx, "/cln.Node/OpenChannel_Init", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) OpenChannel_Signed(ctx context.Context, in *OpenchannelSignedRequest, opts ...grpc.CallOption) (*OpenchannelSignedResponse, error) { + out := new(OpenchannelSignedResponse) + err := c.cc.Invoke(ctx, "/cln.Node/OpenChannel_Signed", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) OpenChannel_Update(ctx context.Context, in *OpenchannelUpdateRequest, opts ...grpc.CallOption) (*OpenchannelUpdateResponse, error) { + out := new(OpenchannelUpdateResponse) + err := c.cc.Invoke(ctx, "/cln.Node/OpenChannel_Update", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) { out := new(PingResponse) err := c.cc.Invoke(ctx, "/cln.Node/Ping", in, out, opts...) @@ -573,6 +852,42 @@ func (c *nodeClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.Cal return out, nil } +func (c *nodeClient) Plugin(ctx context.Context, in *PluginRequest, opts ...grpc.CallOption) (*PluginResponse, error) { + out := new(PluginResponse) + err := c.cc.Invoke(ctx, "/cln.Node/Plugin", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) RenePayStatus(ctx context.Context, in *RenepaystatusRequest, opts ...grpc.CallOption) (*RenepaystatusResponse, error) { + out := new(RenepaystatusResponse) + err := c.cc.Invoke(ctx, "/cln.Node/RenePayStatus", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) RenePay(ctx context.Context, in *RenepayRequest, opts ...grpc.CallOption) (*RenepayResponse, error) { + out := new(RenepayResponse) + err := c.cc.Invoke(ctx, "/cln.Node/RenePay", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) ReserveInputs(ctx context.Context, in *ReserveinputsRequest, opts ...grpc.CallOption) (*ReserveinputsResponse, error) { + out := new(ReserveinputsResponse) + err := c.cc.Invoke(ctx, "/cln.Node/ReserveInputs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) SendCustomMsg(ctx context.Context, in *SendcustommsgRequest, opts ...grpc.CallOption) (*SendcustommsgResponse, error) { out := new(SendcustommsgResponse) err := c.cc.Invoke(ctx, "/cln.Node/SendCustomMsg", in, out, opts...) @@ -582,6 +897,24 @@ func (c *nodeClient) SendCustomMsg(ctx context.Context, in *SendcustommsgRequest return out, nil } +func (c *nodeClient) SendInvoice(ctx context.Context, in *SendinvoiceRequest, opts ...grpc.CallOption) (*SendinvoiceResponse, error) { + out := new(SendinvoiceResponse) + err := c.cc.Invoke(ctx, "/cln.Node/SendInvoice", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) SendOnionMessage(ctx context.Context, in *SendonionmessageRequest, opts ...grpc.CallOption) (*SendonionmessageResponse, error) { + out := new(SendonionmessageResponse) + err := c.cc.Invoke(ctx, "/cln.Node/SendOnionMessage", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) SetChannel(ctx context.Context, in *SetchannelRequest, opts ...grpc.CallOption) (*SetchannelResponse, error) { out := new(SetchannelResponse) err := c.cc.Invoke(ctx, "/cln.Node/SetChannel", in, out, opts...) @@ -591,6 +924,24 @@ func (c *nodeClient) SetChannel(ctx context.Context, in *SetchannelRequest, opts return out, nil } +func (c *nodeClient) SetConfig(ctx context.Context, in *SetconfigRequest, opts ...grpc.CallOption) (*SetconfigResponse, error) { + out := new(SetconfigResponse) + err := c.cc.Invoke(ctx, "/cln.Node/SetConfig", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) SetPsbtVersion(ctx context.Context, in *SetpsbtversionRequest, opts ...grpc.CallOption) (*SetpsbtversionResponse, error) { + out := new(SetpsbtversionResponse) + err := c.cc.Invoke(ctx, "/cln.Node/SetPsbtVersion", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) SignInvoice(ctx context.Context, in *SigninvoiceRequest, opts ...grpc.CallOption) (*SigninvoiceResponse, error) { out := new(SigninvoiceResponse) err := c.cc.Invoke(ctx, "/cln.Node/SignInvoice", in, out, opts...) @@ -609,6 +960,51 @@ func (c *nodeClient) SignMessage(ctx context.Context, in *SignmessageRequest, op return out, nil } +func (c *nodeClient) Splice_Init(ctx context.Context, in *SpliceInitRequest, opts ...grpc.CallOption) (*SpliceInitResponse, error) { + out := new(SpliceInitResponse) + err := c.cc.Invoke(ctx, "/cln.Node/Splice_Init", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) Splice_Signed(ctx context.Context, in *SpliceSignedRequest, opts ...grpc.CallOption) (*SpliceSignedResponse, error) { + out := new(SpliceSignedResponse) + err := c.cc.Invoke(ctx, "/cln.Node/Splice_Signed", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) Splice_Update(ctx context.Context, in *SpliceUpdateRequest, opts ...grpc.CallOption) (*SpliceUpdateResponse, error) { + out := new(SpliceUpdateResponse) + err := c.cc.Invoke(ctx, "/cln.Node/Splice_Update", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) UnreserveInputs(ctx context.Context, in *UnreserveinputsRequest, opts ...grpc.CallOption) (*UnreserveinputsResponse, error) { + out := new(UnreserveinputsResponse) + err := c.cc.Invoke(ctx, "/cln.Node/UnreserveInputs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) UpgradeWallet(ctx context.Context, in *UpgradewalletRequest, opts ...grpc.CallOption) (*UpgradewalletResponse, error) { + out := new(UpgradewalletResponse) + err := c.cc.Invoke(ctx, "/cln.Node/UpgradeWallet", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) WaitBlockHeight(ctx context.Context, in *WaitblockheightRequest, opts ...grpc.CallOption) (*WaitblockheightResponse, error) { out := new(WaitblockheightResponse) err := c.cc.Invoke(ctx, "/cln.Node/WaitBlockHeight", in, out, opts...) @@ -627,6 +1023,15 @@ func (c *nodeClient) Wait(ctx context.Context, in *WaitRequest, opts ...grpc.Cal return out, nil } +func (c *nodeClient) ListConfigs(ctx context.Context, in *ListconfigsRequest, opts ...grpc.CallOption) (*ListconfigsResponse, error) { + out := new(ListconfigsResponse) + err := c.cc.Invoke(ctx, "/cln.Node/ListConfigs", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) Stop(ctx context.Context, in *StopRequest, opts ...grpc.CallOption) (*StopResponse, error) { out := new(StopResponse) err := c.cc.Invoke(ctx, "/cln.Node/Stop", in, out, opts...) @@ -636,6 +1041,15 @@ func (c *nodeClient) Stop(ctx context.Context, in *StopRequest, opts ...grpc.Cal return out, nil } +func (c *nodeClient) Help(ctx context.Context, in *HelpRequest, opts ...grpc.CallOption) (*HelpResponse, error) { + out := new(HelpResponse) + err := c.cc.Invoke(ctx, "/cln.Node/Help", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *nodeClient) PreApproveKeysend(ctx context.Context, in *PreapprovekeysendRequest, opts ...grpc.CallOption) (*PreapprovekeysendResponse, error) { out := new(PreapprovekeysendResponse) err := c.cc.Invoke(ctx, "/cln.Node/PreApproveKeysend", in, out, opts...) @@ -663,26 +1077,270 @@ func (c *nodeClient) StaticBackup(ctx context.Context, in *StaticbackupRequest, return out, nil } -func (c *nodeClient) BkprListIncome(ctx context.Context, in *BkprlistincomeRequest, opts ...grpc.CallOption) (*BkprlistincomeResponse, error) { - out := new(BkprlistincomeResponse) - err := c.cc.Invoke(ctx, "/cln.Node/BkprListIncome", in, out, opts...) +func (c *nodeClient) BkprChannelsApy(ctx context.Context, in *BkprchannelsapyRequest, opts ...grpc.CallOption) (*BkprchannelsapyResponse, error) { + out := new(BkprchannelsapyResponse) + err := c.cc.Invoke(ctx, "/cln.Node/BkprChannelsApy", in, out, opts...) if err != nil { return nil, err } return out, nil } -// NodeServer is the server API for Node service. -// All implementations must embed UnimplementedNodeServer -// for forward compatibility -type NodeServer interface { - Getinfo(context.Context, *GetinfoRequest) (*GetinfoResponse, error) - ListPeers(context.Context, *ListpeersRequest) (*ListpeersResponse, error) - ListFunds(context.Context, *ListfundsRequest) (*ListfundsResponse, error) +func (c *nodeClient) BkprDumpIncomeCsv(ctx context.Context, in *BkprdumpincomecsvRequest, opts ...grpc.CallOption) (*BkprdumpincomecsvResponse, error) { + out := new(BkprdumpincomecsvResponse) + err := c.cc.Invoke(ctx, "/cln.Node/BkprDumpIncomeCsv", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) BkprInspect(ctx context.Context, in *BkprinspectRequest, opts ...grpc.CallOption) (*BkprinspectResponse, error) { + out := new(BkprinspectResponse) + err := c.cc.Invoke(ctx, "/cln.Node/BkprInspect", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) BkprListAccountEvents(ctx context.Context, in *BkprlistaccounteventsRequest, opts ...grpc.CallOption) (*BkprlistaccounteventsResponse, error) { + out := new(BkprlistaccounteventsResponse) + err := c.cc.Invoke(ctx, "/cln.Node/BkprListAccountEvents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) BkprListBalances(ctx context.Context, in *BkprlistbalancesRequest, opts ...grpc.CallOption) (*BkprlistbalancesResponse, error) { + out := new(BkprlistbalancesResponse) + err := c.cc.Invoke(ctx, "/cln.Node/BkprListBalances", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) BkprListIncome(ctx context.Context, in *BkprlistincomeRequest, opts ...grpc.CallOption) (*BkprlistincomeResponse, error) { + out := new(BkprlistincomeResponse) + err := c.cc.Invoke(ctx, "/cln.Node/BkprListIncome", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) BlacklistRune(ctx context.Context, in *BlacklistruneRequest, opts ...grpc.CallOption) (*BlacklistruneResponse, error) { + out := new(BlacklistruneResponse) + err := c.cc.Invoke(ctx, "/cln.Node/BlacklistRune", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) CheckRune(ctx context.Context, in *CheckruneRequest, opts ...grpc.CallOption) (*CheckruneResponse, error) { + out := new(CheckruneResponse) + err := c.cc.Invoke(ctx, "/cln.Node/CheckRune", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) CreateRune(ctx context.Context, in *CreateruneRequest, opts ...grpc.CallOption) (*CreateruneResponse, error) { + out := new(CreateruneResponse) + err := c.cc.Invoke(ctx, "/cln.Node/CreateRune", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) ShowRunes(ctx context.Context, in *ShowrunesRequest, opts ...grpc.CallOption) (*ShowrunesResponse, error) { + out := new(ShowrunesResponse) + err := c.cc.Invoke(ctx, "/cln.Node/ShowRunes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeClient) SubscribeBlockAdded(ctx context.Context, in *StreamBlockAddedRequest, opts ...grpc.CallOption) (Node_SubscribeBlockAddedClient, error) { + stream, err := c.cc.NewStream(ctx, &Node_ServiceDesc.Streams[0], "/cln.Node/SubscribeBlockAdded", opts...) + if err != nil { + return nil, err + } + x := &nodeSubscribeBlockAddedClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type Node_SubscribeBlockAddedClient interface { + Recv() (*BlockAddedNotification, error) + grpc.ClientStream +} + +type nodeSubscribeBlockAddedClient struct { + grpc.ClientStream +} + +func (x *nodeSubscribeBlockAddedClient) Recv() (*BlockAddedNotification, error) { + m := new(BlockAddedNotification) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *nodeClient) SubscribeChannelOpenFailed(ctx context.Context, in *StreamChannelOpenFailedRequest, opts ...grpc.CallOption) (Node_SubscribeChannelOpenFailedClient, error) { + stream, err := c.cc.NewStream(ctx, &Node_ServiceDesc.Streams[1], "/cln.Node/SubscribeChannelOpenFailed", opts...) + if err != nil { + return nil, err + } + x := &nodeSubscribeChannelOpenFailedClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type Node_SubscribeChannelOpenFailedClient interface { + Recv() (*ChannelOpenFailedNotification, error) + grpc.ClientStream +} + +type nodeSubscribeChannelOpenFailedClient struct { + grpc.ClientStream +} + +func (x *nodeSubscribeChannelOpenFailedClient) Recv() (*ChannelOpenFailedNotification, error) { + m := new(ChannelOpenFailedNotification) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *nodeClient) SubscribeChannelOpened(ctx context.Context, in *StreamChannelOpenedRequest, opts ...grpc.CallOption) (Node_SubscribeChannelOpenedClient, error) { + stream, err := c.cc.NewStream(ctx, &Node_ServiceDesc.Streams[2], "/cln.Node/SubscribeChannelOpened", opts...) + if err != nil { + return nil, err + } + x := &nodeSubscribeChannelOpenedClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type Node_SubscribeChannelOpenedClient interface { + Recv() (*ChannelOpenedNotification, error) + grpc.ClientStream +} + +type nodeSubscribeChannelOpenedClient struct { + grpc.ClientStream +} + +func (x *nodeSubscribeChannelOpenedClient) Recv() (*ChannelOpenedNotification, error) { + m := new(ChannelOpenedNotification) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *nodeClient) SubscribeConnect(ctx context.Context, in *StreamConnectRequest, opts ...grpc.CallOption) (Node_SubscribeConnectClient, error) { + stream, err := c.cc.NewStream(ctx, &Node_ServiceDesc.Streams[3], "/cln.Node/SubscribeConnect", opts...) + if err != nil { + return nil, err + } + x := &nodeSubscribeConnectClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type Node_SubscribeConnectClient interface { + Recv() (*PeerConnectNotification, error) + grpc.ClientStream +} + +type nodeSubscribeConnectClient struct { + grpc.ClientStream +} + +func (x *nodeSubscribeConnectClient) Recv() (*PeerConnectNotification, error) { + m := new(PeerConnectNotification) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *nodeClient) SubscribeCustomMsg(ctx context.Context, in *StreamCustomMsgRequest, opts ...grpc.CallOption) (Node_SubscribeCustomMsgClient, error) { + stream, err := c.cc.NewStream(ctx, &Node_ServiceDesc.Streams[4], "/cln.Node/SubscribeCustomMsg", opts...) + if err != nil { + return nil, err + } + x := &nodeSubscribeCustomMsgClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type Node_SubscribeCustomMsgClient interface { + Recv() (*CustomMsgNotification, error) + grpc.ClientStream +} + +type nodeSubscribeCustomMsgClient struct { + grpc.ClientStream +} + +func (x *nodeSubscribeCustomMsgClient) Recv() (*CustomMsgNotification, error) { + m := new(CustomMsgNotification) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +// NodeServer is the server API for Node service. +// All implementations must embed UnimplementedNodeServer +// for forward compatibility +type NodeServer interface { + Getinfo(context.Context, *GetinfoRequest) (*GetinfoResponse, error) + ListPeers(context.Context, *ListpeersRequest) (*ListpeersResponse, error) + ListFunds(context.Context, *ListfundsRequest) (*ListfundsResponse, error) SendPay(context.Context, *SendpayRequest) (*SendpayResponse, error) ListChannels(context.Context, *ListchannelsRequest) (*ListchannelsResponse, error) AddGossip(context.Context, *AddgossipRequest) (*AddgossipResponse, error) + AddPsbtOutput(context.Context, *AddpsbtoutputRequest) (*AddpsbtoutputResponse, error) AutoCleanInvoice(context.Context, *AutocleaninvoiceRequest) (*AutocleaninvoiceResponse, error) + AutoCleanOnce(context.Context, *AutocleanonceRequest) (*AutocleanonceResponse, error) + AutoCleanStatus(context.Context, *AutocleanstatusRequest) (*AutocleanstatusResponse, error) CheckMessage(context.Context, *CheckmessageRequest) (*CheckmessageResponse, error) Close(context.Context, *CloseRequest) (*CloseResponse, error) ConnectPeer(context.Context, *ConnectRequest) (*ConnectResponse, error) @@ -691,14 +1349,21 @@ type NodeServer interface { DatastoreUsage(context.Context, *DatastoreusageRequest) (*DatastoreusageResponse, error) CreateOnion(context.Context, *CreateonionRequest) (*CreateonionResponse, error) DelDatastore(context.Context, *DeldatastoreRequest) (*DeldatastoreResponse, error) - DelExpiredInvoice(context.Context, *DelexpiredinvoiceRequest) (*DelexpiredinvoiceResponse, error) DelInvoice(context.Context, *DelinvoiceRequest) (*DelinvoiceResponse, error) + DevForgetChannel(context.Context, *DevforgetchannelRequest) (*DevforgetchannelResponse, error) + EmergencyRecover(context.Context, *EmergencyrecoverRequest) (*EmergencyrecoverResponse, error) + Recover(context.Context, *RecoverRequest) (*RecoverResponse, error) + RecoverChannel(context.Context, *RecoverchannelRequest) (*RecoverchannelResponse, error) Invoice(context.Context, *InvoiceRequest) (*InvoiceResponse, error) + CreateInvoiceRequest(context.Context, *InvoicerequestRequest) (*InvoicerequestResponse, error) + DisableInvoiceRequest(context.Context, *DisableinvoicerequestRequest) (*DisableinvoicerequestResponse, error) + ListInvoiceRequests(context.Context, *ListinvoicerequestsRequest) (*ListinvoicerequestsResponse, error) ListDatastore(context.Context, *ListdatastoreRequest) (*ListdatastoreResponse, error) ListInvoices(context.Context, *ListinvoicesRequest) (*ListinvoicesResponse, error) SendOnion(context.Context, *SendonionRequest) (*SendonionResponse, error) ListSendPays(context.Context, *ListsendpaysRequest) (*ListsendpaysResponse, error) ListTransactions(context.Context, *ListtransactionsRequest) (*ListtransactionsResponse, error) + MakeSecret(context.Context, *MakesecretRequest) (*MakesecretResponse, error) Pay(context.Context, *PayRequest) (*PayResponse, error) ListNodes(context.Context, *ListnodesRequest) (*ListnodesResponse, error) WaitAnyInvoice(context.Context, *WaitanyinvoiceRequest) (*WaitanyinvoiceResponse, error) @@ -718,28 +1383,72 @@ type NodeServer interface { ListClosedChannels(context.Context, *ListclosedchannelsRequest) (*ListclosedchannelsResponse, error) DecodePay(context.Context, *DecodepayRequest) (*DecodepayResponse, error) Decode(context.Context, *DecodeRequest) (*DecodeResponse, error) + DelPay(context.Context, *DelpayRequest) (*DelpayResponse, error) + DelForward(context.Context, *DelforwardRequest) (*DelforwardResponse, error) + DisableOffer(context.Context, *DisableofferRequest) (*DisableofferResponse, error) Disconnect(context.Context, *DisconnectRequest) (*DisconnectResponse, error) Feerates(context.Context, *FeeratesRequest) (*FeeratesResponse, error) FetchInvoice(context.Context, *FetchinvoiceRequest) (*FetchinvoiceResponse, error) + FundChannel_Cancel(context.Context, *FundchannelCancelRequest) (*FundchannelCancelResponse, error) + FundChannel_Complete(context.Context, *FundchannelCompleteRequest) (*FundchannelCompleteResponse, error) FundChannel(context.Context, *FundchannelRequest) (*FundchannelResponse, error) + FundChannel_Start(context.Context, *FundchannelStartRequest) (*FundchannelStartResponse, error) + GetLog(context.Context, *GetlogRequest) (*GetlogResponse, error) + FunderUpdate(context.Context, *FunderupdateRequest) (*FunderupdateResponse, error) GetRoute(context.Context, *GetrouteRequest) (*GetrouteResponse, error) ListForwards(context.Context, *ListforwardsRequest) (*ListforwardsResponse, error) ListOffers(context.Context, *ListoffersRequest) (*ListoffersResponse, error) ListPays(context.Context, *ListpaysRequest) (*ListpaysResponse, error) ListHtlcs(context.Context, *ListhtlcsRequest) (*ListhtlcsResponse, error) + MultiFundChannel(context.Context, *MultifundchannelRequest) (*MultifundchannelResponse, error) + MultiWithdraw(context.Context, *MultiwithdrawRequest) (*MultiwithdrawResponse, error) Offer(context.Context, *OfferRequest) (*OfferResponse, error) + OpenChannel_Abort(context.Context, *OpenchannelAbortRequest) (*OpenchannelAbortResponse, error) + OpenChannel_Bump(context.Context, *OpenchannelBumpRequest) (*OpenchannelBumpResponse, error) + OpenChannel_Init(context.Context, *OpenchannelInitRequest) (*OpenchannelInitResponse, error) + OpenChannel_Signed(context.Context, *OpenchannelSignedRequest) (*OpenchannelSignedResponse, error) + OpenChannel_Update(context.Context, *OpenchannelUpdateRequest) (*OpenchannelUpdateResponse, error) Ping(context.Context, *PingRequest) (*PingResponse, error) + Plugin(context.Context, *PluginRequest) (*PluginResponse, error) + RenePayStatus(context.Context, *RenepaystatusRequest) (*RenepaystatusResponse, error) + RenePay(context.Context, *RenepayRequest) (*RenepayResponse, error) + ReserveInputs(context.Context, *ReserveinputsRequest) (*ReserveinputsResponse, error) SendCustomMsg(context.Context, *SendcustommsgRequest) (*SendcustommsgResponse, error) + SendInvoice(context.Context, *SendinvoiceRequest) (*SendinvoiceResponse, error) + SendOnionMessage(context.Context, *SendonionmessageRequest) (*SendonionmessageResponse, error) SetChannel(context.Context, *SetchannelRequest) (*SetchannelResponse, error) + SetConfig(context.Context, *SetconfigRequest) (*SetconfigResponse, error) + SetPsbtVersion(context.Context, *SetpsbtversionRequest) (*SetpsbtversionResponse, error) SignInvoice(context.Context, *SigninvoiceRequest) (*SigninvoiceResponse, error) SignMessage(context.Context, *SignmessageRequest) (*SignmessageResponse, error) + Splice_Init(context.Context, *SpliceInitRequest) (*SpliceInitResponse, error) + Splice_Signed(context.Context, *SpliceSignedRequest) (*SpliceSignedResponse, error) + Splice_Update(context.Context, *SpliceUpdateRequest) (*SpliceUpdateResponse, error) + UnreserveInputs(context.Context, *UnreserveinputsRequest) (*UnreserveinputsResponse, error) + UpgradeWallet(context.Context, *UpgradewalletRequest) (*UpgradewalletResponse, error) WaitBlockHeight(context.Context, *WaitblockheightRequest) (*WaitblockheightResponse, error) Wait(context.Context, *WaitRequest) (*WaitResponse, error) + ListConfigs(context.Context, *ListconfigsRequest) (*ListconfigsResponse, error) Stop(context.Context, *StopRequest) (*StopResponse, error) + Help(context.Context, *HelpRequest) (*HelpResponse, error) PreApproveKeysend(context.Context, *PreapprovekeysendRequest) (*PreapprovekeysendResponse, error) PreApproveInvoice(context.Context, *PreapproveinvoiceRequest) (*PreapproveinvoiceResponse, error) StaticBackup(context.Context, *StaticbackupRequest) (*StaticbackupResponse, error) + BkprChannelsApy(context.Context, *BkprchannelsapyRequest) (*BkprchannelsapyResponse, error) + BkprDumpIncomeCsv(context.Context, *BkprdumpincomecsvRequest) (*BkprdumpincomecsvResponse, error) + BkprInspect(context.Context, *BkprinspectRequest) (*BkprinspectResponse, error) + BkprListAccountEvents(context.Context, *BkprlistaccounteventsRequest) (*BkprlistaccounteventsResponse, error) + BkprListBalances(context.Context, *BkprlistbalancesRequest) (*BkprlistbalancesResponse, error) BkprListIncome(context.Context, *BkprlistincomeRequest) (*BkprlistincomeResponse, error) + BlacklistRune(context.Context, *BlacklistruneRequest) (*BlacklistruneResponse, error) + CheckRune(context.Context, *CheckruneRequest) (*CheckruneResponse, error) + CreateRune(context.Context, *CreateruneRequest) (*CreateruneResponse, error) + ShowRunes(context.Context, *ShowrunesRequest) (*ShowrunesResponse, error) + SubscribeBlockAdded(*StreamBlockAddedRequest, Node_SubscribeBlockAddedServer) error + SubscribeChannelOpenFailed(*StreamChannelOpenFailedRequest, Node_SubscribeChannelOpenFailedServer) error + SubscribeChannelOpened(*StreamChannelOpenedRequest, Node_SubscribeChannelOpenedServer) error + SubscribeConnect(*StreamConnectRequest, Node_SubscribeConnectServer) error + SubscribeCustomMsg(*StreamCustomMsgRequest, Node_SubscribeCustomMsgServer) error mustEmbedUnimplementedNodeServer() } @@ -765,9 +1474,18 @@ func (UnimplementedNodeServer) ListChannels(context.Context, *ListchannelsReques func (UnimplementedNodeServer) AddGossip(context.Context, *AddgossipRequest) (*AddgossipResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AddGossip not implemented") } +func (UnimplementedNodeServer) AddPsbtOutput(context.Context, *AddpsbtoutputRequest) (*AddpsbtoutputResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddPsbtOutput not implemented") +} func (UnimplementedNodeServer) AutoCleanInvoice(context.Context, *AutocleaninvoiceRequest) (*AutocleaninvoiceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method AutoCleanInvoice not implemented") } +func (UnimplementedNodeServer) AutoCleanOnce(context.Context, *AutocleanonceRequest) (*AutocleanonceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AutoCleanOnce not implemented") +} +func (UnimplementedNodeServer) AutoCleanStatus(context.Context, *AutocleanstatusRequest) (*AutocleanstatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AutoCleanStatus not implemented") +} func (UnimplementedNodeServer) CheckMessage(context.Context, *CheckmessageRequest) (*CheckmessageResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CheckMessage not implemented") } @@ -792,15 +1510,33 @@ func (UnimplementedNodeServer) CreateOnion(context.Context, *CreateonionRequest) func (UnimplementedNodeServer) DelDatastore(context.Context, *DeldatastoreRequest) (*DeldatastoreResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DelDatastore not implemented") } -func (UnimplementedNodeServer) DelExpiredInvoice(context.Context, *DelexpiredinvoiceRequest) (*DelexpiredinvoiceResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DelExpiredInvoice not implemented") -} func (UnimplementedNodeServer) DelInvoice(context.Context, *DelinvoiceRequest) (*DelinvoiceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DelInvoice not implemented") } +func (UnimplementedNodeServer) DevForgetChannel(context.Context, *DevforgetchannelRequest) (*DevforgetchannelResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DevForgetChannel not implemented") +} +func (UnimplementedNodeServer) EmergencyRecover(context.Context, *EmergencyrecoverRequest) (*EmergencyrecoverResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method EmergencyRecover not implemented") +} +func (UnimplementedNodeServer) Recover(context.Context, *RecoverRequest) (*RecoverResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Recover not implemented") +} +func (UnimplementedNodeServer) RecoverChannel(context.Context, *RecoverchannelRequest) (*RecoverchannelResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RecoverChannel not implemented") +} func (UnimplementedNodeServer) Invoice(context.Context, *InvoiceRequest) (*InvoiceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Invoice not implemented") } +func (UnimplementedNodeServer) CreateInvoiceRequest(context.Context, *InvoicerequestRequest) (*InvoicerequestResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateInvoiceRequest not implemented") +} +func (UnimplementedNodeServer) DisableInvoiceRequest(context.Context, *DisableinvoicerequestRequest) (*DisableinvoicerequestResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisableInvoiceRequest not implemented") +} +func (UnimplementedNodeServer) ListInvoiceRequests(context.Context, *ListinvoicerequestsRequest) (*ListinvoicerequestsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListInvoiceRequests not implemented") +} func (UnimplementedNodeServer) ListDatastore(context.Context, *ListdatastoreRequest) (*ListdatastoreResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListDatastore not implemented") } @@ -816,6 +1552,9 @@ func (UnimplementedNodeServer) ListSendPays(context.Context, *ListsendpaysReques func (UnimplementedNodeServer) ListTransactions(context.Context, *ListtransactionsRequest) (*ListtransactionsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListTransactions not implemented") } +func (UnimplementedNodeServer) MakeSecret(context.Context, *MakesecretRequest) (*MakesecretResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MakeSecret not implemented") +} func (UnimplementedNodeServer) Pay(context.Context, *PayRequest) (*PayResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Pay not implemented") } @@ -873,6 +1612,15 @@ func (UnimplementedNodeServer) DecodePay(context.Context, *DecodepayRequest) (*D func (UnimplementedNodeServer) Decode(context.Context, *DecodeRequest) (*DecodeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Decode not implemented") } +func (UnimplementedNodeServer) DelPay(context.Context, *DelpayRequest) (*DelpayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DelPay not implemented") +} +func (UnimplementedNodeServer) DelForward(context.Context, *DelforwardRequest) (*DelforwardResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DelForward not implemented") +} +func (UnimplementedNodeServer) DisableOffer(context.Context, *DisableofferRequest) (*DisableofferResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DisableOffer not implemented") +} func (UnimplementedNodeServer) Disconnect(context.Context, *DisconnectRequest) (*DisconnectResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Disconnect not implemented") } @@ -882,9 +1630,24 @@ func (UnimplementedNodeServer) Feerates(context.Context, *FeeratesRequest) (*Fee func (UnimplementedNodeServer) FetchInvoice(context.Context, *FetchinvoiceRequest) (*FetchinvoiceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FetchInvoice not implemented") } +func (UnimplementedNodeServer) FundChannel_Cancel(context.Context, *FundchannelCancelRequest) (*FundchannelCancelResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FundChannel_Cancel not implemented") +} +func (UnimplementedNodeServer) FundChannel_Complete(context.Context, *FundchannelCompleteRequest) (*FundchannelCompleteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FundChannel_Complete not implemented") +} func (UnimplementedNodeServer) FundChannel(context.Context, *FundchannelRequest) (*FundchannelResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FundChannel not implemented") } +func (UnimplementedNodeServer) FundChannel_Start(context.Context, *FundchannelStartRequest) (*FundchannelStartResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FundChannel_Start not implemented") +} +func (UnimplementedNodeServer) GetLog(context.Context, *GetlogRequest) (*GetlogResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetLog not implemented") +} +func (UnimplementedNodeServer) FunderUpdate(context.Context, *FunderupdateRequest) (*FunderupdateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FunderUpdate not implemented") +} func (UnimplementedNodeServer) GetRoute(context.Context, *GetrouteRequest) (*GetrouteResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetRoute not implemented") } @@ -900,33 +1663,99 @@ func (UnimplementedNodeServer) ListPays(context.Context, *ListpaysRequest) (*Lis func (UnimplementedNodeServer) ListHtlcs(context.Context, *ListhtlcsRequest) (*ListhtlcsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListHtlcs not implemented") } +func (UnimplementedNodeServer) MultiFundChannel(context.Context, *MultifundchannelRequest) (*MultifundchannelResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MultiFundChannel not implemented") +} +func (UnimplementedNodeServer) MultiWithdraw(context.Context, *MultiwithdrawRequest) (*MultiwithdrawResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MultiWithdraw not implemented") +} func (UnimplementedNodeServer) Offer(context.Context, *OfferRequest) (*OfferResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Offer not implemented") } +func (UnimplementedNodeServer) OpenChannel_Abort(context.Context, *OpenchannelAbortRequest) (*OpenchannelAbortResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OpenChannel_Abort not implemented") +} +func (UnimplementedNodeServer) OpenChannel_Bump(context.Context, *OpenchannelBumpRequest) (*OpenchannelBumpResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OpenChannel_Bump not implemented") +} +func (UnimplementedNodeServer) OpenChannel_Init(context.Context, *OpenchannelInitRequest) (*OpenchannelInitResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OpenChannel_Init not implemented") +} +func (UnimplementedNodeServer) OpenChannel_Signed(context.Context, *OpenchannelSignedRequest) (*OpenchannelSignedResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OpenChannel_Signed not implemented") +} +func (UnimplementedNodeServer) OpenChannel_Update(context.Context, *OpenchannelUpdateRequest) (*OpenchannelUpdateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OpenChannel_Update not implemented") +} func (UnimplementedNodeServer) Ping(context.Context, *PingRequest) (*PingResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented") } +func (UnimplementedNodeServer) Plugin(context.Context, *PluginRequest) (*PluginResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Plugin not implemented") +} +func (UnimplementedNodeServer) RenePayStatus(context.Context, *RenepaystatusRequest) (*RenepaystatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RenePayStatus not implemented") +} +func (UnimplementedNodeServer) RenePay(context.Context, *RenepayRequest) (*RenepayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RenePay not implemented") +} +func (UnimplementedNodeServer) ReserveInputs(context.Context, *ReserveinputsRequest) (*ReserveinputsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ReserveInputs not implemented") +} func (UnimplementedNodeServer) SendCustomMsg(context.Context, *SendcustommsgRequest) (*SendcustommsgResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SendCustomMsg not implemented") } +func (UnimplementedNodeServer) SendInvoice(context.Context, *SendinvoiceRequest) (*SendinvoiceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendInvoice not implemented") +} +func (UnimplementedNodeServer) SendOnionMessage(context.Context, *SendonionmessageRequest) (*SendonionmessageResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendOnionMessage not implemented") +} func (UnimplementedNodeServer) SetChannel(context.Context, *SetchannelRequest) (*SetchannelResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SetChannel not implemented") } +func (UnimplementedNodeServer) SetConfig(context.Context, *SetconfigRequest) (*SetconfigResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetConfig not implemented") +} +func (UnimplementedNodeServer) SetPsbtVersion(context.Context, *SetpsbtversionRequest) (*SetpsbtversionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetPsbtVersion not implemented") +} func (UnimplementedNodeServer) SignInvoice(context.Context, *SigninvoiceRequest) (*SigninvoiceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SignInvoice not implemented") } func (UnimplementedNodeServer) SignMessage(context.Context, *SignmessageRequest) (*SignmessageResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SignMessage not implemented") } +func (UnimplementedNodeServer) Splice_Init(context.Context, *SpliceInitRequest) (*SpliceInitResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Splice_Init not implemented") +} +func (UnimplementedNodeServer) Splice_Signed(context.Context, *SpliceSignedRequest) (*SpliceSignedResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Splice_Signed not implemented") +} +func (UnimplementedNodeServer) Splice_Update(context.Context, *SpliceUpdateRequest) (*SpliceUpdateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Splice_Update not implemented") +} +func (UnimplementedNodeServer) UnreserveInputs(context.Context, *UnreserveinputsRequest) (*UnreserveinputsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UnreserveInputs not implemented") +} +func (UnimplementedNodeServer) UpgradeWallet(context.Context, *UpgradewalletRequest) (*UpgradewalletResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpgradeWallet not implemented") +} func (UnimplementedNodeServer) WaitBlockHeight(context.Context, *WaitblockheightRequest) (*WaitblockheightResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method WaitBlockHeight not implemented") } func (UnimplementedNodeServer) Wait(context.Context, *WaitRequest) (*WaitResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Wait not implemented") } +func (UnimplementedNodeServer) ListConfigs(context.Context, *ListconfigsRequest) (*ListconfigsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListConfigs not implemented") +} func (UnimplementedNodeServer) Stop(context.Context, *StopRequest) (*StopResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Stop not implemented") } +func (UnimplementedNodeServer) Help(context.Context, *HelpRequest) (*HelpResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Help not implemented") +} func (UnimplementedNodeServer) PreApproveKeysend(context.Context, *PreapprovekeysendRequest) (*PreapprovekeysendResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method PreApproveKeysend not implemented") } @@ -936,9 +1765,51 @@ func (UnimplementedNodeServer) PreApproveInvoice(context.Context, *Preapproveinv func (UnimplementedNodeServer) StaticBackup(context.Context, *StaticbackupRequest) (*StaticbackupResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method StaticBackup not implemented") } +func (UnimplementedNodeServer) BkprChannelsApy(context.Context, *BkprchannelsapyRequest) (*BkprchannelsapyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BkprChannelsApy not implemented") +} +func (UnimplementedNodeServer) BkprDumpIncomeCsv(context.Context, *BkprdumpincomecsvRequest) (*BkprdumpincomecsvResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BkprDumpIncomeCsv not implemented") +} +func (UnimplementedNodeServer) BkprInspect(context.Context, *BkprinspectRequest) (*BkprinspectResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BkprInspect not implemented") +} +func (UnimplementedNodeServer) BkprListAccountEvents(context.Context, *BkprlistaccounteventsRequest) (*BkprlistaccounteventsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BkprListAccountEvents not implemented") +} +func (UnimplementedNodeServer) BkprListBalances(context.Context, *BkprlistbalancesRequest) (*BkprlistbalancesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BkprListBalances not implemented") +} func (UnimplementedNodeServer) BkprListIncome(context.Context, *BkprlistincomeRequest) (*BkprlistincomeResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method BkprListIncome not implemented") } +func (UnimplementedNodeServer) BlacklistRune(context.Context, *BlacklistruneRequest) (*BlacklistruneResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BlacklistRune not implemented") +} +func (UnimplementedNodeServer) CheckRune(context.Context, *CheckruneRequest) (*CheckruneResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckRune not implemented") +} +func (UnimplementedNodeServer) CreateRune(context.Context, *CreateruneRequest) (*CreateruneResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateRune not implemented") +} +func (UnimplementedNodeServer) ShowRunes(context.Context, *ShowrunesRequest) (*ShowrunesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ShowRunes not implemented") +} +func (UnimplementedNodeServer) SubscribeBlockAdded(*StreamBlockAddedRequest, Node_SubscribeBlockAddedServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeBlockAdded not implemented") +} +func (UnimplementedNodeServer) SubscribeChannelOpenFailed(*StreamChannelOpenFailedRequest, Node_SubscribeChannelOpenFailedServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeChannelOpenFailed not implemented") +} +func (UnimplementedNodeServer) SubscribeChannelOpened(*StreamChannelOpenedRequest, Node_SubscribeChannelOpenedServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeChannelOpened not implemented") +} +func (UnimplementedNodeServer) SubscribeConnect(*StreamConnectRequest, Node_SubscribeConnectServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeConnect not implemented") +} +func (UnimplementedNodeServer) SubscribeCustomMsg(*StreamCustomMsgRequest, Node_SubscribeCustomMsgServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeCustomMsg not implemented") +} func (UnimplementedNodeServer) mustEmbedUnimplementedNodeServer() {} // UnsafeNodeServer may be embedded to opt out of forward compatibility for this service. @@ -1060,6 +1931,24 @@ func _Node_AddGossip_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } +func _Node_AddPsbtOutput_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddpsbtoutputRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).AddPsbtOutput(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/AddPsbtOutput", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).AddPsbtOutput(ctx, req.(*AddpsbtoutputRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Node_AutoCleanInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AutocleaninvoiceRequest) if err := dec(in); err != nil { @@ -1078,6 +1967,42 @@ func _Node_AutoCleanInvoice_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _Node_AutoCleanOnce_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AutocleanonceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).AutoCleanOnce(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/AutoCleanOnce", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).AutoCleanOnce(ctx, req.(*AutocleanonceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_AutoCleanStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AutocleanstatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).AutoCleanStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/AutoCleanStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).AutoCleanStatus(ctx, req.(*AutocleanstatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Node_CheckMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CheckmessageRequest) if err := dec(in); err != nil { @@ -1222,44 +2147,98 @@ func _Node_DelDatastore_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } -func _Node_DelExpiredInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DelexpiredinvoiceRequest) +func _Node_DelInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DelinvoiceRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).DelExpiredInvoice(ctx, in) + return srv.(NodeServer).DelInvoice(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cln.Node/DelExpiredInvoice", + FullMethod: "/cln.Node/DelInvoice", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).DelExpiredInvoice(ctx, req.(*DelexpiredinvoiceRequest)) + return srv.(NodeServer).DelInvoice(ctx, req.(*DelinvoiceRequest)) } return interceptor(ctx, in, info, handler) } -func _Node_DelInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DelinvoiceRequest) +func _Node_DevForgetChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DevforgetchannelRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).DelInvoice(ctx, in) + return srv.(NodeServer).DevForgetChannel(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cln.Node/DelInvoice", + FullMethod: "/cln.Node/DevForgetChannel", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).DelInvoice(ctx, req.(*DelinvoiceRequest)) + return srv.(NodeServer).DevForgetChannel(ctx, req.(*DevforgetchannelRequest)) } return interceptor(ctx, in, info, handler) } -func _Node_Invoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(InvoiceRequest) +func _Node_EmergencyRecover_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EmergencyrecoverRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).EmergencyRecover(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/EmergencyRecover", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).EmergencyRecover(ctx, req.(*EmergencyrecoverRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_Recover_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RecoverRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).Recover(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/Recover", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).Recover(ctx, req.(*RecoverRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_RecoverChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RecoverchannelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).RecoverChannel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/RecoverChannel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).RecoverChannel(ctx, req.(*RecoverchannelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_Invoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InvoiceRequest) if err := dec(in); err != nil { return nil, err } @@ -1276,6 +2255,60 @@ func _Node_Invoice_Handler(srv interface{}, ctx context.Context, dec func(interf return interceptor(ctx, in, info, handler) } +func _Node_CreateInvoiceRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(InvoicerequestRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).CreateInvoiceRequest(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/CreateInvoiceRequest", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).CreateInvoiceRequest(ctx, req.(*InvoicerequestRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_DisableInvoiceRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableinvoicerequestRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).DisableInvoiceRequest(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/DisableInvoiceRequest", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).DisableInvoiceRequest(ctx, req.(*DisableinvoicerequestRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_ListInvoiceRequests_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListinvoicerequestsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).ListInvoiceRequests(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/ListInvoiceRequests", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).ListInvoiceRequests(ctx, req.(*ListinvoicerequestsRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Node_ListDatastore_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListdatastoreRequest) if err := dec(in); err != nil { @@ -1366,6 +2399,24 @@ func _Node_ListTransactions_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } +func _Node_MakeSecret_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MakesecretRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).MakeSecret(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/MakeSecret", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).MakeSecret(ctx, req.(*MakesecretRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Node_Pay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PayRequest) if err := dec(in); err != nil { @@ -1708,6 +2759,60 @@ func _Node_Decode_Handler(srv interface{}, ctx context.Context, dec func(interfa return interceptor(ctx, in, info, handler) } +func _Node_DelPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DelpayRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).DelPay(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/DelPay", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).DelPay(ctx, req.(*DelpayRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_DelForward_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DelforwardRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).DelForward(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/DelForward", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).DelForward(ctx, req.(*DelforwardRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_DisableOffer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DisableofferRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).DisableOffer(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/DisableOffer", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).DisableOffer(ctx, req.(*DisableofferRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Node_Disconnect_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DisconnectRequest) if err := dec(in); err != nil { @@ -1762,6 +2867,42 @@ func _Node_FetchInvoice_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +func _Node_FundChannel_Cancel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FundchannelCancelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).FundChannel_Cancel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/FundChannel_Cancel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).FundChannel_Cancel(ctx, req.(*FundchannelCancelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_FundChannel_Complete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FundchannelCompleteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).FundChannel_Complete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/FundChannel_Complete", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).FundChannel_Complete(ctx, req.(*FundchannelCompleteRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Node_FundChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(FundchannelRequest) if err := dec(in); err != nil { @@ -1780,6 +2921,60 @@ func _Node_FundChannel_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Node_FundChannel_Start_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FundchannelStartRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).FundChannel_Start(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/FundChannel_Start", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).FundChannel_Start(ctx, req.(*FundchannelStartRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_GetLog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetlogRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).GetLog(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/GetLog", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).GetLog(ctx, req.(*GetlogRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_FunderUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FunderupdateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).FunderUpdate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/FunderUpdate", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).FunderUpdate(ctx, req.(*FunderupdateRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _Node_GetRoute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetrouteRequest) if err := dec(in); err != nil { @@ -1870,179 +3065,575 @@ func _Node_ListHtlcs_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } -func _Node_Offer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(OfferRequest) +func _Node_MultiFundChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MultifundchannelRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).Offer(ctx, in) + return srv.(NodeServer).MultiFundChannel(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cln.Node/Offer", + FullMethod: "/cln.Node/MultiFundChannel", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).Offer(ctx, req.(*OfferRequest)) + return srv.(NodeServer).MultiFundChannel(ctx, req.(*MultifundchannelRequest)) } return interceptor(ctx, in, info, handler) } -func _Node_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PingRequest) +func _Node_MultiWithdraw_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MultiwithdrawRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).Ping(ctx, in) + return srv.(NodeServer).MultiWithdraw(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cln.Node/Ping", + FullMethod: "/cln.Node/MultiWithdraw", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).Ping(ctx, req.(*PingRequest)) + return srv.(NodeServer).MultiWithdraw(ctx, req.(*MultiwithdrawRequest)) } return interceptor(ctx, in, info, handler) } -func _Node_SendCustomMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SendcustommsgRequest) +func _Node_Offer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OfferRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).SendCustomMsg(ctx, in) + return srv.(NodeServer).Offer(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cln.Node/SendCustomMsg", + FullMethod: "/cln.Node/Offer", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).SendCustomMsg(ctx, req.(*SendcustommsgRequest)) + return srv.(NodeServer).Offer(ctx, req.(*OfferRequest)) } return interceptor(ctx, in, info, handler) } -func _Node_SetChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetchannelRequest) +func _Node_OpenChannel_Abort_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OpenchannelAbortRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).SetChannel(ctx, in) + return srv.(NodeServer).OpenChannel_Abort(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cln.Node/SetChannel", + FullMethod: "/cln.Node/OpenChannel_Abort", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).SetChannel(ctx, req.(*SetchannelRequest)) + return srv.(NodeServer).OpenChannel_Abort(ctx, req.(*OpenchannelAbortRequest)) } return interceptor(ctx, in, info, handler) } -func _Node_SignInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SigninvoiceRequest) +func _Node_OpenChannel_Bump_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OpenchannelBumpRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).SignInvoice(ctx, in) + return srv.(NodeServer).OpenChannel_Bump(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cln.Node/SignInvoice", + FullMethod: "/cln.Node/OpenChannel_Bump", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).SignInvoice(ctx, req.(*SigninvoiceRequest)) + return srv.(NodeServer).OpenChannel_Bump(ctx, req.(*OpenchannelBumpRequest)) } return interceptor(ctx, in, info, handler) } -func _Node_SignMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SignmessageRequest) +func _Node_OpenChannel_Init_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OpenchannelInitRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).SignMessage(ctx, in) + return srv.(NodeServer).OpenChannel_Init(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cln.Node/SignMessage", + FullMethod: "/cln.Node/OpenChannel_Init", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).SignMessage(ctx, req.(*SignmessageRequest)) + return srv.(NodeServer).OpenChannel_Init(ctx, req.(*OpenchannelInitRequest)) } return interceptor(ctx, in, info, handler) } -func _Node_WaitBlockHeight_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(WaitblockheightRequest) +func _Node_OpenChannel_Signed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OpenchannelSignedRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).WaitBlockHeight(ctx, in) + return srv.(NodeServer).OpenChannel_Signed(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cln.Node/WaitBlockHeight", + FullMethod: "/cln.Node/OpenChannel_Signed", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).WaitBlockHeight(ctx, req.(*WaitblockheightRequest)) + return srv.(NodeServer).OpenChannel_Signed(ctx, req.(*OpenchannelSignedRequest)) } return interceptor(ctx, in, info, handler) } -func _Node_Wait_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(WaitRequest) +func _Node_OpenChannel_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OpenchannelUpdateRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).Wait(ctx, in) + return srv.(NodeServer).OpenChannel_Update(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cln.Node/Wait", + FullMethod: "/cln.Node/OpenChannel_Update", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).Wait(ctx, req.(*WaitRequest)) + return srv.(NodeServer).OpenChannel_Update(ctx, req.(*OpenchannelUpdateRequest)) } return interceptor(ctx, in, info, handler) } -func _Node_Stop_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(StopRequest) +func _Node_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PingRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).Stop(ctx, in) + return srv.(NodeServer).Ping(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cln.Node/Stop", + FullMethod: "/cln.Node/Ping", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).Stop(ctx, req.(*StopRequest)) + return srv.(NodeServer).Ping(ctx, req.(*PingRequest)) } return interceptor(ctx, in, info, handler) } -func _Node_PreApproveKeysend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PreapprovekeysendRequest) +func _Node_Plugin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PluginRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).PreApproveKeysend(ctx, in) + return srv.(NodeServer).Plugin(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cln.Node/PreApproveKeysend", + FullMethod: "/cln.Node/Plugin", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).Plugin(ctx, req.(*PluginRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_RenePayStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RenepaystatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).RenePayStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/RenePayStatus", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).RenePayStatus(ctx, req.(*RenepaystatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_RenePay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RenepayRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).RenePay(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/RenePay", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).RenePay(ctx, req.(*RenepayRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_ReserveInputs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ReserveinputsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).ReserveInputs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/ReserveInputs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).ReserveInputs(ctx, req.(*ReserveinputsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_SendCustomMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SendcustommsgRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).SendCustomMsg(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/SendCustomMsg", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).SendCustomMsg(ctx, req.(*SendcustommsgRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_SendInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SendinvoiceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).SendInvoice(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/SendInvoice", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).SendInvoice(ctx, req.(*SendinvoiceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_SendOnionMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SendonionmessageRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).SendOnionMessage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/SendOnionMessage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).SendOnionMessage(ctx, req.(*SendonionmessageRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_SetChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetchannelRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).SetChannel(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/SetChannel", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).SetChannel(ctx, req.(*SetchannelRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_SetConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetconfigRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).SetConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/SetConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).SetConfig(ctx, req.(*SetconfigRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_SetPsbtVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetpsbtversionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).SetPsbtVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/SetPsbtVersion", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).SetPsbtVersion(ctx, req.(*SetpsbtversionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_SignInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SigninvoiceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).SignInvoice(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/SignInvoice", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).SignInvoice(ctx, req.(*SigninvoiceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_SignMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SignmessageRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).SignMessage(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/SignMessage", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).SignMessage(ctx, req.(*SignmessageRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_Splice_Init_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SpliceInitRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).Splice_Init(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/Splice_Init", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).Splice_Init(ctx, req.(*SpliceInitRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_Splice_Signed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SpliceSignedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).Splice_Signed(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/Splice_Signed", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).Splice_Signed(ctx, req.(*SpliceSignedRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_Splice_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SpliceUpdateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).Splice_Update(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/Splice_Update", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).Splice_Update(ctx, req.(*SpliceUpdateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_UnreserveInputs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnreserveinputsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).UnreserveInputs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/UnreserveInputs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).UnreserveInputs(ctx, req.(*UnreserveinputsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_UpgradeWallet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpgradewalletRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).UpgradeWallet(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/UpgradeWallet", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).UpgradeWallet(ctx, req.(*UpgradewalletRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_WaitBlockHeight_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(WaitblockheightRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).WaitBlockHeight(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/WaitBlockHeight", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).WaitBlockHeight(ctx, req.(*WaitblockheightRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_Wait_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(WaitRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).Wait(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/Wait", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).Wait(ctx, req.(*WaitRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_ListConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListconfigsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).ListConfigs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/ListConfigs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).ListConfigs(ctx, req.(*ListconfigsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_Stop_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StopRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).Stop(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/Stop", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).Stop(ctx, req.(*StopRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_Help_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(HelpRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).Help(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/Help", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).Help(ctx, req.(*HelpRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_PreApproveKeysend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PreapprovekeysendRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).PreApproveKeysend(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/PreApproveKeysend", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeServer).PreApproveKeysend(ctx, req.(*PreapprovekeysendRequest)) @@ -2050,38 +3641,128 @@ func _Node_PreApproveKeysend_Handler(srv interface{}, ctx context.Context, dec f return interceptor(ctx, in, info, handler) } -func _Node_PreApproveInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PreapproveinvoiceRequest) +func _Node_PreApproveInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PreapproveinvoiceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).PreApproveInvoice(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/PreApproveInvoice", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).PreApproveInvoice(ctx, req.(*PreapproveinvoiceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_StaticBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StaticbackupRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).StaticBackup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/StaticBackup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).StaticBackup(ctx, req.(*StaticbackupRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_BkprChannelsApy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BkprchannelsapyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).BkprChannelsApy(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/BkprChannelsApy", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).BkprChannelsApy(ctx, req.(*BkprchannelsapyRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_BkprDumpIncomeCsv_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BkprdumpincomecsvRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).PreApproveInvoice(ctx, in) + return srv.(NodeServer).BkprDumpIncomeCsv(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cln.Node/PreApproveInvoice", + FullMethod: "/cln.Node/BkprDumpIncomeCsv", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).PreApproveInvoice(ctx, req.(*PreapproveinvoiceRequest)) + return srv.(NodeServer).BkprDumpIncomeCsv(ctx, req.(*BkprdumpincomecsvRequest)) } return interceptor(ctx, in, info, handler) } -func _Node_StaticBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(StaticbackupRequest) +func _Node_BkprInspect_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BkprinspectRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeServer).StaticBackup(ctx, in) + return srv.(NodeServer).BkprInspect(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cln.Node/StaticBackup", + FullMethod: "/cln.Node/BkprInspect", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeServer).StaticBackup(ctx, req.(*StaticbackupRequest)) + return srv.(NodeServer).BkprInspect(ctx, req.(*BkprinspectRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_BkprListAccountEvents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BkprlistaccounteventsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).BkprListAccountEvents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/BkprListAccountEvents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).BkprListAccountEvents(ctx, req.(*BkprlistaccounteventsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_BkprListBalances_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BkprlistbalancesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).BkprListBalances(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/BkprListBalances", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).BkprListBalances(ctx, req.(*BkprlistbalancesRequest)) } return interceptor(ctx, in, info, handler) } @@ -2104,6 +3785,183 @@ func _Node_BkprListIncome_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Node_BlacklistRune_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BlacklistruneRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).BlacklistRune(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/BlacklistRune", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).BlacklistRune(ctx, req.(*BlacklistruneRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_CheckRune_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CheckruneRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).CheckRune(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/CheckRune", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).CheckRune(ctx, req.(*CheckruneRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_CreateRune_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateruneRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).CreateRune(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/CreateRune", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).CreateRune(ctx, req.(*CreateruneRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_ShowRunes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShowrunesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeServer).ShowRunes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cln.Node/ShowRunes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeServer).ShowRunes(ctx, req.(*ShowrunesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Node_SubscribeBlockAdded_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StreamBlockAddedRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(NodeServer).SubscribeBlockAdded(m, &nodeSubscribeBlockAddedServer{stream}) +} + +type Node_SubscribeBlockAddedServer interface { + Send(*BlockAddedNotification) error + grpc.ServerStream +} + +type nodeSubscribeBlockAddedServer struct { + grpc.ServerStream +} + +func (x *nodeSubscribeBlockAddedServer) Send(m *BlockAddedNotification) error { + return x.ServerStream.SendMsg(m) +} + +func _Node_SubscribeChannelOpenFailed_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StreamChannelOpenFailedRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(NodeServer).SubscribeChannelOpenFailed(m, &nodeSubscribeChannelOpenFailedServer{stream}) +} + +type Node_SubscribeChannelOpenFailedServer interface { + Send(*ChannelOpenFailedNotification) error + grpc.ServerStream +} + +type nodeSubscribeChannelOpenFailedServer struct { + grpc.ServerStream +} + +func (x *nodeSubscribeChannelOpenFailedServer) Send(m *ChannelOpenFailedNotification) error { + return x.ServerStream.SendMsg(m) +} + +func _Node_SubscribeChannelOpened_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StreamChannelOpenedRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(NodeServer).SubscribeChannelOpened(m, &nodeSubscribeChannelOpenedServer{stream}) +} + +type Node_SubscribeChannelOpenedServer interface { + Send(*ChannelOpenedNotification) error + grpc.ServerStream +} + +type nodeSubscribeChannelOpenedServer struct { + grpc.ServerStream +} + +func (x *nodeSubscribeChannelOpenedServer) Send(m *ChannelOpenedNotification) error { + return x.ServerStream.SendMsg(m) +} + +func _Node_SubscribeConnect_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StreamConnectRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(NodeServer).SubscribeConnect(m, &nodeSubscribeConnectServer{stream}) +} + +type Node_SubscribeConnectServer interface { + Send(*PeerConnectNotification) error + grpc.ServerStream +} + +type nodeSubscribeConnectServer struct { + grpc.ServerStream +} + +func (x *nodeSubscribeConnectServer) Send(m *PeerConnectNotification) error { + return x.ServerStream.SendMsg(m) +} + +func _Node_SubscribeCustomMsg_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(StreamCustomMsgRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(NodeServer).SubscribeCustomMsg(m, &nodeSubscribeCustomMsgServer{stream}) +} + +type Node_SubscribeCustomMsgServer interface { + Send(*CustomMsgNotification) error + grpc.ServerStream +} + +type nodeSubscribeCustomMsgServer struct { + grpc.ServerStream +} + +func (x *nodeSubscribeCustomMsgServer) Send(m *CustomMsgNotification) error { + return x.ServerStream.SendMsg(m) +} + // Node_ServiceDesc is the grpc.ServiceDesc for Node service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -2135,10 +3993,22 @@ var Node_ServiceDesc = grpc.ServiceDesc{ MethodName: "AddGossip", Handler: _Node_AddGossip_Handler, }, + { + MethodName: "AddPsbtOutput", + Handler: _Node_AddPsbtOutput_Handler, + }, { MethodName: "AutoCleanInvoice", Handler: _Node_AutoCleanInvoice_Handler, }, + { + MethodName: "AutoCleanOnce", + Handler: _Node_AutoCleanOnce_Handler, + }, + { + MethodName: "AutoCleanStatus", + Handler: _Node_AutoCleanStatus_Handler, + }, { MethodName: "CheckMessage", Handler: _Node_CheckMessage_Handler, @@ -2171,18 +4041,42 @@ var Node_ServiceDesc = grpc.ServiceDesc{ MethodName: "DelDatastore", Handler: _Node_DelDatastore_Handler, }, - { - MethodName: "DelExpiredInvoice", - Handler: _Node_DelExpiredInvoice_Handler, - }, { MethodName: "DelInvoice", Handler: _Node_DelInvoice_Handler, }, + { + MethodName: "DevForgetChannel", + Handler: _Node_DevForgetChannel_Handler, + }, + { + MethodName: "EmergencyRecover", + Handler: _Node_EmergencyRecover_Handler, + }, + { + MethodName: "Recover", + Handler: _Node_Recover_Handler, + }, + { + MethodName: "RecoverChannel", + Handler: _Node_RecoverChannel_Handler, + }, { MethodName: "Invoice", Handler: _Node_Invoice_Handler, }, + { + MethodName: "CreateInvoiceRequest", + Handler: _Node_CreateInvoiceRequest_Handler, + }, + { + MethodName: "DisableInvoiceRequest", + Handler: _Node_DisableInvoiceRequest_Handler, + }, + { + MethodName: "ListInvoiceRequests", + Handler: _Node_ListInvoiceRequests_Handler, + }, { MethodName: "ListDatastore", Handler: _Node_ListDatastore_Handler, @@ -2203,6 +4097,10 @@ var Node_ServiceDesc = grpc.ServiceDesc{ MethodName: "ListTransactions", Handler: _Node_ListTransactions_Handler, }, + { + MethodName: "MakeSecret", + Handler: _Node_MakeSecret_Handler, + }, { MethodName: "Pay", Handler: _Node_Pay_Handler, @@ -2279,6 +4177,18 @@ var Node_ServiceDesc = grpc.ServiceDesc{ MethodName: "Decode", Handler: _Node_Decode_Handler, }, + { + MethodName: "DelPay", + Handler: _Node_DelPay_Handler, + }, + { + MethodName: "DelForward", + Handler: _Node_DelForward_Handler, + }, + { + MethodName: "DisableOffer", + Handler: _Node_DisableOffer_Handler, + }, { MethodName: "Disconnect", Handler: _Node_Disconnect_Handler, @@ -2291,10 +4201,30 @@ var Node_ServiceDesc = grpc.ServiceDesc{ MethodName: "FetchInvoice", Handler: _Node_FetchInvoice_Handler, }, + { + MethodName: "FundChannel_Cancel", + Handler: _Node_FundChannel_Cancel_Handler, + }, + { + MethodName: "FundChannel_Complete", + Handler: _Node_FundChannel_Complete_Handler, + }, { MethodName: "FundChannel", Handler: _Node_FundChannel_Handler, }, + { + MethodName: "FundChannel_Start", + Handler: _Node_FundChannel_Start_Handler, + }, + { + MethodName: "GetLog", + Handler: _Node_GetLog_Handler, + }, + { + MethodName: "FunderUpdate", + Handler: _Node_FunderUpdate_Handler, + }, { MethodName: "GetRoute", Handler: _Node_GetRoute_Handler, @@ -2315,22 +4245,82 @@ var Node_ServiceDesc = grpc.ServiceDesc{ MethodName: "ListHtlcs", Handler: _Node_ListHtlcs_Handler, }, + { + MethodName: "MultiFundChannel", + Handler: _Node_MultiFundChannel_Handler, + }, + { + MethodName: "MultiWithdraw", + Handler: _Node_MultiWithdraw_Handler, + }, { MethodName: "Offer", Handler: _Node_Offer_Handler, }, + { + MethodName: "OpenChannel_Abort", + Handler: _Node_OpenChannel_Abort_Handler, + }, + { + MethodName: "OpenChannel_Bump", + Handler: _Node_OpenChannel_Bump_Handler, + }, + { + MethodName: "OpenChannel_Init", + Handler: _Node_OpenChannel_Init_Handler, + }, + { + MethodName: "OpenChannel_Signed", + Handler: _Node_OpenChannel_Signed_Handler, + }, + { + MethodName: "OpenChannel_Update", + Handler: _Node_OpenChannel_Update_Handler, + }, { MethodName: "Ping", Handler: _Node_Ping_Handler, }, + { + MethodName: "Plugin", + Handler: _Node_Plugin_Handler, + }, + { + MethodName: "RenePayStatus", + Handler: _Node_RenePayStatus_Handler, + }, + { + MethodName: "RenePay", + Handler: _Node_RenePay_Handler, + }, + { + MethodName: "ReserveInputs", + Handler: _Node_ReserveInputs_Handler, + }, { MethodName: "SendCustomMsg", Handler: _Node_SendCustomMsg_Handler, }, + { + MethodName: "SendInvoice", + Handler: _Node_SendInvoice_Handler, + }, + { + MethodName: "SendOnionMessage", + Handler: _Node_SendOnionMessage_Handler, + }, { MethodName: "SetChannel", Handler: _Node_SetChannel_Handler, }, + { + MethodName: "SetConfig", + Handler: _Node_SetConfig_Handler, + }, + { + MethodName: "SetPsbtVersion", + Handler: _Node_SetPsbtVersion_Handler, + }, { MethodName: "SignInvoice", Handler: _Node_SignInvoice_Handler, @@ -2339,6 +4329,26 @@ var Node_ServiceDesc = grpc.ServiceDesc{ MethodName: "SignMessage", Handler: _Node_SignMessage_Handler, }, + { + MethodName: "Splice_Init", + Handler: _Node_Splice_Init_Handler, + }, + { + MethodName: "Splice_Signed", + Handler: _Node_Splice_Signed_Handler, + }, + { + MethodName: "Splice_Update", + Handler: _Node_Splice_Update_Handler, + }, + { + MethodName: "UnreserveInputs", + Handler: _Node_UnreserveInputs_Handler, + }, + { + MethodName: "UpgradeWallet", + Handler: _Node_UpgradeWallet_Handler, + }, { MethodName: "WaitBlockHeight", Handler: _Node_WaitBlockHeight_Handler, @@ -2347,10 +4357,18 @@ var Node_ServiceDesc = grpc.ServiceDesc{ MethodName: "Wait", Handler: _Node_Wait_Handler, }, + { + MethodName: "ListConfigs", + Handler: _Node_ListConfigs_Handler, + }, { MethodName: "Stop", Handler: _Node_Stop_Handler, }, + { + MethodName: "Help", + Handler: _Node_Help_Handler, + }, { MethodName: "PreApproveKeysend", Handler: _Node_PreApproveKeysend_Handler, @@ -2363,11 +4381,73 @@ var Node_ServiceDesc = grpc.ServiceDesc{ MethodName: "StaticBackup", Handler: _Node_StaticBackup_Handler, }, + { + MethodName: "BkprChannelsApy", + Handler: _Node_BkprChannelsApy_Handler, + }, + { + MethodName: "BkprDumpIncomeCsv", + Handler: _Node_BkprDumpIncomeCsv_Handler, + }, + { + MethodName: "BkprInspect", + Handler: _Node_BkprInspect_Handler, + }, + { + MethodName: "BkprListAccountEvents", + Handler: _Node_BkprListAccountEvents_Handler, + }, + { + MethodName: "BkprListBalances", + Handler: _Node_BkprListBalances_Handler, + }, { MethodName: "BkprListIncome", Handler: _Node_BkprListIncome_Handler, }, + { + MethodName: "BlacklistRune", + Handler: _Node_BlacklistRune_Handler, + }, + { + MethodName: "CheckRune", + Handler: _Node_CheckRune_Handler, + }, + { + MethodName: "CreateRune", + Handler: _Node_CreateRune_Handler, + }, + { + MethodName: "ShowRunes", + Handler: _Node_ShowRunes_Handler, + }, + }, + Streams: []grpc.StreamDesc{ + { + StreamName: "SubscribeBlockAdded", + Handler: _Node_SubscribeBlockAdded_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeChannelOpenFailed", + Handler: _Node_SubscribeChannelOpenFailed_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeChannelOpened", + Handler: _Node_SubscribeChannelOpened_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeConnect", + Handler: _Node_SubscribeConnect_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeCustomMsg", + Handler: _Node_SubscribeCustomMsg_Handler, + ServerStreams: true, + }, }, - Streams: []grpc.StreamDesc{}, Metadata: "node.proto", } diff --git a/cln/rpc/primitives.pb.go b/cln/rpc/primitives.pb.go index 350a284c..46f0c269 100644 --- a/cln/rpc/primitives.pb.go +++ b/cln/rpc/primitives.pb.go @@ -297,6 +297,119 @@ func (ChannelTypeName) EnumDescriptor() ([]byte, []int) { return file_primitives_proto_rawDescGZIP(), []int{3} } +type AutocleanSubsystem int32 + +const ( + AutocleanSubsystem_SUCCEEDEDFORWARDS AutocleanSubsystem = 0 + AutocleanSubsystem_FAILEDFORWARDS AutocleanSubsystem = 1 + AutocleanSubsystem_SUCCEEDEDPAYS AutocleanSubsystem = 2 + AutocleanSubsystem_FAILEDPAYS AutocleanSubsystem = 3 + AutocleanSubsystem_PAIDINVOICES AutocleanSubsystem = 4 + AutocleanSubsystem_EXPIREDINVOICES AutocleanSubsystem = 5 +) + +// Enum value maps for AutocleanSubsystem. +var ( + AutocleanSubsystem_name = map[int32]string{ + 0: "SUCCEEDEDFORWARDS", + 1: "FAILEDFORWARDS", + 2: "SUCCEEDEDPAYS", + 3: "FAILEDPAYS", + 4: "PAIDINVOICES", + 5: "EXPIREDINVOICES", + } + AutocleanSubsystem_value = map[string]int32{ + "SUCCEEDEDFORWARDS": 0, + "FAILEDFORWARDS": 1, + "SUCCEEDEDPAYS": 2, + "FAILEDPAYS": 3, + "PAIDINVOICES": 4, + "EXPIREDINVOICES": 5, + } +) + +func (x AutocleanSubsystem) Enum() *AutocleanSubsystem { + p := new(AutocleanSubsystem) + *p = x + return p +} + +func (x AutocleanSubsystem) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AutocleanSubsystem) Descriptor() protoreflect.EnumDescriptor { + return file_primitives_proto_enumTypes[4].Descriptor() +} + +func (AutocleanSubsystem) Type() protoreflect.EnumType { + return &file_primitives_proto_enumTypes[4] +} + +func (x AutocleanSubsystem) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AutocleanSubsystem.Descriptor instead. +func (AutocleanSubsystem) EnumDescriptor() ([]byte, []int) { + return file_primitives_proto_rawDescGZIP(), []int{4} +} + +type PluginSubcommand int32 + +const ( + PluginSubcommand_START PluginSubcommand = 0 + PluginSubcommand_STOP PluginSubcommand = 1 + PluginSubcommand_RESCAN PluginSubcommand = 2 + PluginSubcommand_STARTDIR PluginSubcommand = 3 + PluginSubcommand_LIST PluginSubcommand = 4 +) + +// Enum value maps for PluginSubcommand. +var ( + PluginSubcommand_name = map[int32]string{ + 0: "START", + 1: "STOP", + 2: "RESCAN", + 3: "STARTDIR", + 4: "LIST", + } + PluginSubcommand_value = map[string]int32{ + "START": 0, + "STOP": 1, + "RESCAN": 2, + "STARTDIR": 3, + "LIST": 4, + } +) + +func (x PluginSubcommand) Enum() *PluginSubcommand { + p := new(PluginSubcommand) + *p = x + return p +} + +func (x PluginSubcommand) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PluginSubcommand) Descriptor() protoreflect.EnumDescriptor { + return file_primitives_proto_enumTypes[5].Descriptor() +} + +func (PluginSubcommand) Type() protoreflect.EnumType { + return &file_primitives_proto_enumTypes[5] +} + +func (x PluginSubcommand) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PluginSubcommand.Descriptor instead. +func (PluginSubcommand) EnumDescriptor() ([]byte, []int) { + return file_primitives_proto_rawDescGZIP(), []int{5} +} + type Amount struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -782,11 +895,11 @@ type RouteHop struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - ShortChannelId string `protobuf:"bytes,2,opt,name=short_channel_id,json=shortChannelId,proto3" json:"short_channel_id,omitempty"` - Feebase *Amount `protobuf:"bytes,3,opt,name=feebase,proto3" json:"feebase,omitempty"` - Feeprop uint32 `protobuf:"varint,4,opt,name=feeprop,proto3" json:"feeprop,omitempty"` - Expirydelta uint32 `protobuf:"varint,5,opt,name=expirydelta,proto3" json:"expirydelta,omitempty"` + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Scid string `protobuf:"bytes,2,opt,name=scid,proto3" json:"scid,omitempty"` + Feebase *Amount `protobuf:"bytes,3,opt,name=feebase,proto3" json:"feebase,omitempty"` + Feeprop uint32 `protobuf:"varint,4,opt,name=feeprop,proto3" json:"feeprop,omitempty"` + Expirydelta uint32 `protobuf:"varint,5,opt,name=expirydelta,proto3" json:"expirydelta,omitempty"` } func (x *RouteHop) Reset() { @@ -828,9 +941,9 @@ func (x *RouteHop) GetId() []byte { return nil } -func (x *RouteHop) GetShortChannelId() string { +func (x *RouteHop) GetScid() string { if x != nil { - return x.ShortChannelId + return x.Scid } return "" } @@ -950,6 +1063,179 @@ func (x *RoutehintList) GetHints() []*Routehint { return nil } +type DecodeRouteHop struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Pubkey []byte `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"` + ShortChannelId string `protobuf:"bytes,2,opt,name=short_channel_id,json=shortChannelId,proto3" json:"short_channel_id,omitempty"` + FeeBaseMsat *Amount `protobuf:"bytes,3,opt,name=fee_base_msat,json=feeBaseMsat,proto3" json:"fee_base_msat,omitempty"` + FeeProportionalMillionths uint32 `protobuf:"varint,4,opt,name=fee_proportional_millionths,json=feeProportionalMillionths,proto3" json:"fee_proportional_millionths,omitempty"` + CltvExpiryDelta uint32 `protobuf:"varint,5,opt,name=cltv_expiry_delta,json=cltvExpiryDelta,proto3" json:"cltv_expiry_delta,omitempty"` +} + +func (x *DecodeRouteHop) Reset() { + *x = DecodeRouteHop{} + if protoimpl.UnsafeEnabled { + mi := &file_primitives_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DecodeRouteHop) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DecodeRouteHop) ProtoMessage() {} + +func (x *DecodeRouteHop) ProtoReflect() protoreflect.Message { + mi := &file_primitives_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 DecodeRouteHop.ProtoReflect.Descriptor instead. +func (*DecodeRouteHop) Descriptor() ([]byte, []int) { + return file_primitives_proto_rawDescGZIP(), []int{10} +} + +func (x *DecodeRouteHop) GetPubkey() []byte { + if x != nil { + return x.Pubkey + } + return nil +} + +func (x *DecodeRouteHop) GetShortChannelId() string { + if x != nil { + return x.ShortChannelId + } + return "" +} + +func (x *DecodeRouteHop) GetFeeBaseMsat() *Amount { + if x != nil { + return x.FeeBaseMsat + } + return nil +} + +func (x *DecodeRouteHop) GetFeeProportionalMillionths() uint32 { + if x != nil { + return x.FeeProportionalMillionths + } + return 0 +} + +func (x *DecodeRouteHop) GetCltvExpiryDelta() uint32 { + if x != nil { + return x.CltvExpiryDelta + } + return 0 +} + +type DecodeRoutehint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hops []*DecodeRouteHop `protobuf:"bytes,1,rep,name=hops,proto3" json:"hops,omitempty"` +} + +func (x *DecodeRoutehint) Reset() { + *x = DecodeRoutehint{} + if protoimpl.UnsafeEnabled { + mi := &file_primitives_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DecodeRoutehint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DecodeRoutehint) ProtoMessage() {} + +func (x *DecodeRoutehint) ProtoReflect() protoreflect.Message { + mi := &file_primitives_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 DecodeRoutehint.ProtoReflect.Descriptor instead. +func (*DecodeRoutehint) Descriptor() ([]byte, []int) { + return file_primitives_proto_rawDescGZIP(), []int{11} +} + +func (x *DecodeRoutehint) GetHops() []*DecodeRouteHop { + if x != nil { + return x.Hops + } + return nil +} + +type DecodeRoutehintList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hints []*DecodeRoutehint `protobuf:"bytes,2,rep,name=hints,proto3" json:"hints,omitempty"` +} + +func (x *DecodeRoutehintList) Reset() { + *x = DecodeRoutehintList{} + if protoimpl.UnsafeEnabled { + mi := &file_primitives_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DecodeRoutehintList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DecodeRoutehintList) ProtoMessage() {} + +func (x *DecodeRoutehintList) ProtoReflect() protoreflect.Message { + mi := &file_primitives_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 DecodeRoutehintList.ProtoReflect.Descriptor instead. +func (*DecodeRoutehintList) Descriptor() ([]byte, []int) { + return file_primitives_proto_rawDescGZIP(), []int{12} +} + +func (x *DecodeRoutehintList) GetHints() []*DecodeRoutehint { + if x != nil { + return x.Hints + } + return nil +} + type TlvEntry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -962,7 +1248,7 @@ type TlvEntry struct { func (x *TlvEntry) Reset() { *x = TlvEntry{} if protoimpl.UnsafeEnabled { - mi := &file_primitives_proto_msgTypes[10] + mi := &file_primitives_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -975,7 +1261,7 @@ func (x *TlvEntry) String() string { func (*TlvEntry) ProtoMessage() {} func (x *TlvEntry) ProtoReflect() protoreflect.Message { - mi := &file_primitives_proto_msgTypes[10] + mi := &file_primitives_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -988,7 +1274,7 @@ func (x *TlvEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use TlvEntry.ProtoReflect.Descriptor instead. func (*TlvEntry) Descriptor() ([]byte, []int) { - return file_primitives_proto_rawDescGZIP(), []int{10} + return file_primitives_proto_rawDescGZIP(), []int{13} } func (x *TlvEntry) GetType() uint64 { @@ -1016,7 +1302,7 @@ type TlvStream struct { func (x *TlvStream) Reset() { *x = TlvStream{} if protoimpl.UnsafeEnabled { - mi := &file_primitives_proto_msgTypes[11] + mi := &file_primitives_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1029,7 +1315,7 @@ func (x *TlvStream) String() string { func (*TlvStream) ProtoMessage() {} func (x *TlvStream) ProtoReflect() protoreflect.Message { - mi := &file_primitives_proto_msgTypes[11] + mi := &file_primitives_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1042,7 +1328,7 @@ func (x *TlvStream) ProtoReflect() protoreflect.Message { // Deprecated: Use TlvStream.ProtoReflect.Descriptor instead. func (*TlvStream) Descriptor() ([]byte, []int) { - return file_primitives_proto_rawDescGZIP(), []int{11} + return file_primitives_proto_rawDescGZIP(), []int{14} } func (x *TlvStream) GetEntries() []*TlvEntry { @@ -1087,93 +1373,128 @@ var file_primitives_proto_rawDesc = []byte{ 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa7, 0x01, 0x0a, 0x08, 0x52, + 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x91, 0x01, 0x0a, 0x08, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, - 0x64, 0x12, 0x25, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x62, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, - 0x07, 0x66, 0x65, 0x65, 0x62, 0x61, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x70, - 0x72, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x65, 0x65, 0x70, 0x72, - 0x6f, 0x70, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x64, 0x65, 0x6c, 0x74, - 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x64, - 0x65, 0x6c, 0x74, 0x61, 0x22, 0x2e, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x68, 0x69, 0x6e, - 0x74, 0x12, 0x21, 0x0a, 0x04, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x70, 0x52, 0x04, - 0x68, 0x6f, 0x70, 0x73, 0x22, 0x35, 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x68, 0x69, 0x6e, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x05, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, - 0x68, 0x69, 0x6e, 0x74, 0x52, 0x05, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x34, 0x0a, 0x08, 0x54, - 0x6c, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x34, 0x0a, 0x09, 0x54, 0x6c, 0x76, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x27, - 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x54, 0x6c, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, - 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x2a, 0x24, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x53, 0x69, 0x64, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, - 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x01, 0x2a, 0xa0, 0x02, - 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0c, - 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x6e, 0x69, 0x6e, 0x67, 0x64, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x41, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, - 0x4c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x64, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x53, 0x68, 0x75, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x44, 0x6f, 0x77, 0x6e, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x73, 0x69, 0x6e, - 0x67, 0x64, 0x53, 0x69, 0x67, 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0x04, 0x12, - 0x14, 0x0a, 0x10, 0x43, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, - 0x67, 0x55, 0x6e, 0x69, 0x6c, 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x10, 0x06, 0x12, 0x14, 0x0a, - 0x10, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x65, - 0x6e, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x4f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x10, 0x08, - 0x12, 0x15, 0x0a, 0x11, 0x44, 0x75, 0x61, 0x6c, 0x6f, 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x70, 0x65, - 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x09, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x75, 0x61, 0x6c, 0x6f, - 0x70, 0x65, 0x6e, 0x64, 0x41, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x6b, - 0x69, 0x6e, 0x10, 0x0a, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, - 0x41, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x10, 0x0b, - 0x2a, 0xd5, 0x03, 0x0a, 0x09, 0x48, 0x74, 0x6c, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, - 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x48, 0x74, 0x6c, 0x63, 0x10, 0x00, 0x12, - 0x11, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x63, 0x76, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x76, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x63, 0x76, - 0x64, 0x41, 0x64, 0x64, 0x41, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x03, 0x12, - 0x18, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x76, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x63, 0x76, - 0x64, 0x41, 0x64, 0x64, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x63, 0x76, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x48, 0x74, 0x6c, 0x63, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x63, 0x76, 0x64, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x07, 0x12, 0x18, 0x0a, - 0x14, 0x53, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x09, - 0x12, 0x1b, 0x0a, 0x17, 0x52, 0x63, 0x76, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x63, - 0x6b, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x0a, 0x12, 0x0f, 0x0a, - 0x0b, 0x52, 0x63, 0x76, 0x64, 0x41, 0x64, 0x64, 0x48, 0x74, 0x6c, 0x63, 0x10, 0x0b, 0x12, 0x11, - 0x0a, 0x0d, 0x52, 0x63, 0x76, 0x64, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x10, - 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x52, 0x65, 0x76, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x74, - 0x41, 0x64, 0x64, 0x41, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x0e, 0x12, 0x12, - 0x0a, 0x0e, 0x53, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x74, 0x6c, 0x63, - 0x10, 0x0f, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x10, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x63, 0x76, 0x64, + 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x63, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x63, 0x69, 0x64, 0x12, 0x25, 0x0a, 0x07, 0x66, + 0x65, 0x65, 0x62, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x63, + 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, 0x66, 0x65, 0x65, 0x62, 0x61, + 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x65, 0x65, 0x70, 0x72, 0x6f, 0x70, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x65, 0x65, 0x70, 0x72, 0x6f, 0x70, 0x12, 0x20, 0x0a, 0x0b, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x2e, + 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x68, 0x69, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x04, 0x68, + 0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x70, 0x52, 0x04, 0x68, 0x6f, 0x70, 0x73, 0x22, 0x35, + 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x68, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x24, 0x0a, 0x05, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, + 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x68, 0x69, 0x6e, 0x74, 0x52, 0x05, + 0x68, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xef, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, + 0x12, 0x28, 0x0a, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x72, + 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x0d, 0x66, 0x65, + 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, + 0x66, 0x65, 0x65, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x3e, 0x0a, 0x1b, 0x66, + 0x65, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, + 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x19, 0x66, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, + 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6c, 0x74, 0x76, 0x45, 0x78, 0x70, 0x69, + 0x72, 0x79, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x3a, 0x0a, 0x0f, 0x44, 0x65, 0x63, 0x6f, 0x64, + 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x68, 0x69, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x68, 0x6f, + 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, 0x44, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x6f, 0x70, 0x52, 0x04, 0x68, + 0x6f, 0x70, 0x73, 0x22, 0x41, 0x0a, 0x13, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x6f, 0x75, + 0x74, 0x65, 0x68, 0x69, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x05, 0x68, 0x69, + 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6c, 0x6e, 0x2e, + 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x68, 0x69, 0x6e, 0x74, 0x52, + 0x05, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x34, 0x0a, 0x08, 0x54, 0x6c, 0x76, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x34, 0x0a, 0x09, + 0x54, 0x6c, 0x76, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x27, 0x0a, 0x07, 0x65, 0x6e, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x63, 0x6c, 0x6e, + 0x2e, 0x54, 0x6c, 0x76, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x2a, 0x24, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x64, + 0x65, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, + 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x01, 0x2a, 0xa0, 0x02, 0x0a, 0x0c, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x70, 0x65, + 0x6e, 0x69, 0x6e, 0x67, 0x64, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x64, 0x41, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x6b, 0x69, + 0x6e, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x4e, + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x64, 0x53, 0x68, 0x75, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x6f, 0x77, 0x6e, 0x10, + 0x03, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x64, 0x53, 0x69, 0x67, + 0x65, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x6c, + 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x10, 0x05, + 0x12, 0x16, 0x0a, 0x12, 0x41, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x55, 0x6e, 0x69, 0x6c, + 0x61, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x75, 0x6e, 0x64, + 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x65, 0x6e, 0x10, 0x07, 0x12, 0x0b, + 0x0a, 0x07, 0x4f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x10, 0x08, 0x12, 0x15, 0x0a, 0x11, 0x44, + 0x75, 0x61, 0x6c, 0x6f, 0x70, 0x65, 0x6e, 0x64, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x69, 0x74, + 0x10, 0x09, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x75, 0x61, 0x6c, 0x6f, 0x70, 0x65, 0x6e, 0x64, 0x41, + 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x4c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x10, 0x0a, 0x12, + 0x1a, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x64, 0x41, 0x77, 0x61, 0x69, 0x74, + 0x69, 0x6e, 0x67, 0x53, 0x70, 0x6c, 0x69, 0x63, 0x65, 0x10, 0x0b, 0x2a, 0xd5, 0x03, 0x0a, 0x09, + 0x48, 0x74, 0x6c, 0x63, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x65, 0x6e, + 0x74, 0x41, 0x64, 0x64, 0x48, 0x74, 0x6c, 0x63, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x65, + 0x6e, 0x74, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x01, 0x12, 0x15, 0x0a, + 0x11, 0x52, 0x63, 0x76, 0x64, 0x41, 0x64, 0x64, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x63, 0x76, 0x64, 0x41, 0x64, 0x64, 0x41, + 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x65, + 0x6e, 0x74, 0x41, 0x64, 0x64, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x63, 0x76, 0x64, 0x41, 0x64, 0x64, 0x41, + 0x63, 0x6b, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x05, 0x12, 0x12, + 0x0a, 0x0e, 0x52, 0x63, 0x76, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x74, 0x6c, 0x63, + 0x10, 0x06, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x63, 0x76, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x10, 0x11, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x63, 0x76, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, - 0x41, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x12, 0x12, 0x1b, 0x0a, 0x17, 0x53, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x76, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x13, 0x2a, 0x90, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x15, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x6b, 0x65, 0x79, - 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x61, 0x6e, 0x63, 0x68, 0x6f, - 0x72, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x10, 0x01, - 0x12, 0x21, 0x0a, 0x1d, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x5f, 0x7a, 0x65, 0x72, 0x6f, - 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x74, 0x78, 0x5f, 0x65, 0x76, 0x65, - 0x6e, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x73, 0x63, 0x69, 0x64, 0x5f, 0x61, 0x6c, 0x69, 0x61, - 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x7a, 0x65, 0x72, 0x6f, - 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x10, 0x04, 0x42, 0x1f, 0x5a, 0x1d, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x72, 0x65, 0x65, 0x7a, 0x2f, - 0x6c, 0x73, 0x70, 0x64, 0x2f, 0x63, 0x6c, 0x6e, 0x2f, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x10, 0x08, 0x12, 0x17, 0x0a, 0x13, 0x53, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x41, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x09, 0x12, 0x1b, 0x0a, 0x17, 0x52, + 0x63, 0x76, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x76, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x0a, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x63, 0x76, 0x64, + 0x41, 0x64, 0x64, 0x48, 0x74, 0x6c, 0x63, 0x10, 0x0b, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x63, 0x76, + 0x64, 0x41, 0x64, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, + 0x53, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x41, 0x63, + 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x0e, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x48, 0x74, 0x6c, 0x63, 0x10, 0x0f, 0x12, 0x14, 0x0a, + 0x10, 0x53, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x10, 0x10, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x63, 0x76, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, + 0x65, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x10, 0x11, 0x12, 0x17, 0x0a, + 0x13, 0x52, 0x63, 0x76, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x6b, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x10, 0x12, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x65, 0x6e, 0x74, 0x52, 0x65, + 0x6d, 0x6f, 0x76, 0x65, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x10, 0x13, 0x2a, 0x90, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x63, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x6b, 0x65, 0x79, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x73, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x61, + 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x66, 0x65, 0x65, 0x5f, + 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x74, 0x78, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x10, 0x02, 0x12, 0x13, + 0x0a, 0x0f, 0x73, 0x63, 0x69, 0x64, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x65, 0x76, 0x65, + 0x6e, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x7a, 0x65, 0x72, 0x6f, 0x63, 0x6f, 0x6e, 0x66, 0x5f, + 0x65, 0x76, 0x65, 0x6e, 0x10, 0x04, 0x2a, 0x89, 0x01, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x6f, 0x63, + 0x6c, 0x65, 0x61, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x15, 0x0a, + 0x11, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, + 0x44, 0x53, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x46, 0x4f, + 0x52, 0x57, 0x41, 0x52, 0x44, 0x53, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x55, 0x43, 0x43, + 0x45, 0x45, 0x44, 0x45, 0x44, 0x50, 0x41, 0x59, 0x53, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x46, + 0x41, 0x49, 0x4c, 0x45, 0x44, 0x50, 0x41, 0x59, 0x53, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x50, + 0x41, 0x49, 0x44, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x53, 0x10, 0x04, 0x12, 0x13, 0x0a, + 0x0f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x53, + 0x10, 0x05, 0x2a, 0x4b, 0x0a, 0x10, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x53, 0x75, 0x62, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, + 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x54, 0x4f, 0x50, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, + 0x45, 0x53, 0x43, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x52, 0x54, + 0x44, 0x49, 0x52, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x04, 0x42, + 0x1f, 0x5a, 0x1d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x72, + 0x65, 0x65, 0x7a, 0x2f, 0x6c, 0x73, 0x70, 0x64, 0x2f, 0x63, 0x6c, 0x6e, 0x2f, 0x72, 0x70, 0x63, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1188,39 +1509,47 @@ func file_primitives_proto_rawDescGZIP() []byte { return file_primitives_proto_rawDescData } -var file_primitives_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_primitives_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_primitives_proto_enumTypes = make([]protoimpl.EnumInfo, 6) +var file_primitives_proto_msgTypes = make([]protoimpl.MessageInfo, 15) var file_primitives_proto_goTypes = []interface{}{ (ChannelSide)(0), // 0: cln.ChannelSide (ChannelState)(0), // 1: cln.ChannelState (HtlcState)(0), // 2: cln.HtlcState (ChannelTypeName)(0), // 3: cln.ChannelTypeName - (*Amount)(nil), // 4: cln.Amount - (*AmountOrAll)(nil), // 5: cln.AmountOrAll - (*AmountOrAny)(nil), // 6: cln.AmountOrAny - (*ChannelStateChangeCause)(nil), // 7: cln.ChannelStateChangeCause - (*Outpoint)(nil), // 8: cln.Outpoint - (*Feerate)(nil), // 9: cln.Feerate - (*OutputDesc)(nil), // 10: cln.OutputDesc - (*RouteHop)(nil), // 11: cln.RouteHop - (*Routehint)(nil), // 12: cln.Routehint - (*RoutehintList)(nil), // 13: cln.RoutehintList - (*TlvEntry)(nil), // 14: cln.TlvEntry - (*TlvStream)(nil), // 15: cln.TlvStream + (AutocleanSubsystem)(0), // 4: cln.AutocleanSubsystem + (PluginSubcommand)(0), // 5: cln.PluginSubcommand + (*Amount)(nil), // 6: cln.Amount + (*AmountOrAll)(nil), // 7: cln.AmountOrAll + (*AmountOrAny)(nil), // 8: cln.AmountOrAny + (*ChannelStateChangeCause)(nil), // 9: cln.ChannelStateChangeCause + (*Outpoint)(nil), // 10: cln.Outpoint + (*Feerate)(nil), // 11: cln.Feerate + (*OutputDesc)(nil), // 12: cln.OutputDesc + (*RouteHop)(nil), // 13: cln.RouteHop + (*Routehint)(nil), // 14: cln.Routehint + (*RoutehintList)(nil), // 15: cln.RoutehintList + (*DecodeRouteHop)(nil), // 16: cln.DecodeRouteHop + (*DecodeRoutehint)(nil), // 17: cln.DecodeRoutehint + (*DecodeRoutehintList)(nil), // 18: cln.DecodeRoutehintList + (*TlvEntry)(nil), // 19: cln.TlvEntry + (*TlvStream)(nil), // 20: cln.TlvStream } var file_primitives_proto_depIdxs = []int32{ - 4, // 0: cln.AmountOrAll.amount:type_name -> cln.Amount - 4, // 1: cln.AmountOrAny.amount:type_name -> cln.Amount - 4, // 2: cln.OutputDesc.amount:type_name -> cln.Amount - 4, // 3: cln.RouteHop.feebase:type_name -> cln.Amount - 11, // 4: cln.Routehint.hops:type_name -> cln.RouteHop - 12, // 5: cln.RoutehintList.hints:type_name -> cln.Routehint - 14, // 6: cln.TlvStream.entries:type_name -> cln.TlvEntry - 7, // [7:7] is the sub-list for method output_type - 7, // [7:7] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name + 6, // 0: cln.AmountOrAll.amount:type_name -> cln.Amount + 6, // 1: cln.AmountOrAny.amount:type_name -> cln.Amount + 6, // 2: cln.OutputDesc.amount:type_name -> cln.Amount + 6, // 3: cln.RouteHop.feebase:type_name -> cln.Amount + 13, // 4: cln.Routehint.hops:type_name -> cln.RouteHop + 14, // 5: cln.RoutehintList.hints:type_name -> cln.Routehint + 6, // 6: cln.DecodeRouteHop.fee_base_msat:type_name -> cln.Amount + 16, // 7: cln.DecodeRoutehint.hops:type_name -> cln.DecodeRouteHop + 17, // 8: cln.DecodeRoutehintList.hints:type_name -> cln.DecodeRoutehint + 19, // 9: cln.TlvStream.entries:type_name -> cln.TlvEntry + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_primitives_proto_init() } @@ -1350,7 +1679,7 @@ func file_primitives_proto_init() { } } file_primitives_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TlvEntry); i { + switch v := v.(*DecodeRouteHop); i { case 0: return &v.state case 1: @@ -1362,6 +1691,42 @@ func file_primitives_proto_init() { } } file_primitives_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodeRoutehint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_primitives_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecodeRoutehintList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_primitives_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TlvEntry); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_primitives_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*TlvStream); i { case 0: return &v.state @@ -1394,8 +1759,8 @@ func file_primitives_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_primitives_proto_rawDesc, - NumEnums: 4, - NumMessages: 12, + NumEnums: 6, + NumMessages: 15, NumExtensions: 0, NumServices: 0, }, diff --git a/cln/rpc/primitives.proto b/cln/rpc/primitives.proto index 78836119..056ffb9c 100644 --- a/cln/rpc/primitives.proto +++ b/cln/rpc/primitives.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package cln; option go_package = "github.com/breez/lspd/cln/rpc"; -// This file was taken from cln v24.02.1 +// This file was taken from cln v24.05 message Amount { uint64 msat = 1; @@ -89,9 +89,9 @@ message OutputDesc { message RouteHop { bytes id = 1; - string short_channel_id = 2; + string scid = 2; Amount feebase = 3; - uint32 feeprop = 4; + uint32 feeprop = 4; uint32 expirydelta = 5; } message Routehint { @@ -101,6 +101,19 @@ message RoutehintList { repeated Routehint hints = 2; } +message DecodeRouteHop { + bytes pubkey = 1; + string short_channel_id = 2; + Amount fee_base_msat = 3; + uint32 fee_proportional_millionths = 4; + uint32 cltv_expiry_delta = 5; +} +message DecodeRoutehint { + repeated DecodeRouteHop hops = 1; +} +message DecodeRoutehintList { + repeated DecodeRoutehint hints = 2; +} message TlvEntry { uint64 type = 1; @@ -118,3 +131,20 @@ enum ChannelTypeName { scid_alias_even = 3; zeroconf_even = 4; } + +enum AutocleanSubsystem { + SUCCEEDEDFORWARDS = 0; + FAILEDFORWARDS = 1; + SUCCEEDEDPAYS = 2; + FAILEDPAYS = 3; + PAIDINVOICES = 4; + EXPIREDINVOICES = 5; +} + +enum PluginSubcommand { + START = 0; + STOP = 1; + RESCAN = 2; + STARTDIR = 3; + LIST = 4; +} diff --git a/itest/lntest/cln_node.go b/itest/lntest/cln_node.go index 680ee770..56d0b15b 100644 --- a/itest/lntest/cln_node.go +++ b/itest/lntest/cln_node.go @@ -489,7 +489,7 @@ func (n *ClnNode) WaitForChannelReady(channel *ChannelInfo) ShortChannelID { ) if channelIndex >= 0 { peerChannel := resp.Channels[channelIndex] - if *peerChannel.State == rpc.ListpeerchannelsChannels_CHANNELD_AWAITING_LOCKIN { + if peerChannel.State == rpc.ListpeerchannelsChannels_CHANNELD_AWAITING_LOCKIN { log.Printf("%s: Channel state is CHANNELD_AWAITING_LOCKIN, mining some blocks.", n.name) n.miner.MineBlocks(6) n.WaitForSync() @@ -511,6 +511,10 @@ func (n *ClnNode) CreateBolt11Invoice(options *CreateInvoiceOptions) *CreateInvo label, err := GenerateRandomString() CheckError(n.harness.T, err) + exposePrivateChannels := []string{} + if options.IncludeHopHints { + exposePrivateChannels = append(exposePrivateChannels, "true") + } req := &rpc.InvoiceRequest{ Label: label, AmountMsat: &rpc.AmountOrAny{ @@ -520,7 +524,7 @@ func (n *ClnNode) CreateBolt11Invoice(options *CreateInvoiceOptions) *CreateInvo }, }, }, - Exposeprivatechannels: &options.IncludeHopHints, + Exposeprivatechannels: exposePrivateChannels, } if options.Description != nil {