lnrpc: expose all local and remote channel constraints

This commit is contained in:
yyforyongyu 2020-06-10 20:21:13 +08:00
parent eeea441c3c
commit f11da830b9
6 changed files with 1271 additions and 866 deletions

View File

@ -861,7 +861,7 @@ func closeAllChannels(ctx *cli.Context) error {
"The closing transaction will need %d "+
"confirmations before the funds can be "+
"spent. (yes/no): ", channel.RemotePubkey,
channel.ChannelPoint, channel.CsvDelay)
channel.ChannelPoint, channel.LocalConstraints.CsvDelay)
confirmed := promptForConfirmation(msg)

View File

@ -344,7 +344,7 @@ func (x ChannelCloseSummary_ClosureType) String() string {
}
func (ChannelCloseSummary_ClosureType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{35, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{36, 0}
}
type Peer_SyncType int32
@ -378,7 +378,7 @@ func (x Peer_SyncType) String() string {
}
func (Peer_SyncType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{38, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{39, 0}
}
type PeerEvent_EventType int32
@ -403,7 +403,7 @@ func (x PeerEvent_EventType) String() string {
}
func (PeerEvent_EventType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{43, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{44, 0}
}
type PendingChannelsResponse_ForceClosedChannel_AnchorState int32
@ -431,7 +431,7 @@ func (x PendingChannelsResponse_ForceClosedChannel_AnchorState) String() string
}
func (PendingChannelsResponse_ForceClosedChannel_AnchorState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{70, 5, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{71, 5, 0}
}
type ChannelEventUpdate_UpdateType int32
@ -465,7 +465,7 @@ func (x ChannelEventUpdate_UpdateType) String() string {
}
func (ChannelEventUpdate_UpdateType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{72, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{73, 0}
}
type Invoice_InvoiceState int32
@ -496,7 +496,7 @@ func (x Invoice_InvoiceState) String() string {
}
func (Invoice_InvoiceState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{107, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{108, 0}
}
type Payment_PaymentStatus int32
@ -527,7 +527,7 @@ func (x Payment_PaymentStatus) String() string {
}
func (Payment_PaymentStatus) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{114, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{115, 0}
}
type HTLCAttempt_HTLCStatus int32
@ -555,7 +555,7 @@ func (x HTLCAttempt_HTLCStatus) String() string {
}
func (HTLCAttempt_HTLCStatus) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{115, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{116, 0}
}
type Failure_FailureCode int32
@ -666,7 +666,7 @@ func (x Failure_FailureCode) String() string {
}
func (Failure_FailureCode) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{148, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{149, 0}
}
type Utxo struct {
@ -2704,6 +2704,94 @@ func (m *HTLC) GetExpirationHeight() uint32 {
return 0
}
type ChannelConstraints struct {
//
//The CSV delay expressed in relative blocks. If the channel is force closed,
//we will need to wait for this many blocks before we can regain our funds.
CsvDelay uint32 `protobuf:"varint,1,opt,name=csv_delay,json=csvDelay,proto3" json:"csv_delay,omitempty"`
// The minimum satoshis this node is required to reserve in its balance.
ChanReserveSat uint64 `protobuf:"varint,2,opt,name=chan_reserve_sat,json=chanReserveSat,proto3" json:"chan_reserve_sat,omitempty"`
// The dust limit (in satoshis) of the initiator's commitment tx.
DustLimitSat uint64 `protobuf:"varint,3,opt,name=dust_limit_sat,json=dustLimitSat,proto3" json:"dust_limit_sat,omitempty"`
// The maximum amount of coins in millisatoshis that can be pending in this
// channel.
MaxPendingAmtMsat uint64 `protobuf:"varint,4,opt,name=max_pending_amt_msat,json=maxPendingAmtMsat,proto3" json:"max_pending_amt_msat,omitempty"`
// The smallest HTLC in millisatoshis that the initiator will accept.
MinHtlcMsat uint64 `protobuf:"varint,5,opt,name=min_htlc_msat,json=minHtlcMsat,proto3" json:"min_htlc_msat,omitempty"`
// The total number of incoming HTLC's that the initiator will accept.
MaxAcceptedHtlcs uint32 `protobuf:"varint,6,opt,name=max_accepted_htlcs,json=maxAcceptedHtlcs,proto3" json:"max_accepted_htlcs,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ChannelConstraints) Reset() { *m = ChannelConstraints{} }
func (m *ChannelConstraints) String() string { return proto.CompactTextString(m) }
func (*ChannelConstraints) ProtoMessage() {}
func (*ChannelConstraints) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{32}
}
func (m *ChannelConstraints) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChannelConstraints.Unmarshal(m, b)
}
func (m *ChannelConstraints) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ChannelConstraints.Marshal(b, m, deterministic)
}
func (m *ChannelConstraints) XXX_Merge(src proto.Message) {
xxx_messageInfo_ChannelConstraints.Merge(m, src)
}
func (m *ChannelConstraints) XXX_Size() int {
return xxx_messageInfo_ChannelConstraints.Size(m)
}
func (m *ChannelConstraints) XXX_DiscardUnknown() {
xxx_messageInfo_ChannelConstraints.DiscardUnknown(m)
}
var xxx_messageInfo_ChannelConstraints proto.InternalMessageInfo
func (m *ChannelConstraints) GetCsvDelay() uint32 {
if m != nil {
return m.CsvDelay
}
return 0
}
func (m *ChannelConstraints) GetChanReserveSat() uint64 {
if m != nil {
return m.ChanReserveSat
}
return 0
}
func (m *ChannelConstraints) GetDustLimitSat() uint64 {
if m != nil {
return m.DustLimitSat
}
return 0
}
func (m *ChannelConstraints) GetMaxPendingAmtMsat() uint64 {
if m != nil {
return m.MaxPendingAmtMsat
}
return 0
}
func (m *ChannelConstraints) GetMinHtlcMsat() uint64 {
if m != nil {
return m.MinHtlcMsat
}
return 0
}
func (m *ChannelConstraints) GetMaxAcceptedHtlcs() uint32 {
if m != nil {
return m.MaxAcceptedHtlcs
}
return 0
}
type Channel struct {
// Whether this channel is active or not
Active bool `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"`
@ -2753,20 +2841,23 @@ type Channel struct {
//The list of active, uncleared HTLCs currently pending within the channel.
PendingHtlcs []*HTLC `protobuf:"bytes,15,rep,name=pending_htlcs,json=pendingHtlcs,proto3" json:"pending_htlcs,omitempty"`
//
//The CSV delay expressed in relative blocks. If the channel is force closed,
//we will need to wait for this many blocks before we can regain our funds.
CsvDelay uint32 `protobuf:"varint,16,opt,name=csv_delay,json=csvDelay,proto3" json:"csv_delay,omitempty"`
//Deprecated. The CSV delay expressed in relative blocks. If the channel is
//force closed, we will need to wait for this many blocks before we can regain
//our funds.
CsvDelay uint32 `protobuf:"varint,16,opt,name=csv_delay,json=csvDelay,proto3" json:"csv_delay,omitempty"` // Deprecated: Do not use.
// Whether this channel is advertised to the network or not.
Private bool `protobuf:"varint,17,opt,name=private,proto3" json:"private,omitempty"`
// True if we were the ones that created the channel.
Initiator bool `protobuf:"varint,18,opt,name=initiator,proto3" json:"initiator,omitempty"`
// A set of flags showing the current state of the channel.
ChanStatusFlags string `protobuf:"bytes,19,opt,name=chan_status_flags,json=chanStatusFlags,proto3" json:"chan_status_flags,omitempty"`
// The minimum satoshis this node is required to reserve in its balance.
LocalChanReserveSat int64 `protobuf:"varint,20,opt,name=local_chan_reserve_sat,json=localChanReserveSat,proto3" json:"local_chan_reserve_sat,omitempty"`
// Deprecated. The minimum satoshis this node is required to reserve in its
// balance.
LocalChanReserveSat int64 `protobuf:"varint,20,opt,name=local_chan_reserve_sat,json=localChanReserveSat,proto3" json:"local_chan_reserve_sat,omitempty"` // Deprecated: Do not use.
//
//The minimum satoshis the other node is required to reserve in its balance.
RemoteChanReserveSat int64 `protobuf:"varint,21,opt,name=remote_chan_reserve_sat,json=remoteChanReserveSat,proto3" json:"remote_chan_reserve_sat,omitempty"`
//Deprecated. The minimum satoshis the other node is required to reserve in
//its balance.
RemoteChanReserveSat int64 `protobuf:"varint,21,opt,name=remote_chan_reserve_sat,json=remoteChanReserveSat,proto3" json:"remote_chan_reserve_sat,omitempty"` // Deprecated: Do not use.
// Deprecated. Use commitment_type.
StaticRemoteKey bool `protobuf:"varint,22,opt,name=static_remote_key,json=staticRemoteKey,proto3" json:"static_remote_key,omitempty"` // Deprecated: Do not use.
// The commitment type used by this channel.
@ -2801,17 +2892,21 @@ type Channel struct {
//initiator. The thaw_height is the height that this restriction stops
//applying to the channel. This field is optional, not setting it or using a
//value of zero will mean the channel has no additional restrictions.
ThawHeight uint32 `protobuf:"varint,28,opt,name=thaw_height,json=thawHeight,proto3" json:"thaw_height,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
ThawHeight uint32 `protobuf:"varint,28,opt,name=thaw_height,json=thawHeight,proto3" json:"thaw_height,omitempty"`
// List constraints for the local node.
LocalConstraints *ChannelConstraints `protobuf:"bytes,29,opt,name=local_constraints,json=localConstraints,proto3" json:"local_constraints,omitempty"`
// List constraints for the remote node.
RemoteConstraints *ChannelConstraints `protobuf:"bytes,30,opt,name=remote_constraints,json=remoteConstraints,proto3" json:"remote_constraints,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Channel) Reset() { *m = Channel{} }
func (m *Channel) String() string { return proto.CompactTextString(m) }
func (*Channel) ProtoMessage() {}
func (*Channel) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{32}
return fileDescriptor_77a6da22d6a3feb1, []int{33}
}
func (m *Channel) XXX_Unmarshal(b []byte) error {
@ -2937,6 +3032,7 @@ func (m *Channel) GetPendingHtlcs() []*HTLC {
return nil
}
// Deprecated: Do not use.
func (m *Channel) GetCsvDelay() uint32 {
if m != nil {
return m.CsvDelay
@ -2965,6 +3061,7 @@ func (m *Channel) GetChanStatusFlags() string {
return ""
}
// Deprecated: Do not use.
func (m *Channel) GetLocalChanReserveSat() int64 {
if m != nil {
return m.LocalChanReserveSat
@ -2972,6 +3069,7 @@ func (m *Channel) GetLocalChanReserveSat() int64 {
return 0
}
// Deprecated: Do not use.
func (m *Channel) GetRemoteChanReserveSat() int64 {
if m != nil {
return m.RemoteChanReserveSat
@ -3029,6 +3127,20 @@ func (m *Channel) GetThawHeight() uint32 {
return 0
}
func (m *Channel) GetLocalConstraints() *ChannelConstraints {
if m != nil {
return m.LocalConstraints
}
return nil
}
func (m *Channel) GetRemoteConstraints() *ChannelConstraints {
if m != nil {
return m.RemoteConstraints
}
return nil
}
type ListChannelsRequest struct {
ActiveOnly bool `protobuf:"varint,1,opt,name=active_only,json=activeOnly,proto3" json:"active_only,omitempty"`
InactiveOnly bool `protobuf:"varint,2,opt,name=inactive_only,json=inactiveOnly,proto3" json:"inactive_only,omitempty"`
@ -3047,7 +3159,7 @@ func (m *ListChannelsRequest) Reset() { *m = ListChannelsRequest{} }
func (m *ListChannelsRequest) String() string { return proto.CompactTextString(m) }
func (*ListChannelsRequest) ProtoMessage() {}
func (*ListChannelsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{33}
return fileDescriptor_77a6da22d6a3feb1, []int{34}
}
func (m *ListChannelsRequest) XXX_Unmarshal(b []byte) error {
@ -3115,7 +3227,7 @@ func (m *ListChannelsResponse) Reset() { *m = ListChannelsResponse{} }
func (m *ListChannelsResponse) String() string { return proto.CompactTextString(m) }
func (*ListChannelsResponse) ProtoMessage() {}
func (*ListChannelsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{34}
return fileDescriptor_77a6da22d6a3feb1, []int{35}
}
func (m *ListChannelsResponse) XXX_Unmarshal(b []byte) error {
@ -3185,7 +3297,7 @@ func (m *ChannelCloseSummary) Reset() { *m = ChannelCloseSummary{} }
func (m *ChannelCloseSummary) String() string { return proto.CompactTextString(m) }
func (*ChannelCloseSummary) ProtoMessage() {}
func (*ChannelCloseSummary) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{35}
return fileDescriptor_77a6da22d6a3feb1, []int{36}
}
func (m *ChannelCloseSummary) XXX_Unmarshal(b []byte) error {
@ -3306,7 +3418,7 @@ func (m *ClosedChannelsRequest) Reset() { *m = ClosedChannelsRequest{} }
func (m *ClosedChannelsRequest) String() string { return proto.CompactTextString(m) }
func (*ClosedChannelsRequest) ProtoMessage() {}
func (*ClosedChannelsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{36}
return fileDescriptor_77a6da22d6a3feb1, []int{37}
}
func (m *ClosedChannelsRequest) XXX_Unmarshal(b []byte) error {
@ -3380,7 +3492,7 @@ func (m *ClosedChannelsResponse) Reset() { *m = ClosedChannelsResponse{}
func (m *ClosedChannelsResponse) String() string { return proto.CompactTextString(m) }
func (*ClosedChannelsResponse) ProtoMessage() {}
func (*ClosedChannelsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{37}
return fileDescriptor_77a6da22d6a3feb1, []int{38}
}
func (m *ClosedChannelsResponse) XXX_Unmarshal(b []byte) error {
@ -3445,7 +3557,7 @@ func (m *Peer) Reset() { *m = Peer{} }
func (m *Peer) String() string { return proto.CompactTextString(m) }
func (*Peer) ProtoMessage() {}
func (*Peer) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{38}
return fileDescriptor_77a6da22d6a3feb1, []int{39}
}
func (m *Peer) XXX_Unmarshal(b []byte) error {
@ -3557,7 +3669,7 @@ func (m *TimestampedError) Reset() { *m = TimestampedError{} }
func (m *TimestampedError) String() string { return proto.CompactTextString(m) }
func (*TimestampedError) ProtoMessage() {}
func (*TimestampedError) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{39}
return fileDescriptor_77a6da22d6a3feb1, []int{40}
}
func (m *TimestampedError) XXX_Unmarshal(b []byte) error {
@ -3607,7 +3719,7 @@ func (m *ListPeersRequest) Reset() { *m = ListPeersRequest{} }
func (m *ListPeersRequest) String() string { return proto.CompactTextString(m) }
func (*ListPeersRequest) ProtoMessage() {}
func (*ListPeersRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{40}
return fileDescriptor_77a6da22d6a3feb1, []int{41}
}
func (m *ListPeersRequest) XXX_Unmarshal(b []byte) error {
@ -3647,7 +3759,7 @@ func (m *ListPeersResponse) Reset() { *m = ListPeersResponse{} }
func (m *ListPeersResponse) String() string { return proto.CompactTextString(m) }
func (*ListPeersResponse) ProtoMessage() {}
func (*ListPeersResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{41}
return fileDescriptor_77a6da22d6a3feb1, []int{42}
}
func (m *ListPeersResponse) XXX_Unmarshal(b []byte) error {
@ -3685,7 +3797,7 @@ func (m *PeerEventSubscription) Reset() { *m = PeerEventSubscription{} }
func (m *PeerEventSubscription) String() string { return proto.CompactTextString(m) }
func (*PeerEventSubscription) ProtoMessage() {}
func (*PeerEventSubscription) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{42}
return fileDescriptor_77a6da22d6a3feb1, []int{43}
}
func (m *PeerEventSubscription) XXX_Unmarshal(b []byte) error {
@ -3719,7 +3831,7 @@ func (m *PeerEvent) Reset() { *m = PeerEvent{} }
func (m *PeerEvent) String() string { return proto.CompactTextString(m) }
func (*PeerEvent) ProtoMessage() {}
func (*PeerEvent) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{43}
return fileDescriptor_77a6da22d6a3feb1, []int{44}
}
func (m *PeerEvent) XXX_Unmarshal(b []byte) error {
@ -3764,7 +3876,7 @@ func (m *GetInfoRequest) Reset() { *m = GetInfoRequest{} }
func (m *GetInfoRequest) String() string { return proto.CompactTextString(m) }
func (*GetInfoRequest) ProtoMessage() {}
func (*GetInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{44}
return fileDescriptor_77a6da22d6a3feb1, []int{45}
}
func (m *GetInfoRequest) XXX_Unmarshal(b []byte) error {
@ -3835,7 +3947,7 @@ func (m *GetInfoResponse) Reset() { *m = GetInfoResponse{} }
func (m *GetInfoResponse) String() string { return proto.CompactTextString(m) }
func (*GetInfoResponse) ProtoMessage() {}
func (*GetInfoResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{45}
return fileDescriptor_77a6da22d6a3feb1, []int{46}
}
func (m *GetInfoResponse) XXX_Unmarshal(b []byte) error {
@ -3993,7 +4105,7 @@ func (m *GetRecoveryInfoRequest) Reset() { *m = GetRecoveryInfoRequest{}
func (m *GetRecoveryInfoRequest) String() string { return proto.CompactTextString(m) }
func (*GetRecoveryInfoRequest) ProtoMessage() {}
func (*GetRecoveryInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{46}
return fileDescriptor_77a6da22d6a3feb1, []int{47}
}
func (m *GetRecoveryInfoRequest) XXX_Unmarshal(b []byte) error {
@ -4030,7 +4142,7 @@ func (m *GetRecoveryInfoResponse) Reset() { *m = GetRecoveryInfoResponse
func (m *GetRecoveryInfoResponse) String() string { return proto.CompactTextString(m) }
func (*GetRecoveryInfoResponse) ProtoMessage() {}
func (*GetRecoveryInfoResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{47}
return fileDescriptor_77a6da22d6a3feb1, []int{48}
}
func (m *GetRecoveryInfoResponse) XXX_Unmarshal(b []byte) error {
@ -4086,7 +4198,7 @@ func (m *Chain) Reset() { *m = Chain{} }
func (m *Chain) String() string { return proto.CompactTextString(m) }
func (*Chain) ProtoMessage() {}
func (*Chain) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{48}
return fileDescriptor_77a6da22d6a3feb1, []int{49}
}
func (m *Chain) XXX_Unmarshal(b []byte) error {
@ -4134,7 +4246,7 @@ func (m *ConfirmationUpdate) Reset() { *m = ConfirmationUpdate{} }
func (m *ConfirmationUpdate) String() string { return proto.CompactTextString(m) }
func (*ConfirmationUpdate) ProtoMessage() {}
func (*ConfirmationUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{49}
return fileDescriptor_77a6da22d6a3feb1, []int{50}
}
func (m *ConfirmationUpdate) XXX_Unmarshal(b []byte) error {
@ -4187,7 +4299,7 @@ func (m *ChannelOpenUpdate) Reset() { *m = ChannelOpenUpdate{} }
func (m *ChannelOpenUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelOpenUpdate) ProtoMessage() {}
func (*ChannelOpenUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{50}
return fileDescriptor_77a6da22d6a3feb1, []int{51}
}
func (m *ChannelOpenUpdate) XXX_Unmarshal(b []byte) error {
@ -4227,7 +4339,7 @@ func (m *ChannelCloseUpdate) Reset() { *m = ChannelCloseUpdate{} }
func (m *ChannelCloseUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelCloseUpdate) ProtoMessage() {}
func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{51}
return fileDescriptor_77a6da22d6a3feb1, []int{52}
}
func (m *ChannelCloseUpdate) XXX_Unmarshal(b []byte) error {
@ -4292,7 +4404,7 @@ func (m *CloseChannelRequest) Reset() { *m = CloseChannelRequest{} }
func (m *CloseChannelRequest) String() string { return proto.CompactTextString(m) }
func (*CloseChannelRequest) ProtoMessage() {}
func (*CloseChannelRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{52}
return fileDescriptor_77a6da22d6a3feb1, []int{53}
}
func (m *CloseChannelRequest) XXX_Unmarshal(b []byte) error {
@ -4362,7 +4474,7 @@ func (m *CloseStatusUpdate) Reset() { *m = CloseStatusUpdate{} }
func (m *CloseStatusUpdate) String() string { return proto.CompactTextString(m) }
func (*CloseStatusUpdate) ProtoMessage() {}
func (*CloseStatusUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{53}
return fileDescriptor_77a6da22d6a3feb1, []int{54}
}
func (m *CloseStatusUpdate) XXX_Unmarshal(b []byte) error {
@ -4440,7 +4552,7 @@ func (m *PendingUpdate) Reset() { *m = PendingUpdate{} }
func (m *PendingUpdate) String() string { return proto.CompactTextString(m) }
func (*PendingUpdate) ProtoMessage() {}
func (*PendingUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{54}
return fileDescriptor_77a6da22d6a3feb1, []int{55}
}
func (m *PendingUpdate) XXX_Unmarshal(b []byte) error {
@ -4499,7 +4611,7 @@ func (m *ReadyForPsbtFunding) Reset() { *m = ReadyForPsbtFunding{} }
func (m *ReadyForPsbtFunding) String() string { return proto.CompactTextString(m) }
func (*ReadyForPsbtFunding) ProtoMessage() {}
func (*ReadyForPsbtFunding) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{55}
return fileDescriptor_77a6da22d6a3feb1, []int{56}
}
func (m *ReadyForPsbtFunding) XXX_Unmarshal(b []byte) error {
@ -4602,7 +4714,7 @@ func (m *OpenChannelRequest) Reset() { *m = OpenChannelRequest{} }
func (m *OpenChannelRequest) String() string { return proto.CompactTextString(m) }
func (*OpenChannelRequest) ProtoMessage() {}
func (*OpenChannelRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{56}
return fileDescriptor_77a6da22d6a3feb1, []int{57}
}
func (m *OpenChannelRequest) XXX_Unmarshal(b []byte) error {
@ -4734,7 +4846,7 @@ func (m *OpenStatusUpdate) Reset() { *m = OpenStatusUpdate{} }
func (m *OpenStatusUpdate) String() string { return proto.CompactTextString(m) }
func (*OpenStatusUpdate) ProtoMessage() {}
func (*OpenStatusUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{57}
return fileDescriptor_77a6da22d6a3feb1, []int{58}
}
func (m *OpenStatusUpdate) XXX_Unmarshal(b []byte) error {
@ -4835,7 +4947,7 @@ func (m *KeyLocator) Reset() { *m = KeyLocator{} }
func (m *KeyLocator) String() string { return proto.CompactTextString(m) }
func (*KeyLocator) ProtoMessage() {}
func (*KeyLocator) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{58}
return fileDescriptor_77a6da22d6a3feb1, []int{59}
}
func (m *KeyLocator) XXX_Unmarshal(b []byte) error {
@ -4886,7 +4998,7 @@ func (m *KeyDescriptor) Reset() { *m = KeyDescriptor{} }
func (m *KeyDescriptor) String() string { return proto.CompactTextString(m) }
func (*KeyDescriptor) ProtoMessage() {}
func (*KeyDescriptor) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{59}
return fileDescriptor_77a6da22d6a3feb1, []int{60}
}
func (m *KeyDescriptor) XXX_Unmarshal(b []byte) error {
@ -4953,7 +5065,7 @@ func (m *ChanPointShim) Reset() { *m = ChanPointShim{} }
func (m *ChanPointShim) String() string { return proto.CompactTextString(m) }
func (*ChanPointShim) ProtoMessage() {}
func (*ChanPointShim) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{60}
return fileDescriptor_77a6da22d6a3feb1, []int{61}
}
func (m *ChanPointShim) XXX_Unmarshal(b []byte) error {
@ -5035,7 +5147,7 @@ func (m *PsbtShim) Reset() { *m = PsbtShim{} }
func (m *PsbtShim) String() string { return proto.CompactTextString(m) }
func (*PsbtShim) ProtoMessage() {}
func (*PsbtShim) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{61}
return fileDescriptor_77a6da22d6a3feb1, []int{62}
}
func (m *PsbtShim) XXX_Unmarshal(b []byte) error {
@ -5084,7 +5196,7 @@ func (m *FundingShim) Reset() { *m = FundingShim{} }
func (m *FundingShim) String() string { return proto.CompactTextString(m) }
func (*FundingShim) ProtoMessage() {}
func (*FundingShim) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{62}
return fileDescriptor_77a6da22d6a3feb1, []int{63}
}
func (m *FundingShim) XXX_Unmarshal(b []byte) error {
@ -5162,7 +5274,7 @@ func (m *FundingShimCancel) Reset() { *m = FundingShimCancel{} }
func (m *FundingShimCancel) String() string { return proto.CompactTextString(m) }
func (*FundingShimCancel) ProtoMessage() {}
func (*FundingShimCancel) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{63}
return fileDescriptor_77a6da22d6a3feb1, []int{64}
}
func (m *FundingShimCancel) XXX_Unmarshal(b []byte) error {
@ -5207,7 +5319,7 @@ func (m *FundingPsbtVerify) Reset() { *m = FundingPsbtVerify{} }
func (m *FundingPsbtVerify) String() string { return proto.CompactTextString(m) }
func (*FundingPsbtVerify) ProtoMessage() {}
func (*FundingPsbtVerify) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{64}
return fileDescriptor_77a6da22d6a3feb1, []int{65}
}
func (m *FundingPsbtVerify) XXX_Unmarshal(b []byte) error {
@ -5259,7 +5371,7 @@ func (m *FundingPsbtFinalize) Reset() { *m = FundingPsbtFinalize{} }
func (m *FundingPsbtFinalize) String() string { return proto.CompactTextString(m) }
func (*FundingPsbtFinalize) ProtoMessage() {}
func (*FundingPsbtFinalize) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{65}
return fileDescriptor_77a6da22d6a3feb1, []int{66}
}
func (m *FundingPsbtFinalize) XXX_Unmarshal(b []byte) error {
@ -5310,7 +5422,7 @@ func (m *FundingTransitionMsg) Reset() { *m = FundingTransitionMsg{} }
func (m *FundingTransitionMsg) String() string { return proto.CompactTextString(m) }
func (*FundingTransitionMsg) ProtoMessage() {}
func (*FundingTransitionMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{66}
return fileDescriptor_77a6da22d6a3feb1, []int{67}
}
func (m *FundingTransitionMsg) XXX_Unmarshal(b []byte) error {
@ -5414,7 +5526,7 @@ func (m *FundingStateStepResp) Reset() { *m = FundingStateStepResp{} }
func (m *FundingStateStepResp) String() string { return proto.CompactTextString(m) }
func (*FundingStateStepResp) ProtoMessage() {}
func (*FundingStateStepResp) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{67}
return fileDescriptor_77a6da22d6a3feb1, []int{68}
}
func (m *FundingStateStepResp) XXX_Unmarshal(b []byte) error {
@ -5460,7 +5572,7 @@ func (m *PendingHTLC) Reset() { *m = PendingHTLC{} }
func (m *PendingHTLC) String() string { return proto.CompactTextString(m) }
func (*PendingHTLC) ProtoMessage() {}
func (*PendingHTLC) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{68}
return fileDescriptor_77a6da22d6a3feb1, []int{69}
}
func (m *PendingHTLC) XXX_Unmarshal(b []byte) error {
@ -5533,7 +5645,7 @@ func (m *PendingChannelsRequest) Reset() { *m = PendingChannelsRequest{}
func (m *PendingChannelsRequest) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsRequest) ProtoMessage() {}
func (*PendingChannelsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{69}
return fileDescriptor_77a6da22d6a3feb1, []int{70}
}
func (m *PendingChannelsRequest) XXX_Unmarshal(b []byte) error {
@ -5577,7 +5689,7 @@ func (m *PendingChannelsResponse) Reset() { *m = PendingChannelsResponse
func (m *PendingChannelsResponse) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsResponse) ProtoMessage() {}
func (*PendingChannelsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{70}
return fileDescriptor_77a6da22d6a3feb1, []int{71}
}
func (m *PendingChannelsResponse) XXX_Unmarshal(b []byte) error {
@ -5662,7 +5774,7 @@ func (m *PendingChannelsResponse_PendingChannel) Reset() {
func (m *PendingChannelsResponse_PendingChannel) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsResponse_PendingChannel) ProtoMessage() {}
func (*PendingChannelsResponse_PendingChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{70, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{71, 0}
}
func (m *PendingChannelsResponse_PendingChannel) XXX_Unmarshal(b []byte) error {
@ -5778,7 +5890,7 @@ func (m *PendingChannelsResponse_PendingOpenChannel) String() string {
}
func (*PendingChannelsResponse_PendingOpenChannel) ProtoMessage() {}
func (*PendingChannelsResponse_PendingOpenChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{70, 1}
return fileDescriptor_77a6da22d6a3feb1, []int{71, 1}
}
func (m *PendingChannelsResponse_PendingOpenChannel) XXX_Unmarshal(b []byte) error {
@ -5856,7 +5968,7 @@ func (m *PendingChannelsResponse_WaitingCloseChannel) String() string {
}
func (*PendingChannelsResponse_WaitingCloseChannel) ProtoMessage() {}
func (*PendingChannelsResponse_WaitingCloseChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{70, 2}
return fileDescriptor_77a6da22d6a3feb1, []int{71, 2}
}
func (m *PendingChannelsResponse_WaitingCloseChannel) XXX_Unmarshal(b []byte) error {
@ -5926,7 +6038,7 @@ func (m *PendingChannelsResponse_Commitments) Reset() { *m = PendingChan
func (m *PendingChannelsResponse_Commitments) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsResponse_Commitments) ProtoMessage() {}
func (*PendingChannelsResponse_Commitments) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{70, 3}
return fileDescriptor_77a6da22d6a3feb1, []int{71, 3}
}
func (m *PendingChannelsResponse_Commitments) XXX_Unmarshal(b []byte) error {
@ -6003,7 +6115,7 @@ func (m *PendingChannelsResponse_ClosedChannel) Reset() { *m = PendingCh
func (m *PendingChannelsResponse_ClosedChannel) String() string { return proto.CompactTextString(m) }
func (*PendingChannelsResponse_ClosedChannel) ProtoMessage() {}
func (*PendingChannelsResponse_ClosedChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{70, 4}
return fileDescriptor_77a6da22d6a3feb1, []int{71, 4}
}
func (m *PendingChannelsResponse_ClosedChannel) XXX_Unmarshal(b []byte) error {
@ -6069,7 +6181,7 @@ func (m *PendingChannelsResponse_ForceClosedChannel) String() string {
}
func (*PendingChannelsResponse_ForceClosedChannel) ProtoMessage() {}
func (*PendingChannelsResponse_ForceClosedChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{70, 5}
return fileDescriptor_77a6da22d6a3feb1, []int{71, 5}
}
func (m *PendingChannelsResponse_ForceClosedChannel) XXX_Unmarshal(b []byte) error {
@ -6156,7 +6268,7 @@ func (m *ChannelEventSubscription) Reset() { *m = ChannelEventSubscripti
func (m *ChannelEventSubscription) String() string { return proto.CompactTextString(m) }
func (*ChannelEventSubscription) ProtoMessage() {}
func (*ChannelEventSubscription) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{71}
return fileDescriptor_77a6da22d6a3feb1, []int{72}
}
func (m *ChannelEventSubscription) XXX_Unmarshal(b []byte) error {
@ -6195,7 +6307,7 @@ func (m *ChannelEventUpdate) Reset() { *m = ChannelEventUpdate{} }
func (m *ChannelEventUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelEventUpdate) ProtoMessage() {}
func (*ChannelEventUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{72}
return fileDescriptor_77a6da22d6a3feb1, []int{73}
}
func (m *ChannelEventUpdate) XXX_Unmarshal(b []byte) error {
@ -6320,7 +6432,7 @@ func (m *WalletBalanceRequest) Reset() { *m = WalletBalanceRequest{} }
func (m *WalletBalanceRequest) String() string { return proto.CompactTextString(m) }
func (*WalletBalanceRequest) ProtoMessage() {}
func (*WalletBalanceRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{73}
return fileDescriptor_77a6da22d6a3feb1, []int{74}
}
func (m *WalletBalanceRequest) XXX_Unmarshal(b []byte) error {
@ -6357,7 +6469,7 @@ func (m *WalletBalanceResponse) Reset() { *m = WalletBalanceResponse{} }
func (m *WalletBalanceResponse) String() string { return proto.CompactTextString(m) }
func (*WalletBalanceResponse) ProtoMessage() {}
func (*WalletBalanceResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{74}
return fileDescriptor_77a6da22d6a3feb1, []int{75}
}
func (m *WalletBalanceResponse) XXX_Unmarshal(b []byte) error {
@ -6409,7 +6521,7 @@ func (m *ChannelBalanceRequest) Reset() { *m = ChannelBalanceRequest{} }
func (m *ChannelBalanceRequest) String() string { return proto.CompactTextString(m) }
func (*ChannelBalanceRequest) ProtoMessage() {}
func (*ChannelBalanceRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{75}
return fileDescriptor_77a6da22d6a3feb1, []int{76}
}
func (m *ChannelBalanceRequest) XXX_Unmarshal(b []byte) error {
@ -6444,7 +6556,7 @@ func (m *ChannelBalanceResponse) Reset() { *m = ChannelBalanceResponse{}
func (m *ChannelBalanceResponse) String() string { return proto.CompactTextString(m) }
func (*ChannelBalanceResponse) ProtoMessage() {}
func (*ChannelBalanceResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{76}
return fileDescriptor_77a6da22d6a3feb1, []int{77}
}
func (m *ChannelBalanceResponse) XXX_Unmarshal(b []byte) error {
@ -6562,7 +6674,7 @@ func (m *QueryRoutesRequest) Reset() { *m = QueryRoutesRequest{} }
func (m *QueryRoutesRequest) String() string { return proto.CompactTextString(m) }
func (*QueryRoutesRequest) ProtoMessage() {}
func (*QueryRoutesRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{77}
return fileDescriptor_77a6da22d6a3feb1, []int{78}
}
func (m *QueryRoutesRequest) XXX_Unmarshal(b []byte) error {
@ -6714,7 +6826,7 @@ func (m *NodePair) Reset() { *m = NodePair{} }
func (m *NodePair) String() string { return proto.CompactTextString(m) }
func (*NodePair) ProtoMessage() {}
func (*NodePair) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{78}
return fileDescriptor_77a6da22d6a3feb1, []int{79}
}
func (m *NodePair) XXX_Unmarshal(b []byte) error {
@ -6767,7 +6879,7 @@ func (m *EdgeLocator) Reset() { *m = EdgeLocator{} }
func (m *EdgeLocator) String() string { return proto.CompactTextString(m) }
func (*EdgeLocator) ProtoMessage() {}
func (*EdgeLocator) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{79}
return fileDescriptor_77a6da22d6a3feb1, []int{80}
}
func (m *EdgeLocator) XXX_Unmarshal(b []byte) error {
@ -6820,7 +6932,7 @@ func (m *QueryRoutesResponse) Reset() { *m = QueryRoutesResponse{} }
func (m *QueryRoutesResponse) String() string { return proto.CompactTextString(m) }
func (*QueryRoutesResponse) ProtoMessage() {}
func (*QueryRoutesResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{80}
return fileDescriptor_77a6da22d6a3feb1, []int{81}
}
func (m *QueryRoutesResponse) XXX_Unmarshal(b []byte) error {
@ -6896,7 +7008,7 @@ func (m *Hop) Reset() { *m = Hop{} }
func (m *Hop) String() string { return proto.CompactTextString(m) }
func (*Hop) ProtoMessage() {}
func (*Hop) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{81}
return fileDescriptor_77a6da22d6a3feb1, []int{82}
}
func (m *Hop) XXX_Unmarshal(b []byte) error {
@ -7018,7 +7130,7 @@ func (m *MPPRecord) Reset() { *m = MPPRecord{} }
func (m *MPPRecord) String() string { return proto.CompactTextString(m) }
func (*MPPRecord) ProtoMessage() {}
func (*MPPRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{82}
return fileDescriptor_77a6da22d6a3feb1, []int{83}
}
func (m *MPPRecord) XXX_Unmarshal(b []byte) error {
@ -7096,7 +7208,7 @@ func (m *Route) Reset() { *m = Route{} }
func (m *Route) String() string { return proto.CompactTextString(m) }
func (*Route) ProtoMessage() {}
func (*Route) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{83}
return fileDescriptor_77a6da22d6a3feb1, []int{84}
}
func (m *Route) XXX_Unmarshal(b []byte) error {
@ -7175,7 +7287,7 @@ func (m *NodeInfoRequest) Reset() { *m = NodeInfoRequest{} }
func (m *NodeInfoRequest) String() string { return proto.CompactTextString(m) }
func (*NodeInfoRequest) ProtoMessage() {}
func (*NodeInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{84}
return fileDescriptor_77a6da22d6a3feb1, []int{85}
}
func (m *NodeInfoRequest) XXX_Unmarshal(b []byte) error {
@ -7232,7 +7344,7 @@ func (m *NodeInfo) Reset() { *m = NodeInfo{} }
func (m *NodeInfo) String() string { return proto.CompactTextString(m) }
func (*NodeInfo) ProtoMessage() {}
func (*NodeInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{85}
return fileDescriptor_77a6da22d6a3feb1, []int{86}
}
func (m *NodeInfo) XXX_Unmarshal(b []byte) error {
@ -7302,7 +7414,7 @@ func (m *LightningNode) Reset() { *m = LightningNode{} }
func (m *LightningNode) String() string { return proto.CompactTextString(m) }
func (*LightningNode) ProtoMessage() {}
func (*LightningNode) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{86}
return fileDescriptor_77a6da22d6a3feb1, []int{87}
}
func (m *LightningNode) XXX_Unmarshal(b []byte) error {
@ -7377,7 +7489,7 @@ func (m *NodeAddress) Reset() { *m = NodeAddress{} }
func (m *NodeAddress) String() string { return proto.CompactTextString(m) }
func (*NodeAddress) ProtoMessage() {}
func (*NodeAddress) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{87}
return fileDescriptor_77a6da22d6a3feb1, []int{88}
}
func (m *NodeAddress) XXX_Unmarshal(b []byte) error {
@ -7429,7 +7541,7 @@ func (m *RoutingPolicy) Reset() { *m = RoutingPolicy{} }
func (m *RoutingPolicy) String() string { return proto.CompactTextString(m) }
func (*RoutingPolicy) ProtoMessage() {}
func (*RoutingPolicy) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{88}
return fileDescriptor_77a6da22d6a3feb1, []int{89}
}
func (m *RoutingPolicy) XXX_Unmarshal(b []byte) error {
@ -7527,7 +7639,7 @@ func (m *ChannelEdge) Reset() { *m = ChannelEdge{} }
func (m *ChannelEdge) String() string { return proto.CompactTextString(m) }
func (*ChannelEdge) ProtoMessage() {}
func (*ChannelEdge) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{89}
return fileDescriptor_77a6da22d6a3feb1, []int{90}
}
func (m *ChannelEdge) XXX_Unmarshal(b []byte) error {
@ -7620,7 +7732,7 @@ func (m *ChannelGraphRequest) Reset() { *m = ChannelGraphRequest{} }
func (m *ChannelGraphRequest) String() string { return proto.CompactTextString(m) }
func (*ChannelGraphRequest) ProtoMessage() {}
func (*ChannelGraphRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{90}
return fileDescriptor_77a6da22d6a3feb1, []int{91}
}
func (m *ChannelGraphRequest) XXX_Unmarshal(b []byte) error {
@ -7663,7 +7775,7 @@ func (m *ChannelGraph) Reset() { *m = ChannelGraph{} }
func (m *ChannelGraph) String() string { return proto.CompactTextString(m) }
func (*ChannelGraph) ProtoMessage() {}
func (*ChannelGraph) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{91}
return fileDescriptor_77a6da22d6a3feb1, []int{92}
}
func (m *ChannelGraph) XXX_Unmarshal(b []byte) error {
@ -7710,7 +7822,7 @@ func (m *NodeMetricsRequest) Reset() { *m = NodeMetricsRequest{} }
func (m *NodeMetricsRequest) String() string { return proto.CompactTextString(m) }
func (*NodeMetricsRequest) ProtoMessage() {}
func (*NodeMetricsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{92}
return fileDescriptor_77a6da22d6a3feb1, []int{93}
}
func (m *NodeMetricsRequest) XXX_Unmarshal(b []byte) error {
@ -7755,7 +7867,7 @@ func (m *NodeMetricsResponse) Reset() { *m = NodeMetricsResponse{} }
func (m *NodeMetricsResponse) String() string { return proto.CompactTextString(m) }
func (*NodeMetricsResponse) ProtoMessage() {}
func (*NodeMetricsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{93}
return fileDescriptor_77a6da22d6a3feb1, []int{94}
}
func (m *NodeMetricsResponse) XXX_Unmarshal(b []byte) error {
@ -7797,7 +7909,7 @@ func (m *FloatMetric) Reset() { *m = FloatMetric{} }
func (m *FloatMetric) String() string { return proto.CompactTextString(m) }
func (*FloatMetric) ProtoMessage() {}
func (*FloatMetric) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{94}
return fileDescriptor_77a6da22d6a3feb1, []int{95}
}
func (m *FloatMetric) XXX_Unmarshal(b []byte) error {
@ -7847,7 +7959,7 @@ func (m *ChanInfoRequest) Reset() { *m = ChanInfoRequest{} }
func (m *ChanInfoRequest) String() string { return proto.CompactTextString(m) }
func (*ChanInfoRequest) ProtoMessage() {}
func (*ChanInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{95}
return fileDescriptor_77a6da22d6a3feb1, []int{96}
}
func (m *ChanInfoRequest) XXX_Unmarshal(b []byte) error {
@ -7885,7 +7997,7 @@ func (m *NetworkInfoRequest) Reset() { *m = NetworkInfoRequest{} }
func (m *NetworkInfoRequest) String() string { return proto.CompactTextString(m) }
func (*NetworkInfoRequest) ProtoMessage() {}
func (*NetworkInfoRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{96}
return fileDescriptor_77a6da22d6a3feb1, []int{97}
}
func (m *NetworkInfoRequest) XXX_Unmarshal(b []byte) error {
@ -7928,7 +8040,7 @@ func (m *NetworkInfo) Reset() { *m = NetworkInfo{} }
func (m *NetworkInfo) String() string { return proto.CompactTextString(m) }
func (*NetworkInfo) ProtoMessage() {}
func (*NetworkInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{97}
return fileDescriptor_77a6da22d6a3feb1, []int{98}
}
func (m *NetworkInfo) XXX_Unmarshal(b []byte) error {
@ -8036,7 +8148,7 @@ func (m *StopRequest) Reset() { *m = StopRequest{} }
func (m *StopRequest) String() string { return proto.CompactTextString(m) }
func (*StopRequest) ProtoMessage() {}
func (*StopRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{98}
return fileDescriptor_77a6da22d6a3feb1, []int{99}
}
func (m *StopRequest) XXX_Unmarshal(b []byte) error {
@ -8067,7 +8179,7 @@ func (m *StopResponse) Reset() { *m = StopResponse{} }
func (m *StopResponse) String() string { return proto.CompactTextString(m) }
func (*StopResponse) ProtoMessage() {}
func (*StopResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{99}
return fileDescriptor_77a6da22d6a3feb1, []int{100}
}
func (m *StopResponse) XXX_Unmarshal(b []byte) error {
@ -8098,7 +8210,7 @@ func (m *GraphTopologySubscription) Reset() { *m = GraphTopologySubscrip
func (m *GraphTopologySubscription) String() string { return proto.CompactTextString(m) }
func (*GraphTopologySubscription) ProtoMessage() {}
func (*GraphTopologySubscription) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{100}
return fileDescriptor_77a6da22d6a3feb1, []int{101}
}
func (m *GraphTopologySubscription) XXX_Unmarshal(b []byte) error {
@ -8132,7 +8244,7 @@ func (m *GraphTopologyUpdate) Reset() { *m = GraphTopologyUpdate{} }
func (m *GraphTopologyUpdate) String() string { return proto.CompactTextString(m) }
func (*GraphTopologyUpdate) ProtoMessage() {}
func (*GraphTopologyUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{101}
return fileDescriptor_77a6da22d6a3feb1, []int{102}
}
func (m *GraphTopologyUpdate) XXX_Unmarshal(b []byte) error {
@ -8189,7 +8301,7 @@ func (m *NodeUpdate) Reset() { *m = NodeUpdate{} }
func (m *NodeUpdate) String() string { return proto.CompactTextString(m) }
func (*NodeUpdate) ProtoMessage() {}
func (*NodeUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{102}
return fileDescriptor_77a6da22d6a3feb1, []int{103}
}
func (m *NodeUpdate) XXX_Unmarshal(b []byte) error {
@ -8265,7 +8377,7 @@ func (m *ChannelEdgeUpdate) Reset() { *m = ChannelEdgeUpdate{} }
func (m *ChannelEdgeUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelEdgeUpdate) ProtoMessage() {}
func (*ChannelEdgeUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{103}
return fileDescriptor_77a6da22d6a3feb1, []int{104}
}
func (m *ChannelEdgeUpdate) XXX_Unmarshal(b []byte) error {
@ -8346,7 +8458,7 @@ func (m *ClosedChannelUpdate) Reset() { *m = ClosedChannelUpdate{} }
func (m *ClosedChannelUpdate) String() string { return proto.CompactTextString(m) }
func (*ClosedChannelUpdate) ProtoMessage() {}
func (*ClosedChannelUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{104}
return fileDescriptor_77a6da22d6a3feb1, []int{105}
}
func (m *ClosedChannelUpdate) XXX_Unmarshal(b []byte) error {
@ -8417,7 +8529,7 @@ func (m *HopHint) Reset() { *m = HopHint{} }
func (m *HopHint) String() string { return proto.CompactTextString(m) }
func (*HopHint) ProtoMessage() {}
func (*HopHint) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{105}
return fileDescriptor_77a6da22d6a3feb1, []int{106}
}
func (m *HopHint) XXX_Unmarshal(b []byte) error {
@ -8487,7 +8599,7 @@ func (m *RouteHint) Reset() { *m = RouteHint{} }
func (m *RouteHint) String() string { return proto.CompactTextString(m) }
func (*RouteHint) ProtoMessage() {}
func (*RouteHint) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{106}
return fileDescriptor_77a6da22d6a3feb1, []int{107}
}
func (m *RouteHint) XXX_Unmarshal(b []byte) error {
@ -8620,7 +8732,7 @@ func (m *Invoice) Reset() { *m = Invoice{} }
func (m *Invoice) String() string { return proto.CompactTextString(m) }
func (*Invoice) ProtoMessage() {}
func (*Invoice) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{107}
return fileDescriptor_77a6da22d6a3feb1, []int{108}
}
func (m *Invoice) XXX_Unmarshal(b []byte) error {
@ -8842,7 +8954,7 @@ func (m *InvoiceHTLC) Reset() { *m = InvoiceHTLC{} }
func (m *InvoiceHTLC) String() string { return proto.CompactTextString(m) }
func (*InvoiceHTLC) ProtoMessage() {}
func (*InvoiceHTLC) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{108}
return fileDescriptor_77a6da22d6a3feb1, []int{109}
}
func (m *InvoiceHTLC) XXX_Unmarshal(b []byte) error {
@ -8955,7 +9067,7 @@ func (m *AddInvoiceResponse) Reset() { *m = AddInvoiceResponse{} }
func (m *AddInvoiceResponse) String() string { return proto.CompactTextString(m) }
func (*AddInvoiceResponse) ProtoMessage() {}
func (*AddInvoiceResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{109}
return fileDescriptor_77a6da22d6a3feb1, []int{110}
}
func (m *AddInvoiceResponse) XXX_Unmarshal(b []byte) error {
@ -9017,7 +9129,7 @@ func (m *PaymentHash) Reset() { *m = PaymentHash{} }
func (m *PaymentHash) String() string { return proto.CompactTextString(m) }
func (*PaymentHash) ProtoMessage() {}
func (*PaymentHash) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{110}
return fileDescriptor_77a6da22d6a3feb1, []int{111}
}
func (m *PaymentHash) XXX_Unmarshal(b []byte) error {
@ -9077,7 +9189,7 @@ func (m *ListInvoiceRequest) Reset() { *m = ListInvoiceRequest{} }
func (m *ListInvoiceRequest) String() string { return proto.CompactTextString(m) }
func (*ListInvoiceRequest) ProtoMessage() {}
func (*ListInvoiceRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{111}
return fileDescriptor_77a6da22d6a3feb1, []int{112}
}
func (m *ListInvoiceRequest) XXX_Unmarshal(b []byte) error {
@ -9148,7 +9260,7 @@ func (m *ListInvoiceResponse) Reset() { *m = ListInvoiceResponse{} }
func (m *ListInvoiceResponse) String() string { return proto.CompactTextString(m) }
func (*ListInvoiceResponse) ProtoMessage() {}
func (*ListInvoiceResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{112}
return fileDescriptor_77a6da22d6a3feb1, []int{113}
}
func (m *ListInvoiceResponse) XXX_Unmarshal(b []byte) error {
@ -9212,7 +9324,7 @@ func (m *InvoiceSubscription) Reset() { *m = InvoiceSubscription{} }
func (m *InvoiceSubscription) String() string { return proto.CompactTextString(m) }
func (*InvoiceSubscription) ProtoMessage() {}
func (*InvoiceSubscription) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{113}
return fileDescriptor_77a6da22d6a3feb1, []int{114}
}
func (m *InvoiceSubscription) XXX_Unmarshal(b []byte) error {
@ -9289,7 +9401,7 @@ func (m *Payment) Reset() { *m = Payment{} }
func (m *Payment) String() string { return proto.CompactTextString(m) }
func (*Payment) ProtoMessage() {}
func (*Payment) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{114}
return fileDescriptor_77a6da22d6a3feb1, []int{115}
}
func (m *Payment) XXX_Unmarshal(b []byte) error {
@ -9442,7 +9554,7 @@ func (m *HTLCAttempt) Reset() { *m = HTLCAttempt{} }
func (m *HTLCAttempt) String() string { return proto.CompactTextString(m) }
func (*HTLCAttempt) ProtoMessage() {}
func (*HTLCAttempt) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{115}
return fileDescriptor_77a6da22d6a3feb1, []int{116}
}
func (m *HTLCAttempt) XXX_Unmarshal(b []byte) error {
@ -9535,7 +9647,7 @@ func (m *ListPaymentsRequest) Reset() { *m = ListPaymentsRequest{} }
func (m *ListPaymentsRequest) String() string { return proto.CompactTextString(m) }
func (*ListPaymentsRequest) ProtoMessage() {}
func (*ListPaymentsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{116}
return fileDescriptor_77a6da22d6a3feb1, []int{117}
}
func (m *ListPaymentsRequest) XXX_Unmarshal(b []byte) error {
@ -9604,7 +9716,7 @@ func (m *ListPaymentsResponse) Reset() { *m = ListPaymentsResponse{} }
func (m *ListPaymentsResponse) String() string { return proto.CompactTextString(m) }
func (*ListPaymentsResponse) ProtoMessage() {}
func (*ListPaymentsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{117}
return fileDescriptor_77a6da22d6a3feb1, []int{118}
}
func (m *ListPaymentsResponse) XXX_Unmarshal(b []byte) error {
@ -9656,7 +9768,7 @@ func (m *DeleteAllPaymentsRequest) Reset() { *m = DeleteAllPaymentsReque
func (m *DeleteAllPaymentsRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteAllPaymentsRequest) ProtoMessage() {}
func (*DeleteAllPaymentsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{118}
return fileDescriptor_77a6da22d6a3feb1, []int{119}
}
func (m *DeleteAllPaymentsRequest) XXX_Unmarshal(b []byte) error {
@ -9687,7 +9799,7 @@ func (m *DeleteAllPaymentsResponse) Reset() { *m = DeleteAllPaymentsResp
func (m *DeleteAllPaymentsResponse) String() string { return proto.CompactTextString(m) }
func (*DeleteAllPaymentsResponse) ProtoMessage() {}
func (*DeleteAllPaymentsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{119}
return fileDescriptor_77a6da22d6a3feb1, []int{120}
}
func (m *DeleteAllPaymentsResponse) XXX_Unmarshal(b []byte) error {
@ -9719,7 +9831,7 @@ func (m *AbandonChannelRequest) Reset() { *m = AbandonChannelRequest{} }
func (m *AbandonChannelRequest) String() string { return proto.CompactTextString(m) }
func (*AbandonChannelRequest) ProtoMessage() {}
func (*AbandonChannelRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{120}
return fileDescriptor_77a6da22d6a3feb1, []int{121}
}
func (m *AbandonChannelRequest) XXX_Unmarshal(b []byte) error {
@ -9757,7 +9869,7 @@ func (m *AbandonChannelResponse) Reset() { *m = AbandonChannelResponse{}
func (m *AbandonChannelResponse) String() string { return proto.CompactTextString(m) }
func (*AbandonChannelResponse) ProtoMessage() {}
func (*AbandonChannelResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{121}
return fileDescriptor_77a6da22d6a3feb1, []int{122}
}
func (m *AbandonChannelResponse) XXX_Unmarshal(b []byte) error {
@ -9790,7 +9902,7 @@ func (m *DebugLevelRequest) Reset() { *m = DebugLevelRequest{} }
func (m *DebugLevelRequest) String() string { return proto.CompactTextString(m) }
func (*DebugLevelRequest) ProtoMessage() {}
func (*DebugLevelRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{122}
return fileDescriptor_77a6da22d6a3feb1, []int{123}
}
func (m *DebugLevelRequest) XXX_Unmarshal(b []byte) error {
@ -9836,7 +9948,7 @@ func (m *DebugLevelResponse) Reset() { *m = DebugLevelResponse{} }
func (m *DebugLevelResponse) String() string { return proto.CompactTextString(m) }
func (*DebugLevelResponse) ProtoMessage() {}
func (*DebugLevelResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{123}
return fileDescriptor_77a6da22d6a3feb1, []int{124}
}
func (m *DebugLevelResponse) XXX_Unmarshal(b []byte) error {
@ -9876,7 +9988,7 @@ func (m *PayReqString) Reset() { *m = PayReqString{} }
func (m *PayReqString) String() string { return proto.CompactTextString(m) }
func (*PayReqString) ProtoMessage() {}
func (*PayReqString) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{124}
return fileDescriptor_77a6da22d6a3feb1, []int{125}
}
func (m *PayReqString) XXX_Unmarshal(b []byte) error {
@ -9927,7 +10039,7 @@ func (m *PayReq) Reset() { *m = PayReq{} }
func (m *PayReq) String() string { return proto.CompactTextString(m) }
func (*PayReq) ProtoMessage() {}
func (*PayReq) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{125}
return fileDescriptor_77a6da22d6a3feb1, []int{126}
}
func (m *PayReq) XXX_Unmarshal(b []byte) error {
@ -10052,7 +10164,7 @@ func (m *Feature) Reset() { *m = Feature{} }
func (m *Feature) String() string { return proto.CompactTextString(m) }
func (*Feature) ProtoMessage() {}
func (*Feature) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{126}
return fileDescriptor_77a6da22d6a3feb1, []int{127}
}
func (m *Feature) XXX_Unmarshal(b []byte) error {
@ -10104,7 +10216,7 @@ func (m *FeeReportRequest) Reset() { *m = FeeReportRequest{} }
func (m *FeeReportRequest) String() string { return proto.CompactTextString(m) }
func (*FeeReportRequest) ProtoMessage() {}
func (*FeeReportRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{127}
return fileDescriptor_77a6da22d6a3feb1, []int{128}
}
func (m *FeeReportRequest) XXX_Unmarshal(b []byte) error {
@ -10147,7 +10259,7 @@ func (m *ChannelFeeReport) Reset() { *m = ChannelFeeReport{} }
func (m *ChannelFeeReport) String() string { return proto.CompactTextString(m) }
func (*ChannelFeeReport) ProtoMessage() {}
func (*ChannelFeeReport) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{128}
return fileDescriptor_77a6da22d6a3feb1, []int{129}
}
func (m *ChannelFeeReport) XXX_Unmarshal(b []byte) error {
@ -10225,7 +10337,7 @@ func (m *FeeReportResponse) Reset() { *m = FeeReportResponse{} }
func (m *FeeReportResponse) String() string { return proto.CompactTextString(m) }
func (*FeeReportResponse) ProtoMessage() {}
func (*FeeReportResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{129}
return fileDescriptor_77a6da22d6a3feb1, []int{130}
}
func (m *FeeReportResponse) XXX_Unmarshal(b []byte) error {
@ -10303,7 +10415,7 @@ func (m *PolicyUpdateRequest) Reset() { *m = PolicyUpdateRequest{} }
func (m *PolicyUpdateRequest) String() string { return proto.CompactTextString(m) }
func (*PolicyUpdateRequest) ProtoMessage() {}
func (*PolicyUpdateRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{130}
return fileDescriptor_77a6da22d6a3feb1, []int{131}
}
func (m *PolicyUpdateRequest) XXX_Unmarshal(b []byte) error {
@ -10421,7 +10533,7 @@ func (m *PolicyUpdateResponse) Reset() { *m = PolicyUpdateResponse{} }
func (m *PolicyUpdateResponse) String() string { return proto.CompactTextString(m) }
func (*PolicyUpdateResponse) ProtoMessage() {}
func (*PolicyUpdateResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{131}
return fileDescriptor_77a6da22d6a3feb1, []int{132}
}
func (m *PolicyUpdateResponse) XXX_Unmarshal(b []byte) error {
@ -10466,7 +10578,7 @@ func (m *ForwardingHistoryRequest) Reset() { *m = ForwardingHistoryReque
func (m *ForwardingHistoryRequest) String() string { return proto.CompactTextString(m) }
func (*ForwardingHistoryRequest) ProtoMessage() {}
func (*ForwardingHistoryRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{132}
return fileDescriptor_77a6da22d6a3feb1, []int{133}
}
func (m *ForwardingHistoryRequest) XXX_Unmarshal(b []byte) error {
@ -10549,7 +10661,7 @@ func (m *ForwardingEvent) Reset() { *m = ForwardingEvent{} }
func (m *ForwardingEvent) String() string { return proto.CompactTextString(m) }
func (*ForwardingEvent) ProtoMessage() {}
func (*ForwardingEvent) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{133}
return fileDescriptor_77a6da22d6a3feb1, []int{134}
}
func (m *ForwardingEvent) XXX_Unmarshal(b []byte) error {
@ -10649,7 +10761,7 @@ func (m *ForwardingHistoryResponse) Reset() { *m = ForwardingHistoryResp
func (m *ForwardingHistoryResponse) String() string { return proto.CompactTextString(m) }
func (*ForwardingHistoryResponse) ProtoMessage() {}
func (*ForwardingHistoryResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{134}
return fileDescriptor_77a6da22d6a3feb1, []int{135}
}
func (m *ForwardingHistoryResponse) XXX_Unmarshal(b []byte) error {
@ -10696,7 +10808,7 @@ func (m *ExportChannelBackupRequest) Reset() { *m = ExportChannelBackupR
func (m *ExportChannelBackupRequest) String() string { return proto.CompactTextString(m) }
func (*ExportChannelBackupRequest) ProtoMessage() {}
func (*ExportChannelBackupRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{135}
return fileDescriptor_77a6da22d6a3feb1, []int{136}
}
func (m *ExportChannelBackupRequest) XXX_Unmarshal(b []byte) error {
@ -10743,7 +10855,7 @@ func (m *ChannelBackup) Reset() { *m = ChannelBackup{} }
func (m *ChannelBackup) String() string { return proto.CompactTextString(m) }
func (*ChannelBackup) ProtoMessage() {}
func (*ChannelBackup) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{136}
return fileDescriptor_77a6da22d6a3feb1, []int{137}
}
func (m *ChannelBackup) XXX_Unmarshal(b []byte) error {
@ -10797,7 +10909,7 @@ func (m *MultiChanBackup) Reset() { *m = MultiChanBackup{} }
func (m *MultiChanBackup) String() string { return proto.CompactTextString(m) }
func (*MultiChanBackup) ProtoMessage() {}
func (*MultiChanBackup) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{137}
return fileDescriptor_77a6da22d6a3feb1, []int{138}
}
func (m *MultiChanBackup) XXX_Unmarshal(b []byte) error {
@ -10842,7 +10954,7 @@ func (m *ChanBackupExportRequest) Reset() { *m = ChanBackupExportRequest
func (m *ChanBackupExportRequest) String() string { return proto.CompactTextString(m) }
func (*ChanBackupExportRequest) ProtoMessage() {}
func (*ChanBackupExportRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{138}
return fileDescriptor_77a6da22d6a3feb1, []int{139}
}
func (m *ChanBackupExportRequest) XXX_Unmarshal(b []byte) error {
@ -10881,7 +10993,7 @@ func (m *ChanBackupSnapshot) Reset() { *m = ChanBackupSnapshot{} }
func (m *ChanBackupSnapshot) String() string { return proto.CompactTextString(m) }
func (*ChanBackupSnapshot) ProtoMessage() {}
func (*ChanBackupSnapshot) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{139}
return fileDescriptor_77a6da22d6a3feb1, []int{140}
}
func (m *ChanBackupSnapshot) XXX_Unmarshal(b []byte) error {
@ -10929,7 +11041,7 @@ func (m *ChannelBackups) Reset() { *m = ChannelBackups{} }
func (m *ChannelBackups) String() string { return proto.CompactTextString(m) }
func (*ChannelBackups) ProtoMessage() {}
func (*ChannelBackups) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{140}
return fileDescriptor_77a6da22d6a3feb1, []int{141}
}
func (m *ChannelBackups) XXX_Unmarshal(b []byte) error {
@ -10971,7 +11083,7 @@ func (m *RestoreChanBackupRequest) Reset() { *m = RestoreChanBackupReque
func (m *RestoreChanBackupRequest) String() string { return proto.CompactTextString(m) }
func (*RestoreChanBackupRequest) ProtoMessage() {}
func (*RestoreChanBackupRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{141}
return fileDescriptor_77a6da22d6a3feb1, []int{142}
}
func (m *RestoreChanBackupRequest) XXX_Unmarshal(b []byte) error {
@ -11047,7 +11159,7 @@ func (m *RestoreBackupResponse) Reset() { *m = RestoreBackupResponse{} }
func (m *RestoreBackupResponse) String() string { return proto.CompactTextString(m) }
func (*RestoreBackupResponse) ProtoMessage() {}
func (*RestoreBackupResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{142}
return fileDescriptor_77a6da22d6a3feb1, []int{143}
}
func (m *RestoreBackupResponse) XXX_Unmarshal(b []byte) error {
@ -11078,7 +11190,7 @@ func (m *ChannelBackupSubscription) Reset() { *m = ChannelBackupSubscrip
func (m *ChannelBackupSubscription) String() string { return proto.CompactTextString(m) }
func (*ChannelBackupSubscription) ProtoMessage() {}
func (*ChannelBackupSubscription) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{143}
return fileDescriptor_77a6da22d6a3feb1, []int{144}
}
func (m *ChannelBackupSubscription) XXX_Unmarshal(b []byte) error {
@ -11109,7 +11221,7 @@ func (m *VerifyChanBackupResponse) Reset() { *m = VerifyChanBackupRespon
func (m *VerifyChanBackupResponse) String() string { return proto.CompactTextString(m) }
func (*VerifyChanBackupResponse) ProtoMessage() {}
func (*VerifyChanBackupResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{144}
return fileDescriptor_77a6da22d6a3feb1, []int{145}
}
func (m *VerifyChanBackupResponse) XXX_Unmarshal(b []byte) error {
@ -11144,7 +11256,7 @@ func (m *MacaroonPermission) Reset() { *m = MacaroonPermission{} }
func (m *MacaroonPermission) String() string { return proto.CompactTextString(m) }
func (*MacaroonPermission) ProtoMessage() {}
func (*MacaroonPermission) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{145}
return fileDescriptor_77a6da22d6a3feb1, []int{146}
}
func (m *MacaroonPermission) XXX_Unmarshal(b []byte) error {
@ -11191,7 +11303,7 @@ func (m *BakeMacaroonRequest) Reset() { *m = BakeMacaroonRequest{} }
func (m *BakeMacaroonRequest) String() string { return proto.CompactTextString(m) }
func (*BakeMacaroonRequest) ProtoMessage() {}
func (*BakeMacaroonRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{146}
return fileDescriptor_77a6da22d6a3feb1, []int{147}
}
func (m *BakeMacaroonRequest) XXX_Unmarshal(b []byte) error {
@ -11231,7 +11343,7 @@ func (m *BakeMacaroonResponse) Reset() { *m = BakeMacaroonResponse{} }
func (m *BakeMacaroonResponse) String() string { return proto.CompactTextString(m) }
func (*BakeMacaroonResponse) ProtoMessage() {}
func (*BakeMacaroonResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{147}
return fileDescriptor_77a6da22d6a3feb1, []int{148}
}
func (m *BakeMacaroonResponse) XXX_Unmarshal(b []byte) error {
@ -11287,7 +11399,7 @@ func (m *Failure) Reset() { *m = Failure{} }
func (m *Failure) String() string { return proto.CompactTextString(m) }
func (*Failure) ProtoMessage() {}
func (*Failure) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{148}
return fileDescriptor_77a6da22d6a3feb1, []int{149}
}
func (m *Failure) XXX_Unmarshal(b []byte) error {
@ -11431,7 +11543,7 @@ func (m *ChannelUpdate) Reset() { *m = ChannelUpdate{} }
func (m *ChannelUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelUpdate) ProtoMessage() {}
func (*ChannelUpdate) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{149}
return fileDescriptor_77a6da22d6a3feb1, []int{150}
}
func (m *ChannelUpdate) XXX_Unmarshal(b []byte) error {
@ -11588,6 +11700,7 @@ func init() {
proto.RegisterType((*DisconnectPeerRequest)(nil), "lnrpc.DisconnectPeerRequest")
proto.RegisterType((*DisconnectPeerResponse)(nil), "lnrpc.DisconnectPeerResponse")
proto.RegisterType((*HTLC)(nil), "lnrpc.HTLC")
proto.RegisterType((*ChannelConstraints)(nil), "lnrpc.ChannelConstraints")
proto.RegisterType((*Channel)(nil), "lnrpc.Channel")
proto.RegisterType((*ListChannelsRequest)(nil), "lnrpc.ListChannelsRequest")
proto.RegisterType((*ListChannelsResponse)(nil), "lnrpc.ListChannelsResponse")
@ -11726,712 +11839,720 @@ func init() {
func init() { proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1) }
var fileDescriptor_77a6da22d6a3feb1 = []byte{
// 11276 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0xbd, 0x4d, 0x6c, 0x23, 0x49,
0x96, 0x18, 0x5c, 0xfc, 0x13, 0xc9, 0x47, 0x52, 0xa2, 0x42, 0x7f, 0x2c, 0x55, 0x57, 0x57, 0x75,
0x76, 0x4f, 0x77, 0x4d, 0x75, 0x8f, 0xba, 0xba, 0xa6, 0xab, 0x7f, 0xa6, 0xbe, 0xed, 0x19, 0x4a,
0xa2, 0x4a, 0x9c, 0x92, 0x48, 0x75, 0x92, 0xaa, 0xde, 0x5e, 0xec, 0xb7, 0xe9, 0x14, 0x19, 0x92,
0xd2, 0x45, 0x66, 0xb2, 0x33, 0x93, 0x2a, 0x69, 0x0c, 0xdf, 0xfc, 0x87, 0x85, 0x6d, 0xc0, 0x80,
0xd7, 0x80, 0x7f, 0x16, 0xfe, 0x59, 0xd8, 0xbe, 0x2d, 0x0c, 0xcf, 0xda, 0x80, 0x01, 0x9f, 0xbd,
0x17, 0x1b, 0xb6, 0xe1, 0xf5, 0xc1, 0xc6, 0x62, 0x01, 0x1f, 0xbc, 0xbe, 0x19, 0x0b, 0xf8, 0xe4,
0x83, 0x01, 0x23, 0xde, 0x8b, 0xc8, 0x8c, 0x24, 0x53, 0x55, 0xd5, 0xb3, 0xed, 0xb9, 0x48, 0xcc,
0xf7, 0x5e, 0xfc, 0x64, 0xc4, 0x8b, 0x17, 0xef, 0x2f, 0x22, 0xa1, 0xec, 0x4f, 0x06, 0x5b, 0x13,
0xdf, 0x0b, 0x3d, 0x56, 0x18, 0xb9, 0xfe, 0x64, 0x60, 0xfc, 0x71, 0x06, 0xf2, 0xc7, 0xe1, 0xa5,
0xc7, 0x1e, 0x41, 0xd5, 0x1e, 0x0e, 0x7d, 0x1e, 0x04, 0x56, 0x78, 0x35, 0xe1, 0x8d, 0xcc, 0xdd,
0xcc, 0xbd, 0xc5, 0x87, 0x6c, 0x0b, 0xc9, 0xb6, 0x9a, 0x84, 0xea, 0x5f, 0x4d, 0xb8, 0x59, 0xb1,
0xe3, 0x07, 0xd6, 0x80, 0xa2, 0x7c, 0x6c, 0x64, 0xef, 0x66, 0xee, 0x95, 0x4d, 0xf5, 0xc8, 0x6e,
0x03, 0xd8, 0x63, 0x6f, 0xea, 0x86, 0x56, 0x60, 0x87, 0x8d, 0xdc, 0xdd, 0xcc, 0xbd, 0x9c, 0x59,
0x26, 0x48, 0xcf, 0x0e, 0xd9, 0x2d, 0x28, 0x4f, 0x9e, 0x5b, 0xc1, 0xc0, 0x77, 0x26, 0x61, 0x23,
0x8f, 0x45, 0x4b, 0x93, 0xe7, 0x3d, 0x7c, 0x66, 0xef, 0x43, 0xc9, 0x9b, 0x86, 0x13, 0xcf, 0x71,
0xc3, 0x46, 0xe1, 0x6e, 0xe6, 0x5e, 0xe5, 0xe1, 0x92, 0xec, 0x48, 0x77, 0x1a, 0x1e, 0x09, 0xb0,
0x19, 0x11, 0xb0, 0x77, 0xa0, 0x36, 0xf0, 0xdc, 0x53, 0xc7, 0x1f, 0xdb, 0xa1, 0xe3, 0xb9, 0x41,
0x63, 0x01, 0xdb, 0x4a, 0x02, 0x8d, 0x7f, 0x93, 0x85, 0x4a, 0xdf, 0xb7, 0xdd, 0xc0, 0x1e, 0x08,
0x00, 0xdb, 0x80, 0x62, 0x78, 0x69, 0x9d, 0xdb, 0xc1, 0x39, 0xbe, 0x6a, 0xd9, 0x5c, 0x08, 0x2f,
0xf7, 0xed, 0xe0, 0x9c, 0xad, 0xc3, 0x02, 0xf5, 0x12, 0x5f, 0x28, 0x67, 0xca, 0x27, 0xf6, 0x3e,
0x2c, 0xbb, 0xd3, 0xb1, 0x95, 0x6c, 0x4a, 0xbc, 0x56, 0xc1, 0xac, 0xbb, 0xd3, 0xf1, 0x8e, 0x0e,
0x17, 0x2f, 0x7f, 0x32, 0xf2, 0x06, 0xcf, 0xa9, 0x01, 0x7a, 0xbd, 0x32, 0x42, 0xb0, 0x8d, 0xb7,
0xa0, 0x2a, 0xd1, 0xdc, 0x39, 0x3b, 0xa7, 0x77, 0x2c, 0x98, 0x15, 0x22, 0x40, 0x90, 0xa8, 0x21,
0x74, 0xc6, 0xdc, 0x0a, 0x42, 0x7b, 0x3c, 0x91, 0xaf, 0x54, 0x16, 0x90, 0x9e, 0x00, 0x20, 0xda,
0x0b, 0xed, 0x91, 0x75, 0xca, 0x79, 0xd0, 0x28, 0x4a, 0xb4, 0x80, 0xec, 0x71, 0x1e, 0xb0, 0xef,
0xc1, 0xe2, 0x90, 0x07, 0xa1, 0x25, 0x27, 0x83, 0x07, 0x8d, 0xd2, 0xdd, 0xdc, 0xbd, 0xb2, 0x59,
0x13, 0xd0, 0xa6, 0x02, 0xb2, 0x37, 0x00, 0x7c, 0xfb, 0x85, 0x25, 0x06, 0x82, 0x5f, 0x36, 0xca,
0x34, 0x0b, 0xbe, 0xfd, 0xa2, 0x7f, 0xb9, 0xcf, 0x2f, 0xd9, 0x2a, 0x14, 0x46, 0xf6, 0x09, 0x1f,
0x35, 0x00, 0x11, 0xf4, 0x60, 0xfc, 0x1a, 0xac, 0x3f, 0xe1, 0xa1, 0x36, 0x94, 0x81, 0xc9, 0xbf,
0x99, 0xf2, 0x20, 0x14, 0x6f, 0x15, 0x84, 0xb6, 0x1f, 0xaa, 0xb7, 0xca, 0xd0, 0x5b, 0x21, 0x2c,
0x7e, 0x2b, 0xee, 0x0e, 0x15, 0x41, 0x16, 0x09, 0xca, 0xdc, 0x1d, 0x12, 0xda, 0x38, 0x00, 0xa6,
0x55, 0xbc, 0xcb, 0x43, 0xdb, 0x19, 0x05, 0xec, 0x13, 0xa8, 0x86, 0x5a, 0x73, 0x8d, 0xcc, 0xdd,
0xdc, 0xbd, 0x4a, 0xc4, 0x9a, 0x5a, 0x01, 0x33, 0x41, 0x67, 0x9c, 0x43, 0x69, 0x8f, 0xf3, 0x03,
0x67, 0xec, 0x84, 0x6c, 0x1d, 0x0a, 0xa7, 0xce, 0x25, 0x1f, 0x62, 0xa7, 0x72, 0xfb, 0x37, 0x4c,
0x7a, 0x64, 0x77, 0x00, 0xf0, 0x87, 0x35, 0x8e, 0xb8, 0x74, 0xff, 0x86, 0x59, 0x46, 0xd8, 0x61,
0x60, 0x87, 0x6c, 0x13, 0x8a, 0x13, 0xee, 0x0f, 0xb8, 0xe2, 0x87, 0xfd, 0x1b, 0xa6, 0x02, 0x6c,
0x17, 0xa1, 0x30, 0x12, 0xb5, 0x1b, 0xbf, 0x5f, 0x80, 0x4a, 0x8f, 0xbb, 0x43, 0x35, 0x12, 0x0c,
0xf2, 0x62, 0xa0, 0xb1, 0xb1, 0xaa, 0x89, 0xbf, 0xd9, 0xdb, 0x50, 0xc1, 0x29, 0x09, 0x42, 0xdf,
0x71, 0xcf, 0x68, 0xb5, 0x6c, 0x67, 0x1b, 0x19, 0x13, 0x04, 0xb8, 0x87, 0x50, 0x56, 0x87, 0x9c,
0x3d, 0x56, 0xab, 0x45, 0xfc, 0x64, 0x37, 0xa1, 0x64, 0x8f, 0x43, 0xea, 0x5e, 0x15, 0xc1, 0x45,
0x7b, 0x1c, 0x62, 0xd7, 0xde, 0x82, 0xea, 0xc4, 0xbe, 0x1a, 0x73, 0x37, 0x8c, 0xd9, 0xac, 0x6a,
0x56, 0x24, 0x0c, 0x19, 0xed, 0x21, 0xac, 0xe8, 0x24, 0xaa, 0xf1, 0x42, 0xd4, 0xf8, 0xb2, 0x46,
0x2d, 0xfb, 0xf0, 0x1e, 0x2c, 0xa9, 0x32, 0x3e, 0xbd, 0x0f, 0xb2, 0x5f, 0xd9, 0x5c, 0x94, 0x60,
0xf5, 0x96, 0xf7, 0xa0, 0x7e, 0xea, 0xb8, 0xf6, 0xc8, 0x1a, 0x8c, 0xc2, 0x0b, 0x6b, 0xc8, 0x47,
0xa1, 0x8d, 0x9c, 0x58, 0x30, 0x17, 0x11, 0xbe, 0x33, 0x0a, 0x2f, 0x76, 0x05, 0x94, 0x7d, 0x00,
0xe5, 0x53, 0xce, 0x2d, 0x1c, 0xac, 0x46, 0x29, 0xb1, 0xa0, 0xd5, 0x0c, 0x99, 0xa5, 0x53, 0x35,
0x57, 0x1f, 0x40, 0xdd, 0x9b, 0x86, 0x67, 0x9e, 0xe3, 0x9e, 0x59, 0x83, 0x73, 0xdb, 0xb5, 0x9c,
0x21, 0xf2, 0x66, 0x7e, 0x3b, 0xfb, 0x20, 0x63, 0x2e, 0x2a, 0xdc, 0xce, 0xb9, 0xed, 0xb6, 0x87,
0xec, 0x5d, 0x58, 0x1a, 0xd9, 0x41, 0x68, 0x9d, 0x7b, 0x13, 0x6b, 0x32, 0x3d, 0x79, 0xce, 0xaf,
0x1a, 0x35, 0x1c, 0x88, 0x9a, 0x00, 0xef, 0x7b, 0x93, 0x23, 0x04, 0x0a, 0xd6, 0xc3, 0x7e, 0x52,
0x27, 0x04, 0x4b, 0xd7, 0xcc, 0xb2, 0x80, 0x50, 0xa3, 0x5f, 0xc3, 0x0a, 0x4e, 0xcf, 0x60, 0x1a,
0x84, 0xde, 0xd8, 0xf2, 0xf9, 0xc0, 0xf3, 0x87, 0x41, 0xa3, 0x82, 0xbc, 0xf6, 0x7d, 0xd9, 0x59,
0x6d, 0x8e, 0xb7, 0x76, 0x79, 0x10, 0xee, 0x20, 0xb1, 0x49, 0xb4, 0x2d, 0x37, 0xf4, 0xaf, 0xcc,
0xe5, 0xe1, 0x2c, 0x9c, 0x7d, 0x00, 0xcc, 0x1e, 0x8d, 0xbc, 0x17, 0x56, 0xc0, 0x47, 0xa7, 0x96,
0x1c, 0xc4, 0xc6, 0xe2, 0xdd, 0xcc, 0xbd, 0x92, 0x59, 0x47, 0x4c, 0x8f, 0x8f, 0x4e, 0x8f, 0x08,
0xce, 0x3e, 0x01, 0x5c, 0xa4, 0xd6, 0x29, 0xb7, 0xc3, 0xa9, 0xcf, 0x83, 0xc6, 0xd2, 0xdd, 0xdc,
0xbd, 0xc5, 0x87, 0xcb, 0xd1, 0x78, 0x21, 0x78, 0xdb, 0x09, 0xcd, 0xaa, 0xa0, 0x93, 0xcf, 0xc1,
0xe6, 0x2e, 0xac, 0xa7, 0x77, 0x49, 0x30, 0x95, 0x18, 0x15, 0xc1, 0x8c, 0x79, 0x53, 0xfc, 0x14,
0x2b, 0xfb, 0xc2, 0x1e, 0x4d, 0x39, 0x72, 0x61, 0xd5, 0xa4, 0x87, 0x1f, 0x65, 0x3f, 0xcb, 0x18,
0xbf, 0x97, 0x81, 0x2a, 0xbd, 0x65, 0x30, 0xf1, 0xdc, 0x80, 0xb3, 0xb7, 0xa1, 0xa6, 0xb8, 0x81,
0xfb, 0xbe, 0xe7, 0x4b, 0x69, 0xa9, 0x38, 0xaf, 0x25, 0x60, 0xec, 0xfb, 0x50, 0x57, 0x44, 0x13,
0x9f, 0x3b, 0x63, 0xfb, 0x4c, 0x55, 0xad, 0x58, 0xe9, 0x48, 0x82, 0xd9, 0x47, 0x71, 0x7d, 0xbe,
0x37, 0x0d, 0x39, 0xf2, 0x7a, 0xe5, 0x61, 0x55, 0xbe, 0x9e, 0x29, 0x60, 0x51, 0xed, 0xf8, 0xf4,
0x1a, 0x7c, 0x6e, 0xfc, 0x56, 0x06, 0x98, 0xe8, 0x76, 0xdf, 0xa3, 0x0a, 0x62, 0x89, 0x94, 0x28,
0x99, 0x79, 0xed, 0x15, 0x92, 0x7d, 0xd9, 0x0a, 0x31, 0xa0, 0x40, 0x7d, 0xcf, 0xa7, 0xf4, 0x9d,
0x50, 0x3f, 0xcd, 0x97, 0x72, 0xf5, 0xbc, 0xf1, 0x5f, 0x73, 0xb0, 0x2a, 0xf8, 0xd4, 0xe5, 0xa3,
0xe6, 0x60, 0xc0, 0x27, 0xd1, 0xda, 0xb9, 0x03, 0x15, 0xd7, 0x1b, 0x72, 0xc5, 0xb1, 0xd4, 0x31,
0x10, 0x20, 0x8d, 0x5d, 0xcf, 0x6d, 0xc7, 0xa5, 0x8e, 0xd3, 0x60, 0x96, 0x11, 0x82, 0xdd, 0x7e,
0x17, 0x96, 0x26, 0xdc, 0x1d, 0xea, 0x4b, 0x24, 0x47, 0x5c, 0x2f, 0xc1, 0x72, 0x75, 0xdc, 0x81,
0xca, 0xe9, 0x94, 0xe8, 0x84, 0x60, 0xc9, 0x23, 0x0f, 0x80, 0x04, 0x35, 0x49, 0xbe, 0x4c, 0xa6,
0xc1, 0x39, 0x62, 0x0b, 0x88, 0x2d, 0x8a, 0x67, 0x81, 0xba, 0x0d, 0x30, 0x9c, 0x06, 0xa1, 0x5c,
0x31, 0x0b, 0x88, 0x2c, 0x0b, 0x08, 0xad, 0x98, 0x1f, 0xc0, 0xca, 0xd8, 0xbe, 0xb4, 0x90, 0x77,
0x2c, 0xc7, 0xb5, 0x4e, 0x47, 0x28, 0xd4, 0x8b, 0x48, 0x57, 0x1f, 0xdb, 0x97, 0xcf, 0x04, 0xa6,
0xed, 0xee, 0x21, 0x5c, 0x88, 0x95, 0x01, 0x8d, 0x84, 0xe5, 0xf3, 0x80, 0xfb, 0x17, 0x1c, 0x25,
0x41, 0xde, 0x5c, 0x94, 0x60, 0x93, 0xa0, 0xa2, 0x47, 0x63, 0xf1, 0xde, 0xe1, 0x68, 0x40, 0xcb,
0xde, 0x2c, 0x8e, 0x1d, 0x77, 0x3f, 0x1c, 0x0d, 0xc4, 0x7e, 0x25, 0xe4, 0xc8, 0x84, 0xfb, 0xd6,
0xf3, 0x17, 0xb8, 0x86, 0xf3, 0x28, 0x37, 0x8e, 0xb8, 0xff, 0xf4, 0x85, 0x50, 0x29, 0x06, 0x01,
0x0a, 0x22, 0xfb, 0xaa, 0x51, 0xc1, 0x05, 0x5e, 0x1a, 0x04, 0x42, 0x04, 0xd9, 0x57, 0x62, 0x11,
0x8a, 0xde, 0xda, 0x38, 0x0b, 0x7c, 0x88, 0xd5, 0x07, 0x28, 0x51, 0x6b, 0xd8, 0xd9, 0xa6, 0x44,
0x88, 0x76, 0x02, 0xc1, 0xf5, 0xaa, 0xb3, 0xa7, 0x23, 0xfb, 0x2c, 0x40, 0x91, 0x52, 0x33, 0xab,
0x12, 0xb8, 0x27, 0x60, 0xc6, 0x57, 0xb0, 0x36, 0x33, 0xb7, 0x72, 0xcd, 0x08, 0x15, 0x02, 0x21,
0x38, 0xaf, 0x25, 0x53, 0x3e, 0xa5, 0x4d, 0x5a, 0x36, 0x65, 0xd2, 0x8c, 0xdf, 0xce, 0x40, 0x55,
0xd6, 0x8c, 0xca, 0x0e, 0xdb, 0x02, 0xa6, 0x66, 0x31, 0xbc, 0x74, 0x86, 0xd6, 0xc9, 0x55, 0xc8,
0x03, 0x62, 0x9a, 0xfd, 0x1b, 0x66, 0x5d, 0xe2, 0xfa, 0x97, 0xce, 0x70, 0x5b, 0x60, 0xd8, 0x7d,
0xa8, 0x27, 0xe8, 0x83, 0xd0, 0x27, 0x8e, 0xde, 0xbf, 0x61, 0x2e, 0x6a, 0xd4, 0xbd, 0xd0, 0x17,
0x6b, 0x44, 0xa8, 0x52, 0xd3, 0xd0, 0x72, 0xdc, 0x21, 0xbf, 0x44, 0x36, 0xaa, 0x99, 0x15, 0x82,
0xb5, 0x05, 0x68, 0x7b, 0x11, 0xaa, 0x7a, 0x75, 0xc6, 0x19, 0x94, 0x94, 0x1e, 0x86, 0x8a, 0xc8,
0x4c, 0x97, 0xcc, 0x72, 0x18, 0xf5, 0xe4, 0x26, 0x94, 0x92, 0x3d, 0x30, 0x8b, 0xe1, 0x6b, 0x37,
0x6c, 0x7c, 0x01, 0xf5, 0x03, 0xc1, 0x3c, 0xae, 0x60, 0x56, 0xa9, 0x57, 0xae, 0xc3, 0x82, 0xb6,
0x68, 0xca, 0xa6, 0x7c, 0x12, 0x7b, 0xee, 0xb9, 0x17, 0x84, 0xb2, 0x15, 0xfc, 0x6d, 0xfc, 0x7e,
0x06, 0x58, 0x2b, 0x08, 0x9d, 0xb1, 0x1d, 0xf2, 0x3d, 0x1e, 0x89, 0x85, 0x2e, 0x54, 0x45, 0x6d,
0x7d, 0xaf, 0x49, 0x8a, 0x1e, 0x29, 0x14, 0xef, 0xcb, 0x65, 0x3c, 0x5f, 0x60, 0x4b, 0xa7, 0x26,
0x31, 0x9f, 0xa8, 0x40, 0xac, 0xb2, 0xd0, 0xf6, 0xcf, 0x78, 0x88, 0xea, 0xa1, 0xd4, 0x6b, 0x80,
0x40, 0x42, 0x31, 0xdc, 0xfc, 0x31, 0x2c, 0xcf, 0xd5, 0xa1, 0xcb, 0xe5, 0x72, 0x8a, 0x5c, 0xce,
0xe9, 0x72, 0xd9, 0x82, 0x95, 0x44, 0xbf, 0x24, 0xa7, 0x6d, 0x40, 0x51, 0x2c, 0x08, 0xa1, 0x1c,
0x64, 0x48, 0x5b, 0x3d, 0xe5, 0x5c, 0xa8, 0xd7, 0x1f, 0xc2, 0xea, 0x29, 0xe7, 0xbe, 0x1d, 0x22,
0x12, 0x57, 0x8c, 0x98, 0x21, 0x59, 0xf1, 0xb2, 0xc4, 0xf5, 0xec, 0xf0, 0x88, 0xfb, 0x62, 0xa6,
0x8c, 0xff, 0x9d, 0x81, 0x25, 0x21, 0x41, 0x0f, 0x6d, 0xf7, 0x4a, 0x8d, 0xd3, 0x41, 0xea, 0x38,
0xdd, 0xd3, 0x36, 0x43, 0x8d, 0xfa, 0xdb, 0x0e, 0x52, 0x6e, 0x76, 0x90, 0xd8, 0x5d, 0xa8, 0x26,
0xfa, 0x5a, 0xc0, 0xbe, 0x42, 0x10, 0x75, 0x32, 0xd6, 0x48, 0x17, 0x34, 0x8d, 0xf4, 0x4f, 0x3f,
0xb8, 0xef, 0x42, 0x3d, 0x7e, 0x19, 0x39, 0xb2, 0x0c, 0xf2, 0x82, 0x51, 0x65, 0x05, 0xf8, 0xdb,
0xf8, 0xe7, 0x19, 0x22, 0xdc, 0xf1, 0x9c, 0x58, 0xeb, 0x65, 0x90, 0x17, 0x5a, 0xb6, 0x22, 0x14,
0xbf, 0xaf, 0xb5, 0x21, 0xbe, 0x83, 0x21, 0xb8, 0x09, 0xa5, 0x40, 0xa8, 0xd0, 0xf6, 0x88, 0x46,
0xa1, 0x64, 0x16, 0xc5, 0x73, 0x73, 0x34, 0x8a, 0x47, 0xa7, 0xa8, 0xeb, 0xeb, 0xef, 0xc1, 0xb2,
0xd6, 0xe7, 0x97, 0xbc, 0x5d, 0x07, 0xd8, 0x81, 0x13, 0x84, 0xc7, 0x6e, 0x30, 0xd1, 0x94, 0xbc,
0x5b, 0x50, 0x16, 0xd2, 0x58, 0xf4, 0x37, 0x90, 0x1a, 0xbd, 0x10, 0xcf, 0xa2, 0xb7, 0x01, 0x22,
0xed, 0x4b, 0x89, 0xcc, 0x4a, 0xa4, 0x7d, 0x89, 0x48, 0xe3, 0x33, 0x58, 0x49, 0xd4, 0x27, 0x9b,
0x7e, 0x0b, 0x0a, 0xd3, 0xf0, 0xd2, 0x53, 0x6a, 0x7c, 0x45, 0x72, 0x93, 0x30, 0x42, 0x4d, 0xc2,
0x18, 0x8f, 0x61, 0xb9, 0xc3, 0x5f, 0xc8, 0x05, 0xaf, 0x3a, 0xf2, 0x2e, 0xe4, 0x5f, 0x61, 0x98,
0x22, 0xde, 0xd8, 0x02, 0xa6, 0x17, 0x96, 0xad, 0x6a, 0x76, 0x6a, 0x26, 0x61, 0xa7, 0x1a, 0xef,
0x02, 0xeb, 0x39, 0x67, 0xee, 0x21, 0x0f, 0x02, 0xfb, 0x2c, 0x12, 0x11, 0x75, 0xc8, 0x8d, 0x83,
0x33, 0x29, 0xcf, 0xc4, 0x4f, 0xe3, 0x87, 0xb0, 0x92, 0xa0, 0x93, 0x15, 0xbf, 0x01, 0xe5, 0xc0,
0x39, 0x73, 0x51, 0x09, 0x93, 0x55, 0xc7, 0x00, 0x63, 0x0f, 0x56, 0x9f, 0x71, 0xdf, 0x39, 0xbd,
0x7a, 0x55, 0xf5, 0xc9, 0x7a, 0xb2, 0xb3, 0xf5, 0xb4, 0x60, 0x6d, 0xa6, 0x1e, 0xd9, 0x3c, 0x31,
0xb5, 0x9c, 0xc9, 0x92, 0x49, 0x0f, 0x9a, 0x8c, 0xcc, 0xea, 0x32, 0xd2, 0x38, 0x06, 0xb6, 0xe3,
0xb9, 0x2e, 0x1f, 0x84, 0x47, 0x9c, 0xfb, 0xaa, 0x33, 0xef, 0x6b, 0x1c, 0x5c, 0x79, 0xb8, 0x21,
0x47, 0x76, 0x56, 0xf0, 0x4a, 0xd6, 0x66, 0x90, 0x9f, 0x70, 0x7f, 0x8c, 0x15, 0x97, 0x4c, 0xfc,
0x6d, 0xac, 0xc1, 0x4a, 0xa2, 0x5a, 0xea, 0x9b, 0xf1, 0x00, 0xd6, 0x76, 0x9d, 0x60, 0x30, 0xdf,
0xe0, 0x06, 0x14, 0x27, 0xd3, 0x13, 0x2b, 0x29, 0xc3, 0x9f, 0xf2, 0x2b, 0xa3, 0x01, 0xeb, 0xb3,
0x25, 0x64, 0x5d, 0x7f, 0x21, 0x03, 0xf9, 0xfd, 0xfe, 0xc1, 0x0e, 0xdb, 0x84, 0x92, 0xe3, 0x0e,
0xbc, 0xb1, 0x50, 0xd2, 0xe8, 0x9d, 0xa3, 0xe7, 0x6b, 0x97, 0xdd, 0x2d, 0x28, 0xa3, 0x6e, 0x27,
0xcc, 0x6b, 0xa9, 0x26, 0x95, 0x04, 0xe0, 0xc0, 0x1b, 0x3c, 0x17, 0x76, 0x3d, 0xbf, 0x9c, 0x38,
0x3e, 0x5a, 0xee, 0xca, 0x32, 0xcd, 0x93, 0x5e, 0x10, 0x23, 0xa4, 0x81, 0xfa, 0xaf, 0x4a, 0x50,
0x94, 0x3b, 0x33, 0xed, 0xf2, 0xa1, 0x73, 0xc1, 0xe3, 0x5d, 0x5e, 0x3c, 0x09, 0xdd, 0xc1, 0xe7,
0x63, 0x2f, 0x8c, 0x94, 0x3b, 0x9a, 0x83, 0x2a, 0x01, 0xa5, 0x7a, 0xa7, 0x29, 0x18, 0xe4, 0xe6,
0xc8, 0x11, 0xd1, 0x40, 0xdf, 0xf6, 0x6f, 0x41, 0x51, 0xe9, 0x09, 0xf9, 0xc8, 0xfe, 0x59, 0x18,
0x90, 0x66, 0xb7, 0x09, 0xa5, 0x81, 0x3d, 0xb1, 0x07, 0x4e, 0x78, 0x25, 0xc5, 0x44, 0xf4, 0x2c,
0x6a, 0x1f, 0x79, 0x03, 0x7b, 0x64, 0x9d, 0xd8, 0x23, 0xdb, 0x1d, 0x70, 0xe9, 0x3f, 0xa8, 0x22,
0x70, 0x9b, 0x60, 0xec, 0x7b, 0xb0, 0x28, 0xfb, 0xa9, 0xa8, 0xc8, 0x8d, 0x20, 0x7b, 0xaf, 0xc8,
0x84, 0x22, 0xea, 0x8d, 0xc7, 0x8e, 0xb0, 0x48, 0x48, 0x65, 0xcb, 0x99, 0x65, 0x82, 0xec, 0x71,
0x7c, 0x5b, 0x89, 0x7e, 0x41, 0x43, 0x57, 0xa6, 0xa6, 0x08, 0xf8, 0x15, 0x99, 0xfd, 0xf3, 0x7a,
0x5b, 0x4e, 0xd3, 0xdb, 0xde, 0x87, 0xe5, 0xa9, 0x1b, 0xf0, 0x30, 0x1c, 0xf1, 0x61, 0xd4, 0x97,
0x0a, 0x12, 0xd5, 0x23, 0x84, 0xea, 0xce, 0x16, 0xac, 0x90, 0xe3, 0x23, 0xb0, 0x43, 0x2f, 0x38,
0x77, 0x02, 0x2b, 0x10, 0xd6, 0x14, 0x99, 0xc6, 0xcb, 0x88, 0xea, 0x49, 0x4c, 0x8f, 0xcc, 0xa9,
0x8d, 0x19, 0x7a, 0x9f, 0x0f, 0xb8, 0x73, 0xc1, 0x87, 0xa8, 0xd3, 0xe5, 0xcc, 0xb5, 0x44, 0x19,
0x53, 0x22, 0x51, 0x41, 0x9f, 0x8e, 0xad, 0xe9, 0x64, 0x68, 0x0b, 0xc5, 0x66, 0x91, 0x14, 0x67,
0x77, 0x3a, 0x3e, 0x26, 0x08, 0x7b, 0x00, 0x4a, 0x6b, 0x93, 0xba, 0xe4, 0x52, 0x42, 0x9e, 0x09,
0x66, 0x35, 0xab, 0x92, 0x82, 0x94, 0xca, 0x84, 0x7e, 0x5a, 0x9f, 0xd1, 0x4f, 0x1b, 0x50, 0x9c,
0xf8, 0xce, 0x85, 0x1d, 0xf2, 0xc6, 0x32, 0x89, 0x75, 0xf9, 0x28, 0x24, 0x83, 0xe3, 0x3a, 0xa1,
0x63, 0x87, 0x9e, 0xdf, 0x60, 0x88, 0x8b, 0x01, 0xec, 0x3e, 0x2c, 0x23, 0x8f, 0x04, 0xa1, 0x1d,
0x4e, 0x03, 0xa9, 0xad, 0xae, 0x20, 0x33, 0xa1, 0xbe, 0xdd, 0x43, 0x38, 0x2a, 0xac, 0xec, 0x87,
0xb0, 0x4e, 0x6c, 0x81, 0x25, 0xa4, 0x16, 0x8e, 0xca, 0xc3, 0x2a, 0x0e, 0xc5, 0x0a, 0x62, 0x05,
0x7f, 0x4b, 0x5d, 0x5c, 0x68, 0x12, 0x8f, 0x60, 0x43, 0xb2, 0xc9, 0x5c, 0xa9, 0x35, 0x2c, 0xb5,
0x4a, 0xe8, 0x99, 0x62, 0x5b, 0xb0, 0x2c, 0xba, 0xe4, 0x0c, 0x2c, 0x59, 0x5a, 0xac, 0x84, 0x75,
0xd1, 0x7b, 0xb4, 0xaa, 0x96, 0x08, 0x69, 0x22, 0xee, 0x29, 0xbf, 0x62, 0x5f, 0xc0, 0x12, 0xb1,
0x0c, 0x9a, 0x62, 0x28, 0xe9, 0x37, 0x51, 0xd2, 0xaf, 0xc9, 0x01, 0xdd, 0x89, 0xb0, 0x28, 0xec,
0x17, 0x07, 0x89, 0x67, 0xb1, 0x1c, 0x46, 0xce, 0x29, 0x0f, 0x9d, 0x31, 0x6f, 0x6c, 0x10, 0x83,
0xa9, 0x67, 0xb1, 0x52, 0xa7, 0x13, 0xc4, 0x34, 0x48, 0x2e, 0xd0, 0x13, 0xf2, 0xee, 0xc8, 0x0b,
0xb8, 0x72, 0x93, 0x35, 0x6e, 0xca, 0x45, 0x28, 0x80, 0x4a, 0xdf, 0x14, 0x4a, 0x3b, 0x19, 0x48,
0x91, 0x33, 0xf3, 0x16, 0x32, 0x43, 0x8d, 0xec, 0x24, 0xe5, 0xd0, 0x14, 0x7b, 0xfb, 0xb9, 0xfd,
0x42, 0x49, 0x90, 0x37, 0x70, 0x7e, 0x41, 0x80, 0xa4, 0xec, 0xf8, 0x79, 0x86, 0x36, 0x44, 0x29,
0x3f, 0x02, 0xcd, 0x14, 0x24, 0xc9, 0x61, 0x79, 0xee, 0xe8, 0x4a, 0x0a, 0x13, 0x20, 0x50, 0xd7,
0x1d, 0xe1, 0x6a, 0x76, 0x5c, 0x9d, 0x84, 0x64, 0x6f, 0x55, 0x01, 0x91, 0xe8, 0x0e, 0x54, 0x26,
0xd3, 0x93, 0x91, 0x33, 0x20, 0x92, 0x1c, 0xd5, 0x42, 0x20, 0x24, 0x10, 0xb6, 0x30, 0x71, 0x14,
0x51, 0xe4, 0x91, 0xa2, 0x22, 0x61, 0x48, 0x82, 0xb2, 0x9d, 0xfb, 0x28, 0x4e, 0xaa, 0x26, 0xfe,
0x36, 0xb6, 0x61, 0x35, 0xd9, 0x69, 0xb9, 0xf1, 0xdc, 0x87, 0x92, 0x94, 0x55, 0xca, 0x49, 0xb2,
0xa8, 0x26, 0x4a, 0x9a, 0x73, 0x11, 0xde, 0xf8, 0x9d, 0x02, 0xac, 0x48, 0xe8, 0x8e, 0x18, 0xda,
0xde, 0x74, 0x3c, 0xb6, 0xfd, 0x14, 0x21, 0x98, 0x79, 0xb9, 0x10, 0xcc, 0xce, 0x09, 0xc1, 0xa4,
0x95, 0x4c, 0x32, 0x34, 0x69, 0x25, 0x8b, 0xb9, 0x24, 0xc3, 0x45, 0xf7, 0xc5, 0xd6, 0x24, 0xb8,
0x4f, 0x3e, 0xdf, 0x39, 0x91, 0x5d, 0x48, 0x11, 0xd9, 0xba, 0xc0, 0x5d, 0x98, 0x11, 0xb8, 0x6f,
0x01, 0x31, 0x8d, 0x9a, 0xfd, 0x22, 0xd9, 0x32, 0x08, 0x93, 0xae, 0xcf, 0xf7, 0x60, 0x69, 0x56,
0xc6, 0x91, 0x30, 0x5d, 0x4c, 0x91, 0x70, 0xce, 0x98, 0xe3, 0x6e, 0xa5, 0x11, 0x97, 0xa5, 0x84,
0x73, 0xc6, 0xfc, 0x00, 0x31, 0x8a, 0xbe, 0x05, 0x40, 0x6d, 0xe3, 0xa2, 0x01, 0x5c, 0x34, 0xef,
0x26, 0xe7, 0x42, 0x1f, 0xf5, 0x2d, 0xf1, 0x30, 0xf5, 0x39, 0xae, 0xa2, 0x32, 0x96, 0xc4, 0x05,
0xf4, 0x29, 0x2c, 0x7a, 0x13, 0xee, 0x5a, 0xb1, 0xac, 0xa9, 0x60, 0x55, 0x75, 0x59, 0x55, 0x5b,
0xc1, 0xcd, 0x9a, 0xa0, 0x8b, 0x1e, 0xd9, 0xe7, 0x34, 0xc8, 0x5c, 0x2b, 0x59, 0xbd, 0xa6, 0xe4,
0x22, 0x12, 0x46, 0xcf, 0xc6, 0x6f, 0x66, 0xa0, 0xa2, 0x75, 0x87, 0xad, 0xc1, 0xf2, 0x4e, 0xb7,
0x7b, 0xd4, 0x32, 0x9b, 0xfd, 0xf6, 0xb3, 0x96, 0xb5, 0x73, 0xd0, 0xed, 0xb5, 0xea, 0x37, 0x04,
0xf8, 0xa0, 0xbb, 0xd3, 0x3c, 0xb0, 0xf6, 0xba, 0xe6, 0x8e, 0x02, 0x67, 0xd8, 0x3a, 0x30, 0xb3,
0x75, 0xd8, 0xed, 0xb7, 0x12, 0xf0, 0x2c, 0xab, 0x43, 0x75, 0xdb, 0x6c, 0x35, 0x77, 0xf6, 0x25,
0x24, 0xc7, 0x56, 0xa1, 0xbe, 0x77, 0xdc, 0xd9, 0x6d, 0x77, 0x9e, 0x58, 0x3b, 0xcd, 0xce, 0x4e,
0xeb, 0xa0, 0xb5, 0x5b, 0xcf, 0xb3, 0x1a, 0x94, 0x9b, 0xdb, 0xcd, 0xce, 0x6e, 0xb7, 0xd3, 0xda,
0xad, 0x17, 0x8c, 0x3f, 0xca, 0xc0, 0x1a, 0x0e, 0xd4, 0x70, 0x76, 0x85, 0xde, 0x85, 0xca, 0xc0,
0xf3, 0x26, 0xc2, 0x64, 0x8a, 0xb7, 0x7b, 0x1d, 0x24, 0x56, 0x1f, 0x49, 0xd6, 0x53, 0xcf, 0x1f,
0x70, 0xb9, 0x40, 0x01, 0x41, 0x7b, 0x02, 0x22, 0x18, 0x44, 0x72, 0x18, 0x51, 0xd0, 0xfa, 0xac,
0x10, 0x8c, 0x48, 0xd6, 0x61, 0xe1, 0xc4, 0xe7, 0xf6, 0xe0, 0x5c, 0x2e, 0x4d, 0xf9, 0xc4, 0xbe,
0x1f, 0x1b, 0xf3, 0x03, 0x31, 0xe1, 0x23, 0x3e, 0x44, 0xfe, 0x2c, 0x99, 0x4b, 0x12, 0xbe, 0x23,
0xc1, 0x62, 0xab, 0xb0, 0x4f, 0x6c, 0x77, 0xe8, 0xb9, 0x7c, 0x28, 0xad, 0x83, 0x18, 0x60, 0x1c,
0xc1, 0xfa, 0xec, 0xfb, 0xc9, 0xc5, 0xfc, 0x89, 0xb6, 0x98, 0x49, 0x2d, 0xdf, 0xbc, 0x9e, 0x81,
0xb4, 0x85, 0xfd, 0xd7, 0xf2, 0x90, 0x17, 0x6a, 0xda, 0xb5, 0x1a, 0x9d, 0xae, 0x77, 0xe7, 0xe6,
0xe2, 0x43, 0xe8, 0x33, 0xa0, 0xfd, 0x9b, 0x1c, 0x53, 0x65, 0x84, 0xe0, 0xbe, 0x1d, 0xa1, 0x7d,
0x3e, 0xb8, 0x90, 0x9e, 0x29, 0x42, 0x9b, 0x7c, 0x70, 0x81, 0x66, 0x90, 0x1d, 0x52, 0x59, 0x5a,
0x8c, 0xc5, 0xc0, 0x0e, 0xb1, 0xa4, 0x44, 0x61, 0xb9, 0x62, 0x84, 0xc2, 0x52, 0x0d, 0x28, 0x3a,
0xee, 0x89, 0x37, 0x75, 0x87, 0xb8, 0xf6, 0x4a, 0xa6, 0x7a, 0xc4, 0x70, 0x14, 0x8a, 0x09, 0xb1,
0x4b, 0xd0, 0x52, 0x2b, 0x09, 0x40, 0x5f, 0xec, 0x13, 0x1f, 0x41, 0x39, 0xb8, 0x72, 0x07, 0xfa,
0x02, 0x5b, 0x95, 0xe3, 0x23, 0xde, 0x7e, 0xab, 0x77, 0xe5, 0x0e, 0x70, 0x39, 0x95, 0x02, 0xf9,
0x8b, 0x3d, 0x82, 0x52, 0xe4, 0xc0, 0x25, 0xf1, 0x78, 0x53, 0x2f, 0xa1, 0xbc, 0xb6, 0x64, 0x27,
0x47, 0xa4, 0xec, 0x43, 0x58, 0x40, 0x2f, 0x6b, 0xd0, 0xa8, 0x62, 0x21, 0xa5, 0x8c, 0x8b, 0x6e,
0x60, 0x24, 0x88, 0x0f, 0xd1, 0xe3, 0x6a, 0x4a, 0xb2, 0xcd, 0xa7, 0x50, 0x4b, 0xd4, 0xa5, 0xdb,
0xbd, 0x35, 0xb2, 0x7b, 0xdf, 0xd1, 0xed, 0xde, 0x58, 0x4c, 0xcb, 0x62, 0xba, 0x1d, 0xfc, 0x63,
0x28, 0xa9, 0x57, 0x11, 0x8b, 0xe8, 0xb8, 0xf3, 0xb4, 0xd3, 0xfd, 0xaa, 0x63, 0xf5, 0xbe, 0xee,
0xec, 0xd4, 0x6f, 0xb0, 0x25, 0xa8, 0x34, 0x77, 0x70, 0x5d, 0x22, 0x20, 0x23, 0x48, 0x8e, 0x9a,
0xbd, 0x5e, 0x04, 0xc9, 0x1a, 0x7b, 0x50, 0x9f, 0xed, 0xa9, 0xe0, 0xc9, 0x50, 0xc1, 0xa4, 0x0f,
0x3a, 0x06, 0x08, 0xfb, 0x85, 0xdc, 0xca, 0xa4, 0x24, 0xd3, 0x83, 0xf1, 0x08, 0xea, 0x62, 0xd3,
0x11, 0x43, 0xa5, 0x47, 0x97, 0x46, 0x42, 0xf1, 0xd2, 0xfd, 0xd0, 0x25, 0xb3, 0x42, 0x30, 0x6c,
0xca, 0xf8, 0x04, 0x96, 0xb5, 0x62, 0xb1, 0xbd, 0x29, 0x36, 0xb2, 0x59, 0x7b, 0x13, 0xad, 0x0b,
0xc2, 0x18, 0x1b, 0xb0, 0x26, 0x1e, 0x5b, 0x17, 0xdc, 0x0d, 0x7b, 0xd3, 0x13, 0x0a, 0x4a, 0x3a,
0x9e, 0x2b, 0xac, 0x8e, 0x72, 0x84, 0xb9, 0x9e, 0xc9, 0xb7, 0xa4, 0x69, 0x9a, 0x45, 0xd6, 0xd8,
0xd4, 0x5a, 0xc0, 0x82, 0x5b, 0xf8, 0x37, 0x61, 0xa2, 0x96, 0x23, 0x90, 0x18, 0xd6, 0xa3, 0x56,
0xcb, 0xb4, 0xba, 0x9d, 0x83, 0x76, 0x47, 0x48, 0x3b, 0x31, 0xac, 0x08, 0xd8, 0xdb, 0x43, 0x48,
0xc6, 0xa8, 0xc3, 0xe2, 0x13, 0x1e, 0xb6, 0xdd, 0x53, 0x4f, 0x0e, 0x86, 0xf1, 0x97, 0x17, 0x60,
0x29, 0x02, 0xc5, 0x26, 0xee, 0x05, 0xf7, 0x03, 0xc7, 0x73, 0x51, 0x5b, 0x2d, 0x9b, 0xea, 0x51,
0x48, 0x27, 0xa9, 0xa3, 0xe3, 0x16, 0xb8, 0x8a, 0x58, 0xa9, 0xd5, 0xe3, 0xfe, 0xf7, 0x1e, 0x2c,
0x39, 0x43, 0xee, 0x86, 0x4e, 0x78, 0x65, 0x25, 0x9c, 0x6b, 0x8b, 0x0a, 0x2c, 0xf7, 0xc0, 0x55,
0x28, 0xd8, 0x23, 0xc7, 0x56, 0xc1, 0x5e, 0x7a, 0x10, 0xd0, 0x81, 0x37, 0xf2, 0x7c, 0xd4, 0x5c,
0xcb, 0x26, 0x3d, 0xb0, 0x07, 0xb0, 0x2a, 0x34, 0x68, 0xdd, 0xe3, 0x89, 0x02, 0x86, 0xfc, 0x7c,
0xcc, 0x9d, 0x8e, 0x8f, 0x62, 0xaf, 0xa7, 0xc0, 0x88, 0x9d, 0x4f, 0x94, 0x90, 0xaa, 0x4e, 0x54,
0x80, 0x8c, 0xb1, 0x65, 0x77, 0x3a, 0x6e, 0x22, 0x26, 0xa2, 0x7f, 0x08, 0x6b, 0x82, 0x3e, 0x52,
0x8e, 0xa2, 0x12, 0x4b, 0x58, 0x42, 0x54, 0xd6, 0x96, 0xb8, 0xa8, 0xcc, 0x2d, 0x28, 0x53, 0xaf,
0x04, 0x4b, 0x14, 0x48, 0x09, 0xc7, 0xae, 0x70, 0x3f, 0x98, 0x8b, 0xcb, 0x2e, 0xd0, 0x36, 0x3e,
0x13, 0x97, 0xd5, 0x22, 0xbb, 0xa5, 0xd9, 0xc8, 0xee, 0x43, 0x58, 0x3b, 0x11, 0x3c, 0x7a, 0xce,
0xed, 0x21, 0xf7, 0xad, 0x98, 0xf3, 0xc9, 0xd8, 0x58, 0x11, 0xc8, 0x7d, 0xc4, 0x45, 0x0b, 0x45,
0x68, 0x29, 0x42, 0x6e, 0xf0, 0xa1, 0x15, 0x7a, 0x16, 0x2a, 0x2f, 0x28, 0x81, 0x4a, 0x66, 0x8d,
0xc0, 0x7d, 0x6f, 0x47, 0x00, 0x93, 0x74, 0x67, 0xbe, 0x3d, 0x39, 0x97, 0xe6, 0x40, 0x44, 0xf7,
0x44, 0x00, 0xd9, 0x1b, 0x50, 0x14, 0x6b, 0xc2, 0xe5, 0x14, 0xe6, 0x22, 0x85, 0x5b, 0x81, 0xd8,
0x3b, 0xb0, 0x80, 0x6d, 0x04, 0x8d, 0x3a, 0x2e, 0x88, 0x6a, 0x2c, 0xe9, 0x1d, 0xd7, 0x94, 0x38,
0xa1, 0x0a, 0x4e, 0x7d, 0x87, 0xc4, 0x50, 0xd9, 0xc4, 0xdf, 0xec, 0x27, 0x9a, 0x4c, 0x5b, 0xc1,
0xb2, 0xef, 0xc8, 0xb2, 0x33, 0xac, 0x78, 0x9d, 0x78, 0xfb, 0x4e, 0xa5, 0xd5, 0x4f, 0xf3, 0xa5,
0x4a, 0xbd, 0x6a, 0x34, 0x30, 0x1c, 0x6d, 0xf2, 0x81, 0x77, 0xc1, 0xfd, 0xab, 0xc4, 0x1a, 0xc9,
0xc0, 0xc6, 0x1c, 0x2a, 0x8e, 0x6a, 0xf9, 0x12, 0x6e, 0x8d, 0xbd, 0xa1, 0xda, 0xd3, 0xab, 0x0a,
0x78, 0xe8, 0x0d, 0xb9, 0xb0, 0x4b, 0x23, 0xa2, 0x53, 0xc7, 0x75, 0x82, 0x73, 0x3e, 0x94, 0x5b,
0x7b, 0x5d, 0x21, 0xf6, 0x24, 0x5c, 0x68, 0x87, 0x13, 0xdf, 0x3b, 0x8b, 0x76, 0xba, 0x8c, 0x19,
0x3d, 0x1b, 0x9f, 0x42, 0x81, 0x66, 0x50, 0x2c, 0x14, 0x9c, 0xdf, 0x8c, 0x5c, 0x28, 0x08, 0x6d,
0x40, 0xd1, 0xe5, 0xe1, 0x0b, 0xcf, 0x7f, 0xae, 0x5c, 0xe4, 0xf2, 0xd1, 0xf8, 0x19, 0xfa, 0x6b,
0xa2, 0xbc, 0x02, 0x32, 0x3d, 0x05, 0x0b, 0x13, 0x0b, 0x06, 0xe7, 0xb6, 0x74, 0x21, 0x95, 0x10,
0xd0, 0x3b, 0xb7, 0xe7, 0x58, 0x38, 0x3b, 0x9f, 0x5a, 0xf0, 0x0e, 0x2c, 0xaa, 0x4c, 0x86, 0xc0,
0x1a, 0xf1, 0xd3, 0x50, 0x2e, 0xc9, 0xaa, 0x4c, 0x63, 0x08, 0x0e, 0xf8, 0x69, 0x68, 0x1c, 0xc2,
0xb2, 0x5c, 0x34, 0xdd, 0x09, 0x57, 0x4d, 0x7f, 0x96, 0xa6, 0xb1, 0x57, 0x1e, 0xae, 0x24, 0xb5,
0x05, 0xca, 0xd0, 0x48, 0xa8, 0xf1, 0xc6, 0x97, 0xc0, 0x74, 0x5d, 0x42, 0xd6, 0x27, 0xf5, 0x66,
0x15, 0x59, 0x50, 0x01, 0xba, 0x48, 0x3b, 0x77, 0x86, 0x62, 0x74, 0x82, 0xe9, 0x60, 0xa0, 0x32,
0x4c, 0x4a, 0xa6, 0x7a, 0x34, 0xfe, 0x53, 0x06, 0x56, 0xb0, 0x32, 0x65, 0x71, 0xc8, 0x9d, 0xe2,
0x17, 0xee, 0xa4, 0x98, 0x1f, 0x5d, 0x81, 0xa3, 0x87, 0x6f, 0xef, 0xb5, 0xcd, 0xcf, 0x79, 0x6d,
0xbf, 0x0f, 0xf5, 0x21, 0x1f, 0x39, 0xc8, 0x4a, 0x4a, 0x1f, 0x22, 0x1b, 0x63, 0x49, 0xc1, 0xa5,
0xbd, 0x69, 0xfc, 0xad, 0x0c, 0x2c, 0x93, 0xba, 0x85, 0x96, 0xbb, 0x1c, 0xa8, 0xc7, 0xca, 0x54,
0x95, 0xe2, 0x54, 0xbe, 0x53, 0xac, 0x86, 0x20, 0x94, 0x88, 0xf7, 0x6f, 0x48, 0x13, 0x56, 0x42,
0xd9, 0x8f, 0xd0, 0x4a, 0x72, 0x2d, 0x04, 0xca, 0x80, 0xeb, 0xcd, 0x14, 0x05, 0x2f, 0x2a, 0x2e,
0x4c, 0x28, 0x17, 0x41, 0xdb, 0x25, 0x61, 0x3b, 0x0b, 0xb0, 0xb1, 0x07, 0xb5, 0x44, 0x33, 0x09,
0x27, 0x72, 0x95, 0x9c, 0xc8, 0x73, 0x41, 0x9d, 0xec, 0x7c, 0x50, 0xe7, 0x0a, 0x56, 0x4c, 0x6e,
0x0f, 0xaf, 0xf6, 0x3c, 0xff, 0x28, 0x38, 0x09, 0xf7, 0x48, 0x87, 0x15, 0x7b, 0x50, 0x14, 0xa9,
0x4c, 0x78, 0x6a, 0x55, 0xc0, 0x4a, 0x19, 0xe4, 0xdf, 0x83, 0xc5, 0x38, 0xa4, 0xa9, 0x79, 0xfb,
0x6a, 0x51, 0x54, 0x13, 0x9d, 0x7e, 0xc2, 0x98, 0x0d, 0x4e, 0x42, 0xe9, 0xef, 0xc3, 0xdf, 0xc6,
0x5f, 0xcc, 0x03, 0x13, 0xdc, 0x3c, 0xc3, 0x30, 0x33, 0xc1, 0xd8, 0xec, 0x5c, 0x30, 0xf6, 0x01,
0x30, 0x8d, 0x40, 0xc5, 0x88, 0x73, 0x51, 0x8c, 0xb8, 0x1e, 0xd3, 0xca, 0x10, 0xf1, 0x03, 0x58,
0x95, 0x06, 0x41, 0xb2, 0xab, 0xc4, 0x1a, 0x8c, 0x2c, 0x83, 0x44, 0x7f, 0x55, 0x20, 0x36, 0xb0,
0x43, 0xe9, 0xcf, 0xc3, 0x40, 0xac, 0x72, 0x2d, 0x68, 0x0c, 0xb8, 0xf0, 0x4a, 0x06, 0x2c, 0xce,
0x31, 0xa0, 0xe6, 0x5e, 0x2a, 0x25, 0xdd, 0x4b, 0x06, 0xd4, 0x54, 0xb8, 0x95, 0xb2, 0x4c, 0x48,
0xfb, 0xad, 0xc8, 0x98, 0x2b, 0x66, 0x9a, 0xdc, 0x83, 0xba, 0xf2, 0x01, 0x45, 0x0e, 0x2c, 0xca,
0xa0, 0x90, 0x2e, 0xc4, 0x1d, 0xe5, 0xc6, 0x4a, 0x84, 0x0b, 0x2a, 0x33, 0xe1, 0x82, 0xf7, 0x61,
0x39, 0x10, 0xfc, 0x6b, 0x4d, 0x5d, 0x99, 0x46, 0xc5, 0x87, 0x68, 0x2b, 0x96, 0xcc, 0x3a, 0x22,
0x8e, 0x63, 0xf8, 0xbc, 0x73, 0xa6, 0x96, 0xe2, 0x9c, 0x79, 0x14, 0x47, 0x26, 0x83, 0x73, 0x67,
0x8c, 0x8a, 0x4f, 0x9c, 0x1a, 0x24, 0x07, 0xb8, 0x77, 0xee, 0x8c, 0x4d, 0x15, 0x06, 0x17, 0x0f,
0xc6, 0xff, 0xca, 0x40, 0x5d, 0xf0, 0x41, 0x62, 0x89, 0x7d, 0x0e, 0x28, 0x0c, 0x5e, 0x73, 0x85,
0x55, 0x04, 0xad, 0x5a, 0x60, 0x9f, 0x02, 0xae, 0x18, 0x4b, 0x18, 0xc6, 0x72, 0x7d, 0x35, 0x92,
0xeb, 0x2b, 0x96, 0xa1, 0xfb, 0x37, 0xc8, 0x80, 0x12, 0x10, 0xf6, 0x39, 0x94, 0x05, 0x63, 0x22,
0x97, 0xc8, 0x4c, 0x37, 0xa5, 0x3e, 0xa6, 0xac, 0x11, 0x51, 0x74, 0x22, 0x1f, 0xd3, 0x82, 0xc9,
0xf9, 0x94, 0x60, 0xb2, 0xb6, 0x80, 0xf7, 0x01, 0x9e, 0xf2, 0xab, 0x03, 0x6f, 0x80, 0x66, 0xfb,
0x6d, 0x00, 0xc1, 0xcb, 0xa7, 0xf6, 0xd8, 0x91, 0x5e, 0xa7, 0x82, 0x59, 0x7e, 0xce, 0xaf, 0xf6,
0x10, 0x20, 0x26, 0x52, 0xa0, 0xe3, 0x55, 0x5c, 0x30, 0x4b, 0xcf, 0xf9, 0x15, 0x2d, 0x61, 0x0b,
0x6a, 0x4f, 0xf9, 0xd5, 0x2e, 0x27, 0x4d, 0xd9, 0xf3, 0x05, 0x13, 0xf9, 0xf6, 0x0b, 0xa1, 0x1a,
0x27, 0x02, 0xc1, 0x15, 0xdf, 0x7e, 0xf1, 0x94, 0x5f, 0xa9, 0xa0, 0x74, 0x51, 0xe0, 0x47, 0xde,
0x40, 0xee, 0xed, 0x2a, 0xa5, 0x25, 0xee, 0x94, 0xb9, 0xf0, 0x1c, 0x7f, 0x1b, 0x7f, 0x92, 0x81,
0x9a, 0xe8, 0x3f, 0x8a, 0x65, 0x31, 0x65, 0x2a, 0x33, 0x2a, 0x13, 0x67, 0x46, 0x3d, 0x94, 0x52,
0x8d, 0x64, 0x7c, 0xf6, 0x7a, 0x19, 0x8f, 0x73, 0x43, 0x02, 0xfe, 0x23, 0x28, 0xd3, 0xb2, 0x14,
0xeb, 0x3c, 0x97, 0x98, 0xe0, 0xc4, 0x0b, 0x99, 0x25, 0x24, 0x7b, 0x4a, 0x89, 0x18, 0x9a, 0x07,
0x93, 0x86, 0xb8, 0xec, 0x47, 0x7e, 0xcb, 0x94, 0x69, 0x28, 0x5c, 0x93, 0x88, 0xa1, 0xbb, 0x07,
0x17, 0xe6, 0xdc, 0x83, 0x5d, 0x28, 0x89, 0xa9, 0xc6, 0x97, 0x4d, 0xa9, 0x34, 0x93, 0x56, 0xa9,
0xd0, 0x04, 0x6c, 0xb1, 0x29, 0x08, 0x41, 0x97, 0x95, 0x9a, 0x80, 0x1d, 0xf0, 0x23, 0x14, 0x76,
0x19, 0xa8, 0x68, 0x2b, 0x00, 0x3d, 0xac, 0xd1, 0x78, 0xd1, 0x72, 0x49, 0xb2, 0x78, 0x62, 0xc0,
0xf7, 0x6f, 0x98, 0xb5, 0x41, 0x62, 0x06, 0xb6, 0x24, 0xaf, 0x62, 0xc9, 0x6c, 0x22, 0x89, 0x4b,
0x75, 0x5c, 0x31, 0xa8, 0xf8, 0xbd, 0xbd, 0x00, 0x79, 0x41, 0x6a, 0x3c, 0x86, 0x65, 0xad, 0x1b,
0xe4, 0xab, 0x78, 0xdd, 0x37, 0x34, 0x7e, 0x3d, 0x2a, 0x2c, 0xda, 0xa0, 0x18, 0x98, 0x4a, 0x6a,
0xe1, 0x43, 0x7a, 0x71, 0x99, 0x3c, 0x43, 0x20, 0x41, 0xf6, 0xda, 0x89, 0x16, 0xbf, 0x01, 0x2b,
0x5a, 0xed, 0x7b, 0x8e, 0x6b, 0x8f, 0x9c, 0x9f, 0xe1, 0x86, 0x1f, 0x38, 0x67, 0xee, 0x4c, 0xfd,
0x04, 0xfa, 0x56, 0xf5, 0xff, 0xed, 0x2c, 0xac, 0xca, 0x06, 0x30, 0x4d, 0xd1, 0x11, 0x5a, 0xdc,
0x61, 0x70, 0xc6, 0x3e, 0x87, 0x9a, 0x18, 0x1b, 0xcb, 0xe7, 0x67, 0x4e, 0x10, 0x72, 0x15, 0x7b,
0x4b, 0x11, 0x5c, 0x62, 0x33, 0x17, 0xa4, 0xa6, 0xa4, 0x64, 0x8f, 0xa1, 0x82, 0x45, 0xc9, 0x17,
0x24, 0x27, 0xa2, 0x31, 0x5f, 0x90, 0x06, 0x7a, 0xff, 0x86, 0x09, 0x41, 0x3c, 0xec, 0x8f, 0xa1,
0x82, 0x73, 0x78, 0x81, 0x03, 0x39, 0x23, 0xaa, 0xe6, 0x06, 0x5a, 0x14, 0x9e, 0xc4, 0xc3, 0xde,
0x84, 0x1a, 0x09, 0x2b, 0x39, 0x4e, 0x32, 0xfd, 0x69, 0x73, 0xbe, 0xb8, 0x1a, 0x49, 0xd1, 0xf9,
0x89, 0xf6, 0xbc, 0x5d, 0x86, 0x62, 0xe8, 0x3b, 0x67, 0x67, 0xdc, 0x37, 0xd6, 0xa3, 0xa1, 0x11,
0x52, 0x98, 0xf7, 0x42, 0x3e, 0x11, 0xea, 0xb9, 0xf1, 0x6f, 0x33, 0x50, 0x91, 0x72, 0xf5, 0x17,
0x0e, 0xf8, 0x6d, 0x6a, 0xf9, 0xc3, 0xe4, 0x76, 0x8a, 0xd3, 0x85, 0xdf, 0x83, 0xa5, 0xb1, 0xb0,
0x25, 0x84, 0xad, 0x9b, 0x88, 0xf6, 0x2d, 0x2a, 0xb0, 0x54, 0x93, 0xb7, 0x60, 0x05, 0xb5, 0xe6,
0xc0, 0x0a, 0x9d, 0x91, 0xa5, 0x90, 0x32, 0x57, 0x77, 0x99, 0x50, 0x7d, 0x67, 0x74, 0x28, 0x11,
0x42, 0x79, 0x0c, 0x42, 0xfb, 0x8c, 0xcb, 0xb5, 0x4d, 0x0f, 0xc2, 0x3e, 0x99, 0x31, 0x73, 0x95,
0x7d, 0xf2, 0x7f, 0x96, 0x61, 0x63, 0x0e, 0x25, 0xed, 0x93, 0x28, 0xca, 0x35, 0x72, 0xc6, 0x27,
0x5e, 0xe4, 0x03, 0xce, 0x68, 0x51, 0xae, 0x03, 0x81, 0x51, 0x3e, 0x60, 0x0e, 0x6b, 0x8a, 0x21,
0xd1, 0x89, 0x1b, 0x59, 0xc2, 0x59, 0xb4, 0xd3, 0x3e, 0x4a, 0x6e, 0x62, 0xb3, 0xcd, 0x29, 0xb8,
0xae, 0x1a, 0xad, 0x4c, 0xe6, 0x60, 0x01, 0xfb, 0xb3, 0xd0, 0x88, 0xf8, 0x5e, 0xaa, 0xed, 0x9a,
0x59, 0x2f, 0x5a, 0xfa, 0xe0, 0x15, 0x2d, 0x25, 0x1c, 0x90, 0xa8, 0x3b, 0xad, 0xab, 0x25, 0x43,
0x15, 0x46, 0x6d, 0x5d, 0xc0, 0x9b, 0xaa, 0x2d, 0x54, 0xc3, 0xe7, 0x5b, 0xcc, 0xbf, 0xd6, 0xbb,
0xa1, 0x73, 0x35, 0xd1, 0xac, 0x79, 0x4b, 0x56, 0x1c, 0xa1, 0xf4, 0x76, 0xcf, 0x61, 0xfd, 0x85,
0xed, 0x84, 0xea, 0x1d, 0x35, 0xaf, 0x42, 0x01, 0xdb, 0x7b, 0xf8, 0x8a, 0xf6, 0xbe, 0xa2, 0xc2,
0x09, 0xc3, 0x64, 0xf5, 0xc5, 0x3c, 0x30, 0xd8, 0xfc, 0x87, 0x39, 0x58, 0x4c, 0xd6, 0x22, 0x04,
0x8b, 0xdc, 0x6c, 0x94, 0xbe, 0x29, 0x95, 0x60, 0x19, 0x9f, 0xe8, 0x90, 0x9e, 0x39, 0x1f, 0x39,
0xc9, 0xa6, 0x44, 0x4e, 0xf4, 0x80, 0x45, 0xee, 0x55, 0x11, 0xe2, 0xfc, 0x6b, 0x45, 0x88, 0x0b,
0x69, 0x11, 0xe2, 0xeb, 0xc3, 0x8a, 0x0b, 0xbf, 0x50, 0x58, 0xb1, 0xf8, 0xd2, 0xb0, 0xa2, 0x16,
0x0c, 0x2d, 0x5d, 0x13, 0x66, 0xd0, 0xc2, 0xa3, 0x29, 0x61, 0xc5, 0xf2, 0xb7, 0x08, 0x2b, 0x6e,
0xfe, 0x49, 0x06, 0xd8, 0xfc, 0xea, 0x60, 0x4f, 0x28, 0x28, 0xe5, 0xf2, 0x91, 0x94, 0xdc, 0x3f,
0x78, 0xbd, 0x15, 0xa6, 0x18, 0x42, 0x95, 0x66, 0x1f, 0xc2, 0x8a, 0x7e, 0xa2, 0x40, 0xb7, 0xda,
0x6b, 0x26, 0xd3, 0x51, 0xb1, 0xff, 0x49, 0x0b, 0xc7, 0xe7, 0x5f, 0x19, 0x8e, 0x2f, 0xbc, 0x32,
0x1c, 0xbf, 0x90, 0x0c, 0xc7, 0x6f, 0xfe, 0xc7, 0x0c, 0xac, 0xa4, 0x30, 0xf1, 0x77, 0xf7, 0xce,
0x82, 0xf7, 0x12, 0x62, 0x2d, 0x2b, 0x79, 0x4f, 0x97, 0x68, 0x07, 0xca, 0x67, 0x29, 0xa6, 0x22,
0x90, 0x3b, 0xd5, 0xfd, 0x57, 0x49, 0x97, 0xb8, 0x84, 0xa9, 0x17, 0xdf, 0xfc, 0x9d, 0x2c, 0x54,
0x34, 0xa4, 0x18, 0x45, 0x62, 0x59, 0x2d, 0x0b, 0x8a, 0x34, 0x43, 0xf4, 0x39, 0xdc, 0x01, 0x19,
0x99, 0x21, 0x3c, 0x2d, 0x2e, 0xa9, 0x06, 0x22, 0xc1, 0x16, 0xac, 0xa8, 0x80, 0x21, 0x8f, 0x13,
0x23, 0xe5, 0x5e, 0xb3, 0x2c, 0xc3, 0x86, 0x3c, 0xca, 0xb3, 0x64, 0x1f, 0x2a, 0x73, 0x30, 0x9e,
0x3b, 0x64, 0x75, 0x0a, 0x7b, 0x2c, 0xd3, 0x02, 0x51, 0x93, 0x28, 0xf8, 0xfc, 0x23, 0x58, 0x53,
0xcb, 0x23, 0x59, 0x82, 0x22, 0x21, 0x4c, 0x2e, 0x0e, 0xbd, 0xc8, 0x4f, 0xe0, 0xf6, 0x4c, 0x9f,
0x66, 0x8a, 0x52, 0x06, 0xef, 0xcd, 0x44, 0xef, 0xf4, 0x1a, 0x36, 0xff, 0x1c, 0xd4, 0x12, 0x82,
0xf2, 0xbb, 0x9b, 0xf2, 0x59, 0x3f, 0x0f, 0x8d, 0xa8, 0xee, 0xe7, 0xd9, 0xfc, 0x9f, 0x39, 0x60,
0xf3, 0xb2, 0xfa, 0x97, 0xd9, 0x85, 0x79, 0xc6, 0xcc, 0xa5, 0x30, 0xe6, 0xff, 0x33, 0xfd, 0x21,
0x76, 0x37, 0x6a, 0x51, 0x5f, 0x5a, 0x9c, 0xf5, 0x08, 0xa1, 0x7a, 0xf1, 0xe9, 0x6c, 0xf6, 0x49,
0x29, 0x71, 0x28, 0x46, 0x53, 0xa0, 0x66, 0x92, 0x50, 0x8e, 0x61, 0xc1, 0x76, 0x07, 0xe7, 0x9e,
0x2f, 0xe5, 0xe0, 0xaf, 0x7c, 0xeb, 0xed, 0x73, 0xab, 0x89, 0xe5, 0x51, 0x6b, 0x33, 0x65, 0x65,
0xc6, 0x47, 0x50, 0xd1, 0xc0, 0xac, 0x0c, 0x85, 0x83, 0xf6, 0xe1, 0x76, 0xb7, 0x7e, 0x83, 0xd5,
0xa0, 0x6c, 0xb6, 0x76, 0xba, 0xcf, 0x5a, 0x66, 0x6b, 0xb7, 0x9e, 0x61, 0x25, 0xc8, 0x1f, 0x74,
0x7b, 0xfd, 0x7a, 0xd6, 0xd8, 0x84, 0x86, 0xac, 0x71, 0x3e, 0xf0, 0xf2, 0x5b, 0xf9, 0xc8, 0x5d,
0x88, 0x48, 0x69, 0xa2, 0xff, 0x10, 0xaa, 0xba, 0x7a, 0x23, 0x39, 0x62, 0x26, 0xf1, 0x40, 0x18,
0xe7, 0x9e, 0x26, 0xab, 0x77, 0x80, 0xc2, 0xce, 0xc3, 0xa8, 0x58, 0x36, 0xa1, 0xb7, 0xa6, 0x84,
0x38, 0xd1, 0xf8, 0x49, 0xb0, 0xe1, 0xff, 0x07, 0x8b, 0xc9, 0x20, 0x83, 0x94, 0x48, 0x69, 0x06,
0xa7, 0x28, 0x9d, 0x88, 0x3a, 0xb0, 0x9f, 0x40, 0x7d, 0x36, 0x48, 0x21, 0x95, 0xe7, 0x6b, 0xca,
0x2f, 0x39, 0xc9, 0xb8, 0x05, 0xdb, 0x87, 0xd5, 0x34, 0x05, 0x0f, 0xf9, 0xe3, 0x7a, 0x27, 0x05,
0x9b, 0x57, 0xe2, 0xd8, 0x67, 0x32, 0x58, 0x55, 0xc0, 0xe9, 0x7f, 0x27, 0xd9, 0xbe, 0x36, 0xd8,
0x5b, 0xf4, 0x4f, 0x0b, 0x5b, 0x5d, 0x00, 0xc4, 0x30, 0x56, 0x87, 0x6a, 0xf7, 0xa8, 0xd5, 0xb1,
0x76, 0xf6, 0x9b, 0x9d, 0x4e, 0xeb, 0xa0, 0x7e, 0x83, 0x31, 0x58, 0xc4, 0x80, 0xfb, 0x6e, 0x04,
0xcb, 0x08, 0x98, 0x0c, 0x1a, 0x2a, 0x58, 0x96, 0xad, 0x42, 0xbd, 0xdd, 0x99, 0x81, 0xe6, 0x58,
0x03, 0x56, 0x8f, 0x5a, 0x14, 0xa3, 0x4f, 0xd4, 0x9b, 0x17, 0x46, 0x83, 0x7c, 0x5d, 0x61, 0x34,
0x7c, 0x65, 0x8f, 0x46, 0x3c, 0x94, 0xeb, 0x40, 0xe9, 0xd2, 0x7f, 0x27, 0x03, 0x6b, 0x33, 0x88,
0xd8, 0xd3, 0x4f, 0x9a, 0x74, 0x52, 0x87, 0xae, 0x22, 0x50, 0xad, 0xa6, 0xf7, 0x61, 0x39, 0x72,
0x3c, 0xcd, 0xec, 0x4a, 0xf5, 0x08, 0xa1, 0x88, 0x3f, 0x84, 0x15, 0xcd, 0x7f, 0x35, 0x23, 0x2b,
0x98, 0x86, 0x92, 0x05, 0x8c, 0x8d, 0xe8, 0x9c, 0xc0, 0x4c, 0xaf, 0x87, 0xb0, 0x3e, 0x8b, 0x88,
0x63, 0x79, 0xc9, 0xfe, 0xaa, 0x47, 0xf6, 0x60, 0x86, 0x11, 0x92, 0xbd, 0xd5, 0x27, 0x5c, 0x35,
0xff, 0xbb, 0x0b, 0xc0, 0xbe, 0x9c, 0x72, 0xff, 0x0a, 0xcf, 0xa7, 0x04, 0xaf, 0x4a, 0xc2, 0x54,
0x9e, 0x96, 0xec, 0x6b, 0x9d, 0x41, 0x4b, 0x3b, 0x03, 0x96, 0x7f, 0xf5, 0x19, 0xb0, 0xc2, 0xab,
0xce, 0x80, 0xbd, 0x0d, 0x35, 0xe7, 0xcc, 0xf5, 0x84, 0x28, 0x14, 0x9a, 0x70, 0xd0, 0x58, 0xb8,
0x9b, 0xbb, 0x57, 0x35, 0xab, 0x12, 0x28, 0xf4, 0xe0, 0x80, 0x3d, 0x8e, 0x89, 0xf8, 0xf0, 0x0c,
0xcf, 0x41, 0xea, 0x42, 0xb0, 0x35, 0x3c, 0xe3, 0xd2, 0xb1, 0x84, 0x96, 0x86, 0x2a, 0x2c, 0xe0,
0x01, 0x7b, 0x07, 0x16, 0x03, 0x6f, 0x2a, 0x0c, 0x0b, 0x35, 0x0c, 0x14, 0xcc, 0xab, 0x12, 0xf4,
0x48, 0x85, 0x76, 0x57, 0xa6, 0x01, 0xb7, 0xc6, 0x4e, 0x10, 0x08, 0xf5, 0x6c, 0xe0, 0xb9, 0xa1,
0xef, 0x8d, 0x64, 0x7c, 0x6e, 0x79, 0x1a, 0xf0, 0x43, 0xc2, 0xec, 0x10, 0x82, 0x7d, 0x1c, 0x77,
0x69, 0x62, 0x3b, 0x7e, 0xd0, 0x00, 0xec, 0x92, 0x7a, 0x53, 0xd4, 0xdf, 0x6d, 0xc7, 0x8f, 0xfa,
0x22, 0x1e, 0x82, 0x99, 0xb3, 0x69, 0x95, 0xd9, 0xb3, 0x69, 0x7f, 0x26, 0xfd, 0x6c, 0x5a, 0x0d,
0xab, 0x7e, 0x20, 0xab, 0x9e, 0x9f, 0xe2, 0x6f, 0x75, 0x44, 0x6d, 0xfe, 0xc8, 0xdd, 0xe2, 0xb7,
0x39, 0x72, 0xb7, 0x94, 0x76, 0xe4, 0xee, 0x23, 0xa8, 0xe0, 0x61, 0x28, 0xeb, 0xdc, 0x11, 0x3a,
0x1c, 0xc5, 0x1b, 0xeb, 0xfa, 0x69, 0xa9, 0x7d, 0xc7, 0x0d, 0x4d, 0xf0, 0xd5, 0xcf, 0x60, 0xfe,
0xf4, 0xdb, 0xf2, 0x2f, 0xf1, 0xf4, 0x9b, 0x3c, 0xb4, 0xb5, 0x05, 0x25, 0x35, 0x4f, 0x8c, 0x41,
0xfe, 0xd4, 0xf7, 0xc6, 0x2a, 0xc6, 0x21, 0x7e, 0xb3, 0x45, 0xc8, 0x86, 0x9e, 0x2c, 0x9c, 0x0d,
0x3d, 0xe3, 0xff, 0x87, 0x8a, 0xc6, 0x6a, 0xec, 0x2d, 0xf2, 0x4b, 0x0a, 0xdb, 0x4c, 0xea, 0x96,
0x34, 0x8a, 0x65, 0x09, 0x6d, 0x0f, 0x85, 0xbc, 0x19, 0x3a, 0x3e, 0xc7, 0x73, 0xaa, 0x96, 0xcf,
0x2f, 0xb8, 0x1f, 0xa8, 0x98, 0x53, 0x3d, 0x42, 0x98, 0x04, 0x37, 0x7e, 0x03, 0x56, 0x12, 0x73,
0x2b, 0x45, 0xc4, 0x3b, 0xb0, 0x80, 0xe3, 0xa6, 0x12, 0x1b, 0x92, 0xa7, 0xd0, 0x24, 0x0e, 0xcf,
0xe4, 0x52, 0xb8, 0xcc, 0x9a, 0xf8, 0xde, 0x09, 0x36, 0x92, 0x31, 0x2b, 0x12, 0x76, 0xe4, 0x7b,
0x27, 0xc6, 0x1f, 0xe6, 0x20, 0xb7, 0xef, 0x4d, 0xf4, 0x44, 0xbb, 0xcc, 0x5c, 0xa2, 0x9d, 0x34,
0x38, 0xad, 0xc8, 0xa0, 0x94, 0x3a, 0x3b, 0x06, 0x8a, 0x94, 0x51, 0x79, 0x0f, 0x16, 0x85, 0x9c,
0x08, 0x3d, 0x61, 0xb1, 0xbf, 0xb0, 0x7d, 0x52, 0x88, 0x73, 0xb4, 0xf8, 0xec, 0x71, 0xd8, 0xf7,
0xf6, 0x08, 0xce, 0x56, 0x21, 0x17, 0x99, 0x2f, 0x88, 0x16, 0x8f, 0x6c, 0x1d, 0x16, 0x30, 0xe3,
0xfa, 0x4a, 0x06, 0xe6, 0xe5, 0x13, 0xfb, 0x01, 0xac, 0x24, 0xeb, 0x25, 0x51, 0x24, 0x75, 0x23,
0xbd, 0x62, 0x94, 0x49, 0x37, 0x41, 0xc8, 0x11, 0xa2, 0x91, 0x09, 0x40, 0xa7, 0x9c, 0x23, 0x4a,
0x13, 0x7a, 0xa5, 0x84, 0xd0, 0xbb, 0x03, 0x95, 0x70, 0x74, 0x61, 0x4d, 0xec, 0xab, 0x91, 0x67,
0x0f, 0xe5, 0xfa, 0x86, 0x70, 0x74, 0x71, 0x44, 0x10, 0xf6, 0x21, 0xc0, 0x78, 0x32, 0x91, 0x6b,
0x0f, 0x83, 0x1f, 0x31, 0x2b, 0x1f, 0x1e, 0x1d, 0x11, 0xcb, 0x99, 0xe5, 0xf1, 0x64, 0x42, 0x3f,
0xd9, 0x2e, 0x2c, 0xa6, 0x9e, 0x25, 0xbd, 0xad, 0x12, 0x84, 0xbd, 0xc9, 0x56, 0xca, 0xe2, 0xac,
0x0d, 0x74, 0xd8, 0xe6, 0x4f, 0x80, 0xfd, 0x29, 0x4f, 0x74, 0xf6, 0xa1, 0x1c, 0xf5, 0x4f, 0x3f,
0x10, 0x89, 0x29, 0xff, 0x95, 0xc4, 0x81, 0xc8, 0xe6, 0x70, 0xe8, 0x0b, 0xb9, 0x48, 0x1b, 0x66,
0x24, 0xf2, 0x41, 0xdb, 0x31, 0x9b, 0x24, 0xf7, 0x8d, 0xff, 0x96, 0x81, 0x02, 0x9d, 0xce, 0x7c,
0x17, 0x96, 0x88, 0x3e, 0x4a, 0x5a, 0x94, 0xe1, 0x7c, 0xda, 0x77, 0xfb, 0x32, 0x5f, 0x51, 0x2c,
0x0b, 0xed, 0xc4, 0x7a, 0x36, 0x9a, 0x79, 0xed, 0xd4, 0xfa, 0x1d, 0x28, 0x47, 0x4d, 0x6b, 0xac,
0x53, 0x52, 0x2d, 0xb3, 0x37, 0x21, 0x7f, 0xee, 0x4d, 0x94, 0xe7, 0x07, 0xe2, 0x91, 0x34, 0x11,
0x1e, 0xf7, 0x45, 0xb4, 0x41, 0x9d, 0x97, 0x1e, 0x8b, 0xa8, 0x11, 0x64, 0x83, 0xf9, 0x77, 0x5c,
0x48, 0x79, 0xc7, 0x63, 0x58, 0x12, 0x72, 0x40, 0xcb, 0x29, 0xb8, 0x7e, 0xd3, 0xfc, 0xbe, 0xd0,
0xf0, 0x06, 0xa3, 0xe9, 0x90, 0xeb, 0xbe, 0x37, 0x4c, 0xd2, 0x93, 0x70, 0xa5, 0x59, 0x1b, 0xbf,
0x9b, 0x21, 0xf9, 0x22, 0xea, 0x65, 0xf7, 0x20, 0xef, 0xaa, 0xfc, 0x83, 0x58, 0x8f, 0x8b, 0xce,
0x5e, 0x08, 0x3a, 0x13, 0x29, 0xc4, 0xd4, 0x61, 0xd4, 0x5e, 0xaf, 0xbd, 0x66, 0x56, 0xdc, 0xe9,
0x38, 0x72, 0x5d, 0x7d, 0x4f, 0xbd, 0xd6, 0x8c, 0xdb, 0x87, 0xde, 0x3e, 0x5a, 0xa6, 0x5b, 0x5a,
0xb6, 0x5f, 0x3e, 0xb1, 0x63, 0x2a, 0x2d, 0x70, 0x78, 0xc6, 0xb5, 0x2c, 0xbf, 0xdf, 0xcb, 0x42,
0x2d, 0xd1, 0x23, 0x4c, 0x77, 0x14, 0x1b, 0x00, 0x05, 0x96, 0xe4, 0x7c, 0x83, 0x00, 0x49, 0x45,
0x5d, 0x1b, 0xa7, 0x6c, 0x62, 0x9c, 0xa2, 0x04, 0xa2, 0x9c, 0x9e, 0x40, 0xf4, 0x00, 0xca, 0xf1,
0x4d, 0x05, 0xc9, 0x2e, 0x89, 0xf6, 0xd4, 0x09, 0x94, 0x98, 0x28, 0x4e, 0x39, 0x2a, 0xe8, 0x29,
0x47, 0x5f, 0x68, 0x19, 0x2a, 0x0b, 0x58, 0x8d, 0x91, 0x36, 0xa2, 0xbf, 0x94, 0xfc, 0x14, 0xe3,
0x31, 0x54, 0xb4, 0xce, 0xeb, 0x59, 0x1e, 0x99, 0x44, 0x96, 0x47, 0x74, 0x82, 0x2c, 0x1b, 0x9f,
0x20, 0x33, 0xfe, 0x52, 0x16, 0x6a, 0x62, 0x7d, 0x39, 0xee, 0xd9, 0x91, 0x37, 0x72, 0x06, 0x18,
0x68, 0x8a, 0x56, 0x98, 0x54, 0xb4, 0xd4, 0x3a, 0x93, 0x4b, 0x8c, 0xf4, 0x2c, 0xfd, 0xf8, 0x2c,
0x09, 0xe9, 0xe8, 0xf8, 0xac, 0x01, 0x35, 0x21, 0x18, 0x31, 0x64, 0x14, 0xdf, 0x77, 0x60, 0x56,
0x4e, 0x39, 0xdf, 0xb6, 0x03, 0x92, 0x90, 0x3f, 0x80, 0x15, 0x41, 0x83, 0x27, 0x07, 0xc7, 0xce,
0x68, 0xe4, 0x10, 0x25, 0x39, 0x9a, 0xea, 0xa7, 0x9c, 0x9b, 0x76, 0xc8, 0x0f, 0x05, 0x42, 0x5e,
0x8f, 0x50, 0x1a, 0x3a, 0x81, 0x7d, 0x12, 0x27, 0xa5, 0x46, 0xcf, 0x18, 0x59, 0xb6, 0x2f, 0xb5,
0xc8, 0x32, 0x39, 0x20, 0x2a, 0x63, 0xfb, 0x32, 0x8a, 0x2c, 0xcf, 0x70, 0x52, 0x71, 0x96, 0x93,
0x8c, 0x7f, 0x9d, 0x85, 0x8a, 0xc6, 0x96, 0xaf, 0xb3, 0xbb, 0xde, 0x9e, 0x0b, 0x0c, 0x96, 0xf5,
0x18, 0xe0, 0xdb, 0xc9, 0x26, 0x31, 0xf7, 0x85, 0x2e, 0x62, 0xd0, 0x18, 0xf8, 0x16, 0x94, 0xc5,
0xaa, 0xfb, 0x08, 0x5d, 0xb0, 0xf2, 0x7a, 0x12, 0x04, 0x1c, 0x4d, 0x4f, 0x14, 0xf2, 0x21, 0x22,
0x0b, 0x31, 0xf2, 0xa1, 0x40, 0xbe, 0x2c, 0x4d, 0xfc, 0x53, 0xa8, 0xca, 0x5a, 0x71, 0x4e, 0xf1,
0x75, 0xe3, 0x55, 0x9f, 0x98, 0x6f, 0xb3, 0x42, 0xcd, 0xd1, 0xe4, 0xcb, 0x82, 0x0f, 0x55, 0xc1,
0xd2, 0xab, 0x0a, 0x3e, 0xa4, 0x07, 0x63, 0x2f, 0xca, 0xbc, 0xc7, 0xdc, 0x30, 0x25, 0xc7, 0x3e,
0x84, 0x15, 0x25, 0xae, 0xa6, 0xae, 0xed, 0xba, 0xde, 0xd4, 0x1d, 0x70, 0x75, 0x88, 0x8c, 0x49,
0xd4, 0x71, 0x8c, 0x31, 0x86, 0xd1, 0x89, 0x64, 0xca, 0x31, 0xbb, 0x0f, 0x05, 0xd2, 0xcb, 0x49,
0xf9, 0x48, 0x17, 0x5c, 0x44, 0xc2, 0xee, 0x41, 0x81, 0xd4, 0xf3, 0xec, 0xb5, 0xc2, 0x86, 0x08,
0x8c, 0x26, 0x30, 0x51, 0xf0, 0x90, 0x87, 0xbe, 0x33, 0x08, 0xe2, 0xf3, 0x69, 0x05, 0x61, 0x7f,
0x52, 0x5b, 0xb1, 0xe7, 0x36, 0xa6, 0x44, 0x1b, 0x95, 0x68, 0xc4, 0xc6, 0xb4, 0x92, 0xa8, 0x43,
0xaa, 0x4b, 0x23, 0x58, 0x3f, 0xe1, 0xe1, 0x0b, 0xce, 0x5d, 0x57, 0x28, 0x43, 0x03, 0xee, 0x86,
0xbe, 0x3d, 0x12, 0x93, 0x44, 0x6f, 0xf0, 0x68, 0xae, 0xd6, 0xd8, 0x07, 0xb2, 0x1d, 0x17, 0xdc,
0x89, 0xca, 0x91, 0xec, 0x58, 0x3b, 0x49, 0xc3, 0x6d, 0xfe, 0x3a, 0x6c, 0x5e, 0x5f, 0x28, 0xe5,
0x6c, 0xea, 0xbd, 0xa4, 0x54, 0x89, 0xe2, 0x80, 0x23, 0xcf, 0x0e, 0xa9, 0x37, 0xba, 0x64, 0xe9,
0x40, 0x45, 0xc3, 0xc4, 0x7b, 0x7f, 0x06, 0x95, 0x3b, 0x7a, 0x10, 0x3b, 0x92, 0xeb, 0xf9, 0x63,
0x8c, 0xbb, 0x0d, 0xad, 0xb8, 0xf6, 0x8c, 0xb9, 0x14, 0xc3, 0xf1, 0x88, 0xbe, 0xb1, 0x05, 0x4b,
0xa8, 0xd9, 0x6b, 0x1b, 0xdd, 0xcb, 0x94, 0x41, 0x63, 0x15, 0x58, 0x87, 0x64, 0x97, 0x9e, 0x6f,
0xf7, 0x9f, 0x73, 0x50, 0xd1, 0xc0, 0x62, 0x37, 0xc2, 0x24, 0x45, 0x6b, 0xe8, 0xd8, 0x63, 0xae,
0x82, 0x9c, 0x35, 0xb3, 0x86, 0xd0, 0x5d, 0x09, 0x14, 0x7b, 0xb1, 0x7d, 0x71, 0x66, 0x79, 0xd3,
0xd0, 0x1a, 0xf2, 0x33, 0x9f, 0xab, 0x5e, 0x56, 0xed, 0x8b, 0xb3, 0xee, 0x34, 0xdc, 0x45, 0x98,
0xa0, 0x12, 0xb2, 0x44, 0xa3, 0x92, 0x39, 0x6b, 0x63, 0xfb, 0x32, 0xa6, 0x92, 0xc9, 0x9d, 0xc4,
0x99, 0xf9, 0x28, 0xb9, 0x93, 0xac, 0xc5, 0xd9, 0x0d, 0xb4, 0x30, 0xbf, 0x81, 0x7e, 0x0c, 0xeb,
0xb4, 0x81, 0x4a, 0xd1, 0x6c, 0xcd, 0xac, 0xe4, 0x55, 0xc4, 0xca, 0x97, 0xd4, 0xd4, 0xde, 0xba,
0x78, 0x03, 0x25, 0x96, 0x02, 0xe7, 0x67, 0x24, 0xc8, 0x32, 0xa6, 0x78, 0x33, 0x59, 0x79, 0xcf,
0xf9, 0x19, 0x17, 0x94, 0x98, 0x1d, 0xa3, 0x53, 0xca, 0x43, 0x20, 0x63, 0xc7, 0x9d, 0xa5, 0xb4,
0x2f, 0x93, 0x94, 0x65, 0x49, 0x69, 0x5f, 0xea, 0x94, 0x8f, 0x60, 0x63, 0xcc, 0x87, 0x8e, 0x9d,
0xac, 0xd6, 0x8a, 0x15, 0xb7, 0x55, 0x42, 0x6b, 0x65, 0x7a, 0x64, 0xb8, 0x8b, 0xd1, 0xf8, 0x99,
0x37, 0x3e, 0x71, 0x48, 0x67, 0xa1, 0x7c, 0x9d, 0xbc, 0xb9, 0xe8, 0x4e, 0xc7, 0xbf, 0x86, 0x60,
0x51, 0x24, 0x30, 0x6a, 0x50, 0xe9, 0x85, 0xde, 0x44, 0x4d, 0xf3, 0x22, 0x54, 0xe9, 0x51, 0x9e,
0xcc, 0xbc, 0x05, 0x37, 0x51, 0x24, 0xf4, 0xbd, 0x89, 0x37, 0xf2, 0xce, 0xae, 0x12, 0x7e, 0xbc,
0x7f, 0x97, 0x81, 0x95, 0x04, 0x56, 0x8a, 0xd7, 0x8f, 0x49, 0x9e, 0x45, 0xc7, 0xeb, 0x68, 0x0d,
0x2e, 0x6b, 0x6b, 0x90, 0x08, 0x49, 0x98, 0xa9, 0x23, 0x77, 0xcd, 0xf8, 0x0a, 0x09, 0x55, 0x90,
0x44, 0x4a, 0x63, 0x5e, 0xa4, 0xc8, 0xf2, 0xea, 0x72, 0x09, 0x55, 0xc5, 0xaf, 0xc8, 0x83, 0x3a,
0x43, 0xf9, 0xca, 0xb9, 0xe4, 0x69, 0x07, 0xdd, 0xe7, 0xa7, 0x7a, 0x10, 0x3b, 0x02, 0x03, 0xe3,
0x1f, 0x65, 0x00, 0xe2, 0xde, 0xe1, 0x79, 0x8b, 0x48, 0x6f, 0xc9, 0x60, 0xaa, 0xac, 0xa6, 0xa3,
0xbc, 0x05, 0xd5, 0x28, 0xab, 0x3a, 0xd6, 0x84, 0x2a, 0x0a, 0x26, 0xd4, 0xa1, 0xf7, 0x60, 0xe9,
0x6c, 0xe4, 0x9d, 0xa0, 0xc6, 0x2a, 0xf5, 0x16, 0xca, 0x57, 0x5b, 0x24, 0xb0, 0xd2, 0x46, 0x62,
0xbd, 0x29, 0x9f, 0x9a, 0x78, 0xad, 0x6b, 0x41, 0xc6, 0xdf, 0xc8, 0x46, 0xa9, 0x9b, 0xf1, 0x48,
0xbc, 0xdc, 0xbc, 0xfb, 0x45, 0x72, 0x69, 0x5e, 0x16, 0x5e, 0x7c, 0x0c, 0x8b, 0x3e, 0x6d, 0x4a,
0x6a, 0xc7, 0xca, 0xbf, 0x64, 0xc7, 0xaa, 0xf9, 0x09, 0x4d, 0xe7, 0xfb, 0x50, 0xb7, 0x87, 0x17,
0xdc, 0x0f, 0x1d, 0xf4, 0xd6, 0xa3, 0x7e, 0x2c, 0x93, 0x25, 0x35, 0x38, 0x2a, 0xa2, 0xef, 0xc1,
0x92, 0x3c, 0x2d, 0x1c, 0x51, 0xca, 0xbb, 0x8a, 0x62, 0xb0, 0x20, 0x34, 0xfe, 0xa9, 0xca, 0x15,
0x4d, 0xce, 0xee, 0xcb, 0x47, 0x45, 0x7f, 0xc3, 0xec, 0x7c, 0x00, 0x55, 0x32, 0x92, 0x0c, 0x02,
0x48, 0x79, 0x44, 0x40, 0x19, 0x02, 0x48, 0x0e, 0x6b, 0xfe, 0x75, 0x86, 0xd5, 0xf8, 0xf7, 0x19,
0x28, 0xee, 0x7b, 0x93, 0x7d, 0x87, 0x4e, 0x1c, 0xe0, 0x32, 0x89, 0x62, 0x54, 0x0b, 0xe2, 0x11,
0x13, 0x7f, 0x5e, 0x72, 0x28, 0x2e, 0x55, 0xcd, 0xab, 0x25, 0xd5, 0xbc, 0x2f, 0xe0, 0x16, 0x86,
0x00, 0x7d, 0x6f, 0xe2, 0xf9, 0x62, 0xa9, 0xda, 0x23, 0x52, 0xf7, 0x3c, 0x37, 0x3c, 0x57, 0xb2,
0xf3, 0xe6, 0x29, 0xe7, 0x47, 0x1a, 0xc5, 0x61, 0x44, 0x80, 0xc7, 0x4e, 0x47, 0xe1, 0x85, 0x45,
0x16, 0xba, 0xd4, 0x47, 0x49, 0xa2, 0x2e, 0x09, 0x44, 0x0b, 0xe1, 0xa8, 0x91, 0x1a, 0x9f, 0x41,
0x39, 0x72, 0xf6, 0xb0, 0xf7, 0xa1, 0x7c, 0xee, 0x4d, 0xa4, 0x47, 0x28, 0x93, 0x38, 0x38, 0x28,
0xdf, 0xda, 0x2c, 0x9d, 0xd3, 0x8f, 0xc0, 0xf8, 0xc3, 0x22, 0x14, 0xdb, 0xee, 0x85, 0xe7, 0x0c,
0x30, 0xdb, 0x74, 0xcc, 0xc7, 0x9e, 0xba, 0xb2, 0x40, 0xfc, 0xc6, 0xdc, 0xac, 0xf8, 0xc6, 0xa1,
0x9c, 0xcc, 0xcd, 0x8a, 0xee, 0x1a, 0x5a, 0x83, 0x05, 0x5f, 0xbf, 0x32, 0xa8, 0xe0, 0x63, 0x8e,
0x7e, 0xb4, 0x5f, 0x16, 0xb4, 0x8b, 0x20, 0x44, 0x5d, 0x74, 0x95, 0x0d, 0x0e, 0x19, 0x1d, 0x21,
0x2d, 0x23, 0x04, 0x07, 0xec, 0x0d, 0x28, 0xca, 0x73, 0x7a, 0x74, 0xb0, 0x8a, 0x92, 0xea, 0x25,
0x08, 0xb9, 0xc1, 0xe7, 0x14, 0xc2, 0x8d, 0x14, 0xd9, 0x9c, 0x59, 0x55, 0xc0, 0x5d, 0xc1, 0x6b,
0x77, 0xa0, 0x42, 0xf4, 0x44, 0x52, 0x92, 0x49, 0x9a, 0x08, 0x42, 0x82, 0x94, 0x9b, 0xb7, 0xca,
0xa9, 0x37, 0x6f, 0x61, 0x3a, 0x71, 0x24, 0x65, 0xe9, 0x15, 0x81, 0xee, 0x5b, 0xd2, 0xe0, 0xea,
0x3a, 0x3b, 0xe9, 0x53, 0xa1, 0x13, 0xd5, 0xca, 0xa7, 0xf2, 0x36, 0xd4, 0x4e, 0xed, 0xd1, 0xe8,
0xc4, 0x1e, 0x3c, 0x27, 0x57, 0x40, 0x95, 0xbc, 0x9f, 0x0a, 0x88, 0xbe, 0x80, 0x3b, 0x50, 0xd1,
0x66, 0x19, 0x33, 0x30, 0xf3, 0x26, 0xc4, 0xf3, 0x3b, 0xeb, 0xe1, 0x5b, 0x7c, 0x0d, 0x0f, 0x9f,
0x96, 0x89, 0xba, 0x94, 0xcc, 0x44, 0xbd, 0x85, 0xd2, 0x54, 0xa6, 0x1c, 0xd6, 0xe9, 0x72, 0x1f,
0x7b, 0x38, 0xc4, 0x94, 0x43, 0x74, 0x64, 0xd1, 0xe0, 0x11, 0x7e, 0x99, 0x6c, 0x09, 0x82, 0x11,
0xc9, 0x6d, 0x72, 0x53, 0x4f, 0x6c, 0x67, 0x88, 0x07, 0x23, 0xc8, 0x7b, 0x50, 0xb4, 0xc7, 0xe1,
0x91, 0xed, 0x0c, 0xd9, 0x5d, 0xa8, 0x2a, 0x34, 0xee, 0x8e, 0x2b, 0x34, 0xfe, 0x12, 0x2d, 0xf6,
0x44, 0x03, 0x6a, 0x11, 0xc5, 0x38, 0x3e, 0x16, 0x5d, 0x91, 0x24, 0xc8, 0x07, 0x1f, 0x61, 0x96,
0x4f, 0xc8, 0xf1, 0xf0, 0xf3, 0xe2, 0xc3, 0x5b, 0x51, 0xf2, 0x01, 0x72, 0xa9, 0xfa, 0x4f, 0xc1,
0x31, 0xa2, 0x14, 0xca, 0x1d, 0xc5, 0xe8, 0xd6, 0x13, 0xfa, 0xaf, 0x24, 0xc5, 0x18, 0x1d, 0x11,
0xb0, 0xcf, 0x34, 0xfb, 0xb5, 0x81, 0xc4, 0x6f, 0xcc, 0xd4, 0x7f, 0xdd, 0xc1, 0xb1, 0xdb, 0x00,
0x4e, 0x20, 0x76, 0x99, 0x80, 0xbb, 0x43, 0x3c, 0xc7, 0x5c, 0x32, 0xcb, 0x4e, 0xf0, 0x94, 0x00,
0xdf, 0xad, 0x61, 0xdb, 0x84, 0xaa, 0xfe, 0x9a, 0xac, 0x04, 0xf9, 0xee, 0x51, 0xab, 0x53, 0xbf,
0xc1, 0x2a, 0x50, 0xec, 0xb5, 0xfa, 0xfd, 0x03, 0x8c, 0xf4, 0x55, 0xa1, 0x14, 0x1d, 0xb6, 0xcc,
0x8a, 0xa7, 0xe6, 0xce, 0x4e, 0xeb, 0xa8, 0xdf, 0xda, 0xad, 0xe7, 0x7e, 0x9a, 0x2f, 0x65, 0xeb,
0x39, 0xe3, 0x8f, 0x72, 0x50, 0xd1, 0x46, 0xe1, 0xe5, 0xc2, 0xf8, 0x36, 0x00, 0x5a, 0x92, 0x71,
0x46, 0x6a, 0xde, 0x2c, 0x0b, 0x08, 0x4d, 0xbe, 0x1e, 0xa3, 0xc8, 0xd1, 0xad, 0x51, 0x2a, 0x46,
0xf1, 0x36, 0xd4, 0xe8, 0x02, 0x26, 0x3d, 0x5e, 0x5b, 0x30, 0xab, 0x04, 0x94, 0xa2, 0x1a, 0x4f,
0x61, 0x23, 0x11, 0x1e, 0x01, 0x94, 0x17, 0xaf, 0x10, 0x08, 0x0f, 0x01, 0xe2, 0x09, 0xce, 0xc0,
0x1b, 0x5d, 0x70, 0xa2, 0x20, 0x8d, 0xb0, 0x22, 0x61, 0x7d, 0x79, 0x9e, 0x5c, 0xca, 0x43, 0xed,
0x18, 0x70, 0xc1, 0xac, 0x12, 0x50, 0x36, 0xf4, 0x03, 0xc5, 0x40, 0x94, 0xbd, 0xb2, 0x31, 0xcf,
0x0d, 0x09, 0xe6, 0x39, 0x98, 0x73, 0x23, 0x96, 0x91, 0x31, 0xbe, 0x37, 0x5f, 0xee, 0xd5, 0xee,
0x44, 0xf6, 0x3e, 0xb0, 0xf1, 0x64, 0x62, 0xa5, 0x38, 0xf8, 0xf2, 0xe6, 0xd2, 0x78, 0x32, 0xe9,
0x6b, 0xfe, 0xaf, 0xef, 0xc0, 0xf7, 0xf8, 0x0d, 0xb0, 0xa6, 0x58, 0xc0, 0xd8, 0xc5, 0xc8, 0x14,
0x8b, 0xc5, 0x72, 0x46, 0x17, 0xcb, 0x29, 0xd2, 0x2f, 0x9b, 0x2a, 0xfd, 0x5e, 0x26, 0x27, 0x8c,
0x3d, 0xa8, 0x1c, 0x69, 0xd7, 0xbb, 0xdd, 0x15, 0x3b, 0x84, 0xba, 0xd8, 0x8d, 0xf6, 0x0e, 0xf2,
0x29, 0xfa, 0xf2, 0x3e, 0x37, 0xad, 0x37, 0x59, 0xad, 0x37, 0xc6, 0x3f, 0xc8, 0xd0, 0x75, 0x38,
0x51, 0xe7, 0xe3, 0x1b, 0xe5, 0x54, 0xf8, 0x2d, 0x3e, 0xad, 0x5f, 0x51, 0x61, 0x37, 0x79, 0xd0,
0x1e, 0xbb, 0x66, 0x79, 0xa7, 0xa7, 0x01, 0x57, 0x39, 0x1e, 0x15, 0x84, 0x75, 0x11, 0xa4, 0x94,
0x6f, 0xa1, 0xe1, 0x3b, 0x54, 0x7f, 0x20, 0x13, 0x3b, 0x84, 0xf2, 0x7d, 0x68, 0x5f, 0xca, 0x56,
0x03, 0xa1, 0x82, 0xc8, 0xf8, 0x80, 0x3a, 0xd0, 0x1b, 0x3d, 0x1b, 0x7f, 0x57, 0x5e, 0x28, 0x30,
0x3b, 0xbe, 0xf7, 0xa1, 0x14, 0xd5, 0x9a, 0xdc, 0x61, 0x15, 0x65, 0x84, 0x17, 0xfb, 0x38, 0x3a,
0x43, 0x12, 0x3d, 0xa6, 0xc5, 0x85, 0x31, 0x9e, 0xb6, 0xd6, 0xeb, 0x0f, 0x80, 0x9d, 0x3a, 0xfe,
0x2c, 0x31, 0x2d, 0xb6, 0x3a, 0x62, 0x34, 0x6a, 0xe3, 0x18, 0x56, 0x94, 0x94, 0xd0, 0x2c, 0x82,
0xe4, 0xe4, 0x65, 0x5e, 0x21, 0xe4, 0xb3, 0x73, 0x42, 0xde, 0xf8, 0xcd, 0x02, 0x14, 0xd5, 0x55,
0x89, 0x69, 0xd7, 0xfb, 0x95, 0x93, 0xd7, 0xfb, 0x35, 0x12, 0x97, 0x3e, 0xe1, 0xd4, 0xcb, 0xfd,
0xfe, 0xbd, 0xd9, 0x2d, 0x5b, 0x8b, 0x55, 0x24, 0xb6, 0x6d, 0x19, 0xab, 0x28, 0x24, 0x63, 0x15,
0x69, 0x57, 0x1e, 0x92, 0xea, 0x39, 0x77, 0xe5, 0xe1, 0x2d, 0x20, 0x3d, 0x42, 0x4b, 0x6e, 0x2b,
0x21, 0x40, 0xec, 0x39, 0x49, 0xb5, 0xa3, 0x34, 0xab, 0x76, 0xbc, 0xb6, 0x4a, 0xf0, 0x31, 0x2c,
0xd0, 0x15, 0x20, 0xf2, 0x80, 0xb2, 0xda, 0x38, 0xe4, 0x58, 0xa9, 0xff, 0x74, 0xe2, 0xc1, 0x94,
0xb4, 0xfa, 0xfd, 0x61, 0x95, 0xc4, 0xfd, 0x61, 0x7a, 0x0c, 0xa5, 0x9a, 0x8c, 0xa1, 0xdc, 0x83,
0x7a, 0x34, 0x70, 0xe8, 0x91, 0x74, 0x03, 0x79, 0xba, 0x71, 0x51, 0xc1, 0x85, 0x34, 0xec, 0x04,
0xf1, 0xc6, 0xb7, 0x98, 0xd8, 0xf8, 0x84, 0xac, 0x6a, 0x86, 0x21, 0x1f, 0x4f, 0x42, 0xb5, 0xf1,
0x69, 0xb7, 0x4c, 0xd2, 0xcc, 0x2f, 0xe1, 0xcc, 0xab, 0xe9, 0x25, 0xee, 0xd8, 0x86, 0xc5, 0x53,
0xdb, 0x19, 0x4d, 0x7d, 0x6e, 0xf9, 0xdc, 0x0e, 0x3c, 0x17, 0x17, 0x7f, 0xbc, 0x07, 0xcb, 0x57,
0xdc, 0x23, 0x1a, 0x13, 0x49, 0xcc, 0xda, 0xa9, 0xfe, 0x88, 0x87, 0x98, 0xf4, 0x91, 0x10, 0x5b,
0x96, 0x3c, 0xe7, 0x4c, 0xb9, 0x2a, 0xed, 0x8e, 0xb5, 0x77, 0xd0, 0x7e, 0xb2, 0xdf, 0xaf, 0x67,
0xc4, 0x63, 0xef, 0x78, 0x67, 0xa7, 0xd5, 0xda, 0xc5, 0x2d, 0x0c, 0x60, 0x61, 0xaf, 0xd9, 0x3e,
0x90, 0x1b, 0x58, 0xbe, 0x5e, 0x30, 0xfe, 0x65, 0x16, 0x2a, 0xda, 0xdb, 0xb0, 0x47, 0xd1, 0x24,
0xd0, 0x2d, 0x55, 0xb7, 0xe7, 0xdf, 0x78, 0x4b, 0x49, 0x78, 0x6d, 0x16, 0xa2, 0xfb, 0x24, 0xb3,
0xd7, 0xde, 0x27, 0xc9, 0xde, 0x85, 0x25, 0x9b, 0x6a, 0x88, 0x06, 0x5d, 0x3a, 0xf7, 0x25, 0x58,
0x8e, 0x39, 0x66, 0x90, 0xc6, 0xdb, 0x94, 0xa0, 0xcb, 0xab, 0xa4, 0xcd, 0x68, 0xa7, 0xc2, 0xb9,
0x29, 0xca, 0x91, 0x91, 0xc1, 0xf8, 0x68, 0xc3, 0x97, 0xe3, 0xa5, 0xd0, 0x74, 0xb2, 0x51, 0xe3,
0xf0, 0xaa, 0x19, 0x3d, 0x1b, 0x9f, 0x00, 0xc4, 0xef, 0x93, 0x1c, 0xbe, 0x1b, 0xc9, 0xe1, 0xcb,
0x68, 0xc3, 0x97, 0x35, 0xfe, 0x89, 0x14, 0x5d, 0x72, 0x2e, 0x22, 0x57, 0xdf, 0x0f, 0x40, 0x39,
0x1f, 0x2d, 0x4c, 0xf2, 0x9e, 0x8c, 0x78, 0xa8, 0x0e, 0x67, 0x2e, 0x4b, 0x4c, 0x3b, 0x42, 0xcc,
0x89, 0xda, 0xec, 0xbc, 0xa8, 0x7d, 0x0b, 0xaa, 0x42, 0xcc, 0x4a, 0x46, 0x0a, 0xa4, 0xb8, 0xaa,
0x8c, 0xed, 0x4b, 0xd5, 0x76, 0x42, 0xc6, 0xe6, 0x67, 0x64, 0xec, 0xdf, 0xcb, 0xd0, 0xfd, 0x27,
0x71, 0x47, 0x63, 0x21, 0x1b, 0xd5, 0x99, 0x14, 0xb2, 0x92, 0xd4, 0x8c, 0xf0, 0xd7, 0x08, 0xce,
0x6c, 0xba, 0xe0, 0x4c, 0x17, 0xc9, 0xb9, 0x54, 0x91, 0x6c, 0x6c, 0x42, 0x63, 0x97, 0x8b, 0xa1,
0x68, 0x8e, 0x46, 0x33, 0x63, 0x69, 0xdc, 0x82, 0x9b, 0x29, 0x38, 0xe9, 0xb5, 0xf9, 0x12, 0xd6,
0x9a, 0x74, 0x31, 0xc4, 0x77, 0x75, 0x78, 0xd2, 0x68, 0xc0, 0xfa, 0x6c, 0x95, 0xb2, 0xb1, 0x3d,
0x58, 0xde, 0xe5, 0x27, 0xd3, 0xb3, 0x03, 0x7e, 0x11, 0x37, 0xc4, 0x20, 0x1f, 0x9c, 0x7b, 0x2f,
0xe4, 0xe4, 0xe2, 0x6f, 0x4c, 0xcb, 0x14, 0x34, 0x56, 0x30, 0xe1, 0x03, 0xe5, 0xb9, 0x47, 0x48,
0x6f, 0xc2, 0x07, 0xc6, 0x23, 0x60, 0x7a, 0x3d, 0x72, 0x26, 0x84, 0x59, 0x35, 0x3d, 0xb1, 0x82,
0xab, 0x20, 0xe4, 0x63, 0x75, 0x68, 0x10, 0x82, 0xe9, 0x49, 0x8f, 0x20, 0xc6, 0x7b, 0x50, 0x3d,
0xb2, 0xaf, 0x4c, 0xfe, 0x8d, 0x3c, 0x9b, 0xb7, 0x01, 0xc5, 0x89, 0x7d, 0x25, 0xe4, 0x69, 0x14,
0xc4, 0x43, 0xb4, 0xf1, 0xcf, 0xf2, 0xb0, 0x40, 0x94, 0xec, 0x2e, 0xdd, 0xd6, 0xec, 0xb8, 0x28,
0xcf, 0xd4, 0xce, 0xa2, 0x81, 0xe6, 0x36, 0x9f, 0xec, 0xfc, 0xe6, 0x23, 0x3d, 0x8e, 0xea, 0xe6,
0x29, 0x15, 0x6e, 0x71, 0xa7, 0x63, 0x75, 0xdd, 0x54, 0xf2, 0x76, 0x84, 0x7c, 0x7c, 0xcb, 0x37,
0x9d, 0x0c, 0x4f, 0x06, 0xc4, 0x63, 0xe3, 0x8d, 0x7a, 0xa7, 0xf6, 0x54, 0xb9, 0xef, 0xe8, 0xa0,
0x54, 0x0b, 0xb1, 0xa8, 0x0e, 0x9c, 0x26, 0x2d, 0xc4, 0x39, 0x4b, 0xb0, 0xf4, 0x6a, 0x4b, 0x90,
0x5c, 0x91, 0x2f, 0xb1, 0x04, 0xe1, 0x35, 0x2c, 0xc1, 0xd7, 0x08, 0x46, 0xdf, 0x84, 0x12, 0x2a,
0x4a, 0xda, 0x36, 0x24, 0x14, 0x24, 0xb1, 0x0d, 0x7d, 0xaa, 0xd9, 0x4a, 0x94, 0x09, 0xa3, 0xed,
0x03, 0x26, 0xff, 0xe6, 0x97, 0x13, 0xe4, 0xfb, 0x1a, 0x8a, 0x12, 0x2a, 0x18, 0xda, 0xb5, 0xc7,
0xea, 0xf2, 0x3e, 0xfc, 0x2d, 0x86, 0x0d, 0x6f, 0x1c, 0xfb, 0x66, 0xea, 0xf8, 0x7c, 0xa8, 0x6e,
0x65, 0x72, 0x70, 0x8d, 0x0a, 0x88, 0x78, 0x41, 0x61, 0xb7, 0xb9, 0xde, 0x0b, 0x57, 0xca, 0x9e,
0xa2, 0x13, 0x3c, 0x15, 0x8f, 0x06, 0x83, 0x3a, 0x5e, 0xf5, 0x39, 0xf1, 0x7c, 0xb5, 0xcb, 0x1b,
0x3f, 0xcf, 0x40, 0x5d, 0xae, 0xae, 0x08, 0xa7, 0x9b, 0x4d, 0x85, 0xeb, 0x12, 0x37, 0x5e, 0x7e,
0xc7, 0x92, 0x01, 0x35, 0xf4, 0x16, 0x45, 0x5b, 0x3e, 0x79, 0xbb, 0x2a, 0x02, 0xb8, 0x27, 0xb7,
0xfd, 0x37, 0xa1, 0xa2, 0x92, 0xc6, 0xc7, 0xce, 0x48, 0x5d, 0xe8, 0x4f, 0x59, 0xe3, 0x87, 0xce,
0x48, 0x69, 0x0c, 0xbe, 0x2d, 0x0f, 0x40, 0x67, 0x50, 0x63, 0x30, 0xed, 0x90, 0x1b, 0xff, 0x22,
0x03, 0xcb, 0xda, 0xab, 0xc8, 0x75, 0xfb, 0x23, 0xa8, 0x46, 0x77, 0xec, 0xf2, 0x48, 0x55, 0xdd,
0x48, 0x0a, 0x9a, 0xb8, 0x58, 0x65, 0x10, 0x41, 0x02, 0xd1, 0x99, 0xa1, 0x7d, 0x45, 0x99, 0xcd,
0xd3, 0xb1, 0xb2, 0x06, 0x87, 0xf6, 0xd5, 0x1e, 0xe7, 0xbd, 0xe9, 0x58, 0xd8, 0xfa, 0x2f, 0x38,
0x7f, 0x1e, 0x11, 0x90, 0xf8, 0x04, 0x01, 0x93, 0x14, 0x06, 0xd4, 0xc6, 0x9e, 0x1b, 0x9e, 0x47,
0x24, 0x52, 0x4d, 0x47, 0x20, 0xd1, 0x18, 0x7f, 0x90, 0x85, 0x15, 0xf2, 0x49, 0x4a, 0x5f, 0xb0,
0x14, 0x5d, 0x0d, 0x58, 0x20, 0xf7, 0x2c, 0x09, 0xaf, 0xfd, 0x1b, 0xa6, 0x7c, 0x66, 0x1f, 0xbf,
0xa6, 0x1f, 0x55, 0x9d, 0xb1, 0xbe, 0x66, 0xf8, 0x73, 0xf3, 0xc3, 0x7f, 0xfd, 0xf0, 0xa6, 0x45,
0x86, 0x0b, 0x69, 0x91, 0xe1, 0xd7, 0x89, 0xc7, 0xce, 0x9d, 0x06, 0x2e, 0x4a, 0x1a, 0xed, 0x34,
0xf0, 0x23, 0xd8, 0x48, 0xd0, 0xa0, 0xb4, 0x76, 0x4e, 0x1d, 0xae, 0x6e, 0xd5, 0x59, 0xd5, 0xa8,
0x7b, 0x0a, 0xb7, 0x5d, 0x84, 0x42, 0x30, 0xf0, 0x26, 0xdc, 0x58, 0x87, 0xd5, 0xe4, 0xa8, 0xca,
0x6d, 0xe2, 0xb7, 0x33, 0xd0, 0x90, 0x79, 0x3c, 0x8e, 0x7b, 0xb6, 0xef, 0x04, 0xa1, 0xe7, 0x47,
0x77, 0xd1, 0xde, 0x06, 0xa0, 0x8f, 0x0b, 0xa0, 0xf1, 0x2d, 0xef, 0x91, 0x41, 0x08, 0x9a, 0xde,
0x37, 0xa1, 0xc4, 0xdd, 0x21, 0x21, 0x89, 0x1b, 0x8a, 0xdc, 0x1d, 0x2a, 0xc3, 0x7d, 0x6e, 0x2b,
0xad, 0x25, 0x95, 0x04, 0x79, 0x23, 0x82, 0x18, 0x1d, 0x7e, 0x81, 0x5b, 0x7a, 0x3e, 0xba, 0x11,
0xe1, 0xd0, 0xbe, 0xc4, 0xac, 0xd8, 0xc0, 0xf8, 0x9b, 0x59, 0x58, 0x8a, 0xfb, 0x47, 0x77, 0xc2,
0xbc, 0xfc, 0x76, 0x9b, 0xbb, 0x92, 0x1d, 0x1c, 0x61, 0xf0, 0x68, 0x9e, 0xda, 0x12, 0x2d, 0xce,
0xb6, 0xcb, 0x0c, 0xa8, 0x28, 0x0a, 0x6f, 0x1a, 0x6a, 0xd7, 0x3c, 0x96, 0x89, 0xa4, 0x3b, 0x0d,
0x85, 0x85, 0x2a, 0x4c, 0x75, 0xc7, 0x95, 0x36, 0x62, 0xc1, 0x1e, 0x87, 0x6d, 0xfc, 0x82, 0x85,
0x00, 0x8b, 0x62, 0x34, 0x91, 0x82, 0x4a, 0xd0, 0xd7, 0xc9, 0x60, 0xa1, 0x99, 0x43, 0x63, 0x45,
0xd7, 0xe6, 0xe9, 0xd2, 0xed, 0x48, 0x9b, 0x7f, 0x13, 0x2a, 0x54, 0x79, 0x7c, 0xf8, 0x3b, 0x6f,
0x96, 0xb1, 0x05, 0xc4, 0x4b, 0xaf, 0x99, 0x37, 0x4d, 0xf8, 0x0a, 0x80, 0x9a, 0xc2, 0x34, 0x99,
0xbf, 0x9a, 0x81, 0x9b, 0x29, 0xd3, 0x26, 0x57, 0xf9, 0x0e, 0x2c, 0x9f, 0x46, 0x48, 0x35, 0xba,
0xb4, 0xd4, 0xd7, 0x95, 0x58, 0x4d, 0x8e, 0xa9, 0x59, 0x3f, 0x4d, 0x02, 0x62, 0x2b, 0x95, 0x66,
0x30, 0x71, 0xb5, 0x00, 0xaa, 0x44, 0x34, 0x8d, 0x64, 0x20, 0x1e, 0xc1, 0x66, 0xeb, 0x52, 0x48,
0x8c, 0x28, 0xb5, 0x76, 0xf0, 0x7c, 0xaa, 0xa2, 0x57, 0x33, 0x1e, 0xf9, 0xcc, 0x6b, 0x79, 0xe4,
0x87, 0x74, 0x16, 0x39, 0xaa, 0xeb, 0x17, 0xa9, 0x04, 0x37, 0x50, 0x51, 0xe6, 0x04, 0xab, 0x50,
0x77, 0x0c, 0x08, 0x10, 0x55, 0x6a, 0x04, 0xb0, 0x74, 0x38, 0x1d, 0x85, 0xce, 0x4e, 0x04, 0x62,
0x1f, 0xcb, 0x32, 0xd8, 0x8e, 0x1a, 0xb5, 0xd4, 0x86, 0x20, 0x6a, 0x08, 0x07, 0x6b, 0x2c, 0x2a,
0xb2, 0xe6, 0xdb, 0x5b, 0x1a, 0x27, 0x5b, 0x30, 0x6e, 0xc2, 0x46, 0xfc, 0x44, 0xc3, 0xa6, 0xb6,
0x9a, 0xbf, 0x9f, 0xa1, 0x14, 0x7c, 0xc2, 0xf5, 0x5c, 0x7b, 0x12, 0x9c, 0x7b, 0x21, 0x6b, 0xc1,
0x4a, 0xe0, 0xb8, 0x67, 0x23, 0xae, 0x57, 0x1f, 0xc8, 0x41, 0x58, 0x4b, 0xf6, 0x8d, 0x8a, 0x06,
0xe6, 0x32, 0x95, 0x88, 0x6b, 0x0b, 0xd8, 0xf6, 0x75, 0x9d, 0x8c, 0xd9, 0x62, 0x66, 0x34, 0xe6,
0x3b, 0xdf, 0x86, 0xc5, 0x64, 0x43, 0xec, 0x53, 0x79, 0x84, 0x3f, 0xee, 0x55, 0x6e, 0xe6, 0x7c,
0x73, 0xcc, 0x10, 0x95, 0x78, 0xec, 0x03, 0xe3, 0xaf, 0x67, 0xa0, 0x61, 0x72, 0xc1, 0xb9, 0x5a,
0x2f, 0x15, 0xcf, 0xfc, 0x68, 0xae, 0xd6, 0xeb, 0xdf, 0x55, 0xdd, 0x0c, 0xa0, 0x7a, 0xf4, 0xc1,
0xb5, 0x93, 0xb1, 0x7f, 0x63, 0xee, 0x8d, 0xb6, 0x4b, 0xb0, 0x40, 0x24, 0xc6, 0x06, 0xac, 0xc9,
0xfe, 0xa8, 0xbe, 0xc4, 0xe1, 0xd6, 0x44, 0x8b, 0x89, 0x70, 0xeb, 0x26, 0x34, 0xe8, 0xac, 0xae,
0xfe, 0x12, 0xb2, 0xe0, 0x2e, 0xb0, 0x43, 0x7b, 0x60, 0xfb, 0x9e, 0xe7, 0x1e, 0x71, 0x5f, 0x26,
0x34, 0xa3, 0x86, 0x89, 0xd1, 0x48, 0xa5, 0x0a, 0xd3, 0x93, 0xba, 0xdc, 0xd6, 0x73, 0x55, 0xfe,
0x16, 0x3d, 0x19, 0x26, 0xac, 0x6c, 0xdb, 0xcf, 0xb9, 0xaa, 0x49, 0x0d, 0xd1, 0x63, 0xa8, 0x4c,
0xa2, 0x4a, 0xd5, 0xb8, 0xab, 0x2b, 0x46, 0xe6, 0x9b, 0x35, 0x75, 0x6a, 0xe3, 0x21, 0xac, 0x26,
0xeb, 0x94, 0xa2, 0x63, 0x13, 0x4a, 0x63, 0x09, 0x93, 0xbd, 0x8b, 0x9e, 0x8d, 0xdf, 0x2a, 0x41,
0x51, 0x5a, 0xaa, 0x6c, 0x0b, 0xf2, 0x03, 0x95, 0x43, 0x17, 0x5f, 0xbf, 0x25, 0xb1, 0xea, 0xff,
0x0e, 0x66, 0xd2, 0x09, 0x3a, 0xf6, 0x18, 0x16, 0x93, 0x61, 0xe4, 0x99, 0x9b, 0x00, 0x92, 0xf1,
0xdf, 0xda, 0x60, 0x26, 0x60, 0x58, 0x8e, 0x37, 0x47, 0xd2, 0x19, 0x4a, 0xe7, 0xda, 0xee, 0xe9,
0xb9, 0x42, 0xdf, 0x0e, 0xce, 0x6d, 0xeb, 0xe1, 0xa3, 0x4f, 0xe4, 0x55, 0x00, 0x15, 0x04, 0xf6,
0xce, 0xed, 0x87, 0x8f, 0x3e, 0x99, 0xd5, 0xa4, 0xe5, 0x45, 0x00, 0x9a, 0x26, 0xbd, 0x0a, 0x05,
0xba, 0xc5, 0x95, 0x92, 0xa1, 0xe8, 0x81, 0x3d, 0x80, 0x55, 0xe5, 0xfc, 0x90, 0x69, 0xeb, 0x24,
0x05, 0x4b, 0x74, 0x52, 0x50, 0xe2, 0x7a, 0x88, 0x22, 0x77, 0xc9, 0x3a, 0x2c, 0x9c, 0xc7, 0x57,
0xf2, 0xd6, 0x4c, 0xf9, 0x64, 0xfc, 0x41, 0x01, 0x2a, 0xda, 0xa0, 0xb0, 0x2a, 0x94, 0xcc, 0x56,
0xaf, 0x65, 0x3e, 0x6b, 0xed, 0xd6, 0x6f, 0xb0, 0x7b, 0xf0, 0x4e, 0xbb, 0xb3, 0xd3, 0x35, 0xcd,
0xd6, 0x4e, 0xdf, 0xea, 0x9a, 0x96, 0xba, 0x04, 0xee, 0xa8, 0xf9, 0xf5, 0x61, 0xab, 0xd3, 0xb7,
0x76, 0x5b, 0xfd, 0x66, 0xfb, 0xa0, 0x57, 0xcf, 0xb0, 0x37, 0xa0, 0x11, 0x53, 0x2a, 0x74, 0xf3,
0xb0, 0x7b, 0xdc, 0xe9, 0xd7, 0xb3, 0xec, 0x0e, 0xdc, 0xda, 0x6b, 0x77, 0x9a, 0x07, 0x56, 0x4c,
0xb3, 0x73, 0xd0, 0x7f, 0x66, 0xb5, 0x7e, 0xf5, 0xa8, 0x6d, 0x7e, 0x5d, 0xcf, 0xa5, 0x11, 0xec,
0xf7, 0x0f, 0x76, 0x54, 0x0d, 0x79, 0x76, 0x13, 0xd6, 0x88, 0x80, 0x8a, 0x58, 0xfd, 0x6e, 0xd7,
0xea, 0x75, 0xbb, 0x9d, 0x7a, 0x81, 0x2d, 0x43, 0xad, 0xdd, 0x79, 0xd6, 0x3c, 0x68, 0xef, 0x5a,
0x66, 0xab, 0x79, 0x70, 0x58, 0x5f, 0x60, 0x2b, 0xb0, 0x34, 0x4b, 0x57, 0x14, 0x55, 0x28, 0xba,
0x6e, 0xa7, 0xdd, 0xed, 0x58, 0xcf, 0x5a, 0x66, 0xaf, 0xdd, 0xed, 0xd4, 0x4b, 0x6c, 0x1d, 0x58,
0x12, 0xb5, 0x7f, 0xd8, 0xdc, 0xa9, 0x97, 0xd9, 0x1a, 0x2c, 0x27, 0xe1, 0x4f, 0x5b, 0x5f, 0xd7,
0x81, 0x35, 0x60, 0x95, 0x3a, 0x66, 0x6d, 0xb7, 0x0e, 0xba, 0x5f, 0x59, 0x87, 0xed, 0x4e, 0xfb,
0xf0, 0xf8, 0xb0, 0x5e, 0xc1, 0xbb, 0x25, 0x5b, 0x2d, 0xab, 0xdd, 0xe9, 0x1d, 0xef, 0xed, 0xb5,
0x77, 0xda, 0xad, 0x4e, 0xbf, 0x5e, 0xa5, 0x96, 0xd3, 0x5e, 0xbc, 0x26, 0x0a, 0xc8, 0xb3, 0x2d,
0xd6, 0x6e, 0xbb, 0xd7, 0xdc, 0x3e, 0x68, 0xed, 0xd6, 0x17, 0xd9, 0x6d, 0xb8, 0xd9, 0x6f, 0x1d,
0x1e, 0x75, 0xcd, 0xa6, 0xf9, 0xb5, 0x3a, 0xfb, 0x62, 0xed, 0x35, 0xdb, 0x07, 0xc7, 0x66, 0xab,
0xbe, 0xc4, 0xde, 0x82, 0xdb, 0x66, 0xeb, 0xcb, 0xe3, 0xb6, 0xd9, 0xda, 0xb5, 0x3a, 0xdd, 0xdd,
0x96, 0xb5, 0xd7, 0x6a, 0xf6, 0x8f, 0xcd, 0x96, 0x75, 0xd8, 0xee, 0xf5, 0xda, 0x9d, 0x27, 0xf5,
0x3a, 0x7b, 0x07, 0xee, 0x46, 0x24, 0x51, 0x05, 0x33, 0x54, 0xcb, 0xe2, 0xfd, 0xd4, 0x94, 0x76,
0x5a, 0xbf, 0xda, 0xb7, 0x8e, 0x5a, 0x2d, 0xb3, 0xce, 0xd8, 0x26, 0xac, 0xc7, 0xcd, 0x53, 0x03,
0xb2, 0xed, 0x15, 0x81, 0x3b, 0x6a, 0x99, 0x87, 0xcd, 0x8e, 0x98, 0xe0, 0x04, 0x6e, 0x55, 0x74,
0x3b, 0xc6, 0xcd, 0x76, 0x7b, 0x8d, 0x31, 0x58, 0xd4, 0x66, 0x65, 0xaf, 0x69, 0xd6, 0xd7, 0xd9,
0x12, 0x54, 0x0e, 0x8f, 0x8e, 0xac, 0x7e, 0xfb, 0xb0, 0xd5, 0x3d, 0xee, 0xd7, 0x37, 0xd8, 0x1a,
0xd4, 0xdb, 0x9d, 0x7e, 0xcb, 0x14, 0x73, 0xad, 0x8a, 0xfe, 0xf7, 0x22, 0x5b, 0x85, 0x25, 0xd5,
0x53, 0x05, 0xfd, 0xe3, 0x22, 0xdb, 0x00, 0x76, 0xdc, 0x31, 0x5b, 0xcd, 0x5d, 0x31, 0x70, 0x11,
0xe2, 0x7f, 0x14, 0x65, 0x48, 0xe9, 0xe7, 0xb9, 0x68, 0xb3, 0x8e, 0x73, 0x34, 0x92, 0x17, 0xb4,
0x57, 0xb5, 0x8b, 0xd5, 0x5f, 0xf5, 0x99, 0x15, 0xcd, 0xb4, 0xca, 0xcd, 0x99, 0x56, 0x73, 0xb6,
0x7b, 0x4d, 0xd7, 0xfd, 0xde, 0x86, 0xda, 0x98, 0x2e, 0x6b, 0x97, 0x97, 0x32, 0x83, 0x4c, 0x58,
0x22, 0x20, 0xdd, 0xc8, 0x3c, 0xf7, 0x9d, 0x91, 0xc2, 0xfc, 0x77, 0x46, 0xd2, 0xf4, 0xfb, 0x85,
0x34, 0xfd, 0xfe, 0x3e, 0x2c, 0x93, 0x68, 0x72, 0x5c, 0x67, 0xac, 0xac, 0x66, 0xd2, 0x02, 0x97,
0x50, 0x44, 0x11, 0x5c, 0x99, 0x13, 0xca, 0xe4, 0x90, 0x22, 0xa4, 0x28, 0xad, 0x8d, 0x84, 0xa5,
0x41, 0x92, 0x23, 0xb2, 0x34, 0xa2, 0x16, 0xec, 0xcb, 0xb8, 0x85, 0x8a, 0xd6, 0x02, 0xc1, 0xb1,
0x85, 0xfb, 0xb0, 0xcc, 0x2f, 0x43, 0xdf, 0xb6, 0xbc, 0x89, 0xfd, 0xcd, 0x14, 0x63, 0xde, 0x36,
0xda, 0xf0, 0x55, 0x73, 0x09, 0x11, 0x5d, 0x84, 0xef, 0xda, 0xa1, 0x7d, 0xff, 0xcf, 0x43, 0x45,
0xbb, 0xc8, 0x9f, 0x6d, 0xc0, 0xca, 0x57, 0xed, 0x7e, 0xa7, 0xd5, 0xeb, 0x59, 0x47, 0xc7, 0xdb,
0x4f, 0x5b, 0x5f, 0x5b, 0xfb, 0xcd, 0xde, 0x7e, 0xfd, 0x86, 0x58, 0xb4, 0x9d, 0x56, 0xaf, 0xdf,
0xda, 0x4d, 0xc0, 0x33, 0xec, 0x4d, 0xd8, 0x3c, 0xee, 0x1c, 0xf7, 0x5a, 0xbb, 0x56, 0x5a, 0xb9,
0xac, 0xe0, 0x52, 0x89, 0x4f, 0x29, 0x9e, 0xbb, 0xff, 0x1b, 0xb0, 0x98, 0x3c, 0x06, 0xce, 0x00,
0x16, 0x0e, 0x5a, 0x4f, 0x9a, 0x3b, 0x5f, 0xd3, 0xed, 0xb3, 0xbd, 0x7e, 0xb3, 0xdf, 0xde, 0xb1,
0xe4, 0x6d, 0xb3, 0x42, 0x22, 0x64, 0x58, 0x05, 0x8a, 0xcd, 0xce, 0xce, 0x7e, 0xd7, 0xec, 0xd5,
0xb3, 0xec, 0x0d, 0xd8, 0x50, 0xbc, 0xba, 0xd3, 0x3d, 0x3c, 0x6c, 0xf7, 0x51, 0x18, 0xf6, 0xbf,
0x3e, 0x12, 0xac, 0x79, 0xdf, 0x86, 0x72, 0x7c, 0x5d, 0x2e, 0x0a, 0x98, 0x76, 0xbf, 0xdd, 0xec,
0xc7, 0xd2, 0xb5, 0x7e, 0x43, 0xc8, 0xaf, 0x18, 0x8c, 0xb7, 0xdd, 0xd6, 0x33, 0x74, 0x52, 0x4e,
0x01, 0xa9, 0xf5, 0x7a, 0x56, 0x2c, 0xaa, 0x18, 0xba, 0xdd, 0xed, 0x8b, 0x57, 0xf8, 0x1c, 0x16,
0x93, 0xf9, 0x90, 0x49, 0xc7, 0xf6, 0x26, 0xac, 0x6f, 0xb7, 0xfa, 0x5f, 0xb5, 0x5a, 0x1d, 0x1c,
0x9d, 0x9d, 0x56, 0xa7, 0x6f, 0x36, 0x0f, 0xda, 0xfd, 0xaf, 0xeb, 0x99, 0xfb, 0x8f, 0xa1, 0x3e,
0x1b, 0x7c, 0x4c, 0x44, 0x6b, 0x5f, 0x16, 0xd6, 0xbd, 0xff, 0x5f, 0x32, 0xb0, 0x9a, 0xe6, 0x77,
0x17, 0x73, 0x28, 0x17, 0xa7, 0x10, 0xd1, 0xbd, 0x6e, 0xc7, 0xea, 0x74, 0xf1, 0x7a, 0xcb, 0x4d,
0x58, 0x9f, 0x41, 0x28, 0x49, 0x90, 0x61, 0xb7, 0x60, 0x63, 0xae, 0x90, 0x65, 0x76, 0x8f, 0xf1,
0xb5, 0x1b, 0xb0, 0x3a, 0x83, 0x6c, 0x99, 0x66, 0xd7, 0xac, 0xe7, 0xd8, 0x07, 0x70, 0x6f, 0x06,
0x33, 0xbf, 0x31, 0xa9, 0x7d, 0x2b, 0xcf, 0xde, 0x83, 0xb7, 0xe7, 0xa8, 0x63, 0xd9, 0x6d, 0x6d,
0x37, 0x0f, 0xc4, 0xeb, 0xd5, 0x0b, 0xf7, 0xff, 0x71, 0x0e, 0x20, 0x3e, 0x70, 0x24, 0xda, 0xdf,
0x6d, 0xf6, 0x9b, 0x07, 0x5d, 0xc1, 0x5e, 0x66, 0xb7, 0x2f, 0x6a, 0x37, 0x5b, 0x5f, 0xd6, 0x6f,
0xa4, 0x62, 0xba, 0x47, 0xe2, 0x85, 0x36, 0x60, 0x85, 0xa6, 0xea, 0x40, 0xbc, 0x46, 0xbb, 0xf3,
0x84, 0x6e, 0x4a, 0xc5, 0xdd, 0xef, 0xf8, 0x68, 0xcf, 0xec, 0x76, 0xfa, 0x56, 0x6f, 0xff, 0xb8,
0xbf, 0x8b, 0xf7, 0xac, 0xee, 0x98, 0xed, 0x23, 0xaa, 0x33, 0xff, 0x32, 0x02, 0x51, 0x75, 0x41,
0xac, 0x85, 0x27, 0xdd, 0x5e, 0xaf, 0x7d, 0x64, 0x7d, 0x79, 0xdc, 0x32, 0xdb, 0xad, 0x1e, 0x16,
0x5c, 0x48, 0x81, 0x0b, 0xfa, 0xa2, 0xd8, 0x33, 0xfb, 0x07, 0xcf, 0xe4, 0xa6, 0x26, 0x48, 0x4b,
0x49, 0x90, 0xa0, 0x2a, 0x8b, 0xd9, 0x11, 0xbb, 0x42, 0x4a, 0xcd, 0x70, 0x0d, 0x4e, 0x94, 0xab,
0x88, 0xfd, 0x6e, 0x6e, 0x91, 0x60, 0xb1, 0x6a, 0x3a, 0x4a, 0x94, 0xc2, 0xad, 0x30, 0x52, 0x1c,
0x76, 0x77, 0x4d, 0x2c, 0xb0, 0x38, 0x07, 0x15, 0xb4, 0x4b, 0x82, 0x09, 0xc5, 0xb6, 0x21, 0x48,
0xea, 0xea, 0x41, 0x60, 0x96, 0x1f, 0xfe, 0x87, 0x3b, 0x50, 0x8e, 0x12, 0x8f, 0xd9, 0x4f, 0xa1,
0x96, 0x38, 0x09, 0xca, 0x94, 0x5b, 0x30, 0xed, 0xe0, 0xe8, 0xe6, 0x1b, 0xe9, 0x48, 0xa9, 0x81,
0x1e, 0x6a, 0x16, 0x06, 0x55, 0xf6, 0xc6, 0xac, 0xd6, 0x9f, 0xa8, 0xed, 0xf6, 0x35, 0x58, 0x59,
0xdd, 0x53, 0xbc, 0xb4, 0x55, 0xff, 0x74, 0x22, 0xbb, 0x1d, 0xdf, 0xa0, 0x99, 0xf2, 0x49, 0xc5,
0xcd, 0x9b, 0xf3, 0x1f, 0x39, 0x54, 0x5f, 0x45, 0xdc, 0x85, 0x8a, 0xf6, 0x45, 0x20, 0x76, 0xf3,
0xda, 0xaf, 0x17, 0x6d, 0x6e, 0xa6, 0xa1, 0x64, 0x97, 0xbe, 0x80, 0x72, 0xf4, 0x75, 0x18, 0xb6,
0xa1, 0x7d, 0xd9, 0x47, 0xff, 0xc6, 0xcd, 0x66, 0x63, 0x1e, 0x21, 0xcb, 0xef, 0x42, 0x45, 0xfb,
0xc8, 0x4b, 0xd4, 0x8b, 0xf9, 0x0f, 0xc9, 0x44, 0xbd, 0x48, 0xfb, 0x26, 0xcc, 0x01, 0xac, 0x49,
0x3b, 0xe6, 0x84, 0x7f, 0x9b, 0xe1, 0x49, 0xf9, 0x06, 0xe4, 0x83, 0x0c, 0x7b, 0x0c, 0x25, 0xf5,
0x39, 0x1f, 0xb6, 0x9e, 0xfe, 0xb1, 0xa2, 0xcd, 0x8d, 0x39, 0xb8, 0xec, 0x4a, 0x13, 0x20, 0xfe,
0x7c, 0x0c, 0x53, 0x2f, 0x3e, 0xf7, 0x39, 0x9a, 0x68, 0x66, 0x52, 0xbe, 0x35, 0xb3, 0x0b, 0x15,
0xed, 0x4b, 0x31, 0xd1, 0x98, 0xcc, 0x7f, 0x65, 0x26, 0x1a, 0x93, 0xb4, 0x0f, 0xcb, 0xfc, 0x14,
0x6a, 0x89, 0x4f, 0xbe, 0x44, 0x7c, 0x9c, 0xf6, 0x41, 0x99, 0x88, 0x8f, 0xd3, 0xbf, 0x12, 0xb3,
0x0b, 0x15, 0xed, 0x03, 0x2d, 0x51, 0x8f, 0xe6, 0xbf, 0x05, 0x13, 0xf5, 0x28, 0xe5, 0x7b, 0x2e,
0x62, 0x35, 0x24, 0xbf, 0xce, 0x12, 0xad, 0x86, 0xd4, 0xcf, 0xbc, 0x44, 0xab, 0x21, 0xfd, 0x93,
0x2e, 0x82, 0xf5, 0xa2, 0xdb, 0x9a, 0xd9, 0x86, 0xc6, 0x1d, 0xfa, 0xb5, 0xcf, 0x11, 0xeb, 0xcd,
0x5f, 0xec, 0xfc, 0x04, 0x56, 0x22, 0xa6, 0x89, 0xee, 0x5a, 0x0e, 0xa2, 0x3e, 0xa5, 0xde, 0xe8,
0xbc, 0x59, 0x9f, 0xc5, 0x3e, 0xc8, 0xb0, 0xcf, 0xa0, 0x28, 0x2f, 0xb0, 0x65, 0x6b, 0xb3, 0x17,
0xda, 0x52, 0x27, 0xd6, 0xd3, 0xef, 0xb9, 0x65, 0x47, 0xb8, 0xa0, 0xf5, 0x1b, 0x66, 0x75, 0x8e,
0x4d, 0xb9, 0x94, 0x76, 0xf3, 0xcd, 0xeb, 0xd0, 0x71, 0x8d, 0xb3, 0xb7, 0x22, 0xdf, 0xbe, 0xee,
0x86, 0x86, 0x64, 0x8d, 0xd7, 0x5d, 0x25, 0xf5, 0x04, 0xaa, 0xfa, 0x07, 0x1c, 0x98, 0xbe, 0x0e,
0x67, 0xeb, 0xba, 0x95, 0x8a, 0x93, 0x15, 0x3d, 0x83, 0xf5, 0x68, 0xbc, 0xf5, 0xeb, 0x02, 0x02,
0x76, 0x27, 0xe5, 0x12, 0x81, 0xc4, 0xa8, 0xdf, 0xbc, 0xf6, 0x96, 0x81, 0x07, 0x19, 0x14, 0xb2,
0x89, 0x6b, 0xe9, 0x63, 0x21, 0x9b, 0x76, 0x1b, 0x7f, 0x2c, 0x64, 0xd3, 0xef, 0xb2, 0x6f, 0xc2,
0x92, 0x76, 0xdd, 0x41, 0xef, 0xca, 0x1d, 0x44, 0xfc, 0x3e, 0x7f, 0xf5, 0xe7, 0x66, 0x9a, 0x37,
0x8d, 0xed, 0x40, 0x45, 0xbf, 0x31, 0xe1, 0x25, 0xc5, 0x37, 0x34, 0x94, 0x7e, 0x99, 0xe4, 0x83,
0x0c, 0x3b, 0x80, 0xfa, 0xec, 0xfd, 0x66, 0xd1, 0x12, 0x4e, 0xbb, 0x13, 0x6e, 0x73, 0x06, 0x99,
0xb8, 0x15, 0x4d, 0xf0, 0x45, 0xe2, 0x5b, 0x83, 0x9e, 0x3f, 0xbb, 0x15, 0x25, 0xbf, 0x41, 0x18,
0xd5, 0x96, 0xf6, 0xf5, 0xc9, 0x7b, 0x99, 0x07, 0x19, 0xb6, 0x07, 0xd5, 0xc4, 0xf5, 0x3e, 0x89,
0x1c, 0xf8, 0x99, 0xd7, 0x6c, 0xe8, 0xb8, 0x99, 0xf7, 0x3c, 0x84, 0xc5, 0x64, 0xd8, 0x37, 0xea,
0x58, 0x6a, 0x80, 0x39, 0x9a, 0xbe, 0xf4, 0x58, 0x31, 0xfb, 0x31, 0x7d, 0x49, 0x57, 0xa5, 0xf8,
0xb0, 0xf9, 0x2f, 0xaf, 0x46, 0x73, 0xa6, 0x7f, 0xa7, 0xd4, 0xc8, 0xfd, 0x95, 0x6c, 0x06, 0xdf,
0xeb, 0x47, 0xf4, 0x1d, 0x3b, 0x95, 0xe5, 0x21, 0xe6, 0xff, 0x75, 0x2b, 0x61, 0x7b, 0xd4, 0xb8,
0xfc, 0x8a, 0x68, 0x2c, 0xb9, 0xe7, 0xbe, 0x2c, 0xfa, 0x8a, 0x3e, 0x34, 0xa9, 0x0f, 0xb2, 0x4c,
0x82, 0x07, 0x5f, 0xb3, 0x2e, 0xf6, 0x29, 0x40, 0x9c, 0x3a, 0xc7, 0x66, 0x12, 0xb8, 0xa2, 0x05,
0x95, 0x92, 0x5d, 0xd7, 0xa2, 0xf5, 0x1e, 0x65, 0x90, 0xe9, 0x5b, 0x72, 0x32, 0x99, 0x2d, 0xb1,
0x25, 0xcf, 0x56, 0xf3, 0x43, 0xa8, 0x1d, 0x78, 0xde, 0xf3, 0xe9, 0x24, 0xca, 0xbf, 0x4e, 0xa6,
0x37, 0x08, 0xf3, 0x78, 0x73, 0xa6, 0x5b, 0xac, 0x09, 0xcb, 0x91, 0x88, 0x88, 0x53, 0xd8, 0x92,
0x44, 0x09, 0xc1, 0x30, 0x53, 0xc1, 0x83, 0x0c, 0x7b, 0x08, 0xd5, 0x5d, 0x3e, 0xc0, 0xe3, 0xf7,
0x18, 0x88, 0x5f, 0x49, 0x04, 0x75, 0x29, 0x82, 0xbf, 0x59, 0x4b, 0x00, 0x95, 0x88, 0x8b, 0x13,
0x3a, 0xf4, 0x3d, 0x23, 0x99, 0x15, 0x91, 0x10, 0x71, 0x73, 0x49, 0x1d, 0xcf, 0x60, 0x79, 0x2e,
0x65, 0x22, 0x92, 0x6e, 0xd7, 0x25, 0x5a, 0x6c, 0xde, 0xbd, 0x9e, 0x40, 0xd6, 0xfb, 0x13, 0xa8,
0xd1, 0xdd, 0xa2, 0x27, 0x9c, 0x8e, 0xcf, 0xcd, 0xdc, 0x3d, 0xa3, 0x9f, 0xcd, 0x9b, 0x15, 0x49,
0x54, 0xe0, 0x09, 0x7e, 0x02, 0x40, 0x3b, 0x9c, 0x16, 0xcd, 0xeb, 0xfc, 0x81, 0xb9, 0x68, 0x5e,
0xd3, 0xce, 0xc1, 0x7d, 0x0e, 0x95, 0x27, 0x3c, 0x54, 0xc7, 0xbd, 0x22, 0xfd, 0x68, 0xe6, 0xfc,
0xd7, 0x66, 0xca, 0x21, 0x3d, 0xf6, 0x09, 0x16, 0x8d, 0x8e, 0x2e, 0xaf, 0x6b, 0xad, 0xe8, 0x45,
0x97, 0x66, 0xe0, 0x42, 0xfb, 0xd0, 0x2e, 0x30, 0x88, 0x3a, 0x3e, 0x7f, 0x61, 0x45, 0xd4, 0xf1,
0xb4, 0xfb, 0x0e, 0x7e, 0x4c, 0x23, 0xa0, 0x1d, 0x30, 0x8b, 0x55, 0xb0, 0xd9, 0xb3, 0x68, 0x51,
0xf7, 0x75, 0xf2, 0x47, 0x00, 0xbd, 0xd0, 0x9b, 0xec, 0xda, 0x7c, 0xec, 0xb9, 0xb1, 0x4c, 0x88,
0x8f, 0x36, 0xc5, 0x0b, 0x51, 0x3b, 0xdf, 0xc4, 0xbe, 0xd2, 0x74, 0xd3, 0xc4, 0x94, 0xa8, 0x69,
0xbf, 0xf6, 0xf4, 0x53, 0xf4, 0x3a, 0x29, 0x27, 0xa0, 0x50, 0x48, 0x40, 0x9c, 0xcd, 0x12, 0x69,
0x9a, 0x73, 0x89, 0x32, 0xd1, 0x5a, 0x4f, 0x49, 0x7d, 0xf9, 0x02, 0xca, 0x71, 0x1a, 0xc0, 0x46,
0x7c, 0x9b, 0x4a, 0x22, 0x69, 0x20, 0x92, 0xde, 0xf3, 0x21, 0xf8, 0x0e, 0xac, 0x50, 0x77, 0xa2,
0xed, 0x0f, 0x0f, 0xe0, 0x44, 0x5f, 0xb0, 0x98, 0x8f, 0x7d, 0x47, 0xeb, 0x27, 0x2d, 0x82, 0x2b,
0xd6, 0xcf, 0x5c, 0x24, 0x30, 0x5a, 0x3f, 0xd7, 0x85, 0x76, 0xa3, 0xf5, 0x73, 0x7d, 0x10, 0xb1,
0x03, 0x2b, 0x29, 0x31, 0x3d, 0xf6, 0x96, 0x32, 0x6c, 0xae, 0x8d, 0xf7, 0x6d, 0xa6, 0xc6, 0x7e,
0x58, 0x1f, 0x36, 0xa8, 0x4c, 0x73, 0x34, 0x9a, 0x09, 0x21, 0xbd, 0xa9, 0x15, 0x48, 0x09, 0x8b,
0x25, 0x54, 0x99, 0x99, 0xd0, 0x58, 0x07, 0xea, 0xb3, 0xd1, 0x17, 0x76, 0x3d, 0xf9, 0xe6, 0x9d,
0x84, 0xca, 0x3e, 0x1f, 0xb1, 0x61, 0xcf, 0xa2, 0x18, 0xd0, 0x4c, 0x1f, 0xef, 0x44, 0x57, 0x44,
0xa7, 0x47, 0xac, 0x22, 0x6b, 0x20, 0x35, 0x84, 0xc4, 0x7e, 0x15, 0x36, 0x66, 0x39, 0x5a, 0xd5,
0x7c, 0x37, 0x6d, 0xb8, 0xae, 0x55, 0xe5, 0x92, 0x2f, 0xf4, 0x20, 0x23, 0x04, 0xb1, 0x1e, 0xc9,
0x89, 0x18, 0x29, 0x25, 0x64, 0x14, 0x31, 0x52, 0x5a, 0xe8, 0x67, 0xfb, 0xbd, 0x5f, 0xfb, 0xde,
0x99, 0x13, 0x9e, 0x4f, 0x4f, 0xb6, 0x06, 0xde, 0xf8, 0xc3, 0x91, 0x32, 0xee, 0xe5, 0xb1, 0xcc,
0x0f, 0x47, 0xee, 0xf0, 0x43, 0x2c, 0x7d, 0xb2, 0x30, 0xf1, 0xbd, 0xd0, 0xfb, 0xe1, 0xff, 0x0d,
0x00, 0x00, 0xff, 0xff, 0x1f, 0xda, 0x01, 0x0a, 0xda, 0x82, 0x00, 0x00,
// 11400 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x7d, 0x4b, 0x6c, 0x23, 0x49,
0x96, 0x58, 0xf1, 0x27, 0x92, 0x8f, 0x1f, 0x51, 0xa1, 0x1f, 0x4b, 0xd5, 0xd5, 0x55, 0x9d, 0xdd,
0xd3, 0x5d, 0x53, 0xdd, 0xa3, 0xae, 0xae, 0xe9, 0xea, 0xcf, 0x94, 0xb7, 0x67, 0x28, 0x8a, 0x2a,
0x71, 0x4a, 0x22, 0xd5, 0x49, 0xaa, 0x7a, 0x7b, 0xb1, 0xde, 0x74, 0x8a, 0x0c, 0x49, 0xe9, 0x22,
0x33, 0xd9, 0x99, 0x49, 0x95, 0x34, 0x86, 0x6f, 0xeb, 0x0f, 0x16, 0xb6, 0x01, 0x03, 0x5e, 0x03,
0xfe, 0x2c, 0xfc, 0x59, 0xd8, 0xbe, 0x2d, 0x0c, 0xef, 0xda, 0x27, 0x9f, 0xbd, 0x17, 0x1b, 0xb6,
0xe1, 0x35, 0x0c, 0x1b, 0x8b, 0x05, 0x7c, 0xf0, 0xfa, 0x66, 0x2c, 0xe0, 0x93, 0x0f, 0x06, 0x8c,
0x78, 0xf1, 0xc9, 0xc8, 0x64, 0xaa, 0xaa, 0x7a, 0xb6, 0x3d, 0x17, 0x89, 0xf9, 0xde, 0x8b, 0x4f,
0x46, 0xbc, 0x78, 0xf1, 0x7e, 0x11, 0x09, 0x65, 0x7f, 0x36, 0xda, 0x9e, 0xf9, 0x5e, 0xe8, 0x91,
0xc2, 0xc4, 0xf5, 0x67, 0x23, 0xe3, 0x8f, 0x33, 0x90, 0x3f, 0x0e, 0x2f, 0x3d, 0xf2, 0x08, 0xaa,
0xf6, 0x78, 0xec, 0xd3, 0x20, 0xb0, 0xc2, 0xab, 0x19, 0x6d, 0x66, 0xee, 0x66, 0xee, 0xd5, 0x1f,
0x92, 0x6d, 0x24, 0xdb, 0x6e, 0x71, 0xd4, 0xf0, 0x6a, 0x46, 0xcd, 0x8a, 0x1d, 0x3d, 0x90, 0x26,
0x14, 0xc5, 0x63, 0x33, 0x7b, 0x37, 0x73, 0xaf, 0x6c, 0xca, 0x47, 0x72, 0x1b, 0xc0, 0x9e, 0x7a,
0x73, 0x37, 0xb4, 0x02, 0x3b, 0x6c, 0xe6, 0xee, 0x66, 0xee, 0xe5, 0xcc, 0x32, 0x87, 0x0c, 0xec,
0x90, 0xdc, 0x82, 0xf2, 0xec, 0xb9, 0x15, 0x8c, 0x7c, 0x67, 0x16, 0x36, 0xf3, 0x58, 0xb4, 0x34,
0x7b, 0x3e, 0xc0, 0x67, 0xf2, 0x3e, 0x94, 0xbc, 0x79, 0x38, 0xf3, 0x1c, 0x37, 0x6c, 0x16, 0xee,
0x66, 0xee, 0x55, 0x1e, 0x2e, 0x8b, 0x8e, 0xf4, 0xe7, 0xe1, 0x11, 0x03, 0x9b, 0x8a, 0x80, 0xbc,
0x03, 0xb5, 0x91, 0xe7, 0x9e, 0x3a, 0xfe, 0xd4, 0x0e, 0x1d, 0xcf, 0x0d, 0x9a, 0x4b, 0xd8, 0x56,
0x1c, 0x68, 0xfc, 0x9b, 0x2c, 0x54, 0x86, 0xbe, 0xed, 0x06, 0xf6, 0x88, 0x01, 0xc8, 0x26, 0x14,
0xc3, 0x4b, 0xeb, 0xdc, 0x0e, 0xce, 0xf1, 0x55, 0xcb, 0xe6, 0x52, 0x78, 0xb9, 0x6f, 0x07, 0xe7,
0x64, 0x03, 0x96, 0x78, 0x2f, 0xf1, 0x85, 0x72, 0xa6, 0x78, 0x22, 0xef, 0xc3, 0x8a, 0x3b, 0x9f,
0x5a, 0xf1, 0xa6, 0xd8, 0x6b, 0x15, 0xcc, 0x86, 0x3b, 0x9f, 0xb6, 0x75, 0x38, 0x7b, 0xf9, 0x93,
0x89, 0x37, 0x7a, 0xce, 0x1b, 0xe0, 0xaf, 0x57, 0x46, 0x08, 0xb6, 0xf1, 0x16, 0x54, 0x05, 0x9a,
0x3a, 0x67, 0xe7, 0xfc, 0x1d, 0x0b, 0x66, 0x85, 0x13, 0x20, 0x88, 0xd5, 0x10, 0x3a, 0x53, 0x6a,
0x05, 0xa1, 0x3d, 0x9d, 0x89, 0x57, 0x2a, 0x33, 0xc8, 0x80, 0x01, 0x10, 0xed, 0x85, 0xf6, 0xc4,
0x3a, 0xa5, 0x34, 0x68, 0x16, 0x05, 0x9a, 0x41, 0xf6, 0x28, 0x0d, 0xc8, 0xf7, 0xa0, 0x3e, 0xa6,
0x41, 0x68, 0x89, 0xc9, 0xa0, 0x41, 0xb3, 0x74, 0x37, 0x77, 0xaf, 0x6c, 0xd6, 0x18, 0xb4, 0x25,
0x81, 0xe4, 0x0d, 0x00, 0xdf, 0x7e, 0x61, 0xb1, 0x81, 0xa0, 0x97, 0xcd, 0x32, 0x9f, 0x05, 0xdf,
0x7e, 0x31, 0xbc, 0xdc, 0xa7, 0x97, 0x64, 0x0d, 0x0a, 0x13, 0xfb, 0x84, 0x4e, 0x9a, 0x80, 0x08,
0xfe, 0x60, 0xfc, 0x0a, 0x6c, 0x3c, 0xa1, 0xa1, 0x36, 0x94, 0x81, 0x49, 0xbf, 0x99, 0xd3, 0x20,
0x64, 0x6f, 0x15, 0x84, 0xb6, 0x1f, 0xca, 0xb7, 0xca, 0xf0, 0xb7, 0x42, 0x58, 0xf4, 0x56, 0xd4,
0x1d, 0x4b, 0x82, 0x2c, 0x12, 0x94, 0xa9, 0x3b, 0xe6, 0x68, 0xe3, 0x00, 0x88, 0x56, 0xf1, 0x2e,
0x0d, 0x6d, 0x67, 0x12, 0x90, 0x4f, 0xa0, 0x1a, 0x6a, 0xcd, 0x35, 0x33, 0x77, 0x73, 0xf7, 0x2a,
0x8a, 0x35, 0xb5, 0x02, 0x66, 0x8c, 0xce, 0x38, 0x87, 0xd2, 0x1e, 0xa5, 0x07, 0xce, 0xd4, 0x09,
0xc9, 0x06, 0x14, 0x4e, 0x9d, 0x4b, 0x3a, 0xc6, 0x4e, 0xe5, 0xf6, 0x6f, 0x98, 0xfc, 0x91, 0xdc,
0x01, 0xc0, 0x1f, 0xd6, 0x54, 0x71, 0xe9, 0xfe, 0x0d, 0xb3, 0x8c, 0xb0, 0xc3, 0xc0, 0x0e, 0xc9,
0x16, 0x14, 0x67, 0xd4, 0x1f, 0x51, 0xc9, 0x0f, 0xfb, 0x37, 0x4c, 0x09, 0xd8, 0x29, 0x42, 0x61,
0xc2, 0x6a, 0x37, 0x7e, 0xbf, 0x00, 0x95, 0x01, 0x75, 0xc7, 0x72, 0x24, 0x08, 0xe4, 0xd9, 0x40,
0x63, 0x63, 0x55, 0x13, 0x7f, 0x93, 0xb7, 0xa1, 0x82, 0x53, 0x12, 0x84, 0xbe, 0xe3, 0x9e, 0xf1,
0xd5, 0xb2, 0x93, 0x6d, 0x66, 0x4c, 0x60, 0xe0, 0x01, 0x42, 0x49, 0x03, 0x72, 0xf6, 0x54, 0xae,
0x16, 0xf6, 0x93, 0xdc, 0x84, 0x92, 0x3d, 0x0d, 0x79, 0xf7, 0xaa, 0x08, 0x2e, 0xda, 0xd3, 0x10,
0xbb, 0xf6, 0x16, 0x54, 0x67, 0xf6, 0xd5, 0x94, 0xba, 0x61, 0xc4, 0x66, 0x55, 0xb3, 0x22, 0x60,
0xc8, 0x68, 0x0f, 0x61, 0x55, 0x27, 0x91, 0x8d, 0x17, 0x54, 0xe3, 0x2b, 0x1a, 0xb5, 0xe8, 0xc3,
0x7b, 0xb0, 0x2c, 0xcb, 0xf8, 0xfc, 0x7d, 0x90, 0xfd, 0xca, 0x66, 0x5d, 0x80, 0xe5, 0x5b, 0xde,
0x83, 0xc6, 0xa9, 0xe3, 0xda, 0x13, 0x6b, 0x34, 0x09, 0x2f, 0xac, 0x31, 0x9d, 0x84, 0x36, 0x72,
0x62, 0xc1, 0xac, 0x23, 0xbc, 0x3d, 0x09, 0x2f, 0x76, 0x19, 0x94, 0x7c, 0x00, 0xe5, 0x53, 0x4a,
0x2d, 0x1c, 0xac, 0x66, 0x29, 0xb6, 0xa0, 0xe5, 0x0c, 0x99, 0xa5, 0x53, 0x39, 0x57, 0x1f, 0x40,
0xc3, 0x9b, 0x87, 0x67, 0x9e, 0xe3, 0x9e, 0x59, 0xa3, 0x73, 0xdb, 0xb5, 0x9c, 0x31, 0xf2, 0x66,
0x7e, 0x27, 0xfb, 0x20, 0x63, 0xd6, 0x25, 0xae, 0x7d, 0x6e, 0xbb, 0xdd, 0x31, 0x79, 0x17, 0x96,
0x27, 0x76, 0x10, 0x5a, 0xe7, 0xde, 0xcc, 0x9a, 0xcd, 0x4f, 0x9e, 0xd3, 0xab, 0x66, 0x0d, 0x07,
0xa2, 0xc6, 0xc0, 0xfb, 0xde, 0xec, 0x08, 0x81, 0x8c, 0xf5, 0xb0, 0x9f, 0xbc, 0x13, 0x8c, 0xa5,
0x6b, 0x66, 0x99, 0x41, 0x78, 0xa3, 0x5f, 0xc3, 0x2a, 0x4e, 0xcf, 0x68, 0x1e, 0x84, 0xde, 0xd4,
0xf2, 0xe9, 0xc8, 0xf3, 0xc7, 0x41, 0xb3, 0x82, 0xbc, 0xf6, 0x7d, 0xd1, 0x59, 0x6d, 0x8e, 0xb7,
0x77, 0x69, 0x10, 0xb6, 0x91, 0xd8, 0xe4, 0xb4, 0x1d, 0x37, 0xf4, 0xaf, 0xcc, 0x95, 0x71, 0x12,
0x4e, 0x3e, 0x00, 0x62, 0x4f, 0x26, 0xde, 0x0b, 0x2b, 0xa0, 0x93, 0x53, 0x4b, 0x0c, 0x62, 0xb3,
0x7e, 0x37, 0x73, 0xaf, 0x64, 0x36, 0x10, 0x33, 0xa0, 0x93, 0xd3, 0x23, 0x0e, 0x27, 0x9f, 0x00,
0x2e, 0x52, 0xeb, 0x94, 0xda, 0xe1, 0xdc, 0xa7, 0x41, 0x73, 0xf9, 0x6e, 0xee, 0x5e, 0xfd, 0xe1,
0x8a, 0x1a, 0x2f, 0x04, 0xef, 0x38, 0xa1, 0x59, 0x65, 0x74, 0xe2, 0x39, 0xd8, 0xda, 0x85, 0x8d,
0xf4, 0x2e, 0x31, 0xa6, 0x62, 0xa3, 0xc2, 0x98, 0x31, 0x6f, 0xb2, 0x9f, 0x6c, 0x65, 0x5f, 0xd8,
0x93, 0x39, 0x45, 0x2e, 0xac, 0x9a, 0xfc, 0xe1, 0x47, 0xd9, 0xcf, 0x32, 0xc6, 0xef, 0x65, 0xa0,
0xca, 0xdf, 0x32, 0x98, 0x79, 0x6e, 0x40, 0xc9, 0xdb, 0x50, 0x93, 0xdc, 0x40, 0x7d, 0xdf, 0xf3,
0x85, 0xb4, 0x94, 0x9c, 0xd7, 0x61, 0x30, 0xf2, 0x7d, 0x68, 0x48, 0xa2, 0x99, 0x4f, 0x9d, 0xa9,
0x7d, 0x26, 0xab, 0x96, 0xac, 0x74, 0x24, 0xc0, 0xe4, 0xa3, 0xa8, 0x3e, 0xdf, 0x9b, 0x87, 0x14,
0x79, 0xbd, 0xf2, 0xb0, 0x2a, 0x5e, 0xcf, 0x64, 0x30, 0x55, 0x3b, 0x3e, 0xbd, 0x06, 0x9f, 0x1b,
0xbf, 0x99, 0x01, 0xc2, 0xba, 0x3d, 0xf4, 0x78, 0x05, 0x91, 0x44, 0x8a, 0x95, 0xcc, 0xbc, 0xf6,
0x0a, 0xc9, 0xbe, 0x6c, 0x85, 0x18, 0x50, 0xe0, 0x7d, 0xcf, 0xa7, 0xf4, 0x9d, 0xa3, 0x7e, 0x9a,
0x2f, 0xe5, 0x1a, 0x79, 0xe3, 0xbf, 0xe5, 0x60, 0x8d, 0xf1, 0xa9, 0x4b, 0x27, 0xad, 0xd1, 0x88,
0xce, 0xd4, 0xda, 0xb9, 0x03, 0x15, 0xd7, 0x1b, 0x53, 0xc9, 0xb1, 0xbc, 0x63, 0xc0, 0x40, 0x1a,
0xbb, 0x9e, 0xdb, 0x8e, 0xcb, 0x3b, 0xce, 0x07, 0xb3, 0x8c, 0x10, 0xec, 0xf6, 0xbb, 0xb0, 0x3c,
0xa3, 0xee, 0x58, 0x5f, 0x22, 0x39, 0xce, 0xf5, 0x02, 0x2c, 0x56, 0xc7, 0x1d, 0xa8, 0x9c, 0xce,
0x39, 0x1d, 0x13, 0x2c, 0x79, 0xe4, 0x01, 0x10, 0xa0, 0x16, 0x97, 0x2f, 0xb3, 0x79, 0x70, 0x8e,
0xd8, 0x02, 0x62, 0x8b, 0xec, 0x99, 0xa1, 0x6e, 0x03, 0x8c, 0xe7, 0x41, 0x28, 0x56, 0xcc, 0x12,
0x22, 0xcb, 0x0c, 0xc2, 0x57, 0xcc, 0x0f, 0x60, 0x75, 0x6a, 0x5f, 0x5a, 0xc8, 0x3b, 0x96, 0xe3,
0x5a, 0xa7, 0x13, 0x14, 0xea, 0x45, 0xa4, 0x6b, 0x4c, 0xed, 0xcb, 0x67, 0x0c, 0xd3, 0x75, 0xf7,
0x10, 0xce, 0xc4, 0xca, 0x88, 0x8f, 0x84, 0xe5, 0xd3, 0x80, 0xfa, 0x17, 0x14, 0x25, 0x41, 0xde,
0xac, 0x0b, 0xb0, 0xc9, 0xa1, 0xac, 0x47, 0x53, 0xf6, 0xde, 0xe1, 0x64, 0xc4, 0x97, 0xbd, 0x59,
0x9c, 0x3a, 0xee, 0x7e, 0x38, 0x19, 0xb1, 0xfd, 0x8a, 0xc9, 0x91, 0x19, 0xf5, 0xad, 0xe7, 0x2f,
0x70, 0x0d, 0xe7, 0x51, 0x6e, 0x1c, 0x51, 0xff, 0xe9, 0x0b, 0xa6, 0x52, 0x8c, 0x02, 0x14, 0x44,
0xf6, 0x55, 0xb3, 0x82, 0x0b, 0xbc, 0x34, 0x0a, 0x98, 0x08, 0xb2, 0xaf, 0xd8, 0x22, 0x64, 0xbd,
0xb5, 0x71, 0x16, 0xe8, 0x18, 0xab, 0x0f, 0x50, 0xa2, 0xd6, 0xb0, 0xb3, 0x2d, 0x81, 0x60, 0xed,
0x04, 0x8c, 0xeb, 0x65, 0x67, 0x4f, 0x27, 0xf6, 0x59, 0x80, 0x22, 0xa5, 0x66, 0x56, 0x05, 0x70,
0x8f, 0xc1, 0x8c, 0xaf, 0x60, 0x3d, 0x31, 0xb7, 0x62, 0xcd, 0x30, 0x15, 0x02, 0x21, 0x38, 0xaf,
0x25, 0x53, 0x3c, 0xa5, 0x4d, 0x5a, 0x36, 0x65, 0xd2, 0x8c, 0xdf, 0xca, 0x40, 0x55, 0xd4, 0x8c,
0xca, 0x0e, 0xd9, 0x06, 0x22, 0x67, 0x31, 0xbc, 0x74, 0xc6, 0xd6, 0xc9, 0x55, 0x48, 0x03, 0xce,
0x34, 0xfb, 0x37, 0xcc, 0x86, 0xc0, 0x0d, 0x2f, 0x9d, 0xf1, 0x0e, 0xc3, 0x90, 0xfb, 0xd0, 0x88,
0xd1, 0x07, 0xa1, 0xcf, 0x39, 0x7a, 0xff, 0x86, 0x59, 0xd7, 0xa8, 0x07, 0xa1, 0xcf, 0xd6, 0x08,
0x53, 0xa5, 0xe6, 0xa1, 0xe5, 0xb8, 0x63, 0x7a, 0x89, 0x6c, 0x54, 0x33, 0x2b, 0x1c, 0xd6, 0x65,
0xa0, 0x9d, 0x3a, 0x54, 0xf5, 0xea, 0x8c, 0x33, 0x28, 0x49, 0x3d, 0x0c, 0x15, 0x91, 0x44, 0x97,
0xcc, 0x72, 0xa8, 0x7a, 0x72, 0x13, 0x4a, 0xf1, 0x1e, 0x98, 0xc5, 0xf0, 0xb5, 0x1b, 0x36, 0xbe,
0x80, 0xc6, 0x01, 0x63, 0x1e, 0x97, 0x31, 0xab, 0xd0, 0x2b, 0x37, 0x60, 0x49, 0x5b, 0x34, 0x65,
0x53, 0x3c, 0xb1, 0x3d, 0xf7, 0xdc, 0x0b, 0x42, 0xd1, 0x0a, 0xfe, 0x36, 0x7e, 0x3f, 0x03, 0xa4,
0x13, 0x84, 0xce, 0xd4, 0x0e, 0xe9, 0x1e, 0x55, 0x62, 0xa1, 0x0f, 0x55, 0x56, 0xdb, 0xd0, 0x6b,
0x71, 0x45, 0x8f, 0x2b, 0x14, 0xef, 0x8b, 0x65, 0xbc, 0x58, 0x60, 0x5b, 0xa7, 0xe6, 0x62, 0x3e,
0x56, 0x01, 0x5b, 0x65, 0xa1, 0xed, 0x9f, 0xd1, 0x10, 0xd5, 0x43, 0xa1, 0xd7, 0x00, 0x07, 0x31,
0xc5, 0x70, 0xeb, 0xc7, 0xb0, 0xb2, 0x50, 0x87, 0x2e, 0x97, 0xcb, 0x29, 0x72, 0x39, 0xa7, 0xcb,
0x65, 0x0b, 0x56, 0x63, 0xfd, 0x12, 0x9c, 0xb6, 0x09, 0x45, 0xb6, 0x20, 0x98, 0x72, 0x90, 0xe1,
0xda, 0xea, 0x29, 0xa5, 0x4c, 0xbd, 0xfe, 0x10, 0xd6, 0x4e, 0x29, 0xf5, 0xed, 0x10, 0x91, 0xb8,
0x62, 0xd8, 0x0c, 0x89, 0x8a, 0x57, 0x04, 0x6e, 0x60, 0x87, 0x47, 0xd4, 0x67, 0x33, 0x65, 0xfc,
0x9f, 0x0c, 0x2c, 0x33, 0x09, 0x7a, 0x68, 0xbb, 0x57, 0x72, 0x9c, 0x0e, 0x52, 0xc7, 0xe9, 0x9e,
0xb6, 0x19, 0x6a, 0xd4, 0xdf, 0x76, 0x90, 0x72, 0xc9, 0x41, 0x22, 0x77, 0xa1, 0x1a, 0xeb, 0x6b,
0x01, 0xfb, 0x0a, 0x81, 0xea, 0x64, 0xa4, 0x91, 0x2e, 0x69, 0x1a, 0xe9, 0x9f, 0x7e, 0x70, 0xdf,
0x85, 0x46, 0xf4, 0x32, 0x62, 0x64, 0x09, 0xe4, 0x19, 0xa3, 0x8a, 0x0a, 0xf0, 0xb7, 0xf1, 0x2f,
0x32, 0x9c, 0xb0, 0xed, 0x39, 0x91, 0xd6, 0x4b, 0x20, 0xcf, 0xb4, 0x6c, 0x49, 0xc8, 0x7e, 0x5f,
0x6b, 0x43, 0x7c, 0x07, 0x43, 0x70, 0x13, 0x4a, 0x01, 0x53, 0xa1, 0xed, 0x09, 0x1f, 0x85, 0x92,
0x59, 0x64, 0xcf, 0xad, 0xc9, 0x24, 0x1a, 0x9d, 0xa2, 0xae, 0xaf, 0xbf, 0x07, 0x2b, 0x5a, 0x9f,
0x5f, 0xf2, 0x76, 0x3d, 0x20, 0x07, 0x4e, 0x10, 0x1e, 0xbb, 0xc1, 0x4c, 0x53, 0xf2, 0x6e, 0x41,
0x99, 0x49, 0x63, 0xd6, 0xdf, 0x40, 0x68, 0xf4, 0x4c, 0x3c, 0xb3, 0xde, 0x06, 0x88, 0xb4, 0x2f,
0x05, 0x32, 0x2b, 0x90, 0xf6, 0x25, 0x22, 0x8d, 0xcf, 0x60, 0x35, 0x56, 0x9f, 0x68, 0xfa, 0x2d,
0x28, 0xcc, 0xc3, 0x4b, 0x4f, 0xaa, 0xf1, 0x15, 0xc1, 0x4d, 0xcc, 0x08, 0x35, 0x39, 0xc6, 0x78,
0x0c, 0x2b, 0x3d, 0xfa, 0x42, 0x2c, 0x78, 0xd9, 0x91, 0x77, 0x21, 0xff, 0x0a, 0xc3, 0x14, 0xf1,
0xc6, 0x36, 0x10, 0xbd, 0xb0, 0x68, 0x55, 0xb3, 0x53, 0x33, 0x31, 0x3b, 0xd5, 0x78, 0x17, 0xc8,
0xc0, 0x39, 0x73, 0x0f, 0x69, 0x10, 0xd8, 0x67, 0x4a, 0x44, 0x34, 0x20, 0x37, 0x0d, 0xce, 0x84,
0x3c, 0x63, 0x3f, 0x8d, 0x1f, 0xc2, 0x6a, 0x8c, 0x4e, 0x54, 0xfc, 0x06, 0x94, 0x03, 0xe7, 0xcc,
0x45, 0x25, 0x4c, 0x54, 0x1d, 0x01, 0x8c, 0x3d, 0x58, 0x7b, 0x46, 0x7d, 0xe7, 0xf4, 0xea, 0x55,
0xd5, 0xc7, 0xeb, 0xc9, 0x26, 0xeb, 0xe9, 0xc0, 0x7a, 0xa2, 0x1e, 0xd1, 0x3c, 0x67, 0x6a, 0x31,
0x93, 0x25, 0x93, 0x3f, 0x68, 0x32, 0x32, 0xab, 0xcb, 0x48, 0xe3, 0x18, 0x48, 0xdb, 0x73, 0x5d,
0x3a, 0x0a, 0x8f, 0x28, 0xf5, 0x65, 0x67, 0xde, 0xd7, 0x38, 0xb8, 0xf2, 0x70, 0x53, 0x8c, 0x6c,
0x52, 0xf0, 0x0a, 0xd6, 0x26, 0x90, 0x9f, 0x51, 0x7f, 0x8a, 0x15, 0x97, 0x4c, 0xfc, 0x6d, 0xac,
0xc3, 0x6a, 0xac, 0x5a, 0xde, 0x37, 0xe3, 0x01, 0xac, 0xef, 0x3a, 0xc1, 0x68, 0xb1, 0xc1, 0x4d,
0x28, 0xce, 0xe6, 0x27, 0x56, 0x5c, 0x86, 0x3f, 0xa5, 0x57, 0x46, 0x13, 0x36, 0x92, 0x25, 0x44,
0x5d, 0xbf, 0x9e, 0x81, 0xfc, 0xfe, 0xf0, 0xa0, 0x4d, 0xb6, 0xa0, 0xe4, 0xb8, 0x23, 0x6f, 0xca,
0x94, 0x34, 0xfe, 0xce, 0xea, 0xf9, 0xda, 0x65, 0x77, 0x0b, 0xca, 0xa8, 0xdb, 0x31, 0xf3, 0x5a,
0xa8, 0x49, 0x25, 0x06, 0x38, 0xf0, 0x46, 0xcf, 0x99, 0x5d, 0x4f, 0x2f, 0x67, 0x8e, 0x8f, 0x96,
0xbb, 0xb4, 0x4c, 0xf3, 0x5c, 0x2f, 0x88, 0x10, 0xc2, 0x40, 0xfd, 0xf5, 0x2c, 0x10, 0xb1, 0x33,
0xb7, 0x3d, 0x37, 0x08, 0x7d, 0xdb, 0x71, 0xc3, 0x20, 0xae, 0x79, 0x64, 0x12, 0x9a, 0xc7, 0x3d,
0x68, 0xe0, 0x6e, 0x2f, 0xb4, 0x1e, 0x14, 0xd6, 0xd9, 0x48, 0xf3, 0x11, 0x6a, 0x0f, 0x13, 0xda,
0xef, 0x40, 0x3d, 0x52, 0xb8, 0x94, 0xdb, 0x24, 0x6f, 0x56, 0x95, 0xd2, 0x25, 0x44, 0x3b, 0x5b,
0x74, 0x52, 0x93, 0x50, 0xd6, 0x21, 0xd7, 0xed, 0x56, 0xa6, 0xf6, 0xe5, 0x11, 0x95, 0xea, 0x1d,
0xda, 0x89, 0x06, 0xd4, 0xa4, 0x42, 0xc5, 0x29, 0xb9, 0x9e, 0x57, 0x11, 0x5a, 0x15, 0xd2, 0xa4,
0xab, 0x47, 0x4b, 0xe9, 0xea, 0x91, 0xf1, 0x5f, 0xca, 0x50, 0x14, 0xc3, 0xc0, 0x95, 0x9d, 0xd0,
0xb9, 0xa0, 0x91, 0xb2, 0xc3, 0x9e, 0x98, 0x0a, 0xe5, 0xd3, 0xa9, 0x17, 0x2a, 0x1d, 0x97, 0xb3,
0x62, 0x95, 0x03, 0x85, 0x96, 0xab, 0xe9, 0x59, 0xdc, 0xdb, 0x93, 0xe3, 0x44, 0x23, 0x5d, 0xfb,
0xb9, 0x05, 0x45, 0xa9, 0x2e, 0xe5, 0x95, 0x19, 0xb8, 0x34, 0xe2, 0x0a, 0xee, 0x16, 0x94, 0x46,
0xf6, 0xcc, 0x1e, 0x39, 0xe1, 0x95, 0x90, 0x96, 0xea, 0x99, 0xd5, 0x3e, 0xf1, 0x46, 0xf6, 0xc4,
0x3a, 0xb1, 0x27, 0xb6, 0x3b, 0xa2, 0xc2, 0x8d, 0x52, 0x45, 0xe0, 0x0e, 0x87, 0x91, 0xef, 0x41,
0x5d, 0xf4, 0x53, 0x52, 0x71, 0x6f, 0x8a, 0xe8, 0xbd, 0x24, 0x63, 0xfa, 0xb8, 0x37, 0x65, 0xf3,
0x72, 0x4a, 0xb9, 0xe6, 0x9a, 0x33, 0xcb, 0x1c, 0xb2, 0x47, 0xf1, 0x6d, 0x05, 0xfa, 0x05, 0xe7,
0xa0, 0x32, 0x6f, 0x8a, 0x03, 0xbf, 0xe2, 0xde, 0x8f, 0x45, 0xf5, 0x35, 0xa7, 0xa9, 0xaf, 0xef,
0xc3, 0xca, 0xdc, 0x0d, 0x68, 0x18, 0x4e, 0xe8, 0x58, 0xf5, 0xa5, 0x82, 0x44, 0x0d, 0x85, 0x90,
0xdd, 0xd9, 0x86, 0x55, 0xee, 0xff, 0x09, 0xec, 0xd0, 0x0b, 0xce, 0x9d, 0xc0, 0x0a, 0x98, 0x51,
0xc9, 0x3d, 0x04, 0x2b, 0x88, 0x1a, 0x08, 0xcc, 0x80, 0x5b, 0x95, 0x9b, 0x09, 0x7a, 0x9f, 0x8e,
0xa8, 0x73, 0x41, 0xc7, 0xa8, 0xda, 0xe6, 0xcc, 0xf5, 0x58, 0x19, 0x53, 0x20, 0xd1, 0x4e, 0x99,
0x4f, 0xad, 0xf9, 0x6c, 0x6c, 0x33, 0xfd, 0xae, 0xce, 0xed, 0x07, 0x77, 0x3e, 0x3d, 0xe6, 0x10,
0xf2, 0x00, 0xa4, 0xf2, 0x2a, 0x78, 0x66, 0x39, 0x26, 0xd6, 0xd9, 0x9a, 0x35, 0xab, 0x82, 0x82,
0xeb, 0xd6, 0x77, 0xf4, 0xc5, 0xd2, 0x60, 0x1c, 0x86, 0x76, 0x56, 0xb4, 0x60, 0x9a, 0x50, 0x9c,
0xf9, 0xce, 0x85, 0x1d, 0xd2, 0xe6, 0x0a, 0xdf, 0xe1, 0xc4, 0x23, 0x13, 0x92, 0x8e, 0xeb, 0x84,
0x8e, 0x1d, 0x7a, 0x7e, 0x93, 0x20, 0x2e, 0x02, 0x90, 0xfb, 0xb0, 0x82, 0x7c, 0x12, 0x84, 0x76,
0x38, 0x0f, 0x84, 0xe2, 0xbe, 0x8a, 0x0c, 0x85, 0xa6, 0xc7, 0x00, 0xe1, 0xa8, 0xbb, 0x93, 0x4f,
0x61, 0x83, 0xb3, 0xc6, 0xc2, 0xd2, 0x5c, 0x63, 0xc3, 0x81, 0x3d, 0x5a, 0x45, 0x8a, 0x76, 0x7c,
0x8d, 0x7e, 0x0e, 0x9b, 0x82, 0x5d, 0x16, 0x4a, 0xae, 0xab, 0x92, 0x6b, 0x9c, 0x24, 0x51, 0x74,
0x1b, 0x56, 0x58, 0xd7, 0x9c, 0x91, 0x25, 0x6a, 0x60, 0xab, 0x62, 0x83, 0xbd, 0x05, 0x16, 0x5a,
0xe6, 0x48, 0x13, 0x71, 0x4f, 0xe9, 0x15, 0xf9, 0x02, 0x96, 0x39, 0xfb, 0xa0, 0x75, 0x8a, 0x9b,
0xdf, 0x16, 0x6e, 0x7e, 0xeb, 0x62, 0x70, 0xdb, 0x0a, 0x8b, 0xfb, 0x5f, 0x7d, 0x14, 0x7b, 0x66,
0x4b, 0x63, 0xe2, 0x9c, 0xd2, 0xd0, 0x99, 0xd2, 0xe6, 0x26, 0x67, 0x36, 0xf9, 0xcc, 0x56, 0xed,
0x7c, 0x86, 0x98, 0x26, 0x17, 0x95, 0xfc, 0x09, 0xf9, 0x78, 0xe2, 0x05, 0x54, 0x7a, 0x0e, 0x9b,
0x37, 0xc5, 0x82, 0x64, 0x40, 0xa9, 0x82, 0x33, 0x3b, 0x86, 0xdb, 0x8c, 0xca, 0xbf, 0x7b, 0x0b,
0x19, 0xa3, 0xc6, 0x4d, 0x47, 0xe9, 0xe3, 0x65, 0xea, 0xce, 0xb9, 0xfd, 0x42, 0x0a, 0xd5, 0x37,
0x50, 0x9a, 0x00, 0x03, 0x09, 0x77, 0xe0, 0x1e, 0xac, 0x88, 0x59, 0x88, 0x84, 0x69, 0xf3, 0x36,
0x6e, 0x43, 0x37, 0xe5, 0x3b, 0x2e, 0x48, 0x5b, 0xb3, 0xc1, 0xe7, 0x45, 0x93, 0xbf, 0xfb, 0x40,
0xe4, 0xa4, 0x68, 0x15, 0xbd, 0xf9, 0xaa, 0x8a, 0x56, 0xc4, 0x34, 0x45, 0x20, 0xe3, 0x77, 0x33,
0x5c, 0x6b, 0x11, 0xd4, 0x81, 0x66, 0xaf, 0x73, 0xb9, 0x66, 0x79, 0xee, 0xe4, 0x4a, 0x88, 0x3a,
0xe0, 0xa0, 0xbe, 0x3b, 0x41, 0x59, 0xe3, 0xb8, 0x3a, 0x09, 0xdf, 0x20, 0xab, 0x12, 0x88, 0x44,
0x77, 0xa0, 0x32, 0x9b, 0x9f, 0x4c, 0x9c, 0x11, 0x27, 0xc9, 0xf1, 0x5a, 0x38, 0x08, 0x09, 0xde,
0x82, 0xaa, 0xe0, 0x75, 0x4e, 0x91, 0x47, 0x8a, 0x8a, 0x80, 0x21, 0x09, 0x6e, 0xc0, 0xd4, 0x47,
0x61, 0x57, 0x35, 0xf1, 0xb7, 0xb1, 0x03, 0x6b, 0xf1, 0x4e, 0x0b, 0xed, 0xe0, 0x3e, 0x94, 0x84,
0x24, 0x95, 0x9e, 0xac, 0x7a, 0x7c, 0x34, 0x4c, 0x85, 0x37, 0x7e, 0xbb, 0x00, 0xab, 0x72, 0x8c,
0xd8, 0x64, 0x0f, 0xe6, 0xd3, 0xa9, 0xed, 0xa7, 0x88, 0xe8, 0xcc, 0xcb, 0x45, 0x74, 0x76, 0x41,
0x44, 0xc7, 0x5d, 0x19, 0x5c, 0xc2, 0xc7, 0x5d, 0x19, 0x8c, 0xbb, 0xb8, 0x75, 0xa9, 0x3b, 0xcc,
0x6b, 0x02, 0x3c, 0xe4, 0x8e, 0xf9, 0x85, 0x0d, 0xa5, 0x90, 0xb2, 0xa1, 0xe8, 0xdb, 0xc1, 0x52,
0x62, 0x3b, 0x78, 0x0b, 0x38, 0x1b, 0x4b, 0x7e, 0x2c, 0x72, 0x83, 0x13, 0x61, 0x82, 0x21, 0xdf,
0x83, 0xe5, 0xa4, 0x04, 0xe6, 0xa2, 0xbe, 0x9e, 0x22, 0x7f, 0x9d, 0x29, 0x45, 0x95, 0x42, 0x23,
0x2e, 0x0b, 0xf9, 0xeb, 0x4c, 0xe9, 0x01, 0x62, 0x24, 0x7d, 0x07, 0x80, 0xb7, 0x8d, 0xcb, 0x18,
0x70, 0x19, 0xbf, 0x9b, 0xe0, 0x4c, 0x6d, 0xd4, 0xb7, 0xd9, 0xc3, 0xdc, 0xa7, 0xb8, 0xae, 0xcb,
0x58, 0x12, 0x97, 0xf4, 0xa7, 0x50, 0xf7, 0x66, 0xd4, 0xb5, 0x22, 0x29, 0x58, 0xc1, 0xaa, 0x1a,
0xa2, 0xaa, 0xae, 0x84, 0x9b, 0x35, 0x46, 0xa7, 0x1e, 0xc9, 0xe7, 0x7c, 0x90, 0xa9, 0x56, 0xb2,
0x7a, 0x4d, 0xc9, 0x3a, 0x12, 0xaa, 0x67, 0xe3, 0x37, 0x32, 0x50, 0xd1, 0xba, 0x43, 0xd6, 0x61,
0xa5, 0xdd, 0xef, 0x1f, 0x75, 0xcc, 0xd6, 0xb0, 0xfb, 0xac, 0x63, 0xb5, 0x0f, 0xfa, 0x83, 0x4e,
0xe3, 0x06, 0x03, 0x1f, 0xf4, 0xdb, 0xad, 0x03, 0x6b, 0xaf, 0x6f, 0xb6, 0x25, 0x38, 0x43, 0x36,
0x80, 0x98, 0x9d, 0xc3, 0xfe, 0xb0, 0x13, 0x83, 0x67, 0x49, 0x03, 0xaa, 0x3b, 0x66, 0xa7, 0xd5,
0xde, 0x17, 0x90, 0x1c, 0x59, 0x83, 0xc6, 0xde, 0x71, 0x6f, 0xb7, 0xdb, 0x7b, 0x62, 0xb5, 0x5b,
0xbd, 0x76, 0xe7, 0xa0, 0xb3, 0xdb, 0xc8, 0x93, 0x1a, 0x94, 0x5b, 0x3b, 0xad, 0xde, 0x6e, 0xbf,
0xd7, 0xd9, 0x6d, 0x14, 0x8c, 0x3f, 0xca, 0xc0, 0x3a, 0x0e, 0xd4, 0x38, 0xb9, 0x42, 0xef, 0x42,
0x65, 0xe4, 0x79, 0x33, 0x66, 0xd7, 0x46, 0xca, 0x88, 0x0e, 0x62, 0xab, 0x8f, 0x4b, 0x9b, 0x53,
0xcf, 0x1f, 0x51, 0xb1, 0x40, 0x01, 0x41, 0x7b, 0x0c, 0xc2, 0x18, 0x44, 0x70, 0x18, 0xa7, 0xe0,
0xeb, 0xb3, 0xc2, 0x61, 0x9c, 0x64, 0x03, 0x96, 0x4e, 0x7c, 0x6a, 0x8f, 0xce, 0xc5, 0xd2, 0x14,
0x4f, 0xe4, 0xfb, 0x91, 0xc7, 0x65, 0xc4, 0x26, 0x7c, 0x42, 0xc7, 0xc8, 0x9f, 0x25, 0x73, 0x59,
0xc0, 0xdb, 0x02, 0xcc, 0x36, 0x31, 0xfb, 0xc4, 0x76, 0xc7, 0x9e, 0x4b, 0xc7, 0xc2, 0x84, 0x8b,
0x00, 0xc6, 0x11, 0x6c, 0x24, 0xdf, 0x4f, 0x2c, 0xe6, 0x4f, 0xb4, 0xc5, 0xcc, 0x6d, 0xa7, 0xad,
0xeb, 0x19, 0x48, 0x5b, 0xd8, 0x7f, 0x3d, 0x0f, 0x79, 0xa6, 0x4b, 0x5f, 0xab, 0x76, 0xeb, 0xc6,
0x51, 0x6e, 0x21, 0x88, 0x87, 0x8e, 0x1d, 0xae, 0x5d, 0x70, 0x0d, 0xb3, 0x8c, 0x10, 0xd4, 0x2a,
0x14, 0xda, 0xa7, 0xa3, 0x0b, 0xa1, 0x56, 0x72, 0xb4, 0x49, 0x47, 0x17, 0x68, 0xab, 0xda, 0x21,
0x2f, 0xcb, 0x17, 0x63, 0x31, 0xb0, 0x43, 0x2c, 0x29, 0x50, 0x58, 0xae, 0xa8, 0x50, 0x58, 0xaa,
0x09, 0x45, 0xc7, 0x3d, 0xf1, 0xe6, 0xee, 0x18, 0xd7, 0x5e, 0xc9, 0x94, 0x8f, 0x18, 0x33, 0x44,
0x31, 0xc1, 0xf6, 0x2d, 0xbe, 0xd4, 0x4a, 0x0c, 0x30, 0x64, 0x3b, 0xd7, 0x47, 0x50, 0x0e, 0xae,
0xdc, 0x91, 0xbe, 0xc0, 0xd6, 0xc4, 0xf8, 0xb0, 0xb7, 0xdf, 0x1e, 0x5c, 0xb9, 0x23, 0x5c, 0x4e,
0xa5, 0x40, 0xfc, 0x22, 0x8f, 0xa0, 0xa4, 0xbc, 0xec, 0x5c, 0x3c, 0xde, 0xd4, 0x4b, 0x48, 0xd7,
0x3a, 0x77, 0x66, 0x28, 0x52, 0xf2, 0x21, 0x2c, 0xa1, 0x2b, 0x3c, 0x68, 0x56, 0xb1, 0x90, 0xb4,
0x98, 0x58, 0x37, 0x30, 0x5c, 0x47, 0xc7, 0xe8, 0x16, 0x37, 0x05, 0xd9, 0xd6, 0x53, 0xa8, 0xc5,
0xea, 0xd2, 0x9d, 0x13, 0x35, 0xee, 0x9c, 0x78, 0x47, 0x77, 0x4e, 0x44, 0x62, 0x5a, 0x14, 0xd3,
0x9d, 0x15, 0x3f, 0x86, 0x92, 0x7c, 0x15, 0xb6, 0x88, 0x8e, 0x7b, 0x4f, 0x7b, 0xfd, 0xaf, 0x7a,
0xd6, 0xe0, 0xeb, 0x5e, 0xbb, 0x71, 0x83, 0x2c, 0x43, 0xa5, 0xd5, 0xc6, 0x75, 0x89, 0x80, 0x0c,
0x23, 0x39, 0x6a, 0x0d, 0x06, 0x0a, 0x92, 0x35, 0xf6, 0xa0, 0x91, 0xec, 0x29, 0xe3, 0xc9, 0x50,
0xc2, 0x44, 0xa0, 0x20, 0x02, 0x30, 0x23, 0x93, 0xfb, 0xfe, 0xb9, 0x0a, 0xcf, 0x1f, 0x8c, 0x47,
0xd0, 0x60, 0x9b, 0x0e, 0x1b, 0x2a, 0x3d, 0x04, 0x38, 0x61, 0x6a, 0xa1, 0x1e, 0x2c, 0x28, 0x99,
0x15, 0x0e, 0xc3, 0xa6, 0x8c, 0x4f, 0x60, 0x45, 0x2b, 0x16, 0x39, 0x05, 0xd8, 0x46, 0x96, 0x74,
0x0a, 0xa0, 0x09, 0xc8, 0x31, 0xc6, 0x26, 0xac, 0xb3, 0xc7, 0xce, 0x05, 0x75, 0xc3, 0xc1, 0xfc,
0x84, 0x47, 0x8e, 0x1d, 0xcf, 0x65, 0xa6, 0x61, 0x59, 0x61, 0xae, 0x67, 0xf2, 0x6d, 0xe1, 0x3f,
0xc8, 0x22, 0x6b, 0x6c, 0x69, 0x2d, 0x60, 0xc1, 0x6d, 0xfc, 0x1b, 0xf3, 0x23, 0x94, 0x15, 0x88,
0x0d, 0xeb, 0x51, 0xa7, 0x63, 0x5a, 0xfd, 0xde, 0x41, 0xb7, 0xc7, 0xa4, 0x1d, 0x1b, 0x56, 0x04,
0xec, 0xed, 0x21, 0x24, 0x63, 0x34, 0xa0, 0xfe, 0x84, 0x86, 0x5d, 0xf7, 0xd4, 0x13, 0x83, 0x61,
0xfc, 0x95, 0x25, 0x58, 0x56, 0xa0, 0xc8, 0x0f, 0x71, 0x41, 0xfd, 0xc0, 0xf1, 0x5c, 0xd4, 0xa5,
0xcb, 0xa6, 0x7c, 0x64, 0xd2, 0x49, 0x58, 0x10, 0xb8, 0x05, 0xae, 0x21, 0x56, 0xd8, 0x1c, 0xb8,
0xff, 0xbd, 0x07, 0xcb, 0xce, 0x98, 0xba, 0xa1, 0x13, 0x5e, 0x59, 0x31, 0x0f, 0x68, 0x5d, 0x82,
0xc5, 0x1e, 0xb8, 0x06, 0x05, 0x7b, 0xe2, 0xd8, 0x32, 0x22, 0xcf, 0x1f, 0x18, 0x74, 0xe4, 0x4d,
0x3c, 0x1f, 0x75, 0xea, 0xb2, 0xc9, 0x1f, 0xc8, 0x03, 0x58, 0x63, 0xfa, 0xbd, 0xee, 0x96, 0x46,
0x01, 0xc3, 0x9d, 0xb1, 0xc4, 0x9d, 0x4f, 0x8f, 0x22, 0xd7, 0x34, 0xc3, 0xb0, 0x9d, 0x8f, 0x95,
0x10, 0xaa, 0x8e, 0x2a, 0xc0, 0x2d, 0xe6, 0x15, 0x77, 0x3e, 0x6d, 0x21, 0x46, 0xd1, 0x3f, 0x84,
0x75, 0x46, 0xaf, 0x94, 0x23, 0x55, 0x62, 0x19, 0x4b, 0xb0, 0xca, 0xba, 0x02, 0xa7, 0xca, 0xdc,
0x82, 0x32, 0xef, 0x15, 0x63, 0x89, 0x02, 0xb7, 0xa7, 0xb1, 0x2b, 0xd4, 0x0f, 0x16, 0x82, 0xe7,
0xdc, 0x48, 0x4d, 0x06, 0xcf, 0xb5, 0xf0, 0x7b, 0x29, 0x19, 0x7e, 0x7f, 0x08, 0xeb, 0x27, 0x8c,
0x47, 0xcf, 0xa9, 0x3d, 0xa6, 0xbe, 0x15, 0x71, 0x3e, 0x37, 0x85, 0x56, 0x19, 0x72, 0x1f, 0x71,
0x6a, 0xa1, 0x30, 0x2d, 0x85, 0xc9, 0x0d, 0x3a, 0xb6, 0x42, 0xcf, 0x42, 0xe5, 0x05, 0x25, 0x50,
0xc9, 0xac, 0x71, 0xf0, 0xd0, 0x6b, 0x33, 0x60, 0x9c, 0xee, 0xcc, 0xb7, 0x67, 0xe7, 0xc2, 0x50,
0x51, 0x74, 0x4f, 0x18, 0x90, 0xbc, 0x01, 0x45, 0xb6, 0x26, 0x5c, 0xca, 0x63, 0x91, 0xdc, 0x04,
0x90, 0x20, 0xf2, 0x0e, 0x2c, 0x61, 0x1b, 0x41, 0xb3, 0x81, 0x0b, 0xa2, 0x1a, 0x49, 0x7a, 0xc7,
0x35, 0x05, 0x8e, 0xa9, 0x82, 0x73, 0xdf, 0xe1, 0x62, 0xa8, 0x6c, 0xe2, 0x6f, 0xf2, 0x13, 0x4d,
0xa6, 0xad, 0x62, 0xd9, 0x77, 0x44, 0xd9, 0x04, 0x2b, 0x5e, 0x27, 0xde, 0xbe, 0x53, 0x69, 0xf5,
0xd3, 0x7c, 0xa9, 0xd2, 0xa8, 0x1a, 0x4d, 0xcc, 0x19, 0x30, 0xe9, 0xc8, 0xbb, 0xa0, 0xfe, 0x55,
0x6c, 0x8d, 0x64, 0x60, 0x73, 0x01, 0x15, 0x85, 0x1e, 0x7d, 0x01, 0xb7, 0xa6, 0xde, 0x58, 0xee,
0xe9, 0x55, 0x09, 0x3c, 0xf4, 0xc6, 0x94, 0x59, 0xcd, 0x8a, 0xe8, 0xd4, 0x71, 0x9d, 0xe0, 0x9c,
0x8e, 0xc5, 0xd6, 0xde, 0x90, 0x88, 0x3d, 0x01, 0x67, 0xda, 0xe1, 0xcc, 0xf7, 0xce, 0xd4, 0x4e,
0x97, 0x31, 0xd5, 0xb3, 0xf1, 0x29, 0x14, 0xf8, 0x0c, 0xb2, 0x85, 0x82, 0xf3, 0x9b, 0x11, 0x0b,
0x05, 0xa1, 0x4d, 0x28, 0xba, 0x34, 0x7c, 0xe1, 0xf9, 0xcf, 0x65, 0x1c, 0x43, 0x3c, 0x1a, 0x3f,
0x43, 0xa7, 0x9a, 0x4a, 0xfe, 0xe0, 0x86, 0x31, 0x63, 0x61, 0xce, 0x82, 0xc1, 0xb9, 0x2d, 0xfc,
0x7c, 0x25, 0x04, 0x0c, 0xce, 0xed, 0x05, 0x16, 0xce, 0x2e, 0xe6, 0x7f, 0xbc, 0x03, 0x75, 0x99,
0x6e, 0x12, 0x58, 0x13, 0x7a, 0x1a, 0x8a, 0x25, 0x59, 0x15, 0xb9, 0x26, 0xc1, 0x01, 0x3d, 0x0d,
0x8d, 0x43, 0x58, 0x11, 0x8b, 0xa6, 0x3f, 0xa3, 0xb2, 0xe9, 0xcf, 0xd2, 0x34, 0xf6, 0xca, 0xc3,
0xd5, 0xb8, 0xb6, 0xc0, 0xd3, 0x68, 0x62, 0x6a, 0xbc, 0xf1, 0x65, 0xe4, 0xdd, 0x62, 0xba, 0x84,
0xa8, 0x4f, 0xe8, 0xcd, 0x32, 0xfc, 0x23, 0xa3, 0xa8, 0x4a, 0x3b, 0x77, 0xc6, 0x6c, 0x74, 0x82,
0xf9, 0x68, 0x24, 0xd3, 0x80, 0x4a, 0xa6, 0x7c, 0x34, 0xfe, 0x53, 0x06, 0x56, 0xb1, 0x32, 0x69,
0x71, 0x88, 0x9d, 0xe2, 0xe7, 0xee, 0x24, 0x9b, 0x1f, 0x5d, 0x81, 0xe3, 0x0f, 0xdf, 0xde, 0xb5,
0x9e, 0x5f, 0x70, 0xad, 0x7f, 0x1f, 0x1a, 0x63, 0x3a, 0x71, 0x90, 0x95, 0xa4, 0x3e, 0xc4, 0x6d,
0x8c, 0x65, 0x09, 0x17, 0x16, 0xb0, 0xf1, 0xb7, 0x33, 0xb0, 0xc2, 0xd5, 0x2d, 0xf4, 0x29, 0x88,
0x81, 0x7a, 0x2c, 0x8d, 0x67, 0x21, 0x4e, 0xc5, 0x3b, 0x45, 0x6a, 0x08, 0x42, 0x39, 0xf1, 0xfe,
0x0d, 0x61, 0x54, 0x0b, 0x28, 0xf9, 0x11, 0x5a, 0x49, 0xae, 0x85, 0x40, 0x11, 0x15, 0xbf, 0x99,
0xa2, 0xe0, 0xa9, 0xe2, 0xcc, 0x84, 0x72, 0x11, 0xb4, 0x53, 0x62, 0xd6, 0x3c, 0x03, 0x1b, 0x7b,
0x50, 0x8b, 0x35, 0x13, 0xf3, 0xf4, 0x57, 0xb9, 0xa7, 0x7f, 0x21, 0xf2, 0x96, 0x5d, 0x8c, 0xbc,
0x5d, 0xc1, 0xaa, 0x49, 0xed, 0xf1, 0xd5, 0x9e, 0xe7, 0x1f, 0x05, 0x27, 0xe1, 0x1e, 0xd7, 0x61,
0xd9, 0x1e, 0xa4, 0xc2, 0xc9, 0x31, 0x77, 0xba, 0x8c, 0x2a, 0x4a, 0x17, 0xc1, 0xf7, 0xa0, 0x1e,
0xc5, 0x9d, 0x35, 0x97, 0x6c, 0x4d, 0x85, 0x9e, 0xd1, 0x33, 0xcb, 0x8c, 0xd9, 0xe0, 0x24, 0x14,
0x4e, 0x59, 0xfc, 0x6d, 0xfc, 0xa5, 0x3c, 0x10, 0xc6, 0xcd, 0x09, 0x86, 0x49, 0x44, 0xcc, 0xb3,
0x0b, 0x11, 0xf3, 0x07, 0x40, 0x34, 0x02, 0x19, 0xc8, 0xcf, 0xa9, 0x40, 0x7e, 0x23, 0xa2, 0x15,
0x71, 0xfc, 0x07, 0xb0, 0x26, 0x0c, 0x82, 0x78, 0x57, 0x39, 0x6b, 0x10, 0x6e, 0x19, 0xc4, 0xfa,
0x2b, 0xa3, 0xe5, 0xd2, 0x8b, 0x9a, 0xe3, 0xd1, 0x72, 0xe9, 0xec, 0xd0, 0x18, 0x70, 0xe9, 0x95,
0x0c, 0x58, 0x5c, 0x60, 0x40, 0xcd, 0xf1, 0x55, 0x8a, 0x3b, 0xbe, 0x16, 0x5c, 0xb8, 0x5c, 0xfb,
0x8d, 0xb9, 0x70, 0xef, 0x41, 0x43, 0x3a, 0x41, 0x94, 0x7b, 0x8d, 0xa7, 0xb9, 0x08, 0x07, 0x67,
0x5b, 0x3a, 0xd8, 0x62, 0x31, 0x9d, 0x4a, 0x22, 0xa6, 0xf3, 0x3e, 0xac, 0x04, 0x8c, 0x7f, 0xad,
0xb9, 0x2b, 0x72, 0xdd, 0xe8, 0x18, 0x6d, 0xc5, 0x92, 0xd9, 0x40, 0xc4, 0x71, 0x04, 0x5f, 0x74,
0x17, 0xd5, 0x52, 0xdc, 0x45, 0x8f, 0xa2, 0xf0, 0x71, 0x70, 0xee, 0x4c, 0x51, 0xf1, 0x89, 0xf2,
0xb7, 0xc4, 0x00, 0x0f, 0xce, 0x9d, 0xa9, 0x29, 0x73, 0x15, 0xd8, 0x83, 0xf1, 0xbf, 0x33, 0xd0,
0x60, 0x7c, 0x10, 0x5b, 0x62, 0x9f, 0x03, 0x0a, 0x83, 0xd7, 0x5c, 0x61, 0x15, 0x46, 0x2b, 0x17,
0xd8, 0xa7, 0x80, 0x2b, 0xc6, 0x62, 0x86, 0xb1, 0x58, 0x5f, 0xcd, 0xf8, 0xfa, 0x8a, 0x64, 0xe8,
0xfe, 0x0d, 0x6e, 0x40, 0x31, 0x08, 0xf9, 0x1c, 0xca, 0x8c, 0x31, 0x91, 0x4b, 0x44, 0x3a, 0xa2,
0x54, 0x1f, 0x53, 0xd6, 0x08, 0x2b, 0x3a, 0x13, 0x8f, 0x69, 0x11, 0xff, 0x7c, 0x4a, 0xc4, 0x5f,
0x5b, 0xc0, 0xfb, 0x00, 0x4f, 0xe9, 0xd5, 0x81, 0x37, 0x42, 0xb3, 0xfd, 0x36, 0x00, 0xe3, 0xe5,
0x53, 0x7b, 0xea, 0x08, 0xaf, 0x53, 0xc1, 0x2c, 0x3f, 0xa7, 0x57, 0x7b, 0x08, 0x60, 0x13, 0xc9,
0xd0, 0xd1, 0x2a, 0x2e, 0x98, 0xa5, 0xe7, 0xf4, 0x8a, 0x2f, 0x61, 0x0b, 0x6a, 0x4f, 0xe9, 0xd5,
0x2e, 0xe5, 0x9a, 0xb2, 0xe7, 0x33, 0x26, 0xf2, 0xed, 0x17, 0x4c, 0x35, 0x8e, 0x45, 0xeb, 0x2b,
0xbe, 0xfd, 0xe2, 0x29, 0xbd, 0x92, 0x99, 0x03, 0x45, 0x86, 0x9f, 0x78, 0x23, 0xb1, 0xb7, 0xcb,
0xbc, 0xa3, 0xa8, 0x53, 0xe6, 0xd2, 0x73, 0xfc, 0x6d, 0xfc, 0x49, 0x06, 0x6a, 0xac, 0xff, 0x28,
0x96, 0xd9, 0x94, 0xc9, 0xf4, 0xb5, 0x4c, 0x94, 0xbe, 0xf6, 0x50, 0x48, 0x35, 0x2e, 0xe3, 0xb3,
0xd7, 0xcb, 0x78, 0x9c, 0x1b, 0x2e, 0xe0, 0x3f, 0x82, 0x32, 0x5f, 0x96, 0x6c, 0x9d, 0xe7, 0x62,
0x13, 0x1c, 0x7b, 0x21, 0xb3, 0x84, 0x64, 0x4f, 0x79, 0xb6, 0x8c, 0xe6, 0x53, 0xe5, 0x43, 0x5c,
0xf6, 0x95, 0x27, 0x35, 0x65, 0x1a, 0x0a, 0xd7, 0x64, 0xcb, 0xe8, 0x0e, 0xcb, 0xa5, 0xa4, 0xc3,
0xd2, 0xe8, 0x43, 0x89, 0x4d, 0x35, 0xbe, 0x6c, 0x4a, 0xa5, 0x99, 0xb4, 0x4a, 0x99, 0x26, 0x60,
0xb3, 0x4d, 0x81, 0x09, 0xba, 0xac, 0xd0, 0x04, 0xec, 0x80, 0x1e, 0xa1, 0xb0, 0xcb, 0x40, 0x45,
0x5b, 0x01, 0xe8, 0xf3, 0x55, 0xe3, 0xc5, 0x97, 0x4b, 0x9c, 0xc5, 0x63, 0x03, 0xbe, 0x7f, 0xc3,
0xac, 0x8d, 0x62, 0x33, 0xb0, 0x2d, 0x78, 0x15, 0x4b, 0x66, 0x63, 0x99, 0x76, 0xb2, 0xe3, 0x92,
0x41, 0xd9, 0xef, 0x9d, 0x25, 0xc8, 0x33, 0x52, 0xe3, 0x31, 0xac, 0x68, 0xdd, 0xe0, 0xbe, 0x8a,
0xd7, 0x7d, 0x43, 0xe3, 0x57, 0x55, 0x61, 0xd6, 0x06, 0x0f, 0x54, 0xca, 0xcc, 0x23, 0x3a, 0xe6,
0x2f, 0x2e, 0x32, 0x9c, 0x38, 0x88, 0x91, 0xbd, 0x76, 0x36, 0xcc, 0xaf, 0xc1, 0xaa, 0x56, 0xfb,
0x9e, 0xe3, 0xda, 0x13, 0xe7, 0x67, 0xb8, 0xe1, 0x07, 0xce, 0x99, 0x9b, 0xa8, 0x9f, 0x83, 0xbe,
0x55, 0xfd, 0x7f, 0x27, 0x0b, 0x6b, 0xa2, 0x01, 0xcc, 0x25, 0x75, 0x98, 0x16, 0x77, 0x18, 0x9c,
0x91, 0xcf, 0xa1, 0xc6, 0xc6, 0xc6, 0xf2, 0xe9, 0x99, 0x13, 0x84, 0x54, 0x06, 0x48, 0x53, 0x04,
0x17, 0xdb, 0xcc, 0x19, 0xa9, 0x29, 0x28, 0xc9, 0x63, 0xa8, 0x60, 0x51, 0xee, 0x0b, 0x12, 0x13,
0xd1, 0x5c, 0x2c, 0xc8, 0x07, 0x7a, 0xff, 0x86, 0x09, 0x41, 0x34, 0xec, 0x8f, 0xa1, 0x82, 0x73,
0x78, 0x81, 0x03, 0x99, 0x10, 0x55, 0x0b, 0x03, 0xcd, 0x0a, 0xcf, 0xa2, 0x61, 0x6f, 0x41, 0x8d,
0x0b, 0x2b, 0x31, 0x4e, 0x22, 0x47, 0x6d, 0x6b, 0xb1, 0xb8, 0x1c, 0x49, 0xd6, 0xf9, 0x99, 0xf6,
0xbc, 0x53, 0x86, 0x62, 0xe8, 0x3b, 0x67, 0x67, 0xd4, 0x37, 0x36, 0xd4, 0xd0, 0x30, 0x29, 0x4c,
0x07, 0x21, 0x9d, 0x31, 0xf5, 0xdc, 0xf8, 0xb7, 0x19, 0xa8, 0x08, 0xb9, 0xfa, 0x73, 0x47, 0x65,
0xb7, 0xb4, 0x24, 0x6f, 0xee, 0x76, 0x8a, 0x72, 0xba, 0xdf, 0x83, 0xe5, 0x29, 0xb3, 0x25, 0x98,
0xad, 0x1b, 0x0b, 0xc9, 0xd6, 0x25, 0x58, 0xa8, 0xc9, 0xdb, 0xb0, 0x8a, 0x5a, 0x73, 0x60, 0x85,
0xce, 0xc4, 0x92, 0x48, 0x91, 0x50, 0xbd, 0xc2, 0x51, 0x43, 0x67, 0x72, 0x28, 0x10, 0x4c, 0x79,
0x0c, 0x42, 0xfb, 0x8c, 0x8a, 0xb5, 0xcd, 0x1f, 0x98, 0x7d, 0x92, 0x30, 0x73, 0xa5, 0x7d, 0xf2,
0x7f, 0x57, 0x60, 0x73, 0x01, 0x25, 0xec, 0x13, 0x15, 0x83, 0x9b, 0x38, 0xd3, 0x13, 0x4f, 0xf9,
0x80, 0x33, 0x5a, 0x0c, 0xee, 0x80, 0x61, 0xa4, 0x0f, 0x98, 0xc2, 0xba, 0x64, 0x48, 0x74, 0xe2,
0x2a, 0x4b, 0x38, 0x8b, 0x76, 0xda, 0x47, 0xf1, 0x4d, 0x2c, 0xd9, 0x9c, 0x84, 0xeb, 0xaa, 0xd1,
0xea, 0x6c, 0x01, 0x16, 0x90, 0x3f, 0x0f, 0x4d, 0xc5, 0xf7, 0x42, 0x6d, 0xd7, 0xcc, 0x7a, 0xd6,
0xd2, 0x07, 0xaf, 0x68, 0x29, 0xe6, 0x80, 0x44, 0xdd, 0x69, 0x43, 0x2e, 0x19, 0x5e, 0xa1, 0x6a,
0xeb, 0x02, 0xde, 0x94, 0x6d, 0xa1, 0x1a, 0xbe, 0xd8, 0x62, 0xfe, 0xb5, 0xde, 0x0d, 0x9d, 0xab,
0xb1, 0x66, 0xcd, 0x5b, 0xa2, 0x62, 0x85, 0xd2, 0xdb, 0x3d, 0x87, 0x8d, 0x17, 0xb6, 0x13, 0xca,
0x77, 0xd4, 0xbc, 0x0a, 0x05, 0x6c, 0xef, 0xe1, 0x2b, 0xda, 0xfb, 0x8a, 0x17, 0x8e, 0x19, 0x26,
0x6b, 0x2f, 0x16, 0x81, 0xc1, 0xd6, 0x3f, 0xca, 0x41, 0x3d, 0x5e, 0x0b, 0x13, 0x2c, 0x62, 0xb3,
0x91, 0xfa, 0xa6, 0x50, 0x82, 0x45, 0x7c, 0xa2, 0xc7, 0xf5, 0xcc, 0xc5, 0xc8, 0x49, 0x36, 0x25,
0x72, 0xa2, 0x07, 0x2c, 0x72, 0xaf, 0x8a, 0x5f, 0xe7, 0x5f, 0x2b, 0x7e, 0x5d, 0x48, 0x8b, 0x5f,
0xff, 0xf0, 0xda, 0x80, 0x27, 0xf7, 0xcc, 0xa6, 0x06, 0x3b, 0x1f, 0x5d, 0x1f, 0xec, 0xe4, 0xda,
0xeb, 0x75, 0x81, 0x4e, 0x2d, 0x4c, 0x5b, 0xba, 0x26, 0xcc, 0xa0, 0x05, 0x6e, 0x53, 0x02, 0x9d,
0xe5, 0x6f, 0x11, 0xe8, 0xdc, 0xfa, 0x93, 0x0c, 0x90, 0xc5, 0xd5, 0x41, 0x9e, 0xf0, 0xa0, 0x94,
0x4b, 0x27, 0x42, 0x72, 0xff, 0xe0, 0xf5, 0x56, 0x98, 0x64, 0x08, 0x59, 0x9a, 0x7c, 0x08, 0xab,
0xfa, 0xb1, 0x0f, 0xdd, 0x6a, 0xaf, 0x99, 0x44, 0x47, 0x45, 0xfe, 0x27, 0x2d, 0x59, 0x20, 0xff,
0xca, 0x64, 0x81, 0xc2, 0x2b, 0x93, 0x05, 0x96, 0xe2, 0xc9, 0x02, 0x5b, 0xff, 0x31, 0x03, 0xab,
0x29, 0x4c, 0xfc, 0xdd, 0xbd, 0x33, 0xe3, 0xbd, 0x98, 0x58, 0xcb, 0x0a, 0xde, 0xd3, 0x25, 0xda,
0x81, 0xf4, 0x59, 0xb2, 0xa9, 0x08, 0xc4, 0x4e, 0x75, 0xff, 0x55, 0xd2, 0x25, 0x2a, 0x61, 0xea,
0xc5, 0xb7, 0x7e, 0x3b, 0x0b, 0x15, 0x0d, 0xc9, 0x46, 0x91, 0xb3, 0xac, 0x96, 0xaa, 0xc6, 0x35,
0x43, 0xf4, 0x39, 0xdc, 0x01, 0x11, 0x99, 0xe1, 0x78, 0xbe, 0xb8, 0x84, 0x1a, 0x88, 0x04, 0xdb,
0xb0, 0x2a, 0x03, 0x86, 0x34, 0xca, 0x5e, 0x15, 0x7b, 0x8d, 0x88, 0xfd, 0x8a, 0x4e, 0x22, 0xfd,
0x87, 0xd2, 0x1c, 0x8c, 0xe6, 0xce, 0xd2, 0x12, 0x6b, 0x44, 0xd4, 0x59, 0x4c, 0x22, 0xe3, 0xf3,
0x8f, 0x60, 0x5d, 0x85, 0x9d, 0x63, 0x25, 0x78, 0x24, 0x84, 0xc8, 0xf0, 0xb2, 0x56, 0xe4, 0x27,
0x70, 0x3b, 0xd1, 0xa7, 0x44, 0x51, 0x9e, 0x66, 0x7d, 0x33, 0xd6, 0x3b, 0xbd, 0x86, 0xad, 0xbf,
0x00, 0xb5, 0x98, 0xa0, 0xfc, 0xee, 0xa6, 0x3c, 0xe9, 0xe7, 0xe1, 0x23, 0xaa, 0xfb, 0x79, 0xb6,
0xfe, 0x57, 0x0e, 0xc8, 0xa2, 0xac, 0xfe, 0x45, 0x76, 0x61, 0x91, 0x31, 0x73, 0x29, 0x8c, 0xf9,
0xff, 0x4d, 0x7f, 0x88, 0xdc, 0x8d, 0x5a, 0xd4, 0x97, 0x2f, 0xce, 0x86, 0x42, 0xc8, 0x5e, 0x7c,
0x9a, 0xcc, 0x8d, 0x29, 0xc5, 0x4e, 0x2e, 0x69, 0x0a, 0x54, 0x22, 0x45, 0xe6, 0x18, 0x96, 0x6c,
0x77, 0x74, 0xee, 0xf9, 0x42, 0x0e, 0xfe, 0xd2, 0xb7, 0xde, 0x3e, 0xb7, 0x5b, 0x58, 0x1e, 0xb5,
0x36, 0x53, 0x54, 0x66, 0x7c, 0x04, 0x15, 0x0d, 0x4c, 0xca, 0x50, 0x38, 0xe8, 0x1e, 0xee, 0xf4,
0x1b, 0x37, 0x48, 0x0d, 0xca, 0x66, 0xa7, 0xdd, 0x7f, 0xd6, 0x31, 0x3b, 0xbb, 0x8d, 0x0c, 0x29,
0x41, 0xfe, 0xa0, 0x3f, 0x18, 0x36, 0xb2, 0xc6, 0x16, 0x34, 0x45, 0x8d, 0x8b, 0x81, 0x97, 0xdf,
0xcc, 0x2b, 0x77, 0x21, 0x22, 0x85, 0x89, 0xfe, 0x43, 0xa8, 0xea, 0xea, 0x8d, 0xe0, 0x88, 0x44,
0xe2, 0x01, 0x33, 0xce, 0x3d, 0x4d, 0x56, 0xb7, 0x81, 0x87, 0x9d, 0xc7, 0xaa, 0x58, 0x36, 0xa6,
0xb7, 0xa6, 0x84, 0x38, 0xd1, 0xf8, 0x89, 0xb1, 0xe1, 0x9f, 0x81, 0x7a, 0x3c, 0xc8, 0x20, 0x24,
0x52, 0x9a, 0xc1, 0xc9, 0x4a, 0xc7, 0xa2, 0x0e, 0xe4, 0x27, 0xd0, 0x48, 0x06, 0x29, 0x84, 0xf2,
0x7c, 0x4d, 0xf9, 0x65, 0x27, 0x1e, 0xb7, 0x20, 0xfb, 0xb0, 0x96, 0xa6, 0xe0, 0x21, 0x7f, 0x5c,
0xef, 0xa4, 0x20, 0x8b, 0x4a, 0x1c, 0xf9, 0x4c, 0x04, 0xab, 0x0a, 0x38, 0xfd, 0xef, 0xc4, 0xdb,
0xd7, 0x06, 0x7b, 0x9b, 0xff, 0xd3, 0xc2, 0x56, 0x17, 0x00, 0x11, 0x8c, 0x34, 0xa0, 0xda, 0x3f,
0xea, 0xf4, 0xac, 0xf6, 0x7e, 0xab, 0xd7, 0xeb, 0x1c, 0x34, 0x6e, 0x10, 0x02, 0x75, 0x0c, 0xb8,
0xef, 0x2a, 0x58, 0x86, 0xc1, 0x44, 0xd0, 0x50, 0xc2, 0xb2, 0x64, 0x0d, 0x1a, 0xdd, 0x5e, 0x02,
0x9a, 0x23, 0x4d, 0x58, 0x3b, 0xea, 0xf0, 0x18, 0x7d, 0xac, 0xde, 0x3c, 0x33, 0x1a, 0xc4, 0xeb,
0x32, 0xa3, 0xe1, 0x2b, 0x7b, 0x32, 0xa1, 0xa1, 0x58, 0x07, 0x52, 0x97, 0xfe, 0xbb, 0x19, 0x58,
0x4f, 0x20, 0x22, 0x4f, 0x3f, 0xd7, 0xa4, 0xe3, 0x3a, 0x74, 0x15, 0x81, 0x72, 0x35, 0xbd, 0x0f,
0x2b, 0xca, 0xf1, 0x94, 0xd8, 0x95, 0x1a, 0x0a, 0x21, 0x89, 0x3f, 0x84, 0x55, 0xcd, 0x7f, 0x95,
0x90, 0x15, 0x44, 0x43, 0x89, 0x02, 0xc6, 0xa6, 0x3a, 0xcc, 0x91, 0xe8, 0xf5, 0x18, 0x36, 0x92,
0x88, 0x28, 0x96, 0x17, 0xef, 0xaf, 0x7c, 0x24, 0x0f, 0x12, 0x8c, 0x10, 0xef, 0xad, 0x3e, 0xe1,
0xb2, 0xf9, 0xdf, 0x59, 0x02, 0xf2, 0xe5, 0x9c, 0xfa, 0x57, 0x78, 0x88, 0x28, 0x78, 0x55, 0xa6,
0xac, 0xf4, 0xb4, 0x64, 0x5f, 0xeb, 0xa0, 0x60, 0xda, 0x41, 0xbd, 0xfc, 0xab, 0x0f, 0xea, 0x15,
0x5e, 0x75, 0x50, 0xef, 0x6d, 0xa8, 0x39, 0x67, 0xae, 0xc7, 0x44, 0x21, 0xd3, 0x84, 0x83, 0xe6,
0xd2, 0xdd, 0xdc, 0xbd, 0xaa, 0x59, 0x15, 0x40, 0xa6, 0x07, 0x07, 0xe4, 0x71, 0x44, 0x44, 0xc7,
0x67, 0x78, 0x58, 0x55, 0x17, 0x82, 0x9d, 0xf1, 0x19, 0x15, 0x8e, 0x25, 0xb4, 0x34, 0x64, 0x61,
0x06, 0x0f, 0xc8, 0x3b, 0x50, 0x0f, 0xbc, 0x39, 0x33, 0x2c, 0xe4, 0x30, 0xf0, 0x60, 0x5e, 0x95,
0x43, 0x8f, 0x64, 0x68, 0x77, 0x75, 0x1e, 0x50, 0x6b, 0xea, 0x04, 0x01, 0x53, 0xcf, 0x46, 0x9e,
0x1b, 0xfa, 0xde, 0x44, 0xc4, 0xe7, 0x56, 0xe6, 0x01, 0x3d, 0xe4, 0x98, 0x36, 0x47, 0x90, 0x8f,
0xa3, 0x2e, 0xcd, 0x6c, 0xc7, 0x0f, 0x9a, 0x80, 0x5d, 0x92, 0x6f, 0x8a, 0xfa, 0xbb, 0xed, 0xf8,
0xaa, 0x2f, 0xec, 0x21, 0x48, 0x1c, 0x20, 0xac, 0x24, 0x0f, 0x10, 0xfe, 0xb9, 0xf4, 0x03, 0x84,
0x35, 0xac, 0xfa, 0x81, 0xa8, 0x7a, 0x71, 0x8a, 0xbf, 0xd5, 0x39, 0xc2, 0xc5, 0x73, 0x91, 0xf5,
0x6f, 0x73, 0x2e, 0x72, 0x39, 0xed, 0x5c, 0xe4, 0x47, 0x50, 0xc1, 0x13, 0x6b, 0xd6, 0x39, 0x26,
0xcd, 0xf1, 0x78, 0x63, 0x43, 0x3f, 0xd2, 0xb6, 0xef, 0xb8, 0xa1, 0x09, 0xbe, 0xfc, 0x19, 0x2c,
0x1e, 0x51, 0x5c, 0xf9, 0x05, 0x1e, 0x51, 0x14, 0x27, 0xeb, 0xb6, 0xa1, 0x24, 0xe7, 0x89, 0x10,
0xc8, 0x9f, 0xfa, 0xde, 0x54, 0xc6, 0x38, 0xd8, 0x6f, 0x52, 0x87, 0x6c, 0xe8, 0x89, 0xc2, 0xd9,
0xd0, 0x33, 0xfe, 0x2c, 0x54, 0x34, 0x56, 0x23, 0x6f, 0x71, 0xbf, 0x24, 0xb3, 0xcd, 0x84, 0x6e,
0xc9, 0x47, 0xb1, 0x2c, 0xa0, 0xdd, 0x31, 0x93, 0x37, 0x63, 0xc7, 0xa7, 0x78, 0x98, 0xd8, 0xf2,
0xe9, 0x05, 0xf5, 0x03, 0x19, 0x73, 0x6a, 0x28, 0x84, 0xc9, 0xe1, 0xc6, 0xaf, 0xc1, 0x6a, 0x6c,
0x6e, 0x85, 0x88, 0x78, 0x07, 0x96, 0x70, 0xdc, 0x64, 0x62, 0x43, 0xfc, 0xa8, 0xa0, 0xc0, 0xe1,
0xc1, 0x69, 0x1e, 0x2e, 0xb3, 0x66, 0xbe, 0x77, 0x82, 0x8d, 0x64, 0xcc, 0x8a, 0x80, 0x1d, 0xf9,
0xde, 0x89, 0xf1, 0x87, 0x39, 0xc8, 0xed, 0x7b, 0x33, 0x3d, 0xd1, 0x2e, 0xb3, 0x90, 0x68, 0x27,
0x0c, 0x4e, 0x4b, 0x19, 0x94, 0x42, 0x67, 0xc7, 0x40, 0x91, 0x34, 0x2a, 0xef, 0x41, 0x9d, 0xc9,
0x89, 0xd0, 0x63, 0x16, 0xfb, 0x0b, 0xdb, 0xe7, 0x0a, 0x31, 0xcf, 0x5b, 0xad, 0xda, 0xd3, 0x70,
0xe8, 0xed, 0x71, 0x38, 0x59, 0x83, 0x9c, 0x32, 0x5f, 0x10, 0xcd, 0x1e, 0xc9, 0x06, 0x2c, 0x61,
0x5a, 0xfc, 0x95, 0x08, 0xcc, 0x8b, 0x27, 0xf2, 0x03, 0x58, 0x8d, 0xd7, 0xcb, 0x45, 0x91, 0xd0,
0x8d, 0xf4, 0x8a, 0x51, 0x26, 0xdd, 0x04, 0x26, 0x47, 0x38, 0x8d, 0x48, 0x00, 0x3a, 0xa5, 0x14,
0x51, 0x9a, 0xd0, 0x2b, 0xc5, 0x84, 0xde, 0x1d, 0xa8, 0x84, 0x93, 0x0b, 0x6b, 0x66, 0x5f, 0x4d,
0x3c, 0x7b, 0x2c, 0xd6, 0x37, 0x84, 0x93, 0x8b, 0x23, 0x0e, 0x21, 0x1f, 0x02, 0x4c, 0x67, 0x33,
0xb1, 0xf6, 0x30, 0xf8, 0x11, 0xb1, 0xf2, 0xe1, 0xd1, 0x11, 0x67, 0x39, 0xb3, 0x3c, 0x9d, 0xcd,
0xf8, 0x4f, 0xb2, 0x0b, 0xf5, 0xd4, 0x03, 0xbf, 0xb7, 0x65, 0xfa, 0xb2, 0x37, 0xdb, 0x4e, 0x59,
0x9c, 0xb5, 0x91, 0x0e, 0xdb, 0xfa, 0x09, 0x90, 0x3f, 0xe5, 0xb1, 0xdb, 0x21, 0x94, 0x55, 0xff,
0xf4, 0x53, 0xab, 0x78, 0x2e, 0xa3, 0x12, 0x3b, 0xb5, 0xda, 0x1a, 0x8f, 0x7d, 0x26, 0x17, 0xf9,
0x86, 0xa9, 0x44, 0x3e, 0x68, 0x3b, 0xa6, 0x48, 0xfc, 0x37, 0xfe, 0x7b, 0x06, 0x0a, 0xfc, 0x08,
0xed, 0xbb, 0xb0, 0xcc, 0xe9, 0x55, 0xd2, 0xa2, 0x08, 0xe7, 0xf3, 0x7d, 0x77, 0x28, 0xf2, 0x15,
0xd9, 0xb2, 0xd0, 0xae, 0x15, 0xc8, 0xaa, 0x99, 0xd7, 0xae, 0x16, 0xb8, 0x03, 0x65, 0xd5, 0xb4,
0xc6, 0x3a, 0x25, 0xd9, 0x32, 0x79, 0x13, 0xf2, 0xe7, 0xde, 0x4c, 0x7a, 0x7e, 0x20, 0x1a, 0x49,
0x13, 0xe1, 0x51, 0x5f, 0x58, 0x1b, 0xd1, 0x81, 0x84, 0x9c, 0xe8, 0x0b, 0x6b, 0x04, 0xd9, 0x60,
0xf1, 0x1d, 0x97, 0x52, 0xde, 0xf1, 0x18, 0x96, 0x99, 0x1c, 0xd0, 0x72, 0x0a, 0xae, 0xdf, 0x34,
0xbf, 0xcf, 0x34, 0xbc, 0xd1, 0x64, 0x3e, 0xa6, 0xba, 0xef, 0x0d, 0x93, 0xf4, 0x04, 0x5c, 0x6a,
0xd6, 0xc6, 0xef, 0x64, 0xb8, 0x7c, 0x61, 0xf5, 0x92, 0x7b, 0x90, 0x77, 0x65, 0xfe, 0x41, 0xa4,
0xc7, 0xa9, 0x03, 0x32, 0x8c, 0xce, 0x44, 0x0a, 0x36, 0x75, 0x18, 0xb5, 0xd7, 0x6b, 0xaf, 0x99,
0x15, 0x77, 0x3e, 0x55, 0xae, 0xab, 0xef, 0xc9, 0xd7, 0x4a, 0xb8, 0x7d, 0xf8, 0xdb, 0xab, 0x65,
0xba, 0xad, 0x65, 0xfb, 0xe5, 0x63, 0x3b, 0xa6, 0xd4, 0x02, 0xc7, 0x67, 0x54, 0xcb, 0xf2, 0xfb,
0xbd, 0x2c, 0xd4, 0x62, 0x3d, 0xc2, 0x74, 0x47, 0xb6, 0x01, 0xf0, 0xc0, 0x92, 0x98, 0x6f, 0x60,
0x20, 0xa1, 0xa8, 0x6b, 0xe3, 0x94, 0x8d, 0x8d, 0x93, 0x4a, 0x20, 0xca, 0xe9, 0x09, 0x44, 0x0f,
0xa0, 0x1c, 0x5d, 0x27, 0x11, 0xef, 0x12, 0x6b, 0x4f, 0x1e, 0x13, 0x8a, 0x88, 0xa2, 0x94, 0xa3,
0x82, 0x9e, 0x72, 0xf4, 0x85, 0x96, 0xa1, 0xb2, 0x84, 0xd5, 0x18, 0x69, 0x23, 0xfa, 0x0b, 0xc9,
0x4f, 0x31, 0x1e, 0x43, 0x45, 0xeb, 0xbc, 0x9e, 0xe5, 0x91, 0x89, 0x65, 0x79, 0xa8, 0x63, 0x7e,
0xd9, 0xe8, 0x98, 0x9f, 0xf1, 0x97, 0xb3, 0x50, 0x63, 0xeb, 0xcb, 0x71, 0xcf, 0x8e, 0xbc, 0x89,
0x33, 0xc2, 0x40, 0x93, 0x5a, 0x61, 0x42, 0xd1, 0x92, 0xeb, 0x4c, 0x2c, 0x31, 0xae, 0x67, 0xe9,
0x67, 0x9c, 0xb9, 0x90, 0x56, 0x67, 0x9c, 0x0d, 0xa8, 0x31, 0xc1, 0x88, 0x21, 0xa3, 0xe8, 0x52,
0x0a, 0xb3, 0x72, 0x4a, 0xe9, 0x8e, 0x1d, 0x70, 0x09, 0xf9, 0x03, 0x58, 0x65, 0x34, 0x78, 0xbc,
0x73, 0xea, 0x4c, 0x26, 0x4e, 0x74, 0x02, 0x28, 0x67, 0x36, 0x4e, 0x29, 0x35, 0xed, 0x90, 0x1e,
0x32, 0x84, 0xb8, 0xc3, 0xa2, 0x34, 0x76, 0x02, 0xfb, 0x24, 0x4a, 0x4a, 0x55, 0xcf, 0x18, 0x59,
0xb6, 0x2f, 0xb5, 0xc8, 0xf2, 0x92, 0x38, 0x1c, 0x64, 0x5f, 0xaa, 0xc8, 0x72, 0x82, 0x93, 0x8a,
0x49, 0x4e, 0x32, 0xfe, 0x75, 0x16, 0x2a, 0x1a, 0x5b, 0xbe, 0xce, 0xee, 0x7a, 0x7b, 0x21, 0x30,
0x58, 0xd6, 0x63, 0x80, 0x6f, 0xc7, 0x9b, 0xcc, 0xa9, 0x63, 0x22, 0x3a, 0x03, 0xdf, 0x82, 0x32,
0x5b, 0x75, 0x1f, 0xa1, 0x0b, 0x56, 0xdc, 0x21, 0x83, 0x80, 0xa3, 0xf9, 0x89, 0x44, 0x3e, 0x44,
0x64, 0x21, 0x42, 0x3e, 0x64, 0xc8, 0x97, 0xa5, 0x89, 0x7f, 0x0a, 0x55, 0x51, 0x2b, 0xce, 0x29,
0xbe, 0x6e, 0xb4, 0xea, 0x63, 0xf3, 0x6d, 0x56, 0x78, 0x73, 0x7c, 0xf2, 0x45, 0xc1, 0x87, 0xb2,
0x60, 0xe9, 0x55, 0x05, 0x1f, 0xf2, 0x07, 0x63, 0x4f, 0x65, 0xde, 0x63, 0x6e, 0x98, 0x94, 0x63,
0x1f, 0xc2, 0xaa, 0x14, 0x57, 0x73, 0xd7, 0x76, 0x5d, 0x6f, 0xee, 0x8e, 0xa8, 0x3c, 0xe9, 0x47,
0x04, 0xea, 0x38, 0xc2, 0x18, 0x63, 0x75, 0x6c, 0x9c, 0xe7, 0x98, 0xdd, 0x87, 0x02, 0xd7, 0xcb,
0xb9, 0xf2, 0x91, 0x2e, 0xb8, 0x38, 0x09, 0xb9, 0x07, 0x05, 0xae, 0x9e, 0x67, 0xaf, 0x15, 0x36,
0x9c, 0xc0, 0x68, 0x01, 0x61, 0x05, 0x0f, 0x69, 0xe8, 0x3b, 0xa3, 0x20, 0x3a, 0x44, 0x58, 0x60,
0xf6, 0x27, 0x6f, 0x2b, 0xf2, 0xdc, 0x46, 0x94, 0x68, 0xa3, 0x72, 0x1a, 0xb6, 0x31, 0xad, 0xc6,
0xea, 0x10, 0xea, 0xd2, 0x04, 0x36, 0x4e, 0x68, 0xf8, 0x82, 0x52, 0xd7, 0x65, 0xca, 0xd0, 0x88,
0xba, 0xa1, 0x6f, 0x4f, 0xd8, 0x24, 0xf1, 0x37, 0x78, 0xb4, 0x50, 0x6b, 0xe4, 0x03, 0xd9, 0x89,
0x0a, 0xb6, 0x55, 0x39, 0x2e, 0x3b, 0xd6, 0x4f, 0xd2, 0x70, 0x5b, 0xbf, 0x0a, 0x5b, 0xd7, 0x17,
0x4a, 0x39, 0x40, 0x7c, 0x2f, 0x2e, 0x55, 0x54, 0x1c, 0x70, 0xe2, 0xd9, 0x21, 0xef, 0x8d, 0x2e,
0x59, 0x7a, 0x50, 0xd1, 0x30, 0xd1, 0xde, 0x9f, 0x41, 0xe5, 0x8e, 0x3f, 0xb0, 0x1d, 0xc9, 0xf5,
0xfc, 0x29, 0xc6, 0xdd, 0xc6, 0x56, 0x54, 0x7b, 0xc6, 0x5c, 0x8e, 0xe0, 0x78, 0x8f, 0x82, 0xb1,
0x0d, 0xcb, 0xa8, 0xd9, 0x6b, 0x1b, 0xdd, 0xcb, 0x94, 0x41, 0x63, 0x0d, 0x48, 0x8f, 0xcb, 0x2e,
0x3d, 0xdf, 0xee, 0x3f, 0xe7, 0xa0, 0xa2, 0x81, 0xd9, 0x6e, 0x84, 0x49, 0x8a, 0xd6, 0xd8, 0xb1,
0xa7, 0x54, 0x06, 0x39, 0x6b, 0x66, 0x0d, 0xa1, 0xbb, 0x02, 0xc8, 0xf6, 0x62, 0xfb, 0xe2, 0xcc,
0xf2, 0xe6, 0xa1, 0x35, 0xa6, 0x67, 0x3e, 0x95, 0xbd, 0xac, 0xda, 0x17, 0x67, 0xfd, 0x79, 0xb8,
0x8b, 0x30, 0x46, 0xc5, 0x64, 0x89, 0x46, 0x25, 0x72, 0xd6, 0xa6, 0xf6, 0x65, 0x44, 0x25, 0x92,
0x3b, 0x39, 0x67, 0xe6, 0x55, 0x72, 0x27, 0xb7, 0x16, 0x93, 0x1b, 0x68, 0x61, 0x71, 0x03, 0xfd,
0x18, 0x36, 0xf8, 0x06, 0x2a, 0x44, 0xb3, 0x95, 0x58, 0xc9, 0x6b, 0x88, 0x15, 0x2f, 0xa9, 0xa9,
0xbd, 0x0d, 0xf6, 0x06, 0x52, 0x2c, 0x05, 0xce, 0xcf, 0xb8, 0x20, 0xcb, 0x98, 0xec, 0xcd, 0x44,
0xe5, 0x03, 0xe7, 0x67, 0x94, 0x51, 0x62, 0x76, 0x8c, 0x4e, 0x29, 0x0e, 0x81, 0x4c, 0x1d, 0x37,
0x49, 0x69, 0x5f, 0xc6, 0x29, 0xcb, 0x82, 0xd2, 0xbe, 0xd4, 0x29, 0x1f, 0xc1, 0xe6, 0x94, 0x8e,
0x1d, 0x3b, 0x5e, 0xad, 0x15, 0x29, 0x6e, 0x6b, 0x1c, 0xad, 0x95, 0x19, 0x70, 0xc3, 0x9d, 0x8d,
0xc6, 0xcf, 0xbc, 0xe9, 0x89, 0xc3, 0x75, 0x16, 0x9e, 0xaf, 0x93, 0x37, 0xeb, 0xee, 0x7c, 0xfa,
0x2b, 0x08, 0x66, 0x45, 0x02, 0xa3, 0x06, 0x95, 0x41, 0xe8, 0xcd, 0xe4, 0x34, 0xd7, 0xa1, 0xca,
0x1f, 0xc5, 0xf1, 0xd9, 0x5b, 0x70, 0x13, 0x45, 0xc2, 0xd0, 0x9b, 0x79, 0x13, 0xef, 0xec, 0x2a,
0xe6, 0xc7, 0xfb, 0x77, 0x19, 0x58, 0x8d, 0x61, 0x85, 0x78, 0xfd, 0x98, 0xcb, 0x33, 0x75, 0xf8,
0x8f, 0xaf, 0xc1, 0x15, 0x6d, 0x0d, 0x72, 0x42, 0x2e, 0xcc, 0xe4, 0x81, 0xc0, 0x56, 0x74, 0xcf,
0x87, 0x2c, 0xc8, 0x45, 0x4a, 0x73, 0x51, 0xa4, 0x88, 0xf2, 0xf2, 0x06, 0x10, 0x59, 0xc5, 0x2f,
0x89, 0x83, 0x3a, 0x63, 0xf1, 0xca, 0xb9, 0xf8, 0x69, 0x07, 0xdd, 0xe7, 0x27, 0x7b, 0x10, 0x39,
0x02, 0x03, 0xe3, 0x1f, 0x67, 0x00, 0xa2, 0xde, 0xe1, 0x79, 0x0b, 0xa5, 0xb7, 0x64, 0x30, 0x55,
0x56, 0xd3, 0x51, 0xde, 0x82, 0xaa, 0xca, 0xaa, 0x8e, 0x34, 0xa1, 0x8a, 0x84, 0x31, 0x75, 0xe8,
0x3d, 0x58, 0x3e, 0x9b, 0x78, 0x27, 0xa8, 0xb1, 0x0a, 0xbd, 0x85, 0xe7, 0xab, 0xd5, 0x39, 0x58,
0x6a, 0x23, 0x91, 0xde, 0x94, 0x4f, 0x4d, 0xbc, 0xd6, 0xb5, 0x20, 0xe3, 0x6f, 0x66, 0x55, 0xea,
0x66, 0x34, 0x12, 0x2f, 0x37, 0xef, 0x7e, 0x9e, 0x5c, 0x9a, 0x97, 0x85, 0x17, 0x1f, 0x43, 0xdd,
0xe7, 0x9b, 0x92, 0xdc, 0xb1, 0xf2, 0x2f, 0xd9, 0xb1, 0x6a, 0x7e, 0x4c, 0xd3, 0xf9, 0x3e, 0x34,
0xec, 0xf1, 0x05, 0xf5, 0x43, 0x07, 0xbd, 0xf5, 0xa8, 0x1f, 0x8b, 0x64, 0x49, 0x0d, 0x8e, 0x8a,
0xe8, 0x7b, 0xb0, 0x2c, 0x8e, 0x74, 0x2b, 0x4a, 0x71, 0xa1, 0x54, 0x04, 0x66, 0x84, 0xc6, 0x3f,
0x93, 0xb9, 0xa2, 0xf1, 0xd9, 0x7d, 0xf9, 0xa8, 0xe8, 0x6f, 0x98, 0x5d, 0x0c, 0xa0, 0x0a, 0x46,
0x12, 0x41, 0x00, 0x21, 0x8f, 0x38, 0x50, 0x84, 0x00, 0xe2, 0xc3, 0x9a, 0x7f, 0x9d, 0x61, 0x35,
0xfe, 0x7d, 0x06, 0x8a, 0xfb, 0xde, 0x6c, 0xdf, 0xe1, 0x27, 0x0e, 0x70, 0x99, 0xa8, 0x18, 0xd5,
0x12, 0x7b, 0xc4, 0xc4, 0x9f, 0x97, 0x1c, 0x8a, 0x4b, 0x55, 0xf3, 0x6a, 0x71, 0x35, 0xef, 0x0b,
0xb8, 0x85, 0x21, 0x40, 0xdf, 0x9b, 0x79, 0x3e, 0x5b, 0xaa, 0xf6, 0x84, 0xab, 0x7b, 0x9e, 0x1b,
0x9e, 0x4b, 0xd9, 0x79, 0xf3, 0x94, 0xd2, 0x23, 0x8d, 0xe2, 0x50, 0x11, 0xe0, 0x81, 0xd8, 0x49,
0x78, 0x61, 0x71, 0x0b, 0x5d, 0xe8, 0xa3, 0x5c, 0xa2, 0x2e, 0x33, 0x44, 0x07, 0xe1, 0xa8, 0x91,
0x1a, 0x9f, 0x41, 0x59, 0x39, 0x7b, 0xc8, 0xfb, 0x50, 0x3e, 0xf7, 0x66, 0xc2, 0x23, 0x94, 0x89,
0x1d, 0x1c, 0x14, 0x6f, 0x6d, 0x96, 0xce, 0xf9, 0x8f, 0xc0, 0xf8, 0xc3, 0x22, 0x14, 0xbb, 0xee,
0x85, 0xe7, 0x8c, 0x30, 0xdb, 0x74, 0x4a, 0xa7, 0x9e, 0xbc, 0x57, 0x82, 0xfd, 0xc6, 0xdc, 0xac,
0xe8, 0x5a, 0xa8, 0x9c, 0xc8, 0xcd, 0x52, 0x17, 0x42, 0xad, 0xc3, 0x92, 0xaf, 0xdf, 0xeb, 0x54,
0xf0, 0x31, 0x47, 0x5f, 0xed, 0x97, 0x05, 0xed, 0xb6, 0x0e, 0x56, 0x17, 0xbf, 0x6f, 0x08, 0x87,
0x8c, 0x1f, 0x6a, 0x2d, 0x23, 0x04, 0x07, 0xec, 0x0d, 0x28, 0x8a, 0x73, 0x7a, 0xfc, 0x60, 0x15,
0x4f, 0xaa, 0x17, 0x20, 0xe4, 0x06, 0x9f, 0xf2, 0x10, 0xae, 0x52, 0x64, 0x73, 0x66, 0x55, 0x02,
0x77, 0x19, 0xaf, 0xdd, 0x81, 0x0a, 0xa7, 0xe7, 0x24, 0x25, 0x91, 0xa4, 0x89, 0x20, 0x24, 0x48,
0xb9, 0x1e, 0xad, 0x9c, 0x7a, 0x3d, 0x1a, 0xa6, 0x13, 0x2b, 0x29, 0xcb, 0x5f, 0x11, 0xf8, 0xa5,
0x58, 0x1a, 0x5c, 0xde, 0x39, 0x28, 0x7c, 0x2a, 0xfc, 0xbc, 0xb7, 0xf4, 0xa9, 0xbc, 0x0d, 0xb5,
0x53, 0x7b, 0x32, 0x39, 0xb1, 0x47, 0xcf, 0xb9, 0x2b, 0xa0, 0xca, 0xbd, 0x9f, 0x12, 0x88, 0xbe,
0x80, 0x3b, 0x50, 0xd1, 0x66, 0x19, 0x33, 0x30, 0xf3, 0x26, 0x44, 0xf3, 0x9b, 0xf4, 0xf0, 0xd5,
0x5f, 0xc3, 0xc3, 0xa7, 0x65, 0xa2, 0x2e, 0xc7, 0x33, 0x51, 0x6f, 0xa1, 0x34, 0x15, 0x29, 0x87,
0x0d, 0x7e, 0x03, 0x93, 0x3d, 0x1e, 0x63, 0xca, 0x21, 0x3a, 0xb2, 0xf8, 0xe0, 0x71, 0xfc, 0x0a,
0xb7, 0x25, 0x38, 0x8c, 0x93, 0xdc, 0xe6, 0x6e, 0xea, 0x99, 0xed, 0x8c, 0xf1, 0x60, 0x04, 0xf7,
0x1e, 0x14, 0xed, 0x69, 0x78, 0x64, 0x3b, 0x63, 0x72, 0x17, 0xaa, 0x12, 0x8d, 0xbb, 0xe3, 0x2a,
0x1f, 0x7f, 0x81, 0x1e, 0xf0, 0xdb, 0x0c, 0x14, 0xc5, 0x54, 0x1d, 0xd8, 0x36, 0x2b, 0x82, 0x04,
0xf9, 0xe0, 0x23, 0xcc, 0xf2, 0x09, 0x29, 0x1e, 0xc9, 0xae, 0x3f, 0xbc, 0xa5, 0x92, 0x0f, 0x90,
0x4b, 0xe5, 0x7f, 0x1e, 0x1c, 0xe3, 0x94, 0x4c, 0xb9, 0xe3, 0x31, 0xba, 0x8d, 0x98, 0xfe, 0x2b,
0x48, 0x31, 0x46, 0xc7, 0x09, 0xc8, 0x67, 0x9a, 0xfd, 0xda, 0x44, 0xe2, 0x37, 0x12, 0xf5, 0x5f,
0x77, 0x70, 0xec, 0x36, 0x80, 0x13, 0xb0, 0x5d, 0x26, 0xa0, 0xee, 0x18, 0x4f, 0x56, 0x97, 0xcc,
0xb2, 0x13, 0x3c, 0xe5, 0x80, 0xef, 0xd6, 0xb0, 0x6d, 0x41, 0x55, 0x7f, 0x4d, 0x52, 0x82, 0x7c,
0xff, 0xa8, 0xd3, 0x6b, 0xdc, 0x20, 0x15, 0x28, 0x0e, 0x3a, 0xc3, 0xe1, 0x01, 0x46, 0xfa, 0xaa,
0x50, 0x52, 0x87, 0x2d, 0xb3, 0xec, 0xa9, 0xd5, 0x6e, 0x77, 0x8e, 0x86, 0x9d, 0xdd, 0x46, 0xee,
0xa7, 0xf9, 0x52, 0xb6, 0x91, 0x33, 0xfe, 0x28, 0x07, 0x15, 0x6d, 0x14, 0x5e, 0x2e, 0x8c, 0x6f,
0x03, 0xa0, 0x25, 0x19, 0x65, 0xa4, 0xe6, 0xcd, 0x32, 0x83, 0xf0, 0xc9, 0xd7, 0x63, 0x14, 0xfc,
0x6a, 0x0b, 0x15, 0xa3, 0x78, 0x1b, 0x6a, 0xfc, 0xf2, 0x09, 0x3d, 0x5e, 0x5b, 0x30, 0xab, 0x1c,
0x28, 0x44, 0x35, 0x9e, 0xc2, 0x46, 0x22, 0x3c, 0x02, 0x28, 0x6e, 0xc7, 0xe1, 0x20, 0x3c, 0x04,
0x88, 0x27, 0x38, 0x03, 0x6f, 0x72, 0x41, 0x39, 0x05, 0xd7, 0x08, 0x2b, 0x02, 0x36, 0x14, 0x27,
0xdc, 0x85, 0x3c, 0xd4, 0x8e, 0x01, 0x17, 0xcc, 0x2a, 0x07, 0x8a, 0x86, 0x7e, 0x20, 0x19, 0x88,
0x67, 0xaf, 0x6c, 0x2e, 0x72, 0x43, 0x8c, 0x79, 0x0e, 0x16, 0xdc, 0x88, 0x65, 0x64, 0x8c, 0xef,
0x2d, 0x96, 0x7b, 0xb5, 0x3b, 0x91, 0xbc, 0x0f, 0x64, 0x3a, 0x9b, 0x59, 0x29, 0x0e, 0xbe, 0xbc,
0xb9, 0x3c, 0x9d, 0xcd, 0x86, 0x9a, 0xff, 0xeb, 0x3b, 0xf0, 0x3d, 0x7e, 0x03, 0xa4, 0xc5, 0x16,
0x30, 0x76, 0x51, 0x99, 0x62, 0x91, 0x58, 0xce, 0xe8, 0x62, 0x39, 0x45, 0xfa, 0x65, 0x53, 0xa5,
0xdf, 0xcb, 0xe4, 0x84, 0xb1, 0x07, 0x95, 0x23, 0xed, 0x0e, 0xbe, 0xbb, 0x6c, 0x87, 0x90, 0xb7,
0xef, 0xf1, 0xbd, 0x83, 0xfb, 0x14, 0x7d, 0x71, 0xe9, 0x9e, 0xd6, 0x9b, 0xac, 0xd6, 0x1b, 0xe3,
0x1f, 0x66, 0xf8, 0x9d, 0x45, 0xaa, 0xf3, 0xd1, 0xb5, 0x7f, 0x32, 0xfc, 0x16, 0x9d, 0xd6, 0xaf,
0xc8, 0xb0, 0x9b, 0x38, 0x68, 0x8f, 0x5d, 0xb3, 0xbc, 0xd3, 0xd3, 0x80, 0xca, 0x1c, 0x8f, 0x0a,
0xc2, 0xfa, 0x08, 0x92, 0xca, 0x37, 0xd3, 0xf0, 0x1d, 0x5e, 0x7f, 0x20, 0x12, 0x3b, 0x98, 0xf2,
0x7d, 0x68, 0x5f, 0x8a, 0x56, 0x03, 0xa6, 0x82, 0x88, 0xf8, 0x80, 0x3c, 0xd0, 0xab, 0x9e, 0x8d,
0xbf, 0x27, 0x2e, 0x14, 0x48, 0x8e, 0xef, 0x7d, 0x28, 0xa9, 0x5a, 0xe3, 0x3b, 0xac, 0xa4, 0x54,
0x78, 0xb6, 0x8f, 0xa3, 0x33, 0x24, 0xd6, 0x63, 0xbe, 0xb8, 0x30, 0xc6, 0xd3, 0xd5, 0x7a, 0xfd,
0x01, 0x90, 0x53, 0xc7, 0x4f, 0x12, 0xf3, 0xc5, 0xd6, 0x40, 0x8c, 0x46, 0x6d, 0x1c, 0xc3, 0xaa,
0x94, 0x12, 0x9a, 0x45, 0x10, 0x9f, 0xbc, 0xcc, 0x2b, 0x84, 0x7c, 0x76, 0x41, 0xc8, 0x1b, 0xbf,
0x51, 0x80, 0xa2, 0xbc, 0xcf, 0x32, 0xed, 0x0e, 0xc6, 0x72, 0xfc, 0x0e, 0xc6, 0x66, 0xec, 0x66,
0x2e, 0x9c, 0x7a, 0xb1, 0xdf, 0xbf, 0x97, 0xdc, 0xb2, 0xb5, 0x58, 0x45, 0x6c, 0xdb, 0x16, 0xb1,
0x8a, 0x42, 0x3c, 0x56, 0x91, 0x76, 0x2f, 0x25, 0x57, 0x3d, 0x17, 0xee, 0xa5, 0xbc, 0x05, 0x5c,
0x8f, 0xd0, 0x92, 0xdb, 0x4a, 0x08, 0x60, 0x7b, 0x4e, 0x5c, 0xed, 0x28, 0x25, 0xd5, 0x8e, 0xd7,
0x56, 0x09, 0x3e, 0x86, 0x25, 0x7e, 0x39, 0x89, 0x38, 0xa0, 0x2c, 0x37, 0x0e, 0x31, 0x56, 0xf2,
0x3f, 0x3f, 0xf1, 0x60, 0x0a, 0x5a, 0xfd, 0x92, 0xb7, 0x4a, 0xec, 0x92, 0x37, 0x3d, 0x86, 0x52,
0x8d, 0xc7, 0x50, 0xee, 0x41, 0x43, 0x0d, 0x1c, 0x7a, 0x24, 0xdd, 0x40, 0x9c, 0x6e, 0xac, 0x4b,
0x38, 0x93, 0x86, 0xbd, 0x20, 0xda, 0xf8, 0xea, 0xb1, 0x8d, 0x8f, 0xc9, 0xaa, 0x56, 0x18, 0xd2,
0xe9, 0x2c, 0x94, 0x1b, 0x9f, 0x76, 0x15, 0x28, 0x9f, 0xf9, 0x65, 0x7e, 0x3b, 0x91, 0x00, 0x72,
0xee, 0xd8, 0x81, 0xfa, 0xa9, 0xed, 0x4c, 0xe6, 0x3e, 0xb5, 0x7c, 0x6a, 0x07, 0x9e, 0x8b, 0x8b,
0x3f, 0xda, 0x83, 0xc5, 0x2b, 0xee, 0x71, 0x1a, 0x13, 0x49, 0xcc, 0xda, 0xa9, 0xfe, 0x88, 0x87,
0x98, 0xf4, 0x91, 0x60, 0x5b, 0x96, 0x38, 0xe7, 0xcc, 0x73, 0x55, 0xba, 0x3d, 0x6b, 0xef, 0xa0,
0xfb, 0x64, 0x7f, 0xd8, 0xc8, 0xb0, 0xc7, 0xc1, 0x71, 0xbb, 0xdd, 0xe9, 0xec, 0xe2, 0x16, 0x06,
0xb0, 0xb4, 0xd7, 0xea, 0x1e, 0x88, 0x0d, 0x2c, 0xdf, 0x28, 0x18, 0xff, 0x2a, 0x0b, 0x15, 0xed,
0x6d, 0xc8, 0x23, 0x35, 0x09, 0xfc, 0x2a, 0xb1, 0xdb, 0x8b, 0x6f, 0xbc, 0x2d, 0x25, 0xbc, 0x36,
0x0b, 0xea, 0xd2, 0xcf, 0xec, 0xb5, 0x97, 0x7e, 0x92, 0x77, 0x61, 0xd9, 0xe6, 0x35, 0xa8, 0x41,
0x17, 0xce, 0x7d, 0x01, 0x16, 0x63, 0x8e, 0x19, 0xa4, 0xd1, 0x36, 0xc5, 0xe8, 0xf2, 0x32, 0x69,
0x53, 0xed, 0x54, 0x38, 0x37, 0x45, 0x31, 0x32, 0x22, 0x18, 0xaf, 0x36, 0x7c, 0x31, 0x5e, 0x12,
0xcd, 0x4f, 0x36, 0x6a, 0x1c, 0x5e, 0x35, 0xd5, 0xb3, 0xf1, 0x09, 0x40, 0xf4, 0x3e, 0xf1, 0xe1,
0xbb, 0x11, 0x1f, 0xbe, 0x8c, 0x36, 0x7c, 0x59, 0xe3, 0x9f, 0x0a, 0xd1, 0x25, 0xe6, 0x42, 0xb9,
0xfa, 0x7e, 0x00, 0xd2, 0xf9, 0x68, 0x61, 0x92, 0xf7, 0x6c, 0x42, 0x43, 0x79, 0x38, 0x73, 0x45,
0x60, 0xba, 0x0a, 0xb1, 0x20, 0x6a, 0xb3, 0x8b, 0xa2, 0xf6, 0x2d, 0xa8, 0xe2, 0x95, 0x56, 0xa2,
0x21, 0x21, 0xae, 0x2a, 0x53, 0xfb, 0x52, 0xb6, 0x1d, 0x93, 0xb1, 0xf9, 0x84, 0x8c, 0xfd, 0xfb,
0x19, 0x7e, 0xff, 0x49, 0xd4, 0xd1, 0x48, 0xc8, 0xaa, 0x3a, 0xe3, 0x42, 0x56, 0x90, 0x9a, 0x0a,
0x7f, 0x8d, 0xe0, 0xcc, 0xa6, 0x0b, 0xce, 0x74, 0x91, 0x9c, 0x4b, 0x15, 0xc9, 0xc6, 0x16, 0x34,
0x77, 0x29, 0x1b, 0x8a, 0xd6, 0x64, 0x92, 0x18, 0x4b, 0xe3, 0x16, 0xdc, 0x4c, 0xc1, 0x09, 0xaf,
0xcd, 0x97, 0xb0, 0xde, 0xe2, 0x17, 0x43, 0x7c, 0x57, 0x87, 0x27, 0x8d, 0x26, 0x6c, 0x24, 0xab,
0x14, 0x8d, 0xed, 0xc1, 0xca, 0x2e, 0x3d, 0x99, 0x9f, 0x1d, 0xd0, 0x8b, 0xa8, 0x21, 0x02, 0xf9,
0xe0, 0xdc, 0x7b, 0x21, 0x26, 0x17, 0x7f, 0x63, 0x5a, 0x26, 0xa3, 0xb1, 0x82, 0x19, 0x1d, 0x49,
0xcf, 0x3d, 0x42, 0x06, 0x33, 0x3a, 0x32, 0x1e, 0x01, 0xd1, 0xeb, 0x11, 0x33, 0xc1, 0xcc, 0xaa,
0xf9, 0x89, 0x15, 0x5c, 0x05, 0x21, 0x9d, 0xca, 0x43, 0x83, 0x10, 0xcc, 0x4f, 0x06, 0x1c, 0x62,
0xbc, 0x07, 0xd5, 0x23, 0xfb, 0xca, 0xa4, 0xdf, 0x88, 0xb3, 0x79, 0x9b, 0x50, 0x9c, 0xd9, 0x57,
0x4c, 0x9e, 0xaa, 0x20, 0x1e, 0xa2, 0x8d, 0x7f, 0x9e, 0x87, 0x25, 0x4e, 0x49, 0xee, 0xf2, 0x2b,
0xb5, 0x1d, 0x17, 0xe5, 0x99, 0xdc, 0x59, 0x34, 0xd0, 0xc2, 0xe6, 0x93, 0x5d, 0xdc, 0x7c, 0x84,
0xc7, 0x51, 0xde, 0x8b, 0x25, 0xc3, 0x2d, 0xee, 0x7c, 0x2a, 0x2f, 0xc3, 0x8a, 0xdf, 0x8e, 0x90,
0x8f, 0xae, 0x62, 0xe7, 0x27, 0xc3, 0xe3, 0x01, 0xf1, 0xc8, 0x78, 0xe3, 0xbd, 0x93, 0x7b, 0xaa,
0xd8, 0x77, 0x74, 0x50, 0xaa, 0x85, 0x58, 0x94, 0x07, 0x4e, 0xe3, 0x16, 0xe2, 0x82, 0x25, 0x58,
0x7a, 0xb5, 0x25, 0xc8, 0x5d, 0x91, 0x2f, 0xb1, 0x04, 0xe1, 0x35, 0x2c, 0xc1, 0xd7, 0x08, 0x46,
0xdf, 0x84, 0x12, 0x2a, 0x4a, 0xda, 0x36, 0xc4, 0x14, 0x24, 0xb6, 0x0d, 0x7d, 0xaa, 0xd9, 0x4a,
0x3c, 0x13, 0x46, 0xdb, 0x07, 0x4c, 0xfa, 0xcd, 0x2f, 0x26, 0xc8, 0xf7, 0x35, 0x14, 0x05, 0x94,
0x31, 0xb4, 0x6b, 0x4f, 0xe5, 0x0d, 0x8b, 0xf8, 0x9b, 0x0d, 0x1b, 0xde, 0x87, 0xf6, 0xcd, 0xdc,
0xf1, 0xe9, 0x58, 0xde, 0xca, 0xe4, 0xe0, 0x1a, 0x65, 0x10, 0xf6, 0x82, 0xcc, 0x6e, 0x73, 0xbd,
0x17, 0xae, 0x90, 0x3d, 0x45, 0x27, 0x78, 0xca, 0x1e, 0x0d, 0x02, 0x0d, 0xbc, 0x8f, 0x75, 0xe6,
0xf9, 0x72, 0x97, 0x37, 0x7e, 0x37, 0x03, 0x0d, 0xb1, 0xba, 0x14, 0x4e, 0x37, 0x9b, 0x0a, 0xd7,
0x25, 0x6e, 0xbc, 0xfc, 0x8e, 0x25, 0x03, 0x6a, 0xe8, 0x2d, 0x52, 0x5b, 0x3e, 0xf7, 0x76, 0x55,
0x18, 0x70, 0x4f, 0x6c, 0xfb, 0x6f, 0x42, 0x45, 0x26, 0x8d, 0x4f, 0x9d, 0x89, 0xfc, 0xea, 0x02,
0xcf, 0x1a, 0x3f, 0x74, 0x26, 0x52, 0x63, 0xf0, 0x6d, 0x71, 0x00, 0x3a, 0x83, 0x1a, 0x83, 0x69,
0x87, 0xd4, 0xf8, 0x97, 0x19, 0x58, 0xd1, 0x5e, 0x45, 0xac, 0xdb, 0x1f, 0x41, 0x55, 0x5d, 0x84,
0x4c, 0x95, 0xaa, 0xba, 0x19, 0x17, 0x34, 0x51, 0xb1, 0xca, 0x48, 0x41, 0x02, 0xd6, 0x99, 0xb1,
0x7d, 0xc5, 0x33, 0x9b, 0xe7, 0x53, 0x69, 0x0d, 0x8e, 0xed, 0xab, 0x3d, 0x4a, 0x07, 0xf3, 0x29,
0xb3, 0xf5, 0x5f, 0x50, 0xfa, 0x5c, 0x11, 0x70, 0xf1, 0x09, 0x0c, 0x26, 0x28, 0x0c, 0xa8, 0x4d,
0x3d, 0x37, 0x3c, 0x57, 0x24, 0x42, 0x4d, 0x47, 0x20, 0xa7, 0x31, 0xfe, 0x20, 0x0b, 0xab, 0xdc,
0x27, 0x29, 0x7c, 0xc1, 0x42, 0x74, 0x35, 0x61, 0x89, 0xbb, 0x67, 0xb9, 0xf0, 0xda, 0xbf, 0x61,
0x8a, 0x67, 0xf2, 0xf1, 0x6b, 0xfa, 0x51, 0xe5, 0x19, 0xeb, 0x6b, 0x86, 0x3f, 0xb7, 0x38, 0xfc,
0xd7, 0x0f, 0x6f, 0x5a, 0x64, 0xb8, 0x90, 0x16, 0x19, 0x7e, 0x9d, 0x78, 0xec, 0xc2, 0x69, 0xe0,
0xe2, 0xe2, 0x85, 0x8e, 0x8f, 0x60, 0x33, 0x46, 0x83, 0xd2, 0xda, 0x39, 0x75, 0xa8, 0xbc, 0x55,
0x67, 0x4d, 0xa3, 0x1e, 0x48, 0xdc, 0x4e, 0x11, 0x0a, 0xc1, 0xc8, 0x9b, 0x51, 0x63, 0x03, 0xd6,
0xe2, 0xa3, 0x2a, 0xb6, 0x89, 0xdf, 0xca, 0x40, 0x53, 0xe4, 0xf1, 0x38, 0xee, 0xd9, 0xbe, 0x13,
0x84, 0x9e, 0xaf, 0x2e, 0x0c, 0xbe, 0x0d, 0xc0, 0xbf, 0x00, 0x81, 0xc6, 0xb7, 0xb8, 0x47, 0x06,
0x21, 0x68, 0x7a, 0xdf, 0x84, 0x12, 0x75, 0xc7, 0x1c, 0xc9, 0xb9, 0xa1, 0x48, 0xdd, 0xb1, 0x34,
0xdc, 0x17, 0xb6, 0xd2, 0x5a, 0x5c, 0x49, 0x10, 0x37, 0x22, 0xb0, 0xd1, 0xa1, 0x17, 0xb8, 0xa5,
0xe7, 0xd5, 0x8d, 0x08, 0x87, 0xf6, 0x25, 0x66, 0xc5, 0x06, 0xc6, 0xdf, 0xca, 0xc2, 0x72, 0xd4,
0x3f, 0x7e, 0x27, 0xcc, 0xcb, 0x6f, 0xb7, 0xb9, 0x2b, 0xd8, 0xc1, 0x61, 0x06, 0x8f, 0xe6, 0xa9,
0x2d, 0xf1, 0xc5, 0xd9, 0x75, 0x89, 0x01, 0x15, 0x49, 0xe1, 0xcd, 0x43, 0xed, 0x12, 0xca, 0x32,
0x27, 0xe9, 0xcf, 0x43, 0x66, 0xa1, 0x32, 0x53, 0xdd, 0x71, 0x85, 0x8d, 0x58, 0xb0, 0xa7, 0x61,
0x17, 0x3f, 0x33, 0xc2, 0xc0, 0xac, 0x18, 0x9f, 0x48, 0x46, 0xc5, 0xe8, 0x1b, 0xdc, 0x60, 0xe1,
0x33, 0x87, 0xc6, 0x8a, 0xae, 0xcd, 0xf3, 0x9b, 0xd1, 0x95, 0x36, 0xff, 0x26, 0x54, 0x78, 0xe5,
0xd1, 0xe1, 0xef, 0xbc, 0x59, 0xc6, 0x16, 0x10, 0x2f, 0xbc, 0x66, 0xde, 0x3c, 0xe6, 0x2b, 0x00,
0xde, 0x14, 0xa6, 0xc9, 0xfc, 0xb5, 0x0c, 0xdc, 0x4c, 0x99, 0x36, 0xb1, 0xca, 0xdb, 0xb0, 0x72,
0xaa, 0x90, 0x72, 0x74, 0xf9, 0x52, 0xdf, 0x90, 0x62, 0x35, 0x3e, 0xa6, 0x66, 0xe3, 0x34, 0x0e,
0x88, 0xac, 0x54, 0x3e, 0x83, 0xb1, 0xab, 0x05, 0x50, 0x25, 0xe2, 0xd3, 0xc8, 0x0d, 0xc4, 0x23,
0xd8, 0xea, 0x5c, 0x32, 0x89, 0xa1, 0x52, 0x6b, 0x47, 0xcf, 0xe7, 0x32, 0x7a, 0x95, 0xf0, 0xc8,
0x67, 0x5e, 0xcb, 0x23, 0x3f, 0xe6, 0x67, 0x91, 0x55, 0x5d, 0x3f, 0x4f, 0x25, 0xb8, 0x81, 0xb2,
0x32, 0x27, 0x58, 0x85, 0xbc, 0x63, 0x80, 0x81, 0x78, 0xa5, 0x46, 0x00, 0xcb, 0x87, 0xf3, 0x49,
0xe8, 0xb4, 0x15, 0x88, 0x7c, 0x2c, 0xca, 0x60, 0x3b, 0x72, 0xd4, 0x52, 0x1b, 0x02, 0xd5, 0x10,
0x0e, 0xd6, 0x94, 0x55, 0x64, 0x2d, 0xb6, 0xb7, 0x3c, 0x8d, 0xb7, 0x60, 0xdc, 0x84, 0xcd, 0xe8,
0x89, 0x0f, 0x9b, 0xdc, 0x6a, 0xfe, 0x41, 0x86, 0xa7, 0xe0, 0x73, 0xdc, 0xc0, 0xb5, 0x67, 0xc1,
0xb9, 0x17, 0x92, 0x0e, 0xac, 0x06, 0x8e, 0x7b, 0x36, 0xa1, 0x7a, 0xf5, 0x81, 0x18, 0x84, 0xf5,
0x78, 0xdf, 0x78, 0xd1, 0xc0, 0x5c, 0xe1, 0x25, 0xa2, 0xda, 0x02, 0xb2, 0x73, 0x5d, 0x27, 0x23,
0xb6, 0x48, 0x8c, 0xc6, 0x62, 0xe7, 0xbb, 0x50, 0x8f, 0x37, 0x44, 0x3e, 0x15, 0x47, 0xf8, 0xa3,
0x5e, 0xe5, 0x12, 0xe7, 0x9b, 0x23, 0x86, 0xa8, 0x44, 0x63, 0x1f, 0x18, 0x7f, 0x23, 0x03, 0x4d,
0x93, 0x32, 0xce, 0xd5, 0x7a, 0x29, 0x79, 0xe6, 0x47, 0x0b, 0xb5, 0x5e, 0xff, 0xae, 0xf2, 0x66,
0x00, 0xd9, 0xa3, 0x0f, 0xae, 0x9d, 0x8c, 0xfd, 0x1b, 0x0b, 0x6f, 0xb4, 0x53, 0x82, 0x25, 0x4e,
0x62, 0x6c, 0xc2, 0xba, 0xe8, 0x8f, 0xec, 0x4b, 0x14, 0x6e, 0x8d, 0xb5, 0x18, 0x0b, 0xb7, 0x6e,
0x41, 0x93, 0x9f, 0xd5, 0xd5, 0x5f, 0x42, 0x14, 0xdc, 0x05, 0x72, 0x68, 0x8f, 0x6c, 0xdf, 0xf3,
0xdc, 0x23, 0xea, 0x8b, 0x84, 0x66, 0xd4, 0x30, 0x31, 0x1a, 0x29, 0x55, 0x61, 0xfe, 0x24, 0xaf,
0xde, 0xf5, 0x5c, 0x99, 0xbf, 0xc5, 0x9f, 0x0c, 0x13, 0x56, 0x77, 0xec, 0xe7, 0x54, 0xd6, 0x24,
0x87, 0xe8, 0x31, 0x54, 0x66, 0xaa, 0x52, 0x39, 0xee, 0xf2, 0x8a, 0x91, 0xc5, 0x66, 0x4d, 0x9d,
0xda, 0x78, 0x08, 0x6b, 0xf1, 0x3a, 0x85, 0xe8, 0xd8, 0x82, 0xd2, 0x54, 0xc0, 0x44, 0xef, 0xd4,
0xb3, 0xf1, 0x9b, 0x25, 0x28, 0x0a, 0x4b, 0x95, 0x6c, 0x43, 0x7e, 0x24, 0x73, 0xe8, 0xa2, 0xeb,
0xb7, 0x04, 0x56, 0xfe, 0x6f, 0x63, 0x26, 0x1d, 0xa3, 0x23, 0x8f, 0xa1, 0x1e, 0x0f, 0x23, 0x27,
0x6e, 0x02, 0x88, 0xc7, 0x7f, 0x6b, 0xa3, 0x44, 0xc0, 0xb0, 0x1c, 0x6d, 0x8e, 0x5c, 0x67, 0x28,
0x9d, 0x6b, 0xbb, 0xa7, 0xe7, 0x32, 0x7d, 0x3b, 0x38, 0xb7, 0xad, 0x87, 0x8f, 0x3e, 0x11, 0x57,
0x01, 0x54, 0x10, 0x38, 0x38, 0xb7, 0x1f, 0x3e, 0xfa, 0x24, 0xa9, 0x49, 0x8b, 0x8b, 0x00, 0x34,
0x4d, 0x7a, 0x0d, 0x0a, 0xfc, 0x7e, 0x59, 0x9e, 0x0c, 0xc5, 0x1f, 0xc8, 0x03, 0x58, 0x93, 0xce,
0x0f, 0x91, 0xb6, 0xce, 0xa5, 0x60, 0x89, 0x9f, 0x14, 0x14, 0xb8, 0x01, 0xa2, 0xb8, 0xbb, 0x64,
0x03, 0x96, 0xce, 0xa3, 0x0b, 0x83, 0x6b, 0xa6, 0x78, 0x32, 0xfe, 0xa0, 0x00, 0x15, 0x6d, 0x50,
0x48, 0x15, 0x4a, 0x66, 0x67, 0xd0, 0x31, 0x9f, 0x75, 0x76, 0x1b, 0x37, 0xc8, 0x3d, 0x78, 0xa7,
0xdb, 0x6b, 0xf7, 0x4d, 0xb3, 0xd3, 0x1e, 0x5a, 0x7d, 0xd3, 0x92, 0x97, 0xc0, 0x1d, 0xb5, 0xbe,
0x3e, 0xec, 0xf4, 0x86, 0xd6, 0x6e, 0x67, 0xd8, 0xea, 0x1e, 0x0c, 0x1a, 0x19, 0xf2, 0x06, 0x34,
0x23, 0x4a, 0x89, 0x6e, 0x1d, 0xf6, 0x8f, 0x7b, 0xc3, 0x46, 0x96, 0xdc, 0x81, 0x5b, 0x7b, 0xdd,
0x5e, 0xeb, 0xc0, 0x8a, 0x68, 0xda, 0x07, 0xc3, 0x67, 0x56, 0xe7, 0x97, 0x8f, 0xba, 0xe6, 0xd7,
0x8d, 0x5c, 0x1a, 0xc1, 0xfe, 0xf0, 0xa0, 0x2d, 0x6b, 0xc8, 0x93, 0x9b, 0xb0, 0xce, 0x09, 0x78,
0x11, 0x6b, 0xd8, 0xef, 0x5b, 0x83, 0x7e, 0xbf, 0xd7, 0x28, 0x90, 0x15, 0xa8, 0x75, 0x7b, 0xcf,
0x5a, 0x07, 0xdd, 0x5d, 0xcb, 0xec, 0xb4, 0x0e, 0x0e, 0x1b, 0x4b, 0x64, 0x15, 0x96, 0x93, 0x74,
0x45, 0x56, 0x85, 0xa4, 0xeb, 0xf7, 0xba, 0xfd, 0x9e, 0xf5, 0xac, 0x63, 0x0e, 0xba, 0xfd, 0x5e,
0xa3, 0x44, 0x36, 0x80, 0xc4, 0x51, 0xfb, 0x87, 0xad, 0x76, 0xa3, 0x4c, 0xd6, 0x61, 0x25, 0x0e,
0x7f, 0xda, 0xf9, 0xba, 0x01, 0xa4, 0x09, 0x6b, 0xbc, 0x63, 0xd6, 0x4e, 0xe7, 0xa0, 0xff, 0x95,
0x75, 0xd8, 0xed, 0x75, 0x0f, 0x8f, 0x0f, 0x1b, 0x15, 0xbc, 0x5b, 0xb2, 0xd3, 0xb1, 0xba, 0xbd,
0xc1, 0xf1, 0xde, 0x5e, 0xb7, 0xdd, 0xed, 0xf4, 0x86, 0x8d, 0x2a, 0x6f, 0x39, 0xed, 0xc5, 0x6b,
0xac, 0x80, 0x38, 0xdb, 0x62, 0xed, 0x76, 0x07, 0xad, 0x9d, 0x83, 0xce, 0x6e, 0xa3, 0x4e, 0x6e,
0xc3, 0xcd, 0x61, 0xe7, 0xf0, 0xa8, 0x6f, 0xb6, 0xcc, 0xaf, 0xe5, 0xd9, 0x17, 0x6b, 0xaf, 0xd5,
0x3d, 0x38, 0x36, 0x3b, 0x8d, 0x65, 0xf2, 0x16, 0xdc, 0x36, 0x3b, 0x5f, 0x1e, 0x77, 0xcd, 0xce,
0xae, 0xd5, 0xeb, 0xef, 0x76, 0xac, 0xbd, 0x4e, 0x6b, 0x78, 0x6c, 0x76, 0xac, 0xc3, 0xee, 0x60,
0xd0, 0xed, 0x3d, 0x69, 0x34, 0xc8, 0x3b, 0x70, 0x57, 0x91, 0xa8, 0x0a, 0x12, 0x54, 0x2b, 0xec,
0xfd, 0xe4, 0x94, 0xf6, 0x3a, 0xbf, 0x3c, 0xb4, 0x8e, 0x3a, 0x1d, 0xb3, 0x41, 0xc8, 0x16, 0x6c,
0x44, 0xcd, 0xf3, 0x06, 0x44, 0xdb, 0xab, 0x0c, 0x77, 0xd4, 0x31, 0x0f, 0x5b, 0x3d, 0x36, 0xc1,
0x31, 0xdc, 0x1a, 0xeb, 0x76, 0x84, 0x4b, 0x76, 0x7b, 0x9d, 0x10, 0xa8, 0x6b, 0xb3, 0xb2, 0xd7,
0x32, 0x1b, 0x1b, 0x64, 0x19, 0x2a, 0x87, 0x47, 0x47, 0xd6, 0xb0, 0x7b, 0xd8, 0xe9, 0x1f, 0x0f,
0x1b, 0x9b, 0x64, 0x1d, 0x1a, 0xdd, 0xde, 0xb0, 0x63, 0xb2, 0xb9, 0x96, 0x45, 0xff, 0x47, 0x91,
0xac, 0xc1, 0xb2, 0xec, 0xa9, 0x84, 0xfe, 0x71, 0x91, 0x6c, 0x02, 0x39, 0xee, 0x99, 0x9d, 0xd6,
0x2e, 0x1b, 0x38, 0x85, 0xf8, 0x9f, 0x45, 0x11, 0x52, 0xfa, 0xdd, 0x9c, 0xda, 0xac, 0xa3, 0x1c,
0x8d, 0xf8, 0x2d, 0xfa, 0x55, 0xed, 0xf6, 0xfb, 0x57, 0x7d, 0x0b, 0x47, 0x33, 0xad, 0x72, 0x0b,
0xa6, 0xd5, 0x82, 0xed, 0x5e, 0xd3, 0x75, 0xbf, 0xb7, 0xa1, 0x36, 0xe5, 0x37, 0xea, 0x8b, 0xeb,
0xa2, 0x41, 0x24, 0x2c, 0x71, 0x20, 0xbf, 0x2b, 0x7a, 0xe1, 0x63, 0x30, 0x85, 0xc5, 0x8f, 0xc1,
0xa4, 0xe9, 0xf7, 0x4b, 0x69, 0xfa, 0xfd, 0x7d, 0x58, 0xe1, 0xa2, 0xc9, 0x71, 0x9d, 0xa9, 0xb4,
0x9a, 0xb9, 0x16, 0xb8, 0x8c, 0x22, 0x8a, 0xc3, 0xa5, 0x39, 0x21, 0x4d, 0x0e, 0x21, 0x42, 0x8a,
0xc2, 0xda, 0x88, 0x59, 0x1a, 0x5c, 0x72, 0x28, 0x4b, 0x43, 0xb5, 0x60, 0x5f, 0x46, 0x2d, 0x54,
0xb4, 0x16, 0x38, 0x1c, 0x5b, 0xb8, 0x0f, 0x2b, 0xf4, 0x32, 0xf4, 0x6d, 0xcb, 0x9b, 0xd9, 0xdf,
0xcc, 0x31, 0xe6, 0x6d, 0xa3, 0x0d, 0x5f, 0x35, 0x97, 0x11, 0xd1, 0x47, 0xf8, 0xae, 0x1d, 0xda,
0xf7, 0xff, 0x22, 0x54, 0xb4, 0xaf, 0x2d, 0x90, 0x4d, 0x58, 0xfd, 0xaa, 0x3b, 0xec, 0x75, 0x06,
0x03, 0xeb, 0xe8, 0x78, 0xe7, 0x69, 0xe7, 0x6b, 0x6b, 0xbf, 0x35, 0xd8, 0x6f, 0xdc, 0x60, 0x8b,
0xb6, 0xd7, 0x19, 0x0c, 0x3b, 0xbb, 0x31, 0x78, 0x86, 0xbc, 0x09, 0x5b, 0xc7, 0xbd, 0xe3, 0x41,
0x67, 0xd7, 0x4a, 0x2b, 0x97, 0x65, 0x5c, 0x2a, 0xf0, 0x29, 0xc5, 0x73, 0xf7, 0x7f, 0x0d, 0xea,
0xf1, 0x63, 0xe0, 0x04, 0x60, 0xe9, 0xa0, 0xf3, 0xa4, 0xd5, 0xfe, 0x9a, 0xdf, 0x3e, 0x3b, 0x18,
0xb6, 0x86, 0xdd, 0xb6, 0x25, 0x6e, 0x9b, 0x65, 0x12, 0x21, 0x43, 0x2a, 0x50, 0x6c, 0xf5, 0xda,
0xfb, 0x7d, 0x73, 0xd0, 0xc8, 0x92, 0x37, 0x60, 0x53, 0xf2, 0x6a, 0xbb, 0x7f, 0x78, 0xd8, 0x1d,
0xa2, 0x30, 0x1c, 0x7e, 0x7d, 0xc4, 0x58, 0xf3, 0xbe, 0x0d, 0xe5, 0xe8, 0xba, 0x5c, 0x14, 0x30,
0xdd, 0x61, 0xb7, 0x35, 0x8c, 0xa4, 0x6b, 0xe3, 0x06, 0x93, 0x5f, 0x11, 0x18, 0x6f, 0xbb, 0x6d,
0x64, 0xf8, 0x49, 0x39, 0x09, 0xe4, 0xad, 0x37, 0xb2, 0x6c, 0x51, 0x45, 0xd0, 0x9d, 0xfe, 0x90,
0xbd, 0xc2, 0xe7, 0x50, 0x8f, 0xe7, 0x43, 0xc6, 0x1d, 0xdb, 0x5b, 0xb0, 0xb1, 0xd3, 0x19, 0x7e,
0xd5, 0xe9, 0xf4, 0x70, 0x74, 0xda, 0x9d, 0xde, 0xd0, 0x6c, 0x1d, 0x74, 0x87, 0x5f, 0x37, 0x32,
0xf7, 0x1f, 0x43, 0x23, 0x19, 0x7c, 0x8c, 0x45, 0x6b, 0x5f, 0x16, 0xd6, 0xbd, 0xff, 0x5f, 0x33,
0xb0, 0x96, 0xe6, 0x77, 0x67, 0x73, 0x28, 0x16, 0x27, 0x13, 0xd1, 0x83, 0x7e, 0xcf, 0xea, 0xf5,
0xf1, 0x7a, 0xcb, 0x2d, 0xd8, 0x48, 0x20, 0xa4, 0x24, 0xc8, 0x90, 0x5b, 0xb0, 0xb9, 0x50, 0xc8,
0x32, 0xfb, 0xc7, 0xf8, 0xda, 0x4d, 0x58, 0x4b, 0x20, 0x3b, 0xa6, 0xd9, 0x37, 0x1b, 0x39, 0xf2,
0x01, 0xdc, 0x4b, 0x60, 0x16, 0x37, 0x26, 0xb9, 0x6f, 0xe5, 0xc9, 0x7b, 0xf0, 0xf6, 0x02, 0x75,
0x24, 0xbb, 0xad, 0x9d, 0xd6, 0x01, 0x7b, 0xbd, 0x46, 0xe1, 0xfe, 0x3f, 0xc9, 0x01, 0x44, 0x07,
0x8e, 0x58, 0xfb, 0xbb, 0xad, 0x61, 0xeb, 0xa0, 0xcf, 0xd8, 0xcb, 0xec, 0x0f, 0x59, 0xed, 0x66,
0xe7, 0xcb, 0xc6, 0x8d, 0x54, 0x4c, 0xff, 0x88, 0xbd, 0xd0, 0x26, 0xac, 0xf2, 0xa9, 0x3a, 0x60,
0xaf, 0xd1, 0xed, 0x3d, 0xe1, 0x37, 0xa5, 0xe2, 0xee, 0x77, 0x7c, 0xb4, 0x67, 0xf6, 0x7b, 0x43,
0x6b, 0xb0, 0x7f, 0x3c, 0xdc, 0xc5, 0x7b, 0x56, 0xdb, 0x66, 0xf7, 0x88, 0xd7, 0x99, 0x7f, 0x19,
0x01, 0xab, 0xba, 0xc0, 0xd6, 0xc2, 0x93, 0xfe, 0x60, 0xd0, 0x3d, 0xb2, 0xbe, 0x3c, 0xee, 0x98,
0xdd, 0xce, 0x00, 0x0b, 0x2e, 0xa5, 0xc0, 0x19, 0x7d, 0x91, 0xed, 0x99, 0xc3, 0x83, 0x67, 0x62,
0x53, 0x63, 0xa4, 0xa5, 0x38, 0x88, 0x51, 0x95, 0xd9, 0xec, 0xb0, 0x5d, 0x21, 0xa5, 0x66, 0xb8,
0x06, 0xc7, 0xca, 0x55, 0xd8, 0x7e, 0xb7, 0xb0, 0x48, 0xb0, 0x58, 0x35, 0x1d, 0xc5, 0x4a, 0xe1,
0x56, 0xa8, 0x14, 0x87, 0xdd, 0x5d, 0x13, 0x0b, 0xd4, 0x17, 0xa0, 0x8c, 0x76, 0x99, 0x31, 0x21,
0xdb, 0x36, 0x18, 0x49, 0x43, 0x3e, 0x30, 0xcc, 0xca, 0xc3, 0xff, 0x70, 0x07, 0xca, 0x2a, 0xf1,
0x98, 0xfc, 0x14, 0x6a, 0xb1, 0x93, 0xa0, 0x44, 0xba, 0x05, 0xd3, 0x0e, 0x8e, 0x6e, 0xbd, 0x91,
0x8e, 0x14, 0x1a, 0xe8, 0xa1, 0x66, 0x61, 0xf0, 0xca, 0xde, 0x48, 0x6a, 0xfd, 0xb1, 0xda, 0x6e,
0x5f, 0x83, 0x15, 0xd5, 0x3d, 0xc5, 0x4b, 0x5b, 0xf5, 0xef, 0x5b, 0x92, 0xdb, 0xd1, 0x0d, 0x9a,
0x29, 0xdf, 0xbd, 0xdc, 0xba, 0xb9, 0xf8, 0x25, 0x4a, 0xf9, 0xe9, 0xca, 0x5d, 0xa8, 0x68, 0x9f,
0x6d, 0x22, 0x37, 0xaf, 0xfd, 0xc4, 0xd4, 0xd6, 0x56, 0x1a, 0x4a, 0x74, 0xe9, 0x0b, 0x28, 0xab,
0x4f, 0xf8, 0x90, 0x4d, 0xed, 0xf3, 0x4b, 0xfa, 0x87, 0x88, 0xb6, 0x9a, 0x8b, 0x08, 0x51, 0x7e,
0x17, 0x2a, 0xda, 0x97, 0x78, 0x54, 0x2f, 0x16, 0xbf, 0xf6, 0xa3, 0x7a, 0x91, 0xf6, 0xe1, 0x9e,
0x03, 0x58, 0x17, 0x76, 0xcc, 0x09, 0xfd, 0x36, 0xc3, 0x93, 0xf2, 0xa1, 0xce, 0x07, 0x19, 0xf2,
0x18, 0x4a, 0xf2, 0x9b, 0x4b, 0x64, 0x23, 0xfd, 0x8b, 0x52, 0x5b, 0x9b, 0x0b, 0x70, 0xd1, 0x95,
0x16, 0x40, 0xf4, 0x8d, 0x1f, 0x22, 0x5f, 0x7c, 0xe1, 0x9b, 0x41, 0x6a, 0x66, 0x52, 0x3e, 0x08,
0xb4, 0x0b, 0x15, 0xed, 0x73, 0x3e, 0x6a, 0x4c, 0x16, 0x3f, 0x05, 0xa4, 0xc6, 0x24, 0xed, 0xeb,
0x3f, 0x3f, 0x85, 0x5a, 0xec, 0xbb, 0x3c, 0x8a, 0x8f, 0xd3, 0xbe, 0xfa, 0xa3, 0xf8, 0x38, 0xfd,
0x53, 0x3e, 0xbb, 0x50, 0xd1, 0xbe, 0xa2, 0xa3, 0x7a, 0xb4, 0xf8, 0xc1, 0x1e, 0xd5, 0xa3, 0x94,
0x8f, 0xee, 0xb0, 0xd5, 0x10, 0xff, 0x84, 0x8e, 0x5a, 0x0d, 0xa9, 0xdf, 0xe2, 0x51, 0xab, 0x21,
0xfd, 0xbb, 0x3b, 0x8c, 0xf5, 0xd4, 0x6d, 0xcd, 0x64, 0x53, 0xe3, 0x0e, 0xfd, 0xda, 0x67, 0xc5,
0x7a, 0x8b, 0x17, 0x3b, 0x3f, 0x81, 0x55, 0xc5, 0x34, 0xea, 0xae, 0xe5, 0x40, 0xf5, 0x29, 0xf5,
0x46, 0xe7, 0xad, 0x46, 0x12, 0xfb, 0x20, 0x43, 0x3e, 0x83, 0xa2, 0xb8, 0xc0, 0x96, 0xac, 0x27,
0x2f, 0xb4, 0xe5, 0x9d, 0xd8, 0x48, 0xbf, 0xe7, 0x96, 0x1c, 0xe1, 0x82, 0xd6, 0x6f, 0x98, 0xd5,
0x39, 0x36, 0xe5, 0x52, 0xda, 0xad, 0x37, 0xaf, 0x43, 0x47, 0x35, 0x26, 0x6f, 0x45, 0xbe, 0x7d,
0xdd, 0x0d, 0x0d, 0xf1, 0x1a, 0xaf, 0xbb, 0x4a, 0xea, 0x09, 0x54, 0xf5, 0x0f, 0x38, 0x10, 0x7d,
0x1d, 0x26, 0xeb, 0xba, 0x95, 0x8a, 0x13, 0x15, 0x3d, 0x83, 0x0d, 0x35, 0xde, 0xfa, 0x75, 0x01,
0x01, 0xb9, 0x93, 0x72, 0x89, 0x40, 0x6c, 0xd4, 0x6f, 0x5e, 0x7b, 0xcb, 0xc0, 0x83, 0x0c, 0x0a,
0xd9, 0xd8, 0xb5, 0xf4, 0x91, 0x90, 0x4d, 0xbb, 0x8d, 0x3f, 0x12, 0xb2, 0xe9, 0x77, 0xd9, 0xb7,
0x60, 0x59, 0xbb, 0xee, 0x60, 0x70, 0xe5, 0x8e, 0x14, 0xbf, 0x2f, 0x5e, 0xfd, 0xb9, 0x95, 0xe6,
0x4d, 0x23, 0x6d, 0xa8, 0xe8, 0x37, 0x26, 0xbc, 0xa4, 0xf8, 0xa6, 0x86, 0xd2, 0x2f, 0x93, 0x7c,
0x90, 0x21, 0x07, 0xd0, 0x48, 0xde, 0x6f, 0xa6, 0x96, 0x70, 0xda, 0x9d, 0x70, 0x5b, 0x09, 0x64,
0xec, 0x56, 0x34, 0xc6, 0x17, 0xb1, 0x0f, 0x42, 0x7a, 0x7e, 0x72, 0x2b, 0x8a, 0x7f, 0x28, 0x52,
0xd5, 0x96, 0xf6, 0x89, 0xd0, 0x7b, 0x99, 0x07, 0x19, 0xb2, 0x07, 0xd5, 0xd8, 0xf5, 0x3e, 0xb1,
0x1c, 0xf8, 0xc4, 0x6b, 0x36, 0x75, 0x5c, 0xe2, 0x3d, 0x0f, 0xa1, 0x1e, 0x0f, 0xfb, 0xaa, 0x8e,
0xa5, 0x06, 0x98, 0xd5, 0xf4, 0xa5, 0xc7, 0x8a, 0xc9, 0x8f, 0xf9, 0xe7, 0x8e, 0x65, 0x8a, 0x0f,
0x59, 0xfc, 0x3c, 0xae, 0x9a, 0x33, 0xfd, 0x63, 0xb2, 0x46, 0xee, 0xaf, 0x66, 0x33, 0xf8, 0x5e,
0x3f, 0xe2, 0x1f, 0x1b, 0x94, 0x59, 0x1e, 0x6c, 0xfe, 0x5f, 0xb7, 0x12, 0xb2, 0xc7, 0x1b, 0x17,
0x9f, 0x7a, 0x8d, 0x24, 0xf7, 0xc2, 0xe7, 0x5f, 0x5f, 0xd1, 0x87, 0x16, 0xef, 0x83, 0x28, 0x13,
0xe3, 0xc1, 0xd7, 0xac, 0x8b, 0x7c, 0x0a, 0x10, 0xa5, 0xce, 0x91, 0x44, 0x02, 0x97, 0x5a, 0x50,
0x29, 0xd9, 0x75, 0x1d, 0xbe, 0xde, 0x55, 0x06, 0x99, 0xbe, 0x25, 0xc7, 0x93, 0xd9, 0x62, 0x5b,
0x72, 0xb2, 0x9a, 0x1f, 0x42, 0xed, 0xc0, 0xf3, 0x9e, 0xcf, 0x67, 0x2a, 0xff, 0x3a, 0x9e, 0xde,
0xc0, 0xcc, 0xe3, 0xad, 0x44, 0xb7, 0x48, 0x0b, 0x56, 0x94, 0x88, 0x88, 0x52, 0xd8, 0xe2, 0x44,
0x31, 0xc1, 0x90, 0xa8, 0xe0, 0x41, 0x86, 0x3c, 0x84, 0xea, 0x2e, 0x1d, 0xe1, 0xf1, 0x7b, 0x0c,
0xc4, 0xaf, 0xc6, 0x82, 0xba, 0x3c, 0x82, 0xbf, 0x55, 0x8b, 0x01, 0xa5, 0x88, 0x8b, 0x12, 0x3a,
0xf4, 0x3d, 0x23, 0x9e, 0x15, 0x11, 0x13, 0x71, 0x0b, 0x49, 0x1d, 0xcf, 0x60, 0x65, 0x21, 0x65,
0x42, 0x49, 0xb7, 0xeb, 0x12, 0x2d, 0xb6, 0xee, 0x5e, 0x4f, 0x20, 0xea, 0xfd, 0x09, 0xd4, 0xf8,
0xdd, 0xa2, 0x27, 0x94, 0x1f, 0x9f, 0x4b, 0xdc, 0x3d, 0xa3, 0x9f, 0xcd, 0x4b, 0x8a, 0x24, 0x5e,
0xe0, 0x09, 0x7e, 0x02, 0x40, 0x3b, 0x9c, 0xa6, 0xe6, 0x75, 0xf1, 0xc0, 0x9c, 0x9a, 0xd7, 0xb4,
0x73, 0x70, 0x9f, 0x43, 0xe5, 0x09, 0x0d, 0xe5, 0x71, 0x2f, 0xa5, 0x1f, 0x25, 0xce, 0x7f, 0x6d,
0xa5, 0x1c, 0xd2, 0x23, 0x9f, 0x60, 0x51, 0x75, 0x74, 0x79, 0x43, 0x6b, 0x45, 0x2f, 0xba, 0x9c,
0x80, 0x33, 0xed, 0x43, 0xbb, 0xc0, 0x40, 0x75, 0x7c, 0xf1, 0xc2, 0x0a, 0xd5, 0xf1, 0xb4, 0xfb,
0x0e, 0x7e, 0xcc, 0x47, 0x40, 0x3b, 0x60, 0x16, 0xa9, 0x60, 0xc9, 0xb3, 0x68, 0xaa, 0xfb, 0x3a,
0xf9, 0x23, 0x80, 0x41, 0xe8, 0xcd, 0x76, 0x6d, 0x3a, 0xf5, 0xdc, 0x48, 0x26, 0x44, 0x47, 0x9b,
0xa2, 0x85, 0xa8, 0x9d, 0x6f, 0x22, 0x5f, 0x69, 0xba, 0x69, 0x6c, 0x4a, 0xe4, 0xb4, 0x5f, 0x7b,
0xfa, 0x49, 0xbd, 0x4e, 0xca, 0x09, 0x28, 0x14, 0x12, 0x10, 0x65, 0xb3, 0x28, 0x4d, 0x73, 0x21,
0x51, 0x46, 0xad, 0xf5, 0x94, 0xd4, 0x97, 0x2f, 0xa0, 0x1c, 0xa5, 0x01, 0x6c, 0x46, 0xb7, 0xa9,
0xc4, 0x92, 0x06, 0x94, 0xf4, 0x5e, 0x0c, 0xc1, 0xf7, 0x60, 0x95, 0x77, 0x47, 0x6d, 0x7f, 0x78,
0x00, 0x47, 0x7d, 0xc1, 0x62, 0x31, 0xf6, 0xad, 0xd6, 0x4f, 0x5a, 0x04, 0x97, 0xad, 0x9f, 0x85,
0x48, 0xa0, 0x5a, 0x3f, 0xd7, 0x85, 0x76, 0xd5, 0xfa, 0xb9, 0x3e, 0x88, 0xd8, 0x83, 0xd5, 0x94,
0x98, 0x1e, 0x79, 0x4b, 0x1a, 0x36, 0xd7, 0xc6, 0xfb, 0xb6, 0x52, 0x63, 0x3f, 0x64, 0x08, 0x9b,
0xbc, 0x4c, 0x6b, 0x32, 0x49, 0x84, 0x90, 0xde, 0xd4, 0x0a, 0xa4, 0x84, 0xc5, 0x62, 0xaa, 0x4c,
0x22, 0x34, 0xd6, 0x83, 0x46, 0x32, 0xfa, 0x42, 0xae, 0x27, 0xdf, 0xba, 0x13, 0x53, 0xd9, 0x17,
0x23, 0x36, 0xe4, 0x99, 0x8a, 0x01, 0x25, 0xfa, 0x78, 0x47, 0x5d, 0x11, 0x9d, 0x1e, 0xb1, 0x52,
0xd6, 0x40, 0x6a, 0x08, 0x89, 0xfc, 0x32, 0x6c, 0x26, 0x39, 0x5a, 0xd6, 0x7c, 0x37, 0x6d, 0xb8,
0xae, 0x55, 0xe5, 0xe2, 0x2f, 0xf4, 0x20, 0xc3, 0x04, 0xb1, 0x1e, 0xc9, 0x51, 0x8c, 0x94, 0x12,
0x32, 0x52, 0x8c, 0x94, 0x16, 0xfa, 0xd9, 0x79, 0xef, 0x57, 0xbe, 0x77, 0xe6, 0x84, 0xe7, 0xf3,
0x93, 0xed, 0x91, 0x37, 0xfd, 0x70, 0x22, 0x8d, 0x7b, 0x71, 0x2c, 0xf3, 0xc3, 0x89, 0x3b, 0xfe,
0x10, 0x4b, 0x9f, 0x2c, 0xcd, 0x7c, 0x2f, 0xf4, 0x7e, 0xf8, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff,
0xbf, 0xde, 0xdb, 0x3e, 0x7f, 0x84, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.

View File

@ -993,6 +993,30 @@ enum CommitmentType {
UNKNOWN_COMMITMENT_TYPE = 999;
}
message ChannelConstraints {
/*
The CSV delay expressed in relative blocks. If the channel is force closed,
we will need to wait for this many blocks before we can regain our funds.
*/
uint32 csv_delay = 1;
// The minimum satoshis this node is required to reserve in its balance.
uint64 chan_reserve_sat = 2;
// The dust limit (in satoshis) of the initiator's commitment tx.
uint64 dust_limit_sat = 3;
// The maximum amount of coins in millisatoshis that can be pending in this
// channel.
uint64 max_pending_amt_msat = 4;
// The smallest HTLC in millisatoshis that the initiator will accept.
uint64 min_htlc_msat = 5;
// The total number of incoming HTLC's that the initiator will accept.
uint32 max_accepted_htlcs = 6;
}
message Channel {
// Whether this channel is active or not
bool active = 1;
@ -1065,10 +1089,11 @@ message Channel {
repeated HTLC pending_htlcs = 15;
/*
The CSV delay expressed in relative blocks. If the channel is force closed,
we will need to wait for this many blocks before we can regain our funds.
Deprecated. The CSV delay expressed in relative blocks. If the channel is
force closed, we will need to wait for this many blocks before we can regain
our funds.
*/
uint32 csv_delay = 16;
uint32 csv_delay = 16 [deprecated = true];
// Whether this channel is advertised to the network or not.
bool private = 17;
@ -1079,13 +1104,15 @@ message Channel {
// A set of flags showing the current state of the channel.
string chan_status_flags = 19;
// The minimum satoshis this node is required to reserve in its balance.
int64 local_chan_reserve_sat = 20;
// Deprecated. The minimum satoshis this node is required to reserve in its
// balance.
int64 local_chan_reserve_sat = 20 [deprecated = true];
/*
The minimum satoshis the other node is required to reserve in its balance.
Deprecated. The minimum satoshis the other node is required to reserve in
its balance.
*/
int64 remote_chan_reserve_sat = 21;
int64 remote_chan_reserve_sat = 21 [deprecated = true];
// Deprecated. Use commitment_type.
bool static_remote_key = 22 [deprecated = true];
@ -1133,6 +1160,12 @@ message Channel {
value of zero will mean the channel has no additional restrictions.
*/
uint32 thaw_height = 28;
// List constraints for the local node.
ChannelConstraints local_constraints = 29;
// List constraints for the remote node.
ChannelConstraints remote_constraints = 30;
}
message ListChannelsRequest {

View File

@ -2551,7 +2551,7 @@
"csv_delay": {
"type": "integer",
"format": "int64",
"description": "The CSV delay expressed in relative blocks. If the channel is force closed,\nwe will need to wait for this many blocks before we can regain our funds."
"description": "Deprecated. The CSV delay expressed in relative blocks. If the channel is\nforce closed, we will need to wait for this many blocks before we can regain\nour funds."
},
"private": {
"type": "boolean",
@ -2570,12 +2570,12 @@
"local_chan_reserve_sat": {
"type": "string",
"format": "int64",
"description": "The minimum satoshis this node is required to reserve in its balance."
"description": "Deprecated. The minimum satoshis this node is required to reserve in its\nbalance."
},
"remote_chan_reserve_sat": {
"type": "string",
"format": "int64",
"description": "The minimum satoshis the other node is required to reserve in its balance."
"description": "Deprecated. The minimum satoshis the other node is required to reserve in\nits balance."
},
"static_remote_key": {
"type": "boolean",
@ -2609,6 +2609,14 @@
"type": "integer",
"format": "int64",
"description": "This uint32 indicates if this channel is to be considered 'frozen'. A\nfrozen channel doest not allow a cooperative channel close by the\ninitiator. The thaw_height is the height that this restriction stops\napplying to the channel. This field is optional, not setting it or using a\nvalue of zero will mean the channel has no additional restrictions."
},
"local_constraints": {
"$ref": "#/definitions/lnrpcChannelConstraints",
"description": "List constraints for the local node."
},
"remote_constraints": {
"$ref": "#/definitions/lnrpcChannelConstraints",
"description": "List constraints for the remote node."
}
}
},
@ -2794,6 +2802,41 @@
}
}
},
"lnrpcChannelConstraints": {
"type": "object",
"properties": {
"csv_delay": {
"type": "integer",
"format": "int64",
"description": "The CSV delay expressed in relative blocks. If the channel is force closed,\nwe will need to wait for this many blocks before we can regain our funds."
},
"chan_reserve_sat": {
"type": "string",
"format": "uint64",
"description": "The minimum satoshis this node is required to reserve in its balance."
},
"dust_limit_sat": {
"type": "string",
"format": "uint64",
"description": "The dust limit (in satoshis) of the initiator's commitment tx."
},
"max_pending_amt_msat": {
"type": "string",
"format": "uint64",
"description": "The maximum amount of coins in millisatoshis that can be pending in this\nchannel."
},
"min_htlc_msat": {
"type": "string",
"format": "uint64",
"description": "The smallest HTLC in millisatoshis that the initiator will accept."
},
"max_accepted_htlcs": {
"type": "integer",
"format": "int64",
"description": "The total number of incoming HTLC's that the initiator will accept."
}
}
},
"lnrpcChannelEdge": {
"type": "object",
"properties": {

View File

@ -46,6 +46,7 @@ import (
"github.com/lightningnetwork/lnd/lntest"
"github.com/lightningnetwork/lnd/lntest/wait"
"github.com/lightningnetwork/lnd/lntypes"
"github.com/lightningnetwork/lnd/lnwallet"
"github.com/lightningnetwork/lnd/lnwallet/chainfee"
"github.com/lightningnetwork/lnd/lnwire"
"github.com/lightningnetwork/lnd/routing"
@ -2677,7 +2678,7 @@ func testDisconnectingTargetPeer(net *lntest.NetworkHarness, t *harnessTest) {
ctxt, _ = context.WithTimeout(ctxb, defaultTimeout)
err = net.SendCoins(ctxt, btcutil.SatoshiPerBitcoin, alice)
if err != nil {
t.Fatalf("unable to send coins to carol: %v", err)
t.Fatalf("unable to send coins to alice: %v", err)
}
chanAmt := lnd.MaxBtcFundingAmount
@ -4455,6 +4456,187 @@ func testSphinxReplayPersistence(net *lntest.NetworkHarness, t *harnessTest) {
cleanupForceClose(t, net, carol, chanPoint)
}
func assertChannelConstraintsEqual(
t *harnessTest, want, got *lnrpc.ChannelConstraints) {
if want.CsvDelay != got.CsvDelay {
t.Fatalf("CsvDelay mismatched, want: %v, got: %v",
want.CsvDelay, got.CsvDelay,
)
}
if want.ChanReserveSat != got.ChanReserveSat {
t.Fatalf("ChanReserveSat mismatched, want: %v, got: %v",
want.ChanReserveSat, got.ChanReserveSat,
)
}
if want.DustLimitSat != got.DustLimitSat {
t.Fatalf("DustLimitSat mismatched, want: %v, got: %v",
want.DustLimitSat, got.DustLimitSat,
)
}
if want.MaxPendingAmtMsat != got.MaxPendingAmtMsat {
t.Fatalf("MaxPendingAmtMsat mismatched, want: %v, got: %v",
want.MaxPendingAmtMsat, got.MaxPendingAmtMsat,
)
}
if want.MinHtlcMsat != got.MinHtlcMsat {
t.Fatalf("MinHtlcMsat mismatched, want: %v, got: %v",
want.MinHtlcMsat, got.MinHtlcMsat,
)
}
if want.MaxAcceptedHtlcs != got.MaxAcceptedHtlcs {
t.Fatalf("MaxAcceptedHtlcs mismatched, want: %v, got: %v",
want.MaxAcceptedHtlcs, got.MaxAcceptedHtlcs,
)
}
}
// testListChannels checks that the response from ListChannels is correct. It
// tests the values in all ChannelConstraints are returned as expected. Once
// ListChannels becomes mature, a test against all fields in ListChannels should
// be performed.
func testListChannels(net *lntest.NetworkHarness, t *harnessTest) {
ctxb := context.Background()
// Create two fresh nodes and open a channel between them.
alice, err := net.NewNode("Alice", nil)
if err != nil {
t.Fatalf("unable to create new node: %v", err)
}
defer shutdownAndAssert(net, t, alice)
bob, err := net.NewNode("Bob", nil)
if err != nil {
t.Fatalf("unable to create new node: %v", err)
}
defer shutdownAndAssert(net, t, bob)
// Connect Alice to Bob.
ctxt, _ := context.WithTimeout(ctxb, defaultTimeout)
if err := net.ConnectNodes(ctxb, alice, bob); err != nil {
t.Fatalf("unable to connect alice to bob: %v", err)
}
// Give Alice some coins so she can fund a channel.
ctxt, _ = context.WithTimeout(ctxb, defaultTimeout)
err = net.SendCoins(ctxt, btcutil.SatoshiPerBitcoin, alice)
if err != nil {
t.Fatalf("unable to send coins to alice: %v", err)
}
// Open a channel with 100k satoshis between Alice and Bob with Alice
// being the sole funder of the channel. The minial HTLC amount is set to
// 4200 msats.
const customizedMinHtlc = 4200
chanAmt := btcutil.Amount(100000)
ctxt, _ = context.WithTimeout(ctxb, channelOpenTimeout)
chanPoint := openChannelAndAssert(
ctxt, t, net, alice, bob,
lntest.OpenChannelParams{
Amt: chanAmt,
MinHtlc: customizedMinHtlc,
},
)
// Wait for Alice and Bob to receive the channel edge from the
// funding manager.
ctxt, _ = context.WithTimeout(ctxb, defaultTimeout)
err = alice.WaitForNetworkChannelOpen(ctxt, chanPoint)
if err != nil {
t.Fatalf("alice didn't see the alice->bob channel before "+
"timeout: %v", err)
}
ctxt, _ = context.WithTimeout(ctxb, defaultTimeout)
err = bob.WaitForNetworkChannelOpen(ctxt, chanPoint)
if err != nil {
t.Fatalf("bob didn't see the bob->alice channel before "+
"timeout: %v", err)
}
// Alice should have one channel opened with Bob.
assertNodeNumChannels(t, alice, 1)
// Bob should have one channel opened with Alice.
assertNodeNumChannels(t, bob, 1)
// Get the ListChannel response from Alice.
listReq := &lnrpc.ListChannelsRequest{}
ctxb = context.Background()
ctxt, _ = context.WithTimeout(ctxb, defaultTimeout)
resp, err := alice.ListChannels(ctxt, listReq)
if err != nil {
t.Fatalf("unable to query for %s's channel list: %v",
alice.Name(), err)
}
// Check the returned response is correct.
aliceChannel := resp.Channels[0]
// defaultConstraints is a ChannelConstraints with default values. It is
// used to test against Alice's local channel constraints.
defaultConstraints := &lnrpc.ChannelConstraints{
CsvDelay: 4,
ChanReserveSat: 1000,
DustLimitSat: uint64(lnwallet.DefaultDustLimit()),
MaxPendingAmtMsat: 99000000,
MinHtlcMsat: 1,
MaxAcceptedHtlcs: input.MaxHTLCNumber / 2,
}
assertChannelConstraintsEqual(
t, aliceChannel.LocalConstraints, defaultConstraints,
)
// customizedConstraints is a ChannelConstraints with customized values.
// Ideally, all these values can be passed in when creating the channel.
// Currently, only the MinHtlcMsat is customized. It is used to check
// against Alice's remote channel constratins.
customizedConstraints := &lnrpc.ChannelConstraints{
CsvDelay: 4,
ChanReserveSat: 1000,
DustLimitSat: uint64(lnwallet.DefaultDustLimit()),
MaxPendingAmtMsat: 99000000,
MinHtlcMsat: customizedMinHtlc,
MaxAcceptedHtlcs: input.MaxHTLCNumber / 2,
}
assertChannelConstraintsEqual(
t, aliceChannel.RemoteConstraints, customizedConstraints,
)
// Get the ListChannel response for Bob.
listReq = &lnrpc.ListChannelsRequest{}
ctxb = context.Background()
ctxt, _ = context.WithTimeout(ctxb, defaultTimeout)
resp, err = bob.ListChannels(ctxt, listReq)
if err != nil {
t.Fatalf("unable to query for %s's channel "+
"list: %v", bob.Name(), err)
}
bobChannel := resp.Channels[0]
if bobChannel.ChannelPoint != aliceChannel.ChannelPoint {
t.Fatalf("Bob's channel point mismatched, want: %s, got: %s",
chanPoint.String(), bobChannel.ChannelPoint,
)
}
// Check channel constraints match. Alice's local channel constraint should
// be equal to Bob's remote channel constraint, and her remote one should
// be equal to Bob's local one.
assertChannelConstraintsEqual(
t, aliceChannel.LocalConstraints, bobChannel.RemoteConstraints,
)
assertChannelConstraintsEqual(
t, aliceChannel.RemoteConstraints, bobChannel.LocalConstraints,
)
}
func testListPayments(net *lntest.NetworkHarness, t *harnessTest) {
ctxb := context.Background()
@ -13912,7 +14094,7 @@ func testHoldInvoicePersistence(net *lntest.NetworkHarness, t *harnessTest) {
ctxt, _ = context.WithTimeout(ctxb, defaultTimeout)
err = carol.WaitForNetworkChannelOpen(ctxt, chanPointAlice)
if err != nil {
t.Fatalf("alice didn't see the alice->carol channel before "+
t.Fatalf("carol didn't see the carol->alice channel before "+
"timeout: %v", err)
}
@ -14585,6 +14767,10 @@ var testsCases = []*testCase{
name: "sphinx replay persistence",
test: testSphinxReplayPersistence,
},
{
name: "list channels",
test: testListChannels,
},
{
name: "list outgoing payments",
test: testListPayments,

View File

@ -3295,6 +3295,21 @@ func rpcCommitmentType(chanType channeldb.ChannelType) lnrpc.CommitmentType {
return lnrpc.CommitmentType_LEGACY
}
// createChannelConstraint creates a *lnrpc.ChannelConstraints using the
// *Channeldb.ChannelConfig.
func createChannelConstraint(
chanCfg *channeldb.ChannelConfig) *lnrpc.ChannelConstraints {
return &lnrpc.ChannelConstraints{
CsvDelay: uint32(chanCfg.CsvDelay),
ChanReserveSat: uint64(chanCfg.ChanReserve),
DustLimitSat: uint64(chanCfg.DustLimit),
MaxPendingAmtMsat: uint64(chanCfg.MaxPendingAmount),
MinHtlcMsat: uint64(chanCfg.MinHTLC),
MaxAcceptedHtlcs: uint32(chanCfg.MaxAcceptedHtlcs),
}
}
// createRPCOpenChannel creates an *lnrpc.Channel from the *channeldb.Channel.
func createRPCOpenChannel(r *rpcServer, graph *channeldb.ChannelGraph,
dbChannel *channeldb.OpenChannel, isActive bool) (*lnrpc.Channel, error) {
@ -3351,14 +3366,21 @@ func createRPCOpenChannel(r *rpcServer, graph *channeldb.ChannelGraph,
TotalSatoshisReceived: int64(dbChannel.TotalMSatReceived.ToSatoshis()),
NumUpdates: localCommit.CommitHeight,
PendingHtlcs: make([]*lnrpc.HTLC, len(localCommit.Htlcs)),
CsvDelay: uint32(dbChannel.LocalChanCfg.CsvDelay),
Initiator: dbChannel.IsInitiator,
ChanStatusFlags: dbChannel.ChanStatus().String(),
LocalChanReserveSat: int64(dbChannel.LocalChanCfg.ChanReserve),
RemoteChanReserveSat: int64(dbChannel.RemoteChanCfg.ChanReserve),
StaticRemoteKey: commitmentType == lnrpc.CommitmentType_STATIC_REMOTE_KEY,
CommitmentType: commitmentType,
ThawHeight: dbChannel.ThawHeight,
LocalConstraints: createChannelConstraint(
&dbChannel.LocalChanCfg,
),
RemoteConstraints: createChannelConstraint(
&dbChannel.RemoteChanCfg,
),
// TODO: remove the following deprecated fields
CsvDelay: uint32(dbChannel.LocalChanCfg.CsvDelay),
LocalChanReserveSat: int64(dbChannel.LocalChanCfg.ChanReserve),
RemoteChanReserveSat: int64(dbChannel.RemoteChanCfg.ChanReserve),
}
for i, htlc := range localCommit.Htlcs {