Merge pull request #2357 from joostjager/remove-lnrpc-dep

htlcswitch: remove lnrpc dependency
This commit is contained in:
Olaoluwa Osuntokun 2019-01-03 19:32:49 -08:00 committed by GitHub
commit 552a9b7190
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 600 additions and 666 deletions

@ -17,7 +17,6 @@ import (
"github.com/lightningnetwork/lnd/chainntnfs"
"github.com/lightningnetwork/lnd/channeldb"
"github.com/lightningnetwork/lnd/contractcourt"
"github.com/lightningnetwork/lnd/lnrpc"
"github.com/lightningnetwork/lnd/lnwallet"
"github.com/lightningnetwork/lnd/lnwire"
"github.com/lightningnetwork/lnd/ticker"
@ -119,7 +118,7 @@ type ChanClose struct {
// Updates is used by request creator to receive the notifications about
// execution of the close channel request.
Updates chan *lnrpc.CloseStatusUpdate
Updates chan interface{}
// Err is used by request creator to receive request execution error.
Err chan error
@ -1415,11 +1414,11 @@ func (s *Switch) teardownCircuit(pkt *htlcPacket) error {
// then the last parameter should be the ideal fee-per-kw that will be used as
// a starting point for close negotiation.
func (s *Switch) CloseLink(chanPoint *wire.OutPoint, closeType ChannelCloseType,
targetFeePerKw lnwallet.SatPerKWeight) (chan *lnrpc.CloseStatusUpdate,
targetFeePerKw lnwallet.SatPerKWeight) (chan interface{},
chan error) {
// TODO(roasbeef) abstract out the close updates.
updateChan := make(chan *lnrpc.CloseStatusUpdate, 2)
updateChan := make(chan interface{}, 2)
errChan := make(chan error, 1)
command := &ChanClose{

@ -49,7 +49,7 @@ func (x AddressType) String() string {
return proto.EnumName(AddressType_name, int32(x))
}
func (AddressType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{0}
return fileDescriptor_rpc_89005a23c34c5e47, []int{0}
}
type ChannelCloseSummary_ClosureType int32
@ -84,7 +84,7 @@ func (x ChannelCloseSummary_ClosureType) String() string {
return proto.EnumName(ChannelCloseSummary_ClosureType_name, int32(x))
}
func (ChannelCloseSummary_ClosureType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{38, 0}
return fileDescriptor_rpc_89005a23c34c5e47, []int{38, 0}
}
type GenSeedRequest struct {
@ -105,7 +105,7 @@ func (m *GenSeedRequest) Reset() { *m = GenSeedRequest{} }
func (m *GenSeedRequest) String() string { return proto.CompactTextString(m) }
func (*GenSeedRequest) ProtoMessage() {}
func (*GenSeedRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{0}
return fileDescriptor_rpc_89005a23c34c5e47, []int{0}
}
func (m *GenSeedRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GenSeedRequest.Unmarshal(m, b)
@ -160,7 +160,7 @@ func (m *GenSeedResponse) Reset() { *m = GenSeedResponse{} }
func (m *GenSeedResponse) String() string { return proto.CompactTextString(m) }
func (*GenSeedResponse) ProtoMessage() {}
func (*GenSeedResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{1}
return fileDescriptor_rpc_89005a23c34c5e47, []int{1}
}
func (m *GenSeedResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GenSeedResponse.Unmarshal(m, b)
@ -225,7 +225,7 @@ func (m *InitWalletRequest) Reset() { *m = InitWalletRequest{} }
func (m *InitWalletRequest) String() string { return proto.CompactTextString(m) }
func (*InitWalletRequest) ProtoMessage() {}
func (*InitWalletRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{2}
return fileDescriptor_rpc_89005a23c34c5e47, []int{2}
}
func (m *InitWalletRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InitWalletRequest.Unmarshal(m, b)
@ -283,7 +283,7 @@ func (m *InitWalletResponse) Reset() { *m = InitWalletResponse{} }
func (m *InitWalletResponse) String() string { return proto.CompactTextString(m) }
func (*InitWalletResponse) ProtoMessage() {}
func (*InitWalletResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{3}
return fileDescriptor_rpc_89005a23c34c5e47, []int{3}
}
func (m *InitWalletResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InitWalletResponse.Unmarshal(m, b)
@ -325,7 +325,7 @@ func (m *UnlockWalletRequest) Reset() { *m = UnlockWalletRequest{} }
func (m *UnlockWalletRequest) String() string { return proto.CompactTextString(m) }
func (*UnlockWalletRequest) ProtoMessage() {}
func (*UnlockWalletRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{4}
return fileDescriptor_rpc_89005a23c34c5e47, []int{4}
}
func (m *UnlockWalletRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UnlockWalletRequest.Unmarshal(m, b)
@ -369,7 +369,7 @@ func (m *UnlockWalletResponse) Reset() { *m = UnlockWalletResponse{} }
func (m *UnlockWalletResponse) String() string { return proto.CompactTextString(m) }
func (*UnlockWalletResponse) ProtoMessage() {}
func (*UnlockWalletResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{5}
return fileDescriptor_rpc_89005a23c34c5e47, []int{5}
}
func (m *UnlockWalletResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UnlockWalletResponse.Unmarshal(m, b)
@ -407,7 +407,7 @@ func (m *ChangePasswordRequest) Reset() { *m = ChangePasswordRequest{} }
func (m *ChangePasswordRequest) String() string { return proto.CompactTextString(m) }
func (*ChangePasswordRequest) ProtoMessage() {}
func (*ChangePasswordRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{6}
return fileDescriptor_rpc_89005a23c34c5e47, []int{6}
}
func (m *ChangePasswordRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChangePasswordRequest.Unmarshal(m, b)
@ -451,7 +451,7 @@ func (m *ChangePasswordResponse) Reset() { *m = ChangePasswordResponse{}
func (m *ChangePasswordResponse) String() string { return proto.CompactTextString(m) }
func (*ChangePasswordResponse) ProtoMessage() {}
func (*ChangePasswordResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{7}
return fileDescriptor_rpc_89005a23c34c5e47, []int{7}
}
func (m *ChangePasswordResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChangePasswordResponse.Unmarshal(m, b)
@ -495,7 +495,7 @@ func (m *Utxo) Reset() { *m = Utxo{} }
func (m *Utxo) String() string { return proto.CompactTextString(m) }
func (*Utxo) ProtoMessage() {}
func (*Utxo) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{8}
return fileDescriptor_rpc_89005a23c34c5e47, []int{8}
}
func (m *Utxo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Utxo.Unmarshal(m, b)
@ -583,7 +583,7 @@ func (m *Transaction) Reset() { *m = Transaction{} }
func (m *Transaction) String() string { return proto.CompactTextString(m) }
func (*Transaction) ProtoMessage() {}
func (*Transaction) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{9}
return fileDescriptor_rpc_89005a23c34c5e47, []int{9}
}
func (m *Transaction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Transaction.Unmarshal(m, b)
@ -669,7 +669,7 @@ func (m *GetTransactionsRequest) Reset() { *m = GetTransactionsRequest{}
func (m *GetTransactionsRequest) String() string { return proto.CompactTextString(m) }
func (*GetTransactionsRequest) ProtoMessage() {}
func (*GetTransactionsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{10}
return fileDescriptor_rpc_89005a23c34c5e47, []int{10}
}
func (m *GetTransactionsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetTransactionsRequest.Unmarshal(m, b)
@ -701,7 +701,7 @@ func (m *TransactionDetails) Reset() { *m = TransactionDetails{} }
func (m *TransactionDetails) String() string { return proto.CompactTextString(m) }
func (*TransactionDetails) ProtoMessage() {}
func (*TransactionDetails) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{11}
return fileDescriptor_rpc_89005a23c34c5e47, []int{11}
}
func (m *TransactionDetails) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransactionDetails.Unmarshal(m, b)
@ -742,7 +742,7 @@ func (m *FeeLimit) Reset() { *m = FeeLimit{} }
func (m *FeeLimit) String() string { return proto.CompactTextString(m) }
func (*FeeLimit) ProtoMessage() {}
func (*FeeLimit) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{12}
return fileDescriptor_rpc_89005a23c34c5e47, []int{12}
}
func (m *FeeLimit) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FeeLimit.Unmarshal(m, b)
@ -898,7 +898,7 @@ func (m *SendRequest) Reset() { *m = SendRequest{} }
func (m *SendRequest) String() string { return proto.CompactTextString(m) }
func (*SendRequest) ProtoMessage() {}
func (*SendRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{13}
return fileDescriptor_rpc_89005a23c34c5e47, []int{13}
}
func (m *SendRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendRequest.Unmarshal(m, b)
@ -988,7 +988,7 @@ func (m *SendResponse) Reset() { *m = SendResponse{} }
func (m *SendResponse) String() string { return proto.CompactTextString(m) }
func (*SendResponse) ProtoMessage() {}
func (*SendResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{14}
return fileDescriptor_rpc_89005a23c34c5e47, []int{14}
}
func (m *SendResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendResponse.Unmarshal(m, b)
@ -1052,7 +1052,7 @@ func (m *SendToRouteRequest) Reset() { *m = SendToRouteRequest{} }
func (m *SendToRouteRequest) String() string { return proto.CompactTextString(m) }
func (*SendToRouteRequest) ProtoMessage() {}
func (*SendToRouteRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{15}
return fileDescriptor_rpc_89005a23c34c5e47, []int{15}
}
func (m *SendToRouteRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendToRouteRequest.Unmarshal(m, b)
@ -1109,7 +1109,7 @@ func (m *ChannelPoint) Reset() { *m = ChannelPoint{} }
func (m *ChannelPoint) String() string { return proto.CompactTextString(m) }
func (*ChannelPoint) ProtoMessage() {}
func (*ChannelPoint) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{16}
return fileDescriptor_rpc_89005a23c34c5e47, []int{16}
}
func (m *ChannelPoint) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelPoint.Unmarshal(m, b)
@ -1253,7 +1253,7 @@ func (m *LightningAddress) Reset() { *m = LightningAddress{} }
func (m *LightningAddress) String() string { return proto.CompactTextString(m) }
func (*LightningAddress) ProtoMessage() {}
func (*LightningAddress) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{17}
return fileDescriptor_rpc_89005a23c34c5e47, []int{17}
}
func (m *LightningAddress) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LightningAddress.Unmarshal(m, b)
@ -1303,7 +1303,7 @@ func (m *SendManyRequest) Reset() { *m = SendManyRequest{} }
func (m *SendManyRequest) String() string { return proto.CompactTextString(m) }
func (*SendManyRequest) ProtoMessage() {}
func (*SendManyRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{18}
return fileDescriptor_rpc_89005a23c34c5e47, []int{18}
}
func (m *SendManyRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendManyRequest.Unmarshal(m, b)
@ -1356,7 +1356,7 @@ func (m *SendManyResponse) Reset() { *m = SendManyResponse{} }
func (m *SendManyResponse) String() string { return proto.CompactTextString(m) }
func (*SendManyResponse) ProtoMessage() {}
func (*SendManyResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{19}
return fileDescriptor_rpc_89005a23c34c5e47, []int{19}
}
func (m *SendManyResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendManyResponse.Unmarshal(m, b)
@ -1401,7 +1401,7 @@ func (m *SendCoinsRequest) Reset() { *m = SendCoinsRequest{} }
func (m *SendCoinsRequest) String() string { return proto.CompactTextString(m) }
func (*SendCoinsRequest) ProtoMessage() {}
func (*SendCoinsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{20}
return fileDescriptor_rpc_89005a23c34c5e47, []int{20}
}
func (m *SendCoinsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendCoinsRequest.Unmarshal(m, b)
@ -1461,7 +1461,7 @@ func (m *SendCoinsResponse) Reset() { *m = SendCoinsResponse{} }
func (m *SendCoinsResponse) String() string { return proto.CompactTextString(m) }
func (*SendCoinsResponse) ProtoMessage() {}
func (*SendCoinsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{21}
return fileDescriptor_rpc_89005a23c34c5e47, []int{21}
}
func (m *SendCoinsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendCoinsResponse.Unmarshal(m, b)
@ -1502,7 +1502,7 @@ func (m *ListUnspentRequest) Reset() { *m = ListUnspentRequest{} }
func (m *ListUnspentRequest) String() string { return proto.CompactTextString(m) }
func (*ListUnspentRequest) ProtoMessage() {}
func (*ListUnspentRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{22}
return fileDescriptor_rpc_89005a23c34c5e47, []int{22}
}
func (m *ListUnspentRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListUnspentRequest.Unmarshal(m, b)
@ -1548,7 +1548,7 @@ func (m *ListUnspentResponse) Reset() { *m = ListUnspentResponse{} }
func (m *ListUnspentResponse) String() string { return proto.CompactTextString(m) }
func (*ListUnspentResponse) ProtoMessage() {}
func (*ListUnspentResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{23}
return fileDescriptor_rpc_89005a23c34c5e47, []int{23}
}
func (m *ListUnspentResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListUnspentResponse.Unmarshal(m, b)
@ -1587,7 +1587,7 @@ func (m *NewAddressRequest) Reset() { *m = NewAddressRequest{} }
func (m *NewAddressRequest) String() string { return proto.CompactTextString(m) }
func (*NewAddressRequest) ProtoMessage() {}
func (*NewAddressRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{24}
return fileDescriptor_rpc_89005a23c34c5e47, []int{24}
}
func (m *NewAddressRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NewAddressRequest.Unmarshal(m, b)
@ -1626,7 +1626,7 @@ func (m *NewAddressResponse) Reset() { *m = NewAddressResponse{} }
func (m *NewAddressResponse) String() string { return proto.CompactTextString(m) }
func (*NewAddressResponse) ProtoMessage() {}
func (*NewAddressResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{25}
return fileDescriptor_rpc_89005a23c34c5e47, []int{25}
}
func (m *NewAddressResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NewAddressResponse.Unmarshal(m, b)
@ -1665,7 +1665,7 @@ func (m *SignMessageRequest) Reset() { *m = SignMessageRequest{} }
func (m *SignMessageRequest) String() string { return proto.CompactTextString(m) }
func (*SignMessageRequest) ProtoMessage() {}
func (*SignMessageRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{26}
return fileDescriptor_rpc_89005a23c34c5e47, []int{26}
}
func (m *SignMessageRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignMessageRequest.Unmarshal(m, b)
@ -1704,7 +1704,7 @@ func (m *SignMessageResponse) Reset() { *m = SignMessageResponse{} }
func (m *SignMessageResponse) String() string { return proto.CompactTextString(m) }
func (*SignMessageResponse) ProtoMessage() {}
func (*SignMessageResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{27}
return fileDescriptor_rpc_89005a23c34c5e47, []int{27}
}
func (m *SignMessageResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SignMessageResponse.Unmarshal(m, b)
@ -1745,7 +1745,7 @@ func (m *VerifyMessageRequest) Reset() { *m = VerifyMessageRequest{} }
func (m *VerifyMessageRequest) String() string { return proto.CompactTextString(m) }
func (*VerifyMessageRequest) ProtoMessage() {}
func (*VerifyMessageRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{28}
return fileDescriptor_rpc_89005a23c34c5e47, []int{28}
}
func (m *VerifyMessageRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VerifyMessageRequest.Unmarshal(m, b)
@ -1793,7 +1793,7 @@ func (m *VerifyMessageResponse) Reset() { *m = VerifyMessageResponse{} }
func (m *VerifyMessageResponse) String() string { return proto.CompactTextString(m) }
func (*VerifyMessageResponse) ProtoMessage() {}
func (*VerifyMessageResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{29}
return fileDescriptor_rpc_89005a23c34c5e47, []int{29}
}
func (m *VerifyMessageResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_VerifyMessageResponse.Unmarshal(m, b)
@ -1842,7 +1842,7 @@ func (m *ConnectPeerRequest) Reset() { *m = ConnectPeerRequest{} }
func (m *ConnectPeerRequest) String() string { return proto.CompactTextString(m) }
func (*ConnectPeerRequest) ProtoMessage() {}
func (*ConnectPeerRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{30}
return fileDescriptor_rpc_89005a23c34c5e47, []int{30}
}
func (m *ConnectPeerRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ConnectPeerRequest.Unmarshal(m, b)
@ -1886,7 +1886,7 @@ func (m *ConnectPeerResponse) Reset() { *m = ConnectPeerResponse{} }
func (m *ConnectPeerResponse) String() string { return proto.CompactTextString(m) }
func (*ConnectPeerResponse) ProtoMessage() {}
func (*ConnectPeerResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{31}
return fileDescriptor_rpc_89005a23c34c5e47, []int{31}
}
func (m *ConnectPeerResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ConnectPeerResponse.Unmarshal(m, b)
@ -1918,7 +1918,7 @@ func (m *DisconnectPeerRequest) Reset() { *m = DisconnectPeerRequest{} }
func (m *DisconnectPeerRequest) String() string { return proto.CompactTextString(m) }
func (*DisconnectPeerRequest) ProtoMessage() {}
func (*DisconnectPeerRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{32}
return fileDescriptor_rpc_89005a23c34c5e47, []int{32}
}
func (m *DisconnectPeerRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DisconnectPeerRequest.Unmarshal(m, b)
@ -1955,7 +1955,7 @@ func (m *DisconnectPeerResponse) Reset() { *m = DisconnectPeerResponse{}
func (m *DisconnectPeerResponse) String() string { return proto.CompactTextString(m) }
func (*DisconnectPeerResponse) ProtoMessage() {}
func (*DisconnectPeerResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{33}
return fileDescriptor_rpc_89005a23c34c5e47, []int{33}
}
func (m *DisconnectPeerResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DisconnectPeerResponse.Unmarshal(m, b)
@ -1989,7 +1989,7 @@ func (m *HTLC) Reset() { *m = HTLC{} }
func (m *HTLC) String() string { return proto.CompactTextString(m) }
func (*HTLC) ProtoMessage() {}
func (*HTLC) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{34}
return fileDescriptor_rpc_89005a23c34c5e47, []int{34}
}
func (m *HTLC) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_HTLC.Unmarshal(m, b)
@ -2101,7 +2101,7 @@ func (m *Channel) Reset() { *m = Channel{} }
func (m *Channel) String() string { return proto.CompactTextString(m) }
func (*Channel) ProtoMessage() {}
func (*Channel) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{35}
return fileDescriptor_rpc_89005a23c34c5e47, []int{35}
}
func (m *Channel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Channel.Unmarshal(m, b)
@ -2254,7 +2254,7 @@ func (m *ListChannelsRequest) Reset() { *m = ListChannelsRequest{} }
func (m *ListChannelsRequest) String() string { return proto.CompactTextString(m) }
func (*ListChannelsRequest) ProtoMessage() {}
func (*ListChannelsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{36}
return fileDescriptor_rpc_89005a23c34c5e47, []int{36}
}
func (m *ListChannelsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListChannelsRequest.Unmarshal(m, b)
@ -2314,7 +2314,7 @@ func (m *ListChannelsResponse) Reset() { *m = ListChannelsResponse{} }
func (m *ListChannelsResponse) String() string { return proto.CompactTextString(m) }
func (*ListChannelsResponse) ProtoMessage() {}
func (*ListChannelsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{37}
return fileDescriptor_rpc_89005a23c34c5e47, []int{37}
}
func (m *ListChannelsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListChannelsResponse.Unmarshal(m, b)
@ -2371,7 +2371,7 @@ func (m *ChannelCloseSummary) Reset() { *m = ChannelCloseSummary{} }
func (m *ChannelCloseSummary) String() string { return proto.CompactTextString(m) }
func (*ChannelCloseSummary) ProtoMessage() {}
func (*ChannelCloseSummary) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{38}
return fileDescriptor_rpc_89005a23c34c5e47, []int{38}
}
func (m *ChannelCloseSummary) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelCloseSummary.Unmarshal(m, b)
@ -2477,7 +2477,7 @@ func (m *ClosedChannelsRequest) Reset() { *m = ClosedChannelsRequest{} }
func (m *ClosedChannelsRequest) String() string { return proto.CompactTextString(m) }
func (*ClosedChannelsRequest) ProtoMessage() {}
func (*ClosedChannelsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{39}
return fileDescriptor_rpc_89005a23c34c5e47, []int{39}
}
func (m *ClosedChannelsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClosedChannelsRequest.Unmarshal(m, b)
@ -2550,7 +2550,7 @@ func (m *ClosedChannelsResponse) Reset() { *m = ClosedChannelsResponse{}
func (m *ClosedChannelsResponse) String() string { return proto.CompactTextString(m) }
func (*ClosedChannelsResponse) ProtoMessage() {}
func (*ClosedChannelsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{40}
return fileDescriptor_rpc_89005a23c34c5e47, []int{40}
}
func (m *ClosedChannelsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClosedChannelsResponse.Unmarshal(m, b)
@ -2603,7 +2603,7 @@ func (m *Peer) Reset() { *m = Peer{} }
func (m *Peer) String() string { return proto.CompactTextString(m) }
func (*Peer) ProtoMessage() {}
func (*Peer) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{41}
return fileDescriptor_rpc_89005a23c34c5e47, []int{41}
}
func (m *Peer) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Peer.Unmarshal(m, b)
@ -2689,7 +2689,7 @@ func (m *ListPeersRequest) Reset() { *m = ListPeersRequest{} }
func (m *ListPeersRequest) String() string { return proto.CompactTextString(m) }
func (*ListPeersRequest) ProtoMessage() {}
func (*ListPeersRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{42}
return fileDescriptor_rpc_89005a23c34c5e47, []int{42}
}
func (m *ListPeersRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListPeersRequest.Unmarshal(m, b)
@ -2721,7 +2721,7 @@ func (m *ListPeersResponse) Reset() { *m = ListPeersResponse{} }
func (m *ListPeersResponse) String() string { return proto.CompactTextString(m) }
func (*ListPeersResponse) ProtoMessage() {}
func (*ListPeersResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{43}
return fileDescriptor_rpc_89005a23c34c5e47, []int{43}
}
func (m *ListPeersResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListPeersResponse.Unmarshal(m, b)
@ -2758,7 +2758,7 @@ func (m *GetInfoRequest) Reset() { *m = GetInfoRequest{} }
func (m *GetInfoRequest) String() string { return proto.CompactTextString(m) }
func (*GetInfoRequest) ProtoMessage() {}
func (*GetInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{44}
return fileDescriptor_rpc_89005a23c34c5e47, []int{44}
}
func (m *GetInfoRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetInfoRequest.Unmarshal(m, b)
@ -2816,7 +2816,7 @@ func (m *GetInfoResponse) Reset() { *m = GetInfoResponse{} }
func (m *GetInfoResponse) String() string { return proto.CompactTextString(m) }
func (*GetInfoResponse) ProtoMessage() {}
func (*GetInfoResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{45}
return fileDescriptor_rpc_89005a23c34c5e47, []int{45}
}
func (m *GetInfoResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetInfoResponse.Unmarshal(m, b)
@ -2947,7 +2947,7 @@ func (m *ConfirmationUpdate) Reset() { *m = ConfirmationUpdate{} }
func (m *ConfirmationUpdate) String() string { return proto.CompactTextString(m) }
func (*ConfirmationUpdate) ProtoMessage() {}
func (*ConfirmationUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{46}
return fileDescriptor_rpc_89005a23c34c5e47, []int{46}
}
func (m *ConfirmationUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ConfirmationUpdate.Unmarshal(m, b)
@ -2999,7 +2999,7 @@ func (m *ChannelOpenUpdate) Reset() { *m = ChannelOpenUpdate{} }
func (m *ChannelOpenUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelOpenUpdate) ProtoMessage() {}
func (*ChannelOpenUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{47}
return fileDescriptor_rpc_89005a23c34c5e47, []int{47}
}
func (m *ChannelOpenUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelOpenUpdate.Unmarshal(m, b)
@ -3038,7 +3038,7 @@ func (m *ChannelCloseUpdate) Reset() { *m = ChannelCloseUpdate{} }
func (m *ChannelCloseUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelCloseUpdate) ProtoMessage() {}
func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{48}
return fileDescriptor_rpc_89005a23c34c5e47, []int{48}
}
func (m *ChannelCloseUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelCloseUpdate.Unmarshal(m, b)
@ -3093,7 +3093,7 @@ func (m *CloseChannelRequest) Reset() { *m = CloseChannelRequest{} }
func (m *CloseChannelRequest) String() string { return proto.CompactTextString(m) }
func (*CloseChannelRequest) ProtoMessage() {}
func (*CloseChannelRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{49}
return fileDescriptor_rpc_89005a23c34c5e47, []int{49}
}
func (m *CloseChannelRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CloseChannelRequest.Unmarshal(m, b)
@ -3144,7 +3144,6 @@ func (m *CloseChannelRequest) GetSatPerByte() int64 {
type CloseStatusUpdate struct {
// Types that are valid to be assigned to Update:
// *CloseStatusUpdate_ClosePending
// *CloseStatusUpdate_Confirmation
// *CloseStatusUpdate_ChanClose
Update isCloseStatusUpdate_Update `protobuf_oneof:"update"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -3156,7 +3155,7 @@ func (m *CloseStatusUpdate) Reset() { *m = CloseStatusUpdate{} }
func (m *CloseStatusUpdate) String() string { return proto.CompactTextString(m) }
func (*CloseStatusUpdate) ProtoMessage() {}
func (*CloseStatusUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{50}
return fileDescriptor_rpc_89005a23c34c5e47, []int{50}
}
func (m *CloseStatusUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CloseStatusUpdate.Unmarshal(m, b)
@ -3184,18 +3183,12 @@ type CloseStatusUpdate_ClosePending struct {
ClosePending *PendingUpdate `protobuf:"bytes,1,opt,name=close_pending,proto3,oneof"`
}
type CloseStatusUpdate_Confirmation struct {
Confirmation *ConfirmationUpdate `protobuf:"bytes,2,opt,name=confirmation,proto3,oneof"`
}
type CloseStatusUpdate_ChanClose struct {
ChanClose *ChannelCloseUpdate `protobuf:"bytes,3,opt,name=chan_close,proto3,oneof"`
}
func (*CloseStatusUpdate_ClosePending) isCloseStatusUpdate_Update() {}
func (*CloseStatusUpdate_Confirmation) isCloseStatusUpdate_Update() {}
func (*CloseStatusUpdate_ChanClose) isCloseStatusUpdate_Update() {}
func (m *CloseStatusUpdate) GetUpdate() isCloseStatusUpdate_Update {
@ -3212,13 +3205,6 @@ func (m *CloseStatusUpdate) GetClosePending() *PendingUpdate {
return nil
}
func (m *CloseStatusUpdate) GetConfirmation() *ConfirmationUpdate {
if x, ok := m.GetUpdate().(*CloseStatusUpdate_Confirmation); ok {
return x.Confirmation
}
return nil
}
func (m *CloseStatusUpdate) GetChanClose() *ChannelCloseUpdate {
if x, ok := m.GetUpdate().(*CloseStatusUpdate_ChanClose); ok {
return x.ChanClose
@ -3230,7 +3216,6 @@ func (m *CloseStatusUpdate) GetChanClose() *ChannelCloseUpdate {
func (*CloseStatusUpdate) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _CloseStatusUpdate_OneofMarshaler, _CloseStatusUpdate_OneofUnmarshaler, _CloseStatusUpdate_OneofSizer, []interface{}{
(*CloseStatusUpdate_ClosePending)(nil),
(*CloseStatusUpdate_Confirmation)(nil),
(*CloseStatusUpdate_ChanClose)(nil),
}
}
@ -3244,11 +3229,6 @@ func _CloseStatusUpdate_OneofMarshaler(msg proto.Message, b *proto.Buffer) error
if err := b.EncodeMessage(x.ClosePending); err != nil {
return err
}
case *CloseStatusUpdate_Confirmation:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Confirmation); err != nil {
return err
}
case *CloseStatusUpdate_ChanClose:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.ChanClose); err != nil {
@ -3272,14 +3252,6 @@ func _CloseStatusUpdate_OneofUnmarshaler(msg proto.Message, tag, wire int, b *pr
err := b.DecodeMessage(msg)
m.Update = &CloseStatusUpdate_ClosePending{msg}
return true, err
case 2: // update.confirmation
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ConfirmationUpdate)
err := b.DecodeMessage(msg)
m.Update = &CloseStatusUpdate_Confirmation{msg}
return true, err
case 3: // update.chan_close
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
@ -3302,11 +3274,6 @@ func _CloseStatusUpdate_OneofSizer(msg proto.Message) (n int) {
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *CloseStatusUpdate_Confirmation:
s := proto.Size(x.Confirmation)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *CloseStatusUpdate_ChanClose:
s := proto.Size(x.ChanClose)
n += 1 // tag and wire
@ -3331,7 +3298,7 @@ func (m *PendingUpdate) Reset() { *m = PendingUpdate{} }
func (m *PendingUpdate) String() string { return proto.CompactTextString(m) }
func (*PendingUpdate) ProtoMessage() {}
func (*PendingUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{51}
return fileDescriptor_rpc_89005a23c34c5e47, []int{51}
}
func (m *PendingUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingUpdate.Unmarshal(m, b)
@ -3397,7 +3364,7 @@ func (m *OpenChannelRequest) Reset() { *m = OpenChannelRequest{} }
func (m *OpenChannelRequest) String() string { return proto.CompactTextString(m) }
func (*OpenChannelRequest) ProtoMessage() {}
func (*OpenChannelRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{52}
return fileDescriptor_rpc_89005a23c34c5e47, []int{52}
}
func (m *OpenChannelRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OpenChannelRequest.Unmarshal(m, b)
@ -3497,7 +3464,6 @@ func (m *OpenChannelRequest) GetSpendUnconfirmed() bool {
type OpenStatusUpdate struct {
// Types that are valid to be assigned to Update:
// *OpenStatusUpdate_ChanPending
// *OpenStatusUpdate_Confirmation
// *OpenStatusUpdate_ChanOpen
Update isOpenStatusUpdate_Update `protobuf_oneof:"update"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -3509,7 +3475,7 @@ func (m *OpenStatusUpdate) Reset() { *m = OpenStatusUpdate{} }
func (m *OpenStatusUpdate) String() string { return proto.CompactTextString(m) }
func (*OpenStatusUpdate) ProtoMessage() {}
func (*OpenStatusUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{53}
return fileDescriptor_rpc_89005a23c34c5e47, []int{53}
}
func (m *OpenStatusUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OpenStatusUpdate.Unmarshal(m, b)
@ -3537,18 +3503,12 @@ type OpenStatusUpdate_ChanPending struct {
ChanPending *PendingUpdate `protobuf:"bytes,1,opt,name=chan_pending,proto3,oneof"`
}
type OpenStatusUpdate_Confirmation struct {
Confirmation *ConfirmationUpdate `protobuf:"bytes,2,opt,name=confirmation,proto3,oneof"`
}
type OpenStatusUpdate_ChanOpen struct {
ChanOpen *ChannelOpenUpdate `protobuf:"bytes,3,opt,name=chan_open,proto3,oneof"`
}
func (*OpenStatusUpdate_ChanPending) isOpenStatusUpdate_Update() {}
func (*OpenStatusUpdate_Confirmation) isOpenStatusUpdate_Update() {}
func (*OpenStatusUpdate_ChanOpen) isOpenStatusUpdate_Update() {}
func (m *OpenStatusUpdate) GetUpdate() isOpenStatusUpdate_Update {
@ -3565,13 +3525,6 @@ func (m *OpenStatusUpdate) GetChanPending() *PendingUpdate {
return nil
}
func (m *OpenStatusUpdate) GetConfirmation() *ConfirmationUpdate {
if x, ok := m.GetUpdate().(*OpenStatusUpdate_Confirmation); ok {
return x.Confirmation
}
return nil
}
func (m *OpenStatusUpdate) GetChanOpen() *ChannelOpenUpdate {
if x, ok := m.GetUpdate().(*OpenStatusUpdate_ChanOpen); ok {
return x.ChanOpen
@ -3583,7 +3536,6 @@ func (m *OpenStatusUpdate) GetChanOpen() *ChannelOpenUpdate {
func (*OpenStatusUpdate) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _OpenStatusUpdate_OneofMarshaler, _OpenStatusUpdate_OneofUnmarshaler, _OpenStatusUpdate_OneofSizer, []interface{}{
(*OpenStatusUpdate_ChanPending)(nil),
(*OpenStatusUpdate_Confirmation)(nil),
(*OpenStatusUpdate_ChanOpen)(nil),
}
}
@ -3597,11 +3549,6 @@ func _OpenStatusUpdate_OneofMarshaler(msg proto.Message, b *proto.Buffer) error
if err := b.EncodeMessage(x.ChanPending); err != nil {
return err
}
case *OpenStatusUpdate_Confirmation:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Confirmation); err != nil {
return err
}
case *OpenStatusUpdate_ChanOpen:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.ChanOpen); err != nil {
@ -3625,14 +3572,6 @@ func _OpenStatusUpdate_OneofUnmarshaler(msg proto.Message, tag, wire int, b *pro
err := b.DecodeMessage(msg)
m.Update = &OpenStatusUpdate_ChanPending{msg}
return true, err
case 2: // update.confirmation
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ConfirmationUpdate)
err := b.DecodeMessage(msg)
m.Update = &OpenStatusUpdate_Confirmation{msg}
return true, err
case 3: // update.chan_open
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
@ -3655,11 +3594,6 @@ func _OpenStatusUpdate_OneofSizer(msg proto.Message) (n int) {
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *OpenStatusUpdate_Confirmation:
s := proto.Size(x.Confirmation)
n += 1 // tag and wire
n += proto.SizeVarint(uint64(s))
n += s
case *OpenStatusUpdate_ChanOpen:
s := proto.Size(x.ChanOpen)
n += 1 // tag and wire
@ -3697,7 +3631,7 @@ func (m *PendingHTLC) Reset() { *m = PendingHTLC{} }
func (m *PendingHTLC) String() string { return proto.CompactTextString(m) }
func (*PendingHTLC) ProtoMessage() {}
func (*PendingHTLC) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{54}
return fileDescriptor_rpc_89005a23c34c5e47, []int{54}
}
func (m *PendingHTLC) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingHTLC.Unmarshal(m, b)
@ -3769,7 +3703,7 @@ func (m *PendingChannelsRequest) Reset() { *m = PendingChannelsRequest{}
func (m *PendingChannelsRequest) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsRequest) ProtoMessage() {}
func (*PendingChannelsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{55}
return fileDescriptor_rpc_89005a23c34c5e47, []int{55}
}
func (m *PendingChannelsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingChannelsRequest.Unmarshal(m, b)
@ -3809,7 +3743,7 @@ func (m *PendingChannelsResponse) Reset() { *m = PendingChannelsResponse
func (m *PendingChannelsResponse) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsResponse) ProtoMessage() {}
func (*PendingChannelsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{56}
return fileDescriptor_rpc_89005a23c34c5e47, []int{56}
}
func (m *PendingChannelsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingChannelsResponse.Unmarshal(m, b)
@ -3881,7 +3815,7 @@ func (m *PendingChannelsResponse_PendingChannel) Reset() {
func (m *PendingChannelsResponse_PendingChannel) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsResponse_PendingChannel) ProtoMessage() {}
func (*PendingChannelsResponse_PendingChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{56, 0}
return fileDescriptor_rpc_89005a23c34c5e47, []int{56, 0}
}
func (m *PendingChannelsResponse_PendingChannel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingChannelsResponse_PendingChannel.Unmarshal(m, b)
@ -3968,7 +3902,7 @@ func (m *PendingChannelsResponse_PendingOpenChannel) String() string {
}
func (*PendingChannelsResponse_PendingOpenChannel) ProtoMessage() {}
func (*PendingChannelsResponse_PendingOpenChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{56, 1}
return fileDescriptor_rpc_89005a23c34c5e47, []int{56, 1}
}
func (m *PendingChannelsResponse_PendingOpenChannel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingChannelsResponse_PendingOpenChannel.Unmarshal(m, b)
@ -4041,7 +3975,7 @@ func (m *PendingChannelsResponse_WaitingCloseChannel) String() string {
}
func (*PendingChannelsResponse_WaitingCloseChannel) ProtoMessage() {}
func (*PendingChannelsResponse_WaitingCloseChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{56, 2}
return fileDescriptor_rpc_89005a23c34c5e47, []int{56, 2}
}
func (m *PendingChannelsResponse_WaitingCloseChannel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingChannelsResponse_WaitingCloseChannel.Unmarshal(m, b)
@ -4089,7 +4023,7 @@ func (m *PendingChannelsResponse_ClosedChannel) Reset() { *m = PendingCh
func (m *PendingChannelsResponse_ClosedChannel) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsResponse_ClosedChannel) ProtoMessage() {}
func (*PendingChannelsResponse_ClosedChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{56, 3}
return fileDescriptor_rpc_89005a23c34c5e47, []int{56, 3}
}
func (m *PendingChannelsResponse_ClosedChannel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingChannelsResponse_ClosedChannel.Unmarshal(m, b)
@ -4153,7 +4087,7 @@ func (m *PendingChannelsResponse_ForceClosedChannel) String() string {
}
func (*PendingChannelsResponse_ForceClosedChannel) ProtoMessage() {}
func (*PendingChannelsResponse_ForceClosedChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{56, 4}
return fileDescriptor_rpc_89005a23c34c5e47, []int{56, 4}
}
func (m *PendingChannelsResponse_ForceClosedChannel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PendingChannelsResponse_ForceClosedChannel.Unmarshal(m, b)
@ -4232,7 +4166,7 @@ func (m *WalletBalanceRequest) Reset() { *m = WalletBalanceRequest{} }
func (m *WalletBalanceRequest) String() string { return proto.CompactTextString(m) }
func (*WalletBalanceRequest) ProtoMessage() {}
func (*WalletBalanceRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{57}
return fileDescriptor_rpc_89005a23c34c5e47, []int{57}
}
func (m *WalletBalanceRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WalletBalanceRequest.Unmarshal(m, b)
@ -4268,7 +4202,7 @@ func (m *WalletBalanceResponse) Reset() { *m = WalletBalanceResponse{} }
func (m *WalletBalanceResponse) String() string { return proto.CompactTextString(m) }
func (*WalletBalanceResponse) ProtoMessage() {}
func (*WalletBalanceResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{58}
return fileDescriptor_rpc_89005a23c34c5e47, []int{58}
}
func (m *WalletBalanceResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_WalletBalanceResponse.Unmarshal(m, b)
@ -4319,7 +4253,7 @@ func (m *ChannelBalanceRequest) Reset() { *m = ChannelBalanceRequest{} }
func (m *ChannelBalanceRequest) String() string { return proto.CompactTextString(m) }
func (*ChannelBalanceRequest) ProtoMessage() {}
func (*ChannelBalanceRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{59}
return fileDescriptor_rpc_89005a23c34c5e47, []int{59}
}
func (m *ChannelBalanceRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelBalanceRequest.Unmarshal(m, b)
@ -4353,7 +4287,7 @@ func (m *ChannelBalanceResponse) Reset() { *m = ChannelBalanceResponse{}
func (m *ChannelBalanceResponse) String() string { return proto.CompactTextString(m) }
func (*ChannelBalanceResponse) ProtoMessage() {}
func (*ChannelBalanceResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{60}
return fileDescriptor_rpc_89005a23c34c5e47, []int{60}
}
func (m *ChannelBalanceResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelBalanceResponse.Unmarshal(m, b)
@ -4411,7 +4345,7 @@ func (m *QueryRoutesRequest) Reset() { *m = QueryRoutesRequest{} }
func (m *QueryRoutesRequest) String() string { return proto.CompactTextString(m) }
func (*QueryRoutesRequest) ProtoMessage() {}
func (*QueryRoutesRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{61}
return fileDescriptor_rpc_89005a23c34c5e47, []int{61}
}
func (m *QueryRoutesRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_QueryRoutesRequest.Unmarshal(m, b)
@ -4477,7 +4411,7 @@ func (m *QueryRoutesResponse) Reset() { *m = QueryRoutesResponse{} }
func (m *QueryRoutesResponse) String() string { return proto.CompactTextString(m) }
func (*QueryRoutesResponse) ProtoMessage() {}
func (*QueryRoutesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{62}
return fileDescriptor_rpc_89005a23c34c5e47, []int{62}
}
func (m *QueryRoutesResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_QueryRoutesResponse.Unmarshal(m, b)
@ -4529,7 +4463,7 @@ func (m *Hop) Reset() { *m = Hop{} }
func (m *Hop) String() string { return proto.CompactTextString(m) }
func (*Hop) ProtoMessage() {}
func (*Hop) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{63}
return fileDescriptor_rpc_89005a23c34c5e47, []int{63}
}
func (m *Hop) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Hop.Unmarshal(m, b)
@ -4650,7 +4584,7 @@ func (m *Route) Reset() { *m = Route{} }
func (m *Route) String() string { return proto.CompactTextString(m) }
func (*Route) ProtoMessage() {}
func (*Route) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{64}
return fileDescriptor_rpc_89005a23c34c5e47, []int{64}
}
func (m *Route) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Route.Unmarshal(m, b)
@ -4726,7 +4660,7 @@ func (m *NodeInfoRequest) Reset() { *m = NodeInfoRequest{} }
func (m *NodeInfoRequest) String() string { return proto.CompactTextString(m) }
func (*NodeInfoRequest) ProtoMessage() {}
func (*NodeInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{65}
return fileDescriptor_rpc_89005a23c34c5e47, []int{65}
}
func (m *NodeInfoRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeInfoRequest.Unmarshal(m, b)
@ -4771,7 +4705,7 @@ func (m *NodeInfo) Reset() { *m = NodeInfo{} }
func (m *NodeInfo) String() string { return proto.CompactTextString(m) }
func (*NodeInfo) ProtoMessage() {}
func (*NodeInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{66}
return fileDescriptor_rpc_89005a23c34c5e47, []int{66}
}
func (m *NodeInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeInfo.Unmarshal(m, b)
@ -4832,7 +4766,7 @@ func (m *LightningNode) Reset() { *m = LightningNode{} }
func (m *LightningNode) String() string { return proto.CompactTextString(m) }
func (*LightningNode) ProtoMessage() {}
func (*LightningNode) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{67}
return fileDescriptor_rpc_89005a23c34c5e47, []int{67}
}
func (m *LightningNode) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LightningNode.Unmarshal(m, b)
@ -4899,7 +4833,7 @@ func (m *NodeAddress) Reset() { *m = NodeAddress{} }
func (m *NodeAddress) String() string { return proto.CompactTextString(m) }
func (*NodeAddress) ProtoMessage() {}
func (*NodeAddress) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{68}
return fileDescriptor_rpc_89005a23c34c5e47, []int{68}
}
func (m *NodeAddress) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeAddress.Unmarshal(m, b)
@ -4948,7 +4882,7 @@ func (m *RoutingPolicy) Reset() { *m = RoutingPolicy{} }
func (m *RoutingPolicy) String() string { return proto.CompactTextString(m) }
func (*RoutingPolicy) ProtoMessage() {}
func (*RoutingPolicy) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{69}
return fileDescriptor_rpc_89005a23c34c5e47, []int{69}
}
func (m *RoutingPolicy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RoutingPolicy.Unmarshal(m, b)
@ -5031,7 +4965,7 @@ func (m *ChannelEdge) Reset() { *m = ChannelEdge{} }
func (m *ChannelEdge) String() string { return proto.CompactTextString(m) }
func (*ChannelEdge) ProtoMessage() {}
func (*ChannelEdge) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{70}
return fileDescriptor_rpc_89005a23c34c5e47, []int{70}
}
func (m *ChannelEdge) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelEdge.Unmarshal(m, b)
@ -5122,7 +5056,7 @@ func (m *ChannelGraphRequest) Reset() { *m = ChannelGraphRequest{} }
func (m *ChannelGraphRequest) String() string { return proto.CompactTextString(m) }
func (*ChannelGraphRequest) ProtoMessage() {}
func (*ChannelGraphRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{71}
return fileDescriptor_rpc_89005a23c34c5e47, []int{71}
}
func (m *ChannelGraphRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelGraphRequest.Unmarshal(m, b)
@ -5164,7 +5098,7 @@ func (m *ChannelGraph) Reset() { *m = ChannelGraph{} }
func (m *ChannelGraph) String() string { return proto.CompactTextString(m) }
func (*ChannelGraph) ProtoMessage() {}
func (*ChannelGraph) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{72}
return fileDescriptor_rpc_89005a23c34c5e47, []int{72}
}
func (m *ChannelGraph) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelGraph.Unmarshal(m, b)
@ -5213,7 +5147,7 @@ func (m *ChanInfoRequest) Reset() { *m = ChanInfoRequest{} }
func (m *ChanInfoRequest) String() string { return proto.CompactTextString(m) }
func (*ChanInfoRequest) ProtoMessage() {}
func (*ChanInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{73}
return fileDescriptor_rpc_89005a23c34c5e47, []int{73}
}
func (m *ChanInfoRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChanInfoRequest.Unmarshal(m, b)
@ -5250,7 +5184,7 @@ func (m *NetworkInfoRequest) Reset() { *m = NetworkInfoRequest{} }
func (m *NetworkInfoRequest) String() string { return proto.CompactTextString(m) }
func (*NetworkInfoRequest) ProtoMessage() {}
func (*NetworkInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{74}
return fileDescriptor_rpc_89005a23c34c5e47, []int{74}
}
func (m *NetworkInfoRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NetworkInfoRequest.Unmarshal(m, b)
@ -5289,7 +5223,7 @@ func (m *NetworkInfo) Reset() { *m = NetworkInfo{} }
func (m *NetworkInfo) String() string { return proto.CompactTextString(m) }
func (*NetworkInfo) ProtoMessage() {}
func (*NetworkInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{75}
return fileDescriptor_rpc_89005a23c34c5e47, []int{75}
}
func (m *NetworkInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NetworkInfo.Unmarshal(m, b)
@ -5382,7 +5316,7 @@ func (m *StopRequest) Reset() { *m = StopRequest{} }
func (m *StopRequest) String() string { return proto.CompactTextString(m) }
func (*StopRequest) ProtoMessage() {}
func (*StopRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{76}
return fileDescriptor_rpc_89005a23c34c5e47, []int{76}
}
func (m *StopRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StopRequest.Unmarshal(m, b)
@ -5412,7 +5346,7 @@ func (m *StopResponse) Reset() { *m = StopResponse{} }
func (m *StopResponse) String() string { return proto.CompactTextString(m) }
func (*StopResponse) ProtoMessage() {}
func (*StopResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{77}
return fileDescriptor_rpc_89005a23c34c5e47, []int{77}
}
func (m *StopResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_StopResponse.Unmarshal(m, b)
@ -5442,7 +5376,7 @@ func (m *GraphTopologySubscription) Reset() { *m = GraphTopologySubscrip
func (m *GraphTopologySubscription) String() string { return proto.CompactTextString(m) }
func (*GraphTopologySubscription) ProtoMessage() {}
func (*GraphTopologySubscription) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{78}
return fileDescriptor_rpc_89005a23c34c5e47, []int{78}
}
func (m *GraphTopologySubscription) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GraphTopologySubscription.Unmarshal(m, b)
@ -5475,7 +5409,7 @@ func (m *GraphTopologyUpdate) Reset() { *m = GraphTopologyUpdate{} }
func (m *GraphTopologyUpdate) String() string { return proto.CompactTextString(m) }
func (*GraphTopologyUpdate) ProtoMessage() {}
func (*GraphTopologyUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{79}
return fileDescriptor_rpc_89005a23c34c5e47, []int{79}
}
func (m *GraphTopologyUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GraphTopologyUpdate.Unmarshal(m, b)
@ -5530,7 +5464,7 @@ func (m *NodeUpdate) Reset() { *m = NodeUpdate{} }
func (m *NodeUpdate) String() string { return proto.CompactTextString(m) }
func (*NodeUpdate) ProtoMessage() {}
func (*NodeUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{80}
return fileDescriptor_rpc_89005a23c34c5e47, []int{80}
}
func (m *NodeUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_NodeUpdate.Unmarshal(m, b)
@ -5598,7 +5532,7 @@ func (m *ChannelEdgeUpdate) Reset() { *m = ChannelEdgeUpdate{} }
func (m *ChannelEdgeUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelEdgeUpdate) ProtoMessage() {}
func (*ChannelEdgeUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{81}
return fileDescriptor_rpc_89005a23c34c5e47, []int{81}
}
func (m *ChannelEdgeUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelEdgeUpdate.Unmarshal(m, b)
@ -5678,7 +5612,7 @@ func (m *ClosedChannelUpdate) Reset() { *m = ClosedChannelUpdate{} }
func (m *ClosedChannelUpdate) String() string { return proto.CompactTextString(m) }
func (*ClosedChannelUpdate) ProtoMessage() {}
func (*ClosedChannelUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{82}
return fileDescriptor_rpc_89005a23c34c5e47, []int{82}
}
func (m *ClosedChannelUpdate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClosedChannelUpdate.Unmarshal(m, b)
@ -5748,7 +5682,7 @@ func (m *HopHint) Reset() { *m = HopHint{} }
func (m *HopHint) String() string { return proto.CompactTextString(m) }
func (*HopHint) ProtoMessage() {}
func (*HopHint) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{83}
return fileDescriptor_rpc_89005a23c34c5e47, []int{83}
}
func (m *HopHint) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_HopHint.Unmarshal(m, b)
@ -5817,7 +5751,7 @@ func (m *RouteHint) Reset() { *m = RouteHint{} }
func (m *RouteHint) String() string { return proto.CompactTextString(m) }
func (*RouteHint) ProtoMessage() {}
func (*RouteHint) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{84}
return fileDescriptor_rpc_89005a23c34c5e47, []int{84}
}
func (m *RouteHint) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RouteHint.Unmarshal(m, b)
@ -5928,7 +5862,7 @@ func (m *Invoice) Reset() { *m = Invoice{} }
func (m *Invoice) String() string { return proto.CompactTextString(m) }
func (*Invoice) ProtoMessage() {}
func (*Invoice) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{85}
return fileDescriptor_rpc_89005a23c34c5e47, []int{85}
}
func (m *Invoice) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Invoice.Unmarshal(m, b)
@ -6111,7 +6045,7 @@ func (m *AddInvoiceResponse) Reset() { *m = AddInvoiceResponse{} }
func (m *AddInvoiceResponse) String() string { return proto.CompactTextString(m) }
func (*AddInvoiceResponse) ProtoMessage() {}
func (*AddInvoiceResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{86}
return fileDescriptor_rpc_89005a23c34c5e47, []int{86}
}
func (m *AddInvoiceResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AddInvoiceResponse.Unmarshal(m, b)
@ -6168,7 +6102,7 @@ func (m *PaymentHash) Reset() { *m = PaymentHash{} }
func (m *PaymentHash) String() string { return proto.CompactTextString(m) }
func (*PaymentHash) ProtoMessage() {}
func (*PaymentHash) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{87}
return fileDescriptor_rpc_89005a23c34c5e47, []int{87}
}
func (m *PaymentHash) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PaymentHash.Unmarshal(m, b)
@ -6224,7 +6158,7 @@ func (m *ListInvoiceRequest) Reset() { *m = ListInvoiceRequest{} }
func (m *ListInvoiceRequest) String() string { return proto.CompactTextString(m) }
func (*ListInvoiceRequest) ProtoMessage() {}
func (*ListInvoiceRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{88}
return fileDescriptor_rpc_89005a23c34c5e47, []int{88}
}
func (m *ListInvoiceRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListInvoiceRequest.Unmarshal(m, b)
@ -6294,7 +6228,7 @@ func (m *ListInvoiceResponse) Reset() { *m = ListInvoiceResponse{} }
func (m *ListInvoiceResponse) String() string { return proto.CompactTextString(m) }
func (*ListInvoiceResponse) ProtoMessage() {}
func (*ListInvoiceResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{89}
return fileDescriptor_rpc_89005a23c34c5e47, []int{89}
}
func (m *ListInvoiceResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListInvoiceResponse.Unmarshal(m, b)
@ -6357,7 +6291,7 @@ func (m *InvoiceSubscription) Reset() { *m = InvoiceSubscription{} }
func (m *InvoiceSubscription) String() string { return proto.CompactTextString(m) }
func (*InvoiceSubscription) ProtoMessage() {}
func (*InvoiceSubscription) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{90}
return fileDescriptor_rpc_89005a23c34c5e47, []int{90}
}
func (m *InvoiceSubscription) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_InvoiceSubscription.Unmarshal(m, b)
@ -6417,7 +6351,7 @@ func (m *Payment) Reset() { *m = Payment{} }
func (m *Payment) String() string { return proto.CompactTextString(m) }
func (*Payment) ProtoMessage() {}
func (*Payment) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{91}
return fileDescriptor_rpc_89005a23c34c5e47, []int{91}
}
func (m *Payment) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Payment.Unmarshal(m, b)
@ -6504,7 +6438,7 @@ func (m *ListPaymentsRequest) Reset() { *m = ListPaymentsRequest{} }
func (m *ListPaymentsRequest) String() string { return proto.CompactTextString(m) }
func (*ListPaymentsRequest) ProtoMessage() {}
func (*ListPaymentsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{92}
return fileDescriptor_rpc_89005a23c34c5e47, []int{92}
}
func (m *ListPaymentsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListPaymentsRequest.Unmarshal(m, b)
@ -6536,7 +6470,7 @@ func (m *ListPaymentsResponse) Reset() { *m = ListPaymentsResponse{} }
func (m *ListPaymentsResponse) String() string { return proto.CompactTextString(m) }
func (*ListPaymentsResponse) ProtoMessage() {}
func (*ListPaymentsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{93}
return fileDescriptor_rpc_89005a23c34c5e47, []int{93}
}
func (m *ListPaymentsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListPaymentsResponse.Unmarshal(m, b)
@ -6573,7 +6507,7 @@ func (m *DeleteAllPaymentsRequest) Reset() { *m = DeleteAllPaymentsReque
func (m *DeleteAllPaymentsRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteAllPaymentsRequest) ProtoMessage() {}
func (*DeleteAllPaymentsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{94}
return fileDescriptor_rpc_89005a23c34c5e47, []int{94}
}
func (m *DeleteAllPaymentsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteAllPaymentsRequest.Unmarshal(m, b)
@ -6603,7 +6537,7 @@ func (m *DeleteAllPaymentsResponse) Reset() { *m = DeleteAllPaymentsResp
func (m *DeleteAllPaymentsResponse) String() string { return proto.CompactTextString(m) }
func (*DeleteAllPaymentsResponse) ProtoMessage() {}
func (*DeleteAllPaymentsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{95}
return fileDescriptor_rpc_89005a23c34c5e47, []int{95}
}
func (m *DeleteAllPaymentsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteAllPaymentsResponse.Unmarshal(m, b)
@ -6634,7 +6568,7 @@ func (m *AbandonChannelRequest) Reset() { *m = AbandonChannelRequest{} }
func (m *AbandonChannelRequest) String() string { return proto.CompactTextString(m) }
func (*AbandonChannelRequest) ProtoMessage() {}
func (*AbandonChannelRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{96}
return fileDescriptor_rpc_89005a23c34c5e47, []int{96}
}
func (m *AbandonChannelRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AbandonChannelRequest.Unmarshal(m, b)
@ -6671,7 +6605,7 @@ func (m *AbandonChannelResponse) Reset() { *m = AbandonChannelResponse{}
func (m *AbandonChannelResponse) String() string { return proto.CompactTextString(m) }
func (*AbandonChannelResponse) ProtoMessage() {}
func (*AbandonChannelResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{97}
return fileDescriptor_rpc_89005a23c34c5e47, []int{97}
}
func (m *AbandonChannelResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AbandonChannelResponse.Unmarshal(m, b)
@ -6703,7 +6637,7 @@ func (m *DebugLevelRequest) Reset() { *m = DebugLevelRequest{} }
func (m *DebugLevelRequest) String() string { return proto.CompactTextString(m) }
func (*DebugLevelRequest) ProtoMessage() {}
func (*DebugLevelRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{98}
return fileDescriptor_rpc_89005a23c34c5e47, []int{98}
}
func (m *DebugLevelRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DebugLevelRequest.Unmarshal(m, b)
@ -6748,7 +6682,7 @@ func (m *DebugLevelResponse) Reset() { *m = DebugLevelResponse{} }
func (m *DebugLevelResponse) String() string { return proto.CompactTextString(m) }
func (*DebugLevelResponse) ProtoMessage() {}
func (*DebugLevelResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{99}
return fileDescriptor_rpc_89005a23c34c5e47, []int{99}
}
func (m *DebugLevelResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DebugLevelResponse.Unmarshal(m, b)
@ -6787,7 +6721,7 @@ func (m *PayReqString) Reset() { *m = PayReqString{} }
func (m *PayReqString) String() string { return proto.CompactTextString(m) }
func (*PayReqString) ProtoMessage() {}
func (*PayReqString) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{100}
return fileDescriptor_rpc_89005a23c34c5e47, []int{100}
}
func (m *PayReqString) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PayReqString.Unmarshal(m, b)
@ -6834,7 +6768,7 @@ func (m *PayReq) Reset() { *m = PayReq{} }
func (m *PayReq) String() string { return proto.CompactTextString(m) }
func (*PayReq) ProtoMessage() {}
func (*PayReq) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{101}
return fileDescriptor_rpc_89005a23c34c5e47, []int{101}
}
func (m *PayReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PayReq.Unmarshal(m, b)
@ -6934,7 +6868,7 @@ func (m *FeeReportRequest) Reset() { *m = FeeReportRequest{} }
func (m *FeeReportRequest) String() string { return proto.CompactTextString(m) }
func (*FeeReportRequest) ProtoMessage() {}
func (*FeeReportRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{102}
return fileDescriptor_rpc_89005a23c34c5e47, []int{102}
}
func (m *FeeReportRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FeeReportRequest.Unmarshal(m, b)
@ -6972,7 +6906,7 @@ func (m *ChannelFeeReport) Reset() { *m = ChannelFeeReport{} }
func (m *ChannelFeeReport) String() string { return proto.CompactTextString(m) }
func (*ChannelFeeReport) ProtoMessage() {}
func (*ChannelFeeReport) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{103}
return fileDescriptor_rpc_89005a23c34c5e47, []int{103}
}
func (m *ChannelFeeReport) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelFeeReport.Unmarshal(m, b)
@ -7038,7 +6972,7 @@ func (m *FeeReportResponse) Reset() { *m = FeeReportResponse{} }
func (m *FeeReportResponse) String() string { return proto.CompactTextString(m) }
func (*FeeReportResponse) ProtoMessage() {}
func (*FeeReportResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{104}
return fileDescriptor_rpc_89005a23c34c5e47, []int{104}
}
func (m *FeeReportResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FeeReportResponse.Unmarshal(m, b)
@ -7106,7 +7040,7 @@ func (m *PolicyUpdateRequest) Reset() { *m = PolicyUpdateRequest{} }
func (m *PolicyUpdateRequest) String() string { return proto.CompactTextString(m) }
func (*PolicyUpdateRequest) ProtoMessage() {}
func (*PolicyUpdateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{105}
return fileDescriptor_rpc_89005a23c34c5e47, []int{105}
}
func (m *PolicyUpdateRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PolicyUpdateRequest.Unmarshal(m, b)
@ -7267,7 +7201,7 @@ func (m *PolicyUpdateResponse) Reset() { *m = PolicyUpdateResponse{} }
func (m *PolicyUpdateResponse) String() string { return proto.CompactTextString(m) }
func (*PolicyUpdateResponse) ProtoMessage() {}
func (*PolicyUpdateResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{106}
return fileDescriptor_rpc_89005a23c34c5e47, []int{106}
}
func (m *PolicyUpdateResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PolicyUpdateResponse.Unmarshal(m, b)
@ -7305,7 +7239,7 @@ func (m *ForwardingHistoryRequest) Reset() { *m = ForwardingHistoryReque
func (m *ForwardingHistoryRequest) String() string { return proto.CompactTextString(m) }
func (*ForwardingHistoryRequest) ProtoMessage() {}
func (*ForwardingHistoryRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{107}
return fileDescriptor_rpc_89005a23c34c5e47, []int{107}
}
func (m *ForwardingHistoryRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ForwardingHistoryRequest.Unmarshal(m, b)
@ -7377,7 +7311,7 @@ func (m *ForwardingEvent) Reset() { *m = ForwardingEvent{} }
func (m *ForwardingEvent) String() string { return proto.CompactTextString(m) }
func (*ForwardingEvent) ProtoMessage() {}
func (*ForwardingEvent) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{108}
return fileDescriptor_rpc_89005a23c34c5e47, []int{108}
}
func (m *ForwardingEvent) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ForwardingEvent.Unmarshal(m, b)
@ -7460,7 +7394,7 @@ func (m *ForwardingHistoryResponse) Reset() { *m = ForwardingHistoryResp
func (m *ForwardingHistoryResponse) String() string { return proto.CompactTextString(m) }
func (*ForwardingHistoryResponse) ProtoMessage() {}
func (*ForwardingHistoryResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_rpc_cad88c6305c67548, []int{109}
return fileDescriptor_rpc_89005a23c34c5e47, []int{109}
}
func (m *ForwardingHistoryResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ForwardingHistoryResponse.Unmarshal(m, b)
@ -9888,424 +9822,422 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
Metadata: "rpc.proto",
}
func init() { proto.RegisterFile("rpc.proto", fileDescriptor_rpc_cad88c6305c67548) }
func init() { proto.RegisterFile("rpc.proto", fileDescriptor_rpc_89005a23c34c5e47) }
var fileDescriptor_rpc_cad88c6305c67548 = []byte{
// 6651 bytes of a gzipped FileDescriptorProto
var fileDescriptor_rpc_89005a23c34c5e47 = []byte{
// 6623 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x5c, 0x5b, 0x8c, 0x1c, 0xd9,
0x59, 0x76, 0xf5, 0x65, 0xa6, 0xfb, 0xef, 0x9e, 0xee, 0x9e, 0x33, 0xb7, 0x76, 0xaf, 0xd7, 0xeb,
0xad, 0x98, 0xb5, 0x33, 0x2c, 0x1e, 0xef, 0x24, 0x59, 0x6d, 0xd6, 0x90, 0x30, 0x9e, 0x19, 0x7b,
0x4c, 0x66, 0xed, 0x49, 0x8d, 0x1d, 0x93, 0x0d, 0xa8, 0x53, 0xd3, 0x7d, 0xa6, 0xbb, 0xe2, 0xee,
0xaa, 0x4e, 0x55, 0xf5, 0x8c, 0x3b, 0x8b, 0x25, 0x6e, 0x02, 0x09, 0x11, 0x45, 0x88, 0x07, 0x14,
0x24, 0x84, 0x14, 0x78, 0x48, 0x1e, 0x79, 0x89, 0x90, 0x80, 0x37, 0x5e, 0x40, 0x42, 0x08, 0xe5,
0x09, 0x21, 0xf1, 0x02, 0x2f, 0x80, 0xe0, 0x01, 0x89, 0x47, 0x10, 0x3a, 0xff, 0xb9, 0xd4, 0x39,
0x55, 0xd5, 0x1e, 0x27, 0x59, 0x78, 0xeb, 0xf3, 0x9d, 0xbf, 0xce, 0xf5, 0xbf, 0x9d, 0xff, 0xfc,
0xa7, 0xa1, 0x1a, 0x4e, 0x7a, 0xb7, 0x26, 0x61, 0x10, 0x07, 0xa4, 0x3c, 0xf2, 0xc3, 0x49, 0xaf,
0x73, 0x65, 0x10, 0x04, 0x83, 0x11, 0xdd, 0x72, 0x27, 0xde, 0x96, 0xeb, 0xfb, 0x41, 0xec, 0xc6,
0x5e, 0xe0, 0x47, 0x9c, 0xc8, 0xfe, 0x2a, 0x34, 0xee, 0x53, 0xff, 0x98, 0xd2, 0xbe, 0x43, 0xbf,
0x3e, 0xa5, 0x51, 0x4c, 0x7e, 0x12, 0x96, 0x5d, 0xfa, 0x0d, 0x4a, 0xfb, 0xdd, 0x89, 0x1b, 0x45,
0x93, 0x61, 0xe8, 0x46, 0xb4, 0x6d, 0x5d, 0xb3, 0x6e, 0xd6, 0x9d, 0x16, 0xaf, 0x38, 0x52, 0x38,
0x79, 0x13, 0xea, 0x11, 0x23, 0xa5, 0x7e, 0x1c, 0x06, 0x93, 0x59, 0xbb, 0x80, 0x74, 0x35, 0x86,
0xed, 0x73, 0xc8, 0x1e, 0x41, 0x53, 0xf5, 0x10, 0x4d, 0x02, 0x3f, 0xa2, 0xe4, 0x36, 0xac, 0xf6,
0xbc, 0xc9, 0x90, 0x86, 0x5d, 0xfc, 0x78, 0xec, 0xd3, 0x71, 0xe0, 0x7b, 0xbd, 0xb6, 0x75, 0xad,
0x78, 0xb3, 0xea, 0x10, 0x5e, 0xc7, 0xbe, 0xf8, 0x40, 0xd4, 0x90, 0x1b, 0xd0, 0xa4, 0x3e, 0xc7,
0x69, 0x1f, 0xbf, 0x12, 0x5d, 0x35, 0x12, 0x98, 0x7d, 0x60, 0xff, 0xa5, 0x05, 0xcb, 0x0f, 0x7c,
0x2f, 0x7e, 0xea, 0x8e, 0x46, 0x34, 0x96, 0x73, 0xba, 0x01, 0xcd, 0x73, 0x04, 0x70, 0x4e, 0xe7,
0x41, 0xd8, 0x17, 0x33, 0x6a, 0x70, 0xf8, 0x48, 0xa0, 0x73, 0x47, 0x56, 0x98, 0x3b, 0xb2, 0xdc,
0xe5, 0x2a, 0xce, 0x59, 0xae, 0x1b, 0xd0, 0x0c, 0x69, 0x2f, 0x38, 0xa3, 0xe1, 0xac, 0x7b, 0xee,
0xf9, 0xfd, 0xe0, 0xbc, 0x5d, 0xba, 0x66, 0xdd, 0x2c, 0x3b, 0x0d, 0x09, 0x3f, 0x45, 0xd4, 0x5e,
0x05, 0xa2, 0xcf, 0x82, 0xaf, 0x9b, 0x3d, 0x80, 0x95, 0x27, 0xfe, 0x28, 0xe8, 0x3d, 0xfb, 0x11,
0x67, 0x97, 0xd3, 0x7d, 0x21, 0xb7, 0xfb, 0x75, 0x58, 0x35, 0x3b, 0x12, 0x03, 0xa0, 0xb0, 0xb6,
0x3b, 0x74, 0xfd, 0x01, 0x95, 0x4d, 0xca, 0x21, 0x7c, 0x12, 0x5a, 0xbd, 0x69, 0x18, 0x52, 0x3f,
0x33, 0x86, 0xa6, 0xc0, 0xd5, 0x20, 0xde, 0x84, 0xba, 0x4f, 0xcf, 0x13, 0x32, 0xc1, 0x32, 0x3e,
0x3d, 0x97, 0x24, 0x76, 0x1b, 0xd6, 0xd3, 0xdd, 0x88, 0x01, 0xfc, 0xbb, 0x05, 0xa5, 0x27, 0xf1,
0xf3, 0x80, 0xdc, 0x82, 0x52, 0x3c, 0x9b, 0x70, 0xc6, 0x6c, 0x6c, 0x93, 0x5b, 0xc8, 0xeb, 0xb7,
0x76, 0xfa, 0xfd, 0x90, 0x46, 0xd1, 0xe3, 0xd9, 0x84, 0x3a, 0x75, 0x97, 0x17, 0xba, 0x8c, 0x8e,
0xb4, 0x61, 0x51, 0x94, 0xb1, 0xc3, 0xaa, 0x23, 0x8b, 0xe4, 0x2a, 0x80, 0x3b, 0x0e, 0xa6, 0x7e,
0xdc, 0x8d, 0xdc, 0x18, 0x77, 0xae, 0xe8, 0x68, 0x08, 0xb9, 0x0e, 0x4b, 0x51, 0x2f, 0xf4, 0x26,
0x71, 0x77, 0x32, 0x3d, 0x79, 0x46, 0x67, 0xb8, 0x63, 0x55, 0xc7, 0x04, 0xc9, 0x16, 0x54, 0x82,
0x69, 0x3c, 0x09, 0x3c, 0x3f, 0x6e, 0x97, 0xaf, 0x59, 0x37, 0x6b, 0xdb, 0x2b, 0x62, 0x4c, 0x6c,
0x26, 0x3e, 0x1d, 0x1d, 0xb1, 0x2a, 0x47, 0x11, 0xb1, 0x66, 0x7b, 0x81, 0x7f, 0xea, 0x85, 0x63,
0x2e, 0x8f, 0xed, 0x05, 0xec, 0xd9, 0x04, 0xed, 0x6f, 0x17, 0xa0, 0xf6, 0x38, 0x74, 0xfd, 0xc8,
0xed, 0x31, 0x80, 0x4d, 0x23, 0x7e, 0xde, 0x1d, 0xba, 0xd1, 0x10, 0x67, 0x5e, 0x75, 0x64, 0x91,
0xac, 0xc3, 0x02, 0x1f, 0x34, 0xce, 0xaf, 0xe8, 0x88, 0x12, 0x79, 0x1b, 0x96, 0xfd, 0xe9, 0xb8,
0x6b, 0xf6, 0x55, 0xc4, 0x5d, 0xcf, 0x56, 0xb0, 0xc5, 0x38, 0x61, 0xfb, 0xce, 0xbb, 0xe0, 0x33,
0xd5, 0x10, 0x62, 0x43, 0x5d, 0x94, 0xa8, 0x37, 0x18, 0xf2, 0xa9, 0x96, 0x1d, 0x03, 0x63, 0x6d,
0xc4, 0xde, 0x98, 0x76, 0xa3, 0xd8, 0x1d, 0x4f, 0xc4, 0xb4, 0x34, 0x04, 0xeb, 0x83, 0xd8, 0x1d,
0x75, 0x4f, 0x29, 0x8d, 0xda, 0x8b, 0xa2, 0x5e, 0x21, 0xe4, 0x2d, 0x68, 0xf4, 0x69, 0x14, 0x77,
0xc5, 0x06, 0xd1, 0xa8, 0x5d, 0x41, 0xe9, 0x4b, 0xa1, 0x8c, 0x4b, 0xee, 0xd3, 0x58, 0x5b, 0x9d,
0x48, 0x70, 0xa3, 0x7d, 0x08, 0x44, 0x83, 0xf7, 0x68, 0xec, 0x7a, 0xa3, 0x88, 0xbc, 0x0b, 0xf5,
0x58, 0x23, 0x46, 0x6d, 0x53, 0x53, 0xac, 0xa3, 0x7d, 0xe0, 0x18, 0x74, 0xf6, 0x7d, 0xa8, 0xdc,
0xa3, 0xf4, 0xd0, 0x1b, 0x7b, 0x31, 0x59, 0x87, 0xf2, 0xa9, 0xf7, 0x9c, 0x72, 0xe6, 0x2e, 0x1e,
0x5c, 0x72, 0x78, 0x91, 0x74, 0x60, 0x71, 0x42, 0xc3, 0x1e, 0x95, 0xcb, 0x7f, 0x70, 0xc9, 0x91,
0xc0, 0xdd, 0x45, 0x28, 0x8f, 0xd8, 0xc7, 0xf6, 0x77, 0x0b, 0x50, 0x3b, 0xa6, 0xbe, 0x12, 0x1a,
0x02, 0x25, 0x36, 0x25, 0x21, 0x28, 0xf8, 0x9b, 0xbc, 0x01, 0x35, 0x9c, 0x66, 0x14, 0x87, 0x9e,
0x3f, 0x10, 0xbc, 0x0a, 0x0c, 0x3a, 0x46, 0x84, 0xb4, 0xa0, 0xe8, 0x8e, 0x25, 0x9f, 0xb2, 0x9f,
0x4c, 0xa0, 0x26, 0xee, 0x6c, 0xcc, 0x64, 0x4f, 0xed, 0x5a, 0xdd, 0xa9, 0x09, 0xec, 0x80, 0x6d,
0xdb, 0x2d, 0x58, 0xd1, 0x49, 0x64, 0xeb, 0x65, 0x6c, 0x7d, 0x59, 0xa3, 0x14, 0x9d, 0xdc, 0x80,
0xa6, 0xa4, 0x0f, 0xf9, 0x60, 0x71, 0x1f, 0xab, 0x4e, 0x43, 0xc0, 0x72, 0x0a, 0x37, 0xa1, 0x75,
0xea, 0xf9, 0xee, 0xa8, 0xdb, 0x1b, 0xc5, 0x67, 0xdd, 0x3e, 0x1d, 0xc5, 0x2e, 0xee, 0x68, 0xd9,
0x69, 0x20, 0xbe, 0x3b, 0x8a, 0xcf, 0xf6, 0x18, 0x4a, 0xde, 0x86, 0xea, 0x29, 0xa5, 0x5d, 0x5c,
0x89, 0x76, 0x05, 0x25, 0xa4, 0x29, 0x96, 0x5e, 0xae, 0xae, 0x53, 0x39, 0x15, 0xbf, 0xec, 0x3f,
0xb5, 0xa0, 0xce, 0x97, 0x4a, 0x98, 0x8c, 0xeb, 0xb0, 0x24, 0x47, 0x44, 0xc3, 0x30, 0x08, 0x05,
0xfb, 0x9b, 0x20, 0xd9, 0x84, 0x96, 0x04, 0x26, 0x21, 0xf5, 0xc6, 0xee, 0x80, 0x0a, 0xfd, 0x92,
0xc1, 0xc9, 0x76, 0xd2, 0x62, 0x18, 0x4c, 0x63, 0xae, 0xb4, 0x6b, 0xdb, 0x75, 0x31, 0x28, 0x87,
0x61, 0x8e, 0x49, 0xc2, 0xd8, 0x3f, 0x67, 0xa9, 0x0d, 0xcc, 0xfe, 0xa6, 0x05, 0x84, 0x0d, 0xfd,
0x71, 0xc0, 0x9b, 0x10, 0x2b, 0x95, 0xde, 0x25, 0xeb, 0x95, 0x77, 0xa9, 0x30, 0x6f, 0x97, 0xae,
0xc3, 0x02, 0x0e, 0x8b, 0xc9, 0x73, 0x31, 0x33, 0x74, 0x51, 0x67, 0x7f, 0xc7, 0x82, 0xba, 0xae,
0x83, 0xc8, 0x6d, 0x20, 0xa7, 0x53, 0xbf, 0xef, 0xf9, 0x83, 0x6e, 0xfc, 0xdc, 0xeb, 0x77, 0x4f,
0x66, 0xac, 0x09, 0x1c, 0xcf, 0xc1, 0x25, 0x27, 0xa7, 0x8e, 0xbc, 0x0d, 0x2d, 0x03, 0x8d, 0xe2,
0x90, 0x8f, 0xea, 0xe0, 0x92, 0x93, 0xa9, 0x61, 0x8b, 0xc4, 0xb4, 0xdc, 0x34, 0xee, 0x7a, 0x7e,
0x9f, 0x3e, 0xc7, 0x75, 0x5d, 0x72, 0x0c, 0xec, 0x6e, 0x03, 0xea, 0xfa, 0x77, 0xf6, 0xe7, 0xa0,
0x75, 0xc8, 0x94, 0x87, 0xef, 0xf9, 0x03, 0xa1, 0xc4, 0x99, 0x46, 0x13, 0x1a, 0x97, 0xef, 0xb5,
0x28, 0x31, 0xb1, 0x19, 0x06, 0x51, 0x2c, 0xd6, 0x05, 0x7f, 0xdb, 0xff, 0x64, 0x41, 0x93, 0x2d,
0xfa, 0x07, 0xae, 0x3f, 0x93, 0x2b, 0x7e, 0x08, 0x75, 0xd6, 0xd4, 0xe3, 0x60, 0x87, 0xeb, 0x45,
0x2e, 0xef, 0x37, 0xc5, 0x22, 0xa5, 0xa8, 0x6f, 0xe9, 0xa4, 0xcc, 0x75, 0x99, 0x39, 0xc6, 0xd7,
0x4c, 0x30, 0x63, 0x37, 0x1c, 0xd0, 0x18, 0x35, 0xa6, 0xd0, 0xa0, 0xc0, 0xa1, 0xdd, 0xc0, 0x3f,
0x25, 0xd7, 0xa0, 0x1e, 0xb9, 0x71, 0x77, 0x42, 0x43, 0x5c, 0x35, 0x14, 0xae, 0xa2, 0x03, 0x91,
0x1b, 0x1f, 0xd1, 0xf0, 0xee, 0x2c, 0xa6, 0x9d, 0xcf, 0xc3, 0x72, 0xa6, 0x17, 0x26, 0xcf, 0xc9,
0x14, 0xd9, 0x4f, 0xb2, 0x0a, 0xe5, 0x33, 0x77, 0x34, 0xa5, 0x42, 0x91, 0xf3, 0xc2, 0xfb, 0x85,
0xf7, 0x2c, 0xfb, 0x2d, 0x68, 0x25, 0xc3, 0x16, 0x82, 0x41, 0xa0, 0xc4, 0x56, 0x50, 0x34, 0x80,
0xbf, 0xed, 0x5f, 0xb1, 0x38, 0xe1, 0x6e, 0xe0, 0x29, 0xa5, 0xc8, 0x08, 0x99, 0xee, 0x94, 0x84,
0xec, 0xf7, 0x5c, 0xa3, 0xf1, 0xe3, 0x4f, 0xd6, 0xbe, 0x01, 0xcb, 0xda, 0x10, 0x5e, 0x32, 0xd8,
0x87, 0x40, 0x0e, 0xbd, 0x28, 0x7e, 0xe2, 0x47, 0x13, 0x4d, 0xb1, 0xbc, 0x06, 0xd5, 0xb1, 0xe7,
0x63, 0xf7, 0x9c, 0x37, 0xcb, 0x4e, 0x65, 0xec, 0xf9, 0xac, 0xf3, 0x08, 0x2b, 0xdd, 0xe7, 0xa2,
0xb2, 0x20, 0x2a, 0xdd, 0xe7, 0x58, 0x69, 0xbf, 0x07, 0x2b, 0x46, 0x7b, 0xa2, 0xeb, 0x37, 0xa1,
0x3c, 0x8d, 0x9f, 0x07, 0x52, 0xed, 0xd7, 0x04, 0x1b, 0x30, 0x67, 0xc2, 0xe1, 0x35, 0xf6, 0x1d,
0x58, 0x7e, 0x48, 0xcf, 0x05, 0xfb, 0xc9, 0x81, 0xbc, 0x75, 0xa1, 0xa3, 0x81, 0xf5, 0xf6, 0x2d,
0x20, 0xfa, 0xc7, 0xa2, 0x57, 0xcd, 0xed, 0xb0, 0x0c, 0xb7, 0xc3, 0x7e, 0x0b, 0xc8, 0xb1, 0x37,
0xf0, 0x3f, 0xa0, 0x51, 0xe4, 0x0e, 0x94, 0x96, 0x68, 0x41, 0x71, 0x1c, 0x0d, 0x84, 0x72, 0x60,
0x3f, 0xed, 0x4f, 0xc1, 0x8a, 0x41, 0x27, 0x1a, 0xbe, 0x02, 0xd5, 0xc8, 0x1b, 0xf8, 0x6e, 0x3c,
0x0d, 0xa9, 0x68, 0x3a, 0x01, 0xec, 0x7b, 0xb0, 0xfa, 0x25, 0x1a, 0x7a, 0xa7, 0xb3, 0x8b, 0x9a,
0x37, 0xdb, 0x29, 0xa4, 0xdb, 0xd9, 0x87, 0xb5, 0x54, 0x3b, 0xa2, 0x7b, 0xce, 0xa3, 0x62, 0x27,
0x2b, 0x0e, 0x2f, 0x68, 0x12, 0x5b, 0xd0, 0x25, 0xd6, 0x7e, 0x02, 0x64, 0x37, 0xf0, 0x7d, 0xda,
0x8b, 0x8f, 0x28, 0x0d, 0x93, 0x83, 0x46, 0xc2, 0x90, 0xb5, 0xed, 0x0d, 0xb1, 0xb2, 0x69, 0x35,
0x20, 0x38, 0x95, 0x40, 0x69, 0x42, 0xc3, 0x31, 0x36, 0x5c, 0x71, 0xf0, 0xb7, 0xbd, 0x06, 0x2b,
0x46, 0xb3, 0xc2, 0x47, 0x7c, 0x07, 0xd6, 0xf6, 0xbc, 0xa8, 0x97, 0xed, 0xb0, 0x0d, 0x8b, 0x93,
0xe9, 0x49, 0x37, 0x11, 0x37, 0x59, 0x64, 0xae, 0x44, 0xfa, 0x13, 0xd1, 0xd8, 0x6f, 0x58, 0x50,
0x3a, 0x78, 0x7c, 0xb8, 0x4b, 0x3a, 0x50, 0xf1, 0xfc, 0x5e, 0x30, 0x66, 0x1a, 0x99, 0x4f, 0x5a,
0x95, 0xe7, 0x8a, 0xd1, 0x15, 0xa8, 0xa2, 0x22, 0x67, 0xde, 0x91, 0x38, 0x13, 0x24, 0x00, 0xf3,
0xcc, 0xe8, 0xf3, 0x89, 0x17, 0xa2, 0xeb, 0x25, 0x1d, 0xaa, 0x12, 0x2a, 0xcb, 0x6c, 0x85, 0xfd,
0x3f, 0x25, 0x58, 0x14, 0x6a, 0x1c, 0xfb, 0xeb, 0xc5, 0xde, 0x19, 0x15, 0x23, 0x11, 0x25, 0x66,
0x24, 0x43, 0x3a, 0x0e, 0x62, 0xda, 0x35, 0xb6, 0xc1, 0x04, 0xd1, 0xf3, 0xe4, 0x0d, 0x75, 0xb9,
0xbf, 0x5a, 0xe4, 0x54, 0x06, 0xc8, 0x16, 0x8b, 0x01, 0x5d, 0xaf, 0x8f, 0x63, 0x2a, 0x39, 0xb2,
0xc8, 0x56, 0xa2, 0xe7, 0x4e, 0xdc, 0x9e, 0x17, 0xcf, 0x84, 0xdc, 0xab, 0x32, 0x6b, 0x7b, 0x14,
0xf4, 0xdc, 0x51, 0xf7, 0xc4, 0x1d, 0xb9, 0x7e, 0x8f, 0x4a, 0xaf, 0xd6, 0x00, 0x99, 0x87, 0x27,
0x86, 0x24, 0xc9, 0xb8, 0x17, 0x98, 0x42, 0x99, 0xa7, 0xd8, 0x0b, 0xc6, 0x63, 0x2f, 0x66, 0x8e,
0x21, 0x3a, 0x0d, 0x45, 0x47, 0x43, 0xb8, 0x0f, 0x8d, 0xa5, 0x73, 0xbe, 0x7a, 0x55, 0xe9, 0x43,
0x6b, 0x20, 0x6b, 0x85, 0x79, 0x1e, 0x4c, 0x57, 0x3d, 0x3b, 0x6f, 0x03, 0x6f, 0x25, 0x41, 0xd8,
0x3e, 0x4c, 0xfd, 0x88, 0xc6, 0xf1, 0x88, 0xf6, 0xd5, 0x80, 0x6a, 0x48, 0x96, 0xad, 0x20, 0xb7,
0x61, 0x85, 0xfb, 0xaa, 0x91, 0x1b, 0x07, 0xd1, 0xd0, 0x8b, 0xba, 0x11, 0xf3, 0xfa, 0xea, 0x48,
0x9f, 0x57, 0x45, 0xde, 0x83, 0x8d, 0x14, 0x1c, 0xd2, 0x1e, 0xf5, 0xce, 0x68, 0xbf, 0xbd, 0x84,
0x5f, 0xcd, 0xab, 0x26, 0xd7, 0xa0, 0xc6, 0x5c, 0xf4, 0xe9, 0xa4, 0xef, 0x32, 0x13, 0xdd, 0xc0,
0x7d, 0xd0, 0x21, 0xf2, 0x0e, 0x2c, 0x4d, 0x28, 0xb7, 0xa3, 0xc3, 0x78, 0xd4, 0x8b, 0xda, 0x4d,
0x43, 0xbb, 0x31, 0xce, 0x75, 0x4c, 0x0a, 0xc6, 0x94, 0xbd, 0x08, 0x7d, 0x35, 0x77, 0xd6, 0x6e,
0x21, 0xbb, 0x25, 0x00, 0xca, 0x48, 0xe8, 0x9d, 0xb9, 0x31, 0x6d, 0x2f, 0x23, 0x6f, 0xc9, 0xa2,
0xfd, 0x87, 0x16, 0x57, 0xac, 0x82, 0x09, 0x95, 0x82, 0x7c, 0x03, 0x6a, 0x9c, 0xfd, 0xba, 0x81,
0x3f, 0x9a, 0x09, 0x8e, 0x04, 0x0e, 0x3d, 0xf2, 0x47, 0x33, 0xf2, 0x09, 0x58, 0xf2, 0x7c, 0x9d,
0x84, 0xcb, 0x70, 0x5d, 0x82, 0x48, 0xf4, 0x06, 0xd4, 0x26, 0xd3, 0x93, 0x91, 0xd7, 0xe3, 0x24,
0x45, 0xde, 0x0a, 0x87, 0x90, 0x80, 0xf9, 0x4f, 0x7c, 0x24, 0x9c, 0xa2, 0x84, 0x14, 0x35, 0x81,
0x31, 0x12, 0xfb, 0x2e, 0xac, 0x9a, 0x03, 0x14, 0xca, 0x6a, 0x13, 0x2a, 0x82, 0xb7, 0xa3, 0x76,
0x0d, 0xd7, 0xa7, 0x61, 0x9e, 0xcd, 0x1c, 0x55, 0x6f, 0x7f, 0xbf, 0x04, 0x2b, 0x02, 0xdd, 0x1d,
0x05, 0x11, 0x3d, 0x9e, 0x8e, 0xc7, 0x6e, 0x98, 0x23, 0x34, 0xd6, 0x05, 0x42, 0x53, 0x30, 0x85,
0x86, 0xb1, 0xf2, 0xd0, 0xf5, 0x7c, 0xee, 0xfc, 0x71, 0x89, 0xd3, 0x10, 0x72, 0x13, 0x9a, 0xbd,
0x51, 0x10, 0x71, 0x87, 0x48, 0x3f, 0x7d, 0xa5, 0xe1, 0xac, 0x90, 0x97, 0xf3, 0x84, 0x5c, 0x17,
0xd2, 0x85, 0x94, 0x90, 0xda, 0x50, 0x67, 0x8d, 0x52, 0xa9, 0x73, 0x16, 0xb9, 0x83, 0xa6, 0x63,
0x6c, 0x3c, 0x69, 0x91, 0xe0, 0xf2, 0xd7, 0xcc, 0x13, 0x08, 0x76, 0xb8, 0x63, 0x3a, 0x4d, 0xa3,
0xae, 0x0a, 0x81, 0xc8, 0x56, 0x91, 0x7b, 0x00, 0xbc, 0x2f, 0x34, 0xac, 0x80, 0x86, 0xf5, 0x2d,
0x73, 0x47, 0xf4, 0xb5, 0xbf, 0xc5, 0x0a, 0xd3, 0x90, 0xa2, 0xb1, 0xd5, 0xbe, 0xb4, 0x7f, 0xcb,
0x82, 0x9a, 0x56, 0x47, 0xd6, 0x60, 0x79, 0xf7, 0xd1, 0xa3, 0xa3, 0x7d, 0x67, 0xe7, 0xf1, 0x83,
0x2f, 0xed, 0x77, 0x77, 0x0f, 0x1f, 0x1d, 0xef, 0xb7, 0x2e, 0x31, 0xf8, 0xf0, 0xd1, 0xee, 0xce,
0x61, 0xf7, 0xde, 0x23, 0x67, 0x57, 0xc2, 0x16, 0x59, 0x07, 0xe2, 0xec, 0x7f, 0xf0, 0xe8, 0xf1,
0xbe, 0x81, 0x17, 0x48, 0x0b, 0xea, 0x77, 0x9d, 0xfd, 0x9d, 0xdd, 0x03, 0x81, 0x14, 0xc9, 0x2a,
0xb4, 0xee, 0x3d, 0x79, 0xb8, 0xf7, 0xe0, 0xe1, 0xfd, 0xee, 0xee, 0xce, 0xc3, 0xdd, 0xfd, 0xc3,
0xfd, 0xbd, 0x56, 0x89, 0x2c, 0x41, 0x75, 0xe7, 0xee, 0xce, 0xc3, 0xbd, 0x47, 0x0f, 0xf7, 0xf7,
0x5a, 0x65, 0xfb, 0x1f, 0x2d, 0x58, 0xc3, 0x51, 0xf7, 0xd3, 0x02, 0x72, 0x0d, 0x6a, 0xbd, 0x20,
0x98, 0x50, 0xa6, 0xcf, 0x95, 0xca, 0xd6, 0x21, 0xc6, 0xfc, 0x5c, 0x41, 0x9e, 0x06, 0x61, 0x8f,
0x0a, 0xf9, 0x00, 0x84, 0xee, 0x31, 0x84, 0x31, 0xbf, 0xd8, 0x5e, 0x4e, 0xc1, 0xc5, 0xa3, 0xc6,
0x31, 0x4e, 0xb2, 0x0e, 0x0b, 0x27, 0x21, 0x75, 0x7b, 0x43, 0x21, 0x19, 0xa2, 0x44, 0x3e, 0x99,
0xf8, 0xee, 0x3d, 0xb6, 0xfa, 0x23, 0xda, 0x47, 0x8e, 0xa9, 0x38, 0x4d, 0x81, 0xef, 0x0a, 0x98,
0x69, 0x06, 0xf7, 0xc4, 0xf5, 0xfb, 0x81, 0x4f, 0xfb, 0xc8, 0x34, 0x15, 0x27, 0x01, 0xec, 0x23,
0x58, 0x4f, 0xcf, 0x4f, 0xc8, 0xd7, 0xbb, 0x9a, 0x7c, 0x71, 0xef, 0xaa, 0x33, 0x7f, 0x37, 0x35,
0x59, 0xfb, 0x57, 0x0b, 0x4a, 0xcc, 0xd8, 0xce, 0x37, 0xcc, 0xba, 0xff, 0x54, 0xcc, 0x84, 0x6d,
0xf0, 0x70, 0xc2, 0xd5, 0x2f, 0x37, 0x51, 0x1a, 0x92, 0xd4, 0x87, 0xb4, 0x77, 0x86, 0x33, 0x56,
0xf5, 0x0c, 0x61, 0x02, 0xc2, 0x3c, 0x58, 0xfc, 0x5a, 0x08, 0x88, 0x2c, 0xcb, 0x3a, 0xfc, 0x72,
0x31, 0xa9, 0xc3, 0xef, 0xda, 0xb0, 0xe8, 0xf9, 0x27, 0xc1, 0xd4, 0xef, 0xa3, 0x40, 0x54, 0x1c,
0x59, 0x64, 0xcb, 0x37, 0x41, 0x41, 0xf5, 0xc6, 0x92, 0xfd, 0x13, 0xc0, 0x26, 0xec, 0x84, 0x13,
0xa1, 0x73, 0xa1, 0xe2, 0x14, 0xef, 0xc2, 0xb2, 0x86, 0x25, 0x8e, 0xea, 0x84, 0x01, 0x29, 0x47,
0x15, 0xbd, 0x12, 0x5e, 0x63, 0xb7, 0xa0, 0x71, 0x9f, 0xc6, 0x0f, 0xfc, 0xd3, 0x40, 0xb6, 0xf4,
0xad, 0x12, 0x34, 0x15, 0x24, 0x1a, 0xba, 0x09, 0x4d, 0xaf, 0x4f, 0xfd, 0xd8, 0x8b, 0x67, 0x5d,
0xe3, 0x20, 0x95, 0x86, 0x99, 0x37, 0xe7, 0x8e, 0x3c, 0x57, 0x86, 0xc6, 0x78, 0x81, 0x6c, 0xc3,
0x2a, 0x33, 0x35, 0xd2, 0x7a, 0xa8, 0x2d, 0xe6, 0xe7, 0xb9, 0xdc, 0x3a, 0xa6, 0x0c, 0x18, 0x2e,
0xb4, 0xbd, 0xfa, 0x84, 0x7b, 0x35, 0x79, 0x55, 0x6c, 0xd5, 0x78, 0x4b, 0x6c, 0xca, 0x65, 0x6e,
0x8e, 0x14, 0x90, 0x89, 0x37, 0x2d, 0x70, 0x55, 0x95, 0x8e, 0x37, 0x69, 0x31, 0xab, 0x4a, 0x26,
0x66, 0xc5, 0x54, 0xd9, 0xcc, 0xef, 0xd1, 0x7e, 0x37, 0x0e, 0xba, 0xa8, 0x72, 0x71, 0x77, 0x2a,
0x4e, 0x1a, 0xc6, 0xe8, 0x1a, 0x8d, 0x62, 0x9f, 0xc6, 0xa8, 0x95, 0x2a, 0x8e, 0x2c, 0x32, 0xe9,
0x42, 0x12, 0x6e, 0x40, 0xaa, 0x8e, 0x28, 0x31, 0xb7, 0x74, 0x1a, 0x7a, 0x51, 0xbb, 0x8e, 0x28,
0xfe, 0x26, 0x9f, 0x86, 0xb5, 0x13, 0x1a, 0xc5, 0xdd, 0x21, 0x75, 0xfb, 0x34, 0xc4, 0xdd, 0xe7,
0xa1, 0x30, 0x6e, 0xed, 0xf3, 0x2b, 0x59, 0xdf, 0x67, 0x34, 0x8c, 0xbc, 0xc0, 0x47, 0x3b, 0x5f,
0x75, 0x64, 0x91, 0xb5, 0xc7, 0x16, 0x44, 0xd9, 0x50, 0xb5, 0xaa, 0x4d, 0x5c, 0x8c, 0xfc, 0x4a,
0xfb, 0x1b, 0xe8, 0x73, 0xab, 0xd0, 0xde, 0x13, 0x74, 0x18, 0xd8, 0xc9, 0x89, 0xaf, 0x4c, 0x34,
0x74, 0xc5, 0x31, 0xa0, 0x82, 0xc0, 0xf1, 0xd0, 0x65, 0x5a, 0xc6, 0x58, 0x6c, 0x7e, 0xb2, 0xaa,
0x21, 0x76, 0xc0, 0xd7, 0xfa, 0x3a, 0x34, 0x64, 0xd0, 0x30, 0xea, 0x8e, 0xe8, 0x69, 0x2c, 0x4f,
0xf7, 0xfe, 0x74, 0x8c, 0xc7, 0xaf, 0x43, 0x7a, 0x1a, 0xdb, 0x0f, 0x61, 0x59, 0x48, 0xfe, 0xa3,
0x09, 0x95, 0x5d, 0x7f, 0x36, 0xcf, 0x82, 0xce, 0x09, 0x93, 0x9a, 0x94, 0xb6, 0x03, 0x44, 0xd7,
0x24, 0xa2, 0x41, 0x61, 0xc6, 0x64, 0x0c, 0x41, 0x4c, 0xc7, 0xc0, 0xd8, 0xaa, 0x46, 0xd3, 0x5e,
0x4f, 0x86, 0x7d, 0x2b, 0x8e, 0x2c, 0xda, 0xdf, 0xb5, 0x60, 0x05, 0x5b, 0x93, 0x3e, 0x80, 0xd0,
0xd6, 0xef, 0xfd, 0x10, 0xc3, 0xac, 0xf7, 0xf4, 0xb8, 0xca, 0x2a, 0x94, 0x75, 0xfd, 0xcd, 0x0b,
0x3f, 0xfc, 0x51, 0xba, 0x94, 0x39, 0x4a, 0xff, 0xbd, 0x05, 0xcb, 0x5c, 0x85, 0xc6, 0x6e, 0x3c,
0x8d, 0xc4, 0xf4, 0x7f, 0x1a, 0x96, 0xb8, 0x2d, 0x14, 0x42, 0x28, 0x06, 0xba, 0xaa, 0xf4, 0x05,
0xa2, 0x9c, 0xf8, 0xe0, 0x92, 0x63, 0x12, 0x93, 0xcf, 0x43, 0x5d, 0x8f, 0xfc, 0xe2, 0x98, 0x6b,
0xdb, 0x97, 0xe5, 0x2c, 0x33, 0x9c, 0x73, 0x70, 0xc9, 0x31, 0x3e, 0x20, 0x77, 0xd0, 0xa1, 0xf1,
0xbb, 0xd8, 0xac, 0x88, 0x9d, 0x5d, 0xce, 0x51, 0xfb, 0xea, 0x73, 0x8d, 0xfc, 0x6e, 0x05, 0x16,
0xb8, 0x07, 0x6b, 0xdf, 0x87, 0x25, 0x63, 0xa4, 0x46, 0x88, 0xa0, 0xce, 0x43, 0x04, 0x99, 0x88,
0x52, 0x21, 0x1b, 0x51, 0xb2, 0xff, 0xa4, 0x08, 0x84, 0x71, 0x5b, 0x6a, 0x3b, 0x99, 0x0b, 0x1d,
0xf4, 0x8d, 0x03, 0x51, 0xdd, 0xd1, 0x21, 0x72, 0x0b, 0x88, 0x56, 0x94, 0x41, 0x37, 0x6e, 0x6d,
0x72, 0x6a, 0x98, 0x5a, 0x14, 0xc6, 0x5a, 0x98, 0x55, 0x71, 0xf4, 0xe3, 0xfb, 0x96, 0x5b, 0xc7,
0x0c, 0xca, 0x64, 0x1a, 0x0d, 0xf1, 0x86, 0x41, 0x1c, 0x99, 0x64, 0x39, 0xcd, 0x20, 0x0b, 0x17,
0x32, 0xc8, 0x62, 0x9a, 0x41, 0x74, 0xa7, 0xbd, 0x62, 0x38, 0xed, 0xcc, 0x59, 0x1c, 0x33, 0x17,
0x33, 0x1e, 0xf5, 0xba, 0x63, 0xd6, 0xbb, 0x38, 0x21, 0x19, 0x20, 0xd9, 0x84, 0x96, 0x70, 0x2f,
0x92, 0x93, 0x01, 0xe0, 0x1a, 0x67, 0x70, 0xa6, 0xaf, 0x93, 0xc0, 0x4c, 0x0d, 0x07, 0x9b, 0x00,
0xec, 0x2c, 0x15, 0x31, 0x16, 0xeb, 0x4e, 0x7d, 0xc1, 0x2d, 0xb4, 0x8f, 0x67, 0xa3, 0x8a, 0x93,
0xad, 0xb0, 0x7f, 0x60, 0x41, 0x8b, 0xed, 0x99, 0xc1, 0xd7, 0xef, 0x03, 0x8a, 0xd5, 0x2b, 0xb2,
0xb5, 0x41, 0xfb, 0xe3, 0x73, 0xf5, 0x7b, 0x50, 0xc5, 0x06, 0x83, 0x09, 0xf5, 0x05, 0x53, 0xb7,
0x4d, 0xa6, 0x4e, 0x34, 0xda, 0xc1, 0x25, 0x27, 0x21, 0xd6, 0x58, 0xfa, 0x6f, 0x2d, 0xa8, 0x89,
0x61, 0xfe, 0xc8, 0x91, 0x83, 0x8e, 0x76, 0x9d, 0xc4, 0x59, 0x31, 0xb9, 0x39, 0xba, 0x09, 0xcd,
0xb1, 0x1b, 0x4f, 0x43, 0x66, 0xc0, 0x8d, 0xa8, 0x41, 0x1a, 0x66, 0xd6, 0x18, 0x95, 0x77, 0xd4,
0x8d, 0xbd, 0x51, 0x57, 0xd6, 0x8a, 0x4b, 0x9b, 0xbc, 0x2a, 0xa6, 0xc3, 0xa2, 0xd8, 0x1d, 0x50,
0x61, 0x68, 0x79, 0xc1, 0x6e, 0xc3, 0xba, 0x98, 0x50, 0xca, 0xb7, 0xb5, 0xff, 0xa2, 0x0e, 0x1b,
0x99, 0x2a, 0x75, 0xcb, 0x2b, 0x8e, 0xc3, 0x23, 0x6f, 0x7c, 0x12, 0xa8, 0x83, 0x81, 0xa5, 0x9f,
0x94, 0x8d, 0x2a, 0x32, 0x80, 0x35, 0xe9, 0x51, 0xb0, 0x35, 0x4d, 0x2c, 0x5d, 0x01, 0x5d, 0xa1,
0x77, 0x4c, 0x1e, 0x48, 0x77, 0x28, 0x71, 0x5d, 0x0b, 0xe4, 0xb7, 0x47, 0x86, 0xd0, 0x56, 0xae,
0x8b, 0x30, 0x17, 0x9a, 0x7b, 0xc3, 0xfa, 0x7a, 0xfb, 0x82, 0xbe, 0x0c, 0x57, 0xd8, 0x99, 0xdb,
0x1a, 0x99, 0xc1, 0x55, 0x59, 0x87, 0xf6, 0x20, 0xdb, 0x5f, 0xe9, 0x95, 0xe6, 0x86, 0x4e, 0xbe,
0xd9, 0xe9, 0x05, 0x0d, 0x93, 0xaf, 0xc1, 0xfa, 0xb9, 0xeb, 0xc5, 0x72, 0x58, 0x9a, 0xe3, 0x50,
0xc6, 0x2e, 0xb7, 0x2f, 0xe8, 0xf2, 0x29, 0xff, 0xd8, 0x30, 0x92, 0x73, 0x5a, 0xec, 0xfc, 0xb5,
0x05, 0x0d, 0xb3, 0x1d, 0xc6, 0xa6, 0x42, 0x79, 0x48, 0x25, 0x2a, 0xdd, 0xcf, 0x14, 0x9c, 0x3d,
0x5b, 0x17, 0xf2, 0xce, 0xd6, 0xfa, 0x89, 0xb6, 0x78, 0x51, 0xd8, 0xa9, 0xf4, 0x6a, 0x61, 0xa7,
0x72, 0x5e, 0xd8, 0xa9, 0xf3, 0x5f, 0x16, 0x90, 0x2c, 0x2f, 0x91, 0xfb, 0xfc, 0x70, 0xef, 0xd3,
0x91, 0xd0, 0x49, 0x3f, 0xf5, 0x6a, 0xfc, 0x28, 0xd7, 0x4e, 0x7e, 0xcd, 0x04, 0x43, 0x57, 0x3a,
0xba, 0xbb, 0xb5, 0xe4, 0xe4, 0x55, 0xa5, 0x02, 0x61, 0xa5, 0x8b, 0x03, 0x61, 0xe5, 0x8b, 0x03,
0x61, 0x0b, 0xe9, 0x40, 0x58, 0xe7, 0xd7, 0x2d, 0x58, 0xc9, 0xd9, 0xf4, 0x8f, 0x6f, 0xe2, 0x6c,
0x9b, 0x0c, 0x5d, 0x50, 0x10, 0xdb, 0xa4, 0x83, 0x9d, 0x5f, 0x82, 0x25, 0x83, 0xd1, 0x3f, 0xbe,
0xfe, 0xd3, 0x1e, 0x23, 0xe7, 0x33, 0x03, 0xeb, 0xfc, 0x5b, 0x01, 0x48, 0x56, 0xd8, 0xfe, 0x5f,
0xc7, 0x90, 0x5d, 0xa7, 0x62, 0xce, 0x3a, 0xfd, 0x9f, 0xda, 0x81, 0xb7, 0x61, 0x59, 0xa4, 0x84,
0x68, 0x21, 0x1d, 0xce, 0x31, 0xd9, 0x0a, 0xe6, 0x33, 0x9b, 0x51, 0xc8, 0x8a, 0x71, 0xb5, 0xae,
0x19, 0xc3, 0x54, 0x30, 0xd2, 0x5e, 0x87, 0x55, 0x9e, 0x62, 0x72, 0x97, 0x37, 0x25, 0xed, 0xca,
0x1f, 0x58, 0xb0, 0x96, 0xaa, 0x48, 0x2e, 0x82, 0xb9, 0xe9, 0x30, 0xed, 0x89, 0x09, 0xb2, 0xf1,
0x2b, 0x37, 0x23, 0xc5, 0x6d, 0xd9, 0x0a, 0xb6, 0x3e, 0x9a, 0x5b, 0x92, 0x5a, 0xf5, 0xbc, 0x2a,
0x7b, 0x83, 0x27, 0xc2, 0xf8, 0x74, 0x94, 0x1a, 0xf8, 0x29, 0x4f, 0x5d, 0xd1, 0x2b, 0x92, 0xab,
0x20, 0x73, 0xc8, 0xb2, 0xc8, 0x3c, 0x4a, 0xc3, 0x4c, 0x99, 0xe3, 0xcd, 0xad, 0xb3, 0xbf, 0x6f,
0x01, 0xf9, 0xe2, 0x94, 0x86, 0x33, 0xbc, 0xec, 0x55, 0xb1, 0xa6, 0x8d, 0x74, 0x24, 0x65, 0x61,
0x32, 0x3d, 0xf9, 0x02, 0x9d, 0xc9, 0xb4, 0x81, 0x42, 0x92, 0x36, 0xf0, 0x3a, 0x00, 0x3b, 0xca,
0xa9, 0x1b, 0x64, 0xf4, 0xe4, 0xfc, 0xe9, 0x98, 0x37, 0x98, 0x7b, 0xb3, 0x5f, 0xba, 0xf8, 0x66,
0xbf, 0x7c, 0xd1, 0xcd, 0xfe, 0x1d, 0x58, 0x31, 0xc6, 0xad, 0xb6, 0x55, 0xde, 0x65, 0x5b, 0x2f,
0xb9, 0xcb, 0xfe, 0xcd, 0x02, 0x14, 0x0f, 0x82, 0x89, 0x1e, 0x67, 0xb5, 0xcc, 0x38, 0xab, 0xb0,
0x25, 0x5d, 0x65, 0x2a, 0x84, 0x8a, 0x31, 0x40, 0xb2, 0x09, 0x0d, 0x77, 0x1c, 0xb3, 0x83, 0xff,
0x69, 0x10, 0x9e, 0xbb, 0x61, 0x9f, 0xef, 0xf5, 0xdd, 0x42, 0xdb, 0x72, 0x52, 0x35, 0x64, 0x15,
0x8a, 0x4a, 0xe9, 0x22, 0x01, 0x2b, 0x32, 0xc7, 0x0d, 0xef, 0x68, 0x66, 0x22, 0x66, 0x21, 0x4a,
0x8c, 0x95, 0xcc, 0xef, 0xb9, 0xdb, 0xcd, 0x45, 0x27, 0xaf, 0x8a, 0xd9, 0x35, 0xb6, 0x7c, 0x48,
0x26, 0x82, 0x4d, 0xb2, 0xac, 0x07, 0xc6, 0x2a, 0xe6, 0x8d, 0xd5, 0xbf, 0x58, 0x50, 0xc6, 0xb5,
0x61, 0x6a, 0x80, 0xf3, 0xbe, 0x0a, 0xb5, 0xe2, 0x9a, 0x2c, 0x39, 0x69, 0x98, 0xd8, 0x46, 0xe2,
0x4d, 0x41, 0x4d, 0x48, 0x4f, 0xbe, 0xb9, 0x06, 0x55, 0x5e, 0x52, 0x49, 0x26, 0x48, 0x92, 0x80,
0xe4, 0x2a, 0x94, 0x86, 0xc1, 0x44, 0xfa, 0x2d, 0x20, 0x6f, 0x1a, 0x82, 0x89, 0x83, 0x78, 0x32,
0x1e, 0xd6, 0x1e, 0x9f, 0x16, 0xb7, 0x46, 0x69, 0x98, 0xd9, 0x63, 0xd5, 0xac, 0xbe, 0x4c, 0x29,
0xd4, 0xde, 0x84, 0xe6, 0xc3, 0xa0, 0x4f, 0xb5, 0x78, 0xd7, 0x5c, 0x3e, 0xb7, 0x7f, 0xd9, 0x82,
0x8a, 0x24, 0x26, 0x37, 0xa1, 0xc4, 0x9c, 0x8c, 0xd4, 0x11, 0x42, 0xdd, 0x30, 0x32, 0x3a, 0x07,
0x29, 0x98, 0x56, 0xc6, 0xb8, 0x46, 0xe2, 0x70, 0xca, 0xa8, 0x46, 0xe2, 0x4f, 0xa9, 0xe1, 0xa6,
0xdc, 0x90, 0x14, 0x6a, 0x7f, 0xcf, 0x82, 0x25, 0xa3, 0x0f, 0x76, 0x08, 0x1d, 0xb9, 0x51, 0x2c,
0x6e, 0x6d, 0xc4, 0xf6, 0xe8, 0x90, 0xbe, 0xd1, 0x05, 0x33, 0x02, 0xaa, 0x62, 0x73, 0x45, 0x3d,
0x36, 0x77, 0x1b, 0xaa, 0x49, 0x7a, 0x54, 0xc9, 0xd0, 0xb6, 0xac, 0x47, 0x79, 0x77, 0x9a, 0x10,
0xb1, 0x76, 0x7a, 0xc1, 0x28, 0x08, 0xc5, 0x75, 0x01, 0x2f, 0xd8, 0x77, 0xa0, 0xa6, 0xd1, 0xb3,
0x61, 0xf8, 0x34, 0x3e, 0x0f, 0xc2, 0x67, 0x32, 0x10, 0x2b, 0x8a, 0x2a, 0x7b, 0xa0, 0x90, 0x64,
0x0f, 0xd8, 0x7f, 0x65, 0xc1, 0x12, 0xe3, 0x41, 0xcf, 0x1f, 0x1c, 0x05, 0x23, 0xaf, 0x37, 0xc3,
0xbd, 0x97, 0xec, 0x26, 0x74, 0x86, 0xe4, 0x45, 0x13, 0x66, 0x5c, 0x2f, 0xcf, 0xa0, 0x42, 0x44,
0x55, 0x99, 0xc9, 0x30, 0x93, 0x80, 0x13, 0x37, 0x12, 0x62, 0x21, 0xcc, 0x9f, 0x01, 0x32, 0x49,
0x63, 0x40, 0xe8, 0xc6, 0xb4, 0x3b, 0xf6, 0x46, 0x23, 0x8f, 0xd3, 0x72, 0xe7, 0x28, 0xaf, 0x8a,
0xf5, 0xd9, 0xf7, 0x22, 0xf7, 0x24, 0x09, 0x81, 0xab, 0xb2, 0xfd, 0x67, 0x05, 0xa8, 0x09, 0xc5,
0xbd, 0xdf, 0x1f, 0x50, 0x71, 0x5f, 0x83, 0xee, 0xa7, 0x52, 0x32, 0x1a, 0x22, 0xeb, 0x0d, 0x87,
0x55, 0x43, 0xd2, 0x5b, 0x5e, 0xcc, 0x6e, 0xf9, 0x15, 0xa8, 0x32, 0xd6, 0x7b, 0x07, 0x3d, 0x63,
0x7e, 0xd7, 0x93, 0x00, 0xb2, 0x76, 0x1b, 0x6b, 0xcb, 0x49, 0x2d, 0x02, 0x2f, 0xbd, 0xdd, 0x79,
0x0f, 0xea, 0xa2, 0x19, 0xdc, 0x13, 0xd4, 0x29, 0x09, 0xf3, 0x1b, 0xfb, 0xe5, 0x18, 0x94, 0xf2,
0xcb, 0x6d, 0xf9, 0x65, 0xe5, 0xa2, 0x2f, 0x25, 0xa5, 0x7d, 0x5f, 0x5d, 0x9a, 0xdd, 0x0f, 0xdd,
0xc9, 0x50, 0x4a, 0xe9, 0x6d, 0x58, 0xf1, 0xfc, 0xde, 0x68, 0xda, 0xa7, 0xdd, 0xa9, 0xef, 0xfa,
0x7e, 0x30, 0xf5, 0x7b, 0x54, 0xe6, 0x0c, 0xe4, 0x55, 0xd9, 0x7d, 0x95, 0xab, 0x84, 0x0d, 0x91,
0x4d, 0x28, 0xb3, 0x8e, 0xa4, 0x55, 0xc8, 0x17, 0x61, 0x4e, 0x42, 0x6e, 0x42, 0x99, 0xf6, 0x07,
0x54, 0x9e, 0x16, 0x89, 0x79, 0x6e, 0x67, 0xbb, 0xea, 0x70, 0x02, 0xa6, 0x50, 0x18, 0x9a, 0x52,
0x28, 0xa6, 0x45, 0x59, 0x60, 0xc5, 0x07, 0x7d, 0x7b, 0x15, 0xc8, 0x43, 0x2e, 0x03, 0x7a, 0xbc,
0xfd, 0xd7, 0x8a, 0x50, 0xd3, 0x60, 0xa6, 0x1b, 0x06, 0x6c, 0xc0, 0xdd, 0xbe, 0xe7, 0x8e, 0x69,
0x4c, 0x43, 0xc1, 0xf7, 0x29, 0x94, 0xd1, 0xb9, 0x67, 0x83, 0x6e, 0x30, 0x8d, 0xbb, 0x7d, 0x3a,
0x08, 0x29, 0x37, 0xf2, 0xcc, 0xe8, 0x18, 0x28, 0xa3, 0x1b, 0xbb, 0xcf, 0x75, 0x3a, 0xce, 0x41,
0x29, 0x54, 0x46, 0xcf, 0xf9, 0x1a, 0x95, 0x92, 0xe8, 0x39, 0x5f, 0x91, 0xb4, 0x56, 0x2b, 0xe7,
0x68, 0xb5, 0x77, 0x61, 0x9d, 0xeb, 0x2f, 0x21, 0xe9, 0xdd, 0x14, 0x63, 0xcd, 0xa9, 0x25, 0x9b,
0xd0, 0x62, 0x63, 0x96, 0x22, 0x11, 0x79, 0xdf, 0xe0, 0x91, 0x29, 0xcb, 0xc9, 0xe0, 0x8c, 0x16,
0x43, 0x44, 0x3a, 0x2d, 0xbf, 0x4d, 0xcc, 0xe0, 0x48, 0xeb, 0x3e, 0x37, 0x69, 0xab, 0x82, 0x36,
0x85, 0xdb, 0x4b, 0x50, 0x3b, 0x8e, 0x83, 0x89, 0xdc, 0x94, 0x06, 0xd4, 0x79, 0x51, 0xe4, 0x6e,
0xbc, 0x06, 0x97, 0x91, 0x8b, 0x1e, 0x07, 0x93, 0x60, 0x14, 0x0c, 0x66, 0xc7, 0xd3, 0x13, 0x9e,
0xb4, 0xeb, 0x05, 0xbe, 0xfd, 0x37, 0x16, 0xac, 0x18, 0xb5, 0x22, 0xfc, 0xf4, 0x69, 0x2e, 0x04,
0xea, 0xd2, 0x9d, 0x33, 0xde, 0xb2, 0xa6, 0x5c, 0x39, 0x21, 0x0f, 0x22, 0x3e, 0x11, 0xf7, 0xf0,
0x3b, 0xd0, 0x94, 0x23, 0x93, 0x1f, 0x72, 0x2e, 0x6c, 0x67, 0xb9, 0x50, 0x7c, 0xdf, 0x10, 0x1f,
0xc8, 0x26, 0x7e, 0x46, 0xdc, 0xca, 0xf6, 0x71, 0x8e, 0x32, 0x0e, 0xa1, 0x6e, 0xd2, 0xf4, 0xd3,
0x88, 0x1c, 0x41, 0x4f, 0x81, 0x91, 0xfd, 0xdb, 0x16, 0x40, 0x32, 0x3a, 0xbc, 0xcb, 0x53, 0x06,
0x82, 0xe7, 0xd5, 0x6b, 0xc6, 0xe0, 0x4d, 0xa8, 0xab, 0x3b, 0xa0, 0xc4, 0xe6, 0xd4, 0x24, 0xc6,
0x1c, 0xc6, 0x1b, 0xd0, 0x1c, 0x8c, 0x82, 0x13, 0x34, 0xd8, 0x98, 0x0c, 0x14, 0x89, 0x0c, 0x96,
0x06, 0x87, 0xef, 0x09, 0x34, 0x31, 0x50, 0x25, 0xcd, 0x40, 0xd9, 0xdf, 0x2c, 0xa8, 0x3b, 0x80,
0x64, 0xce, 0x73, 0xa5, 0x8c, 0x6c, 0x67, 0xd4, 0xe9, 0x9c, 0x90, 0x3b, 0x46, 0xdc, 0x8e, 0x2e,
0x0c, 0x08, 0xdc, 0x81, 0x46, 0xc8, 0xf5, 0x95, 0x54, 0x66, 0xa5, 0x97, 0x28, 0xb3, 0xa5, 0xd0,
0xb0, 0x62, 0x9f, 0x84, 0x96, 0xdb, 0x3f, 0xa3, 0x61, 0xec, 0xe1, 0x91, 0x0c, 0x5d, 0x08, 0xae,
0x82, 0x9b, 0x1a, 0x8e, 0x96, 0xfd, 0x06, 0x34, 0x45, 0xd6, 0x90, 0xa2, 0x14, 0x89, 0xb2, 0x09,
0xcc, 0x08, 0xed, 0x3f, 0x92, 0xd7, 0x0d, 0xe6, 0x1e, 0xce, 0x5f, 0x11, 0x7d, 0x76, 0x85, 0xd4,
0xec, 0x3e, 0x21, 0x42, 0xff, 0x7d, 0x79, 0xee, 0x2b, 0x6a, 0x37, 0xf8, 0x7d, 0x71, 0x55, 0x63,
0x2e, 0x69, 0xe9, 0x55, 0x96, 0xd4, 0xfe, 0x81, 0x05, 0x8b, 0x07, 0xc1, 0xe4, 0x40, 0xe4, 0x32,
0xa0, 0x20, 0xa8, 0x74, 0x3d, 0x59, 0x7c, 0x49, 0x96, 0x43, 0xae, 0xe5, 0x5e, 0x4a, 0x5b, 0xee,
0x9f, 0x85, 0xd7, 0x30, 0xea, 0x10, 0x06, 0x93, 0x20, 0x64, 0xc2, 0xe8, 0x8e, 0xb8, 0x99, 0x0e,
0xfc, 0x78, 0x28, 0xd5, 0xd8, 0xcb, 0x48, 0xf0, 0x78, 0xc7, 0x8e, 0x25, 0xdc, 0xe9, 0x16, 0x9e,
0x06, 0xd7, 0x6e, 0xd9, 0x0a, 0xfb, 0xb3, 0x50, 0x45, 0x57, 0x19, 0xa7, 0xf5, 0x36, 0x54, 0x87,
0xc1, 0xa4, 0x3b, 0xf4, 0xfc, 0x58, 0x0a, 0x77, 0x23, 0xf1, 0x61, 0x0f, 0x70, 0x41, 0x14, 0x81,
0xfd, 0x7b, 0x65, 0x58, 0x7c, 0xe0, 0x9f, 0x05, 0x5e, 0x0f, 0x6f, 0x26, 0xc6, 0x74, 0x1c, 0xc8,
0xe4, 0x45, 0xf6, 0x9b, 0x2d, 0x05, 0x66, 0xeb, 0x4c, 0x62, 0x71, 0xb5, 0x20, 0x8b, 0xcc, 0x41,
0x08, 0x93, 0x24, 0x64, 0x2e, 0x3a, 0x1a, 0xc2, 0x0e, 0x10, 0xa1, 0x9e, 0x44, 0x2c, 0x4a, 0x49,
0xf6, 0x67, 0x59, 0xcb, 0xfe, 0xc4, 0x7b, 0x2c, 0x9e, 0x77, 0x21, 0x2e, 0xe6, 0x65, 0x11, 0x0f,
0x3c, 0x21, 0xe5, 0xd1, 0x22, 0x74, 0x35, 0x16, 0xc5, 0x81, 0x47, 0x07, 0x99, 0x3b, 0xc2, 0x3f,
0xe0, 0x34, 0x5c, 0xf9, 0xea, 0x10, 0x73, 0xdd, 0xd2, 0x29, 0xdf, 0x55, 0xce, 0xf3, 0x29, 0x98,
0x69, 0xe8, 0x3e, 0x55, 0x8a, 0x94, 0xcf, 0x01, 0x78, 0x92, 0x75, 0x1a, 0xd7, 0x8e, 0x49, 0x3c,
0xa1, 0x4a, 0x1e, 0x93, 0x18, 0xa3, 0xb8, 0xa3, 0xd1, 0x89, 0xdb, 0x7b, 0x86, 0x19, 0xfd, 0x78,
0x47, 0x50, 0x75, 0x4c, 0x10, 0x33, 0x27, 0x92, 0xdd, 0xc4, 0xfb, 0xd3, 0x92, 0xa3, 0x43, 0x64,
0x1b, 0x6a, 0x78, 0x34, 0x14, 0xfb, 0xd9, 0xc0, 0xfd, 0x6c, 0xe9, 0x67, 0x47, 0xdc, 0x51, 0x9d,
0x48, 0xbf, 0x2d, 0x69, 0x9a, 0xb7, 0x25, 0x5c, 0x69, 0x8a, 0x4b, 0xa6, 0x16, 0xf6, 0x96, 0x00,
0xcc, 0x9a, 0x8a, 0x05, 0xe3, 0x04, 0xcb, 0x48, 0x60, 0x60, 0xe4, 0x2a, 0x54, 0xd8, 0xb1, 0x65,
0xe2, 0x7a, 0xfd, 0x36, 0x51, 0xa7, 0x27, 0x85, 0xb1, 0x36, 0xe4, 0x6f, 0xbc, 0x0c, 0x5a, 0xc1,
0x55, 0x31, 0x30, 0xb6, 0x36, 0xaa, 0x8c, 0x42, 0xb4, 0xca, 0x77, 0xd4, 0x00, 0xed, 0x18, 0xc8,
0x4e, 0xbf, 0x2f, 0x78, 0x53, 0x1d, 0xa3, 0x13, 0xae, 0xb2, 0x0c, 0xae, 0xca, 0xd9, 0xdd, 0x42,
0xfe, 0xee, 0xbe, 0x74, 0x0d, 0xec, 0x7d, 0xa8, 0x1d, 0x69, 0x19, 0xeb, 0xc8, 0xe4, 0x32, 0x57,
0x5d, 0x08, 0x86, 0x86, 0x68, 0xc3, 0x29, 0xe8, 0xc3, 0xb1, 0xff, 0xd8, 0xe2, 0x49, 0xbf, 0x6a,
0xf8, 0xbc, 0x6f, 0x1b, 0xea, 0x2a, 0xd8, 0x91, 0xe4, 0x92, 0x19, 0x18, 0xa3, 0xc1, 0xa1, 0x74,
0x83, 0xd3, 0xd3, 0x88, 0xca, 0xcc, 0x0f, 0x03, 0x63, 0x1c, 0xca, 0x7c, 0x1c, 0xe6, 0x2f, 0x78,
0xbc, 0x87, 0x48, 0x64, 0x80, 0x64, 0x70, 0xa6, 0x67, 0x43, 0x7a, 0x46, 0xc3, 0x48, 0x89, 0x96,
0x2a, 0xab, 0x94, 0xb7, 0xf4, 0x2a, 0x6f, 0x42, 0x45, 0xb5, 0x6b, 0xaa, 0x10, 0x49, 0xa9, 0xea,
0x99, 0xaa, 0x42, 0xaf, 0xdf, 0x18, 0x34, 0x57, 0x9b, 0xd9, 0x0a, 0x72, 0x0b, 0xc8, 0xa9, 0x17,
0xa6, 0xc9, 0x8b, 0x48, 0x9e, 0x53, 0x63, 0x3f, 0x85, 0x15, 0xd1, 0xa5, 0xee, 0xdc, 0x98, 0x9b,
0x68, 0x5d, 0xc4, 0xc8, 0x85, 0x2c, 0x23, 0xdb, 0xff, 0x6d, 0xc1, 0xa2, 0xd8, 0xe9, 0xcc, 0xab,
0x07, 0xbe, 0xcf, 0x06, 0x46, 0xda, 0x46, 0xd2, 0x3a, 0x72, 0xbd, 0x50, 0x5d, 0x19, 0x05, 0x55,
0xcc, 0x53, 0x50, 0x04, 0x4a, 0x13, 0x37, 0x1e, 0xe2, 0x59, 0xb6, 0xea, 0xe0, 0x6f, 0xd2, 0xe2,
0x91, 0x17, 0xae, 0x08, 0x31, 0xea, 0x92, 0xf7, 0xbe, 0x83, 0xdb, 0xdb, 0xec, 0xfb, 0x8e, 0x2b,
0x50, 0xc5, 0x01, 0x74, 0x93, 0xc0, 0x4a, 0x02, 0x30, 0xce, 0xe5, 0x05, 0x94, 0x30, 0x91, 0x5a,
0x9a, 0x20, 0xf6, 0x1a, 0xdf, 0x79, 0xb1, 0x04, 0xea, 0xbe, 0x4b, 0xa4, 0x18, 0x26, 0x70, 0xc2,
0x11, 0x62, 0x00, 0x69, 0x8e, 0x10, 0xa4, 0x8e, 0xaa, 0xb7, 0x3b, 0xd0, 0xde, 0xa3, 0x23, 0x1a,
0xd3, 0x9d, 0xd1, 0x28, 0xdd, 0xfe, 0x6b, 0x70, 0x39, 0xa7, 0x4e, 0xf8, 0xb3, 0x5f, 0x84, 0xb5,
0x1d, 0x9e, 0x8e, 0xf5, 0x71, 0xe5, 0x2c, 0xd8, 0x6d, 0x58, 0x4f, 0x37, 0x29, 0x3a, 0xbb, 0x07,
0xcb, 0x7b, 0xf4, 0x64, 0x3a, 0x38, 0xa4, 0x67, 0x49, 0x47, 0x04, 0x4a, 0xd1, 0x30, 0x38, 0x17,
0x82, 0x89, 0xbf, 0xc9, 0xeb, 0x00, 0x23, 0x46, 0xd3, 0x8d, 0x26, 0xb4, 0x27, 0x53, 0xc8, 0x11,
0x39, 0x9e, 0xd0, 0x9e, 0xfd, 0x2e, 0x10, 0xbd, 0x1d, 0xb1, 0x5e, 0xcc, 0x1e, 0x4d, 0x4f, 0xba,
0xd1, 0x2c, 0x8a, 0xe9, 0x58, 0xe6, 0xc6, 0xeb, 0x90, 0x7d, 0x03, 0xea, 0x47, 0xee, 0xcc, 0xa1,
0x5f, 0x17, 0x8f, 0x5d, 0x36, 0x60, 0x71, 0xe2, 0xce, 0x98, 0x9a, 0x52, 0x11, 0x1f, 0xac, 0xb6,
0xff, 0xb3, 0x00, 0x0b, 0x9c, 0x92, 0xb5, 0xda, 0xa7, 0x51, 0xec, 0xf9, 0xfc, 0xf6, 0x57, 0xb4,
0xaa, 0x41, 0x19, 0x56, 0x2e, 0xe4, 0xb0, 0xb2, 0x38, 0x35, 0xc9, 0x74, 0x5c, 0xc1, 0xaf, 0x06,
0xc6, 0x98, 0x2b, 0xc9, 0xeb, 0xe1, 0x21, 0x87, 0x04, 0x48, 0x05, 0x07, 0x13, 0xab, 0xc7, 0xc7,
0x27, 0xa5, 0x54, 0x70, 0xae, 0x0e, 0xe5, 0xda, 0xd6, 0x45, 0xce, 0xe0, 0x19, 0xdb, 0x9a, 0xb1,
0xa1, 0x95, 0x57, 0xb0, 0xa1, 0xfc, 0x28, 0xf5, 0x32, 0x1b, 0x0a, 0xaf, 0x60, 0x43, 0x6d, 0x02,
0xad, 0x7b, 0x94, 0x3a, 0x94, 0x79, 0x67, 0x92, 0x77, 0xbf, 0x6d, 0x41, 0x4b, 0x70, 0x91, 0xaa,
0x23, 0x6f, 0x1a, 0x5e, 0x68, 0x6e, 0xd2, 0xec, 0x75, 0x58, 0x42, 0xdf, 0x50, 0x45, 0x41, 0x45,
0xc8, 0xd6, 0x00, 0xd9, 0x3c, 0xe4, 0x55, 0xd5, 0xd8, 0x1b, 0x89, 0x4d, 0xd1, 0x21, 0x19, 0x48,
0x0d, 0x5d, 0x91, 0x44, 0x63, 0x39, 0xaa, 0x6c, 0xff, 0xb9, 0x05, 0xcb, 0xda, 0x80, 0x05, 0x17,
0xde, 0x01, 0x29, 0x0d, 0x3c, 0x24, 0xca, 0x25, 0x77, 0xc3, 0x14, 0x9b, 0xe4, 0x33, 0x83, 0x18,
0x37, 0xd3, 0x9d, 0xe1, 0x00, 0xa3, 0xe9, 0x58, 0x28, 0x51, 0x1d, 0x62, 0x8c, 0x74, 0x4e, 0xe9,
0x33, 0x45, 0xc2, 0xd5, 0xb8, 0x81, 0x61, 0x82, 0x06, 0xf3, 0x69, 0x15, 0x11, 0xb7, 0x67, 0x26,
0x68, 0xff, 0x83, 0x05, 0x2b, 0xfc, 0x70, 0x22, 0x8e, 0x7e, 0xea, 0x45, 0xc3, 0x02, 0x3f, 0x8d,
0x71, 0x89, 0x3c, 0xb8, 0xe4, 0x88, 0x32, 0xf9, 0xcc, 0x2b, 0x1e, 0xa8, 0x54, 0x62, 0xce, 0x9c,
0xbd, 0x28, 0xe6, 0xed, 0xc5, 0x4b, 0x56, 0x3a, 0x2f, 0x04, 0x58, 0xce, 0x0d, 0x01, 0xde, 0x5d,
0x84, 0x72, 0xd4, 0x0b, 0x26, 0xd4, 0x5e, 0x87, 0x55, 0x73, 0x72, 0x42, 0x05, 0x7d, 0xc7, 0x82,
0xf6, 0x3d, 0x1e, 0x2a, 0xf7, 0xfc, 0xc1, 0x81, 0x17, 0xc5, 0x41, 0xa8, 0x5e, 0x77, 0x5d, 0x05,
0x88, 0x62, 0x37, 0x8c, 0x79, 0xba, 0xa5, 0x08, 0xd0, 0x25, 0x08, 0x1b, 0x23, 0xf5, 0xfb, 0xbc,
0x96, 0xef, 0x8d, 0x2a, 0x67, 0x7c, 0x08, 0x71, 0x7c, 0x32, 0x2c, 0xf1, 0x5b, 0x3c, 0xd3, 0x8d,
0xf9, 0x0a, 0xf4, 0x0c, 0xf5, 0x3a, 0x3f, 0x97, 0xa4, 0x50, 0xfb, 0xef, 0x2c, 0x68, 0x26, 0x83,
0xdc, 0x67, 0xa0, 0xa9, 0x1d, 0x84, 0xf9, 0x4d, 0xb4, 0x83, 0x0c, 0x1d, 0x7a, 0xcc, 0x1e, 0x8b,
0xb1, 0x69, 0x08, 0x4a, 0xac, 0x28, 0x05, 0x53, 0xe9, 0xe0, 0xe8, 0x10, 0xcf, 0x1a, 0x61, 0x9e,
0x80, 0xf0, 0x6a, 0x44, 0x09, 0xb3, 0x65, 0xc7, 0x31, 0x7e, 0xb5, 0xc0, 0x0f, 0x66, 0xa2, 0x28,
0x4d, 0xe9, 0x22, 0xa2, 0x68, 0x4a, 0xf5, 0x6b, 0x87, 0x0a, 0x5f, 0x1f, 0x59, 0xb6, 0xbf, 0x65,
0xc1, 0xe5, 0x9c, 0x85, 0x17, 0x52, 0xb3, 0x07, 0xcb, 0xa7, 0xaa, 0x52, 0x2e, 0x0e, 0x17, 0x9d,
0x75, 0x79, 0xef, 0x63, 0x2e, 0x88, 0x93, 0xfd, 0x40, 0xf9, 0x45, 0x7c, 0xb9, 0x8d, 0xc4, 0xae,
0x6c, 0xc5, 0xe6, 0xe7, 0xa0, 0xa6, 0x3d, 0xb9, 0x22, 0x1b, 0xb0, 0xf2, 0xf4, 0xc1, 0xe3, 0x87,
0xfb, 0xc7, 0xc7, 0xdd, 0xa3, 0x27, 0x77, 0xbf, 0xb0, 0xff, 0xe5, 0xee, 0xc1, 0xce, 0xf1, 0x41,
0xeb, 0x12, 0x59, 0x07, 0xf2, 0x70, 0xff, 0xf8, 0xf1, 0xfe, 0x9e, 0x81, 0x5b, 0xdb, 0xbf, 0x53,
0x84, 0x06, 0xbf, 0x4f, 0xe4, 0xef, 0xda, 0x69, 0x48, 0x3e, 0x80, 0x45, 0xf1, 0xbf, 0x04, 0x64,
0x4d, 0x0c, 0xdb, 0xfc, 0x27, 0x84, 0xce, 0x7a, 0x1a, 0x16, 0x7c, 0xb9, 0xf2, 0xab, 0x3f, 0xf8,
0xe7, 0xdf, 0x2d, 0x2c, 0x91, 0xda, 0xd6, 0xd9, 0x3b, 0x5b, 0x03, 0xea, 0x47, 0xac, 0x8d, 0x5f,
0x00, 0x48, 0x5e, 0xec, 0x93, 0xb6, 0xf2, 0x07, 0x53, 0x7f, 0x45, 0xd0, 0xb9, 0x9c, 0x53, 0x23,
0xda, 0xbd, 0x8c, 0xed, 0xae, 0xd8, 0x0d, 0xd6, 0xae, 0xe7, 0x7b, 0x31, 0x7f, 0xbe, 0xff, 0xbe,
0xb5, 0x49, 0xfa, 0x50, 0xd7, 0x1f, 0xe4, 0x13, 0x19, 0x16, 0xca, 0xf9, 0x3b, 0x80, 0xce, 0x6b,
0xb9, 0x75, 0x32, 0x26, 0x86, 0x7d, 0xac, 0xd9, 0x2d, 0xd6, 0xc7, 0x14, 0x29, 0x92, 0x5e, 0x46,
0xd0, 0x30, 0xdf, 0xdd, 0x93, 0x2b, 0x9a, 0xca, 0xc8, 0xbc, 0xfa, 0xef, 0xbc, 0x3e, 0xa7, 0x56,
0xf4, 0xf5, 0x3a, 0xf6, 0xb5, 0x61, 0x13, 0xd6, 0x57, 0x0f, 0x69, 0xe4, 0xab, 0xff, 0xf7, 0xad,
0xcd, 0xed, 0xff, 0x78, 0x03, 0xaa, 0x2a, 0x90, 0x4b, 0xbe, 0x06, 0x4b, 0xc6, 0x85, 0x2f, 0x91,
0xd3, 0xc8, 0xbb, 0x1f, 0xee, 0x5c, 0xc9, 0xaf, 0x14, 0x1d, 0x5f, 0xc5, 0x8e, 0xdb, 0x64, 0x9d,
0x75, 0x2c, 0x6e, 0x4c, 0xb7, 0xf0, 0x9a, 0x9b, 0xe7, 0xf9, 0x3e, 0xe3, 0xf3, 0x4c, 0x2e, 0x69,
0x8d, 0x79, 0x66, 0x2e, 0x75, 0x8d, 0x79, 0x66, 0x6f, 0x76, 0xed, 0x2b, 0xd8, 0xdd, 0x3a, 0x59,
0xd5, 0xbb, 0x53, 0x01, 0x56, 0x8a, 0x99, 0xd9, 0xfa, 0x33, 0x75, 0xf2, 0xba, 0x62, 0xac, 0xbc,
0xe7, 0xeb, 0x8a, 0x45, 0xb2, 0x6f, 0xd8, 0xed, 0x36, 0x76, 0x45, 0x08, 0x6e, 0x9f, 0xfe, 0x4a,
0x9d, 0x7c, 0x05, 0xaa, 0xea, 0xbd, 0x25, 0xd9, 0xd0, 0x1e, 0xb9, 0xea, 0x8f, 0x40, 0x3b, 0xed,
0x6c, 0x45, 0x1e, 0x63, 0xe8, 0x2d, 0x33, 0xc6, 0x78, 0x0a, 0x35, 0xed, 0x4d, 0x25, 0xb9, 0xac,
0xc2, 0xf0, 0xe9, 0x77, 0x9b, 0x9d, 0x4e, 0x5e, 0x95, 0xe8, 0x62, 0x19, 0xbb, 0xa8, 0x91, 0x2a,
0xf2, 0x5e, 0xfc, 0x3c, 0x88, 0xc8, 0x21, 0xac, 0x89, 0x83, 0xcb, 0x09, 0xfd, 0x61, 0x96, 0x28,
0xe7, 0xd5, 0xfe, 0x6d, 0x8b, 0xdc, 0x81, 0x8a, 0x7c, 0x1f, 0x4b, 0xd6, 0xf3, 0xdf, 0xf9, 0x76,
0x36, 0x32, 0xb8, 0x50, 0x6b, 0x5f, 0x06, 0x48, 0x1e, 0x70, 0x2a, 0x01, 0xce, 0x3c, 0x08, 0x55,
0xbb, 0x93, 0x7d, 0xed, 0x69, 0xaf, 0xe3, 0x04, 0x5b, 0x04, 0x05, 0xd8, 0xa7, 0xe7, 0xf2, 0xad,
0xc2, 0x57, 0xa1, 0xa6, 0xbd, 0xe1, 0x54, 0xcb, 0x97, 0x7d, 0xff, 0xa9, 0x96, 0x2f, 0xe7, 0xc9,
0xa7, 0xdd, 0xc1, 0xd6, 0x57, 0xed, 0x26, 0x6b, 0x3d, 0xf2, 0x06, 0xfe, 0x98, 0x13, 0xb0, 0x0d,
0x1a, 0xc2, 0x92, 0xf1, 0x50, 0x53, 0x49, 0x4f, 0xde, 0x33, 0x50, 0x25, 0x3d, 0xb9, 0x6f, 0x3b,
0x25, 0x3b, 0xdb, 0xcb, 0xac, 0x9f, 0x33, 0x24, 0xd1, 0x7a, 0xfa, 0x10, 0x6a, 0xda, 0xa3, 0x4b,
0xa2, 0xe5, 0x56, 0xa6, 0x9e, 0x5b, 0xaa, 0xb9, 0xe4, 0xbd, 0xd1, 0x5c, 0xc5, 0x3e, 0x1a, 0x36,
0xb2, 0x02, 0xa6, 0xfa, 0xb3, 0xb6, 0xbf, 0x06, 0x0d, 0xf3, 0x19, 0xa6, 0x92, 0xcb, 0xdc, 0x07,
0x9d, 0x4a, 0x2e, 0xe7, 0xbc, 0xdd, 0x14, 0x2c, 0xbd, 0xb9, 0xa2, 0x3a, 0xd9, 0xfa, 0x48, 0x5c,
0xab, 0xbe, 0x20, 0x5f, 0x64, 0xca, 0x47, 0xbc, 0xbd, 0x20, 0x1b, 0x1a, 0xd7, 0xea, 0x2f, 0x34,
0x94, 0xbc, 0x64, 0x9e, 0x69, 0x98, 0xcc, 0xcc, 0x1f, 0x2b, 0xa0, 0x45, 0xc1, 0x37, 0x18, 0x9a,
0x45, 0xd1, 0x9f, 0x69, 0x68, 0x16, 0xc5, 0x78, 0xaa, 0x91, 0xb6, 0x28, 0xb1, 0xc7, 0xda, 0xf0,
0xa1, 0x99, 0x4a, 0x2e, 0x52, 0x52, 0x91, 0x9f, 0x8d, 0xd9, 0xb9, 0xfa, 0xf2, 0x9c, 0x24, 0x53,
0x51, 0x49, 0x05, 0xb5, 0x25, 0x93, 0x67, 0x7f, 0x11, 0xea, 0xfa, 0xf3, 0x39, 0xa2, 0x8b, 0x72,
0xba, 0xa7, 0xd7, 0x72, 0xeb, 0xcc, 0xcd, 0x25, 0x75, 0xbd, 0x1b, 0xb6, 0xb9, 0xe6, 0xfb, 0xa1,
0x44, 0xe9, 0xe6, 0x3d, 0x9b, 0x4a, 0x94, 0x6e, 0xee, 0xa3, 0x23, 0xb9, 0xb9, 0x64, 0xc5, 0x98,
0x0b, 0x8f, 0x80, 0x93, 0x0f, 0xa1, 0xa9, 0x65, 0xee, 0x1d, 0xcf, 0xfc, 0x9e, 0x62, 0xd4, 0x6c,
0x8e, 0x78, 0x27, 0xcf, 0x2f, 0xb6, 0x37, 0xb0, 0xfd, 0x65, 0xdb, 0x98, 0x04, 0x63, 0xd2, 0x5d,
0xa8, 0xe9, 0x59, 0x81, 0x2f, 0x69, 0x77, 0x43, 0xab, 0xd2, 0x53, 0x9c, 0x6f, 0x5b, 0xe4, 0xf7,
0x2d, 0xa8, 0x1b, 0x39, 0x76, 0xc6, 0x3d, 0x4f, 0xaa, 0x9d, 0xb6, 0x5e, 0xa7, 0x37, 0x64, 0x3b,
0x38, 0xc8, 0xc3, 0xcd, 0x9f, 0x33, 0x16, 0xe1, 0x23, 0xe3, 0x7c, 0x75, 0x2b, 0xfd, 0x07, 0x0d,
0x2f, 0xd2, 0x04, 0x7a, 0x1e, 0xfd, 0x8b, 0xdb, 0x16, 0xf9, 0x9e, 0x05, 0x0d, 0x33, 0x2a, 0xa0,
0xb6, 0x2a, 0x37, 0xfe, 0xa0, 0xb6, 0x6a, 0x4e, 0x28, 0xe1, 0x43, 0x1c, 0xe5, 0xe3, 0x4d, 0xc7,
0x18, 0xa5, 0x78, 0x59, 0xf6, 0xe3, 0x8d, 0x96, 0xbc, 0xcf, 0xff, 0x52, 0x45, 0x86, 0xaa, 0x88,
0xa6, 0xdd, 0xd3, 0xdb, 0xab, 0xff, 0x9f, 0xc8, 0x4d, 0xeb, 0xb6, 0x45, 0xbe, 0xca, 0xff, 0x33,
0x42, 0x7c, 0x8b, 0x5c, 0xf2, 0xaa, 0xdf, 0xdb, 0xd7, 0x71, 0x4e, 0x57, 0xed, 0xcb, 0xc6, 0x9c,
0xd2, 0x76, 0x73, 0x87, 0x8f, 0x4e, 0xfc, 0x15, 0x48, 0xa2, 0xf8, 0x33, 0x7f, 0x0f, 0x32, 0x7f,
0x90, 0x63, 0x3e, 0x48, 0x41, 0x6e, 0xb0, 0xf2, 0x2b, 0x36, 0x63, 0x6f, 0xe2, 0x58, 0xaf, 0xdb,
0x6f, 0xcc, 0x1d, 0xeb, 0x16, 0x9e, 0xed, 0xd9, 0x88, 0x8f, 0x00, 0x92, 0xb0, 0x32, 0x49, 0x85,
0x35, 0x95, 0xed, 0xcb, 0x46, 0x9e, 0x4d, 0x79, 0x91, 0xd1, 0x4f, 0xd6, 0xe2, 0x57, 0xb8, 0x5a,
0x79, 0x20, 0x03, 0xa2, 0xba, 0xf3, 0x60, 0xc6, 0x7f, 0x0d, 0xe7, 0x21, 0xdd, 0xbe, 0xa1, 0x54,
0x54, 0x74, 0xf5, 0x09, 0x2c, 0x1d, 0x06, 0xc1, 0xb3, 0xe9, 0x44, 0x5d, 0xd2, 0x98, 0x61, 0xb7,
0x03, 0x37, 0x1a, 0x76, 0x52, 0xb3, 0xb0, 0xaf, 0x61, 0x53, 0x1d, 0xd2, 0xd6, 0x9a, 0xda, 0xfa,
0x28, 0x09, 0x5b, 0xbf, 0x20, 0x2e, 0x2c, 0x2b, 0xb7, 0x44, 0x0d, 0xbc, 0x63, 0x36, 0xa3, 0x07,
0x5c, 0x33, 0x5d, 0x18, 0x1e, 0xa8, 0x1c, 0xed, 0x56, 0x24, 0xdb, 0xbc, 0x6d, 0x91, 0x23, 0xa8,
0xef, 0xd1, 0x5e, 0xd0, 0xa7, 0x22, 0x76, 0xb5, 0x92, 0x0c, 0x5c, 0x05, 0xbd, 0x3a, 0x4b, 0x06,
0x68, 0xea, 0xef, 0x89, 0x3b, 0x0b, 0xe9, 0xd7, 0xb7, 0x3e, 0x12, 0x51, 0xb1, 0x17, 0x52, 0x7f,
0xcb, 0xb0, 0xa1, 0xa1, 0xbf, 0x53, 0x71, 0x46, 0x43, 0x7f, 0x67, 0xe2, 0x8c, 0xc6, 0x52, 0xcb,
0xb0, 0x25, 0x19, 0xc1, 0x72, 0x26, 0x34, 0x49, 0xde, 0x90, 0x16, 0x78, 0x4e, 0x40, 0xb3, 0x73,
0x6d, 0x3e, 0x81, 0xd9, 0xdb, 0xa6, 0xd9, 0xdb, 0x31, 0x2c, 0xed, 0x51, 0xbe, 0x58, 0x3c, 0x13,
0x24, 0xf5, 0xa4, 0x54, 0xcf, 0x33, 0x49, 0x2b, 0x70, 0xac, 0x33, 0x0d, 0x34, 0xa6, 0x61, 0x90,
0xaf, 0x40, 0xed, 0x3e, 0x8d, 0x65, 0xea, 0x87, 0x72, 0x11, 0x53, 0xb9, 0x20, 0x9d, 0x9c, 0xcc,
0x11, 0x93, 0x67, 0xb0, 0xb5, 0x2d, 0xda, 0x1f, 0x50, 0xae, 0x9c, 0xba, 0x5e, 0xff, 0x05, 0xf9,
0x79, 0x6c, 0x5c, 0xe5, 0x9e, 0xad, 0x6b, 0x19, 0x03, 0x7a, 0xe3, 0xcd, 0x14, 0x9e, 0xd7, 0xb2,
0x1f, 0xf4, 0xa9, 0xe6, 0xaa, 0xf8, 0x50, 0xd3, 0x52, 0x26, 0x95, 0x00, 0x65, 0xd3, 0x3f, 0x95,
0x00, 0xe5, 0x64, 0x58, 0xda, 0x37, 0xb1, 0x1f, 0x9b, 0x5c, 0x4b, 0xfa, 0xe1, 0x59, 0x95, 0x49,
0x4f, 0x5b, 0x1f, 0xb9, 0xe3, 0xf8, 0x05, 0x79, 0x8a, 0xcf, 0x4b, 0xf5, 0xf4, 0x96, 0xc4, 0xe7,
0x4d, 0x67, 0xc2, 0xa8, 0xc5, 0xd2, 0xaa, 0x4c, 0x3f, 0x98, 0x77, 0x85, 0x1e, 0xcd, 0x67, 0x00,
0x8e, 0xe3, 0x60, 0xb2, 0xe7, 0xd2, 0x71, 0xe0, 0x27, 0xba, 0x36, 0x49, 0xe1, 0x48, 0xf4, 0x97,
0x96, 0xc7, 0x41, 0x9e, 0x6a, 0x87, 0x04, 0x23, 0x3b, 0x48, 0x32, 0xd7, 0xdc, 0x2c, 0x0f, 0xb5,
0x20, 0x39, 0x99, 0x1e, 0xb7, 0x2d, 0xb2, 0x03, 0x90, 0xc4, 0xa6, 0x95, 0xcb, 0x9f, 0x09, 0x7b,
0x2b, 0xb5, 0x97, 0x13, 0xc8, 0x3e, 0x82, 0x6a, 0x12, 0xec, 0xdc, 0x48, 0xd2, 0x5e, 0x8d, 0xd0,
0xa8, 0xb2, 0xe0, 0x99, 0x10, 0xa4, 0xdd, 0xc2, 0xa5, 0x02, 0x52, 0x61, 0x4b, 0x85, 0x71, 0x45,
0x0f, 0x56, 0xf8, 0x00, 0x95, 0x3b, 0x82, 0x49, 0x09, 0x72, 0x26, 0x39, 0x61, 0x40, 0x25, 0xcd,
0xb9, 0x51, 0x34, 0x23, 0xaa, 0xc0, 0xb8, 0x95, 0x27, 0x44, 0x30, 0xd5, 0x3c, 0x86, 0xe5, 0x4c,
0x98, 0x47, 0x89, 0xf4, 0xbc, 0xc8, 0x9b, 0x12, 0xe9, 0xb9, 0x11, 0x22, 0x7b, 0x0d, 0xbb, 0x6c,
0xda, 0x80, 0x27, 0x95, 0x73, 0x2f, 0xee, 0x0d, 0xdf, 0xb7, 0x36, 0xef, 0xde, 0xf8, 0xf0, 0x27,
0x06, 0x5e, 0x3c, 0x9c, 0x9e, 0xdc, 0xea, 0x05, 0xe3, 0xad, 0x91, 0x3c, 0xfa, 0x8b, 0xd4, 0xa2,
0xad, 0x91, 0xdf, 0xdf, 0xc2, 0x96, 0x4f, 0x16, 0xf0, 0xbf, 0x29, 0x3f, 0xf5, 0xbf, 0x01, 0x00,
0x00, 0xff, 0xff, 0x97, 0x66, 0xfe, 0xa7, 0xcd, 0x52, 0x00, 0x00,
0xad, 0x98, 0xb5, 0x33, 0x2c, 0x1e, 0xef, 0x24, 0x59, 0x6d, 0xd6, 0x10, 0x18, 0xcf, 0x8c, 0x3d,
0x26, 0xb3, 0xf6, 0xa4, 0xc6, 0x8e, 0xc9, 0x06, 0xd4, 0xa9, 0xe9, 0x3e, 0xd3, 0x5d, 0x71, 0x77,
0x55, 0xa7, 0xaa, 0x7a, 0xc6, 0x9d, 0xc5, 0x12, 0x37, 0x81, 0x84, 0x88, 0x22, 0xe0, 0x01, 0x82,
0x84, 0x90, 0x02, 0x0f, 0xc9, 0x23, 0x2f, 0x11, 0x12, 0xf0, 0xc6, 0x0b, 0x48, 0x08, 0xa1, 0x3c,
0x22, 0xf1, 0x02, 0x2f, 0x80, 0xe0, 0x01, 0x89, 0x47, 0x10, 0x3a, 0xff, 0xb9, 0xd4, 0x39, 0x55,
0xd5, 0x1e, 0x27, 0x59, 0x78, 0xeb, 0xf3, 0x9d, 0xbf, 0xce, 0xf5, 0xbf, 0x9d, 0xff, 0xfc, 0xa7,
0xa1, 0x1a, 0x4e, 0x7a, 0xb7, 0x26, 0x61, 0x10, 0x07, 0xa4, 0x3c, 0xf2, 0xc3, 0x49, 0xaf, 0x73,
0x65, 0x10, 0x04, 0x83, 0x11, 0xdd, 0x72, 0x27, 0xde, 0x96, 0xeb, 0xfb, 0x41, 0xec, 0xc6, 0x5e,
0xe0, 0x47, 0x9c, 0xc8, 0xfe, 0x0a, 0x34, 0xee, 0x53, 0xff, 0x98, 0xd2, 0xbe, 0x43, 0xbf, 0x36,
0xa5, 0x51, 0x4c, 0x7e, 0x1c, 0x96, 0x5d, 0xfa, 0x75, 0x4a, 0xfb, 0xdd, 0x89, 0x1b, 0x45, 0x93,
0x61, 0xe8, 0x46, 0xb4, 0x6d, 0x5d, 0xb3, 0x6e, 0xd6, 0x9d, 0x16, 0xaf, 0x38, 0x52, 0x38, 0x79,
0x13, 0xea, 0x11, 0x23, 0xa5, 0x7e, 0x1c, 0x06, 0x93, 0x59, 0xbb, 0x80, 0x74, 0x35, 0x86, 0xed,
0x73, 0xc8, 0x1e, 0x41, 0x53, 0xf5, 0x10, 0x4d, 0x02, 0x3f, 0xa2, 0xe4, 0x36, 0xac, 0xf6, 0xbc,
0xc9, 0x90, 0x86, 0x5d, 0xfc, 0x78, 0xec, 0xd3, 0x71, 0xe0, 0x7b, 0xbd, 0xb6, 0x75, 0xad, 0x78,
0xb3, 0xea, 0x10, 0x5e, 0xc7, 0xbe, 0xf8, 0x40, 0xd4, 0x90, 0x1b, 0xd0, 0xa4, 0x3e, 0xc7, 0x69,
0x1f, 0xbf, 0x12, 0x5d, 0x35, 0x12, 0x98, 0x7d, 0x60, 0xff, 0x95, 0x05, 0xcb, 0x0f, 0x7c, 0x2f,
0x7e, 0xea, 0x8e, 0x46, 0x34, 0x96, 0x73, 0xba, 0x01, 0xcd, 0x73, 0x04, 0x70, 0x4e, 0xe7, 0x41,
0xd8, 0x17, 0x33, 0x6a, 0x70, 0xf8, 0x48, 0xa0, 0x73, 0x47, 0x56, 0x98, 0x3b, 0xb2, 0xdc, 0xe5,
0x2a, 0xce, 0x59, 0xae, 0x1b, 0xd0, 0x0c, 0x69, 0x2f, 0x38, 0xa3, 0xe1, 0xac, 0x7b, 0xee, 0xf9,
0xfd, 0xe0, 0xbc, 0x5d, 0xba, 0x66, 0xdd, 0x2c, 0x3b, 0x0d, 0x09, 0x3f, 0x45, 0xd4, 0x5e, 0x05,
0xa2, 0xcf, 0x82, 0xaf, 0x9b, 0x3d, 0x80, 0x95, 0x27, 0xfe, 0x28, 0xe8, 0x3d, 0xfb, 0x21, 0x67,
0x97, 0xd3, 0x7d, 0x21, 0xb7, 0xfb, 0x75, 0x58, 0x35, 0x3b, 0x12, 0x03, 0xa0, 0xb0, 0xb6, 0x3b,
0x74, 0xfd, 0x01, 0x95, 0x4d, 0xca, 0x21, 0x7c, 0x12, 0x5a, 0xbd, 0x69, 0x18, 0x52, 0x3f, 0x33,
0x86, 0xa6, 0xc0, 0xd5, 0x20, 0xde, 0x84, 0xba, 0x4f, 0xcf, 0x13, 0x32, 0xc1, 0x32, 0x3e, 0x3d,
0x97, 0x24, 0x76, 0x1b, 0xd6, 0xd3, 0xdd, 0x88, 0x01, 0xfc, 0xbb, 0x05, 0xa5, 0x27, 0xf1, 0xf3,
0x80, 0xdc, 0x82, 0x52, 0x3c, 0x9b, 0x70, 0xc6, 0x6c, 0x6c, 0x93, 0x5b, 0xc8, 0xeb, 0xb7, 0x76,
0xfa, 0xfd, 0x90, 0x46, 0xd1, 0xe3, 0xd9, 0x84, 0x3a, 0x75, 0x97, 0x17, 0xba, 0x8c, 0x8e, 0xb4,
0x61, 0x51, 0x94, 0xb1, 0xc3, 0xaa, 0x23, 0x8b, 0xe4, 0x2a, 0x80, 0x3b, 0x0e, 0xa6, 0x7e, 0xdc,
0x8d, 0xdc, 0x18, 0x77, 0xae, 0xe8, 0x68, 0x08, 0xb9, 0x0e, 0x4b, 0x51, 0x2f, 0xf4, 0x26, 0x71,
0x77, 0x32, 0x3d, 0x79, 0x46, 0x67, 0xb8, 0x63, 0x55, 0xc7, 0x04, 0xc9, 0x16, 0x54, 0x82, 0x69,
0x3c, 0x09, 0x3c, 0x3f, 0x6e, 0x97, 0xaf, 0x59, 0x37, 0x6b, 0xdb, 0x2b, 0x62, 0x4c, 0x6c, 0x26,
0x3e, 0x1d, 0x1d, 0xb1, 0x2a, 0x47, 0x11, 0xb1, 0x66, 0x7b, 0x81, 0x7f, 0xea, 0x85, 0x63, 0x2e,
0x8f, 0xed, 0x05, 0xec, 0xd9, 0x04, 0xed, 0x6f, 0x15, 0xa0, 0xf6, 0x38, 0x74, 0xfd, 0xc8, 0xed,
0x31, 0x80, 0x4d, 0x23, 0x7e, 0xde, 0x1d, 0xba, 0xd1, 0x10, 0x67, 0x5e, 0x75, 0x64, 0x91, 0xac,
0xc3, 0x02, 0x1f, 0x34, 0xce, 0xaf, 0xe8, 0x88, 0x12, 0x79, 0x1b, 0x96, 0xfd, 0xe9, 0xb8, 0x6b,
0xf6, 0x55, 0xc4, 0x5d, 0xcf, 0x56, 0xb0, 0xc5, 0x38, 0x61, 0xfb, 0xce, 0xbb, 0xe0, 0x33, 0xd5,
0x10, 0x62, 0x43, 0x5d, 0x94, 0xa8, 0x37, 0x18, 0xf2, 0xa9, 0x96, 0x1d, 0x03, 0x63, 0x6d, 0xc4,
0xde, 0x98, 0x76, 0xa3, 0xd8, 0x1d, 0x4f, 0xc4, 0xb4, 0x34, 0x04, 0xeb, 0x83, 0xd8, 0x1d, 0x75,
0x4f, 0x29, 0x8d, 0xda, 0x8b, 0xa2, 0x5e, 0x21, 0xe4, 0x2d, 0x68, 0xf4, 0x69, 0x14, 0x77, 0xc5,
0x06, 0xd1, 0xa8, 0x5d, 0x41, 0xe9, 0x4b, 0xa1, 0x8c, 0x4b, 0xee, 0xd3, 0x58, 0x5b, 0x9d, 0x48,
0x70, 0xa3, 0x7d, 0x08, 0x44, 0x83, 0xf7, 0x68, 0xec, 0x7a, 0xa3, 0x88, 0xbc, 0x0b, 0xf5, 0x58,
0x23, 0x46, 0x6d, 0x53, 0x53, 0xac, 0xa3, 0x7d, 0xe0, 0x18, 0x74, 0xf6, 0x7d, 0xa8, 0xdc, 0xa3,
0xf4, 0xd0, 0x1b, 0x7b, 0x31, 0x59, 0x87, 0xf2, 0xa9, 0xf7, 0x9c, 0x72, 0xe6, 0x2e, 0x1e, 0x5c,
0x72, 0x78, 0x91, 0x74, 0x60, 0x71, 0x42, 0xc3, 0x1e, 0x95, 0xcb, 0x7f, 0x70, 0xc9, 0x91, 0xc0,
0xdd, 0x45, 0x28, 0x8f, 0xd8, 0xc7, 0xf6, 0x77, 0x0a, 0x50, 0x3b, 0xa6, 0xbe, 0x12, 0x1a, 0x02,
0x25, 0x36, 0x25, 0x21, 0x28, 0xf8, 0x9b, 0xbc, 0x01, 0x35, 0x9c, 0x66, 0x14, 0x87, 0x9e, 0x3f,
0x10, 0xbc, 0x0a, 0x0c, 0x3a, 0x46, 0x84, 0xb4, 0xa0, 0xe8, 0x8e, 0x25, 0x9f, 0xb2, 0x9f, 0x4c,
0xa0, 0x26, 0xee, 0x6c, 0xcc, 0x64, 0x4f, 0xed, 0x5a, 0xdd, 0xa9, 0x09, 0xec, 0x80, 0x6d, 0xdb,
0x2d, 0x58, 0xd1, 0x49, 0x64, 0xeb, 0x65, 0x6c, 0x7d, 0x59, 0xa3, 0x14, 0x9d, 0xdc, 0x80, 0xa6,
0xa4, 0x0f, 0xf9, 0x60, 0x71, 0x1f, 0xab, 0x4e, 0x43, 0xc0, 0x72, 0x0a, 0x37, 0xa1, 0x75, 0xea,
0xf9, 0xee, 0xa8, 0xdb, 0x1b, 0xc5, 0x67, 0xdd, 0x3e, 0x1d, 0xc5, 0x2e, 0xee, 0x68, 0xd9, 0x69,
0x20, 0xbe, 0x3b, 0x8a, 0xcf, 0xf6, 0x18, 0x4a, 0xde, 0x86, 0xea, 0x29, 0xa5, 0x5d, 0x5c, 0x89,
0x76, 0x05, 0x25, 0xa4, 0x29, 0x96, 0x5e, 0xae, 0xae, 0x53, 0x39, 0x15, 0xbf, 0xec, 0x3f, 0xb3,
0xa0, 0xce, 0x97, 0x4a, 0x98, 0x8c, 0xeb, 0xb0, 0x24, 0x47, 0x44, 0xc3, 0x30, 0x08, 0x05, 0xfb,
0x9b, 0x20, 0xd9, 0x84, 0x96, 0x04, 0x26, 0x21, 0xf5, 0xc6, 0xee, 0x80, 0x0a, 0xfd, 0x92, 0xc1,
0xc9, 0x76, 0xd2, 0x62, 0x18, 0x4c, 0x63, 0xae, 0xb4, 0x6b, 0xdb, 0x75, 0x31, 0x28, 0x87, 0x61,
0x8e, 0x49, 0xc2, 0xd8, 0x3f, 0x67, 0xa9, 0x0d, 0xcc, 0xfe, 0x86, 0x05, 0x84, 0x0d, 0xfd, 0x71,
0xc0, 0x9b, 0x10, 0x2b, 0x95, 0xde, 0x25, 0xeb, 0x95, 0x77, 0xa9, 0x30, 0x6f, 0x97, 0xae, 0xc3,
0x02, 0x0e, 0x8b, 0xc9, 0x73, 0x31, 0x33, 0x74, 0x51, 0x67, 0x7f, 0xdb, 0x82, 0xba, 0xae, 0x83,
0xc8, 0x6d, 0x20, 0xa7, 0x53, 0xbf, 0xef, 0xf9, 0x83, 0x6e, 0xfc, 0xdc, 0xeb, 0x77, 0x4f, 0x66,
0xac, 0x09, 0x1c, 0xcf, 0xc1, 0x25, 0x27, 0xa7, 0x8e, 0xbc, 0x0d, 0x2d, 0x03, 0x8d, 0xe2, 0x90,
0x8f, 0xea, 0xe0, 0x92, 0x93, 0xa9, 0x61, 0x8b, 0xc4, 0xb4, 0xdc, 0x34, 0xee, 0x7a, 0x7e, 0x9f,
0x3e, 0xc7, 0x75, 0x5d, 0x72, 0x0c, 0xec, 0x6e, 0x03, 0xea, 0xfa, 0x77, 0xf6, 0xe7, 0xa0, 0x75,
0xc8, 0x94, 0x87, 0xef, 0xf9, 0x03, 0xa1, 0xc4, 0x99, 0x46, 0x13, 0x1a, 0x97, 0xef, 0xb5, 0x28,
0x31, 0xb1, 0x19, 0x06, 0x51, 0x2c, 0xd6, 0x05, 0x7f, 0xdb, 0xff, 0x64, 0x41, 0x93, 0x2d, 0xfa,
0x07, 0xae, 0x3f, 0x93, 0x2b, 0x7e, 0x08, 0x75, 0xd6, 0xd4, 0xe3, 0x60, 0x87, 0xeb, 0x45, 0x2e,
0xef, 0x37, 0xc5, 0x22, 0xa5, 0xa8, 0x6f, 0xe9, 0xa4, 0xcc, 0x75, 0x99, 0x39, 0xc6, 0xd7, 0x4c,
0x30, 0x63, 0x37, 0x1c, 0xd0, 0x18, 0x35, 0xa6, 0xd0, 0xa0, 0xc0, 0xa1, 0xdd, 0xc0, 0x3f, 0x25,
0xd7, 0xa0, 0x1e, 0xb9, 0x71, 0x77, 0x42, 0x43, 0x5c, 0x35, 0x14, 0xae, 0xa2, 0x03, 0x91, 0x1b,
0x1f, 0xd1, 0xf0, 0xee, 0x2c, 0xa6, 0x9d, 0x9f, 0x86, 0xe5, 0x4c, 0x2f, 0x4c, 0x9e, 0x93, 0x29,
0xb2, 0x9f, 0x64, 0x15, 0xca, 0x67, 0xee, 0x68, 0x4a, 0x85, 0x22, 0xe7, 0x85, 0xf7, 0x0b, 0xef,
0x59, 0xf6, 0x5b, 0xd0, 0x4a, 0x86, 0x2d, 0x04, 0x83, 0x40, 0x89, 0xad, 0xa0, 0x68, 0x00, 0x7f,
0xdb, 0xbf, 0x6c, 0x71, 0xc2, 0xdd, 0xc0, 0x53, 0x4a, 0x91, 0x11, 0x32, 0xdd, 0x29, 0x09, 0xd9,
0xef, 0xb9, 0x46, 0xe3, 0x47, 0x9f, 0xac, 0x7d, 0x03, 0x96, 0xb5, 0x21, 0xbc, 0x64, 0xb0, 0x0f,
0x81, 0x1c, 0x7a, 0x51, 0xfc, 0xc4, 0x8f, 0x26, 0x9a, 0x62, 0x79, 0x0d, 0xaa, 0x63, 0xcf, 0xc7,
0xee, 0x39, 0x6f, 0x96, 0x9d, 0xca, 0xd8, 0xf3, 0x59, 0xe7, 0x11, 0x56, 0xba, 0xcf, 0x45, 0x65,
0x41, 0x54, 0xba, 0xcf, 0xb1, 0xd2, 0x7e, 0x0f, 0x56, 0x8c, 0xf6, 0x44, 0xd7, 0x6f, 0x42, 0x79,
0x1a, 0x3f, 0x0f, 0xa4, 0xda, 0xaf, 0x09, 0x36, 0x60, 0xce, 0x84, 0xc3, 0x6b, 0xec, 0x3b, 0xb0,
0xfc, 0x90, 0x9e, 0x0b, 0xf6, 0x93, 0x03, 0x79, 0xeb, 0x42, 0x47, 0x03, 0xeb, 0xed, 0x5b, 0x40,
0xf4, 0x8f, 0x45, 0xaf, 0x9a, 0xdb, 0x61, 0x19, 0x6e, 0x87, 0xfd, 0x16, 0x90, 0x63, 0x6f, 0xe0,
0x7f, 0x40, 0xa3, 0xc8, 0x1d, 0x28, 0x2d, 0xd1, 0x82, 0xe2, 0x38, 0x1a, 0x08, 0xe5, 0xc0, 0x7e,
0xda, 0x9f, 0x82, 0x15, 0x83, 0x4e, 0x34, 0x7c, 0x05, 0xaa, 0x91, 0x37, 0xf0, 0xdd, 0x78, 0x1a,
0x52, 0xd1, 0x74, 0x02, 0xd8, 0xf7, 0x60, 0xf5, 0x8b, 0x34, 0xf4, 0x4e, 0x67, 0x17, 0x35, 0x6f,
0xb6, 0x53, 0x48, 0xb7, 0xb3, 0x0f, 0x6b, 0xa9, 0x76, 0x44, 0xf7, 0x9c, 0x47, 0xc5, 0x4e, 0x56,
0x1c, 0x5e, 0xd0, 0x24, 0xb6, 0xa0, 0x4b, 0xac, 0xfd, 0x04, 0xc8, 0x6e, 0xe0, 0xfb, 0xb4, 0x17,
0x1f, 0x51, 0x1a, 0x26, 0x07, 0x8d, 0x84, 0x21, 0x6b, 0xdb, 0x1b, 0x62, 0x65, 0xd3, 0x6a, 0x40,
0x70, 0x2a, 0x81, 0xd2, 0x84, 0x86, 0x63, 0x6c, 0xb8, 0xe2, 0xe0, 0x6f, 0x7b, 0x0d, 0x56, 0x8c,
0x66, 0x85, 0x8f, 0xf8, 0x0e, 0xac, 0xed, 0x79, 0x51, 0x2f, 0xdb, 0x61, 0x1b, 0x16, 0x27, 0xd3,
0x93, 0x6e, 0x22, 0x6e, 0xb2, 0xc8, 0x5c, 0x89, 0xf4, 0x27, 0xa2, 0xb1, 0x5f, 0xb7, 0xa0, 0x74,
0xf0, 0xf8, 0x70, 0x97, 0x74, 0xa0, 0xe2, 0xf9, 0xbd, 0x60, 0xcc, 0x34, 0x32, 0x9f, 0xb4, 0x2a,
0xcf, 0x15, 0xa3, 0x2b, 0x50, 0x45, 0x45, 0xce, 0xbc, 0x23, 0x71, 0x26, 0x48, 0x00, 0xe6, 0x99,
0xd1, 0xe7, 0x13, 0x2f, 0x44, 0xd7, 0x4b, 0x3a, 0x54, 0x25, 0x54, 0x96, 0xd9, 0x0a, 0xfb, 0x7f,
0x4a, 0xb0, 0x28, 0xd4, 0x38, 0xf6, 0xd7, 0x8b, 0xbd, 0x33, 0x2a, 0x46, 0x22, 0x4a, 0xcc, 0x48,
0x86, 0x74, 0x1c, 0xc4, 0xb4, 0x6b, 0x6c, 0x83, 0x09, 0xa2, 0xe7, 0xc9, 0x1b, 0xea, 0x72, 0x7f,
0xb5, 0xc8, 0xa9, 0x0c, 0x90, 0x2d, 0x16, 0x03, 0xba, 0x5e, 0x1f, 0xc7, 0x54, 0x72, 0x64, 0x91,
0xad, 0x44, 0xcf, 0x9d, 0xb8, 0x3d, 0x2f, 0x9e, 0x09, 0xb9, 0x57, 0x65, 0xd6, 0xf6, 0x28, 0xe8,
0xb9, 0xa3, 0xee, 0x89, 0x3b, 0x72, 0xfd, 0x1e, 0x95, 0x5e, 0xad, 0x01, 0x32, 0x0f, 0x4f, 0x0c,
0x49, 0x92, 0x71, 0x2f, 0x30, 0x85, 0x32, 0x4f, 0xb1, 0x17, 0x8c, 0xc7, 0x5e, 0xcc, 0x1c, 0x43,
0x74, 0x1a, 0x8a, 0x8e, 0x86, 0x70, 0x1f, 0x1a, 0x4b, 0xe7, 0x7c, 0xf5, 0xaa, 0xd2, 0x87, 0xd6,
0x40, 0xd6, 0x0a, 0xf3, 0x3c, 0x98, 0xae, 0x7a, 0x76, 0xde, 0x06, 0xde, 0x4a, 0x82, 0xb0, 0x7d,
0x98, 0xfa, 0x11, 0x8d, 0xe3, 0x11, 0xed, 0xab, 0x01, 0xd5, 0x90, 0x2c, 0x5b, 0x41, 0x6e, 0xc3,
0x0a, 0xf7, 0x55, 0x23, 0x37, 0x0e, 0xa2, 0xa1, 0x17, 0x75, 0x23, 0xe6, 0xf5, 0xd5, 0x91, 0x3e,
0xaf, 0x8a, 0xbc, 0x07, 0x1b, 0x29, 0x38, 0xa4, 0x3d, 0xea, 0x9d, 0xd1, 0x7e, 0x7b, 0x09, 0xbf,
0x9a, 0x57, 0x4d, 0xae, 0x41, 0x8d, 0xb9, 0xe8, 0xd3, 0x49, 0xdf, 0x65, 0x26, 0xba, 0x81, 0xfb,
0xa0, 0x43, 0xe4, 0x1d, 0x58, 0x9a, 0x50, 0x6e, 0x47, 0x87, 0xf1, 0xa8, 0x17, 0xb5, 0x9b, 0x86,
0x76, 0x63, 0x9c, 0xeb, 0x98, 0x14, 0x8c, 0x29, 0x7b, 0x11, 0xfa, 0x6a, 0xee, 0xac, 0xdd, 0x42,
0x76, 0x4b, 0x00, 0x94, 0x91, 0xd0, 0x3b, 0x73, 0x63, 0xda, 0x5e, 0x46, 0xde, 0x92, 0x45, 0xfb,
0x8f, 0x2c, 0xae, 0x58, 0x05, 0x13, 0x2a, 0x05, 0xf9, 0x06, 0xd4, 0x38, 0xfb, 0x75, 0x03, 0x7f,
0x34, 0x13, 0x1c, 0x09, 0x1c, 0x7a, 0xe4, 0x8f, 0x66, 0xe4, 0x13, 0xb0, 0xe4, 0xf9, 0x3a, 0x09,
0x97, 0xe1, 0xba, 0x04, 0x91, 0xe8, 0x0d, 0xa8, 0x4d, 0xa6, 0x27, 0x23, 0xaf, 0xc7, 0x49, 0x8a,
0xbc, 0x15, 0x0e, 0x21, 0x01, 0xf3, 0x9f, 0xf8, 0x48, 0x38, 0x45, 0x09, 0x29, 0x6a, 0x02, 0x63,
0x24, 0xf6, 0x5d, 0x58, 0x35, 0x07, 0x28, 0x94, 0xd5, 0x26, 0x54, 0x04, 0x6f, 0x47, 0xed, 0x1a,
0xae, 0x4f, 0xc3, 0x3c, 0x9b, 0x39, 0xaa, 0xde, 0xfe, 0x5e, 0x09, 0x56, 0x04, 0xba, 0x3b, 0x0a,
0x22, 0x7a, 0x3c, 0x1d, 0x8f, 0xdd, 0x30, 0x47, 0x68, 0xac, 0x0b, 0x84, 0xa6, 0x60, 0x0a, 0x0d,
0x63, 0xe5, 0xa1, 0xeb, 0xf9, 0xdc, 0xf9, 0xe3, 0x12, 0xa7, 0x21, 0xe4, 0x26, 0x34, 0x7b, 0xa3,
0x20, 0xe2, 0x0e, 0x91, 0x7e, 0xfa, 0x4a, 0xc3, 0x59, 0x21, 0x2f, 0xe7, 0x09, 0xb9, 0x2e, 0xa4,
0x0b, 0x29, 0x21, 0xb5, 0xa1, 0xce, 0x1a, 0xa5, 0x52, 0xe7, 0x2c, 0x72, 0x07, 0x4d, 0xc7, 0xd8,
0x78, 0xd2, 0x22, 0xc1, 0xe5, 0xaf, 0x99, 0x27, 0x10, 0xec, 0x70, 0xc7, 0x74, 0x9a, 0x46, 0x5d,
0x15, 0x02, 0x91, 0xad, 0x22, 0xf7, 0x00, 0x78, 0x5f, 0x68, 0x58, 0x01, 0x0d, 0xeb, 0x5b, 0xe6,
0x8e, 0xe8, 0x6b, 0x7f, 0x8b, 0x15, 0xa6, 0x21, 0x45, 0x63, 0xab, 0x7d, 0x69, 0xff, 0xa6, 0x05,
0x35, 0xad, 0x8e, 0xac, 0xc1, 0xf2, 0xee, 0xa3, 0x47, 0x47, 0xfb, 0xce, 0xce, 0xe3, 0x07, 0x5f,
0xdc, 0xef, 0xee, 0x1e, 0x3e, 0x3a, 0xde, 0x6f, 0x5d, 0x62, 0xf0, 0xe1, 0xa3, 0xdd, 0x9d, 0xc3,
0xee, 0xbd, 0x47, 0xce, 0xae, 0x84, 0x2d, 0xb2, 0x0e, 0xc4, 0xd9, 0xff, 0xe0, 0xd1, 0xe3, 0x7d,
0x03, 0x2f, 0x90, 0x16, 0xd4, 0xef, 0x3a, 0xfb, 0x3b, 0xbb, 0x07, 0x02, 0x29, 0x92, 0x55, 0x68,
0xdd, 0x7b, 0xf2, 0x70, 0xef, 0xc1, 0xc3, 0xfb, 0xdd, 0xdd, 0x9d, 0x87, 0xbb, 0xfb, 0x87, 0xfb,
0x7b, 0xad, 0x12, 0x59, 0x82, 0xea, 0xce, 0xdd, 0x9d, 0x87, 0x7b, 0x8f, 0x1e, 0xee, 0xef, 0xb5,
0xca, 0xf6, 0x3f, 0x5a, 0xb0, 0x86, 0xa3, 0xee, 0xa7, 0x05, 0xe4, 0x1a, 0xd4, 0x7a, 0x41, 0x30,
0xa1, 0x4c, 0x9f, 0x2b, 0x95, 0xad, 0x43, 0x8c, 0xf9, 0xb9, 0x82, 0x3c, 0x0d, 0xc2, 0x1e, 0x15,
0xf2, 0x01, 0x08, 0xdd, 0x63, 0x08, 0x63, 0x7e, 0xb1, 0xbd, 0x9c, 0x82, 0x8b, 0x47, 0x8d, 0x63,
0x9c, 0x64, 0x1d, 0x16, 0x4e, 0x42, 0xea, 0xf6, 0x86, 0x42, 0x32, 0x44, 0x89, 0x7c, 0x32, 0xf1,
0xdd, 0x7b, 0x6c, 0xf5, 0x47, 0xb4, 0x8f, 0x1c, 0x53, 0x71, 0x9a, 0x02, 0xdf, 0x15, 0x30, 0xd3,
0x0c, 0xee, 0x89, 0xeb, 0xf7, 0x03, 0x9f, 0xf6, 0x91, 0x69, 0x2a, 0x4e, 0x02, 0xd8, 0x47, 0xb0,
0x9e, 0x9e, 0x9f, 0x90, 0xaf, 0x77, 0x35, 0xf9, 0xe2, 0xde, 0x55, 0x67, 0xfe, 0x6e, 0x6a, 0xb2,
0xf6, 0xaf, 0x16, 0x94, 0x98, 0xb1, 0x9d, 0x6f, 0x98, 0x75, 0xff, 0xa9, 0x98, 0x09, 0xdb, 0xe0,
0xe1, 0x84, 0xab, 0x5f, 0x6e, 0xa2, 0x34, 0x24, 0xa9, 0x0f, 0x69, 0xef, 0x0c, 0x67, 0xac, 0xea,
0x19, 0xc2, 0x04, 0x84, 0x79, 0xb0, 0xf8, 0xb5, 0x10, 0x10, 0x59, 0x96, 0x75, 0xf8, 0xe5, 0x62,
0x52, 0x87, 0xdf, 0xb5, 0x61, 0xd1, 0xf3, 0x4f, 0x82, 0xa9, 0xdf, 0x47, 0x81, 0xa8, 0x38, 0xb2,
0xc8, 0x96, 0x6f, 0x82, 0x82, 0xea, 0x8d, 0x25, 0xfb, 0x27, 0x80, 0x4d, 0xd8, 0x09, 0x27, 0x42,
0xe7, 0x42, 0xc5, 0x29, 0xde, 0x85, 0x65, 0x0d, 0x4b, 0x1c, 0xd5, 0x09, 0x03, 0x52, 0x8e, 0x2a,
0x7a, 0x25, 0xbc, 0xc6, 0x6e, 0x41, 0xe3, 0x3e, 0x8d, 0x1f, 0xf8, 0xa7, 0x81, 0x6c, 0xe9, 0x9b,
0x25, 0x68, 0x2a, 0x48, 0x34, 0x74, 0x13, 0x9a, 0x5e, 0x9f, 0xfa, 0xb1, 0x17, 0xcf, 0xba, 0xc6,
0x41, 0x2a, 0x0d, 0x33, 0x6f, 0xce, 0x1d, 0x79, 0xae, 0x0c, 0x8d, 0xf1, 0x02, 0xd9, 0x86, 0x55,
0x66, 0x6a, 0xa4, 0xf5, 0x50, 0x5b, 0xcc, 0xcf, 0x73, 0xb9, 0x75, 0x4c, 0x19, 0x30, 0x5c, 0x68,
0x7b, 0xf5, 0x09, 0xf7, 0x6a, 0xf2, 0xaa, 0xd8, 0xaa, 0xf1, 0x96, 0xd8, 0x94, 0xcb, 0xdc, 0x1c,
0x29, 0x20, 0x13, 0x6f, 0x5a, 0xe0, 0xaa, 0x2a, 0x1d, 0x6f, 0xd2, 0x62, 0x56, 0x95, 0x4c, 0xcc,
0x8a, 0xa9, 0xb2, 0x99, 0xdf, 0xa3, 0xfd, 0x6e, 0x1c, 0x74, 0x51, 0xe5, 0xe2, 0xee, 0x54, 0x9c,
0x34, 0x8c, 0xd1, 0x35, 0x1a, 0xc5, 0x3e, 0x8d, 0x51, 0x2b, 0x55, 0x1c, 0x59, 0x64, 0xd2, 0x85,
0x24, 0xdc, 0x80, 0x54, 0x1d, 0x51, 0x62, 0x6e, 0xe9, 0x34, 0xf4, 0xa2, 0x76, 0x1d, 0x51, 0xfc,
0x4d, 0x3e, 0x0d, 0x6b, 0x27, 0x34, 0x8a, 0xbb, 0x43, 0xea, 0xf6, 0x69, 0x88, 0xbb, 0xcf, 0x43,
0x61, 0xdc, 0xda, 0xe7, 0x57, 0xb2, 0xbe, 0xcf, 0x68, 0x18, 0x79, 0x81, 0x8f, 0x76, 0xbe, 0xea,
0xc8, 0x22, 0x6b, 0x8f, 0x2d, 0x88, 0xb2, 0xa1, 0x6a, 0x55, 0x9b, 0xb8, 0x18, 0xf9, 0x95, 0xf6,
0xd7, 0xd1, 0xe7, 0x56, 0xa1, 0xbd, 0x27, 0xe8, 0x30, 0xb0, 0x93, 0x13, 0x5f, 0x99, 0x68, 0xe8,
0x8a, 0x63, 0x40, 0x05, 0x81, 0xe3, 0xa1, 0xcb, 0xb4, 0x8c, 0xb1, 0xd8, 0xfc, 0x64, 0x55, 0x43,
0xec, 0x80, 0xaf, 0xf5, 0x75, 0x68, 0xc8, 0xa0, 0x61, 0xd4, 0x1d, 0xd1, 0xd3, 0x58, 0x9e, 0xee,
0xfd, 0xe9, 0x18, 0x8f, 0x5f, 0x87, 0xf4, 0x34, 0xb6, 0x1f, 0xc2, 0xb2, 0x90, 0xfc, 0x47, 0x13,
0x2a, 0xbb, 0xfe, 0x6c, 0x9e, 0x05, 0x9d, 0x13, 0x26, 0x35, 0x29, 0x6d, 0x07, 0x88, 0xae, 0x49,
0x44, 0x83, 0xc2, 0x8c, 0xc9, 0x18, 0x82, 0x98, 0x8e, 0x81, 0xb1, 0x55, 0x8d, 0xa6, 0xbd, 0x9e,
0x0c, 0xfb, 0x56, 0x1c, 0x59, 0xb4, 0xbf, 0x63, 0xc1, 0x0a, 0xb6, 0x26, 0x7d, 0x00, 0xa1, 0xad,
0xdf, 0xfb, 0x01, 0x86, 0x59, 0xef, 0xe9, 0x71, 0x95, 0x55, 0x28, 0xeb, 0xfa, 0x9b, 0x17, 0x7e,
0xf0, 0xa3, 0x74, 0x29, 0x73, 0x94, 0xfe, 0x7d, 0x0b, 0x96, 0xb9, 0x0a, 0x8d, 0xdd, 0x78, 0x1a,
0x89, 0xe9, 0xff, 0x24, 0x2c, 0x71, 0x5b, 0x28, 0x84, 0x50, 0x0c, 0x74, 0x55, 0xe9, 0x0b, 0x44,
0x39, 0xf1, 0xc1, 0x25, 0xc7, 0x24, 0x26, 0x77, 0xd0, 0x1f, 0xf1, 0xbb, 0x88, 0x8a, 0xd0, 0xd7,
0xe5, 0x1c, 0xad, 0xad, 0xbe, 0xd7, 0xc8, 0xef, 0x56, 0x60, 0x81, 0x3b, 0xa0, 0xf6, 0x7d, 0x58,
0x32, 0x3a, 0x32, 0x4e, 0xf8, 0x75, 0x7e, 0xc2, 0xcf, 0x04, 0x84, 0x0a, 0xd9, 0x80, 0x90, 0xfd,
0xa7, 0x45, 0x20, 0x8c, 0x59, 0x52, 0xbb, 0xc1, 0x3c, 0xe0, 0xa0, 0x6f, 0x9c, 0x67, 0xea, 0x8e,
0x0e, 0x91, 0x5b, 0x40, 0xb4, 0xa2, 0x8c, 0x99, 0x71, 0x63, 0x91, 0x53, 0xc3, 0xb4, 0x9a, 0xb0,
0xb5, 0xc2, 0x2a, 0x8a, 0x93, 0x1b, 0x5f, 0xf6, 0xdc, 0x3a, 0x66, 0x0f, 0x26, 0xd3, 0x68, 0x88,
0x17, 0x04, 0xe2, 0xc4, 0x23, 0xcb, 0xe9, 0xfd, 0x5d, 0xb8, 0x70, 0x7f, 0x17, 0xd3, 0xfb, 0xab,
0xfb, 0xdc, 0x15, 0xc3, 0xe7, 0x66, 0xbe, 0xde, 0x98, 0x79, 0x88, 0xf1, 0xa8, 0xd7, 0x1d, 0xb3,
0xde, 0xc5, 0x01, 0xc7, 0x00, 0xc9, 0x26, 0xb4, 0x84, 0x77, 0x90, 0x38, 0xf6, 0x80, 0x6b, 0x9c,
0xc1, 0x99, 0xba, 0x4d, 0xe2, 0x2a, 0x35, 0x1c, 0x6c, 0x02, 0xb0, 0xa3, 0x50, 0xc4, 0x38, 0xa4,
0x3b, 0xf5, 0xc5, 0xbd, 0x00, 0xed, 0xe3, 0xd1, 0xa6, 0xe2, 0x64, 0x2b, 0xec, 0xdf, 0xb1, 0xa0,
0xc5, 0xf6, 0xcc, 0x60, 0xcb, 0xf7, 0x01, 0xa5, 0xe2, 0x15, 0xb9, 0xd2, 0xa0, 0x25, 0xef, 0x41,
0x15, 0xcb, 0xc1, 0x84, 0xfa, 0x82, 0x27, 0xdb, 0x26, 0x4f, 0x26, 0xfa, 0xe4, 0xe0, 0x92, 0x93,
0x10, 0x6b, 0x1c, 0xf9, 0x77, 0x16, 0xd4, 0x44, 0x2f, 0x3f, 0xf4, 0xb9, 0xbd, 0xa3, 0x5d, 0xe6,
0x70, 0x4e, 0x4a, 0xee, 0x6d, 0x6e, 0x42, 0x73, 0xec, 0xc6, 0xd3, 0x90, 0x99, 0x4f, 0xe3, 0xcc,
0x9e, 0x86, 0x99, 0x2d, 0x44, 0xd5, 0x19, 0x75, 0x63, 0x6f, 0xd4, 0x95, 0xb5, 0xe2, 0xca, 0x24,
0xaf, 0x8a, 0x69, 0x90, 0x28, 0x76, 0x07, 0x54, 0x98, 0x39, 0x5e, 0xb0, 0xdb, 0xb0, 0x2e, 0x26,
0x94, 0xf2, 0x2c, 0xed, 0xbf, 0xac, 0xc3, 0x46, 0xa6, 0x4a, 0xdd, 0xb1, 0x8a, 0xc3, 0xe8, 0xc8,
0x1b, 0x9f, 0x04, 0xca, 0x2d, 0xb7, 0xf4, 0x73, 0xaa, 0x51, 0x45, 0x06, 0xb0, 0x26, 0xed, 0x39,
0x5b, 0xd3, 0xc4, 0xce, 0x14, 0xd0, 0x11, 0x79, 0xc7, 0xdc, 0xc2, 0x74, 0x87, 0x12, 0xd7, 0x85,
0x38, 0xbf, 0x3d, 0x32, 0x84, 0xb6, 0x72, 0x1c, 0x84, 0xb2, 0xd6, 0x9c, 0x0b, 0xd6, 0xd7, 0xdb,
0x17, 0xf4, 0x65, 0x38, 0xa2, 0xce, 0xdc, 0xd6, 0xc8, 0x0c, 0xae, 0xca, 0x3a, 0xd4, 0xc6, 0xd9,
0xfe, 0x4a, 0xaf, 0x34, 0x37, 0x74, 0xb1, 0xcd, 0x4e, 0x2f, 0x68, 0x98, 0x7c, 0x15, 0xd6, 0xcf,
0x5d, 0x2f, 0x96, 0xc3, 0xd2, 0xcc, 0x76, 0x19, 0xbb, 0xdc, 0xbe, 0xa0, 0xcb, 0xa7, 0xfc, 0x63,
0xc3, 0x44, 0xcd, 0x69, 0xb1, 0xf3, 0x37, 0x16, 0x34, 0xcc, 0x76, 0x18, 0x9b, 0x0a, 0xd9, 0x97,
0x3a, 0x50, 0x3a, 0x7f, 0x29, 0x38, 0x7b, 0xb2, 0x2d, 0xe4, 0x9d, 0x6c, 0xf5, 0xf3, 0x64, 0xf1,
0xa2, 0xa0, 0x4f, 0xe9, 0xd5, 0x82, 0x3e, 0xe5, 0xbc, 0xa0, 0x4f, 0xe7, 0xbf, 0x2c, 0x20, 0x59,
0x5e, 0x22, 0xf7, 0xf9, 0xd1, 0xda, 0xa7, 0x23, 0xa1, 0x52, 0x7e, 0xe2, 0xd5, 0xf8, 0x51, 0xae,
0x9d, 0xfc, 0x9a, 0x09, 0x86, 0x7e, 0xe7, 0xa9, 0x3b, 0x3b, 0x4b, 0x4e, 0x5e, 0x55, 0x2a, 0x0c,
0x55, 0xba, 0x38, 0x0c, 0x55, 0xbe, 0x38, 0x0c, 0xb5, 0x90, 0x0e, 0x43, 0x75, 0x7e, 0xcd, 0x82,
0x95, 0x9c, 0x4d, 0xff, 0xf8, 0x26, 0xce, 0xb6, 0xc9, 0xd0, 0x05, 0x05, 0xb1, 0x4d, 0x3a, 0xd8,
0xf9, 0x45, 0x58, 0x32, 0x18, 0xfd, 0xe3, 0xeb, 0x3f, 0xed, 0xaf, 0x71, 0x3e, 0x33, 0xb0, 0xce,
0xbf, 0x15, 0x80, 0x64, 0x85, 0xed, 0xff, 0x75, 0x0c, 0xd9, 0x75, 0x2a, 0xe6, 0xac, 0xd3, 0xff,
0xa9, 0x1d, 0x78, 0x1b, 0x96, 0x45, 0x42, 0x86, 0x16, 0x50, 0xe1, 0x1c, 0x93, 0xad, 0x60, 0x1e,
0xab, 0x19, 0x03, 0xac, 0x18, 0x17, 0xdb, 0x9a, 0x31, 0x4c, 0x85, 0x02, 0xed, 0x75, 0x58, 0xe5,
0x09, 0x1e, 0x77, 0x79, 0x53, 0xd2, 0xae, 0xfc, 0xa1, 0x05, 0x6b, 0xa9, 0x8a, 0xe4, 0x1a, 0x96,
0x9b, 0x0e, 0xd3, 0x9e, 0x98, 0x20, 0x1b, 0xbf, 0xf2, 0x12, 0x52, 0xdc, 0x96, 0xad, 0x60, 0xeb,
0xa3, 0x79, 0x15, 0xa9, 0x55, 0xcf, 0xab, 0xb2, 0x37, 0x78, 0x1a, 0x8a, 0x4f, 0x47, 0xa9, 0x81,
0x9f, 0xf2, 0xc4, 0x11, 0xbd, 0x22, 0xb9, 0x88, 0x31, 0x87, 0x2c, 0x8b, 0xcc, 0x21, 0x34, 0xcc,
0x94, 0x39, 0xde, 0xdc, 0x3a, 0xfb, 0x7b, 0x16, 0x90, 0x2f, 0x4c, 0x69, 0x38, 0xc3, 0xab, 0x56,
0x15, 0xe9, 0xd9, 0x48, 0xc7, 0x31, 0x16, 0x26, 0xd3, 0x93, 0xcf, 0xd3, 0x99, 0xbc, 0xb4, 0x2f,
0x24, 0x97, 0xf6, 0xaf, 0x03, 0xb0, 0x83, 0x94, 0xba, 0xbf, 0x45, 0x47, 0xcc, 0x9f, 0x8e, 0x79,
0x83, 0xb9, 0xf7, 0xea, 0xa5, 0x8b, 0xef, 0xd5, 0xcb, 0x17, 0xdd, 0xab, 0xdf, 0x81, 0x15, 0x63,
0xdc, 0x6a, 0x5b, 0xe5, 0x4d, 0xb2, 0xf5, 0x92, 0x9b, 0xe4, 0xdf, 0x28, 0x40, 0xf1, 0x20, 0x98,
0xe8, 0x51, 0x4e, 0xcb, 0x8c, 0x72, 0x0a, 0x5b, 0xd2, 0x55, 0xa6, 0x42, 0xa8, 0x18, 0x03, 0x24,
0x9b, 0xd0, 0x70, 0xc7, 0x31, 0x3b, 0x76, 0x9f, 0x06, 0xe1, 0xb9, 0x1b, 0xf6, 0xf9, 0x5e, 0xdf,
0x2d, 0xb4, 0x2d, 0x27, 0x55, 0x43, 0x56, 0xa1, 0xa8, 0x94, 0x2e, 0x12, 0xb0, 0x22, 0x73, 0xdc,
0xf0, 0x86, 0x64, 0x26, 0x22, 0x06, 0xa2, 0xc4, 0x58, 0xc9, 0xfc, 0x9e, 0x7b, 0xcd, 0x5c, 0x74,
0xf2, 0xaa, 0x98, 0x5d, 0x63, 0xcb, 0x87, 0x64, 0x22, 0xd4, 0x23, 0xcb, 0x7a, 0x58, 0xaa, 0x62,
0xde, 0x17, 0xfd, 0x8b, 0x05, 0x65, 0x5c, 0x1b, 0xa6, 0x06, 0x38, 0xef, 0xab, 0x40, 0x27, 0xae,
0xc9, 0x92, 0x93, 0x86, 0x89, 0x6d, 0xa4, 0xbd, 0x14, 0xd4, 0x84, 0xf4, 0xd4, 0x97, 0x6b, 0x50,
0xe5, 0x25, 0x95, 0xe2, 0x81, 0x24, 0x09, 0x48, 0xae, 0x42, 0x69, 0x18, 0x4c, 0xa4, 0xdf, 0x02,
0x32, 0xce, 0x1f, 0x4c, 0x1c, 0xc4, 0x93, 0xf1, 0xb0, 0xf6, 0xf8, 0xb4, 0xb8, 0x35, 0x4a, 0xc3,
0xcc, 0x1e, 0xab, 0x66, 0xf5, 0x65, 0x4a, 0xa1, 0xf6, 0x26, 0x34, 0x1f, 0x06, 0x7d, 0xaa, 0x45,
0x9b, 0xe6, 0xf2, 0xb9, 0xfd, 0x4b, 0x16, 0x54, 0x24, 0x31, 0xb9, 0x09, 0x25, 0xe6, 0x64, 0xa4,
0x4e, 0x00, 0xea, 0x7e, 0x8f, 0xd1, 0x39, 0x48, 0xc1, 0xb4, 0x32, 0x46, 0x15, 0x12, 0x87, 0x53,
0xc6, 0x14, 0x12, 0x7f, 0x4a, 0x0d, 0x37, 0xe5, 0x86, 0xa4, 0x50, 0xfb, 0xbb, 0x16, 0x2c, 0x19,
0x7d, 0xb0, 0x33, 0xe4, 0xc8, 0x8d, 0x62, 0x71, 0x67, 0x22, 0xb6, 0x47, 0x87, 0xf4, 0x8d, 0x2e,
0x98, 0xf1, 0x47, 0x15, 0x19, 0x2b, 0xea, 0x91, 0xb1, 0xdb, 0x50, 0x4d, 0x92, 0x93, 0x4a, 0x86,
0xb6, 0x65, 0x3d, 0xca, 0x9b, 0xcb, 0x84, 0x88, 0xb5, 0xd3, 0x0b, 0x46, 0x41, 0x28, 0x82, 0xf5,
0xbc, 0x60, 0xdf, 0x81, 0x9a, 0x46, 0xcf, 0x86, 0xe1, 0xd3, 0xf8, 0x3c, 0x08, 0x9f, 0xc9, 0x30,
0xa8, 0x28, 0xaa, 0xbb, 0xfb, 0x42, 0x72, 0x77, 0x6f, 0xff, 0xb5, 0x05, 0x4b, 0x8c, 0x07, 0x3d,
0x7f, 0x70, 0x14, 0x8c, 0xbc, 0xde, 0x0c, 0xf7, 0x5e, 0xb2, 0x9b, 0xd0, 0x19, 0x92, 0x17, 0x4d,
0x98, 0x71, 0xbd, 0x3c, 0x42, 0x0a, 0x11, 0x55, 0x65, 0x26, 0xc3, 0x4c, 0x02, 0x4e, 0xdc, 0x48,
0x88, 0x85, 0x30, 0x7f, 0x06, 0xc8, 0x24, 0x8d, 0x01, 0xa1, 0x1b, 0xd3, 0xee, 0xd8, 0x1b, 0x8d,
0x3c, 0x4e, 0xcb, 0x9d, 0xa3, 0xbc, 0x2a, 0xd6, 0x67, 0xdf, 0x8b, 0xdc, 0x93, 0x24, 0x00, 0xad,
0xca, 0xf6, 0x9f, 0x17, 0xa0, 0x26, 0x14, 0xf7, 0x7e, 0x7f, 0x40, 0xc5, 0x6d, 0x09, 0xba, 0x9f,
0x4a, 0xc9, 0x68, 0x88, 0xac, 0x37, 0x1c, 0x56, 0x0d, 0x49, 0x6f, 0x79, 0x31, 0xbb, 0xe5, 0x57,
0xa0, 0xca, 0x58, 0xef, 0x1d, 0xf4, 0x8c, 0xf9, 0x4d, 0x4b, 0x02, 0xc8, 0xda, 0x6d, 0xac, 0x2d,
0x27, 0xb5, 0x08, 0xbc, 0xf4, 0x6e, 0xe5, 0x3d, 0xa8, 0x8b, 0x66, 0x70, 0x4f, 0x50, 0xa7, 0x24,
0xcc, 0x6f, 0xec, 0x97, 0x63, 0x50, 0xca, 0x2f, 0xb7, 0xe5, 0x97, 0x95, 0x8b, 0xbe, 0x94, 0x94,
0xf6, 0x7d, 0x75, 0x65, 0x75, 0x3f, 0x74, 0x27, 0x43, 0x29, 0xa5, 0xb7, 0x61, 0xc5, 0xf3, 0x7b,
0xa3, 0x69, 0x9f, 0x76, 0xa7, 0xbe, 0xeb, 0xfb, 0xc1, 0xd4, 0xef, 0x51, 0x79, 0x63, 0x9f, 0x57,
0x65, 0xf7, 0x55, 0xa6, 0x10, 0x36, 0x44, 0x36, 0xa1, 0xcc, 0x3a, 0x92, 0x56, 0x21, 0x5f, 0x84,
0x39, 0x09, 0xb9, 0x09, 0x65, 0xda, 0x1f, 0x50, 0x79, 0x5a, 0x24, 0xe6, 0xb9, 0x9d, 0xed, 0xaa,
0xc3, 0x09, 0x98, 0x42, 0x61, 0x68, 0x4a, 0xa1, 0x98, 0x16, 0x65, 0x81, 0x15, 0x1f, 0xf4, 0xed,
0x55, 0x20, 0x0f, 0xb9, 0x0c, 0xe8, 0xd1, 0xee, 0x5f, 0x2d, 0x42, 0x4d, 0x83, 0x99, 0x6e, 0x18,
0xb0, 0x01, 0x77, 0xfb, 0x9e, 0x3b, 0xa6, 0x31, 0x0d, 0x05, 0xdf, 0xa7, 0x50, 0x46, 0xe7, 0x9e,
0x0d, 0xba, 0xc1, 0x34, 0xee, 0xf6, 0xe9, 0x20, 0xa4, 0xdc, 0xc8, 0x33, 0xa3, 0x63, 0xa0, 0x8c,
0x6e, 0xec, 0x3e, 0xd7, 0xe9, 0x38, 0x07, 0xa5, 0x50, 0x19, 0xbb, 0xe6, 0x6b, 0x54, 0x4a, 0x62,
0xd7, 0x7c, 0x45, 0xd2, 0x5a, 0xad, 0x9c, 0xa3, 0xd5, 0xde, 0x85, 0x75, 0xae, 0xbf, 0x84, 0xa4,
0x77, 0x53, 0x8c, 0x35, 0xa7, 0x96, 0x6c, 0x42, 0x8b, 0x8d, 0x59, 0x8a, 0x44, 0xe4, 0x7d, 0x9d,
0x07, 0x96, 0x2c, 0x27, 0x83, 0x33, 0x5a, 0x8c, 0xf0, 0xe8, 0xb4, 0xfc, 0x2e, 0x2f, 0x83, 0x23,
0xad, 0xfb, 0xdc, 0xa4, 0xad, 0x0a, 0xda, 0x14, 0x6e, 0x2f, 0x41, 0xed, 0x38, 0x0e, 0x26, 0x72,
0x53, 0x1a, 0x50, 0xe7, 0x45, 0x91, 0x39, 0xf1, 0x1a, 0x5c, 0x46, 0x2e, 0x7a, 0x1c, 0x4c, 0x82,
0x51, 0x30, 0x98, 0x1d, 0x4f, 0x4f, 0x78, 0xca, 0xac, 0x17, 0xf8, 0xf6, 0xdf, 0x5a, 0xb0, 0x62,
0xd4, 0x8a, 0xe8, 0xd1, 0xa7, 0xb9, 0x10, 0xa8, 0x2b, 0x6f, 0xce, 0x78, 0xcb, 0x9a, 0x72, 0xe5,
0x84, 0x3c, 0x06, 0xf8, 0x44, 0xdc, 0x82, 0xef, 0x40, 0x53, 0x8e, 0x4c, 0x7e, 0xc8, 0xb9, 0xb0,
0x9d, 0xe5, 0x42, 0xf1, 0x7d, 0x43, 0x7c, 0x20, 0x9b, 0xf8, 0x29, 0x71, 0x27, 0xda, 0xc7, 0x39,
0xca, 0x38, 0x84, 0xba, 0xc7, 0xd2, 0x4f, 0x23, 0x72, 0x04, 0x3d, 0x05, 0x46, 0xf6, 0x6f, 0x59,
0x00, 0xc9, 0xe8, 0xf0, 0x26, 0x4d, 0x19, 0x08, 0x9e, 0xd5, 0xae, 0x19, 0x83, 0x37, 0xa1, 0xae,
0x6e, 0x60, 0x12, 0x9b, 0x53, 0x93, 0x18, 0x73, 0x18, 0x6f, 0x40, 0x73, 0x30, 0x0a, 0x4e, 0xd0,
0x60, 0x63, 0x2a, 0x4e, 0x24, 0xf2, 0x47, 0x1a, 0x1c, 0xbe, 0x27, 0xd0, 0xc4, 0x40, 0x95, 0x34,
0x03, 0x65, 0x7f, 0xa3, 0xa0, 0x22, 0xf0, 0xc9, 0x9c, 0xe7, 0x4a, 0x19, 0xd9, 0xce, 0xa8, 0xd3,
0x39, 0x01, 0x6f, 0x8c, 0xb8, 0x1d, 0x5d, 0x18, 0x10, 0xb8, 0x03, 0x8d, 0x90, 0xeb, 0x2b, 0xa9,
0xcc, 0x4a, 0x2f, 0x51, 0x66, 0x4b, 0xa1, 0x61, 0xc5, 0x3e, 0x09, 0x2d, 0xb7, 0x7f, 0x46, 0xc3,
0xd8, 0xc3, 0x23, 0x19, 0xba, 0x10, 0x5c, 0x05, 0x37, 0x35, 0x1c, 0x2d, 0xfb, 0x0d, 0x68, 0x8a,
0x9c, 0x1d, 0x45, 0x29, 0xd2, 0x54, 0x13, 0x98, 0x11, 0xda, 0x7f, 0x2c, 0x83, 0xfd, 0xe6, 0x1e,
0xce, 0x5f, 0x11, 0x7d, 0x76, 0x85, 0xd4, 0xec, 0x3e, 0x21, 0x02, 0xef, 0x7d, 0x79, 0xee, 0x2b,
0x6a, 0xf7, 0xe7, 0x7d, 0x71, 0x51, 0x62, 0x2e, 0x69, 0xe9, 0x55, 0x96, 0xd4, 0xfe, 0xbe, 0x05,
0x8b, 0x07, 0xc1, 0xe4, 0x40, 0x64, 0x12, 0xa0, 0x20, 0xa8, 0x64, 0x39, 0x59, 0x7c, 0x49, 0x8e,
0x41, 0xae, 0xe5, 0x5e, 0x4a, 0x5b, 0xee, 0x9f, 0x81, 0xd7, 0x30, 0xea, 0x10, 0x06, 0x93, 0x20,
0x64, 0xc2, 0xe8, 0x8e, 0xb8, 0x99, 0x0e, 0xfc, 0x78, 0x28, 0xd5, 0xd8, 0xcb, 0x48, 0xf0, 0x78,
0xc7, 0x8e, 0x25, 0xdc, 0xe9, 0x16, 0x9e, 0x06, 0xd7, 0x6e, 0xd9, 0x0a, 0xfb, 0xb3, 0x50, 0x45,
0x57, 0x19, 0xa7, 0xf5, 0x36, 0x54, 0x87, 0xc1, 0xa4, 0x3b, 0xf4, 0xfc, 0x58, 0x0a, 0x77, 0x23,
0xf1, 0x61, 0x0f, 0x70, 0x41, 0x14, 0x81, 0xfd, 0x7b, 0x65, 0x58, 0x7c, 0xe0, 0x9f, 0x05, 0x5e,
0x0f, 0x2f, 0x16, 0xc6, 0x74, 0x1c, 0xc8, 0xd4, 0x41, 0xf6, 0x9b, 0x2d, 0x05, 0xe6, 0xca, 0x4c,
0x62, 0x71, 0x33, 0x20, 0x8b, 0xcc, 0x41, 0x08, 0x93, 0x14, 0x60, 0x2e, 0x3a, 0x1a, 0xc2, 0x0e,
0x10, 0xa1, 0x9e, 0xc2, 0x2b, 0x4a, 0x49, 0xee, 0x65, 0x59, 0xcb, 0xbd, 0xc4, 0x5b, 0x24, 0x9e,
0xf5, 0x20, 0xae, 0xc5, 0x65, 0x11, 0x0f, 0x3c, 0x21, 0xe5, 0xd1, 0x22, 0x74, 0x35, 0x16, 0xc5,
0x81, 0x47, 0x07, 0x99, 0x3b, 0xc2, 0x3f, 0xe0, 0x34, 0x5c, 0xf9, 0xea, 0x10, 0x73, 0xdd, 0xd2,
0x09, 0xd7, 0x55, 0xce, 0xf3, 0x29, 0x98, 0x69, 0xe8, 0x3e, 0x55, 0x8a, 0x94, 0xcf, 0x01, 0x78,
0x8a, 0x73, 0x1a, 0xd7, 0x8e, 0x49, 0x3c, 0x9d, 0x49, 0x1e, 0x93, 0x18, 0xa3, 0xb8, 0xa3, 0xd1,
0x89, 0xdb, 0x7b, 0x86, 0xf9, 0xf4, 0x18, 0xe2, 0xaf, 0x3a, 0x26, 0x88, 0x79, 0x0b, 0xc9, 0x6e,
0xe2, 0xed, 0x65, 0xc9, 0xd1, 0x21, 0xb2, 0x0d, 0x35, 0x3c, 0x1a, 0x8a, 0xfd, 0x6c, 0xe0, 0x7e,
0xb6, 0xf4, 0xb3, 0x23, 0xee, 0xa8, 0x4e, 0xa4, 0x5f, 0x76, 0x34, 0xcd, 0xcb, 0x0e, 0xae, 0x34,
0xc5, 0x1d, 0x51, 0x0b, 0x7b, 0x4b, 0x00, 0x66, 0x4d, 0xc5, 0x82, 0x71, 0x82, 0x65, 0x24, 0x30,
0x30, 0x72, 0x15, 0x2a, 0xec, 0xd8, 0x32, 0x71, 0xbd, 0x7e, 0x9b, 0xa8, 0xd3, 0x93, 0xc2, 0x58,
0x1b, 0xf2, 0x37, 0xde, 0xe5, 0xac, 0xe0, 0xaa, 0x18, 0x18, 0x5b, 0x1b, 0x55, 0x46, 0x21, 0x5a,
0xe5, 0x3b, 0x6a, 0x80, 0x76, 0x0c, 0x64, 0xa7, 0xdf, 0x17, 0xbc, 0xa9, 0x8e, 0xd1, 0x09, 0x57,
0x59, 0x06, 0x57, 0xe5, 0xec, 0x6e, 0x21, 0x7f, 0x77, 0x5f, 0xba, 0x06, 0xf6, 0x3e, 0xd4, 0x8e,
0xb4, 0x7c, 0x71, 0x64, 0x72, 0x99, 0x29, 0x2e, 0x04, 0x43, 0x43, 0xb4, 0xe1, 0x14, 0xf4, 0xe1,
0xd8, 0x7f, 0x62, 0xf1, 0x94, 0x5b, 0x35, 0x7c, 0xde, 0xb7, 0x0d, 0x75, 0x15, 0xec, 0x48, 0x32,
0xb9, 0x0c, 0x8c, 0xd1, 0xe0, 0x50, 0xba, 0xc1, 0xe9, 0x69, 0x44, 0x65, 0xde, 0x85, 0x81, 0x31,
0x0e, 0x65, 0x3e, 0x0e, 0xf3, 0x17, 0x3c, 0xde, 0x43, 0x24, 0xf2, 0x2f, 0x32, 0x38, 0xd3, 0xb3,
0x21, 0x3d, 0xa3, 0x61, 0xa4, 0x44, 0x4b, 0x95, 0x55, 0xc2, 0x59, 0x7a, 0x95, 0x37, 0xa1, 0xa2,
0xda, 0x35, 0x55, 0x88, 0xa4, 0x54, 0xf5, 0x4c, 0x55, 0xa1, 0xd7, 0x6f, 0x0c, 0x9a, 0xab, 0xcd,
0x6c, 0x05, 0xb9, 0x05, 0xe4, 0xd4, 0x0b, 0xd3, 0xe4, 0x45, 0x24, 0xcf, 0xa9, 0xb1, 0x9f, 0xc2,
0x8a, 0xe8, 0x52, 0x77, 0x6e, 0xcc, 0x4d, 0xb4, 0x2e, 0x62, 0xe4, 0x42, 0x96, 0x91, 0xed, 0xff,
0xb6, 0x60, 0x51, 0xec, 0x74, 0xe6, 0xcd, 0x01, 0xdf, 0x67, 0x03, 0x23, 0x6d, 0x23, 0x65, 0x1c,
0xb9, 0x5e, 0xa8, 0xae, 0x8c, 0x82, 0x2a, 0xe6, 0x29, 0x28, 0x02, 0xa5, 0x89, 0x1b, 0x0f, 0xf1,
0x2c, 0x5b, 0x75, 0xf0, 0x37, 0x69, 0xf1, 0xc8, 0x0b, 0x57, 0x84, 0x18, 0x75, 0xc9, 0x7b, 0x5d,
0xc1, 0xed, 0x6d, 0xf6, 0x75, 0xc5, 0x15, 0xa8, 0xe2, 0x00, 0xba, 0x49, 0x60, 0x25, 0x01, 0x18,
0xe7, 0xf2, 0x02, 0x4a, 0x98, 0x48, 0xec, 0x4c, 0x10, 0x7b, 0x8d, 0xef, 0xbc, 0x58, 0x02, 0x75,
0xdf, 0x25, 0x12, 0xfc, 0x12, 0x38, 0xe1, 0x08, 0x31, 0x80, 0x34, 0x47, 0x08, 0x52, 0x47, 0xd5,
0xdb, 0x1d, 0x68, 0xef, 0xd1, 0x11, 0x8d, 0xe9, 0xce, 0x68, 0x94, 0x6e, 0xff, 0x35, 0xb8, 0x9c,
0x53, 0x27, 0xfc, 0xd9, 0x2f, 0xc0, 0xda, 0x0e, 0x4f, 0x86, 0xfa, 0xb8, 0x32, 0x06, 0xec, 0x36,
0xac, 0xa7, 0x9b, 0x14, 0x9d, 0xdd, 0x83, 0xe5, 0x3d, 0x7a, 0x32, 0x1d, 0x1c, 0xd2, 0xb3, 0xa4,
0x23, 0x02, 0xa5, 0x68, 0x18, 0x9c, 0x0b, 0xc1, 0xc4, 0xdf, 0xe4, 0x75, 0x80, 0x11, 0xa3, 0xe9,
0x46, 0x13, 0xda, 0x93, 0x09, 0xdc, 0x88, 0x1c, 0x4f, 0x68, 0xcf, 0x7e, 0x17, 0x88, 0xde, 0x8e,
0x58, 0x2f, 0x66, 0x8f, 0xa6, 0x27, 0xdd, 0x68, 0x16, 0xc5, 0x74, 0x2c, 0x33, 0xd3, 0x75, 0xc8,
0xbe, 0x01, 0xf5, 0x23, 0x77, 0xe6, 0xd0, 0xaf, 0x89, 0xa7, 0x26, 0x1b, 0xb0, 0x38, 0x71, 0x67,
0x4c, 0x4d, 0xa9, 0x88, 0x0f, 0x56, 0xdb, 0xff, 0x59, 0x80, 0x05, 0x4e, 0xc9, 0x5a, 0xed, 0xd3,
0x28, 0xf6, 0x7c, 0x64, 0x2c, 0xd9, 0xaa, 0x06, 0x65, 0x58, 0xb9, 0x90, 0xc3, 0xca, 0xe2, 0xd4,
0x24, 0x93, 0x61, 0x05, 0xbf, 0x1a, 0x18, 0x63, 0xae, 0x24, 0xab, 0x86, 0x87, 0x1c, 0x12, 0x20,
0x15, 0x1c, 0x4c, 0xac, 0x1e, 0x1f, 0x9f, 0x94, 0x52, 0xc1, 0xb9, 0x3a, 0x94, 0x6b, 0x5b, 0x17,
0x39, 0x83, 0x67, 0x6c, 0x6b, 0xc6, 0x86, 0x56, 0x5e, 0xc1, 0x86, 0xf2, 0xa3, 0xd4, 0xcb, 0x6c,
0x28, 0xbc, 0x82, 0x0d, 0xb5, 0x09, 0xb4, 0xee, 0x51, 0xea, 0x50, 0xe6, 0x9d, 0x49, 0xde, 0xfd,
0x96, 0x05, 0x2d, 0xc1, 0x45, 0xaa, 0x8e, 0xbc, 0x69, 0x78, 0xa1, 0xb9, 0x29, 0xab, 0xd7, 0x61,
0x09, 0x7d, 0x43, 0x15, 0x05, 0x15, 0x21, 0x5b, 0x03, 0x64, 0xf3, 0x90, 0x57, 0x55, 0x63, 0x6f,
0x24, 0x36, 0x45, 0x87, 0x64, 0x20, 0x35, 0x74, 0x45, 0x0a, 0x8b, 0xe5, 0xa8, 0xb2, 0xfd, 0x17,
0x16, 0x2c, 0x6b, 0x03, 0x16, 0x5c, 0x78, 0x07, 0xa4, 0x34, 0xf0, 0x90, 0x28, 0x97, 0xdc, 0x0d,
0x53, 0x6c, 0x92, 0xcf, 0x0c, 0x62, 0xdc, 0x4c, 0x77, 0x86, 0x03, 0x8c, 0xa6, 0x63, 0xa1, 0x44,
0x75, 0x88, 0x31, 0xd2, 0x39, 0xa5, 0xcf, 0x14, 0x09, 0x57, 0xe3, 0x06, 0x86, 0xf9, 0x15, 0xcc,
0xa7, 0x55, 0x44, 0xdc, 0x9e, 0x99, 0xa0, 0xfd, 0x0f, 0x16, 0xac, 0xf0, 0xc3, 0x89, 0x38, 0xfa,
0xa9, 0xf7, 0x04, 0x0b, 0xfc, 0x34, 0xc6, 0x25, 0xf2, 0xe0, 0x92, 0x23, 0xca, 0xe4, 0x33, 0xaf,
0x78, 0xa0, 0x52, 0x79, 0x35, 0x73, 0xf6, 0xa2, 0x98, 0xb7, 0x17, 0x2f, 0x59, 0xe9, 0xbc, 0x10,
0x60, 0x39, 0x37, 0x04, 0x78, 0x77, 0x11, 0xca, 0x51, 0x2f, 0x98, 0x50, 0x7b, 0x1d, 0x56, 0xcd,
0xc9, 0x09, 0x15, 0xf4, 0x6d, 0x0b, 0xda, 0xf7, 0x78, 0xa8, 0xdc, 0xf3, 0x07, 0x07, 0x5e, 0x14,
0x07, 0xa1, 0x7a, 0x5b, 0x75, 0x15, 0x20, 0x8a, 0xdd, 0x30, 0xe6, 0xc9, 0x8e, 0x22, 0x40, 0x97,
0x20, 0x6c, 0x8c, 0xd4, 0xef, 0xf3, 0x5a, 0xbe, 0x37, 0xaa, 0x9c, 0xf1, 0x21, 0xc4, 0xf1, 0xc9,
0xb0, 0xc4, 0x6f, 0xf1, 0x3c, 0x33, 0xe6, 0x2b, 0xd0, 0x33, 0xd4, 0xeb, 0xfc, 0x5c, 0x92, 0x42,
0xed, 0xbf, 0xb7, 0xa0, 0x99, 0x0c, 0x72, 0x9f, 0x81, 0xa6, 0x76, 0x10, 0xe6, 0x37, 0xd1, 0x0e,
0x32, 0x74, 0xe8, 0x31, 0x7b, 0x2c, 0xc6, 0xa6, 0x21, 0x28, 0xb1, 0xa2, 0x14, 0x4c, 0xa5, 0x83,
0xa3, 0x43, 0x3c, 0x6b, 0x84, 0x79, 0x02, 0xc2, 0xab, 0x11, 0x25, 0xcc, 0x55, 0x1d, 0xc7, 0xf8,
0xd5, 0x02, 0x3f, 0x98, 0x89, 0xa2, 0x34, 0xa5, 0x8b, 0x88, 0xa2, 0x29, 0xd5, 0xaf, 0x1d, 0x2a,
0x7c, 0x7d, 0x64, 0xd9, 0xfe, 0xa6, 0x05, 0x97, 0x73, 0x16, 0x5e, 0x48, 0xcd, 0x1e, 0x2c, 0x9f,
0xaa, 0x4a, 0xb9, 0x38, 0x5c, 0x74, 0xd6, 0xe5, 0xbd, 0x8f, 0xb9, 0x20, 0x4e, 0xf6, 0x03, 0xe5,
0x17, 0xf1, 0xe5, 0x36, 0xf2, 0xb2, 0xb2, 0x15, 0x9b, 0x9f, 0x83, 0x9a, 0xf6, 0xe0, 0x89, 0x6c,
0xc0, 0xca, 0xd3, 0x07, 0x8f, 0x1f, 0xee, 0x1f, 0x1f, 0x77, 0x8f, 0x9e, 0xdc, 0xfd, 0xfc, 0xfe,
0x97, 0xba, 0x07, 0x3b, 0xc7, 0x07, 0xad, 0x4b, 0x64, 0x1d, 0xc8, 0xc3, 0xfd, 0xe3, 0xc7, 0xfb,
0x7b, 0x06, 0x6e, 0x6d, 0xff, 0x76, 0x11, 0x1a, 0xfc, 0x3e, 0x91, 0xbf, 0x2a, 0xa7, 0x21, 0xf9,
0x00, 0x16, 0xc5, 0xbf, 0x02, 0x90, 0x35, 0x31, 0x6c, 0xf3, 0x7f, 0x08, 0x3a, 0xeb, 0x69, 0x58,
0xf0, 0xe5, 0xca, 0xaf, 0x7c, 0xff, 0x9f, 0x7f, 0xb7, 0xb0, 0x44, 0x6a, 0x5b, 0x67, 0xef, 0x6c,
0x0d, 0xa8, 0x1f, 0xb1, 0x36, 0x7e, 0x1e, 0x20, 0x79, 0x2f, 0x4f, 0xda, 0xca, 0x1f, 0x4c, 0xfd,
0x11, 0x40, 0xe7, 0x72, 0x4e, 0x8d, 0x68, 0xf7, 0x32, 0xb6, 0xbb, 0x62, 0x37, 0x58, 0xbb, 0x9e,
0xef, 0xc5, 0xfc, 0xf1, 0xfc, 0xfb, 0xd6, 0x26, 0xe9, 0x43, 0x5d, 0x7f, 0x0e, 0x4f, 0x64, 0x58,
0x28, 0xe7, 0x31, 0x7e, 0xe7, 0xb5, 0xdc, 0x3a, 0x19, 0x13, 0xc3, 0x3e, 0xd6, 0xec, 0x16, 0xeb,
0x63, 0x8a, 0x14, 0x49, 0x2f, 0x23, 0x68, 0x98, 0xaf, 0xde, 0xc9, 0x15, 0x4d, 0x65, 0x64, 0xde,
0xdc, 0x77, 0x5e, 0x9f, 0x53, 0x2b, 0xfa, 0x7a, 0x1d, 0xfb, 0xda, 0xb0, 0x09, 0xeb, 0xab, 0x87,
0x34, 0xf2, 0xcd, 0xfd, 0xfb, 0xd6, 0xe6, 0xf6, 0x7f, 0xbc, 0x01, 0x55, 0x15, 0xc8, 0x25, 0x5f,
0x85, 0x25, 0xe3, 0xc2, 0x97, 0xc8, 0x69, 0xe4, 0xdd, 0x0f, 0x77, 0xae, 0xe4, 0x57, 0x8a, 0x8e,
0xaf, 0x62, 0xc7, 0x6d, 0xb2, 0xce, 0x3a, 0x16, 0x37, 0xa6, 0x5b, 0x78, 0xcd, 0xcd, 0xb3, 0x6c,
0x9f, 0xf1, 0x79, 0x26, 0x97, 0xb4, 0xc6, 0x3c, 0x33, 0x97, 0xba, 0xc6, 0x3c, 0xb3, 0x37, 0xbb,
0xf6, 0x15, 0xec, 0x6e, 0x9d, 0xac, 0xea, 0xdd, 0xa9, 0x00, 0x2b, 0xc5, 0xbc, 0x68, 0xfd, 0x91,
0x38, 0x79, 0x5d, 0x31, 0x56, 0xde, 0xe3, 0x71, 0xc5, 0x22, 0xd9, 0x17, 0xe4, 0x76, 0x1b, 0xbb,
0x22, 0x04, 0xb7, 0x4f, 0x7f, 0x23, 0x4e, 0xbe, 0x0c, 0x55, 0xf5, 0xda, 0x91, 0x6c, 0x68, 0x4f,
0x4c, 0xf5, 0x27, 0x98, 0x9d, 0x76, 0xb6, 0x22, 0x8f, 0x31, 0xf4, 0x96, 0x19, 0x63, 0x3c, 0x85,
0x9a, 0xf6, 0xa2, 0x91, 0x5c, 0x56, 0x61, 0xf8, 0xf4, 0xab, 0xc9, 0x4e, 0x27, 0xaf, 0x4a, 0x74,
0xb1, 0x8c, 0x5d, 0xd4, 0x48, 0x15, 0x79, 0x2f, 0x7e, 0x1e, 0x44, 0xe4, 0x10, 0xd6, 0xc4, 0xc1,
0xe5, 0x84, 0xfe, 0x20, 0x4b, 0x94, 0xf3, 0x66, 0xfe, 0xb6, 0x45, 0xee, 0x40, 0x45, 0xbe, 0x4e,
0x25, 0xeb, 0xf9, 0xaf, 0x6c, 0x3b, 0x1b, 0x19, 0x5c, 0xa8, 0xb5, 0x2f, 0x01, 0x24, 0xcf, 0x27,
0x95, 0x00, 0x67, 0x9e, 0x63, 0xaa, 0xdd, 0xc9, 0xbe, 0xb5, 0xb4, 0xd7, 0x71, 0x82, 0x2d, 0x82,
0x02, 0xec, 0xd3, 0x73, 0xf9, 0x52, 0xe0, 0x2b, 0x50, 0xd3, 0x5e, 0x50, 0xaa, 0xe5, 0xcb, 0xbe,
0xbe, 0x54, 0xcb, 0x97, 0xf3, 0xe0, 0xd2, 0xee, 0x60, 0xeb, 0xab, 0x76, 0x93, 0xb5, 0x1e, 0x79,
0x03, 0x7f, 0xcc, 0x09, 0xd8, 0x06, 0x0d, 0x61, 0xc9, 0x78, 0x26, 0xa9, 0xa4, 0x27, 0xef, 0x11,
0xa6, 0x92, 0x9e, 0xdc, 0x97, 0x95, 0x92, 0x9d, 0xed, 0x65, 0xd6, 0xcf, 0x19, 0x92, 0x68, 0x3d,
0x7d, 0x08, 0x35, 0xed, 0xc9, 0xa3, 0x9a, 0x4b, 0xf6, 0x75, 0xa5, 0x9a, 0x4b, 0xde, 0x0b, 0xc9,
0x55, 0xec, 0xa3, 0x61, 0x23, 0x2b, 0x60, 0xa2, 0x3d, 0x6b, 0xfb, 0xab, 0xd0, 0x30, 0x1f, 0x41,
0x2a, 0xb9, 0xcc, 0x7d, 0x4e, 0xa9, 0xe4, 0x72, 0xce, 0xcb, 0x49, 0xc1, 0xd2, 0x9b, 0x2b, 0xaa,
0x93, 0xad, 0x8f, 0xc4, 0xb5, 0xea, 0x0b, 0xf2, 0x05, 0xa6, 0x7c, 0xc4, 0xcb, 0x07, 0xb2, 0xa1,
0x71, 0xad, 0xfe, 0x3e, 0x42, 0xc9, 0x4b, 0xe6, 0x91, 0x84, 0xc9, 0xcc, 0xfc, 0xa9, 0x00, 0x5a,
0x14, 0x7c, 0x01, 0xa1, 0x59, 0x14, 0xfd, 0x91, 0x84, 0x66, 0x51, 0x8c, 0x87, 0x12, 0x69, 0x8b,
0x12, 0x7b, 0xac, 0x0d, 0x1f, 0x9a, 0xa9, 0xe4, 0x22, 0x25, 0x15, 0xf9, 0xd9, 0x98, 0x9d, 0xab,
0x2f, 0xcf, 0x49, 0x32, 0x15, 0x95, 0x54, 0x50, 0x5b, 0x32, 0xf7, 0xf5, 0x17, 0xa0, 0xae, 0x3f,
0x5e, 0x23, 0xba, 0x28, 0xa7, 0x7b, 0x7a, 0x2d, 0xb7, 0xce, 0xdc, 0x5c, 0x52, 0xd7, 0xbb, 0x61,
0x9b, 0x6b, 0xbe, 0xde, 0x49, 0x94, 0x6e, 0xde, 0xa3, 0xa5, 0x44, 0xe9, 0xe6, 0x3e, 0xf9, 0x91,
0x9b, 0x4b, 0x56, 0x8c, 0xb9, 0xf0, 0x08, 0x38, 0xf9, 0x10, 0x9a, 0x5a, 0xe6, 0xde, 0xf1, 0xcc,
0xef, 0x29, 0x46, 0xcd, 0xa6, 0x78, 0x77, 0xf2, 0xfc, 0x62, 0x7b, 0x03, 0xdb, 0x5f, 0xb6, 0x8d,
0x49, 0x30, 0x26, 0xdd, 0x85, 0x9a, 0x9e, 0x15, 0xf8, 0x92, 0x76, 0x37, 0xb4, 0x2a, 0x3d, 0x43,
0xf9, 0xb6, 0x45, 0xfe, 0xc0, 0x82, 0xba, 0x91, 0x63, 0x67, 0xdc, 0xf3, 0xa4, 0xda, 0x69, 0xeb,
0x75, 0x7a, 0x43, 0xb6, 0x83, 0x83, 0x3c, 0xdc, 0xfc, 0x59, 0x63, 0x11, 0x3e, 0x32, 0xce, 0x57,
0xb7, 0xd2, 0x7f, 0x8f, 0xf0, 0x22, 0x4d, 0xa0, 0xa7, 0xc1, 0xbf, 0xb8, 0x6d, 0x91, 0xef, 0x5a,
0xd0, 0x30, 0xa3, 0x02, 0x6a, 0xab, 0x72, 0xe3, 0x0f, 0x6a, 0xab, 0xe6, 0x84, 0x12, 0x3e, 0xc4,
0x51, 0x3e, 0xde, 0x74, 0x8c, 0x51, 0x8a, 0x77, 0x5d, 0x3f, 0xda, 0x68, 0xc9, 0xfb, 0xfc, 0x0f,
0x4d, 0x64, 0xa8, 0x8a, 0x68, 0xda, 0x3d, 0xbd, 0xbd, 0xfa, 0xbf, 0x79, 0xdc, 0xb4, 0x6e, 0x5b,
0xe4, 0x2b, 0xfc, 0x1f, 0x1b, 0xc4, 0xb7, 0xc8, 0x25, 0xaf, 0xfa, 0xbd, 0x7d, 0x1d, 0xe7, 0x74,
0xd5, 0xbe, 0x6c, 0xcc, 0x29, 0x6d, 0x37, 0x77, 0xf8, 0xe8, 0xc4, 0x1f, 0x71, 0x24, 0x8a, 0x3f,
0xf3, 0xe7, 0x1c, 0xf3, 0x07, 0x39, 0xe6, 0x83, 0x14, 0xe4, 0x06, 0x2b, 0xbf, 0x62, 0x33, 0xf6,
0x26, 0x8e, 0xf5, 0xba, 0xfd, 0xc6, 0xdc, 0xb1, 0x6e, 0xe1, 0xd9, 0x9e, 0x8d, 0xf8, 0x08, 0x20,
0x09, 0x2b, 0x93, 0x54, 0x58, 0x53, 0xd9, 0xbe, 0x6c, 0xe4, 0xd9, 0x94, 0x17, 0x19, 0xfd, 0x64,
0x2d, 0x7e, 0x99, 0xab, 0x95, 0x07, 0x32, 0x20, 0xaa, 0x3b, 0x0f, 0x66, 0xfc, 0xd7, 0x70, 0x1e,
0xd2, 0xed, 0x1b, 0x4a, 0x45, 0x45, 0x57, 0x9f, 0xc0, 0xd2, 0x61, 0x10, 0x3c, 0x9b, 0x4e, 0xd4,
0x25, 0x8d, 0x19, 0x76, 0x3b, 0x70, 0xa3, 0x61, 0x27, 0x35, 0x0b, 0xfb, 0x1a, 0x36, 0xd5, 0x21,
0x6d, 0xad, 0xa9, 0xad, 0x8f, 0x92, 0xb0, 0xf5, 0x0b, 0xe2, 0xc2, 0xb2, 0x72, 0x4b, 0xd4, 0xc0,
0x3b, 0x66, 0x33, 0x7a, 0xc0, 0x35, 0xd3, 0x85, 0xe1, 0x81, 0xca, 0xd1, 0x6e, 0x45, 0xb2, 0xcd,
0xdb, 0x16, 0x39, 0x82, 0xfa, 0x1e, 0xed, 0x05, 0x7d, 0x2a, 0x62, 0x57, 0x2b, 0xc9, 0xc0, 0x55,
0xd0, 0xab, 0xb3, 0x64, 0x80, 0xa6, 0xfe, 0x9e, 0xb8, 0xb3, 0x90, 0x7e, 0x6d, 0xeb, 0x23, 0x11,
0x15, 0x7b, 0x21, 0xf5, 0xb7, 0x0c, 0x1b, 0x1a, 0xfa, 0x3b, 0x15, 0x67, 0x34, 0xf4, 0x77, 0x26,
0xce, 0x68, 0x2c, 0xb5, 0x0c, 0x5b, 0x92, 0x11, 0x2c, 0x67, 0x42, 0x93, 0xe4, 0x0d, 0x69, 0x81,
0xe7, 0x04, 0x34, 0x3b, 0xd7, 0xe6, 0x13, 0x98, 0xbd, 0x6d, 0x9a, 0xbd, 0x1d, 0xc3, 0xd2, 0x1e,
0xe5, 0x8b, 0xc5, 0x33, 0x41, 0x52, 0x0f, 0x3a, 0xf5, 0x3c, 0x93, 0xb4, 0x02, 0xc7, 0x3a, 0xd3,
0x40, 0x63, 0x1a, 0x06, 0xf9, 0x32, 0xd4, 0xee, 0xd3, 0x58, 0xa6, 0x7e, 0x28, 0x17, 0x31, 0x95,
0x0b, 0xd2, 0xc9, 0xc9, 0x1c, 0x31, 0x79, 0x06, 0x5b, 0xdb, 0xa2, 0xfd, 0x01, 0xe5, 0xca, 0xa9,
0xeb, 0xf5, 0x5f, 0x90, 0x9f, 0xc3, 0xc6, 0x55, 0xee, 0xd9, 0xba, 0x96, 0x31, 0xa0, 0x37, 0xde,
0x4c, 0xe1, 0x79, 0x2d, 0xfb, 0x41, 0x9f, 0x6a, 0xae, 0x8a, 0x0f, 0x35, 0x2d, 0x65, 0x52, 0x09,
0x50, 0x36, 0xfd, 0x53, 0x09, 0x50, 0x4e, 0x86, 0xa5, 0x7d, 0x13, 0xfb, 0xb1, 0xc9, 0xb5, 0xa4,
0x1f, 0x9e, 0x55, 0x99, 0xf4, 0xb4, 0xf5, 0x91, 0x3b, 0x8e, 0x5f, 0x90, 0xa7, 0xf8, 0xb8, 0x53,
0x4f, 0x6f, 0x49, 0x7c, 0xde, 0x74, 0x26, 0x8c, 0x5a, 0x2c, 0xad, 0xca, 0xf4, 0x83, 0x79, 0x57,
0xe8, 0xd1, 0x7c, 0x06, 0xe0, 0x38, 0x0e, 0x26, 0x7b, 0x2e, 0x1d, 0x07, 0x7e, 0xa2, 0x6b, 0x93,
0x14, 0x8e, 0x44, 0x7f, 0x69, 0x79, 0x1c, 0xe4, 0xa9, 0x76, 0x48, 0x30, 0xb2, 0x83, 0x24, 0x73,
0xcd, 0xcd, 0xf2, 0x50, 0x0b, 0x92, 0x93, 0xe9, 0x71, 0xdb, 0x22, 0x3b, 0x00, 0x49, 0x6c, 0x5a,
0xb9, 0xfc, 0x99, 0xb0, 0xb7, 0x52, 0x7b, 0x39, 0x81, 0xec, 0x23, 0xa8, 0x26, 0xc1, 0xce, 0x8d,
0x24, 0xed, 0xd5, 0x08, 0x8d, 0x2a, 0x0b, 0x9e, 0x09, 0x41, 0xda, 0x2d, 0x5c, 0x2a, 0x20, 0x15,
0xb6, 0x54, 0x18, 0x57, 0xf4, 0x60, 0x85, 0x0f, 0x50, 0xb9, 0x23, 0x98, 0x94, 0x20, 0x67, 0x92,
0x13, 0x06, 0x54, 0xd2, 0x9c, 0x1b, 0x45, 0x33, 0xa2, 0x0a, 0x8c, 0x5b, 0x79, 0x42, 0x04, 0x53,
0xcd, 0x63, 0x58, 0xce, 0x84, 0x79, 0x94, 0x48, 0xcf, 0x8b, 0xbc, 0x29, 0x91, 0x9e, 0x1b, 0x21,
0xb2, 0xd7, 0xb0, 0xcb, 0xa6, 0x0d, 0x78, 0x52, 0x39, 0xf7, 0xe2, 0xde, 0xf0, 0x7d, 0x6b, 0xf3,
0xee, 0x8d, 0x0f, 0x7f, 0x6c, 0xe0, 0xc5, 0xc3, 0xe9, 0xc9, 0xad, 0x5e, 0x30, 0xde, 0x1a, 0xc9,
0xa3, 0xbf, 0x48, 0x2d, 0xda, 0x1a, 0xf9, 0xfd, 0x2d, 0x6c, 0xf9, 0x64, 0x01, 0xff, 0x19, 0xf2,
0x53, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x46, 0xeb, 0x55, 0xda, 0x4b, 0x52, 0x00, 0x00,
}

@ -1191,7 +1191,6 @@ message CloseChannelRequest {
message CloseStatusUpdate {
oneof update {
PendingUpdate close_pending = 1 [json_name = "close_pending"];
ConfirmationUpdate confirmation = 2 [json_name = "confirmation"];
ChannelCloseUpdate chan_close = 3 [json_name = "chan_close"];
}
}
@ -1238,7 +1237,6 @@ message OpenChannelRequest {
message OpenStatusUpdate {
oneof update {
PendingUpdate chan_pending = 1 [json_name = "chan_pending"];
ConfirmationUpdate confirmation = 2 [json_name = "confirmation"];
ChannelOpenUpdate chan_open = 3 [json_name = "chan_open"];
}
}

@ -1599,9 +1599,6 @@
"close_pending": {
"$ref": "#/definitions/lnrpcPendingUpdate"
},
"confirmation": {
"$ref": "#/definitions/lnrpcConfirmationUpdate"
},
"chan_close": {
"$ref": "#/definitions/lnrpcChannelCloseUpdate"
}
@ -1639,23 +1636,6 @@
}
}
},
"lnrpcConfirmationUpdate": {
"type": "object",
"properties": {
"block_sha": {
"type": "string",
"format": "byte"
},
"block_height": {
"type": "integer",
"format": "int32"
},
"num_confs_left": {
"type": "integer",
"format": "int64"
}
}
},
"lnrpcConnectPeerRequest": {
"type": "object",
"properties": {
@ -2420,9 +2400,6 @@
"chan_pending": {
"$ref": "#/definitions/lnrpcPendingUpdate"
},
"confirmation": {
"$ref": "#/definitions/lnrpcConfirmationUpdate"
},
"chan_open": {
"$ref": "#/definitions/lnrpcChannelOpenUpdate"
}

31
peer.go

@ -23,7 +23,6 @@ import (
"github.com/lightningnetwork/lnd/contractcourt"
"github.com/lightningnetwork/lnd/htlcswitch"
"github.com/lightningnetwork/lnd/lnpeer"
"github.com/lightningnetwork/lnd/lnrpc"
"github.com/lightningnetwork/lnd/lnwallet"
"github.com/lightningnetwork/lnd/lnwire"
"github.com/lightningnetwork/lnd/ticker"
@ -85,6 +84,18 @@ type chanSnapshotReq struct {
resp chan []*channeldb.ChannelSnapshot
}
// pendingUpdate describes the pending state of a closing channel.
type pendingUpdate struct {
Txid []byte
OutputIndex uint32
}
// channelCloseUpdate contains the outcome of the close channel operation.
type channelCloseUpdate struct {
ClosingTxid []byte
Success bool
}
// peer is an active peer on the Lightning Network. This struct is responsible
// for managing any channel state related to this peer. To do so, it has
// several helper goroutines to handle events such as HTLC timeouts, new
@ -2037,12 +2048,8 @@ func (p *peer) finalizeChanClosure(chanCloser *channelCloser) {
// If this is a locally requested shutdown, update the caller with a
// new event detailing the current pending state of this request.
if closeReq != nil {
closeReq.Updates <- &lnrpc.CloseStatusUpdate{
Update: &lnrpc.CloseStatusUpdate_ClosePending{
ClosePending: &lnrpc.PendingUpdate{
Txid: closingTxid[:],
},
},
closeReq.Updates <- &pendingUpdate{
Txid: closingTxid[:],
}
}
@ -2052,13 +2059,9 @@ func (p *peer) finalizeChanClosure(chanCloser *channelCloser) {
// Respond to the local subsystem which requested the
// channel closure.
if closeReq != nil {
closeReq.Updates <- &lnrpc.CloseStatusUpdate{
Update: &lnrpc.CloseStatusUpdate_ChanClose{
ChanClose: &lnrpc.ChannelCloseUpdate{
ClosingTxid: closingTxid[:],
Success: true,
},
},
closeReq.Updates <- &channelCloseUpdate{
ClosingTxid: closingTxid[:],
Success: true,
}
}
})

@ -10,7 +10,6 @@ import (
"github.com/btcsuite/btcutil"
"github.com/lightningnetwork/lnd/chainntnfs"
"github.com/lightningnetwork/lnd/htlcswitch"
"github.com/lightningnetwork/lnd/lnrpc"
"github.com/lightningnetwork/lnd/lnwallet"
"github.com/lightningnetwork/lnd/lnwire"
)
@ -121,7 +120,7 @@ func TestPeerChannelClosureAcceptFeeInitiator(t *testing.T) {
defer cleanUp()
// We make the initiator send a shutdown request.
updateChan := make(chan *lnrpc.CloseStatusUpdate, 1)
updateChan := make(chan interface{}, 1)
errChan := make(chan error, 1)
closeCommand := &htlcswitch.ChanClose{
CloseType: htlcswitch.CloseRegular,
@ -410,7 +409,7 @@ func TestPeerChannelClosureFeeNegotiationsInitiator(t *testing.T) {
defer cleanUp()
// We make the initiator send a shutdown request.
updateChan := make(chan *lnrpc.CloseStatusUpdate, 1)
updateChan := make(chan interface{}, 1)
errChan := make(chan error, 1)
closeCommand := &htlcswitch.ChanClose{
CloseType: htlcswitch.CloseRegular,

@ -1419,7 +1419,7 @@ func (r *rpcServer) CloseChannel(in *lnrpc.CloseChannelRequest,
chanPoint, force)
var (
updateChan chan *lnrpc.CloseStatusUpdate
updateChan chan interface{}
errChan chan error
)
@ -1472,13 +1472,9 @@ func (r *rpcServer) CloseChannel(in *lnrpc.CloseChannelRequest,
// With the transaction broadcast, we send our first update to
// the client.
updateChan = make(chan *lnrpc.CloseStatusUpdate, 2)
updateChan <- &lnrpc.CloseStatusUpdate{
Update: &lnrpc.CloseStatusUpdate_ClosePending{
ClosePending: &lnrpc.PendingUpdate{
Txid: closingTxid[:],
},
},
updateChan = make(chan interface{}, 2)
updateChan <- &pendingUpdate{
Txid: closingTxid[:],
}
errChan = make(chan error, 1)
@ -1487,13 +1483,9 @@ func (r *rpcServer) CloseChannel(in *lnrpc.CloseChannelRequest,
&closingTxid, closingTx.TxOut[0].PkScript, func() {
// Respond to the local subsystem which
// requested the channel closure.
updateChan <- &lnrpc.CloseStatusUpdate{
Update: &lnrpc.CloseStatusUpdate_ChanClose{
ChanClose: &lnrpc.ChannelCloseUpdate{
ClosingTxid: closingTxid[:],
Success: true,
},
},
updateChan <- &channelCloseUpdate{
ClosingTxid: closingTxid[:],
Success: true,
}
})
} else {
@ -1544,18 +1536,26 @@ out:
"ChannelPoint(%v): %v", chanPoint, err)
return err
case closingUpdate := <-updateChan:
rpcClosingUpdate, err := createRPCCloseUpdate(
closingUpdate,
)
if err != nil {
return err
}
rpcsLog.Tracef("[closechannel] sending update: %v",
closingUpdate)
if err := updateStream.Send(closingUpdate); err != nil {
rpcClosingUpdate)
if err := updateStream.Send(rpcClosingUpdate); err != nil {
return err
}
// If a final channel closing updates is being sent,
// then we can break out of our dispatch loop as we no
// longer need to process any further updates.
switch closeUpdate := closingUpdate.Update.(type) {
case *lnrpc.CloseStatusUpdate_ChanClose:
h, _ := chainhash.NewHash(closeUpdate.ChanClose.ClosingTxid)
switch closeUpdate := closingUpdate.(type) {
case *channelCloseUpdate:
h, _ := chainhash.NewHash(closeUpdate.ClosingTxid)
rpcsLog.Infof("[closechannel] close completed: "+
"txid(%v)", h)
break out
@ -1568,6 +1568,32 @@ out:
return nil
}
func createRPCCloseUpdate(update interface{}) (
*lnrpc.CloseStatusUpdate, error) {
switch u := update.(type) {
case *channelCloseUpdate:
return &lnrpc.CloseStatusUpdate{
Update: &lnrpc.CloseStatusUpdate_ChanClose{
ChanClose: &lnrpc.ChannelCloseUpdate{
ClosingTxid: u.ClosingTxid,
},
},
}, nil
case *pendingUpdate:
return &lnrpc.CloseStatusUpdate{
Update: &lnrpc.CloseStatusUpdate_ClosePending{
ClosePending: &lnrpc.PendingUpdate{
Txid: u.Txid,
OutputIndex: u.OutputIndex,
},
},
}, nil
}
return nil, errors.New("unknown close status update")
}
// AbandonChannel removes all channel state from the database except for a
// close summary. This method can be used to get rid of permanently unusable
// channels due to bugs fixed in newer versions of lnd.