lnrpc: extend Route to include millisatoshis

This commit is contained in:
t4sk 2018-04-12 16:34:31 +08:00
parent eab87140e9
commit 31feeca51a
4 changed files with 487 additions and 386 deletions

@ -519,7 +519,9 @@ func (m *ChannelPoint) String() string { return proto.CompactTextStri
func (*ChannelPoint) ProtoMessage() {} func (*ChannelPoint) ProtoMessage() {}
func (*ChannelPoint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } func (*ChannelPoint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
type isChannelPoint_FundingTxid interface{ isChannelPoint_FundingTxid() } type isChannelPoint_FundingTxid interface {
isChannelPoint_FundingTxid()
}
type ChannelPoint_FundingTxidBytes struct { type ChannelPoint_FundingTxidBytes struct {
FundingTxidBytes []byte `protobuf:"bytes,1,opt,name=funding_txid_bytes,proto3,oneof"` FundingTxidBytes []byte `protobuf:"bytes,1,opt,name=funding_txid_bytes,proto3,oneof"`
@ -1606,7 +1608,9 @@ func (m *CloseStatusUpdate) String() string { return proto.CompactTex
func (*CloseStatusUpdate) ProtoMessage() {} func (*CloseStatusUpdate) ProtoMessage() {}
func (*CloseStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} } func (*CloseStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} }
type isCloseStatusUpdate_Update interface{ isCloseStatusUpdate_Update() } type isCloseStatusUpdate_Update interface {
isCloseStatusUpdate_Update()
}
type CloseStatusUpdate_ClosePending struct { type CloseStatusUpdate_ClosePending struct {
ClosePending *PendingUpdate `protobuf:"bytes,1,opt,name=close_pending,oneof"` ClosePending *PendingUpdate `protobuf:"bytes,1,opt,name=close_pending,oneof"`
@ -1869,7 +1873,9 @@ func (m *OpenStatusUpdate) String() string { return proto.CompactText
func (*OpenStatusUpdate) ProtoMessage() {} func (*OpenStatusUpdate) ProtoMessage() {}
func (*OpenStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} } func (*OpenStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{44} }
type isOpenStatusUpdate_Update interface{ isOpenStatusUpdate_Update() } type isOpenStatusUpdate_Update interface {
isOpenStatusUpdate_Update()
}
type OpenStatusUpdate_ChanPending struct { type OpenStatusUpdate_ChanPending struct {
ChanPending *PendingUpdate `protobuf:"bytes,1,opt,name=chan_pending,oneof"` ChanPending *PendingUpdate `protobuf:"bytes,1,opt,name=chan_pending,oneof"`
@ -2482,11 +2488,13 @@ type Hop struct {
// The unique channel ID for the channel. The first 3 bytes are the block // The unique channel ID for the channel. The first 3 bytes are the block
// height, the next 3 the index within the block, and the last 2 bytes are the // height, the next 3 the index within the block, and the last 2 bytes are the
// output index for the channel. // output index for the channel.
ChanId uint64 `protobuf:"varint,1,opt,name=chan_id" json:"chan_id,omitempty"` ChanId uint64 `protobuf:"varint,1,opt,name=chan_id" json:"chan_id,omitempty"`
ChanCapacity int64 `protobuf:"varint,2,opt,name=chan_capacity" json:"chan_capacity,omitempty"` ChanCapacity int64 `protobuf:"varint,2,opt,name=chan_capacity" json:"chan_capacity,omitempty"`
AmtToForward int64 `protobuf:"varint,3,opt,name=amt_to_forward" json:"amt_to_forward,omitempty"` AmtToForward int64 `protobuf:"varint,3,opt,name=amt_to_forward" json:"amt_to_forward,omitempty"`
Fee int64 `protobuf:"varint,4,opt,name=fee" json:"fee,omitempty"` Fee int64 `protobuf:"varint,4,opt,name=fee" json:"fee,omitempty"`
Expiry uint32 `protobuf:"varint,5,opt,name=expiry" json:"expiry,omitempty"` Expiry uint32 `protobuf:"varint,5,opt,name=expiry" json:"expiry,omitempty"`
AmtToForwardMsat int64 `protobuf:"varint,6,opt,name=amt_to_forward_msat" json:"amt_to_forward_msat,omitempty"`
FeeMsat int64 `protobuf:"varint,7,opt,name=fee_msat" json:"fee_msat,omitempty"`
} }
func (m *Hop) Reset() { *m = Hop{} } func (m *Hop) Reset() { *m = Hop{} }
@ -2529,6 +2537,20 @@ func (m *Hop) GetExpiry() uint32 {
return 0 return 0
} }
func (m *Hop) GetAmtToForwardMsat() int64 {
if m != nil {
return m.AmtToForwardMsat
}
return 0
}
func (m *Hop) GetFeeMsat() int64 {
if m != nil {
return m.FeeMsat
}
return 0
}
// * // *
// A path through the channel graph which runs over one or more channels in // A path through the channel graph which runs over one or more channels in
// succession. This struct carries all the information required to craft the // succession. This struct carries all the information required to craft the
@ -2557,6 +2579,12 @@ type Route struct {
// * // *
// Contains details concerning the specific forwarding details at each hop. // Contains details concerning the specific forwarding details at each hop.
Hops []*Hop `protobuf:"bytes,4,rep,name=hops" json:"hops,omitempty"` Hops []*Hop `protobuf:"bytes,4,rep,name=hops" json:"hops,omitempty"`
// *
// The total fees in millisatoshis.
TotalFeesMsat int64 `protobuf:"varint,5,opt,name=total_fees_msat" json:"total_fees_msat,omitempty"`
// *
// The total amount in millisatoshis.
TotalAmtMsat int64 `protobuf:"varint,6,opt,name=total_amt_msat" json:"total_amt_msat,omitempty"`
} }
func (m *Route) Reset() { *m = Route{} } func (m *Route) Reset() { *m = Route{} }
@ -2592,6 +2620,20 @@ func (m *Route) GetHops() []*Hop {
return nil return nil
} }
func (m *Route) GetTotalFeesMsat() int64 {
if m != nil {
return m.TotalFeesMsat
}
return 0
}
func (m *Route) GetTotalAmtMsat() int64 {
if m != nil {
return m.TotalAmtMsat
}
return 0
}
type NodeInfoRequest struct { type NodeInfoRequest struct {
// / The 33-byte hex-encoded compressed public of the target node // / The 33-byte hex-encoded compressed public of the target node
PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey" json:"pub_key,omitempty"` PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey" json:"pub_key,omitempty"`
@ -3776,7 +3818,9 @@ func (m *PolicyUpdateRequest) String() string { return proto.CompactT
func (*PolicyUpdateRequest) ProtoMessage() {} func (*PolicyUpdateRequest) ProtoMessage() {}
func (*PolicyUpdateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{92} } func (*PolicyUpdateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{92} }
type isPolicyUpdateRequest_Scope interface{ isPolicyUpdateRequest_Scope() } type isPolicyUpdateRequest_Scope interface {
isPolicyUpdateRequest_Scope()
}
type PolicyUpdateRequest_Global struct { type PolicyUpdateRequest_Global struct {
Global bool `protobuf:"varint,1,opt,name=global,oneof"` Global bool `protobuf:"varint,1,opt,name=global,oneof"`
@ -6159,343 +6203,346 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("rpc.proto", fileDescriptor0) } func init() { proto.RegisterFile("rpc.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{ var fileDescriptor0 = []byte{
// 5394 bytes of a gzipped FileDescriptorProto // 5446 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x3c, 0x4d, 0x93, 0x1c, 0xc9, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x7c, 0xcd, 0x93, 0x1c, 0xc9,
0x55, 0xaa, 0x9e, 0x9e, 0x8f, 0x7e, 0xdd, 0xf3, 0x95, 0x33, 0x1a, 0xb5, 0x7a, 0xb5, 0x5a, 0x6d, 0x55, 0xb8, 0xaa, 0xa7, 0xe7, 0xa3, 0x5f, 0xf7, 0x7c, 0xe5, 0x8c, 0x46, 0xad, 0x5e, 0x59, 0xab,
0x79, 0x63, 0x25, 0xc4, 0xa2, 0xd1, 0x8e, 0xed, 0x65, 0x59, 0xc1, 0x3a, 0xf4, 0x3d, 0x6b, 0x6b, 0x4d, 0x6f, 0x58, 0xfa, 0xcd, 0x6f, 0xd1, 0x68, 0xc7, 0xf6, 0xb2, 0xac, 0xc0, 0x0e, 0x7d, 0xcf,
0xe5, 0x71, 0x8d, 0xe4, 0x05, 0x2f, 0xd0, 0xae, 0xe9, 0xce, 0xe9, 0x29, 0xab, 0xbb, 0xaa, 0xb6, 0xda, 0x5a, 0x79, 0x5c, 0x23, 0x79, 0xc1, 0x0b, 0xb4, 0x6b, 0xba, 0x73, 0x7a, 0xca, 0xea, 0xae,
0x2a, 0x7b, 0x46, 0xbd, 0x8b, 0x22, 0xf8, 0x88, 0xe0, 0x84, 0xc3, 0x07, 0x88, 0x20, 0x0c, 0xe1, 0xaa, 0xad, 0xaa, 0x9e, 0x51, 0xef, 0xa2, 0x08, 0x3e, 0x22, 0x38, 0xe1, 0xe0, 0x00, 0x17, 0x43,
0x20, 0xc2, 0xbe, 0xc0, 0x81, 0x23, 0x27, 0x13, 0xfc, 0x00, 0x47, 0x10, 0x1c, 0x7c, 0x72, 0x70, 0x38, 0x88, 0xb0, 0x2f, 0x70, 0xe0, 0xc8, 0xc9, 0x04, 0x7f, 0x80, 0x23, 0x08, 0x0e, 0x3e, 0x39,
0xe3, 0xe3, 0x02, 0x67, 0x2e, 0x1c, 0x08, 0xe2, 0xbd, 0xfc, 0xa8, 0xcc, 0xaa, 0x1a, 0x49, 0xb6, 0xb8, 0xf1, 0x71, 0x00, 0x82, 0x23, 0x17, 0x0e, 0x04, 0xf1, 0x5e, 0x7e, 0x54, 0x66, 0x55, 0x8d,
0xc1, 0xb7, 0xce, 0x97, 0x2f, 0x5f, 0x7e, 0xbd, 0xf7, 0xf2, 0x7d, 0x55, 0x43, 0x2b, 0x4b, 0x07, 0x24, 0xdb, 0xc0, 0xad, 0xf3, 0xe5, 0xcb, 0x97, 0x5f, 0xef, 0xbd, 0x7c, 0x5f, 0xd5, 0xd0, 0x4a,
0xd7, 0xd2, 0x2c, 0x11, 0x09, 0x9b, 0x1f, 0xc7, 0x59, 0x3a, 0xe8, 0x5d, 0x18, 0x25, 0xc9, 0x68, 0x93, 0xc1, 0xf5, 0x24, 0x8d, 0xf3, 0x98, 0xcd, 0x8f, 0xa3, 0x34, 0x19, 0xf4, 0x2e, 0x8d, 0xe2,
0xcc, 0xb7, 0xc3, 0x34, 0xda, 0x0e, 0xe3, 0x38, 0x11, 0xa1, 0x88, 0x92, 0x38, 0x97, 0x48, 0xfe, 0x78, 0x34, 0x16, 0x3b, 0x41, 0x12, 0xee, 0x04, 0x51, 0x14, 0xe7, 0x41, 0x1e, 0xc6, 0x51, 0x26,
0x37, 0x61, 0xe5, 0x3e, 0x8f, 0xf7, 0x39, 0x1f, 0x06, 0xfc, 0x93, 0x29, 0xcf, 0x05, 0xfb, 0x65, 0x91, 0xf8, 0xb7, 0x60, 0xe5, 0x81, 0x88, 0x0e, 0x84, 0x18, 0xfa, 0xe2, 0xe3, 0xa9, 0xc8, 0x72,
0x58, 0x0f, 0xf9, 0xa7, 0x9c, 0x0f, 0xfb, 0x69, 0x98, 0xe7, 0xe9, 0x51, 0x16, 0xe6, 0xbc, 0xeb, 0xf6, 0xff, 0x61, 0x3d, 0x10, 0x9f, 0x08, 0x31, 0xec, 0x27, 0x41, 0x96, 0x25, 0xc7, 0x69, 0x90,
0x5d, 0xf2, 0xae, 0x74, 0x82, 0x35, 0xd9, 0xb1, 0x67, 0xe0, 0xec, 0x75, 0xe8, 0xe4, 0x88, 0xca, 0x89, 0xae, 0x77, 0xc5, 0xbb, 0xd6, 0xf1, 0xd7, 0x64, 0xc7, 0xbe, 0x81, 0xb3, 0x37, 0xa0, 0x93,
0x63, 0x91, 0x25, 0xe9, 0xac, 0xdb, 0x20, 0xbc, 0x36, 0xc2, 0xee, 0x4a, 0x90, 0x3f, 0x86, 0x55, 0x21, 0xaa, 0x88, 0xf2, 0x34, 0x4e, 0x66, 0xdd, 0x06, 0xe1, 0xb5, 0x11, 0x76, 0x4f, 0x82, 0xf8,
0x33, 0x43, 0x9e, 0x26, 0x71, 0xce, 0xd9, 0x75, 0xd8, 0x1c, 0x44, 0xe9, 0x11, 0xcf, 0xfa, 0x34, 0x18, 0x56, 0xcd, 0x0c, 0x59, 0x12, 0x47, 0x99, 0x60, 0x37, 0x60, 0x73, 0x10, 0x26, 0xc7, 0x22,
0x78, 0x12, 0xf3, 0x49, 0x12, 0x47, 0x83, 0xae, 0x77, 0x69, 0xee, 0x4a, 0x2b, 0x60, 0xb2, 0x0f, 0xed, 0xd3, 0xe0, 0x49, 0x24, 0x26, 0x71, 0x14, 0x0e, 0xba, 0xde, 0x95, 0xb9, 0x6b, 0x2d, 0x9f,
0x47, 0x7c, 0xa8, 0x7a, 0xd8, 0x65, 0x58, 0xe5, 0xb1, 0x84, 0xf3, 0x21, 0x8d, 0x52, 0x53, 0xad, 0xc9, 0x3e, 0x1c, 0xf1, 0x81, 0xea, 0x61, 0x57, 0x61, 0x55, 0x44, 0x12, 0x2e, 0x86, 0x34, 0x4a,
0x14, 0x60, 0x1c, 0xe0, 0xff, 0xa5, 0x07, 0xeb, 0x1f, 0xc4, 0x91, 0xf8, 0x28, 0x1c, 0x8f, 0xb9, 0x4d, 0xb5, 0x52, 0x80, 0x71, 0x00, 0xff, 0x53, 0x0f, 0xd6, 0xdf, 0x8f, 0xc2, 0xfc, 0xc3, 0x60,
0xd0, 0x7b, 0xba, 0x0c, 0xab, 0x27, 0x04, 0xa0, 0x3d, 0x9d, 0x24, 0xd9, 0x50, 0xed, 0x68, 0x45, 0x3c, 0x16, 0xb9, 0xde, 0xd3, 0x55, 0x58, 0x3d, 0x25, 0x00, 0xed, 0xe9, 0x34, 0x4e, 0x87, 0x6a,
0x82, 0xf7, 0x14, 0xf4, 0xd4, 0x95, 0x35, 0x4e, 0x5d, 0x59, 0xed, 0x71, 0xcd, 0xd5, 0x1f, 0x97, 0x47, 0x2b, 0x12, 0xbc, 0xaf, 0xa0, 0x67, 0xae, 0xac, 0x71, 0xe6, 0xca, 0x6a, 0x8f, 0x6b, 0xae,
0xbf, 0x09, 0xcc, 0x5e, 0x9c, 0x3c, 0x0e, 0xff, 0x7d, 0xd8, 0x78, 0x1c, 0x8f, 0x93, 0xc1, 0x93, 0xfe, 0xb8, 0xf8, 0x26, 0x30, 0x7b, 0x71, 0xf2, 0x38, 0xf8, 0x97, 0x60, 0xe3, 0x49, 0x34, 0x8e,
0x9f, 0x6d, 0xd1, 0xfe, 0x16, 0x6c, 0xba, 0xe3, 0x15, 0xdd, 0xef, 0x36, 0xa0, 0xfd, 0x28, 0x0b, 0x07, 0x4f, 0x7f, 0xb6, 0x45, 0xf3, 0x2d, 0xd8, 0x74, 0xc7, 0x2b, 0xba, 0xdf, 0x6d, 0x40, 0xfb,
0xe3, 0x3c, 0x1c, 0xe0, 0x95, 0xb3, 0x2e, 0x2c, 0x8a, 0xa7, 0xfd, 0xa3, 0x30, 0x3f, 0x22, 0x42, 0x71, 0x1a, 0x44, 0x59, 0x30, 0xc0, 0x2b, 0x67, 0x5d, 0x58, 0xcc, 0x9f, 0xf5, 0x8f, 0x83, 0xec,
0xad, 0x40, 0x37, 0xd9, 0x16, 0x2c, 0x84, 0x93, 0x64, 0x1a, 0x0b, 0x3a, 0xd5, 0xb9, 0x40, 0xb5, 0x98, 0x08, 0xb5, 0x7c, 0xdd, 0x64, 0x5b, 0xb0, 0x10, 0x4c, 0xe2, 0x69, 0x94, 0xd3, 0xa9, 0xce,
0xd8, 0x5b, 0xb0, 0x1e, 0x4f, 0x27, 0xfd, 0x41, 0x12, 0x1f, 0x46, 0xd9, 0x44, 0x32, 0x0e, 0x6d, 0xf9, 0xaa, 0xc5, 0xde, 0x82, 0xf5, 0x68, 0x3a, 0xe9, 0x0f, 0xe2, 0xe8, 0x28, 0x4c, 0x27, 0x92,
0x6e, 0x3e, 0xa8, 0x76, 0xb0, 0x8b, 0x00, 0x07, 0xb8, 0x0c, 0x39, 0x45, 0x93, 0xa6, 0xb0, 0x20, 0x71, 0x68, 0x73, 0xf3, 0x7e, 0xb5, 0x83, 0x5d, 0x06, 0x38, 0xc4, 0x65, 0xc8, 0x29, 0x9a, 0x34,
0xcc, 0x87, 0x8e, 0x6a, 0xf1, 0x68, 0x74, 0x24, 0xba, 0xf3, 0x44, 0xc8, 0x81, 0x21, 0x0d, 0x11, 0x85, 0x05, 0x61, 0x1c, 0x3a, 0xaa, 0x25, 0xc2, 0xd1, 0x71, 0xde, 0x9d, 0x27, 0x42, 0x0e, 0x0c,
0x4d, 0x78, 0x3f, 0x17, 0xe1, 0x24, 0xed, 0x2e, 0xd0, 0x6a, 0x2c, 0x08, 0xf5, 0x27, 0x22, 0x1c, 0x69, 0xe4, 0xe1, 0x44, 0xf4, 0xb3, 0x3c, 0x98, 0x24, 0xdd, 0x05, 0x5a, 0x8d, 0x05, 0xa1, 0xfe,
0xf7, 0x0f, 0x39, 0xcf, 0xbb, 0x8b, 0xaa, 0xdf, 0x40, 0xd8, 0x9b, 0xb0, 0x32, 0xe4, 0xb9, 0xe8, 0x38, 0x0f, 0xc6, 0xfd, 0x23, 0x21, 0xb2, 0xee, 0xa2, 0xea, 0x37, 0x10, 0xf6, 0x39, 0x58, 0x19,
0x87, 0xc3, 0x61, 0xc6, 0xf3, 0x9c, 0xe7, 0xdd, 0x25, 0xba, 0xba, 0x12, 0xd4, 0xef, 0xc2, 0xd6, 0x8a, 0x2c, 0xef, 0x07, 0xc3, 0x61, 0x2a, 0xb2, 0x4c, 0x64, 0xdd, 0x25, 0xba, 0xba, 0x12, 0x94,
0x7d, 0x2e, 0xac, 0xd3, 0xc9, 0xd5, 0xb1, 0xfb, 0x0f, 0x80, 0x59, 0xe0, 0x3b, 0x5c, 0x84, 0xd1, 0x77, 0x61, 0xeb, 0x81, 0xc8, 0xad, 0xd3, 0xc9, 0xd4, 0xb1, 0xf3, 0x87, 0xc0, 0x2c, 0xf0, 0x5d,
0x38, 0x67, 0xef, 0x40, 0x47, 0x58, 0xc8, 0xc4, 0xaa, 0xed, 0x1d, 0x76, 0x8d, 0x64, 0xec, 0x9a, 0x91, 0x07, 0xe1, 0x38, 0x63, 0xef, 0x40, 0x27, 0xb7, 0x90, 0x89, 0x55, 0xdb, 0xbb, 0xec, 0x3a,
0x35, 0x20, 0x70, 0xf0, 0xfc, 0xff, 0xf6, 0xa0, 0xbd, 0xcf, 0x63, 0x23, 0x5d, 0x0c, 0x9a, 0xb8, 0xc9, 0xd8, 0x75, 0x6b, 0x80, 0xef, 0xe0, 0xf1, 0xff, 0xf4, 0xa0, 0x7d, 0x20, 0x22, 0x23, 0x5d,
0x12, 0x75, 0x93, 0xf4, 0x9b, 0xbd, 0x06, 0x6d, 0x5a, 0x5d, 0x2e, 0xb2, 0x28, 0x1e, 0xd1, 0x15, 0x0c, 0x9a, 0xb8, 0x12, 0x75, 0x93, 0xf4, 0x9b, 0xbd, 0x0e, 0x6d, 0x5a, 0x5d, 0x96, 0xa7, 0x61,
0xb4, 0x02, 0x40, 0xd0, 0x3e, 0x41, 0xd8, 0x1a, 0xcc, 0x85, 0x13, 0x41, 0x07, 0x3f, 0x17, 0xe0, 0x34, 0xa2, 0x2b, 0x68, 0xf9, 0x80, 0xa0, 0x03, 0x82, 0xb0, 0x35, 0x98, 0x0b, 0x26, 0x39, 0x1d,
0x4f, 0x94, 0xbb, 0x34, 0x9c, 0x4d, 0x78, 0x2c, 0x8a, 0xc3, 0xee, 0x04, 0x6d, 0x05, 0xdb, 0xc5, 0xfc, 0x9c, 0x8f, 0x3f, 0x51, 0xee, 0x92, 0x60, 0x36, 0x11, 0x51, 0x5e, 0x1c, 0x76, 0xc7, 0x6f,
0xd3, 0xbe, 0x06, 0x1b, 0x36, 0x8a, 0xa6, 0x3e, 0x4f, 0xd4, 0xd7, 0x2d, 0x4c, 0x35, 0xc9, 0x65, 0x2b, 0xd8, 0x1e, 0x9e, 0xf6, 0x75, 0xd8, 0xb0, 0x51, 0x34, 0xf5, 0x79, 0xa2, 0xbe, 0x6e, 0x61,
0x58, 0xd5, 0xf8, 0x99, 0x5c, 0x2c, 0x1d, 0x7f, 0x2b, 0x58, 0x51, 0x60, 0xbd, 0x85, 0x2b, 0xb0, 0xaa, 0x49, 0xae, 0xc2, 0xaa, 0xc6, 0x4f, 0xe5, 0x62, 0xe9, 0xf8, 0x5b, 0xfe, 0x8a, 0x02, 0xeb,
0x76, 0x18, 0xc5, 0xe1, 0xb8, 0x3f, 0x18, 0x8b, 0xe3, 0xfe, 0x90, 0x8f, 0x45, 0x48, 0x17, 0x31, 0x2d, 0x5c, 0x83, 0xb5, 0xa3, 0x30, 0x0a, 0xc6, 0xfd, 0xc1, 0x38, 0x3f, 0xe9, 0x0f, 0xc5, 0x38,
0x1f, 0xac, 0x10, 0xfc, 0xf6, 0x58, 0x1c, 0xdf, 0x41, 0xa8, 0xff, 0x67, 0x1e, 0x74, 0xe4, 0xe6, 0x0f, 0xe8, 0x22, 0xe6, 0xfd, 0x15, 0x82, 0xdf, 0x19, 0xe7, 0x27, 0x77, 0x11, 0xca, 0xff, 0xd8,
0x95, 0xe0, 0xbf, 0x01, 0xcb, 0x7a, 0x0e, 0x9e, 0x65, 0x49, 0xa6, 0xf8, 0xd0, 0x05, 0xb2, 0xab, 0x83, 0x8e, 0xdc, 0xbc, 0x12, 0xfc, 0x37, 0x61, 0x59, 0xcf, 0x21, 0xd2, 0x34, 0x4e, 0x15, 0x1f,
0xb0, 0xa6, 0x01, 0x69, 0xc6, 0xa3, 0x49, 0x38, 0xe2, 0x4a, 0xda, 0x2b, 0x70, 0xb6, 0x53, 0x50, 0xba, 0x40, 0xb6, 0x0d, 0x6b, 0x1a, 0x90, 0xa4, 0x22, 0x9c, 0x04, 0x23, 0xa1, 0xa4, 0xbd, 0x02,
0xcc, 0x92, 0xa9, 0x90, 0xa2, 0xd7, 0xde, 0xe9, 0xa8, 0x8b, 0x09, 0x10, 0x16, 0xb8, 0x28, 0xfe, 0x67, 0xbb, 0x05, 0xc5, 0x34, 0x9e, 0xe6, 0x52, 0xf4, 0xda, 0xbb, 0x1d, 0x75, 0x31, 0x3e, 0xc2,
0xf7, 0x3d, 0xe8, 0xdc, 0x3e, 0x0a, 0xe3, 0x98, 0x8f, 0xf7, 0x92, 0x28, 0x16, 0xec, 0x3a, 0xb0, 0x7c, 0x17, 0x85, 0x7f, 0xdf, 0x83, 0xce, 0x9d, 0xe3, 0x20, 0x8a, 0xc4, 0x78, 0x3f, 0x0e, 0xa3,
0xc3, 0x69, 0x3c, 0x8c, 0xe2, 0x51, 0x5f, 0x3c, 0x8d, 0x86, 0xfd, 0x83, 0x99, 0xe0, 0xb9, 0xbc, 0x9c, 0xdd, 0x00, 0x76, 0x34, 0x8d, 0x86, 0x61, 0x34, 0xea, 0xe7, 0xcf, 0xc2, 0x61, 0xff, 0x70,
0xa2, 0xdd, 0x33, 0x41, 0x4d, 0x1f, 0x7b, 0x0b, 0xd6, 0x1c, 0x68, 0x2e, 0x32, 0x79, 0x6f, 0xbb, 0x96, 0x8b, 0x4c, 0x5e, 0xd1, 0xde, 0x39, 0xbf, 0xa6, 0x8f, 0xbd, 0x05, 0x6b, 0x0e, 0x34, 0xcb,
0x67, 0x82, 0x4a, 0x0f, 0x32, 0x7e, 0x32, 0x15, 0xe9, 0x54, 0xf4, 0xa3, 0x78, 0xc8, 0x9f, 0xd2, 0x53, 0x79, 0x6f, 0x7b, 0xe7, 0xfc, 0x4a, 0x0f, 0x32, 0x7e, 0x3c, 0xcd, 0x93, 0x69, 0xde, 0x0f,
0x1a, 0x97, 0x03, 0x07, 0x76, 0x6b, 0x05, 0x3a, 0xf6, 0x38, 0xff, 0x7d, 0x58, 0x7b, 0x80, 0x12, 0xa3, 0xa1, 0x78, 0x46, 0x6b, 0x5c, 0xf6, 0x1d, 0xd8, 0xed, 0x15, 0xe8, 0xd8, 0xe3, 0xf8, 0x97,
0x11, 0x47, 0xf1, 0xe8, 0xa6, 0x64, 0x5b, 0x14, 0xd3, 0x74, 0x7a, 0xf0, 0x84, 0xcf, 0xd4, 0xb9, 0x60, 0xed, 0x21, 0x4a, 0x44, 0x14, 0x46, 0xa3, 0x5b, 0x92, 0x6d, 0x51, 0x4c, 0x93, 0xe9, 0xe1,
0xa9, 0x16, 0x32, 0xd5, 0x51, 0x92, 0x0b, 0xc5, 0x39, 0xf4, 0xdb, 0xff, 0x57, 0x0f, 0x56, 0xf1, 0x53, 0x31, 0x53, 0xe7, 0xa6, 0x5a, 0xc8, 0x54, 0xc7, 0x71, 0x96, 0x2b, 0xce, 0xa1, 0xdf, 0xfc,
0xec, 0x3f, 0x0c, 0xe3, 0x99, 0xbe, 0xb9, 0x07, 0xd0, 0x41, 0x52, 0x8f, 0x92, 0x9b, 0x52, 0xd8, 0x1f, 0x3d, 0x58, 0xc5, 0xb3, 0xff, 0x20, 0x88, 0x66, 0xfa, 0xe6, 0x1e, 0x42, 0x07, 0x49, 0x3d,
0x25, 0x13, 0x5f, 0x51, 0x67, 0x55, 0xc2, 0xbe, 0x66, 0xa3, 0xa2, 0x32, 0x9f, 0x05, 0xce, 0x68, 0x8e, 0x6f, 0x49, 0x61, 0x97, 0x4c, 0x7c, 0x4d, 0x9d, 0x55, 0x09, 0xfb, 0xba, 0x8d, 0x8a, 0xca,
0x64, 0x5b, 0x11, 0x66, 0x23, 0x2e, 0x48, 0x0d, 0x28, 0xb5, 0x00, 0x12, 0x74, 0x3b, 0x89, 0x0f, 0x7c, 0xe6, 0x3b, 0xa3, 0x91, 0x6d, 0xf3, 0x20, 0x1d, 0x89, 0x9c, 0xd4, 0x80, 0x52, 0x0b, 0x20,
0xd9, 0x25, 0xe8, 0xe4, 0xa1, 0xe8, 0xa7, 0x3c, 0xa3, 0x53, 0x23, 0xd6, 0x9b, 0x0b, 0x20, 0x0f, 0x41, 0x77, 0xe2, 0xe8, 0x88, 0x5d, 0x81, 0x4e, 0x16, 0xe4, 0xfd, 0x44, 0xa4, 0x74, 0x6a, 0xc4,
0xc5, 0x1e, 0xcf, 0x6e, 0xcd, 0x04, 0xef, 0x7d, 0x09, 0xd6, 0x2b, 0xb3, 0x20, 0xb7, 0x17, 0x5b, 0x7a, 0x73, 0x3e, 0x64, 0x41, 0xbe, 0x2f, 0xd2, 0xdb, 0xb3, 0x5c, 0xf4, 0xbe, 0x0c, 0xeb, 0x95,
0xc4, 0x9f, 0x6c, 0x13, 0xe6, 0x8f, 0xc3, 0xf1, 0x94, 0x2b, 0xed, 0x24, 0x1b, 0xef, 0x35, 0xde, 0x59, 0x90, 0xdb, 0x8b, 0x2d, 0xe2, 0x4f, 0xb6, 0x09, 0xf3, 0x27, 0xc1, 0x78, 0x2a, 0x94, 0x76,
0xf5, 0xfc, 0x37, 0x61, 0xad, 0x58, 0xb6, 0x62, 0x32, 0x06, 0x4d, 0x3c, 0x41, 0x45, 0x80, 0x7e, 0x92, 0x8d, 0xf7, 0x1a, 0xef, 0x7a, 0xfc, 0x73, 0xb0, 0x56, 0x2c, 0x5b, 0x31, 0x19, 0x83, 0x26,
0xfb, 0x7f, 0xe0, 0x49, 0xc4, 0xdb, 0x49, 0x64, 0x24, 0x1d, 0x11, 0x51, 0x21, 0x68, 0x44, 0xfc, 0x9e, 0xa0, 0x22, 0x40, 0xbf, 0xf9, 0xef, 0x78, 0x12, 0xf1, 0x4e, 0x1c, 0x1a, 0x49, 0x47, 0x44,
0x7d, 0xaa, 0x26, 0xfc, 0xf9, 0x37, 0xeb, 0x5f, 0x86, 0x75, 0x6b, 0x09, 0xcf, 0x59, 0xec, 0xb7, 0x54, 0x08, 0x1a, 0x11, 0x7f, 0x9f, 0xa9, 0x09, 0x7f, 0xfe, 0xcd, 0xf2, 0xab, 0xb0, 0x6e, 0x2d,
0x3d, 0x58, 0x7f, 0xc8, 0x4f, 0xd4, 0xad, 0xeb, 0xd5, 0xbe, 0x0b, 0x4d, 0x31, 0x4b, 0xe5, 0x53, 0xe1, 0x05, 0x8b, 0xfd, 0x8e, 0x07, 0xeb, 0x8f, 0xc4, 0xa9, 0xba, 0x75, 0xbd, 0xda, 0x77, 0xa1,
0xbc, 0xb2, 0xf3, 0x86, 0xba, 0xb4, 0x0a, 0xde, 0x35, 0xd5, 0x7c, 0x34, 0x4b, 0x79, 0x40, 0x23, 0x99, 0xcf, 0x12, 0xf9, 0x14, 0xaf, 0xec, 0xbe, 0xa9, 0x2e, 0xad, 0x82, 0x77, 0x5d, 0x35, 0x1f,
0xfc, 0xf7, 0xa1, 0x6d, 0x01, 0xd9, 0x39, 0xd8, 0xf8, 0xe8, 0x83, 0x47, 0x0f, 0xef, 0xee, 0xef, 0xcf, 0x12, 0xe1, 0xd3, 0x08, 0xfe, 0x25, 0x68, 0x5b, 0x40, 0x76, 0x01, 0x36, 0x3e, 0x7c, 0xff,
0xf7, 0xf7, 0x1e, 0xdf, 0xfa, 0xca, 0xdd, 0xdf, 0xea, 0xef, 0xde, 0xdc, 0xdf, 0x5d, 0x3b, 0xc3, 0xf1, 0xa3, 0x7b, 0x07, 0x07, 0xfd, 0xfd, 0x27, 0xb7, 0xbf, 0x7a, 0xef, 0xd7, 0xfa, 0x7b, 0xb7,
0xb6, 0x80, 0x3d, 0xbc, 0xbb, 0xff, 0xe8, 0xee, 0x1d, 0x07, 0xee, 0xf9, 0x3d, 0xe8, 0x3e, 0xe4, 0x0e, 0xf6, 0xd6, 0xce, 0xb1, 0x2d, 0x60, 0x8f, 0xee, 0x1d, 0x3c, 0xbe, 0x77, 0xd7, 0x81, 0x7b,
0x27, 0x1f, 0x45, 0x22, 0xe6, 0x79, 0xee, 0xce, 0xe6, 0x5f, 0x03, 0x66, 0x2f, 0x41, 0xed, 0xaa, 0xbc, 0x07, 0xdd, 0x47, 0xe2, 0xf4, 0xc3, 0x30, 0x8f, 0x44, 0x96, 0xb9, 0xb3, 0xf1, 0xeb, 0xc0,
0x0b, 0x8b, 0x4a, 0xd5, 0xea, 0x97, 0x46, 0x35, 0xfd, 0x37, 0x81, 0xed, 0x47, 0xa3, 0xf8, 0x43, 0xec, 0x25, 0xa8, 0x5d, 0x75, 0x61, 0x51, 0xa9, 0x5a, 0xfd, 0xd2, 0xa8, 0x26, 0xff, 0x1c, 0xb0,
0x9e, 0xe7, 0xe1, 0x88, 0xeb, 0xbd, 0xad, 0xc1, 0xdc, 0x24, 0x1f, 0x29, 0xa5, 0x88, 0x3f, 0xfd, 0x83, 0x70, 0x14, 0x7d, 0x20, 0xb2, 0x2c, 0x18, 0x09, 0xbd, 0xb7, 0x35, 0x98, 0x9b, 0x64, 0x23,
0xcf, 0xc3, 0x86, 0x83, 0xa7, 0x08, 0x5f, 0x80, 0x56, 0x1e, 0x8d, 0xe2, 0x50, 0x4c, 0x33, 0xae, 0xa5, 0x14, 0xf1, 0x27, 0xff, 0x3c, 0x6c, 0x38, 0x78, 0x8a, 0xf0, 0x25, 0x68, 0x65, 0xe1, 0x28,
0x48, 0x17, 0x00, 0xff, 0x1e, 0x6c, 0x7e, 0x9d, 0x67, 0xd1, 0xe1, 0xec, 0x45, 0xe4, 0x5d, 0x3a, 0x0a, 0xf2, 0x69, 0x2a, 0x14, 0xe9, 0x02, 0xc0, 0xef, 0xc3, 0xe6, 0x37, 0x44, 0x1a, 0x1e, 0xcd,
0x8d, 0x32, 0x9d, 0xbb, 0x70, 0xb6, 0x44, 0x47, 0x4d, 0x2f, 0x19, 0x51, 0x5d, 0xd7, 0x52, 0x20, 0x5e, 0x46, 0xde, 0xa5, 0xd3, 0x28, 0xd3, 0xb9, 0x07, 0xe7, 0x4b, 0x74, 0xd4, 0xf4, 0x92, 0x11,
0x1b, 0x96, 0x58, 0x36, 0x6c, 0xb1, 0xf4, 0x1f, 0x03, 0xbb, 0x9d, 0xc4, 0x31, 0x1f, 0x88, 0x3d, 0xd5, 0x75, 0x2d, 0xf9, 0xb2, 0x61, 0x89, 0x65, 0xc3, 0x16, 0x4b, 0xfe, 0x04, 0xd8, 0x9d, 0x38,
0xce, 0xb3, 0xc2, 0xbe, 0x2a, 0xb8, 0xae, 0xbd, 0x73, 0x4e, 0xdd, 0x63, 0x59, 0xd6, 0x15, 0x3b, 0x8a, 0xc4, 0x20, 0xdf, 0x17, 0x22, 0x2d, 0xec, 0xab, 0x82, 0xeb, 0xda, 0xbb, 0x17, 0xd4, 0x3d,
0x32, 0x68, 0xa6, 0x3c, 0x9b, 0x10, 0xe1, 0xa5, 0x80, 0x7e, 0xfb, 0x67, 0x61, 0xc3, 0x21, 0xab, 0x96, 0x65, 0x5d, 0xb1, 0x23, 0x83, 0x66, 0x22, 0xd2, 0x09, 0x11, 0x5e, 0xf2, 0xe9, 0x37, 0x3f,
0x5e, 0xfb, 0xb7, 0xe1, 0xec, 0x9d, 0x28, 0x1f, 0x54, 0x27, 0xec, 0xc2, 0x62, 0x3a, 0x3d, 0xe8, 0x0f, 0x1b, 0x0e, 0x59, 0xf5, 0xda, 0xbf, 0x0d, 0xe7, 0xef, 0x86, 0xd9, 0xa0, 0x3a, 0x61, 0x17,
0x17, 0x32, 0xa5, 0x9b, 0xf8, 0x08, 0x96, 0x87, 0x28, 0x62, 0x7f, 0xec, 0x41, 0x73, 0xf7, 0xd1, 0x16, 0x93, 0xe9, 0x61, 0xbf, 0x90, 0x29, 0xdd, 0xc4, 0x47, 0xb0, 0x3c, 0x44, 0x11, 0xfb, 0x7d,
0x83, 0xdb, 0xac, 0x07, 0x4b, 0x51, 0x3c, 0x48, 0x26, 0xf8, 0x74, 0xc8, 0x4d, 0x9b, 0xf6, 0xa9, 0x0f, 0x9a, 0x7b, 0x8f, 0x1f, 0xde, 0x61, 0x3d, 0x58, 0x0a, 0xa3, 0x41, 0x3c, 0xc1, 0xa7, 0x43,
0xb2, 0x72, 0x01, 0x5a, 0xf4, 0xe2, 0xe0, 0xbb, 0xae, 0x4c, 0xa1, 0x02, 0x80, 0x36, 0x05, 0x7f, 0x6e, 0xda, 0xb4, 0xcf, 0x94, 0x95, 0x4b, 0xd0, 0xa2, 0x17, 0x07, 0xdf, 0x75, 0x65, 0x0a, 0x15,
0x9a, 0x46, 0x19, 0x19, 0x0d, 0xda, 0x14, 0x68, 0x92, 0x46, 0xac, 0x76, 0xf8, 0xff, 0xd3, 0x84, 0x00, 0xb4, 0x29, 0xc4, 0xb3, 0x24, 0x4c, 0xc9, 0x68, 0xd0, 0xa6, 0x40, 0x93, 0x34, 0x62, 0xb5,
0x45, 0xa5, 0xab, 0x69, 0xbe, 0x81, 0x88, 0x8e, 0xb9, 0x5a, 0x89, 0x6a, 0xe1, 0xab, 0x92, 0xf1, 0x83, 0xff, 0x57, 0x13, 0x16, 0x95, 0xae, 0xa6, 0xf9, 0x06, 0x79, 0x78, 0x22, 0xd4, 0x4a, 0x54,
0x49, 0x22, 0x78, 0xdf, 0xb9, 0x06, 0x17, 0x88, 0x58, 0x03, 0x49, 0xa8, 0x9f, 0xa2, 0xd6, 0xa7, 0x0b, 0x5f, 0x95, 0x54, 0x4c, 0xe2, 0x5c, 0xf4, 0x9d, 0x6b, 0x70, 0x81, 0x88, 0x35, 0x90, 0x84,
0x95, 0xb5, 0x02, 0x17, 0x88, 0x87, 0x85, 0x80, 0x7e, 0x34, 0xa4, 0x35, 0x35, 0x03, 0xdd, 0xc4, 0xfa, 0x09, 0x6a, 0x7d, 0x5a, 0x59, 0xcb, 0x77, 0x81, 0x78, 0x58, 0x08, 0xe8, 0x87, 0x43, 0x5a,
0x93, 0x18, 0x84, 0x69, 0x38, 0x88, 0xc4, 0x4c, 0x09, 0xb7, 0x69, 0x23, 0xed, 0x71, 0x32, 0x08, 0x53, 0xd3, 0xd7, 0x4d, 0x3c, 0x89, 0x41, 0x90, 0x04, 0x83, 0x30, 0x9f, 0x29, 0xe1, 0x36, 0x6d,
0xc7, 0xfd, 0x83, 0x70, 0x1c, 0xc6, 0x03, 0xae, 0x0c, 0x17, 0x17, 0x88, 0xb6, 0x89, 0x5a, 0x92, 0xa4, 0x3d, 0x8e, 0x07, 0xc1, 0xb8, 0x7f, 0x18, 0x8c, 0x83, 0x68, 0x20, 0x94, 0xe1, 0xe2, 0x02,
0x46, 0x93, 0xf6, 0x4b, 0x09, 0x8a, 0x36, 0xce, 0x20, 0x99, 0x4c, 0x22, 0x81, 0x26, 0x4d, 0x77, 0xd1, 0x36, 0x51, 0x4b, 0xd2, 0x68, 0xd2, 0x7e, 0x29, 0x41, 0xd1, 0xc6, 0x19, 0xc4, 0x93, 0x49,
0x49, 0x2a, 0x92, 0x02, 0x42, 0x3b, 0x91, 0xad, 0x13, 0x79, 0x7a, 0x2d, 0x39, 0x9b, 0x03, 0x44, 0x98, 0xa3, 0x49, 0xd3, 0x5d, 0x92, 0x8a, 0xa4, 0x80, 0xd0, 0x4e, 0x64, 0xeb, 0x54, 0x9e, 0x5e,
0x2a, 0x87, 0x9c, 0x93, 0x42, 0x7a, 0x72, 0xd2, 0x05, 0x49, 0xa5, 0x80, 0xe0, 0x3d, 0x4c, 0xe3, 0x4b, 0xce, 0xe6, 0x00, 0x91, 0xca, 0x91, 0x10, 0xa4, 0x90, 0x9e, 0x9e, 0x76, 0x41, 0x52, 0x29,
0x9c, 0x0b, 0x31, 0xe6, 0x43, 0xb3, 0xa0, 0x36, 0xa1, 0x55, 0x3b, 0xd8, 0x75, 0xd8, 0x90, 0x56, 0x20, 0x78, 0x0f, 0xd3, 0x28, 0x13, 0x79, 0x3e, 0x16, 0x43, 0xb3, 0xa0, 0x36, 0xa1, 0x55, 0x3b,
0x56, 0x1e, 0x8a, 0x24, 0x3f, 0x8a, 0xf2, 0x7e, 0xce, 0x63, 0xd1, 0xed, 0x10, 0x7e, 0x5d, 0x17, 0xd8, 0x0d, 0xd8, 0x90, 0x56, 0x56, 0x16, 0xe4, 0x71, 0x76, 0x1c, 0x66, 0xfd, 0x4c, 0x44, 0x79,
0x7b, 0x17, 0xce, 0x95, 0xc0, 0x19, 0x1f, 0xf0, 0xe8, 0x98, 0x0f, 0xbb, 0xcb, 0x34, 0xea, 0xb4, 0xb7, 0x43, 0xf8, 0x75, 0x5d, 0xec, 0x5d, 0xb8, 0x50, 0x02, 0xa7, 0x62, 0x20, 0xc2, 0x13, 0x31,
0x6e, 0x76, 0x09, 0xda, 0x68, 0x5c, 0x4e, 0xd3, 0x61, 0x88, 0xef, 0xf0, 0x0a, 0xdd, 0x83, 0x0d, 0xec, 0x2e, 0xd3, 0xa8, 0xb3, 0xba, 0xd9, 0x15, 0x68, 0xa3, 0x71, 0x39, 0x4d, 0x86, 0x01, 0xbe,
0x62, 0x6f, 0xc3, 0x72, 0xca, 0xe5, 0x63, 0x79, 0x24, 0xc6, 0x83, 0xbc, 0xbb, 0x4a, 0x2f, 0x59, 0xc3, 0x2b, 0x74, 0x0f, 0x36, 0x88, 0xbd, 0x0d, 0xcb, 0x89, 0x90, 0x8f, 0xe5, 0x71, 0x3e, 0x1e,
0x5b, 0x09, 0x13, 0x72, 0x6e, 0xe0, 0x62, 0x20, 0x53, 0x0e, 0x72, 0x32, 0x57, 0xc2, 0x59, 0x77, 0x64, 0xdd, 0x55, 0x7a, 0xc9, 0xda, 0x4a, 0x98, 0x90, 0x73, 0x7d, 0x17, 0x03, 0x99, 0x72, 0x90,
0x8d, 0xd8, 0xad, 0x00, 0x90, 0x8c, 0x64, 0xd1, 0x71, 0x28, 0x78, 0x77, 0x9d, 0x78, 0x4b, 0x37, 0x91, 0xb9, 0x12, 0xcc, 0xba, 0x6b, 0xc4, 0x6e, 0x05, 0x80, 0x64, 0x24, 0x0d, 0x4f, 0x82, 0x5c,
0xfd, 0xbf, 0xf2, 0x60, 0xe3, 0x41, 0x94, 0x0b, 0xc5, 0x84, 0x46, 0x1d, 0xbf, 0x06, 0x6d, 0xc9, 0x74, 0xd7, 0x89, 0xb7, 0x74, 0x93, 0xff, 0x99, 0x07, 0x1b, 0x0f, 0xc3, 0x2c, 0x57, 0x4c, 0x68,
0x7e, 0xfd, 0x24, 0x1e, 0xcf, 0x14, 0x47, 0x82, 0x04, 0x7d, 0x35, 0x1e, 0xcf, 0xd8, 0xe7, 0x60, 0xd4, 0xf1, 0xeb, 0xd0, 0x96, 0xec, 0xd7, 0x8f, 0xa3, 0xf1, 0x4c, 0x71, 0x24, 0x48, 0xd0, 0xd7,
0x39, 0x8a, 0x6d, 0x14, 0x29, 0xc3, 0x1d, 0x0d, 0x24, 0xa4, 0xd7, 0xa0, 0x9d, 0x4e, 0x0f, 0xc6, 0xa2, 0xf1, 0x8c, 0x7d, 0x16, 0x96, 0xc3, 0xc8, 0x46, 0x91, 0x32, 0xdc, 0xd1, 0x40, 0x42, 0x7a,
0xd1, 0x40, 0xa2, 0xcc, 0x49, 0x2a, 0x12, 0x44, 0x08, 0x68, 0xe8, 0xc9, 0x95, 0x48, 0x8c, 0x26, 0x1d, 0xda, 0xc9, 0xf4, 0x70, 0x1c, 0x0e, 0x24, 0xca, 0x9c, 0xa4, 0x22, 0x41, 0x84, 0x80, 0x86,
0x61, 0xb4, 0x15, 0x0c, 0x51, 0xfc, 0x5b, 0xb0, 0xe9, 0x2e, 0x50, 0x29, 0xab, 0xab, 0xb0, 0xa4, 0x9e, 0x5c, 0x89, 0xc4, 0x68, 0x12, 0x46, 0x5b, 0xc1, 0x10, 0x85, 0xdf, 0x86, 0x4d, 0x77, 0x81,
0x78, 0x3b, 0xef, 0xb6, 0xe9, 0x7c, 0x56, 0xd4, 0xf9, 0x28, 0xd4, 0xc0, 0xf4, 0xfb, 0xff, 0xe1, 0x4a, 0x59, 0x6d, 0xc3, 0x92, 0xe2, 0xed, 0xac, 0xdb, 0xa6, 0xf3, 0x59, 0x51, 0xe7, 0xa3, 0x50,
0x41, 0x13, 0x15, 0xc0, 0xe9, 0xca, 0xc2, 0xd6, 0xe9, 0x73, 0x8e, 0x4e, 0x27, 0xbb, 0x1f, 0xad, 0x7d, 0xd3, 0xcf, 0xff, 0xd5, 0x83, 0x26, 0x2a, 0x80, 0xb3, 0x95, 0x85, 0xad, 0xd3, 0xe7, 0x1c,
0x22, 0xc9, 0x12, 0x52, 0x6c, 0x2c, 0x48, 0xd1, 0x9f, 0xf1, 0xc1, 0x31, 0xc9, 0x8e, 0xe9, 0x47, 0x9d, 0x4e, 0x76, 0x3f, 0x5a, 0x45, 0x92, 0x25, 0xa4, 0xd8, 0x58, 0x90, 0xa2, 0x3f, 0x15, 0x83,
0x08, 0x4a, 0x16, 0x3e, 0x9d, 0x34, 0x5a, 0x0a, 0x8e, 0x69, 0xeb, 0x3e, 0x1a, 0xb9, 0x58, 0xf4, 0x13, 0x92, 0x1d, 0xd3, 0x8f, 0x10, 0x94, 0x2c, 0x7c, 0x3a, 0x69, 0xb4, 0x14, 0x1c, 0xd3, 0xd6,
0xd1, 0xb8, 0x2e, 0x2c, 0x46, 0xf1, 0x41, 0x32, 0x8d, 0x87, 0x24, 0x24, 0x4b, 0x81, 0x6e, 0xe2, 0x7d, 0x34, 0x72, 0xb1, 0xe8, 0xa3, 0x71, 0x5d, 0x58, 0x0c, 0xa3, 0xc3, 0x78, 0x1a, 0x0d, 0x49,
0x65, 0xa7, 0x64, 0x49, 0x45, 0x13, 0xae, 0xa4, 0xa3, 0x00, 0xf8, 0x0c, 0x4d, 0xab, 0x9c, 0x14, 0x48, 0x96, 0x7c, 0xdd, 0xc4, 0xcb, 0x4e, 0xc8, 0x92, 0x0a, 0x27, 0x42, 0x49, 0x47, 0x01, 0xe0,
0x9e, 0x79, 0xc7, 0xde, 0x81, 0x75, 0x0b, 0xa6, 0x4e, 0xf0, 0x75, 0x98, 0x4f, 0x11, 0xa0, 0x0c, 0x0c, 0x4d, 0xab, 0x8c, 0x14, 0x9e, 0x79, 0xc7, 0xde, 0x81, 0x75, 0x0b, 0xa6, 0x4e, 0xf0, 0x0d,
0x25, 0xcd, 0x5e, 0xa4, 0x29, 0x65, 0x8f, 0xbf, 0x86, 0xfe, 0xb3, 0xf8, 0x20, 0x3e, 0x4c, 0x34, 0x98, 0x4f, 0x10, 0xa0, 0x0c, 0x25, 0xcd, 0x5e, 0xa4, 0x29, 0x65, 0x0f, 0x5f, 0x43, 0xff, 0x39,
0xa5, 0x9f, 0xcc, 0xa1, 0xc3, 0xab, 0x40, 0x8a, 0xd0, 0x15, 0x58, 0x8d, 0x86, 0x3c, 0x16, 0x91, 0x7f, 0x3f, 0x3a, 0x8a, 0x35, 0xa5, 0x9f, 0xcc, 0xa1, 0xc3, 0xab, 0x40, 0x8a, 0xd0, 0x35, 0x58,
0x98, 0xf5, 0x1d, 0x0b, 0xae, 0x0c, 0xc6, 0x17, 0x26, 0x1c, 0x47, 0x61, 0xae, 0x74, 0x98, 0x6c, 0x0d, 0x87, 0x22, 0xca, 0xc3, 0x7c, 0xd6, 0x77, 0x2c, 0xb8, 0x32, 0x18, 0x5f, 0x98, 0x60, 0x1c,
0xb0, 0x1d, 0xd8, 0x44, 0xf6, 0xd7, 0x1c, 0x6d, 0xae, 0x55, 0x1a, 0x92, 0xb5, 0x7d, 0x28, 0xb1, 0x06, 0x99, 0xd2, 0x61, 0xb2, 0xc1, 0x76, 0x61, 0x13, 0xd9, 0x5f, 0x73, 0xb4, 0xb9, 0x56, 0x69,
0x08, 0x57, 0x1c, 0x68, 0x86, 0x48, 0x4d, 0x5b, 0xd7, 0x85, 0xa7, 0x26, 0x29, 0xe1, 0x96, 0xe7, 0x48, 0xd6, 0xf6, 0xa1, 0xc4, 0x22, 0x5c, 0x71, 0xa0, 0x19, 0x22, 0x35, 0x6d, 0x5d, 0x17, 0x9e,
0xa5, 0x88, 0x18, 0x40, 0xc5, 0x7b, 0x5b, 0x90, 0x46, 0x6c, 0xd9, 0x7b, 0xb3, 0x3c, 0xc0, 0xa5, 0x9a, 0xa4, 0x84, 0x5b, 0x9e, 0x97, 0x22, 0x62, 0x00, 0x15, 0xef, 0x6d, 0x41, 0x1a, 0xb1, 0x65,
0x8a, 0x07, 0x78, 0x05, 0x56, 0xf3, 0x59, 0x3c, 0xe0, 0xc3, 0xbe, 0x48, 0x70, 0xde, 0x28, 0xa6, 0xef, 0xcd, 0xf2, 0x00, 0x97, 0x2a, 0x1e, 0xe0, 0x35, 0x58, 0xcd, 0x66, 0xd1, 0x40, 0x0c, 0xfb,
0xdb, 0x59, 0x0a, 0xca, 0x60, 0xf2, 0x55, 0x79, 0x2e, 0x62, 0x2e, 0x48, 0x75, 0x2d, 0x05, 0xba, 0x79, 0x8c, 0xf3, 0x86, 0x11, 0xdd, 0xce, 0x92, 0x5f, 0x06, 0x93, 0xaf, 0x2a, 0xb2, 0x3c, 0x12,
0x89, 0xaf, 0x00, 0xa1, 0x48, 0xa6, 0x6e, 0x05, 0xaa, 0x85, 0x4f, 0xe5, 0x34, 0x8b, 0xf2, 0x6e, 0x39, 0xa9, 0xae, 0x25, 0x5f, 0x37, 0xf1, 0x15, 0x20, 0x14, 0xc9, 0xd4, 0x2d, 0x5f, 0xb5, 0xf0,
0x87, 0xa0, 0xf4, 0x9b, 0x7d, 0x01, 0xce, 0x1e, 0xa0, 0x67, 0x75, 0xc4, 0xc3, 0x21, 0xcf, 0xe8, 0xa9, 0x9c, 0xa6, 0x61, 0xd6, 0xed, 0x10, 0x94, 0x7e, 0xb3, 0x2f, 0xc0, 0xf9, 0x43, 0xf4, 0xac,
0xf6, 0xa5, 0x63, 0x29, 0x35, 0x50, 0x7d, 0x27, 0xce, 0x7d, 0xcc, 0xb3, 0x3c, 0x4a, 0x62, 0xd2, 0x8e, 0x45, 0x30, 0x14, 0x29, 0xdd, 0xbe, 0x74, 0x2c, 0xa5, 0x06, 0xaa, 0xef, 0xc4, 0xb9, 0x4f,
0x3d, 0xad, 0x40, 0x37, 0xfd, 0x4f, 0xe9, 0x45, 0x37, 0x2e, 0xef, 0x63, 0x52, 0x47, 0xec, 0x15, 0x44, 0x9a, 0x85, 0x71, 0x44, 0xba, 0xa7, 0xe5, 0xeb, 0x26, 0xff, 0x84, 0x5e, 0x74, 0xe3, 0xf2,
0x68, 0xc9, 0x3d, 0xe6, 0x47, 0xa1, 0x32, 0x32, 0x96, 0x08, 0xb0, 0x7f, 0x14, 0xa2, 0x00, 0x3b, 0x3e, 0x21, 0x75, 0xc4, 0x5e, 0x83, 0x96, 0xdc, 0x63, 0x76, 0x1c, 0x28, 0x23, 0x63, 0x89, 0x00,
0xc7, 0xd6, 0x20, 0xcb, 0xb1, 0x4d, 0xb0, 0x5d, 0x79, 0x6a, 0x6f, 0xc0, 0x8a, 0x76, 0xa6, 0xf3, 0x07, 0xc7, 0x01, 0x0a, 0xb0, 0x73, 0x6c, 0x0d, 0xb2, 0x1c, 0xdb, 0x04, 0xdb, 0x93, 0xa7, 0xf6,
0xfe, 0x98, 0x1f, 0x0a, 0xed, 0x20, 0xc4, 0xd3, 0x09, 0x4e, 0x97, 0x3f, 0xe0, 0x87, 0xc2, 0x7f, 0x26, 0xac, 0x68, 0x67, 0x3a, 0xeb, 0x8f, 0xc5, 0x51, 0xae, 0x1d, 0x84, 0x68, 0x3a, 0xc1, 0xe9,
0x08, 0xeb, 0x4a, 0x6e, 0xbf, 0x9a, 0x72, 0x3d, 0xf5, 0xaf, 0x95, 0x1f, 0x35, 0x69, 0x55, 0x6c, 0xb2, 0x87, 0xe2, 0x28, 0xe7, 0x8f, 0x60, 0x5d, 0xc9, 0xed, 0xd7, 0x12, 0xa1, 0xa7, 0xfe, 0xa5,
0xb8, 0x82, 0x4e, 0x5e, 0x4e, 0xe9, 0xa5, 0xf3, 0x03, 0x60, 0xaa, 0xfb, 0xf6, 0x38, 0xc9, 0xb9, 0xf2, 0xa3, 0x26, 0xad, 0x8a, 0x0d, 0x57, 0xd0, 0xc9, 0xcb, 0x29, 0xbd, 0x74, 0xdc, 0x07, 0xa6,
0x22, 0xe8, 0x43, 0x67, 0x30, 0x4e, 0x72, 0xed, 0x86, 0xa8, 0xed, 0x38, 0x30, 0x3c, 0x9f, 0x7c, 0xba, 0xef, 0x8c, 0xe3, 0x4c, 0x28, 0x82, 0x1c, 0x3a, 0x83, 0x71, 0x9c, 0x69, 0x37, 0x44, 0x6d,
0x3a, 0x18, 0xa0, 0x26, 0x90, 0x3a, 0x4d, 0x37, 0xfd, 0xbf, 0xf6, 0x60, 0x83, 0xa8, 0x69, 0x0d, 0xc7, 0x81, 0xe1, 0xf9, 0x64, 0xd3, 0xc1, 0x00, 0x35, 0x81, 0xd4, 0x69, 0xba, 0xc9, 0xff, 0xdc,
0x63, 0x6c, 0xd7, 0x97, 0x5f, 0x66, 0x67, 0x60, 0xbb, 0x66, 0x9b, 0x30, 0x7f, 0x98, 0x64, 0x03, 0x83, 0x0d, 0xa2, 0xa6, 0x35, 0x8c, 0xb1, 0x5d, 0x5f, 0x7d, 0x99, 0x9d, 0x81, 0xed, 0x9a, 0x6d,
0xae, 0x66, 0x92, 0x8d, 0x9f, 0xde, 0x1a, 0x6f, 0x56, 0xac, 0xf1, 0x9f, 0x78, 0xb0, 0x4e, 0x4b, 0xc2, 0xfc, 0x51, 0x9c, 0x0e, 0x84, 0x9a, 0x49, 0x36, 0x7e, 0x7a, 0x6b, 0xbc, 0x59, 0xb1, 0xc6,
0xdd, 0x17, 0xa1, 0x98, 0xe6, 0x6a, 0xfb, 0xbf, 0x0e, 0xcb, 0xb8, 0x55, 0xae, 0xc5, 0x49, 0x2d, 0x7f, 0xe2, 0xc1, 0x3a, 0x2d, 0xf5, 0x20, 0x0f, 0xf2, 0x69, 0xa6, 0xb6, 0xff, 0xcb, 0xb0, 0x8c,
0x74, 0xd3, 0x48, 0x3e, 0x41, 0x25, 0xf2, 0xee, 0x99, 0xc0, 0x45, 0x66, 0x5f, 0x82, 0x8e, 0x1d, 0x5b, 0x15, 0x5a, 0x9c, 0xd4, 0x42, 0x37, 0x8d, 0xe4, 0x13, 0x54, 0x22, 0xef, 0x9d, 0xf3, 0x5d,
0x11, 0xa1, 0x35, 0xb7, 0x77, 0xce, 0xeb, 0x5d, 0x56, 0x38, 0x67, 0xf7, 0x4c, 0xe0, 0x0c, 0x60, 0x64, 0xf6, 0x65, 0xe8, 0xd8, 0x11, 0x11, 0x5a, 0x73, 0x7b, 0xf7, 0xa2, 0xde, 0x65, 0x85, 0x73,
0x37, 0x00, 0xc8, 0xdc, 0x20, 0xb2, 0xca, 0x95, 0x3d, 0xef, 0x1e, 0x92, 0x75, 0x59, 0xbb, 0x67, 0xf6, 0xce, 0xf9, 0xce, 0x00, 0x76, 0x13, 0x80, 0xcc, 0x0d, 0x22, 0xab, 0x5c, 0xd9, 0x8b, 0xee,
0x02, 0x0b, 0xfd, 0xd6, 0x12, 0x2c, 0xc8, 0xf7, 0xd1, 0xbf, 0x0f, 0xcb, 0xce, 0x4a, 0x1d, 0x2f, 0x21, 0x59, 0x97, 0xb5, 0x77, 0xce, 0xb7, 0xd0, 0x6f, 0x2f, 0xc1, 0x82, 0x7c, 0x1f, 0xf9, 0x03,
0xa3, 0x23, 0xbd, 0x8c, 0x8a, 0x53, 0xda, 0xa8, 0x3a, 0xa5, 0xfe, 0xbf, 0x37, 0x80, 0x21, 0xb7, 0x58, 0x76, 0x56, 0xea, 0x78, 0x19, 0x1d, 0xe9, 0x65, 0x54, 0x9c, 0xd2, 0x46, 0xd5, 0x29, 0xe5,
0x95, 0xae, 0x13, 0x1f, 0xe8, 0x64, 0xe8, 0x98, 0x5b, 0x9d, 0xc0, 0x06, 0xb1, 0x6b, 0xc0, 0xac, 0xff, 0xdc, 0x00, 0x86, 0xdc, 0x56, 0xba, 0x4e, 0x7c, 0xa0, 0xe3, 0xa1, 0x63, 0x6e, 0x75, 0x7c,
0xa6, 0x8e, 0x3d, 0xc8, 0x77, 0xa3, 0xa6, 0x07, 0x15, 0x9c, 0xb4, 0x95, 0xb4, 0x0f, 0xac, 0x0c, 0x1b, 0xc4, 0xae, 0x03, 0xb3, 0x9a, 0x3a, 0xf6, 0x20, 0xdf, 0x8d, 0x9a, 0x1e, 0x54, 0x70, 0xd2,
0x4b, 0x79, 0x6f, 0xb5, 0x7d, 0xf8, 0x34, 0xa4, 0xd3, 0xfc, 0x08, 0x0d, 0x08, 0x6d, 0x90, 0xe9, 0x56, 0xd2, 0x3e, 0xb0, 0x32, 0x2c, 0xe5, 0xbd, 0xd5, 0xf6, 0xe1, 0xd3, 0x90, 0x4c, 0xb3, 0x63,
0x76, 0x99, 0x41, 0x16, 0x5e, 0xc8, 0x20, 0x8b, 0x65, 0x06, 0xb1, 0x4d, 0x82, 0x25, 0xc7, 0x24, 0x34, 0x20, 0xb4, 0x41, 0xa6, 0xdb, 0x65, 0x06, 0x59, 0x78, 0x29, 0x83, 0x2c, 0x96, 0x19, 0xc4,
0x40, 0xfb, 0x6b, 0x12, 0xc5, 0x64, 0x57, 0xf4, 0x27, 0x38, 0xbb, 0xb2, 0xbf, 0x1c, 0x20, 0xbb, 0x36, 0x09, 0x96, 0x1c, 0x93, 0x00, 0xed, 0xaf, 0x49, 0x18, 0x91, 0x5d, 0xd1, 0x9f, 0xe0, 0xec,
0x0a, 0x6b, 0xca, 0xae, 0x2b, 0xec, 0x0e, 0xa0, 0x33, 0xae, 0xc0, 0xfd, 0x1f, 0x7b, 0xb0, 0x86, 0xca, 0xfe, 0x72, 0x80, 0x6c, 0x1b, 0xd6, 0x94, 0x5d, 0x57, 0xd8, 0x1d, 0x40, 0x67, 0x5c, 0x81,
0xe7, 0xec, 0xf0, 0xe2, 0x7b, 0x40, 0xa2, 0xf0, 0x92, 0xac, 0xe8, 0xe0, 0xfe, 0xfc, 0x9c, 0xf8, 0xf3, 0x1f, 0x7b, 0xb0, 0x86, 0xe7, 0xec, 0xf0, 0xe2, 0x7b, 0x40, 0xa2, 0xf0, 0x8a, 0xac, 0xe8,
0x2e, 0xb4, 0x88, 0x60, 0x92, 0xf2, 0x58, 0x31, 0x62, 0xd7, 0x65, 0xc4, 0x42, 0x0b, 0xed, 0x9e, 0xe0, 0xfe, 0xfc, 0x9c, 0xf8, 0x2e, 0xb4, 0x88, 0x60, 0x9c, 0x88, 0x48, 0x31, 0x62, 0xd7, 0x65,
0x09, 0x0a, 0x64, 0x8b, 0x0d, 0xff, 0xc9, 0x83, 0xb6, 0x5a, 0xe6, 0xcf, 0xec, 0x4b, 0xf4, 0x60, 0xc4, 0x42, 0x0b, 0xed, 0x9d, 0xf3, 0x0b, 0x64, 0x8b, 0x0d, 0xff, 0xce, 0x83, 0xb6, 0x5a, 0xe6,
0x09, 0x39, 0xd2, 0x32, 0xd8, 0x4d, 0x1b, 0x5f, 0x93, 0x09, 0x3a, 0x6c, 0xf8, 0x7c, 0x3a, 0x7e, 0xcf, 0xec, 0x4b, 0xf4, 0x60, 0x09, 0x39, 0xd2, 0x32, 0xd8, 0x4d, 0x1b, 0x5f, 0x93, 0x09, 0x3a,
0x44, 0x19, 0x8c, 0x6f, 0x21, 0x29, 0xdc, 0xbc, 0x2f, 0xa2, 0x71, 0x5f, 0xf7, 0xaa, 0x00, 0x64, 0x6c, 0xf8, 0x7c, 0x3a, 0x7e, 0x44, 0x19, 0x8c, 0x6f, 0x21, 0x29, 0xdc, 0xac, 0x9f, 0x87, 0xe3,
0x5d, 0x17, 0xea, 0x9d, 0x5c, 0x84, 0x23, 0xae, 0x9e, 0x39, 0xd9, 0x40, 0x87, 0x49, 0x6d, 0xa8, 0xbe, 0xee, 0x55, 0x01, 0xc8, 0xba, 0x2e, 0xd4, 0x3b, 0x59, 0x1e, 0x8c, 0x84, 0x7a, 0xe6, 0x64,
0x64, 0x0e, 0xfa, 0x3f, 0x02, 0x38, 0x57, 0xe9, 0x32, 0xe1, 0x6e, 0x65, 0x20, 0x8f, 0xa3, 0xc9, 0x03, 0x1d, 0x26, 0xb5, 0xa1, 0x92, 0x39, 0xc8, 0x7f, 0x04, 0x70, 0xa1, 0xd2, 0x65, 0xc2, 0xdd,
0x41, 0x62, 0x6c, 0x6d, 0xcf, 0xb6, 0x9d, 0x9d, 0x2e, 0x36, 0x82, 0xb3, 0xfa, 0x3d, 0xc7, 0x33, 0xca, 0x40, 0x1e, 0x87, 0x93, 0xc3, 0xd8, 0xd8, 0xda, 0x9e, 0x6d, 0x3b, 0x3b, 0x5d, 0x6c, 0x04,
0x2d, 0x5e, 0xef, 0x06, 0x19, 0x22, 0x6f, 0xbb, 0x3c, 0x50, 0x9e, 0x50, 0xc3, 0x6d, 0xc9, 0xad, 0xe7, 0xf5, 0x7b, 0x8e, 0x67, 0x5a, 0xbc, 0xde, 0x0d, 0x32, 0x44, 0xde, 0x76, 0x79, 0xa0, 0x3c,
0xa7, 0xc7, 0x8e, 0xa0, 0x6b, 0x0c, 0x07, 0xa5, 0xe2, 0x2d, 0xe3, 0x02, 0xe7, 0x7a, 0xeb, 0x05, 0xa1, 0x86, 0xdb, 0x92, 0x5b, 0x4f, 0x8f, 0x1d, 0x43, 0xd7, 0x18, 0x0e, 0x4a, 0xc5, 0x5b, 0xc6,
0x73, 0x91, 0x3e, 0x1a, 0xea, 0x69, 0x4e, 0xa5, 0xc6, 0x66, 0x70, 0x51, 0xf7, 0x91, 0x0e, 0xaf, 0x05, 0xce, 0xf5, 0xd6, 0x4b, 0xe6, 0x22, 0x7d, 0x34, 0xd4, 0xd3, 0x9c, 0x49, 0x8d, 0xcd, 0xe0,
0xce, 0xd7, 0x7c, 0xa9, 0xbd, 0xdd, 0xc3, 0xc1, 0xee, 0xa4, 0x2f, 0x20, 0xdc, 0xfb, 0x91, 0x07, 0xb2, 0xee, 0x23, 0x1d, 0x5e, 0x9d, 0xaf, 0xf9, 0x4a, 0x7b, 0xbb, 0x8f, 0x83, 0xdd, 0x49, 0x5f,
0x2b, 0x2e, 0x39, 0x64, 0x1d, 0x25, 0x84, 0x5a, 0x19, 0x69, 0x83, 0xac, 0x04, 0xae, 0xba, 0x8d, 0x42, 0xb8, 0xf7, 0x23, 0x0f, 0x56, 0x5c, 0x72, 0xc8, 0x3a, 0x4a, 0x08, 0xb5, 0x32, 0xd2, 0x06,
0x8d, 0x3a, 0xb7, 0xd1, 0x76, 0x0e, 0xe7, 0x5e, 0xe4, 0x1c, 0x36, 0x5f, 0xce, 0x39, 0x9c, 0xaf, 0x59, 0x09, 0x5c, 0x75, 0x1b, 0x1b, 0x75, 0x6e, 0xa3, 0xed, 0x1c, 0xce, 0xbd, 0xcc, 0x39, 0x6c,
0x73, 0x0e, 0x7b, 0xff, 0xe5, 0x01, 0xab, 0xde, 0x2f, 0xbb, 0x2f, 0xfd, 0xd6, 0x98, 0x8f, 0x95, 0xbe, 0x9a, 0x73, 0x38, 0x5f, 0xe7, 0x1c, 0xf6, 0xfe, 0xc3, 0x03, 0x56, 0xbd, 0x5f, 0xf6, 0x40,
0x9e, 0xf8, 0x95, 0x97, 0xe3, 0x11, 0x7d, 0x86, 0x7a, 0x34, 0x32, 0xab, 0xad, 0x08, 0x6c, 0xb3, 0xfa, 0xad, 0x91, 0x18, 0x2b, 0x3d, 0xf1, 0x0b, 0xaf, 0xc6, 0x23, 0xfa, 0x0c, 0xf5, 0x68, 0x64,
0x65, 0x39, 0xa8, 0xeb, 0x2a, 0xb9, 0xab, 0xcd, 0x17, 0xbb, 0xab, 0xf3, 0x2f, 0x76, 0x57, 0x17, 0x56, 0x5b, 0x11, 0xd8, 0x66, 0xcb, 0xb2, 0x5f, 0xd7, 0x55, 0x72, 0x57, 0x9b, 0x2f, 0x77, 0x57,
0xca, 0xee, 0x6a, 0xef, 0xf7, 0x60, 0xd9, 0xb9, 0xf5, 0xff, 0xbb, 0x1d, 0x97, 0x4d, 0x1e, 0x79, 0xe7, 0x5f, 0xee, 0xae, 0x2e, 0x94, 0xdd, 0xd5, 0xde, 0x6f, 0xc1, 0xb2, 0x73, 0xeb, 0xff, 0x73,
0xc1, 0x0e, 0xac, 0xf7, 0x9f, 0x0d, 0x60, 0x55, 0xce, 0xfb, 0x85, 0xae, 0x81, 0xf8, 0xc8, 0x51, 0x3b, 0x2e, 0x9b, 0x3c, 0xf2, 0x82, 0x1d, 0x58, 0xef, 0xdf, 0x1a, 0xc0, 0xaa, 0x9c, 0xf7, 0x7f,
0x20, 0x73, 0x8a, 0x8f, 0x1c, 0xd5, 0xf1, 0xff, 0xa9, 0x14, 0xdf, 0x82, 0xf5, 0x8c, 0x0f, 0x92, 0xba, 0x06, 0xe2, 0x23, 0x47, 0x81, 0xcc, 0x29, 0x3e, 0x72, 0x54, 0xc7, 0xff, 0xa6, 0x52, 0x7c,
0x63, 0x4a, 0xc2, 0xb9, 0xa1, 0x8e, 0x6a, 0x07, 0x1a, 0x7d, 0xae, 0x93, 0xbe, 0xe4, 0xe4, 0x4c, 0x0b, 0xd6, 0x53, 0x31, 0x88, 0x4f, 0x28, 0x09, 0xe7, 0x86, 0x3a, 0xaa, 0x1d, 0x68, 0xf4, 0xb9,
0xac, 0x97, 0xa1, 0xe4, 0xab, 0xfb, 0x5b, 0xb0, 0x29, 0x53, 0x59, 0xb7, 0x24, 0x29, 0xad, 0x64, 0x4e, 0xfa, 0x92, 0x93, 0x33, 0xb1, 0x5e, 0x86, 0x92, 0xaf, 0xce, 0xb7, 0x60, 0x53, 0xa6, 0xb2,
0xbf, 0xe7, 0xc1, 0xd9, 0x52, 0x47, 0x91, 0x58, 0x90, 0x7a, 0xd4, 0x55, 0xae, 0x2e, 0x10, 0xd7, 0x6e, 0x4b, 0x52, 0x5a, 0xc9, 0x7e, 0xcf, 0x83, 0xf3, 0xa5, 0x8e, 0x22, 0xb1, 0x20, 0xf5, 0xa8,
0xaf, 0x18, 0xd8, 0x5a, 0xbf, 0x7c, 0x6f, 0xaa, 0x1d, 0x78, 0x3e, 0xd3, 0xb8, 0x8a, 0x2f, 0x4f, 0xab, 0x5c, 0x5d, 0x20, 0xae, 0x5f, 0x31, 0xb0, 0xb5, 0x7e, 0xf9, 0xde, 0x54, 0x3b, 0xf0, 0x7c,
0xbd, 0xae, 0xcb, 0x3f, 0x07, 0x67, 0xd5, 0xcd, 0x96, 0x16, 0x7e, 0x08, 0x5b, 0xe5, 0x8e, 0x22, 0xa6, 0x51, 0x15, 0x5f, 0x9e, 0x7a, 0x5d, 0x17, 0xbf, 0x00, 0xe7, 0xd5, 0xcd, 0x96, 0x16, 0x7e,
0x52, 0xea, 0x2e, 0x59, 0x37, 0xd1, 0x24, 0x72, 0x74, 0xb6, 0xbb, 0xde, 0xda, 0x3e, 0xff, 0x77, 0x04, 0x5b, 0xe5, 0x8e, 0x22, 0x52, 0xea, 0x2e, 0x59, 0x37, 0xd1, 0x24, 0x72, 0x74, 0xb6, 0xbb,
0x81, 0x7d, 0x6d, 0xca, 0xb3, 0x19, 0xa5, 0x3d, 0x4c, 0xa8, 0xe2, 0x5c, 0xd9, 0xa7, 0x5f, 0x48, 0xde, 0xda, 0x3e, 0xfe, 0x9b, 0xc0, 0xbe, 0x3e, 0x15, 0xe9, 0x8c, 0xd2, 0x1e, 0x26, 0x54, 0x71,
0xa7, 0x07, 0x5f, 0xe1, 0x33, 0x9d, 0x57, 0x6a, 0x14, 0x79, 0xa5, 0x57, 0x01, 0xd0, 0x15, 0xa1, 0xa1, 0xec, 0xd3, 0x2f, 0x24, 0xd3, 0xc3, 0xaf, 0x8a, 0x99, 0xce, 0x2b, 0x35, 0x8a, 0xbc, 0xd2,
0x3c, 0x89, 0xce, 0xf4, 0xa1, 0x0f, 0x28, 0x09, 0xfa, 0x37, 0x60, 0xc3, 0xa1, 0x6f, 0x4e, 0x7f, 0x67, 0x00, 0xd0, 0x15, 0xa1, 0x3c, 0x89, 0xce, 0xf4, 0xa1, 0x0f, 0x28, 0x09, 0xf2, 0x9b, 0xb0,
0x41, 0x8d, 0x90, 0x8e, 0xb2, 0x9b, 0x7d, 0x51, 0x7d, 0xfe, 0x9f, 0x7b, 0x30, 0xb7, 0x9b, 0xa4, 0xe1, 0xd0, 0x37, 0xa7, 0xbf, 0xa0, 0x46, 0x48, 0x47, 0xd9, 0xcd, 0xbe, 0xa8, 0x3e, 0xfe, 0xef,
0x76, 0x88, 0xcd, 0x73, 0x43, 0x6c, 0x4a, 0xd7, 0xf6, 0x8d, 0x2a, 0x6d, 0x28, 0x4d, 0x61, 0x03, 0x1e, 0xcc, 0xed, 0xc5, 0x89, 0x1d, 0x62, 0xf3, 0xdc, 0x10, 0x9b, 0xd2, 0xb5, 0x7d, 0xa3, 0x4a,
0x51, 0x53, 0x86, 0x13, 0x81, 0xae, 0xe2, 0x61, 0x92, 0x9d, 0x84, 0xd9, 0x50, 0x5d, 0x49, 0x09, 0x1b, 0x4a, 0x53, 0xd8, 0x40, 0xb6, 0x0d, 0x2b, 0xc1, 0x24, 0x47, 0x57, 0xf1, 0x28, 0x4e, 0x4f,
0x8a, 0xbb, 0x2b, 0x14, 0x12, 0xfe, 0x44, 0x23, 0x83, 0x22, 0x8c, 0x33, 0xe5, 0xdd, 0xaa, 0x96, 0x83, 0x74, 0x28, 0xaf, 0xe4, 0x76, 0xa3, 0xeb, 0xf9, 0xa5, 0x1e, 0xb6, 0x09, 0x73, 0x46, 0x29,
0xff, 0x1d, 0x0f, 0xe6, 0x69, 0xad, 0x28, 0x3d, 0x92, 0x65, 0x28, 0xe5, 0x48, 0x01, 0x4c, 0x4f, 0x11, 0x02, 0x36, 0xd1, 0xd8, 0xa0, 0x48, 0xe3, 0x4c, 0x79, 0xb9, 0xaa, 0x85, 0x37, 0xee, 0x8e,
0x4a, 0x4f, 0x09, 0x5c, 0x4a, 0x44, 0x36, 0x2a, 0x89, 0xc8, 0x0b, 0xd0, 0x92, 0xad, 0x22, 0x73, 0x97, 0xe6, 0x9d, 0xe4, 0xf0, 0xba, 0x2e, 0xd4, 0xfb, 0xa8, 0xa3, 0x08, 0x4d, 0x85, 0x27, 0x74,
0x57, 0x00, 0xd8, 0x45, 0x68, 0x1e, 0x25, 0xa9, 0x7e, 0xf3, 0x40, 0xc7, 0xad, 0x92, 0x34, 0x20, 0x9b, 0xff, 0x8b, 0x07, 0xf3, 0x74, 0x02, 0x28, 0x93, 0x92, 0x11, 0x29, 0x91, 0x49, 0x61, 0x51,
0xb8, 0x7f, 0x15, 0x56, 0x1f, 0x26, 0x43, 0x6e, 0xc5, 0x15, 0x4e, 0xbd, 0x45, 0xff, 0xf7, 0x3d, 0x4f, 0xca, 0x64, 0x09, 0xcc, 0xb8, 0x93, 0xde, 0x6c, 0x98, 0x65, 0xdb, 0x29, 0xce, 0x2b, 0xd0,
0x58, 0xd2, 0xc8, 0xec, 0x0a, 0x34, 0xf1, 0xe9, 0x2a, 0x19, 0x8b, 0x26, 0xba, 0x8c, 0x78, 0x01, 0x92, 0x2d, 0x93, 0x13, 0x24, 0x94, 0x02, 0xc8, 0x2e, 0x43, 0xf3, 0x38, 0x4e, 0xf4, 0x8b, 0x0a,
0x61, 0xa0, 0xca, 0x21, 0xaf, 0xb3, 0x30, 0x2d, 0xb4, 0xcf, 0x59, 0x3c, 0xda, 0x6f, 0xc2, 0x8a, 0x3a, 0x2a, 0x16, 0x27, 0x3e, 0xc1, 0x8b, 0xf5, 0x20, 0x3d, 0xb9, 0x78, 0xa9, 0x93, 0xcb, 0x60,
0x5c, 0x73, 0xe9, 0x71, 0x2b, 0x41, 0xfd, 0xbf, 0xf1, 0x60, 0xd9, 0x99, 0x03, 0x5d, 0x84, 0x71, 0x7c, 0x95, 0x0c, 0x59, 0xfb, 0x30, 0x4a, 0x50, 0xbe, 0x0d, 0xab, 0x8f, 0xe2, 0xa1, 0xb0, 0xe2,
0x98, 0x0b, 0x15, 0xb1, 0x53, 0x87, 0x68, 0x83, 0xec, 0x48, 0x53, 0xc3, 0x8d, 0x34, 0x99, 0x18, 0x20, 0x67, 0x72, 0x1d, 0xff, 0x6d, 0x0f, 0x96, 0x34, 0x32, 0xbb, 0x06, 0x4d, 0x7c, 0x6a, 0x4b,
0xc8, 0x9c, 0x1d, 0x03, 0xb9, 0x0e, 0xad, 0x22, 0xa9, 0xdb, 0x74, 0x54, 0x09, 0xce, 0xa8, 0xe3, 0xc6, 0xad, 0x89, 0x86, 0x23, 0x9e, 0x4f, 0x18, 0xa8, 0x22, 0xc9, 0x4b, 0x2e, 0x4c, 0x21, 0xed,
0xe6, 0x05, 0x12, 0xd2, 0x19, 0x24, 0xe3, 0x24, 0x53, 0x39, 0x4f, 0xd9, 0xf0, 0x6f, 0x40, 0xdb, 0x23, 0x17, 0x46, 0x86, 0x59, 0x6e, 0xe9, 0x31, 0x2e, 0x41, 0xf9, 0x5f, 0x78, 0xb0, 0xec, 0xcc,
0xc2, 0xc7, 0x65, 0xc4, 0x5c, 0x9c, 0x24, 0xd9, 0x13, 0x1d, 0xf0, 0x52, 0x4d, 0x93, 0x1e, 0x6a, 0x81, 0x2e, 0xcd, 0x38, 0xc8, 0x72, 0x15, 0x61, 0x54, 0xd7, 0x63, 0x83, 0xec, 0xc8, 0x58, 0xc3,
0x14, 0xe9, 0x21, 0xff, 0x6f, 0x3d, 0x58, 0x46, 0x4e, 0x89, 0xe2, 0xd1, 0x5e, 0x32, 0x8e, 0x06, 0x8d, 0x8c, 0x99, 0x98, 0xcd, 0x9c, 0x1d, 0xb3, 0xb9, 0x01, 0xad, 0x22, 0x09, 0xdd, 0x74, 0x54,
0x33, 0xe2, 0x18, 0xcd, 0x14, 0x2a, 0x19, 0xaa, 0x39, 0xc6, 0x05, 0xa3, 0x8d, 0xa0, 0x3d, 0x04, 0x1f, 0xce, 0xa8, 0xe3, 0xfc, 0x05, 0x12, 0xd2, 0x19, 0xc4, 0xe3, 0x38, 0x55, 0x39, 0x5a, 0xd9,
0xc5, 0x2f, 0xa6, 0x8d, 0x9c, 0x8f, 0x6f, 0xdd, 0x41, 0x98, 0x73, 0xe9, 0x52, 0x28, 0xdd, 0xee, 0xe0, 0x37, 0xa1, 0x6d, 0xe1, 0xe3, 0x32, 0x22, 0x91, 0x9f, 0xc6, 0xe9, 0x53, 0x1d, 0xa0, 0x53,
0x00, 0x51, 0x23, 0x21, 0x20, 0x0b, 0x05, 0xef, 0x4f, 0xa2, 0xf1, 0x38, 0x92, 0xb8, 0x92, 0xc3, 0x4d, 0x93, 0xce, 0x6a, 0x14, 0xe9, 0x2c, 0xfe, 0x97, 0x1e, 0x2c, 0x23, 0x0f, 0x86, 0xd1, 0x68,
0xeb, 0xba, 0xfc, 0x1f, 0x36, 0xa0, 0xad, 0x34, 0xcf, 0xdd, 0xe1, 0x48, 0x86, 0x96, 0x95, 0xe1, 0x3f, 0x1e, 0x87, 0x83, 0x19, 0xdd, 0xbd, 0x66, 0x37, 0x95, 0xbc, 0xd5, 0xbc, 0xe8, 0x82, 0x91,
0x62, 0xc4, 0xcf, 0x82, 0xe8, 0x7e, 0xc7, 0xd4, 0xb1, 0x20, 0xe5, 0x6b, 0x9d, 0xab, 0x5e, 0xeb, 0xb7, 0xb5, 0x47, 0xa3, 0x04, 0xd1, 0xb4, 0x51, 0x52, 0x91, 0xcf, 0x0f, 0x83, 0x4c, 0x31, 0xbf,
0x05, 0x68, 0x21, 0x7b, 0xbd, 0x4d, 0x36, 0x95, 0xac, 0x01, 0x28, 0x00, 0xba, 0x77, 0x87, 0x7a, 0x7a, 0x8b, 0x1c, 0x20, 0xca, 0x13, 0x02, 0xd2, 0x20, 0x17, 0xfd, 0x49, 0x38, 0x1e, 0x87, 0x12,
0xe7, 0x8b, 0x5e, 0x02, 0x38, 0x56, 0xd4, 0x42, 0xc9, 0x8a, 0x7a, 0x17, 0x3a, 0x8a, 0x0c, 0x9d, 0x57, 0x9a, 0x08, 0x75, 0x5d, 0xfc, 0x87, 0x0d, 0x68, 0x2b, 0x4d, 0x79, 0x6f, 0x38, 0x92, 0xa1,
0x3b, 0x39, 0x6c, 0x05, 0x83, 0x3b, 0x77, 0x12, 0x38, 0x98, 0x7a, 0xe4, 0x8e, 0x1e, 0xb9, 0xf4, 0x70, 0x65, 0x68, 0x19, 0x75, 0x61, 0x41, 0x74, 0xbf, 0x63, 0x9a, 0x59, 0x90, 0xf2, 0xb5, 0xce,
0xa2, 0x91, 0x1a, 0x93, 0x32, 0x2d, 0xf2, 0x6c, 0xee, 0x67, 0x61, 0x7a, 0xa4, 0xb5, 0xf9, 0xd0, 0x55, 0xaf, 0xf5, 0x12, 0xb4, 0x90, 0xbd, 0xde, 0x26, 0x1b, 0x50, 0xd6, 0x2c, 0x14, 0x00, 0xdd,
0xa4, 0x8f, 0x09, 0xcc, 0xae, 0xc2, 0x3c, 0x0e, 0xd3, 0xda, 0xaf, 0x5e, 0xe8, 0x24, 0x0a, 0xbb, 0xbb, 0x4b, 0xbd, 0xf3, 0x45, 0x2f, 0x01, 0x1c, 0xab, 0x6f, 0xa1, 0x64, 0xf5, 0xbd, 0x0b, 0x1d,
0x02, 0xf3, 0x7c, 0x38, 0xe2, 0xda, 0x92, 0x67, 0xae, 0x4f, 0x85, 0x77, 0x14, 0x48, 0x04, 0x54, 0x45, 0x86, 0xce, 0x9d, 0xb4, 0x43, 0xc1, 0xe0, 0xce, 0x9d, 0xf8, 0x0e, 0xa6, 0x1e, 0xb9, 0xab,
0x01, 0x08, 0x2d, 0xa9, 0x00, 0x57, 0x73, 0x2e, 0x60, 0xf3, 0x83, 0xa1, 0xbf, 0x09, 0xec, 0xa1, 0x47, 0x2e, 0xbd, 0x6c, 0xa4, 0xc6, 0xa4, 0xcc, 0x90, 0x3c, 0x9b, 0x07, 0x69, 0x90, 0x1c, 0xeb,
0xe4, 0x5a, 0x3b, 0x12, 0xf9, 0x47, 0x73, 0xd0, 0xb6, 0xc0, 0x28, 0xcd, 0x23, 0x5c, 0x70, 0x7f, 0xd7, 0x67, 0x68, 0xd2, 0xdd, 0x04, 0x66, 0xdb, 0x30, 0x8f, 0xc3, 0xb4, 0xb6, 0xae, 0x17, 0x3a,
0x18, 0x85, 0x13, 0x2e, 0x78, 0xa6, 0x38, 0xb5, 0x04, 0x25, 0x05, 0x7b, 0x3c, 0xea, 0x27, 0x53, 0x89, 0xc2, 0xae, 0xc1, 0xbc, 0x18, 0x8e, 0x84, 0xf6, 0x3c, 0x98, 0xeb, 0x03, 0xe2, 0x1d, 0xf9,
0xd1, 0x1f, 0xf2, 0x51, 0xc6, 0xe5, 0x9b, 0xe3, 0x05, 0x25, 0x28, 0xe2, 0x4d, 0xc2, 0xa7, 0x36, 0x12, 0x01, 0x55, 0x00, 0x42, 0x4b, 0x2a, 0xc0, 0xd5, 0xf4, 0x0b, 0xd8, 0x7c, 0x7f, 0xc8, 0x37,
0x9e, 0xe4, 0x87, 0x12, 0x54, 0xc7, 0x15, 0xe5, 0x19, 0x35, 0x8b, 0xb8, 0xa2, 0x3c, 0x91, 0xb2, 0x81, 0x3d, 0x92, 0x5c, 0x6b, 0x47, 0x4e, 0x7f, 0x6f, 0x0e, 0xda, 0x16, 0x18, 0xa5, 0x79, 0x84,
0x1e, 0x9a, 0xaf, 0xd1, 0x43, 0xef, 0xc0, 0x96, 0xd4, 0x38, 0x4a, 0x36, 0xfb, 0x25, 0x36, 0x39, 0x0b, 0xee, 0x0f, 0xc3, 0x60, 0x22, 0x72, 0x91, 0x2a, 0x4e, 0x2d, 0x41, 0x11, 0x2f, 0x38, 0x19,
0xa5, 0x17, 0x7d, 0x70, 0x5c, 0xb3, 0x66, 0xf0, 0x3c, 0xfa, 0x54, 0x7a, 0xfa, 0x5e, 0x50, 0x81, 0xf5, 0xe3, 0x69, 0xde, 0x1f, 0x8a, 0x51, 0x2a, 0xe4, 0x1b, 0x89, 0x8f, 0x81, 0x03, 0x45, 0xbc,
0x23, 0x2e, 0x8a, 0xa3, 0x83, 0x2b, 0x73, 0x2f, 0x15, 0x38, 0xe1, 0x86, 0x4f, 0x5d, 0xdc, 0x96, 0x49, 0xf0, 0xcc, 0xc6, 0x93, 0xfc, 0x50, 0x82, 0xea, 0x38, 0xa8, 0x3c, 0xa3, 0x66, 0x11, 0x07,
0xc2, 0x2d, 0xc1, 0xfd, 0x65, 0x68, 0xef, 0x8b, 0x24, 0xd5, 0x97, 0xb2, 0x02, 0x1d, 0xd9, 0x54, 0x95, 0x27, 0x52, 0xd6, 0x43, 0xf3, 0x35, 0x7a, 0xe8, 0x1d, 0xd8, 0x92, 0x1a, 0x47, 0xc9, 0x66,
0x99, 0xb6, 0x57, 0xe0, 0x3c, 0x71, 0xd1, 0xa3, 0x24, 0x4d, 0xc6, 0xc9, 0x68, 0xb6, 0x3f, 0x3d, 0xbf, 0xc4, 0x26, 0x67, 0xf4, 0xb2, 0x6d, 0x58, 0xc3, 0x35, 0x6b, 0x06, 0xcf, 0xc2, 0x4f, 0x64,
0xc8, 0x07, 0x59, 0x94, 0xa2, 0x85, 0xed, 0xff, 0xa3, 0x07, 0x1b, 0x4e, 0xaf, 0x0a, 0x0d, 0x7c, 0x64, 0xc2, 0xf3, 0x2b, 0x70, 0xc4, 0x45, 0x71, 0x74, 0x70, 0x65, 0xae, 0xa8, 0x02, 0x27, 0xdc,
0x41, 0xb2, 0xb4, 0x49, 0x91, 0x48, 0xc6, 0x5b, 0xb7, 0xd4, 0xa1, 0x44, 0x94, 0x41, 0x99, 0xc7, 0xe0, 0x99, 0x8b, 0xdb, 0x52, 0xb8, 0x25, 0x38, 0x5f, 0x86, 0xf6, 0x41, 0x1e, 0x27, 0xfa, 0x52,
0x2a, 0x6b, 0x72, 0x13, 0x56, 0xf5, 0xca, 0xf4, 0x40, 0xc9, 0x85, 0xdd, 0x2a, 0x17, 0xaa, 0xf1, 0x56, 0xa0, 0x23, 0x9b, 0x2a, 0x33, 0xf8, 0x1a, 0x5c, 0x24, 0x2e, 0x7a, 0x1c, 0x27, 0xf1, 0x38,
0x2b, 0x6a, 0x80, 0x26, 0xf1, 0x1b, 0xd2, 0x4e, 0xe5, 0x43, 0xda, 0xa3, 0xf6, 0x11, 0x7b, 0x7a, 0x1e, 0xcd, 0x0e, 0xa6, 0x87, 0xd9, 0x20, 0x0d, 0x13, 0xf4, 0x08, 0xf8, 0xdf, 0x7a, 0xb0, 0xe1,
0xbc, 0x6d, 0x1c, 0xeb, 0x15, 0x0c, 0x0c, 0x30, 0xf7, 0xff, 0xc4, 0x03, 0x28, 0x56, 0x87, 0x8c, 0xf4, 0xaa, 0x50, 0xc6, 0x17, 0x24, 0x4b, 0x9b, 0x94, 0x8e, 0x64, 0xbc, 0x75, 0x4b, 0x1d, 0x4a,
0x51, 0xa8, 0x74, 0x59, 0xfc, 0x65, 0xa9, 0xef, 0xd7, 0xa1, 0x63, 0xa2, 0xe3, 0xc5, 0x2b, 0xd1, 0x44, 0x19, 0x44, 0x7a, 0xa2, 0xb2, 0x3c, 0xb7, 0x60, 0x55, 0xaf, 0x4c, 0x0f, 0x94, 0x5c, 0xd8,
0xd6, 0x30, 0x34, 0x60, 0x2e, 0xc3, 0xea, 0x68, 0x9c, 0x1c, 0xd0, 0x9b, 0x4b, 0xa9, 0xdb, 0x5c, 0xad, 0x72, 0xa1, 0x1a, 0xbf, 0xa2, 0x06, 0x68, 0x12, 0xbf, 0x22, 0xed, 0x6a, 0x31, 0xa4, 0x3d,
0xe5, 0x1b, 0x57, 0x24, 0xf8, 0x9e, 0x82, 0x16, 0x4f, 0x4a, 0xd3, 0x7a, 0x52, 0xfc, 0x6f, 0x37, 0x6a, 0x9f, 0xb6, 0xa7, 0xc7, 0xdb, 0xc6, 0xbc, 0x5e, 0xc1, 0xc0, 0x00, 0x33, 0xfe, 0x07, 0x1e,
0x4c, 0x4c, 0xb5, 0xd8, 0xf3, 0xa9, 0x52, 0xc6, 0x76, 0x2a, 0xca, 0xf1, 0x94, 0x10, 0x26, 0x45, 0x40, 0xb1, 0x3a, 0x64, 0x8c, 0x42, 0xa5, 0xcb, 0x62, 0x35, 0x4b, 0x7d, 0xbf, 0x01, 0x1d, 0x13,
0x43, 0xf6, 0x5e, 0xe8, 0x18, 0xde, 0x80, 0x95, 0x4c, 0x6a, 0x1f, 0xad, 0x9a, 0x9a, 0xcf, 0x51, 0xcd, 0x2f, 0x5e, 0x89, 0xb6, 0x86, 0xa1, 0xc1, 0x75, 0x15, 0x56, 0x47, 0xe3, 0xf8, 0x90, 0x9e,
0x4d, 0xcb, 0x99, 0xf3, 0xee, 0xfc, 0x12, 0xac, 0x85, 0xc3, 0x63, 0x9e, 0x89, 0x88, 0x3c, 0x04, 0x58, 0x4a, 0x35, 0x67, 0x2a, 0x3f, 0xba, 0x22, 0xc1, 0xf7, 0x15, 0xb4, 0x78, 0x52, 0x9a, 0xd6,
0x7a, 0xf4, 0xa5, 0x42, 0x5d, 0xb5, 0xe0, 0xf4, 0x16, 0x5f, 0x86, 0x55, 0x95, 0xe3, 0x35, 0x98, 0x93, 0xc2, 0xbf, 0xd3, 0x30, 0x31, 0xe0, 0x62, 0xcf, 0x67, 0x4a, 0x19, 0xdb, 0xad, 0x28, 0xc7,
0xaa, 0xb2, 0xa7, 0x00, 0x23, 0xa2, 0xff, 0x03, 0x1d, 0xbe, 0x75, 0xef, 0xf0, 0xf4, 0x13, 0xb1, 0x33, 0x42, 0xae, 0x14, 0xbd, 0xd9, 0x7f, 0xa9, 0x23, 0x7b, 0x13, 0x56, 0x52, 0xa9, 0x7d, 0xb4,
0x77, 0xd7, 0x28, 0xed, 0xee, 0x73, 0x2a, 0x94, 0x3a, 0xd4, 0x6e, 0x88, 0x0a, 0x6a, 0x4b, 0xa0, 0x6a, 0x6a, 0xbe, 0x40, 0x35, 0x2d, 0xa7, 0xce, 0xbb, 0xf3, 0xff, 0x60, 0x2d, 0x18, 0x9e, 0x88,
0x0a, 0x7d, 0xbb, 0x47, 0xda, 0x7c, 0x99, 0x23, 0xf5, 0xbf, 0x37, 0x07, 0x8b, 0x1f, 0xc4, 0xc7, 0x34, 0x0f, 0xc9, 0xa3, 0xa1, 0x47, 0x5f, 0x2a, 0xd4, 0x55, 0x0b, 0x4e, 0x6f, 0xf1, 0x55, 0x58,
0x49, 0x34, 0xa0, 0xc0, 0xe6, 0x84, 0x4f, 0x12, 0x5d, 0x3e, 0x81, 0xbf, 0xf1, 0x45, 0xa7, 0x54, 0x55, 0x39, 0x69, 0x83, 0xa9, 0x2a, 0x91, 0x0a, 0x30, 0x22, 0xf2, 0x1f, 0xe8, 0x70, 0xb3, 0x7b,
0x62, 0x2a, 0x54, 0x64, 0x52, 0x37, 0xf1, 0x75, 0xcb, 0x8a, 0x92, 0x22, 0xc9, 0x29, 0x16, 0x04, 0x87, 0x67, 0x9f, 0x88, 0xbd, 0xbb, 0x46, 0x69, 0x77, 0x9f, 0x55, 0xa1, 0xdf, 0xa1, 0x76, 0x9b,
0xed, 0xc3, 0xcc, 0xae, 0xa7, 0x52, 0xad, 0xa2, 0xfe, 0x64, 0xde, 0xaa, 0x3f, 0xa1, 0x30, 0xb8, 0x54, 0x10, 0x5e, 0x02, 0x55, 0xa8, 0xde, 0x3d, 0xd2, 0xe6, 0xab, 0x1c, 0x29, 0xff, 0xde, 0x1c,
0xcc, 0x92, 0xd2, 0x71, 0x2e, 0x05, 0xba, 0x49, 0x76, 0x6c, 0xc6, 0xa5, 0x93, 0x4c, 0xef, 0xe4, 0x2c, 0xbe, 0x1f, 0x9d, 0xc4, 0xe1, 0x80, 0x02, 0xb1, 0x13, 0x31, 0x89, 0x75, 0xb9, 0x07, 0xfe,
0xa2, 0xb2, 0x63, 0x6d, 0x20, 0xbe, 0xa5, 0x72, 0x80, 0xc4, 0x91, 0xba, 0xc6, 0x06, 0xa1, 0x6d, 0xc6, 0x17, 0x9d, 0x52, 0x9f, 0x49, 0xae, 0x22, 0xa9, 0xba, 0x89, 0xaf, 0x5b, 0x5a, 0x94, 0x40,
0x51, 0x2e, 0xc9, 0x6a, 0xc9, 0x2b, 0x2e, 0x81, 0x51, 0x21, 0x0d, 0xb9, 0xd1, 0x1b, 0x72, 0x0f, 0x49, 0x4e, 0xb1, 0x20, 0x68, 0xc7, 0xa6, 0x76, 0xfd, 0x97, 0x6a, 0x15, 0xf5, 0x32, 0xf3, 0x56,
0x20, 0x4b, 0xa6, 0xca, 0x70, 0xcb, 0x0a, 0x96, 0xd9, 0x5e, 0xd5, 0x22, 0x1b, 0x24, 0x1c, 0x8f, 0xbd, 0x0c, 0x85, 0xed, 0x65, 0x56, 0x97, 0x8e, 0x73, 0xc9, 0xd7, 0x4d, 0xb2, 0xbb, 0x53, 0x21,
0x0f, 0xc2, 0xc1, 0x13, 0x2a, 0x94, 0xa3, 0xe4, 0x6e, 0x2b, 0x70, 0x81, 0xb8, 0x6a, 0xaa, 0xfb, 0x9d, 0x7a, 0x7a, 0x27, 0x17, 0x95, 0xdd, 0x6d, 0x03, 0xf1, 0x2d, 0x95, 0x03, 0x24, 0x8e, 0xd4,
0x52, 0x24, 0x96, 0x65, 0x72, 0xd6, 0x02, 0xf9, 0x5f, 0x07, 0x76, 0x73, 0x38, 0x54, 0x37, 0x64, 0x35, 0x36, 0x08, 0x6d, 0x8b, 0x72, 0x09, 0x59, 0x4b, 0x5e, 0x71, 0x09, 0x8c, 0x0a, 0x69, 0x28,
0x7c, 0x84, 0xe2, 0x6c, 0x3d, 0xe7, 0x6c, 0x6b, 0xf6, 0xd8, 0xa8, 0xdd, 0xa3, 0x7f, 0x17, 0xda, 0x8c, 0xde, 0x90, 0x7b, 0x00, 0x59, 0xe2, 0x55, 0x86, 0x5b, 0xd6, 0xba, 0xcc, 0x4e, 0x6b, 0x6b,
0x7b, 0x56, 0x7d, 0x1b, 0x5d, 0xa6, 0xae, 0x6c, 0x53, 0x0c, 0x60, 0x41, 0xac, 0x09, 0x1b, 0xf6, 0x1d, 0x6d, 0x90, 0x60, 0x3c, 0x3e, 0x0c, 0x06, 0x4f, 0xa9, 0xb0, 0x8f, 0x92, 0xd1, 0x2d, 0xdf,
0x84, 0xfe, 0xaf, 0x02, 0x7b, 0x10, 0xe5, 0xc2, 0xac, 0x4f, 0x1e, 0xe0, 0xeb, 0xd0, 0x31, 0x1e, 0x05, 0xe2, 0xaa, 0xa9, 0x4e, 0x4d, 0x91, 0x58, 0x96, 0xc9, 0x64, 0x0b, 0xc4, 0xbf, 0x01, 0xec,
0x55, 0x91, 0xcf, 0x6d, 0x2b, 0x18, 0xe5, 0x59, 0x6f, 0xca, 0x44, 0x70, 0x79, 0x63, 0x57, 0x61, 0xd6, 0x70, 0xa8, 0x6e, 0xc8, 0xf8, 0x34, 0xc5, 0xd9, 0x7a, 0xce, 0xd9, 0xd6, 0xec, 0xb1, 0x51,
0x29, 0x92, 0x20, 0xad, 0x87, 0x75, 0x9a, 0x55, 0x63, 0x9a, 0x7e, 0x34, 0x28, 0x14, 0xd0, 0x51, 0xbb, 0x47, 0x7e, 0x0f, 0xda, 0xfb, 0x56, 0x3d, 0x1e, 0x5d, 0xa6, 0xae, 0xc4, 0x53, 0x0c, 0x60,
0xf3, 0x3f, 0xf4, 0x60, 0x51, 0x6d, 0x0d, 0x9f, 0x43, 0xa7, 0xb2, 0x4f, 0x6e, 0xcc, 0x81, 0xd5, 0x41, 0xac, 0x09, 0x1b, 0xf6, 0x84, 0xfc, 0x17, 0x81, 0x3d, 0x0c, 0xb3, 0xdc, 0xac, 0x4f, 0x1e,
0xd7, 0x43, 0x55, 0xb9, 0x6e, 0xae, 0x8e, 0xeb, 0x18, 0x34, 0xd3, 0x50, 0x1c, 0x91, 0x05, 0xdd, 0xe0, 0x1b, 0xd0, 0x31, 0x1e, 0x60, 0x91, 0x7f, 0x6e, 0x2b, 0x18, 0xe5, 0x85, 0x6f, 0xc9, 0xc4,
0x0a, 0xe8, 0xb7, 0xf6, 0x94, 0xe6, 0x0b, 0x4f, 0xa9, 0xae, 0x04, 0x4f, 0xea, 0x8c, 0x0a, 0x1c, 0x75, 0x79, 0x63, 0xdb, 0xb0, 0x14, 0x4a, 0x90, 0xd6, 0xc3, 0x3a, 0x2d, 0xac, 0x31, 0x4d, 0x3f,
0x37, 0x45, 0xa9, 0x53, 0x09, 0x37, 0x11, 0x51, 0x95, 0x96, 0x2e, 0xc0, 0xc5, 0x79, 0x29, 0x12, 0x1a, 0x14, 0x0a, 0xe8, 0xa8, 0xf9, 0x1f, 0x7a, 0xb0, 0xa8, 0xb6, 0x86, 0xcf, 0xa1, 0x53, 0x89,
0xe5, 0xf3, 0x52, 0xa8, 0x81, 0xe9, 0xf7, 0x7b, 0xd0, 0xbd, 0xc3, 0xc7, 0x5c, 0xf0, 0x9b, 0xe3, 0x28, 0x37, 0xe6, 0xc0, 0xea, 0xeb, 0xb7, 0xaa, 0x5c, 0x37, 0x57, 0xc7, 0x75, 0x0c, 0x9a, 0x49,
0x71, 0x99, 0xfe, 0x2b, 0x70, 0xbe, 0xa6, 0x4f, 0xbd, 0xaa, 0xf7, 0x60, 0xfd, 0x0e, 0x3f, 0x98, 0x90, 0x1f, 0x93, 0x05, 0xdd, 0xf2, 0xe9, 0x37, 0xfa, 0xad, 0xe8, 0xd5, 0x49, 0xee, 0x26, 0x8f,
0x8e, 0x1e, 0xf0, 0xe3, 0x22, 0x6d, 0xc1, 0xa0, 0x99, 0x1f, 0x25, 0x27, 0xea, 0x6e, 0xe9, 0x37, 0xae, 0xae, 0x64, 0x50, 0xea, 0x8c, 0x0a, 0x1c, 0x37, 0x45, 0xa9, 0x5e, 0x09, 0x37, 0x11, 0x5c,
0x3a, 0xbc, 0x63, 0xc4, 0xe9, 0xe7, 0x29, 0x1f, 0xe8, 0x4a, 0x20, 0x82, 0xec, 0xa7, 0x7c, 0xe0, 0x95, 0x46, 0x2f, 0xc0, 0xc5, 0x79, 0x29, 0x12, 0xe5, 0xf3, 0x52, 0xa8, 0xbe, 0xe9, 0xe7, 0x3d,
0xbf, 0x03, 0xcc, 0xa6, 0xa3, 0xb6, 0x80, 0x92, 0x3b, 0x3d, 0xe8, 0xe7, 0xb3, 0x5c, 0xf0, 0x89, 0xe8, 0xde, 0x15, 0x63, 0x91, 0x8b, 0x5b, 0xe3, 0x71, 0x99, 0xfe, 0x6b, 0x70, 0xb1, 0xa6, 0x4f,
0x2e, 0x71, 0xb2, 0x41, 0xfe, 0x65, 0xe8, 0xec, 0x85, 0xb3, 0x80, 0x7f, 0xa2, 0x8a, 0x2b, 0xd1, 0xbd, 0xaa, 0xf7, 0x61, 0xfd, 0xae, 0x38, 0x9c, 0x8e, 0x1e, 0x8a, 0x93, 0x22, 0xcd, 0xc2, 0xa0,
0x79, 0x0b, 0x67, 0xc8, 0xca, 0xc6, 0x79, 0xa3, 0x6e, 0xff, 0x1f, 0x1a, 0xb0, 0x20, 0x31, 0x91, 0x99, 0x1d, 0xc7, 0xa7, 0xea, 0x6e, 0xe9, 0x37, 0x3a, 0xe8, 0x63, 0xc4, 0xe9, 0x67, 0x89, 0x18,
0xea, 0x90, 0xe7, 0x22, 0x8a, 0x65, 0xc8, 0x5e, 0x51, 0xb5, 0x40, 0x15, 0xde, 0x68, 0xd4, 0xf0, 0xe8, 0xca, 0x25, 0x82, 0x1c, 0x24, 0x62, 0xc0, 0xdf, 0x01, 0x66, 0xd3, 0x51, 0x5b, 0x40, 0xc9,
0x86, 0x32, 0xa7, 0x74, 0x55, 0x85, 0x62, 0x02, 0x07, 0x46, 0xbe, 0xa9, 0x49, 0x85, 0x36, 0x95, 0x9d, 0x1e, 0xf6, 0xb3, 0x59, 0x96, 0x8b, 0x89, 0x2e, 0xc9, 0xb2, 0x41, 0xfc, 0x2a, 0x74, 0xf6,
0x6f, 0x6a, 0xd2, 0x9f, 0xae, 0x97, 0x5c, 0xe8, 0x07, 0xb9, 0x3e, 0xcd, 0xb4, 0x8a, 0x1d, 0x6c, 0x83, 0x99, 0x2f, 0x3e, 0x56, 0xc5, 0xa0, 0xe8, 0xbc, 0x05, 0x33, 0x64, 0x65, 0xe3, 0xbc, 0x51,
0x50, 0xad, 0x16, 0x5a, 0x94, 0x5c, 0x53, 0xd1, 0x42, 0x15, 0x6d, 0xb3, 0xf4, 0x12, 0xda, 0x46, 0x37, 0xff, 0x9b, 0x06, 0x2c, 0x48, 0x4c, 0xa4, 0x3a, 0x14, 0x59, 0x1e, 0x46, 0x32, 0xc5, 0xa0,
0xda, 0x58, 0x8e, 0xb6, 0x61, 0xb0, 0x76, 0x8f, 0xf3, 0x80, 0xa7, 0x49, 0xa6, 0x2b, 0x54, 0xfd, 0xa8, 0x5a, 0xa0, 0x0a, 0x6f, 0x34, 0x6a, 0x78, 0x43, 0x99, 0x53, 0xba, 0x0a, 0x44, 0x31, 0x81,
0xef, 0x7a, 0xb0, 0xa6, 0x5e, 0x0f, 0xd3, 0xc7, 0x5e, 0x77, 0x9e, 0x1a, 0xaf, 0x2e, 0x8a, 0xfb, 0x03, 0xc3, 0x77, 0xb7, 0x48, 0xdd, 0x4a, 0xef, 0xa1, 0x00, 0x94, 0xbc, 0xf9, 0x42, 0x3f, 0xc8,
0x06, 0x2c, 0x93, 0xb3, 0x85, 0x9e, 0x14, 0x79, 0x56, 0x2a, 0xfe, 0xe0, 0x00, 0x71, 0x4d, 0x3a, 0xf5, 0x69, 0xa6, 0x55, 0xec, 0x60, 0x83, 0x6a, 0xb5, 0xd0, 0xa2, 0xe4, 0x9a, 0x8a, 0x16, 0xaa,
0x2e, 0x39, 0x89, 0xc6, 0xea, 0x80, 0x6d, 0x10, 0x3e, 0x8b, 0xda, 0x19, 0xa3, 0xe3, 0xf5, 0x02, 0x68, 0x9b, 0xa5, 0x57, 0xd0, 0x36, 0xd2, 0xc6, 0x72, 0xb4, 0x0d, 0x83, 0xb5, 0xfb, 0x42, 0xf8,
0xd3, 0xf6, 0xff, 0xde, 0x83, 0x75, 0x6b, 0xc1, 0x8a, 0xa3, 0x6e, 0x80, 0x4e, 0x7b, 0xca, 0x78, 0x22, 0x89, 0x53, 0x5d, 0x51, 0xcb, 0xbf, 0xeb, 0xc1, 0x9a, 0x7a, 0x3d, 0x4c, 0x1f, 0x7b, 0xc3,
0x82, 0x14, 0x8c, 0x73, 0xee, 0x4b, 0x58, 0x0c, 0x73, 0x90, 0xe9, 0x62, 0xc2, 0x19, 0x2d, 0x30, 0x79, 0x6a, 0xbc, 0xba, 0xa8, 0xf3, 0x9b, 0xb0, 0x4c, 0xce, 0x96, 0x09, 0x41, 0xa8, 0x78, 0x89,
0x9f, 0xca, 0x5a, 0xb1, 0x66, 0x60, 0x83, 0x90, 0x29, 0x4e, 0x38, 0x7f, 0x62, 0x50, 0xe6, 0x08, 0x03, 0xc4, 0x35, 0xe9, 0x38, 0xea, 0x24, 0x1c, 0xab, 0x03, 0xb6, 0x41, 0x3a, 0x8a, 0x81, 0xce,
0xc5, 0x81, 0x51, 0x56, 0x2b, 0x89, 0xc5, 0x91, 0x41, 0x92, 0x85, 0x1c, 0x2e, 0xd0, 0xff, 0x67, 0x18, 0x1d, 0xaf, 0xe7, 0x9b, 0x36, 0xff, 0x6b, 0x0f, 0xd6, 0xad, 0x05, 0x2b, 0x8e, 0xba, 0x09,
0x0f, 0x36, 0xa4, 0x05, 0xa2, 0xec, 0x3b, 0x53, 0x64, 0xb6, 0x20, 0x4d, 0x2e, 0x29, 0x5d, 0xbb, 0x3a, 0x4d, 0x2b, 0x23, 0x15, 0x52, 0x30, 0x2e, 0xb8, 0x2f, 0x61, 0x31, 0xcc, 0x41, 0xa6, 0x8b,
0x67, 0x02, 0xd5, 0x66, 0x5f, 0x7c, 0x49, 0xab, 0xc9, 0x64, 0x33, 0x4f, 0xb9, 0x8b, 0xb9, 0xba, 0x09, 0x66, 0xb4, 0xc0, 0x6c, 0x2a, 0x6b, 0xdb, 0x9a, 0xbe, 0x0d, 0x42, 0xa6, 0x38, 0x15, 0xe2,
0xbb, 0x78, 0xce, 0x49, 0xd7, 0x79, 0xe6, 0xf3, 0xb5, 0x9e, 0xf9, 0xad, 0x45, 0x98, 0xcf, 0x07, 0xa9, 0x41, 0x99, 0x23, 0x14, 0x07, 0x46, 0x59, 0xb8, 0x38, 0xca, 0x8f, 0x0d, 0x92, 0x2c, 0x3c,
0x49, 0xca, 0xfd, 0x2d, 0xd8, 0x74, 0x37, 0xa7, 0xd4, 0xc9, 0xf7, 0x3d, 0xe8, 0xde, 0x93, 0x61, 0x71, 0x81, 0xfc, 0xef, 0x3d, 0xd8, 0x90, 0x16, 0x88, 0xb2, 0xef, 0x4c, 0x51, 0xdc, 0x82, 0x34,
0xa5, 0x28, 0x1e, 0xed, 0x46, 0xb9, 0x48, 0x32, 0x53, 0x55, 0x7b, 0x11, 0x20, 0x17, 0x61, 0x26, 0xb9, 0xa4, 0x74, 0xed, 0x9d, 0xf3, 0x55, 0x9b, 0x7d, 0xf1, 0x15, 0xad, 0x26, 0x93, 0x7d, 0x3d,
0x64, 0xb5, 0x89, 0xf2, 0xa9, 0x0b, 0x08, 0xae, 0x91, 0xc7, 0x43, 0xd9, 0x2b, 0xef, 0xc6, 0xb4, 0xe3, 0x2e, 0xe6, 0xea, 0xee, 0xe2, 0x05, 0x27, 0x5d, 0xe7, 0x99, 0xcf, 0xd7, 0x7a, 0xe6, 0xb7,
0xf1, 0x62, 0x28, 0xd3, 0xda, 0x4f, 0x0e, 0x0f, 0x73, 0x6e, 0x6c, 0x24, 0x1b, 0x86, 0x6e, 0x16, 0x17, 0x61, 0x3e, 0x1b, 0xc4, 0x89, 0xe0, 0x5b, 0xb0, 0xe9, 0x6e, 0x4e, 0xa9, 0x93, 0xef, 0x7b,
0x4a, 0x2f, 0x3a, 0x16, 0xfc, 0x98, 0xd4, 0xa6, 0xf4, 0xa1, 0x4a, 0x50, 0xff, 0xef, 0x3c, 0x58, 0xd0, 0xbd, 0x2f, 0xe3, 0x54, 0x61, 0x34, 0xda, 0x0b, 0xb3, 0x3c, 0x4e, 0x4d, 0x15, 0xf0, 0x65,
0x2d, 0x16, 0x79, 0x17, 0x81, 0xae, 0xa4, 0xcb, 0xa5, 0x59, 0x92, 0xae, 0xbd, 0xfd, 0x68, 0xd8, 0x80, 0x2c, 0x0f, 0xd2, 0x5c, 0x56, 0xc7, 0x28, 0x9f, 0xba, 0x80, 0xe0, 0x1a, 0x45, 0x34, 0x94,
0x8f, 0x62, 0xb5, 0x36, 0x0b, 0x42, 0xd2, 0xa7, 0x5a, 0xc9, 0x54, 0x57, 0xf6, 0xd8, 0x20, 0x99, 0xbd, 0xf2, 0x6e, 0x4c, 0x1b, 0x2f, 0x86, 0x32, 0xc3, 0xfd, 0xf8, 0xe8, 0x28, 0x13, 0xc6, 0x46,
0xb6, 0x13, 0x38, 0x5a, 0x96, 0xf5, 0xa8, 0x16, 0x15, 0x0b, 0x4d, 0x04, 0x8d, 0x5a, 0x90, 0x31, 0xb2, 0x61, 0xe8, 0x66, 0xa1, 0xf4, 0xa2, 0x63, 0x21, 0x4e, 0x48, 0x6d, 0x4a, 0x1f, 0xaa, 0x04,
0x3e, 0xd5, 0xd4, 0x6f, 0xcd, 0x22, 0x41, 0xf1, 0xa7, 0xff, 0x1d, 0x0f, 0xce, 0xd7, 0x1c, 0xae, 0xe5, 0x7f, 0xe5, 0xc1, 0x6a, 0xb1, 0xc8, 0x7b, 0x08, 0x74, 0x25, 0x5d, 0x2e, 0xcd, 0x92, 0x74,
0x92, 0x8c, 0x3b, 0xb0, 0x7e, 0x68, 0x3a, 0xf5, 0x01, 0x48, 0xf1, 0xd8, 0x52, 0x5c, 0x54, 0xda, 0xed, 0xed, 0x87, 0xc3, 0x7e, 0x18, 0xa9, 0xb5, 0x59, 0x10, 0x92, 0x3e, 0xd5, 0x8a, 0xa7, 0xba,
0x74, 0x50, 0x1d, 0xc0, 0xde, 0x82, 0x75, 0x0a, 0x52, 0xc8, 0x23, 0x75, 0x32, 0xde, 0xd5, 0x8e, 0x12, 0xc9, 0x06, 0xc9, 0x34, 0x63, 0x8e, 0xa3, 0x65, 0x19, 0x92, 0x6a, 0x51, 0x71, 0xd3, 0x24,
0x9d, 0x1f, 0x34, 0x60, 0x45, 0xc6, 0x99, 0xe5, 0x77, 0x15, 0x3c, 0x63, 0x1f, 0xc2, 0xa2, 0xfa, 0xa7, 0x51, 0x0b, 0x32, 0x26, 0xa9, 0x9a, 0xfa, 0xad, 0x59, 0x24, 0x28, 0xfe, 0xe4, 0x7f, 0xe8,
0x8a, 0x85, 0x9d, 0x55, 0xd3, 0xba, 0xdf, 0xcd, 0xf4, 0xb6, 0xca, 0x60, 0xc5, 0x3b, 0x1b, 0x7f, 0xc1, 0xc5, 0x9a, 0xc3, 0x55, 0x92, 0x71, 0x17, 0xd6, 0x8f, 0x4c, 0xa7, 0x3e, 0x00, 0x29, 0x1e,
0xf8, 0xe3, 0x7f, 0xfb, 0xd3, 0xc6, 0x32, 0x6b, 0x6f, 0x1f, 0xbf, 0xbd, 0x3d, 0xe2, 0x71, 0x8e, 0x5b, 0x8a, 0x8b, 0x4a, 0x9b, 0xf6, 0xab, 0x03, 0xd8, 0x5b, 0xb0, 0x4e, 0x41, 0x0a, 0x79, 0xa4,
0x34, 0x7e, 0x1b, 0xa0, 0xf8, 0x10, 0x84, 0x75, 0x8d, 0xc1, 0x50, 0xfa, 0x70, 0xa5, 0x77, 0xbe, 0x4e, 0x86, 0xbe, 0xda, 0xb1, 0xfb, 0x83, 0x06, 0xac, 0xc8, 0xb8, 0xb8, 0xfc, 0x0e, 0x44, 0xa4,
0xa6, 0x47, 0xd1, 0x3d, 0x4f, 0x74, 0x37, 0xfc, 0x15, 0xa4, 0x1b, 0xc5, 0x91, 0x90, 0x5f, 0x85, 0xec, 0x03, 0x58, 0x54, 0x5f, 0xdd, 0xb0, 0xf3, 0x6a, 0x5a, 0xf7, 0x3b, 0x9f, 0xde, 0x56, 0x19,
0xbc, 0xe7, 0x5d, 0x65, 0x43, 0xe8, 0xd8, 0x1f, 0x84, 0x30, 0xed, 0x9f, 0xd5, 0x7c, 0x65, 0xd2, 0xac, 0x78, 0x67, 0xe3, 0x77, 0x7f, 0xfc, 0x4f, 0x7f, 0xd4, 0x58, 0x66, 0xed, 0x9d, 0x93, 0xb7,
0x7b, 0xa5, 0xb6, 0x4f, 0x3b, 0xa7, 0x34, 0xc7, 0x59, 0x7f, 0x0d, 0xe7, 0x98, 0x12, 0x86, 0x99, 0x77, 0x46, 0x22, 0xca, 0x90, 0xc6, 0xaf, 0x03, 0x14, 0x1f, 0xae, 0xb0, 0xae, 0x31, 0x18, 0x4a,
0x65, 0xe7, 0x5f, 0x5e, 0x81, 0x96, 0x89, 0x71, 0xb0, 0x6f, 0xc1, 0xb2, 0x13, 0x9a, 0x67, 0x9a, 0x1f, 0xda, 0xf4, 0x2e, 0xd6, 0xf4, 0x28, 0xba, 0x17, 0x89, 0xee, 0x06, 0x5f, 0x41, 0xba, 0x61,
0x70, 0x5d, 0x24, 0xbf, 0x77, 0xa1, 0xbe, 0x53, 0x4d, 0x7b, 0x91, 0xa6, 0xed, 0xb2, 0x2d, 0x9c, 0x14, 0xe6, 0xf2, 0x2b, 0x96, 0xf7, 0xbc, 0x6d, 0x36, 0x84, 0x8e, 0xfd, 0x01, 0x0b, 0xd3, 0xfe,
0x56, 0xc5, 0xb6, 0xb7, 0x29, 0x21, 0x21, 0x8b, 0x83, 0x9e, 0xc0, 0x8a, 0x1b, 0x4e, 0x67, 0x17, 0x59, 0xcd, 0x57, 0x31, 0xbd, 0xd7, 0x6a, 0xfb, 0xb4, 0x73, 0x4a, 0x73, 0x9c, 0xe7, 0x6b, 0x38,
0x5c, 0x85, 0x52, 0x9a, 0xed, 0xd5, 0x53, 0x7a, 0xd5, 0x74, 0x17, 0x68, 0xba, 0x2d, 0xb6, 0x69, 0xc7, 0x94, 0x30, 0xcc, 0x2c, 0xbb, 0xff, 0xf0, 0x1a, 0xb4, 0x4c, 0x8c, 0x83, 0x7d, 0x1b, 0x96,
0x4f, 0x67, 0x62, 0x0f, 0x9c, 0xca, 0xb9, 0xec, 0x2f, 0x45, 0xd8, 0xab, 0xe6, 0xaa, 0xeb, 0xbe, 0x9d, 0x54, 0x02, 0xd3, 0x84, 0xeb, 0x32, 0x0f, 0xbd, 0x4b, 0xf5, 0x9d, 0x6a, 0xda, 0xcb, 0x34,
0x20, 0x31, 0x97, 0x56, 0xfd, 0x8c, 0xc4, 0xef, 0xd2, 0x54, 0x8c, 0xd1, 0x81, 0xda, 0x1f, 0x8a, 0x6d, 0x97, 0x6d, 0xe1, 0xb4, 0x2a, 0x16, 0xbf, 0x43, 0x09, 0x14, 0x59, 0xcc, 0xf4, 0x14, 0x56,
0xb0, 0x8f, 0xa1, 0x65, 0xaa, 0xc3, 0xd9, 0x39, 0xab, 0x24, 0xdf, 0x2e, 0x59, 0xef, 0x75, 0xab, 0xdc, 0xf0, 0x3f, 0xbb, 0xe4, 0x2a, 0x94, 0xd2, 0x6c, 0x9f, 0x39, 0xa3, 0x57, 0x4d, 0x77, 0x89,
0x1d, 0x75, 0x57, 0x65, 0x53, 0x46, 0x86, 0x78, 0x00, 0x67, 0x95, 0xc1, 0x79, 0xc0, 0x7f, 0x9a, 0xa6, 0xdb, 0x62, 0x9b, 0xf6, 0x74, 0x26, 0xf6, 0x20, 0xa8, 0xfc, 0xcc, 0xfe, 0xb2, 0x85, 0x7d,
0x9d, 0xd4, 0x7c, 0xdf, 0x72, 0xdd, 0x63, 0x37, 0x60, 0x49, 0x17, 0xdd, 0xb3, 0xad, 0xfa, 0x8f, 0xc6, 0x5c, 0x75, 0xdd, 0x17, 0x2f, 0xe6, 0xd2, 0xaa, 0x9f, 0xbd, 0xf0, 0x2e, 0x4d, 0xc5, 0x18,
0x07, 0x7a, 0xe7, 0x2a, 0x70, 0x25, 0xcf, 0x37, 0x01, 0x8a, 0x82, 0x71, 0xc3, 0xf9, 0x95, 0x32, 0x1d, 0xa8, 0xfd, 0x61, 0x0b, 0xfb, 0x08, 0x5a, 0xa6, 0x9a, 0x9d, 0x5d, 0xb0, 0x3e, 0x21, 0xb0,
0x76, 0x73, 0x88, 0x35, 0xd5, 0xe5, 0x23, 0x2a, 0x8f, 0x77, 0xeb, 0xd1, 0xd9, 0x6b, 0x05, 0x7e, 0x4b, 0xec, 0x7b, 0xdd, 0x6a, 0x47, 0xdd, 0x55, 0xd9, 0x94, 0x91, 0x21, 0x1e, 0xc2, 0x79, 0x65,
0x6d, 0xa5, 0xfa, 0x73, 0x08, 0xfa, 0x5b, 0x74, 0x76, 0x6b, 0x8c, 0x44, 0x29, 0xe6, 0x27, 0xba, 0x70, 0x1e, 0x8a, 0x9f, 0x66, 0x27, 0x35, 0xdf, 0xe3, 0xdc, 0xf0, 0xd8, 0x4d, 0x58, 0xd2, 0x1f,
0xb0, 0xf1, 0x0e, 0xb4, 0xad, 0x22, 0x74, 0xa6, 0x29, 0x54, 0x0b, 0xd8, 0x7b, 0xbd, 0xba, 0x2e, 0x09, 0xb0, 0xad, 0xfa, 0x8f, 0x1d, 0x7a, 0x17, 0x2a, 0x70, 0x25, 0xcf, 0xb7, 0x00, 0x8a, 0x02,
0xb5, 0xdc, 0x2f, 0xc3, 0xb2, 0x53, 0x4d, 0x6e, 0x24, 0xa3, 0xae, 0x56, 0xdd, 0x48, 0x46, 0x7d, 0x77, 0xc3, 0xf9, 0x95, 0xb2, 0x7b, 0x73, 0x88, 0x35, 0xd5, 0xf0, 0x23, 0x2a, 0xe7, 0x77, 0xeb,
0x01, 0xfa, 0x37, 0xa0, 0x6d, 0xd5, 0x7e, 0x33, 0xab, 0xa0, 0xa3, 0x54, 0xf5, 0x6d, 0x56, 0x54, 0xe7, 0xd9, 0xeb, 0x05, 0x7e, 0x6d, 0x65, 0xfd, 0x0b, 0x08, 0xf2, 0x2d, 0x3a, 0xbb, 0x35, 0x46,
0x57, 0x2a, 0xbe, 0x49, 0xfb, 0x5d, 0xf1, 0x5b, 0xb8, 0x5f, 0xaa, 0xee, 0x43, 0x26, 0xf9, 0x16, 0xa2, 0x14, 0x89, 0x53, 0x5d, 0x88, 0x79, 0x17, 0xda, 0x56, 0xd1, 0x3c, 0xd3, 0x14, 0xaa, 0x05,
0xac, 0xb8, 0xd5, 0xe0, 0x46, 0xaa, 0x6a, 0xeb, 0xca, 0x8d, 0x54, 0x9d, 0x52, 0x42, 0xae, 0x18, 0xf7, 0xbd, 0x5e, 0x5d, 0x97, 0x5a, 0xee, 0x57, 0x60, 0xd9, 0xa9, 0x7e, 0x37, 0x92, 0x51, 0x57,
0xf2, 0xea, 0x86, 0x99, 0x64, 0xfb, 0x33, 0x15, 0xe1, 0x7f, 0xc6, 0xbe, 0x86, 0xaa, 0x43, 0x95, 0x5b, 0x6f, 0x24, 0xa3, 0xbe, 0x60, 0xfe, 0x9b, 0xd0, 0xb6, 0x6a, 0xd5, 0x99, 0x55, 0x80, 0x52,
0x5b, 0xb2, 0xa2, 0x06, 0xde, 0x2d, 0xca, 0x34, 0xdc, 0x5e, 0xa9, 0xcc, 0xf4, 0xd7, 0x89, 0x78, 0xaa, 0x52, 0x37, 0x2b, 0xaa, 0x2b, 0x6d, 0xdf, 0xa4, 0xfd, 0xae, 0xf0, 0x16, 0xee, 0x97, 0xaa,
0x9b, 0x15, 0x3b, 0x90, 0x1a, 0x9a, 0xca, 0x2e, 0x2d, 0x0d, 0x6d, 0x57, 0x66, 0x5a, 0x1a, 0xda, 0x11, 0x91, 0x49, 0xbe, 0x0d, 0x2b, 0x6e, 0xf5, 0xba, 0x91, 0xaa, 0xda, 0x3a, 0x78, 0x23, 0x55,
0xa9, 0xce, 0x2c, 0x6b, 0x68, 0x11, 0x21, 0x8d, 0x18, 0x56, 0x4b, 0x49, 0x5c, 0x23, 0x2c, 0xf5, 0x67, 0x94, 0xbc, 0x2b, 0x86, 0xdc, 0xde, 0x30, 0x93, 0xec, 0x7c, 0xaa, 0x22, 0xfc, 0xcf, 0xd9,
0x25, 0x20, 0xbd, 0x8b, 0xcf, 0xcf, 0xfd, 0xba, 0x6a, 0x46, 0xab, 0x97, 0x6d, 0x5d, 0xb1, 0xf3, 0xd7, 0x51, 0x75, 0xa8, 0xf2, 0x50, 0x56, 0xd4, 0xec, 0xbb, 0x45, 0xa4, 0x86, 0xdb, 0x2b, 0x95,
0x3b, 0xd0, 0xb1, 0xab, 0x78, 0x8d, 0xce, 0xae, 0xa9, 0x3d, 0x36, 0x3a, 0xbb, 0xae, 0xec, 0x57, 0xa4, 0x7c, 0x9d, 0x88, 0xb7, 0x59, 0xb1, 0x03, 0xa9, 0xa1, 0xa9, 0x4c, 0xd4, 0xd2, 0xd0, 0x76,
0x5f, 0x2e, 0xeb, 0xd8, 0xd3, 0xb0, 0x6f, 0xc0, 0xaa, 0x55, 0x2e, 0xb0, 0x3f, 0x8b, 0x07, 0x86, 0x25, 0xa9, 0xa5, 0xa1, 0x9d, 0x6a, 0xd2, 0xb2, 0x86, 0xce, 0x43, 0xa4, 0x11, 0xc1, 0x6a, 0x29,
0x79, 0xaa, 0x05, 0x5e, 0xbd, 0x3a, 0xfb, 0xcc, 0x3f, 0x47, 0x84, 0xd7, 0x7d, 0x87, 0x30, 0x32, 0xe9, 0x6c, 0x84, 0xa5, 0xbe, 0x64, 0xa5, 0x77, 0xf9, 0xc5, 0xb9, 0x6a, 0x57, 0xcd, 0x68, 0xf5,
0xce, 0x6d, 0x68, 0xdb, 0xa5, 0x08, 0xcf, 0xa1, 0x7b, 0xce, 0xea, 0xb2, 0x6b, 0x9d, 0xae, 0x7b, 0xb2, 0xa3, 0x2b, 0x8c, 0x7e, 0x03, 0x3a, 0x76, 0xd5, 0xb1, 0xd1, 0xd9, 0x35, 0xb5, 0xd2, 0x46,
0xec, 0x2f, 0x3c, 0xe8, 0xd8, 0xa5, 0x83, 0xcc, 0x09, 0x2a, 0x96, 0xe8, 0x74, 0xed, 0x3e, 0x9b, 0x67, 0xd7, 0x95, 0x29, 0xeb, 0xcb, 0x65, 0x1d, 0x7b, 0x1a, 0xf6, 0x4d, 0x58, 0xb5, 0xca, 0x1b,
0x90, 0x1f, 0xd0, 0x22, 0x1f, 0x5c, 0xfd, 0xb2, 0x73, 0xc8, 0x9f, 0x39, 0x76, 0xfe, 0xb5, 0xf2, 0x0e, 0x66, 0xd1, 0xc0, 0x30, 0x4f, 0xb5, 0x20, 0xad, 0x57, 0x67, 0x9f, 0xf1, 0x0b, 0x44, 0x78,
0x07, 0x5a, 0xcf, 0xca, 0x08, 0x76, 0x11, 0xdc, 0xb3, 0xeb, 0x1e, 0x7b, 0x4f, 0x7e, 0xc4, 0xa7, 0x9d, 0x3b, 0x84, 0x91, 0x71, 0xee, 0x40, 0xdb, 0x2e, 0x9d, 0x78, 0x01, 0xdd, 0x0b, 0x56, 0x97,
0x7d, 0x74, 0x66, 0x29, 0xb7, 0xf2, 0x91, 0xd9, 0xdf, 0xbb, 0x5d, 0xf1, 0xae, 0x7b, 0xec, 0x9b, 0x5d, 0x9b, 0x75, 0xc3, 0x63, 0x7f, 0xe2, 0x41, 0xc7, 0x2e, 0x75, 0x64, 0x4e, 0x50, 0xb1, 0x44,
0xf2, 0x3b, 0x2c, 0x35, 0x96, 0x4e, 0xfe, 0x65, 0xc7, 0xfb, 0x6f, 0xd0, 0x6e, 0x2e, 0xfa, 0xe7, 0xa7, 0x6b, 0xf7, 0xd9, 0x84, 0xb8, 0x4f, 0x8b, 0x7c, 0xb8, 0xfd, 0x15, 0xe7, 0x90, 0x3f, 0x75,
0x9d, 0xdd, 0x94, 0xb5, 0xfb, 0x1e, 0x40, 0x11, 0x70, 0x61, 0xa5, 0xe8, 0x83, 0xd1, 0x7b, 0xd5, 0xec, 0xfc, 0xeb, 0xe5, 0x0f, 0xca, 0x9e, 0x97, 0x11, 0xec, 0xa2, 0xbd, 0xe7, 0x37, 0x3c, 0xf6,
0x98, 0x8c, 0x7b, 0xa3, 0x3a, 0x48, 0x81, 0x14, 0x3f, 0x96, 0xcc, 0xa8, 0xf0, 0x73, 0x73, 0xa5, 0x9e, 0xfc, 0xe8, 0x50, 0xfb, 0xe8, 0xcc, 0x52, 0x6e, 0xe5, 0x23, 0xb3, 0xbf, 0xcf, 0xbb, 0xe6,
0xd5, 0xc0, 0x49, 0xaf, 0x57, 0xd7, 0x55, 0xc7, 0x8a, 0x9a, 0x3e, 0x7b, 0x0c, 0xcb, 0x0f, 0x92, 0xdd, 0xf0, 0xd8, 0xb7, 0xe4, 0x77, 0x63, 0x6a, 0x2c, 0x9d, 0xfc, 0xab, 0x8e, 0xe7, 0x6f, 0xd2,
0xe4, 0xc9, 0x34, 0x35, 0x41, 0x3c, 0xd7, 0xff, 0xdf, 0x0d, 0xf3, 0xa3, 0x5e, 0x69, 0x17, 0xfe, 0x6e, 0x2e, 0xf3, 0x8b, 0xce, 0x6e, 0xca, 0xda, 0x7d, 0x1f, 0xa0, 0x08, 0xb8, 0xb0, 0x52, 0xf4,
0x25, 0x22, 0xd5, 0x63, 0x5d, 0x8b, 0xd4, 0xf6, 0x67, 0x45, 0xb8, 0xe7, 0x19, 0x0b, 0x61, 0xdd, 0xc1, 0xe8, 0xbd, 0x6a, 0x4c, 0xc6, 0xbd, 0x51, 0x1d, 0xa4, 0x40, 0x8a, 0x1f, 0x49, 0x66, 0x54,
0xbc, 0x71, 0x66, 0xe1, 0x3d, 0x97, 0x8c, 0x1d, 0x75, 0xa9, 0x4c, 0xe1, 0x58, 0x1d, 0x7a, 0xb5, 0xf8, 0x99, 0xb9, 0xd2, 0x6a, 0xe0, 0xa4, 0xd7, 0xab, 0xeb, 0xaa, 0x63, 0x45, 0x4d, 0x9f, 0x3d,
0xdb, 0xb9, 0xa6, 0x79, 0xdd, 0x63, 0x7b, 0xd0, 0xb9, 0xc3, 0x07, 0xc9, 0x90, 0x2b, 0x8f, 0x7d, 0x81, 0xe5, 0x87, 0x71, 0xfc, 0x74, 0x9a, 0x98, 0x20, 0x9e, 0xeb, 0xff, 0xef, 0x05, 0xd9, 0x71,
0xa3, 0x58, 0xb8, 0x71, 0xf5, 0x7b, 0xcb, 0x0e, 0xd0, 0x95, 0xfa, 0x34, 0x9c, 0x65, 0xfc, 0x93, 0xaf, 0xb4, 0x0b, 0x7e, 0x85, 0x48, 0xf5, 0x58, 0xd7, 0x22, 0xb5, 0xf3, 0x69, 0x11, 0xee, 0x79,
0xed, 0xcf, 0x54, 0x2c, 0xe0, 0x99, 0x96, 0x7a, 0x1d, 0xbf, 0x70, 0xa4, 0xbe, 0x14, 0xf0, 0x70, 0xce, 0x02, 0x58, 0x37, 0x6f, 0x9c, 0x59, 0x78, 0xcf, 0x25, 0x63, 0x47, 0x5d, 0x2a, 0x53, 0x38,
0xa4, 0xbe, 0x12, 0xf0, 0x70, 0x8e, 0x5a, 0xc7, 0x4f, 0xd8, 0x18, 0xd6, 0x2b, 0x31, 0x12, 0xf3, 0x56, 0x87, 0x5e, 0xed, 0x4e, 0xa6, 0x69, 0xde, 0xf0, 0xd8, 0x3e, 0x74, 0xee, 0x8a, 0x41, 0x3c,
0x52, 0x9e, 0x16, 0x59, 0xe9, 0x5d, 0x3a, 0x1d, 0xc1, 0x9d, 0xed, 0xaa, 0x3b, 0xdb, 0x3e, 0x2c, 0x14, 0xca, 0x63, 0xdf, 0x28, 0x16, 0x6e, 0x5c, 0xfd, 0xde, 0xb2, 0x03, 0x74, 0xa5, 0x3e, 0x09,
0xdf, 0xe1, 0xf2, 0xb0, 0x64, 0x62, 0xac, 0xe7, 0xaa, 0x11, 0x3b, 0x89, 0x56, 0x56, 0x31, 0xd4, 0x66, 0xa9, 0xf8, 0x78, 0xe7, 0x53, 0x15, 0x0b, 0x78, 0xae, 0xa5, 0x5e, 0xc7, 0x2f, 0x1c, 0xa9,
0xe7, 0xaa, 0x75, 0xca, 0x4a, 0xb1, 0x8f, 0xa1, 0x7d, 0x9f, 0x0b, 0x9d, 0x09, 0x33, 0xf6, 0x46, 0x2f, 0x05, 0x3c, 0x1c, 0xa9, 0xaf, 0x04, 0x3c, 0x9c, 0xa3, 0xd6, 0xf1, 0x13, 0x36, 0x86, 0xf5,
0x29, 0x35, 0xd6, 0xab, 0x49, 0xa4, 0xb9, 0x3c, 0x43, 0xd4, 0xb6, 0xf9, 0x70, 0xc4, 0xa5, 0xb0, 0x4a, 0x8c, 0xc4, 0xbc, 0x94, 0x67, 0x45, 0x56, 0x7a, 0x57, 0xce, 0x46, 0x70, 0x67, 0xdb, 0x76,
0xf7, 0xa3, 0xe1, 0x33, 0xf6, 0x9b, 0x44, 0xdc, 0x24, 0xcf, 0xb7, 0xac, 0x04, 0x8a, 0x4d, 0x7c, 0x67, 0x3b, 0x80, 0xe5, 0xbb, 0x42, 0x1e, 0x96, 0x4c, 0x8c, 0xf5, 0x5c, 0x35, 0x62, 0x27, 0xd1,
0xb5, 0x04, 0xaf, 0xa3, 0x1c, 0x27, 0x43, 0x6e, 0x3d, 0x70, 0x31, 0xb4, 0xad, 0x4a, 0x09, 0x23, 0xca, 0x2a, 0x86, 0xfa, 0x5c, 0xb5, 0x4e, 0x59, 0x29, 0xf6, 0x11, 0xb4, 0x1f, 0x88, 0x5c, 0x67,
0x40, 0xd5, 0xea, 0x0c, 0x23, 0x40, 0x35, 0x85, 0x15, 0xfe, 0x15, 0x9a, 0xc7, 0x67, 0x97, 0x8a, 0xc2, 0x8c, 0xbd, 0x51, 0x4a, 0x8d, 0xf5, 0x6a, 0x12, 0x69, 0x2e, 0xcf, 0x10, 0xb5, 0x1d, 0x31,
0x79, 0x64, 0x31, 0x45, 0x31, 0xd3, 0xf6, 0x67, 0xe1, 0x44, 0x3c, 0x63, 0x1f, 0xd1, 0x77, 0x08, 0x1c, 0x09, 0x29, 0xec, 0xfd, 0x70, 0xf8, 0x9c, 0xfd, 0x2a, 0x11, 0x37, 0xc9, 0xf3, 0x2d, 0x2b,
0x76, 0xb6, 0xaf, 0xb0, 0x77, 0xca, 0x89, 0x41, 0x73, 0x58, 0x56, 0x97, 0x6b, 0x03, 0xc9, 0xa9, 0x81, 0x62, 0x13, 0x5f, 0x2d, 0xc1, 0xeb, 0x28, 0x47, 0xf1, 0x50, 0x58, 0x0f, 0x5c, 0x04, 0x6d,
0xe8, 0x1d, 0xfc, 0x22, 0xc0, 0xbe, 0x48, 0xd2, 0x3b, 0x21, 0x9f, 0x24, 0x71, 0xa1, 0xb9, 0x8a, 0xab, 0xb2, 0xc3, 0x08, 0x50, 0xb5, 0x9a, 0xc4, 0x08, 0x50, 0x4d, 0x21, 0x08, 0xbf, 0x46, 0xf3,
0x8c, 0x56, 0xa1, 0xb9, 0xac, 0xb4, 0x16, 0xfb, 0xc8, 0xb2, 0x38, 0x9d, 0x64, 0xa9, 0x66, 0xae, 0x70, 0x76, 0xa5, 0x98, 0x47, 0x16, 0x7f, 0x14, 0x33, 0xed, 0x7c, 0x1a, 0x4c, 0xf2, 0xe7, 0xec,
0x53, 0x93, 0x5e, 0xe6, 0x40, 0x6a, 0x12, 0x5f, 0xd7, 0x3d, 0xb4, 0x1f, 0x8b, 0x88, 0x9c, 0xb1, 0x43, 0xfa, 0x6e, 0xc2, 0xce, 0xf6, 0x15, 0xf6, 0x4e, 0x39, 0x31, 0x68, 0x0e, 0xcb, 0xea, 0x72,
0x1f, 0x2b, 0xc1, 0x3e, 0xa3, 0xf6, 0x6a, 0xc2, 0x77, 0x7b, 0xd0, 0x2a, 0xc2, 0x42, 0xfa, 0x49, 0x6d, 0x20, 0x39, 0x15, 0xbd, 0x83, 0x5f, 0x04, 0x38, 0xc8, 0xe3, 0xe4, 0x6e, 0x20, 0x26, 0x71,
0x2a, 0x07, 0x91, 0xcc, 0x1b, 0x53, 0x09, 0xd6, 0xf8, 0x6b, 0x74, 0x54, 0xc0, 0x96, 0xf0, 0xa8, 0x54, 0x68, 0xae, 0x22, 0xa3, 0x55, 0x68, 0x2e, 0x2b, 0xad, 0xc5, 0x3e, 0xb4, 0x2c, 0x4e, 0x27,
0x28, 0x02, 0x13, 0xc1, 0x86, 0x5c, 0xa0, 0x79, 0x30, 0x29, 0x47, 0xa3, 0x77, 0x52, 0x13, 0x30, 0x59, 0xaa, 0x99, 0xeb, 0xcc, 0xa4, 0x97, 0x39, 0x90, 0x9a, 0xc4, 0xd7, 0x0d, 0x0f, 0xed, 0xc7,
0x31, 0xd2, 0x5c, 0x1b, 0x6f, 0x70, 0x7c, 0x3b, 0xe4, 0x56, 0x99, 0x1f, 0x42, 0xd5, 0x3c, 0x81, 0x22, 0x22, 0x67, 0xec, 0xc7, 0x4a, 0xb0, 0xcf, 0xa8, 0xbd, 0x9a, 0xf0, 0xdd, 0x3e, 0xb4, 0x8a,
0xf5, 0x8a, 0xb3, 0x6c, 0x44, 0xfa, 0xb4, 0x18, 0x85, 0x11, 0xe9, 0x53, 0xfd, 0x6c, 0xff, 0x2c, 0xb0, 0x90, 0x7e, 0x92, 0xca, 0x41, 0x24, 0xf3, 0xc6, 0x54, 0x82, 0x35, 0x7c, 0x8d, 0x8e, 0x0a,
0x4d, 0xb9, 0xea, 0x03, 0x4e, 0x99, 0x9f, 0x44, 0x62, 0x70, 0xf4, 0x9e, 0x77, 0xf5, 0x60, 0x81, 0xd8, 0x12, 0x1e, 0x15, 0x45, 0x60, 0x42, 0xd8, 0x90, 0x0b, 0x34, 0x0f, 0x26, 0xe5, 0x68, 0xf4,
0xfe, 0x26, 0xe2, 0xf3, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x70, 0x25, 0x2d, 0xcc, 0x58, 0x42, 0x4e, 0x6a, 0x02, 0x26, 0x46, 0x9a, 0x6b, 0xe3, 0x0d, 0x8e, 0x6f, 0x87, 0xdc, 0x2a, 0xf3, 0x43,
0x00, 0x00, 0xa8, 0x9a, 0x27, 0xb0, 0x5e, 0x71, 0x96, 0x8d, 0x48, 0x9f, 0x15, 0xa3, 0x30, 0x22, 0x7d, 0xa6,
0x9f, 0xcd, 0xcf, 0xd3, 0x94, 0xab, 0x1c, 0x70, 0xca, 0xec, 0x34, 0xcc, 0x07, 0xc7, 0xef, 0x79,
0xdb, 0x87, 0x0b, 0xf4, 0xb7, 0x16, 0x9f, 0xff, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xbc, 0xb9,
0x7b, 0x12, 0x08, 0x43, 0x00, 0x00,
} }

@ -592,10 +592,18 @@ func RegisterWalletUnlockerHandlerFromEndpoint(ctx context.Context, mux *runtime
// RegisterWalletUnlockerHandler registers the http handlers for service WalletUnlocker to "mux". // RegisterWalletUnlockerHandler registers the http handlers for service WalletUnlocker to "mux".
// The handlers forward requests to the grpc endpoint over "conn". // The handlers forward requests to the grpc endpoint over "conn".
func RegisterWalletUnlockerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { func RegisterWalletUnlockerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
client := NewWalletUnlockerClient(conn) return RegisterWalletUnlockerHandlerClient(ctx, mux, NewWalletUnlockerClient(conn))
}
// RegisterWalletUnlockerHandler registers the http handlers for service WalletUnlocker to "mux".
// The handlers forward requests to the grpc endpoint over the given implementation of "WalletUnlockerClient".
// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "WalletUnlockerClient"
// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
// "WalletUnlockerClient" to call the correct interceptors.
func RegisterWalletUnlockerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client WalletUnlockerClient) error {
mux.Handle("GET", pattern_WalletUnlocker_GenSeed_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_WalletUnlocker_GenSeed_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -624,7 +632,7 @@ func RegisterWalletUnlockerHandler(ctx context.Context, mux *runtime.ServeMux, c
}) })
mux.Handle("POST", pattern_WalletUnlocker_InitWallet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("POST", pattern_WalletUnlocker_InitWallet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -653,7 +661,7 @@ func RegisterWalletUnlockerHandler(ctx context.Context, mux *runtime.ServeMux, c
}) })
mux.Handle("POST", pattern_WalletUnlocker_UnlockWallet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("POST", pattern_WalletUnlocker_UnlockWallet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -728,10 +736,18 @@ func RegisterLightningHandlerFromEndpoint(ctx context.Context, mux *runtime.Serv
// RegisterLightningHandler registers the http handlers for service Lightning to "mux". // RegisterLightningHandler registers the http handlers for service Lightning to "mux".
// The handlers forward requests to the grpc endpoint over "conn". // The handlers forward requests to the grpc endpoint over "conn".
func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
client := NewLightningClient(conn) return RegisterLightningHandlerClient(ctx, mux, NewLightningClient(conn))
}
// RegisterLightningHandler registers the http handlers for service Lightning to "mux".
// The handlers forward requests to the grpc endpoint over the given implementation of "LightningClient".
// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "LightningClient"
// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
// "LightningClient" to call the correct interceptors.
func RegisterLightningHandlerClient(ctx context.Context, mux *runtime.ServeMux, client LightningClient) error {
mux.Handle("GET", pattern_Lightning_WalletBalance_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_WalletBalance_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -760,7 +776,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_ChannelBalance_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_ChannelBalance_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -789,7 +805,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_GetTransactions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_GetTransactions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -818,7 +834,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("POST", pattern_Lightning_SendCoins_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("POST", pattern_Lightning_SendCoins_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -847,7 +863,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_NewWitnessAddress_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_NewWitnessAddress_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -876,7 +892,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("POST", pattern_Lightning_ConnectPeer_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("POST", pattern_Lightning_ConnectPeer_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -905,7 +921,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("DELETE", pattern_Lightning_DisconnectPeer_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("DELETE", pattern_Lightning_DisconnectPeer_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -934,7 +950,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_ListPeers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_ListPeers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -963,7 +979,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_GetInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_GetInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -992,7 +1008,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_PendingChannels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_PendingChannels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1021,7 +1037,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_ListChannels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_ListChannels_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1050,7 +1066,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("POST", pattern_Lightning_OpenChannelSync_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("POST", pattern_Lightning_OpenChannelSync_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1079,7 +1095,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("DELETE", pattern_Lightning_CloseChannel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("DELETE", pattern_Lightning_CloseChannel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1108,7 +1124,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("POST", pattern_Lightning_SendPaymentSync_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("POST", pattern_Lightning_SendPaymentSync_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1137,7 +1153,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("POST", pattern_Lightning_AddInvoice_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("POST", pattern_Lightning_AddInvoice_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1166,7 +1182,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_ListInvoices_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_ListInvoices_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1195,7 +1211,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_LookupInvoice_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_LookupInvoice_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1224,7 +1240,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_SubscribeInvoices_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_SubscribeInvoices_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1253,7 +1269,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_DecodePayReq_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_DecodePayReq_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1282,7 +1298,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_ListPayments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_ListPayments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1311,7 +1327,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("DELETE", pattern_Lightning_DeleteAllPayments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("DELETE", pattern_Lightning_DeleteAllPayments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1340,7 +1356,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_DescribeGraph_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_DescribeGraph_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1369,7 +1385,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_GetChanInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_GetChanInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1398,7 +1414,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_GetNodeInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_GetNodeInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1427,7 +1443,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_QueryRoutes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_QueryRoutes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1456,7 +1472,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_GetNetworkInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_GetNetworkInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1485,7 +1501,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("GET", pattern_Lightning_FeeReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("GET", pattern_Lightning_FeeReport_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1514,7 +1530,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("POST", pattern_Lightning_UpdateChannelPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("POST", pattern_Lightning_UpdateChannelPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {
@ -1543,7 +1559,7 @@ func RegisterLightningHandler(ctx context.Context, mux *runtime.ServeMux, conn *
}) })
mux.Handle("POST", pattern_Lightning_ForwardingHistory_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { mux.Handle("POST", pattern_Lightning_ForwardingHistory_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(req.Context())
defer cancel() defer cancel()
if cn, ok := w.(http.CloseNotifier); ok { if cn, ok := w.(http.CloseNotifier); ok {
go func(done <-chan struct{}, closed <-chan bool) { go func(done <-chan struct{}, closed <-chan bool) {

@ -1155,9 +1155,11 @@ message Hop {
*/ */
uint64 chan_id = 1 [json_name = "chan_id"]; uint64 chan_id = 1 [json_name = "chan_id"];
int64 chan_capacity = 2 [json_name = "chan_capacity"]; int64 chan_capacity = 2 [json_name = "chan_capacity"];
int64 amt_to_forward = 3 [json_name = "amt_to_forward"]; int64 amt_to_forward = 3 [json_name = "amt_to_forward", deprecated = true];
int64 fee = 4 [json_name = "fee"]; int64 fee = 4 [json_name = "fee", deprecated = true];
uint32 expiry = 5 [json_name = "expiry"]; uint32 expiry = 5 [json_name = "expiry"];
int64 amt_to_forward_msat = 6 [json_name = "amt_to_forward_msat"];
int64 fee_msat = 7 [json_name = "fee_msat"];
} }
/** /**
@ -1182,7 +1184,7 @@ message Route {
of a one-hop payment, this value will be zero as we don't need to pay a fee of a one-hop payment, this value will be zero as we don't need to pay a fee
it ourself. it ourself.
*/ */
int64 total_fees = 2 [json_name = "total_fees"]; int64 total_fees = 2 [json_name = "total_fees", deprecated = true];
/** /**
The total amount of funds required to complete a payment over this route. The total amount of funds required to complete a payment over this route.
@ -1191,12 +1193,22 @@ message Route {
satoshis, otherwise the route will fail at an intermediate node due to an satoshis, otherwise the route will fail at an intermediate node due to an
insufficient amount of fees. insufficient amount of fees.
*/ */
int64 total_amt = 3 [json_name = "total_amt"]; int64 total_amt = 3 [json_name = "total_amt", deprecated = true];
/** /**
Contains details concerning the specific forwarding details at each hop. Contains details concerning the specific forwarding details at each hop.
*/ */
repeated Hop hops = 4 [json_name = "hops"]; repeated Hop hops = 4 [json_name = "hops"];
/**
The total fees in millisatoshis.
*/
int64 total_fees_msat = 5 [json_name = "total_fees_msat"];
/**
The total amount in millisatoshis.
*/
int64 total_amt_msat = 6 [json_name = "total_amt_msat"];
} }
message NodeInfoRequest { message NodeInfoRequest {

@ -789,6 +789,14 @@
} }
}, },
"definitions": { "definitions": {
"NewAddressRequestAddressType": {
"type": "string",
"enum": [
"WITNESS_PUBKEY_HASH",
"NESTED_PUBKEY_HASH"
],
"default": "WITNESS_PUBKEY_HASH"
},
"PendingChannelsResponseClosedChannel": { "PendingChannelsResponseClosedChannel": {
"type": "object", "type": "object",
"properties": { "properties": {
@ -1496,6 +1504,14 @@
"expiry": { "expiry": {
"type": "integer", "type": "integer",
"format": "int64" "format": "int64"
},
"amt_to_forward_msat": {
"type": "string",
"format": "int64"
},
"fee_msat": {
"type": "string",
"format": "int64"
} }
} }
}, },
@ -2097,6 +2113,16 @@
"$ref": "#/definitions/lnrpcHop" "$ref": "#/definitions/lnrpcHop"
}, },
"description": "*\nContains details concerning the specific forwarding details at each hop." "description": "*\nContains details concerning the specific forwarding details at each hop."
},
"total_fees_msat": {
"type": "string",
"format": "int64",
"description": "*\nThe total fees in millisatoshis."
},
"total_amt_msat": {
"type": "string",
"format": "int64",
"description": "*\nThe total amount in millisatoshis."
} }
}, },
"description": "*\nA path through the channel graph which runs over one or more channels in\nsuccession. This struct carries all the information required to craft the\nSphinx onion packet, and send the payment along the first hop in the path. A\nroute is only selected as valid if all the channels have sufficient capacity to\ncarry the initial payment amount after fees are accounted for." "description": "*\nA path through the channel graph which runs over one or more channels in\nsuccession. This struct carries all the information required to craft the\nSphinx onion packet, and send the payment along the first hop in the path. A\nroute is only selected as valid if all the channels have sufficient capacity to\ncarry the initial payment amount after fees are accounted for."