lnrpc: add ability to provide chan point shims for funding, new funding modifiers

In this commit, we start to expose some of the new external funding
functionality over the RPC interface.

First, we add a new `funding_shim` field to the regular `OpenChannel`
method. This can be used by a caller to express that certain parameters
of the funding flow have already been negotiated outside the protocol,
and should be used instead. For example, a shim can be provided to use a
particular key for the commitment key (ideally cold) rather than use one
this is generated by the wallet as normal, or signal that signing will
be carried out in an interactive manner (PSBT based).

Next, we add a brand new method: `FundingStateStep`. FundingStateStep is
an advanced funding related call that allows the caller to either
execute some preparatory steps for a funding workflow, or manually
progress a funding workflow. The primary way a funding flow is
identified is via its pending channel ID. As an example, this method can
be used to specify that we're expecting a funding flow for a particular
pending channel ID, for which we need to use specific parameters.
Alternatively, this can be used to interactively drive PSBT signing for
funding for partially complete funding transactions.

The new transition methods (funding state machine modifiers) in this
commit allow a party to register a funding intent that should be used
for a specified incoming pending channel ID. The "responder" to the
external channel flow should use this to prep lnd to be able to handle
the channel flow properly.
This commit is contained in:
Olaoluwa Osuntokun 2019-11-13 20:54:34 -08:00
parent 72a49d486a
commit 3eed38d602
No known key found for this signature in database
GPG Key ID: BC13F65E2DC84465
4 changed files with 1410 additions and 692 deletions

@ -281,7 +281,7 @@ func (x ChannelEventUpdate_UpdateType) String() string {
}
func (ChannelEventUpdate_UpdateType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{66, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{73, 0}
}
type Invoice_InvoiceState int32
@ -312,7 +312,7 @@ func (x Invoice_InvoiceState) String() string {
}
func (Invoice_InvoiceState) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{98, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{105, 0}
}
type Payment_PaymentStatus int32
@ -343,7 +343,7 @@ func (x Payment_PaymentStatus) String() string {
}
func (Payment_PaymentStatus) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{105, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{112, 0}
}
type HTLCAttempt_HTLCStatus int32
@ -371,7 +371,7 @@ func (x HTLCAttempt_HTLCStatus) String() string {
}
func (HTLCAttempt_HTLCStatus) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{106, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{113, 0}
}
type GenSeedRequest struct {
@ -4331,10 +4331,17 @@ type OpenChannelRequest struct {
//
//Note: If this value is set on channel creation, you will *not* be able to
//cooperatively close out to a different address.
CloseAddress string `protobuf:"bytes,13,opt,name=close_address,proto3" json:"close_address,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
CloseAddress string `protobuf:"bytes,13,opt,name=close_address,proto3" json:"close_address,omitempty"`
//*
//Funding shims are an optional argument that allow the caller to intercept
//certain funding functionality. For example, a shim can be provided to use a
//particular key for the commitment key (ideally cold) rather than use one
//that is generated by the wallet as normal, or signal that signing will be
//carried out in an interactive manner (PSBT based).
FundingShim *FundingShim `protobuf:"bytes,14,opt,name=funding_shim,proto3" json:"funding_shim,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *OpenChannelRequest) Reset() { *m = OpenChannelRequest{} }
@ -4447,14 +4454,25 @@ func (m *OpenChannelRequest) GetCloseAddress() string {
return ""
}
func (m *OpenChannelRequest) GetFundingShim() *FundingShim {
if m != nil {
return m.FundingShim
}
return nil
}
type OpenStatusUpdate struct {
// Types that are valid to be assigned to Update:
// *OpenStatusUpdate_ChanPending
// *OpenStatusUpdate_ChanOpen
Update isOpenStatusUpdate_Update `protobuf_oneof:"update"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Update isOpenStatusUpdate_Update `protobuf_oneof:"update"`
//*
//The pending channel ID of the created channel. This value may be used to
//further the funding flow manually via the FundingStateStep method.
PendingChanId []byte `protobuf:"bytes,4,opt,name=pending_chan_id,proto3" json:"pending_chan_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *OpenStatusUpdate) Reset() { *m = OpenStatusUpdate{} }
@ -4519,6 +4537,13 @@ func (m *OpenStatusUpdate) GetChanOpen() *ChannelOpenUpdate {
return nil
}
func (m *OpenStatusUpdate) GetPendingChanId() []byte {
if m != nil {
return m.PendingChanId
}
return nil
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*OpenStatusUpdate) XXX_OneofWrappers() []interface{} {
return []interface{}{
@ -4527,6 +4552,404 @@ func (*OpenStatusUpdate) XXX_OneofWrappers() []interface{} {
}
}
type KeyLocator struct {
/// The family of key being identified.
KeyFamily int32 `protobuf:"varint,1,opt,name=key_family,json=keyFamily,proto3" json:"key_family,omitempty"`
/// The precise index of the key being identified.
KeyIndex int32 `protobuf:"varint,2,opt,name=key_index,json=keyIndex,proto3" json:"key_index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
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{62}
}
func (m *KeyLocator) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyLocator.Unmarshal(m, b)
}
func (m *KeyLocator) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeyLocator.Marshal(b, m, deterministic)
}
func (m *KeyLocator) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeyLocator.Merge(m, src)
}
func (m *KeyLocator) XXX_Size() int {
return xxx_messageInfo_KeyLocator.Size(m)
}
func (m *KeyLocator) XXX_DiscardUnknown() {
xxx_messageInfo_KeyLocator.DiscardUnknown(m)
}
var xxx_messageInfo_KeyLocator proto.InternalMessageInfo
func (m *KeyLocator) GetKeyFamily() int32 {
if m != nil {
return m.KeyFamily
}
return 0
}
func (m *KeyLocator) GetKeyIndex() int32 {
if m != nil {
return m.KeyIndex
}
return 0
}
type KeyDescriptor struct {
//*
//The raw bytes of the key being identified.
RawKeyBytes []byte `protobuf:"bytes,1,opt,name=raw_key_bytes,json=rawKeyBytes,proto3" json:"raw_key_bytes,omitempty"`
//*
//The key locator that identifies which key to use for signing.
KeyLoc *KeyLocator `protobuf:"bytes,2,opt,name=key_loc,json=keyLoc,proto3" json:"key_loc,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
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{63}
}
func (m *KeyDescriptor) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_KeyDescriptor.Unmarshal(m, b)
}
func (m *KeyDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_KeyDescriptor.Marshal(b, m, deterministic)
}
func (m *KeyDescriptor) XXX_Merge(src proto.Message) {
xxx_messageInfo_KeyDescriptor.Merge(m, src)
}
func (m *KeyDescriptor) XXX_Size() int {
return xxx_messageInfo_KeyDescriptor.Size(m)
}
func (m *KeyDescriptor) XXX_DiscardUnknown() {
xxx_messageInfo_KeyDescriptor.DiscardUnknown(m)
}
var xxx_messageInfo_KeyDescriptor proto.InternalMessageInfo
func (m *KeyDescriptor) GetRawKeyBytes() []byte {
if m != nil {
return m.RawKeyBytes
}
return nil
}
func (m *KeyDescriptor) GetKeyLoc() *KeyLocator {
if m != nil {
return m.KeyLoc
}
return nil
}
type ChanPointShim struct {
//*
//The size of the pre-crafted output to be used as the channel point for this
//channel funding.
Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
/// The target channel point to refrence in created commitment transactions.
ChanPoint *ChannelPoint `protobuf:"bytes,2,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"`
/// Our local key to use when creating the multi-sig output.
LocalKey *KeyDescriptor `protobuf:"bytes,3,opt,name=local_key,json=localKey,proto3" json:"local_key,omitempty"`
/// The key of the remote party to use when creating the multi-sig output.
RemoteKey []byte `protobuf:"bytes,4,opt,name=remote_key,json=remoteKey,proto3" json:"remote_key,omitempty"`
//*
//If non-zero, then this will be used as the pending channel ID on the wire
//protocol to initate the funding request. This is an optional field, and
//should only be set if the responder is already expecting a specific pending
//channel ID.
PendingChanId []byte `protobuf:"bytes,5,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
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{64}
}
func (m *ChanPointShim) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChanPointShim.Unmarshal(m, b)
}
func (m *ChanPointShim) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ChanPointShim.Marshal(b, m, deterministic)
}
func (m *ChanPointShim) XXX_Merge(src proto.Message) {
xxx_messageInfo_ChanPointShim.Merge(m, src)
}
func (m *ChanPointShim) XXX_Size() int {
return xxx_messageInfo_ChanPointShim.Size(m)
}
func (m *ChanPointShim) XXX_DiscardUnknown() {
xxx_messageInfo_ChanPointShim.DiscardUnknown(m)
}
var xxx_messageInfo_ChanPointShim proto.InternalMessageInfo
func (m *ChanPointShim) GetAmt() int64 {
if m != nil {
return m.Amt
}
return 0
}
func (m *ChanPointShim) GetChanPoint() *ChannelPoint {
if m != nil {
return m.ChanPoint
}
return nil
}
func (m *ChanPointShim) GetLocalKey() *KeyDescriptor {
if m != nil {
return m.LocalKey
}
return nil
}
func (m *ChanPointShim) GetRemoteKey() []byte {
if m != nil {
return m.RemoteKey
}
return nil
}
func (m *ChanPointShim) GetPendingChanId() []byte {
if m != nil {
return m.PendingChanId
}
return nil
}
type FundingShim struct {
// Types that are valid to be assigned to Shim:
// *FundingShim_ChanPointShim
Shim isFundingShim_Shim `protobuf_oneof:"shim"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
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{65}
}
func (m *FundingShim) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FundingShim.Unmarshal(m, b)
}
func (m *FundingShim) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FundingShim.Marshal(b, m, deterministic)
}
func (m *FundingShim) XXX_Merge(src proto.Message) {
xxx_messageInfo_FundingShim.Merge(m, src)
}
func (m *FundingShim) XXX_Size() int {
return xxx_messageInfo_FundingShim.Size(m)
}
func (m *FundingShim) XXX_DiscardUnknown() {
xxx_messageInfo_FundingShim.DiscardUnknown(m)
}
var xxx_messageInfo_FundingShim proto.InternalMessageInfo
type isFundingShim_Shim interface {
isFundingShim_Shim()
}
type FundingShim_ChanPointShim struct {
ChanPointShim *ChanPointShim `protobuf:"bytes,1,opt,name=chan_point_shim,json=chanPointShim,proto3,oneof"`
}
func (*FundingShim_ChanPointShim) isFundingShim_Shim() {}
func (m *FundingShim) GetShim() isFundingShim_Shim {
if m != nil {
return m.Shim
}
return nil
}
func (m *FundingShim) GetChanPointShim() *ChanPointShim {
if x, ok := m.GetShim().(*FundingShim_ChanPointShim); ok {
return x.ChanPointShim
}
return nil
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*FundingShim) XXX_OneofWrappers() []interface{} {
return []interface{}{
(*FundingShim_ChanPointShim)(nil),
}
}
type FundingShimCancel struct {
/// The pending channel ID of the channel to cancel the funding shim for.
PendingChanId []byte `protobuf:"bytes,1,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
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{66}
}
func (m *FundingShimCancel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FundingShimCancel.Unmarshal(m, b)
}
func (m *FundingShimCancel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FundingShimCancel.Marshal(b, m, deterministic)
}
func (m *FundingShimCancel) XXX_Merge(src proto.Message) {
xxx_messageInfo_FundingShimCancel.Merge(m, src)
}
func (m *FundingShimCancel) XXX_Size() int {
return xxx_messageInfo_FundingShimCancel.Size(m)
}
func (m *FundingShimCancel) XXX_DiscardUnknown() {
xxx_messageInfo_FundingShimCancel.DiscardUnknown(m)
}
var xxx_messageInfo_FundingShimCancel proto.InternalMessageInfo
func (m *FundingShimCancel) GetPendingChanId() []byte {
if m != nil {
return m.PendingChanId
}
return nil
}
type FundingTransitionMsg struct {
// Types that are valid to be assigned to Trigger:
// *FundingTransitionMsg_ShimRegister
// *FundingTransitionMsg_ShimCancel
Trigger isFundingTransitionMsg_Trigger `protobuf_oneof:"trigger"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
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{67}
}
func (m *FundingTransitionMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FundingTransitionMsg.Unmarshal(m, b)
}
func (m *FundingTransitionMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FundingTransitionMsg.Marshal(b, m, deterministic)
}
func (m *FundingTransitionMsg) XXX_Merge(src proto.Message) {
xxx_messageInfo_FundingTransitionMsg.Merge(m, src)
}
func (m *FundingTransitionMsg) XXX_Size() int {
return xxx_messageInfo_FundingTransitionMsg.Size(m)
}
func (m *FundingTransitionMsg) XXX_DiscardUnknown() {
xxx_messageInfo_FundingTransitionMsg.DiscardUnknown(m)
}
var xxx_messageInfo_FundingTransitionMsg proto.InternalMessageInfo
type isFundingTransitionMsg_Trigger interface {
isFundingTransitionMsg_Trigger()
}
type FundingTransitionMsg_ShimRegister struct {
ShimRegister *FundingShim `protobuf:"bytes,1,opt,name=shim_register,json=shimRegister,proto3,oneof"`
}
type FundingTransitionMsg_ShimCancel struct {
ShimCancel *FundingShimCancel `protobuf:"bytes,2,opt,name=shim_cancel,json=shimCancel,proto3,oneof"`
}
func (*FundingTransitionMsg_ShimRegister) isFundingTransitionMsg_Trigger() {}
func (*FundingTransitionMsg_ShimCancel) isFundingTransitionMsg_Trigger() {}
func (m *FundingTransitionMsg) GetTrigger() isFundingTransitionMsg_Trigger {
if m != nil {
return m.Trigger
}
return nil
}
func (m *FundingTransitionMsg) GetShimRegister() *FundingShim {
if x, ok := m.GetTrigger().(*FundingTransitionMsg_ShimRegister); ok {
return x.ShimRegister
}
return nil
}
func (m *FundingTransitionMsg) GetShimCancel() *FundingShimCancel {
if x, ok := m.GetTrigger().(*FundingTransitionMsg_ShimCancel); ok {
return x.ShimCancel
}
return nil
}
// XXX_OneofWrappers is for the internal use of the proto package.
func (*FundingTransitionMsg) XXX_OneofWrappers() []interface{} {
return []interface{}{
(*FundingTransitionMsg_ShimRegister)(nil),
(*FundingTransitionMsg_ShimCancel)(nil),
}
}
type FundingStateStepResp struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
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{68}
}
func (m *FundingStateStepResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_FundingStateStepResp.Unmarshal(m, b)
}
func (m *FundingStateStepResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_FundingStateStepResp.Marshal(b, m, deterministic)
}
func (m *FundingStateStepResp) XXX_Merge(src proto.Message) {
xxx_messageInfo_FundingStateStepResp.Merge(m, src)
}
func (m *FundingStateStepResp) XXX_Size() int {
return xxx_messageInfo_FundingStateStepResp.Size(m)
}
func (m *FundingStateStepResp) XXX_DiscardUnknown() {
xxx_messageInfo_FundingStateStepResp.DiscardUnknown(m)
}
var xxx_messageInfo_FundingStateStepResp proto.InternalMessageInfo
type PendingHTLC struct {
/// The direction within the channel that the htlc was sent
Incoming bool `protobuf:"varint,1,opt,name=incoming,proto3" json:"incoming,omitempty"`
@ -4552,7 +4975,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{62}
return fileDescriptor_77a6da22d6a3feb1, []int{69}
}
func (m *PendingHTLC) XXX_Unmarshal(b []byte) error {
@ -4625,7 +5048,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{63}
return fileDescriptor_77a6da22d6a3feb1, []int{70}
}
func (m *PendingChannelsRequest) XXX_Unmarshal(b []byte) error {
@ -4666,7 +5089,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{64}
return fileDescriptor_77a6da22d6a3feb1, []int{71}
}
func (m *PendingChannelsResponse) XXX_Unmarshal(b []byte) error {
@ -4745,7 +5168,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{64, 0}
return fileDescriptor_77a6da22d6a3feb1, []int{71, 0}
}
func (m *PendingChannelsResponse_PendingChannel) XXX_Unmarshal(b []byte) error {
@ -4847,7 +5270,7 @@ func (m *PendingChannelsResponse_PendingOpenChannel) String() string {
}
func (*PendingChannelsResponse_PendingOpenChannel) ProtoMessage() {}
func (*PendingChannelsResponse_PendingOpenChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{64, 1}
return fileDescriptor_77a6da22d6a3feb1, []int{71, 1}
}
func (m *PendingChannelsResponse_PendingOpenChannel) XXX_Unmarshal(b []byte) error {
@ -4921,7 +5344,7 @@ func (m *PendingChannelsResponse_WaitingCloseChannel) String() string {
}
func (*PendingChannelsResponse_WaitingCloseChannel) ProtoMessage() {}
func (*PendingChannelsResponse_WaitingCloseChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{64, 2}
return fileDescriptor_77a6da22d6a3feb1, []int{71, 2}
}
func (m *PendingChannelsResponse_WaitingCloseChannel) XXX_Unmarshal(b []byte) error {
@ -4970,7 +5393,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{64, 3}
return fileDescriptor_77a6da22d6a3feb1, []int{71, 3}
}
func (m *PendingChannelsResponse_ClosedChannel) XXX_Unmarshal(b []byte) error {
@ -5035,7 +5458,7 @@ func (m *PendingChannelsResponse_ForceClosedChannel) String() string {
}
func (*PendingChannelsResponse_ForceClosedChannel) ProtoMessage() {}
func (*PendingChannelsResponse_ForceClosedChannel) Descriptor() ([]byte, []int) {
return fileDescriptor_77a6da22d6a3feb1, []int{64, 4}
return fileDescriptor_77a6da22d6a3feb1, []int{71, 4}
}
func (m *PendingChannelsResponse_ForceClosedChannel) XXX_Unmarshal(b []byte) error {
@ -5115,7 +5538,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{65}
return fileDescriptor_77a6da22d6a3feb1, []int{72}
}
func (m *ChannelEventSubscription) XXX_Unmarshal(b []byte) error {
@ -5153,7 +5576,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{66}
return fileDescriptor_77a6da22d6a3feb1, []int{73}
}
func (m *ChannelEventUpdate) XXX_Unmarshal(b []byte) error {
@ -5264,7 +5687,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{67}
return fileDescriptor_77a6da22d6a3feb1, []int{74}
}
func (m *WalletBalanceRequest) XXX_Unmarshal(b []byte) error {
@ -5301,7 +5724,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{68}
return fileDescriptor_77a6da22d6a3feb1, []int{75}
}
func (m *WalletBalanceResponse) XXX_Unmarshal(b []byte) error {
@ -5353,7 +5776,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{69}
return fileDescriptor_77a6da22d6a3feb1, []int{76}
}
func (m *ChannelBalanceRequest) XXX_Unmarshal(b []byte) error {
@ -5388,7 +5811,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{70}
return fileDescriptor_77a6da22d6a3feb1, []int{77}
}
func (m *ChannelBalanceResponse) XXX_Unmarshal(b []byte) error {
@ -5489,7 +5912,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{71}
return fileDescriptor_77a6da22d6a3feb1, []int{78}
}
func (m *QueryRoutesRequest) XXX_Unmarshal(b []byte) error {
@ -5613,7 +6036,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{72}
return fileDescriptor_77a6da22d6a3feb1, []int{79}
}
func (m *NodePair) XXX_Unmarshal(b []byte) error {
@ -5666,7 +6089,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{73}
return fileDescriptor_77a6da22d6a3feb1, []int{80}
}
func (m *EdgeLocator) XXX_Unmarshal(b []byte) error {
@ -5719,7 +6142,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{74}
return fileDescriptor_77a6da22d6a3feb1, []int{81}
}
func (m *QueryRoutesResponse) XXX_Unmarshal(b []byte) error {
@ -5795,7 +6218,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{75}
return fileDescriptor_77a6da22d6a3feb1, []int{82}
}
func (m *Hop) XXX_Unmarshal(b []byte) error {
@ -5917,7 +6340,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{76}
return fileDescriptor_77a6da22d6a3feb1, []int{83}
}
func (m *MPPRecord) XXX_Unmarshal(b []byte) error {
@ -5995,7 +6418,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{77}
return fileDescriptor_77a6da22d6a3feb1, []int{84}
}
func (m *Route) XXX_Unmarshal(b []byte) error {
@ -6074,7 +6497,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{78}
return fileDescriptor_77a6da22d6a3feb1, []int{85}
}
func (m *NodeInfoRequest) XXX_Unmarshal(b []byte) error {
@ -6131,7 +6554,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{79}
return fileDescriptor_77a6da22d6a3feb1, []int{86}
}
func (m *NodeInfo) XXX_Unmarshal(b []byte) error {
@ -6201,7 +6624,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{80}
return fileDescriptor_77a6da22d6a3feb1, []int{87}
}
func (m *LightningNode) XXX_Unmarshal(b []byte) error {
@ -6276,7 +6699,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{81}
return fileDescriptor_77a6da22d6a3feb1, []int{88}
}
func (m *NodeAddress) XXX_Unmarshal(b []byte) error {
@ -6328,7 +6751,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{82}
return fileDescriptor_77a6da22d6a3feb1, []int{89}
}
func (m *RoutingPolicy) XXX_Unmarshal(b []byte) error {
@ -6426,7 +6849,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{83}
return fileDescriptor_77a6da22d6a3feb1, []int{90}
}
func (m *ChannelEdge) XXX_Unmarshal(b []byte) error {
@ -6519,7 +6942,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{84}
return fileDescriptor_77a6da22d6a3feb1, []int{91}
}
func (m *ChannelGraphRequest) XXX_Unmarshal(b []byte) error {
@ -6562,7 +6985,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{85}
return fileDescriptor_77a6da22d6a3feb1, []int{92}
}
func (m *ChannelGraph) XXX_Unmarshal(b []byte) error {
@ -6612,7 +7035,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{86}
return fileDescriptor_77a6da22d6a3feb1, []int{93}
}
func (m *ChanInfoRequest) XXX_Unmarshal(b []byte) error {
@ -6650,7 +7073,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{87}
return fileDescriptor_77a6da22d6a3feb1, []int{94}
}
func (m *NetworkInfoRequest) XXX_Unmarshal(b []byte) error {
@ -6693,7 +7116,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{88}
return fileDescriptor_77a6da22d6a3feb1, []int{95}
}
func (m *NetworkInfo) XXX_Unmarshal(b []byte) error {
@ -6801,7 +7224,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{89}
return fileDescriptor_77a6da22d6a3feb1, []int{96}
}
func (m *StopRequest) XXX_Unmarshal(b []byte) error {
@ -6832,7 +7255,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{90}
return fileDescriptor_77a6da22d6a3feb1, []int{97}
}
func (m *StopResponse) XXX_Unmarshal(b []byte) error {
@ -6863,7 +7286,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{91}
return fileDescriptor_77a6da22d6a3feb1, []int{98}
}
func (m *GraphTopologySubscription) XXX_Unmarshal(b []byte) error {
@ -6897,7 +7320,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{92}
return fileDescriptor_77a6da22d6a3feb1, []int{99}
}
func (m *GraphTopologyUpdate) XXX_Unmarshal(b []byte) error {
@ -6954,7 +7377,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{93}
return fileDescriptor_77a6da22d6a3feb1, []int{100}
}
func (m *NodeUpdate) XXX_Unmarshal(b []byte) error {
@ -7030,7 +7453,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{94}
return fileDescriptor_77a6da22d6a3feb1, []int{101}
}
func (m *ChannelEdgeUpdate) XXX_Unmarshal(b []byte) error {
@ -7111,7 +7534,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{95}
return fileDescriptor_77a6da22d6a3feb1, []int{102}
}
func (m *ClosedChannelUpdate) XXX_Unmarshal(b []byte) error {
@ -7182,7 +7605,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{96}
return fileDescriptor_77a6da22d6a3feb1, []int{103}
}
func (m *HopHint) XXX_Unmarshal(b []byte) error {
@ -7252,7 +7675,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{97}
return fileDescriptor_77a6da22d6a3feb1, []int{104}
}
func (m *RouteHint) XXX_Unmarshal(b []byte) error {
@ -7381,7 +7804,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{98}
return fileDescriptor_77a6da22d6a3feb1, []int{105}
}
func (m *Invoice) XXX_Unmarshal(b []byte) error {
@ -7596,7 +8019,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{99}
return fileDescriptor_77a6da22d6a3feb1, []int{106}
}
func (m *InvoiceHTLC) XXX_Unmarshal(b []byte) error {
@ -7709,7 +8132,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{100}
return fileDescriptor_77a6da22d6a3feb1, []int{107}
}
func (m *AddInvoiceResponse) XXX_Unmarshal(b []byte) error {
@ -7771,7 +8194,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{101}
return fileDescriptor_77a6da22d6a3feb1, []int{108}
}
func (m *PaymentHash) XXX_Unmarshal(b []byte) error {
@ -7831,7 +8254,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{102}
return fileDescriptor_77a6da22d6a3feb1, []int{109}
}
func (m *ListInvoiceRequest) XXX_Unmarshal(b []byte) error {
@ -7902,7 +8325,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{103}
return fileDescriptor_77a6da22d6a3feb1, []int{110}
}
func (m *ListInvoiceResponse) XXX_Unmarshal(b []byte) error {
@ -7966,7 +8389,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{104}
return fileDescriptor_77a6da22d6a3feb1, []int{111}
}
func (m *InvoiceSubscription) XXX_Unmarshal(b []byte) error {
@ -8039,7 +8462,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{105}
return fileDescriptor_77a6da22d6a3feb1, []int{112}
}
func (m *Payment) XXX_Unmarshal(b []byte) error {
@ -8182,7 +8605,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{106}
return fileDescriptor_77a6da22d6a3feb1, []int{113}
}
func (m *HTLCAttempt) XXX_Unmarshal(b []byte) error {
@ -8246,7 +8669,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{107}
return fileDescriptor_77a6da22d6a3feb1, []int{114}
}
func (m *ListPaymentsRequest) XXX_Unmarshal(b []byte) error {
@ -8286,7 +8709,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{108}
return fileDescriptor_77a6da22d6a3feb1, []int{115}
}
func (m *ListPaymentsResponse) XXX_Unmarshal(b []byte) error {
@ -8324,7 +8747,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{109}
return fileDescriptor_77a6da22d6a3feb1, []int{116}
}
func (m *DeleteAllPaymentsRequest) XXX_Unmarshal(b []byte) error {
@ -8355,7 +8778,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{110}
return fileDescriptor_77a6da22d6a3feb1, []int{117}
}
func (m *DeleteAllPaymentsResponse) XXX_Unmarshal(b []byte) error {
@ -8387,7 +8810,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{111}
return fileDescriptor_77a6da22d6a3feb1, []int{118}
}
func (m *AbandonChannelRequest) XXX_Unmarshal(b []byte) error {
@ -8425,7 +8848,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{112}
return fileDescriptor_77a6da22d6a3feb1, []int{119}
}
func (m *AbandonChannelResponse) XXX_Unmarshal(b []byte) error {
@ -8458,7 +8881,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{113}
return fileDescriptor_77a6da22d6a3feb1, []int{120}
}
func (m *DebugLevelRequest) XXX_Unmarshal(b []byte) error {
@ -8504,7 +8927,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{114}
return fileDescriptor_77a6da22d6a3feb1, []int{121}
}
func (m *DebugLevelResponse) XXX_Unmarshal(b []byte) error {
@ -8544,7 +8967,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{115}
return fileDescriptor_77a6da22d6a3feb1, []int{122}
}
func (m *PayReqString) XXX_Unmarshal(b []byte) error {
@ -8595,7 +9018,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{116}
return fileDescriptor_77a6da22d6a3feb1, []int{123}
}
func (m *PayReq) XXX_Unmarshal(b []byte) error {
@ -8720,7 +9143,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{117}
return fileDescriptor_77a6da22d6a3feb1, []int{124}
}
func (m *Feature) XXX_Unmarshal(b []byte) error {
@ -8772,7 +9195,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{118}
return fileDescriptor_77a6da22d6a3feb1, []int{125}
}
func (m *FeeReportRequest) XXX_Unmarshal(b []byte) error {
@ -8811,7 +9234,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{119}
return fileDescriptor_77a6da22d6a3feb1, []int{126}
}
func (m *ChannelFeeReport) XXX_Unmarshal(b []byte) error {
@ -8878,7 +9301,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{120}
return fileDescriptor_77a6da22d6a3feb1, []int{127}
}
func (m *FeeReportResponse) XXX_Unmarshal(b []byte) error {
@ -8953,7 +9376,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{121}
return fileDescriptor_77a6da22d6a3feb1, []int{128}
}
func (m *PolicyUpdateRequest) XXX_Unmarshal(b []byte) error {
@ -9071,7 +9494,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{122}
return fileDescriptor_77a6da22d6a3feb1, []int{129}
}
func (m *PolicyUpdateResponse) XXX_Unmarshal(b []byte) error {
@ -9110,7 +9533,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{123}
return fileDescriptor_77a6da22d6a3feb1, []int{130}
}
func (m *ForwardingHistoryRequest) XXX_Unmarshal(b []byte) error {
@ -9187,7 +9610,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{124}
return fileDescriptor_77a6da22d6a3feb1, []int{131}
}
func (m *ForwardingEvent) XXX_Unmarshal(b []byte) error {
@ -9285,7 +9708,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{125}
return fileDescriptor_77a6da22d6a3feb1, []int{132}
}
func (m *ForwardingHistoryResponse) XXX_Unmarshal(b []byte) error {
@ -9332,7 +9755,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{126}
return fileDescriptor_77a6da22d6a3feb1, []int{133}
}
func (m *ExportChannelBackupRequest) XXX_Unmarshal(b []byte) error {
@ -9379,7 +9802,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{127}
return fileDescriptor_77a6da22d6a3feb1, []int{134}
}
func (m *ChannelBackup) XXX_Unmarshal(b []byte) error {
@ -9433,7 +9856,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{128}
return fileDescriptor_77a6da22d6a3feb1, []int{135}
}
func (m *MultiChanBackup) XXX_Unmarshal(b []byte) error {
@ -9478,7 +9901,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{129}
return fileDescriptor_77a6da22d6a3feb1, []int{136}
}
func (m *ChanBackupExportRequest) XXX_Unmarshal(b []byte) error {
@ -9517,7 +9940,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{130}
return fileDescriptor_77a6da22d6a3feb1, []int{137}
}
func (m *ChanBackupSnapshot) XXX_Unmarshal(b []byte) error {
@ -9565,7 +9988,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{131}
return fileDescriptor_77a6da22d6a3feb1, []int{138}
}
func (m *ChannelBackups) XXX_Unmarshal(b []byte) error {
@ -9607,7 +10030,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{132}
return fileDescriptor_77a6da22d6a3feb1, []int{139}
}
func (m *RestoreChanBackupRequest) XXX_Unmarshal(b []byte) error {
@ -9683,7 +10106,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{133}
return fileDescriptor_77a6da22d6a3feb1, []int{140}
}
func (m *RestoreBackupResponse) XXX_Unmarshal(b []byte) error {
@ -9714,7 +10137,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{134}
return fileDescriptor_77a6da22d6a3feb1, []int{141}
}
func (m *ChannelBackupSubscription) XXX_Unmarshal(b []byte) error {
@ -9745,7 +10168,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{135}
return fileDescriptor_77a6da22d6a3feb1, []int{142}
}
func (m *VerifyChanBackupResponse) XXX_Unmarshal(b []byte) error {
@ -9780,7 +10203,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{136}
return fileDescriptor_77a6da22d6a3feb1, []int{143}
}
func (m *MacaroonPermission) XXX_Unmarshal(b []byte) error {
@ -9827,7 +10250,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{137}
return fileDescriptor_77a6da22d6a3feb1, []int{144}
}
func (m *BakeMacaroonRequest) XXX_Unmarshal(b []byte) error {
@ -9867,7 +10290,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{138}
return fileDescriptor_77a6da22d6a3feb1, []int{145}
}
func (m *BakeMacaroonResponse) XXX_Unmarshal(b []byte) error {
@ -9973,6 +10396,13 @@ func init() {
proto.RegisterType((*PendingUpdate)(nil), "lnrpc.PendingUpdate")
proto.RegisterType((*OpenChannelRequest)(nil), "lnrpc.OpenChannelRequest")
proto.RegisterType((*OpenStatusUpdate)(nil), "lnrpc.OpenStatusUpdate")
proto.RegisterType((*KeyLocator)(nil), "lnrpc.KeyLocator")
proto.RegisterType((*KeyDescriptor)(nil), "lnrpc.KeyDescriptor")
proto.RegisterType((*ChanPointShim)(nil), "lnrpc.ChanPointShim")
proto.RegisterType((*FundingShim)(nil), "lnrpc.FundingShim")
proto.RegisterType((*FundingShimCancel)(nil), "lnrpc.FundingShimCancel")
proto.RegisterType((*FundingTransitionMsg)(nil), "lnrpc.FundingTransitionMsg")
proto.RegisterType((*FundingStateStepResp)(nil), "lnrpc.FundingStateStepResp")
proto.RegisterType((*PendingHTLC)(nil), "lnrpc.PendingHTLC")
proto.RegisterType((*PendingChannelsRequest)(nil), "lnrpc.PendingChannelsRequest")
proto.RegisterType((*PendingChannelsResponse)(nil), "lnrpc.PendingChannelsResponse")
@ -10066,600 +10496,620 @@ func init() {
func init() { proto.RegisterFile("rpc.proto", fileDescriptor_77a6da22d6a3feb1) }
var fileDescriptor_77a6da22d6a3feb1 = []byte{
// 9473 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x7d, 0x5d, 0x6c, 0x24, 0x59,
0x96, 0x96, 0xf3, 0xcf, 0xce, 0x3c, 0xf9, 0xe3, 0xf4, 0xf5, 0x5f, 0x56, 0xd6, 0x4f, 0xbb, 0x63,
0x6a, 0xaa, 0xab, 0x6b, 0x7a, 0x5c, 0xd5, 0x9e, 0xee, 0xde, 0xda, 0x6e, 0x76, 0x77, 0x5c, 0xb6,
0xab, 0xec, 0x6e, 0x97, 0xed, 0x0e, 0xbb, 0xba, 0xb6, 0x67, 0x76, 0x15, 0x13, 0xce, 0xbc, 0xb6,
0x63, 0x2a, 0x33, 0x22, 0x3b, 0x22, 0xd2, 0x2e, 0x4f, 0xd3, 0x3c, 0x20, 0x40, 0x88, 0x17, 0x34,
0xac, 0x90, 0x00, 0x81, 0x56, 0x9a, 0x05, 0x21, 0xc4, 0x03, 0xbc, 0x80, 0x16, 0xb4, 0x3c, 0xf1,
0xb0, 0xbc, 0x00, 0x0f, 0x20, 0x21, 0xb1, 0x12, 0x12, 0x5a, 0x1e, 0x58, 0x21, 0xde, 0x80, 0x67,
0x74, 0xcf, 0xfd, 0x89, 0x7b, 0x23, 0x22, 0xab, 0xdc, 0x33, 0xbd, 0xfd, 0x52, 0x95, 0xf7, 0xbb,
0x37, 0xee, 0xef, 0x39, 0xe7, 0x9e, 0x7b, 0xce, 0xb9, 0xd7, 0x50, 0x0b, 0x47, 0xbd, 0xd5, 0x51,
0x18, 0xc4, 0x01, 0xa9, 0x0c, 0xfc, 0x70, 0xd4, 0xeb, 0xde, 0x38, 0x0d, 0x82, 0xd3, 0x01, 0xbd,
0xef, 0x8e, 0xbc, 0xfb, 0xae, 0xef, 0x07, 0xb1, 0x1b, 0x7b, 0x81, 0x1f, 0xf1, 0x42, 0xd6, 0x4f,
0xa0, 0xf5, 0x84, 0xfa, 0x87, 0x94, 0xf6, 0x6d, 0xfa, 0xc5, 0x98, 0x46, 0x31, 0xf9, 0x1e, 0xcc,
0xb9, 0xf4, 0x67, 0x94, 0xf6, 0x9d, 0x91, 0x1b, 0x45, 0xa3, 0xb3, 0xd0, 0x8d, 0x68, 0xa7, 0xb0,
0x52, 0xb8, 0xdb, 0xb0, 0xdb, 0x3c, 0xe3, 0x40, 0xe1, 0xe4, 0x4d, 0x68, 0x44, 0xac, 0x28, 0xf5,
0xe3, 0x30, 0x18, 0x5d, 0x76, 0x8a, 0x58, 0xae, 0xce, 0xb0, 0x2d, 0x0e, 0x59, 0x03, 0x98, 0x55,
0x2d, 0x44, 0xa3, 0xc0, 0x8f, 0x28, 0x79, 0x00, 0x0b, 0x3d, 0x6f, 0x74, 0x46, 0x43, 0x07, 0x3f,
0x1e, 0xfa, 0x74, 0x18, 0xf8, 0x5e, 0xaf, 0x53, 0x58, 0x29, 0xdd, 0xad, 0xd9, 0x84, 0xe7, 0xb1,
0x2f, 0x9e, 0x8a, 0x1c, 0xf2, 0x16, 0xcc, 0x52, 0x9f, 0xe3, 0xb4, 0x8f, 0x5f, 0x89, 0xa6, 0x5a,
0x09, 0xcc, 0x3e, 0xb0, 0xfe, 0x7a, 0x11, 0xe6, 0x76, 0x7c, 0x2f, 0x7e, 0xee, 0x0e, 0x06, 0x34,
0x96, 0x63, 0x7a, 0x0b, 0x66, 0x2f, 0x10, 0xc0, 0x31, 0x5d, 0x04, 0x61, 0x5f, 0x8c, 0xa8, 0xc5,
0xe1, 0x03, 0x81, 0x4e, 0xec, 0x59, 0x71, 0x62, 0xcf, 0x72, 0xa7, 0xab, 0x34, 0x61, 0xba, 0xde,
0x82, 0xd9, 0x90, 0xf6, 0x82, 0x73, 0x1a, 0x5e, 0x3a, 0x17, 0x9e, 0xdf, 0x0f, 0x2e, 0x3a, 0xe5,
0x95, 0xc2, 0xdd, 0x8a, 0xdd, 0x92, 0xf0, 0x73, 0x44, 0xc9, 0x23, 0x98, 0xed, 0x9d, 0xb9, 0xbe,
0x4f, 0x07, 0xce, 0xb1, 0xdb, 0x7b, 0x31, 0x1e, 0x45, 0x9d, 0xca, 0x4a, 0xe1, 0x6e, 0x7d, 0xed,
0xda, 0x2a, 0xae, 0xea, 0xea, 0xc6, 0x99, 0xeb, 0x3f, 0xc2, 0x9c, 0x43, 0xdf, 0x1d, 0x45, 0x67,
0x41, 0x6c, 0xb7, 0xc4, 0x17, 0x1c, 0x8e, 0xac, 0x05, 0x20, 0xfa, 0x4c, 0xf0, 0xb9, 0xb7, 0xfe,
0x69, 0x01, 0xe6, 0x9f, 0xf9, 0x83, 0xa0, 0xf7, 0xe2, 0x97, 0x9c, 0xa2, 0x9c, 0x31, 0x14, 0xaf,
0x3a, 0x86, 0xd2, 0xd7, 0x1d, 0xc3, 0x12, 0x2c, 0x98, 0x9d, 0x15, 0xa3, 0xa0, 0xb0, 0xc8, 0xbe,
0x3e, 0xa5, 0xb2, 0x5b, 0x72, 0x18, 0x6f, 0x43, 0xbb, 0x37, 0x0e, 0x43, 0xea, 0x67, 0xc6, 0x31,
0x2b, 0x70, 0x35, 0x90, 0x37, 0xa1, 0xe1, 0xd3, 0x8b, 0xa4, 0x98, 0xa0, 0x5d, 0x9f, 0x5e, 0xc8,
0x22, 0x56, 0x07, 0x96, 0xd2, 0xcd, 0x88, 0x0e, 0xfc, 0xf7, 0x02, 0x94, 0x9f, 0xc5, 0x2f, 0x03,
0xb2, 0x0a, 0xe5, 0xf8, 0x72, 0xc4, 0x39, 0xa4, 0xb5, 0x46, 0xc4, 0xd0, 0xd6, 0xfb, 0xfd, 0x90,
0x46, 0xd1, 0xd1, 0xe5, 0x88, 0xda, 0x0d, 0x97, 0x27, 0x1c, 0x56, 0x8e, 0x74, 0x60, 0x46, 0xa4,
0xb1, 0xc1, 0x9a, 0x2d, 0x93, 0xe4, 0x16, 0x80, 0x3b, 0x0c, 0xc6, 0x7e, 0xec, 0x44, 0x6e, 0x8c,
0x53, 0x55, 0xb2, 0x35, 0x84, 0xdc, 0x80, 0xda, 0xe8, 0x85, 0x13, 0xf5, 0x42, 0x6f, 0x14, 0x23,
0xd9, 0xd4, 0xec, 0x04, 0x20, 0xdf, 0x83, 0x6a, 0x30, 0x8e, 0x47, 0x81, 0xe7, 0xc7, 0x82, 0x54,
0x66, 0x45, 0x5f, 0xf6, 0xc7, 0xf1, 0x01, 0x83, 0x6d, 0x55, 0x80, 0xdc, 0x86, 0x66, 0x2f, 0xf0,
0x4f, 0xbc, 0x70, 0xc8, 0x85, 0x41, 0x67, 0x1a, 0x5b, 0x33, 0x41, 0xeb, 0x5f, 0x15, 0xa1, 0x7e,
0x14, 0xba, 0x7e, 0xe4, 0xf6, 0x18, 0xc0, 0xba, 0x1e, 0xbf, 0x74, 0xce, 0xdc, 0xe8, 0x0c, 0x47,
0x5b, 0xb3, 0x65, 0x92, 0x2c, 0xc1, 0x34, 0xef, 0x28, 0x8e, 0xa9, 0x64, 0x8b, 0x14, 0x79, 0x07,
0xe6, 0xfc, 0xf1, 0xd0, 0x31, 0xdb, 0x2a, 0x21, 0xb5, 0x64, 0x33, 0xd8, 0x04, 0x1c, 0xb3, 0xb5,
0xe6, 0x4d, 0xf0, 0x11, 0x6a, 0x08, 0xb1, 0xa0, 0x21, 0x52, 0xd4, 0x3b, 0x3d, 0xe3, 0xc3, 0xac,
0xd8, 0x06, 0xc6, 0xea, 0x88, 0xbd, 0x21, 0x75, 0xa2, 0xd8, 0x1d, 0x8e, 0xc4, 0xb0, 0x34, 0x04,
0xf3, 0x83, 0xd8, 0x1d, 0x38, 0x27, 0x94, 0x46, 0x9d, 0x19, 0x91, 0xaf, 0x10, 0x72, 0x07, 0x5a,
0x7d, 0x1a, 0xc5, 0x8e, 0x58, 0x14, 0x1a, 0x75, 0xaa, 0xc8, 0xfa, 0x29, 0x94, 0xd5, 0x13, 0xba,
0x17, 0x0e, 0x9b, 0x00, 0xfa, 0xb2, 0x53, 0xe3, 0x7d, 0x4d, 0x10, 0x46, 0x39, 0x4f, 0x68, 0xac,
0xcd, 0x5e, 0x24, 0x28, 0xd4, 0xda, 0x05, 0xa2, 0xc1, 0x9b, 0x34, 0x76, 0xbd, 0x41, 0x44, 0x3e,
0x80, 0x46, 0xac, 0x15, 0x46, 0x51, 0x58, 0x57, 0xe4, 0xa4, 0x7d, 0x60, 0x1b, 0xe5, 0xac, 0x33,
0xa8, 0x3e, 0xa6, 0x74, 0xd7, 0x1b, 0x7a, 0x31, 0x59, 0x82, 0xca, 0x89, 0xf7, 0x92, 0x72, 0x82,
0x2f, 0x6d, 0x4f, 0xd9, 0x3c, 0x49, 0xde, 0x00, 0xc0, 0x1f, 0xce, 0x50, 0x11, 0xd6, 0xf6, 0x94,
0x5d, 0x43, 0xec, 0x29, 0xa3, 0xac, 0x2e, 0xcc, 0x8c, 0x68, 0xd8, 0xa3, 0x72, 0xfd, 0xb6, 0xa7,
0x6c, 0x09, 0x3c, 0x9a, 0x81, 0xca, 0x80, 0xd5, 0x6e, 0xfd, 0x71, 0x05, 0xea, 0x87, 0xd4, 0x57,
0x9c, 0x46, 0xa0, 0xcc, 0xe6, 0x44, 0x70, 0x17, 0xfe, 0x26, 0xdf, 0x81, 0x3a, 0xce, 0x53, 0x14,
0x87, 0x9e, 0x7f, 0xca, 0x09, 0xfc, 0x51, 0xb1, 0x53, 0xb0, 0x81, 0xc1, 0x87, 0x88, 0x92, 0x36,
0x94, 0xdc, 0xa1, 0x24, 0x70, 0xf6, 0x93, 0x5c, 0x83, 0xaa, 0x3b, 0x8c, 0x79, 0xf7, 0x1a, 0x08,
0xcf, 0xb8, 0xc3, 0x18, 0xbb, 0xf6, 0x26, 0x34, 0x46, 0xee, 0xe5, 0x90, 0xf1, 0xb3, 0xa2, 0x8a,
0x86, 0x5d, 0x17, 0xd8, 0x36, 0x23, 0x8b, 0x35, 0x98, 0xd7, 0x8b, 0xc8, 0xc6, 0x2b, 0xaa, 0xf1,
0x39, 0xad, 0xb4, 0xe8, 0xc3, 0x5b, 0x30, 0x2b, 0xbf, 0x09, 0xf9, 0x78, 0x90, 0x56, 0x6a, 0x76,
0x4b, 0xc0, 0x72, 0x94, 0x77, 0xa1, 0x7d, 0xe2, 0xf9, 0xee, 0xc0, 0xe9, 0x0d, 0xe2, 0x73, 0xa7,
0x4f, 0x07, 0xb1, 0x8b, 0x54, 0x53, 0xb1, 0x5b, 0x88, 0x6f, 0x0c, 0xe2, 0xf3, 0x4d, 0x86, 0x92,
0x77, 0xa0, 0x76, 0x42, 0xa9, 0x83, 0x93, 0xd5, 0xa9, 0x1a, 0x1c, 0x28, 0x57, 0xc8, 0xae, 0x9e,
0xc8, 0xb5, 0x7a, 0x07, 0xda, 0xc1, 0x38, 0x3e, 0x0d, 0x3c, 0xff, 0xd4, 0x61, 0x32, 0xcf, 0xf1,
0xfa, 0x48, 0x45, 0xe5, 0x47, 0xc5, 0x07, 0x05, 0xbb, 0x25, 0xf3, 0x98, 0xf4, 0xd9, 0xe9, 0x93,
0x3b, 0x30, 0x3b, 0x70, 0xa3, 0xd8, 0x39, 0x0b, 0x46, 0xce, 0x68, 0x7c, 0xfc, 0x82, 0x5e, 0x76,
0x9a, 0x38, 0x11, 0x4d, 0x06, 0x6f, 0x07, 0xa3, 0x03, 0x04, 0xc9, 0x4d, 0x00, 0xec, 0x27, 0xef,
0x04, 0xac, 0x14, 0xee, 0x36, 0xed, 0x1a, 0x43, 0x78, 0xa3, 0x9f, 0xc3, 0x3c, 0x2e, 0x4f, 0x6f,
0x1c, 0xc5, 0xc1, 0xd0, 0x61, 0xf2, 0x3a, 0xec, 0x47, 0x9d, 0x3a, 0xd2, 0xda, 0xdb, 0xa2, 0xb3,
0xda, 0x1a, 0xaf, 0x6e, 0xd2, 0x28, 0xde, 0xc0, 0xc2, 0x36, 0x2f, 0xcb, 0x36, 0xf5, 0x4b, 0x7b,
0xae, 0x9f, 0xc6, 0xc9, 0x3b, 0x40, 0xdc, 0xc1, 0x20, 0xb8, 0x70, 0x22, 0x3a, 0x38, 0x71, 0xc4,
0x24, 0x76, 0x5a, 0x2b, 0x85, 0xbb, 0x55, 0xbb, 0x8d, 0x39, 0x87, 0x74, 0x70, 0x72, 0xc0, 0x71,
0xf2, 0x01, 0x34, 0xb1, 0x23, 0x27, 0xd4, 0x8d, 0xc7, 0x21, 0x8d, 0x3a, 0xb3, 0x2b, 0xa5, 0xbb,
0xad, 0xb5, 0x39, 0x35, 0x5f, 0x08, 0x3f, 0xf2, 0x62, 0xbb, 0xc1, 0xca, 0x89, 0x74, 0xd4, 0xdd,
0x84, 0xa5, 0xfc, 0x2e, 0x31, 0xa2, 0x62, 0xb3, 0xc2, 0x88, 0xb1, 0x6c, 0xb3, 0x9f, 0x64, 0x01,
0x2a, 0xe7, 0xee, 0x60, 0x4c, 0x85, 0x5c, 0xe7, 0x89, 0x0f, 0x8b, 0x0f, 0x0b, 0xd6, 0x1f, 0x16,
0xa0, 0xc1, 0x47, 0x29, 0xf4, 0x91, 0xdb, 0xd0, 0x94, 0xd4, 0x40, 0xc3, 0x30, 0x08, 0x85, 0x78,
0x33, 0x41, 0x72, 0x0f, 0xda, 0x12, 0x18, 0x85, 0xd4, 0x1b, 0xba, 0xa7, 0xb2, 0xee, 0x0c, 0x4e,
0xd6, 0x92, 0x1a, 0xc3, 0x60, 0x1c, 0x53, 0xb1, 0xf3, 0x35, 0xc4, 0x00, 0x6d, 0x86, 0xd9, 0x66,
0x11, 0x26, 0xde, 0x72, 0x48, 0xdd, 0xc0, 0xac, 0xbf, 0x5d, 0x00, 0xc2, 0xba, 0x7e, 0x14, 0xf0,
0x2a, 0x04, 0x95, 0xa6, 0xb9, 0xa4, 0x70, 0x65, 0x2e, 0x29, 0xbe, 0x8a, 0x4b, 0x2c, 0xa8, 0xf0,
0xde, 0x97, 0x73, 0x7a, 0xcf, 0xb3, 0x3e, 0x2e, 0x57, 0x4b, 0xed, 0xb2, 0xf5, 0x5f, 0x4b, 0xb0,
0xb0, 0xc1, 0xb7, 0xee, 0xf5, 0x5e, 0x8f, 0x8e, 0x14, 0xff, 0xbc, 0x01, 0x75, 0x3f, 0xe8, 0x53,
0x49, 0xb5, 0xbc, 0x63, 0xc0, 0x20, 0x8d, 0x64, 0xcf, 0x5c, 0xcf, 0xe7, 0x1d, 0xe7, 0xf3, 0x59,
0x43, 0x04, 0xbb, 0x7d, 0x07, 0x66, 0x47, 0xd4, 0xef, 0xeb, 0x6c, 0xc2, 0x95, 0xab, 0xa6, 0x80,
0x05, 0x87, 0xbc, 0x01, 0xf5, 0x93, 0x31, 0x2f, 0xc7, 0x84, 0x4b, 0x19, 0xe9, 0x00, 0x04, 0xb4,
0xce, 0x65, 0xcc, 0x68, 0x1c, 0x9d, 0x61, 0x6e, 0x05, 0x73, 0x67, 0x58, 0x9a, 0x65, 0xdd, 0x04,
0xe8, 0x8f, 0xa3, 0x58, 0x70, 0xcd, 0x34, 0x66, 0xd6, 0x18, 0xc2, 0xb9, 0xe6, 0xfb, 0x30, 0x3f,
0x74, 0x5f, 0x3a, 0x48, 0x3f, 0x8e, 0xe7, 0x3b, 0x27, 0x03, 0xdc, 0x7d, 0x66, 0xb0, 0x5c, 0x7b,
0xe8, 0xbe, 0xfc, 0x8c, 0xe5, 0xec, 0xf8, 0x8f, 0x11, 0x67, 0xa2, 0x45, 0xaa, 0x3d, 0x21, 0x8d,
0x68, 0x78, 0x4e, 0x51, 0x1a, 0x94, 0x95, 0x6e, 0x63, 0x73, 0x94, 0xf5, 0x68, 0xc8, 0xc6, 0x1d,
0x0f, 0x7a, 0x9c, 0xf5, 0xed, 0x99, 0xa1, 0xe7, 0x6f, 0xc7, 0x83, 0x1e, 0xb9, 0x01, 0xc0, 0x64,
0xc9, 0x88, 0x86, 0xce, 0x8b, 0x0b, 0xe4, 0xe3, 0x32, 0xca, 0x8e, 0x03, 0x1a, 0x7e, 0x72, 0x41,
0xae, 0x43, 0xad, 0x17, 0xa1, 0x30, 0x72, 0x2f, 0x3b, 0x75, 0x64, 0xf2, 0x6a, 0x2f, 0x62, 0x62,
0xc8, 0xbd, 0x64, 0x8c, 0xc8, 0x7a, 0xeb, 0xe2, 0x2a, 0xd0, 0x3e, 0x56, 0x1f, 0xa1, 0x54, 0x6d,
0x62, 0x67, 0xd7, 0x45, 0x06, 0x6b, 0x27, 0x22, 0xdf, 0x81, 0xa6, 0xec, 0xec, 0xc9, 0xc0, 0x3d,
0x8d, 0x50, 0xac, 0x34, 0xed, 0x86, 0x00, 0x1f, 0x33, 0xcc, 0x7a, 0xce, 0x95, 0x2d, 0x6d, 0x6d,
0x05, 0xdf, 0xb0, 0x6d, 0x1f, 0x11, 0x5c, 0xd7, 0xaa, 0x2d, 0x52, 0x79, 0x8b, 0x56, 0xcc, 0x59,
0x34, 0xeb, 0x17, 0x05, 0x68, 0x88, 0x9a, 0x51, 0x43, 0x21, 0x0f, 0x80, 0xc8, 0x55, 0x8c, 0x5f,
0x7a, 0x7d, 0xe7, 0xf8, 0x32, 0xa6, 0x11, 0x27, 0x9a, 0xed, 0x29, 0x3b, 0x27, 0x8f, 0xc9, 0x51,
0x03, 0x8d, 0xe2, 0x90, 0xd3, 0xf4, 0xf6, 0x94, 0x9d, 0xc9, 0x61, 0x2c, 0xc6, 0x74, 0xa0, 0x71,
0xec, 0x78, 0x7e, 0x9f, 0xbe, 0x44, 0x52, 0x6a, 0xda, 0x06, 0xf6, 0xa8, 0x05, 0x0d, 0xfd, 0x3b,
0xeb, 0xa7, 0x50, 0x95, 0x1a, 0x14, 0x6a, 0x0f, 0xa9, 0x7e, 0xd9, 0x1a, 0x42, 0xba, 0x50, 0x35,
0x7b, 0x61, 0x57, 0xbf, 0x4e, 0xdb, 0xd6, 0x6f, 0x42, 0x7b, 0x97, 0x11, 0x91, 0xcf, 0x88, 0x56,
0xa8, 0x85, 0x4b, 0x30, 0xad, 0x31, 0x4f, 0xcd, 0x16, 0x29, 0xb6, 0xff, 0x9e, 0x05, 0x51, 0x2c,
0xda, 0xc1, 0xdf, 0xd6, 0x1f, 0x17, 0x80, 0x6c, 0x45, 0xb1, 0x37, 0x74, 0x63, 0xfa, 0x98, 0x2a,
0xf1, 0xb0, 0x0f, 0x0d, 0x56, 0xdb, 0x51, 0xb0, 0xce, 0x95, 0x34, 0xae, 0x5c, 0x7c, 0x4f, 0xb0,
0x73, 0xf6, 0x83, 0x55, 0xbd, 0x34, 0x17, 0xf9, 0x46, 0x05, 0x8c, 0xdb, 0x62, 0x37, 0x3c, 0xa5,
0x31, 0x6a, 0x70, 0x42, 0xff, 0x07, 0x0e, 0x6d, 0x04, 0xfe, 0x49, 0xf7, 0xb7, 0x60, 0x2e, 0x53,
0x87, 0x2e, 0xa3, 0x6b, 0x39, 0x32, 0xba, 0xa4, 0xcb, 0xe8, 0x1e, 0xcc, 0x1b, 0xfd, 0x12, 0x14,
0xd7, 0x81, 0x19, 0xc6, 0x18, 0x4c, 0x51, 0x28, 0x70, 0x45, 0x41, 0x24, 0xc9, 0x1a, 0x2c, 0x9c,
0x50, 0x1a, 0xba, 0x31, 0x26, 0x91, 0x75, 0xd8, 0x9a, 0x88, 0x9a, 0x73, 0xf3, 0xac, 0x3f, 0x2d,
0xc0, 0x2c, 0x93, 0xa6, 0x4f, 0x5d, 0xff, 0x52, 0xce, 0xd5, 0x6e, 0xee, 0x5c, 0xdd, 0xd5, 0x36,
0x47, 0xad, 0xf4, 0xd7, 0x9d, 0xa8, 0x52, 0x7a, 0xa2, 0xc8, 0x0a, 0x34, 0x8c, 0xee, 0x56, 0xb8,
0x46, 0x1a, 0xb9, 0xf1, 0x01, 0x0d, 0x1f, 0x5d, 0xc6, 0xf4, 0x57, 0x9f, 0xca, 0x3b, 0xd0, 0x4e,
0xba, 0x2d, 0xe6, 0x91, 0x40, 0x99, 0x11, 0xa6, 0xa8, 0x00, 0x7f, 0x5b, 0x7f, 0xbf, 0xc0, 0x0b,
0x6e, 0x04, 0x9e, 0xd2, 0x56, 0x59, 0x41, 0xa6, 0xf4, 0xca, 0x82, 0xec, 0xf7, 0x44, 0x6d, 0xff,
0x57, 0x1f, 0x2c, 0x93, 0x89, 0x11, 0xf5, 0xfb, 0x8e, 0x3b, 0x18, 0xa0, 0x20, 0xae, 0xda, 0x33,
0x2c, 0xbd, 0x3e, 0x18, 0x58, 0x6f, 0xc1, 0x9c, 0xd6, 0xbb, 0x57, 0x8c, 0x63, 0x0f, 0xc8, 0xae,
0x17, 0xc5, 0xcf, 0xfc, 0x68, 0xa4, 0x29, 0x72, 0xd7, 0xa1, 0xc6, 0xa4, 0x2d, 0xeb, 0x19, 0xe7,
0xdc, 0x8a, 0xcd, 0xc4, 0x2f, 0xeb, 0x57, 0x84, 0x99, 0xee, 0x4b, 0x91, 0x59, 0x14, 0x99, 0xee,
0x4b, 0xcc, 0xb4, 0x1e, 0xc2, 0xbc, 0x51, 0x9f, 0x68, 0xfa, 0x4d, 0xa8, 0x8c, 0xe3, 0x97, 0x81,
0x54, 0xd5, 0xeb, 0x82, 0x42, 0xd8, 0xa1, 0xd0, 0xe6, 0x39, 0xd6, 0x47, 0x30, 0xb7, 0x47, 0x2f,
0x04, 0x23, 0xcb, 0x8e, 0xdc, 0x79, 0xed, 0x81, 0x11, 0xf3, 0xad, 0x55, 0x20, 0xfa, 0xc7, 0x09,
0x03, 0xc8, 0xe3, 0x63, 0xc1, 0x38, 0x3e, 0x5a, 0x77, 0x80, 0x1c, 0x7a, 0xa7, 0xfe, 0x53, 0x1a,
0x45, 0xee, 0xa9, 0x62, 0xfd, 0x36, 0x94, 0x86, 0xd1, 0xa9, 0x10, 0x55, 0xec, 0xa7, 0xf5, 0x03,
0x98, 0x37, 0xca, 0x89, 0x8a, 0x6f, 0x40, 0x2d, 0xf2, 0x4e, 0x7d, 0x54, 0xb4, 0x44, 0xd5, 0x09,
0x60, 0x3d, 0x86, 0x85, 0xcf, 0x68, 0xe8, 0x9d, 0x5c, 0xbe, 0xae, 0x7a, 0xb3, 0x9e, 0x62, 0xba,
0x9e, 0x2d, 0x58, 0x4c, 0xd5, 0x23, 0x9a, 0xe7, 0xe4, 0x2b, 0x56, 0xb2, 0x6a, 0xf3, 0x84, 0x26,
0xfb, 0x8a, 0xba, 0xec, 0xb3, 0x9e, 0x01, 0xd9, 0x08, 0x7c, 0x9f, 0xf6, 0xe2, 0x03, 0x4a, 0xc3,
0xc4, 0x72, 0x95, 0xd0, 0x6a, 0x7d, 0x6d, 0x59, 0xcc, 0x6c, 0x5a, 0xa0, 0x0a, 0x22, 0x26, 0x50,
0x1e, 0xd1, 0x70, 0x88, 0x15, 0x57, 0x6d, 0xfc, 0x6d, 0x2d, 0xc2, 0xbc, 0x51, 0xad, 0x38, 0xeb,
0xbf, 0x0b, 0x8b, 0x9b, 0x5e, 0xd4, 0xcb, 0x36, 0xd8, 0x81, 0x99, 0xd1, 0xf8, 0xd8, 0x49, 0x38,
0x51, 0x26, 0xd9, 0xf1, 0x2f, 0xfd, 0x89, 0xa8, 0xec, 0xaf, 0x15, 0xa0, 0xbc, 0x7d, 0xb4, 0xbb,
0xc1, 0xf6, 0x0a, 0xcf, 0xef, 0x05, 0x43, 0xa6, 0x85, 0xf1, 0x41, 0xab, 0xf4, 0x44, 0x0e, 0xbb,
0x01, 0x35, 0x54, 0xde, 0xd8, 0x89, 0x57, 0xe8, 0x41, 0x09, 0xc0, 0x4e, 0xdb, 0xf4, 0xe5, 0xc8,
0x0b, 0xf1, 0x38, 0x2d, 0x0f, 0xc9, 0x65, 0xdc, 0x66, 0xb2, 0x19, 0xd6, 0xbf, 0x9b, 0x81, 0x19,
0xb1, 0xf9, 0xf2, 0x8d, 0x3c, 0xf6, 0xce, 0x69, 0xb2, 0x91, 0xb3, 0x14, 0x53, 0x8c, 0x43, 0x3a,
0x0c, 0x62, 0xa5, 0xbf, 0xf1, 0x65, 0x30, 0x41, 0xb4, 0x26, 0x08, 0x25, 0x82, 0xdb, 0x1f, 0x4a,
0xbc, 0x94, 0x01, 0x92, 0x1b, 0x30, 0x23, 0x95, 0x81, 0xb2, 0x3a, 0xe8, 0x48, 0x88, 0xcd, 0x46,
0xcf, 0x1d, 0xb9, 0x3d, 0x2f, 0xbe, 0x14, 0x62, 0x41, 0xa5, 0x59, 0xfd, 0x83, 0xa0, 0xe7, 0x0e,
0x9c, 0x63, 0x77, 0xe0, 0xfa, 0x3d, 0x2a, 0xad, 0x15, 0x06, 0xc8, 0x4e, 0xee, 0xa2, 0x5b, 0xb2,
0x18, 0x3f, 0xdd, 0xa7, 0x50, 0xb6, 0x87, 0xf7, 0x82, 0xe1, 0xd0, 0x63, 0xa7, 0x0f, 0xae, 0x9a,
0x95, 0x6c, 0x0d, 0xe1, 0xb6, 0x11, 0x4c, 0x5d, 0xf0, 0x19, 0xac, 0x49, 0xdb, 0x88, 0x06, 0xb2,
0x5a, 0x52, 0x1a, 0x5a, 0xc9, 0xd6, 0x10, 0xb6, 0x16, 0x63, 0x3f, 0xa2, 0x71, 0x3c, 0xa0, 0x7d,
0xd5, 0xa1, 0x3a, 0x16, 0xcb, 0x66, 0x90, 0x07, 0x30, 0xcf, 0x6d, 0x10, 0x91, 0x1b, 0x07, 0xd1,
0x99, 0x17, 0x39, 0x11, 0x3b, 0x3e, 0xf1, 0xb3, 0x70, 0x5e, 0x16, 0x79, 0x08, 0xcb, 0x29, 0x38,
0xa4, 0x3d, 0xea, 0x9d, 0xd3, 0x3e, 0xaa, 0x70, 0x25, 0x7b, 0x52, 0x36, 0x59, 0x81, 0xba, 0x3f,
0x1e, 0x3a, 0xe3, 0x51, 0xdf, 0x65, 0x4a, 0x4c, 0x0b, 0x95, 0x4b, 0x1d, 0x22, 0xef, 0x82, 0xd4,
0xd3, 0x84, 0xf6, 0x38, 0x6b, 0x48, 0x38, 0x46, 0xbd, 0xb6, 0x59, 0x82, 0x11, 0x66, 0xa2, 0x92,
0xb6, 0xc5, 0xb9, 0x53, 0x02, 0xc8, 0x27, 0xa1, 0x77, 0xee, 0xc6, 0xb4, 0x33, 0xc7, 0x85, 0xba,
0x48, 0xb2, 0xef, 0x3c, 0xdf, 0x8b, 0x3d, 0x37, 0x0e, 0xc2, 0x0e, 0xc1, 0xbc, 0x04, 0x60, 0x93,
0x88, 0xf4, 0x11, 0xc5, 0x6e, 0x3c, 0x8e, 0x84, 0x86, 0x3a, 0x8f, 0xc4, 0x95, 0xcd, 0x20, 0x1f,
0xc0, 0x12, 0xa7, 0x08, 0xcc, 0x12, 0xba, 0x37, 0xaa, 0x0a, 0x0b, 0x38, 0x23, 0x13, 0x72, 0xd9,
0x54, 0x0a, 0x12, 0xc9, 0x7c, 0xb8, 0xc8, 0xa7, 0x72, 0x42, 0x36, 0xeb, 0x1f, 0xeb, 0x81, 0xd7,
0x73, 0x44, 0x09, 0xc6, 0x22, 0x4b, 0x38, 0x8a, 0x6c, 0x06, 0x23, 0xf1, 0x81, 0x77, 0x42, 0x63,
0x6f, 0x48, 0x3b, 0xcb, 0x9c, 0xc4, 0x65, 0x9a, 0x31, 0xe0, 0x78, 0x84, 0x39, 0x1d, 0xce, 0xf0,
0x3c, 0x85, 0xc4, 0x38, 0x08, 0x22, 0x2a, 0x2d, 0x4f, 0x9d, 0x6b, 0x82, 0xb5, 0x74, 0xd0, 0xfa,
0xfd, 0x02, 0xdf, 0xa2, 0x04, 0x3b, 0x47, 0xda, 0xe1, 0x8b, 0x33, 0xb2, 0x13, 0xf8, 0x83, 0x4b,
0xc1, 0xdb, 0xc0, 0xa1, 0x7d, 0x7f, 0x70, 0xc9, 0xd4, 0x7f, 0xcf, 0xd7, 0x8b, 0x70, 0x69, 0xd8,
0x90, 0x20, 0x16, 0x7a, 0x03, 0xea, 0xa3, 0xf1, 0xf1, 0xc0, 0xeb, 0xf1, 0x22, 0x25, 0x5e, 0x0b,
0x87, 0xb0, 0x00, 0x3b, 0x7d, 0xf2, 0xf5, 0xe4, 0x25, 0xca, 0x58, 0xa2, 0x2e, 0x30, 0x56, 0xc4,
0x7a, 0x04, 0x0b, 0x66, 0x07, 0x85, 0xd8, 0xbf, 0x07, 0x55, 0x21, 0x25, 0xa4, 0x19, 0xa2, 0xa5,
0x19, 0x87, 0xd9, 0x61, 0x49, 0xe5, 0x5b, 0xff, 0xba, 0x0c, 0xf3, 0x02, 0xdd, 0x60, 0xc3, 0x3f,
0x1c, 0x0f, 0x87, 0x6e, 0x98, 0x23, 0x7e, 0x0a, 0xaf, 0x11, 0x3f, 0xc5, 0xac, 0xf8, 0xb9, 0x65,
0x9c, 0x42, 0xb9, 0xfc, 0xd2, 0x10, 0x72, 0x17, 0x66, 0xd9, 0x94, 0xf3, 0x43, 0x81, 0x6e, 0x9f,
0x4c, 0xc3, 0x59, 0x91, 0x59, 0xc9, 0x13, 0x99, 0xba, 0xb8, 0x9b, 0x4e, 0x89, 0x3b, 0x0b, 0x1a,
0x7c, 0x79, 0x85, 0x04, 0x9f, 0x11, 0x47, 0x32, 0x0d, 0x63, 0xfd, 0x49, 0x0b, 0x17, 0x2e, 0xc9,
0x66, 0xf3, 0x44, 0x8b, 0x37, 0xa4, 0xb8, 0x43, 0x68, 0xa5, 0x6b, 0x42, 0xb4, 0x64, 0xb3, 0xc8,
0x63, 0x00, 0xde, 0x16, 0xaa, 0x29, 0x80, 0x6a, 0xca, 0x1d, 0x73, 0x55, 0xf4, 0xf9, 0x5f, 0x65,
0x89, 0x71, 0x48, 0x51, 0x75, 0xd1, 0xbe, 0xb4, 0xfe, 0x46, 0x01, 0xea, 0x5a, 0x1e, 0x59, 0x84,
0xb9, 0x8d, 0xfd, 0xfd, 0x83, 0x2d, 0x7b, 0xfd, 0x68, 0xe7, 0xb3, 0x2d, 0x67, 0x63, 0x77, 0xff,
0x70, 0xab, 0x3d, 0xc5, 0xe0, 0xdd, 0xfd, 0x8d, 0xf5, 0x5d, 0xe7, 0xf1, 0xbe, 0xbd, 0x21, 0xe1,
0x02, 0x59, 0x02, 0x62, 0x6f, 0x3d, 0xdd, 0x3f, 0xda, 0x32, 0xf0, 0x22, 0x69, 0x43, 0xe3, 0x91,
0xbd, 0xb5, 0xbe, 0xb1, 0x2d, 0x90, 0x12, 0x59, 0x80, 0xf6, 0xe3, 0x67, 0x7b, 0x9b, 0x3b, 0x7b,
0x4f, 0x9c, 0x8d, 0xf5, 0xbd, 0x8d, 0xad, 0xdd, 0xad, 0xcd, 0x76, 0x99, 0x34, 0xa1, 0xb6, 0xfe,
0x68, 0x7d, 0x6f, 0x73, 0x7f, 0x6f, 0x6b, 0xb3, 0x5d, 0xb1, 0xfe, 0x5b, 0x01, 0x16, 0xb1, 0xd7,
0xfd, 0x34, 0x93, 0xac, 0x40, 0xbd, 0x17, 0x04, 0x23, 0x76, 0x3c, 0x48, 0x36, 0x40, 0x1d, 0x62,
0x0c, 0xc0, 0x45, 0xc7, 0x49, 0x10, 0xf6, 0xa8, 0xe0, 0x11, 0x40, 0xe8, 0x31, 0x43, 0x18, 0x03,
0x88, 0xe5, 0xe5, 0x25, 0x38, 0x8b, 0xd4, 0x39, 0xc6, 0x8b, 0x2c, 0xc1, 0xf4, 0x71, 0x48, 0xdd,
0xde, 0x99, 0xe0, 0x0e, 0x91, 0x22, 0x6f, 0x27, 0xe7, 0xd7, 0x1e, 0x9b, 0xfd, 0x01, 0xed, 0x23,
0xc5, 0x54, 0xed, 0x59, 0x81, 0x6f, 0x08, 0x98, 0xc9, 0x4a, 0xf7, 0xd8, 0xf5, 0xfb, 0x81, 0x4f,
0xfb, 0x42, 0x39, 0x4e, 0x00, 0xeb, 0x00, 0x96, 0xd2, 0xe3, 0x13, 0x3c, 0xf6, 0x81, 0xc6, 0x63,
0x5c, 0x57, 0xed, 0x4e, 0x5e, 0x4d, 0x8d, 0xdf, 0xfe, 0xb4, 0x04, 0x65, 0xa6, 0xba, 0x4c, 0x56,
0x73, 0x74, 0x6d, 0xb4, 0x94, 0x71, 0x66, 0xe0, 0x91, 0x98, 0x6f, 0x64, 0xc2, 0x1c, 0x93, 0x20,
0x49, 0x7e, 0x48, 0x7b, 0xe7, 0xc2, 0x20, 0xa3, 0x21, 0x8c, 0x41, 0xd8, 0x51, 0x01, 0xbf, 0x16,
0x0c, 0x22, 0xd3, 0x32, 0x0f, 0xbf, 0x9c, 0x49, 0xf2, 0xf0, 0xbb, 0x0e, 0xcc, 0x78, 0xfe, 0x71,
0x30, 0xf6, 0xfb, 0xc8, 0x10, 0x55, 0x5b, 0x26, 0xd1, 0x7d, 0x82, 0x8c, 0xca, 0xa4, 0x2c, 0x27,
0xff, 0x04, 0x20, 0x6b, 0x50, 0x8b, 0x2e, 0xfd, 0x9e, 0x4e, 0xf3, 0x0b, 0x62, 0x96, 0xd8, 0x1c,
0xac, 0x1e, 0x5e, 0xfa, 0x3d, 0xa4, 0xf0, 0xa4, 0x18, 0x79, 0x1f, 0xaa, 0xca, 0x80, 0xc9, 0x85,
0xd7, 0x35, 0xfd, 0x13, 0x69, 0xb5, 0xe4, 0xe7, 0x42, 0x55, 0xb4, 0xfb, 0x09, 0x34, 0x8d, 0x2c,
0xfd, 0x30, 0xd7, 0xe4, 0x87, 0xb9, 0xdb, 0xfa, 0x61, 0x2e, 0x91, 0x89, 0xe2, 0x33, 0xfd, 0x70,
0xf7, 0x5b, 0x50, 0x95, 0x5d, 0x63, 0xac, 0xf1, 0x6c, 0xef, 0x93, 0xbd, 0xfd, 0xe7, 0x7b, 0xce,
0xe1, 0xe7, 0x7b, 0x1b, 0xed, 0x29, 0x32, 0x0b, 0xf5, 0xf5, 0x0d, 0xe4, 0x36, 0x04, 0x0a, 0xac,
0xc8, 0xc1, 0xfa, 0xe1, 0xa1, 0x42, 0x8a, 0x16, 0x81, 0x36, 0x93, 0xcc, 0xac, 0xc7, 0xca, 0x45,
0xf1, 0x01, 0xcc, 0x69, 0x58, 0x72, 0xde, 0x19, 0x31, 0x20, 0x75, 0xde, 0x41, 0xe5, 0x96, 0xe7,
0x58, 0xcb, 0xb0, 0xc8, 0x92, 0x5b, 0xe7, 0xd4, 0x8f, 0x0f, 0xc7, 0xc7, 0xdc, 0x33, 0xe5, 0x05,
0xbe, 0xf5, 0x57, 0x0b, 0x50, 0x53, 0x39, 0xaf, 0xa0, 0x27, 0xe9, 0x4c, 0x2b, 0xe2, 0x02, 0x74,
0xb5, 0x26, 0xf0, 0xcb, 0x55, 0xfc, 0xd7, 0x38, 0x23, 0xd5, 0x14, 0xc4, 0x06, 0x7b, 0xb0, 0xb5,
0x65, 0x3b, 0xfb, 0x7b, 0xbb, 0x3b, 0x7b, 0x4c, 0xb2, 0xb0, 0xc1, 0x22, 0xf0, 0xf8, 0x31, 0x22,
0x05, 0xab, 0x0d, 0xad, 0x27, 0x34, 0xde, 0xf1, 0x4f, 0x02, 0x39, 0xd4, 0xff, 0x57, 0x81, 0x59,
0x05, 0x25, 0x67, 0xac, 0x73, 0x1a, 0x46, 0x5e, 0xe0, 0xa3, 0x76, 0x54, 0xb3, 0x65, 0x92, 0x89,
0x5d, 0xaf, 0x4f, 0xfd, 0xd8, 0x8b, 0x2f, 0x1d, 0xc3, 0x28, 0x93, 0x86, 0xd9, 0x79, 0xc6, 0x1d,
0x78, 0xae, 0x74, 0xf2, 0xf1, 0x04, 0x43, 0x7b, 0xc1, 0x20, 0x08, 0x51, 0x0d, 0xaa, 0xd9, 0x3c,
0x41, 0xd6, 0x60, 0x81, 0xa9, 0x5f, 0xba, 0xc9, 0x0c, 0x99, 0x95, 0x5b, 0x88, 0x72, 0xf3, 0x98,
0x58, 0x67, 0xb8, 0xd8, 0xbb, 0xd5, 0x27, 0x5c, 0xdb, 0xcf, 0xcb, 0x22, 0xef, 0xc1, 0x22, 0x83,
0xd5, 0x7e, 0xaf, 0xbe, 0x99, 0xc5, 0x6f, 0xf2, 0x33, 0x19, 0xd7, 0xf0, 0xf6, 0xd9, 0xca, 0x57,
0xb8, 0x62, 0xa7, 0x80, 0x8c, 0x47, 0x6e, 0x9a, 0x6f, 0x55, 0x69, 0x8f, 0x9c, 0xe6, 0xd5, 0xab,
0x66, 0xbc, 0x7a, 0xef, 0xc1, 0xe2, 0x31, 0x8d, 0x62, 0xe7, 0x8c, 0xba, 0x7d, 0x1a, 0x22, 0x37,
0x72, 0xe7, 0x1d, 0xd7, 0x63, 0xf3, 0x33, 0x71, 0x03, 0xbc, 0xf4, 0x7b, 0xb4, 0xef, 0xc4, 0x81,
0x83, 0x1b, 0x35, 0xf2, 0x74, 0xd5, 0x4e, 0xc3, 0x66, 0xc9, 0xd3, 0xd0, 0x1d, 0x9d, 0x09, 0x45,
0x33, 0x0d, 0x33, 0x15, 0x21, 0xa6, 0x51, 0xec, 0x53, 0xee, 0x3a, 0xa9, 0xa2, 0x59, 0x5c, 0x42,
0xe4, 0x36, 0x4c, 0x63, 0x85, 0x51, 0xa7, 0x8d, 0x0c, 0xd0, 0x48, 0x84, 0xa8, 0xe7, 0xdb, 0x22,
0x8f, 0x1d, 0x2b, 0xc7, 0xa1, 0x17, 0x75, 0x1a, 0xe8, 0x35, 0xc4, 0xdf, 0xe4, 0x87, 0x9a, 0x9c,
0x98, 0xc7, 0x6f, 0x6f, 0x8b, 0x6f, 0x53, 0x94, 0xf7, 0xad, 0x88, 0x8c, 0x8f, 0xcb, 0xd5, 0x7a,
0xbb, 0x61, 0xfd, 0x1a, 0x54, 0xb0, 0xe7, 0x48, 0x93, 0x38, 0x7f, 0x05, 0x41, 0x93, 0x88, 0x76,
0x60, 0xc6, 0xa7, 0xf1, 0x45, 0x10, 0xbe, 0x90, 0x6e, 0x6a, 0x91, 0xb4, 0x7e, 0x86, 0x67, 0x6f,
0xe5, 0xb6, 0x7d, 0x86, 0x87, 0x06, 0x72, 0x1d, 0x6a, 0x7c, 0x4d, 0xa3, 0x33, 0x57, 0x98, 0x03,
0xaa, 0x08, 0x1c, 0x9e, 0xb9, 0x6c, 0x7f, 0x34, 0xc8, 0x84, 0x5b, 0x58, 0xea, 0x88, 0x6d, 0x73,
0x2a, 0xb9, 0x0d, 0x2d, 0xe9, 0x10, 0x8e, 0x9c, 0x01, 0x3d, 0x89, 0xa5, 0x7d, 0xd4, 0x1f, 0x0f,
0xd1, 0x0c, 0xb3, 0x4b, 0x4f, 0x62, 0x6b, 0x0f, 0xe6, 0xc4, 0x9e, 0xb5, 0x3f, 0xa2, 0xb2, 0xe9,
0x5f, 0xcf, 0xd3, 0xff, 0xea, 0x6b, 0xf3, 0xe6, 0x26, 0xc7, 0x5d, 0xe0, 0x66, 0x49, 0xcb, 0x06,
0xa2, 0xef, 0x81, 0xa2, 0x42, 0xa1, 0x80, 0x49, 0x0b, 0xb0, 0x18, 0x8e, 0x81, 0xb1, 0xf9, 0x89,
0xc6, 0xbd, 0x9e, 0x74, 0xe3, 0x57, 0x6d, 0x99, 0xb4, 0xfe, 0x73, 0x01, 0xe6, 0xb1, 0x36, 0xa9,
0xc1, 0x0a, 0x3d, 0xe3, 0xe1, 0xd7, 0xe8, 0xa6, 0xb4, 0xbf, 0x73, 0xab, 0xf3, 0x02, 0x54, 0x74,
0xcd, 0x83, 0x27, 0xbe, 0xbe, 0xb5, 0xad, 0x9c, 0xb1, 0xb6, 0xdd, 0x83, 0x76, 0x9f, 0x0e, 0x3c,
0x0c, 0xe5, 0x90, 0xfb, 0x38, 0x57, 0x57, 0x33, 0xb8, 0xf5, 0x77, 0x0a, 0x30, 0xc7, 0x15, 0x05,
0x3c, 0x73, 0x89, 0xa9, 0xfa, 0x0b, 0xf2, 0x7c, 0x22, 0x04, 0x94, 0x18, 0x54, 0xb2, 0x75, 0x22,
0xca, 0x0b, 0x6f, 0x4f, 0xd9, 0x66, 0x61, 0xf2, 0x11, 0x6a, 0xdd, 0xbe, 0x83, 0x68, 0x4e, 0x70,
0x88, 0xb9, 0x2e, 0xdb, 0x53, 0xb6, 0x56, 0xfc, 0x51, 0x95, 0x1d, 0x99, 0x18, 0x6e, 0x3d, 0x81,
0xa6, 0xd1, 0x90, 0x61, 0x15, 0x6c, 0x70, 0xab, 0x60, 0xc6, 0xfc, 0x5e, 0xcc, 0x31, 0xbf, 0xff,
0x49, 0x09, 0x08, 0x23, 0xac, 0xd4, 0xca, 0xad, 0x98, 0x3e, 0x2c, 0x19, 0x27, 0x92, 0x40, 0x64,
0x0d, 0x88, 0x96, 0x94, 0xbe, 0xb5, 0x92, 0xf2, 0xad, 0xe5, 0xe4, 0x32, 0xa9, 0x2f, 0xb4, 0x4a,
0xe5, 0xb7, 0x42, 0x8b, 0x0f, 0x5f, 0xa6, 0xdc, 0x3c, 0xa6, 0xf9, 0xa0, 0x13, 0x8b, 0x9d, 0x4d,
0x85, 0x95, 0x44, 0xa6, 0xd3, 0xf4, 0x30, 0xfd, 0x5a, 0x7a, 0x98, 0xc9, 0xd0, 0x83, 0x76, 0x4e,
0xaf, 0x9a, 0xe7, 0xf4, 0xdb, 0xd0, 0x94, 0xbe, 0x2a, 0xee, 0xa6, 0x17, 0x46, 0x11, 0x03, 0x64,
0xf4, 0x24, 0x8f, 0xca, 0xca, 0x18, 0xc0, 0x9d, 0xd0, 0x19, 0x9c, 0x6d, 0x2c, 0x89, 0x3d, 0xb6,
0x8e, 0x9d, 0x4d, 0x00, 0x3c, 0x59, 0x33, 0x2a, 0x71, 0xc6, 0xbe, 0x88, 0x11, 0xa1, 0x7d, 0x34,
0x87, 0xb0, 0x93, 0x75, 0x3a, 0x23, 0x7b, 0x4a, 0x6e, 0xe6, 0x9d, 0x92, 0xff, 0x56, 0x01, 0xda,
0x6c, 0x75, 0x0d, 0x02, 0xfe, 0x10, 0x90, 0xd7, 0xae, 0x48, 0xbf, 0x46, 0x59, 0xf2, 0x10, 0x6a,
0x98, 0x0e, 0x46, 0xd4, 0x17, 0xd4, 0xdb, 0x31, 0xa9, 0x37, 0x91, 0x52, 0xdb, 0x53, 0x76, 0x52,
0x58, 0xa3, 0xdd, 0xff, 0x58, 0x80, 0xba, 0x68, 0xe5, 0x97, 0xb6, 0x0a, 0x76, 0xb5, 0xd0, 0x1f,
0xae, 0x86, 0x27, 0x91, 0x3e, 0x77, 0x61, 0x76, 0xc8, 0x76, 0x00, 0xa6, 0x9a, 0x18, 0x16, 0xc1,
0x34, 0xcc, 0x34, 0x0a, 0x14, 0xc8, 0x91, 0x13, 0x7b, 0x03, 0x47, 0xe6, 0x8a, 0x20, 0x9b, 0xbc,
0x2c, 0x26, 0x97, 0xa2, 0xd8, 0x3d, 0xa5, 0x62, 0xdb, 0xe7, 0x09, 0xab, 0x03, 0x4b, 0x07, 0x89,
0x97, 0x4f, 0x3b, 0x69, 0x59, 0xff, 0xac, 0x09, 0xcb, 0x99, 0x2c, 0x15, 0x12, 0x28, 0xcc, 0x5c,
0x03, 0x6f, 0x78, 0x1c, 0xa8, 0x63, 0x6a, 0x41, 0xb7, 0x80, 0x19, 0x59, 0xe4, 0x14, 0x16, 0xa5,
0x56, 0xc4, 0xe6, 0x34, 0xd1, 0x67, 0x8a, 0xb8, 0xc5, 0xbe, 0x6b, 0x2e, 0x61, 0xba, 0x41, 0x89,
0xeb, 0xec, 0x9e, 0x5f, 0x1f, 0x39, 0x83, 0x8e, 0x52, 0xbf, 0xc4, 0x16, 0xa0, 0xa9, 0x68, 0xac,
0xad, 0x77, 0x5e, 0xd3, 0x96, 0x71, 0x30, 0xb3, 0x27, 0xd6, 0x46, 0x2e, 0xe1, 0x96, 0xcc, 0x43,
0x19, 0x9f, 0x6d, 0xaf, 0x7c, 0xa5, 0xb1, 0xe1, 0x91, 0xd3, 0x6c, 0xf4, 0x35, 0x15, 0x93, 0x9f,
0xc2, 0xd2, 0x85, 0xeb, 0xc5, 0xb2, 0x5b, 0x9a, 0x7a, 0x58, 0xc1, 0x26, 0xd7, 0x5e, 0xd3, 0xe4,
0x73, 0xfe, 0xb1, 0xb1, 0xf1, 0x4d, 0xa8, 0xb1, 0xfb, 0x47, 0x45, 0x68, 0x99, 0xf5, 0x30, 0x32,
0x15, 0x12, 0x42, 0x4a, 0x4a, 0xa9, 0x58, 0xa7, 0xe0, 0xac, 0xb5, 0xa7, 0x98, 0x67, 0xed, 0xd1,
0xed, 0x2b, 0xa5, 0xd7, 0x99, 0x93, 0xcb, 0x57, 0x33, 0x27, 0x57, 0x72, 0xcd, 0xc9, 0x93, 0xad,
0x8e, 0xd3, 0xbf, 0xac, 0xd5, 0x71, 0xe6, 0x95, 0x56, 0xc7, 0xee, 0xff, 0x2d, 0x00, 0xc9, 0x52,
0x2f, 0x79, 0xc2, 0x0d, 0x5c, 0x3e, 0x1d, 0x08, 0x21, 0xf6, 0xfd, 0xab, 0x71, 0x80, 0x5c, 0x2d,
0xf9, 0x35, 0x63, 0x45, 0x3d, 0x2e, 0x4f, 0x57, 0xda, 0x9a, 0x76, 0x5e, 0x56, 0xca, 0xa4, 0x5e,
0x7e, 0xbd, 0x49, 0xbd, 0xf2, 0x7a, 0x93, 0xfa, 0x74, 0xda, 0xa4, 0xde, 0xfd, 0x2b, 0x05, 0x98,
0xcf, 0x21, 0xb3, 0x6f, 0x6e, 0xe0, 0x8c, 0x30, 0x0c, 0xe9, 0x53, 0x14, 0x84, 0xa1, 0x83, 0xdd,
0xbf, 0x08, 0x4d, 0x83, 0xb5, 0xbe, 0xb9, 0xf6, 0xd3, 0x7a, 0x27, 0xa7, 0x6c, 0x03, 0xeb, 0xfe,
0xaf, 0x22, 0x90, 0x2c, 0x7b, 0x7f, 0xab, 0x7d, 0xc8, 0xce, 0x53, 0x29, 0x67, 0x9e, 0xfe, 0x5c,
0x77, 0x9e, 0x77, 0x60, 0x4e, 0x04, 0x1b, 0x6b, 0x26, 0x4d, 0x4e, 0x31, 0xd9, 0x0c, 0xa6, 0x79,
0x9b, 0xfe, 0x8c, 0xaa, 0x11, 0x5c, 0xa9, 0x6d, 0xbf, 0x29, 0xb7, 0x86, 0xd5, 0x85, 0x8e, 0x98,
0xa1, 0xac, 0x4d, 0xe3, 0x5f, 0x94, 0xd4, 0xe1, 0x01, 0x33, 0x85, 0x42, 0xf1, 0x1e, 0x34, 0xf4,
0xed, 0x43, 0x2c, 0x47, 0xca, 0xaa, 0xcd, 0x54, 0x09, 0xbd, 0x14, 0xd9, 0x84, 0x16, 0x0a, 0xc9,
0xbe, 0xfa, 0x8e, 0x1f, 0xe3, 0x5e, 0x61, 0xa9, 0xdb, 0x9e, 0xb2, 0x53, 0xdf, 0x90, 0xdf, 0x80,
0x96, 0x79, 0x7e, 0x17, 0x5a, 0x49, 0xde, 0x19, 0x83, 0x7d, 0x6e, 0x16, 0x26, 0xeb, 0xd0, 0x4e,
0x1b, 0x00, 0x44, 0xe4, 0xd7, 0x84, 0x0a, 0x32, 0xc5, 0xc9, 0x43, 0x61, 0xc0, 0xa9, 0xa0, 0x01,
0xe7, 0xb6, 0xf9, 0x99, 0x36, 0x4d, 0xab, 0xfc, 0x3f, 0xcd, 0x94, 0xf3, 0x3b, 0x00, 0x09, 0x46,
0xda, 0xd0, 0xd8, 0x3f, 0xd8, 0xda, 0x73, 0x36, 0xb6, 0xd7, 0xf7, 0xf6, 0xb6, 0x76, 0xdb, 0x53,
0x84, 0x40, 0x0b, 0x0d, 0xbe, 0x9b, 0x0a, 0x2b, 0x30, 0x4c, 0x98, 0xb7, 0x24, 0x56, 0x24, 0x0b,
0xd0, 0xde, 0xd9, 0x4b, 0xa1, 0xa5, 0x47, 0x35, 0xc5, 0x1f, 0xd6, 0x12, 0x2c, 0xf0, 0x60, 0xf2,
0x47, 0x9c, 0x3c, 0xa4, 0x76, 0xf2, 0x0f, 0x0a, 0xb0, 0x98, 0xca, 0x48, 0xc2, 0x03, 0xb9, 0x02,
0x62, 0x6a, 0x25, 0x26, 0x88, 0xce, 0x2a, 0xa9, 0x91, 0xa6, 0x24, 0x48, 0x36, 0x83, 0xd1, 0xbc,
0xa6, 0xc1, 0xa6, 0x38, 0x29, 0x2f, 0xcb, 0x5a, 0x56, 0x51, 0x58, 0xa9, 0x8e, 0x9f, 0xf0, 0x20,
0x75, 0x3d, 0x23, 0x31, 0x64, 0x99, 0x5d, 0x96, 0x49, 0x76, 0xf8, 0x30, 0x94, 0x1d, 0xb3, 0xbf,
0xb9, 0x79, 0xd6, 0xff, 0x2e, 0x03, 0xf9, 0x74, 0x4c, 0xc3, 0x4b, 0x8c, 0xff, 0x53, 0xf6, 0xf3,
0xe5, 0xb4, 0x35, 0x6f, 0x7a, 0x34, 0x3e, 0xfe, 0x84, 0x5e, 0xca, 0x38, 0xdf, 0xe2, 0x95, 0xe2,
0x7c, 0xf3, 0xe2, 0x6c, 0xcb, 0xaf, 0x8f, 0xb3, 0xad, 0xbc, 0x2e, 0xce, 0xf6, 0x3b, 0xd0, 0xf4,
0x4e, 0xfd, 0x80, 0x89, 0x03, 0xa6, 0x42, 0x44, 0x9d, 0xe9, 0x95, 0x12, 0x3b, 0xcc, 0x0b, 0x70,
0x8f, 0x61, 0xe4, 0xa3, 0xa4, 0x10, 0xed, 0x9f, 0x62, 0x5c, 0xb8, 0x2e, 0x20, 0xb6, 0xfa, 0xa7,
0x74, 0x37, 0xe8, 0xb9, 0x71, 0x10, 0xe2, 0x69, 0x4e, 0x7e, 0xcc, 0xf0, 0x88, 0xdc, 0x86, 0x56,
0x14, 0x8c, 0x99, 0x52, 0x25, 0xa7, 0x81, 0xdb, 0xb8, 0x1a, 0x1c, 0x3d, 0xe0, 0x93, 0xb1, 0x0a,
0xf3, 0xe3, 0x88, 0x3a, 0x43, 0x2f, 0x8a, 0xd8, 0xc6, 0xd9, 0x0b, 0xfc, 0x38, 0x0c, 0x06, 0xc2,
0x66, 0x35, 0x37, 0x8e, 0xe8, 0x53, 0x9e, 0xb3, 0xc1, 0x33, 0xc8, 0x7b, 0x49, 0x97, 0x46, 0xae,
0x17, 0x46, 0x1d, 0xc0, 0x2e, 0xc9, 0x91, 0xb2, 0x7e, 0x1f, 0xb8, 0x5e, 0xa8, 0xfa, 0xc2, 0x12,
0x51, 0x2a, 0xfe, 0xb7, 0x9e, 0x8e, 0xff, 0xfd, 0x49, 0x7e, 0xfc, 0x6f, 0x13, 0xab, 0x7e, 0x20,
0xaa, 0xce, 0x2e, 0xf1, 0xd5, 0xc3, 0x80, 0xbf, 0x99, 0x00, 0x5d, 0x11, 0x53, 0xba, 0x0a, 0x55,
0x39, 0x4c, 0x76, 0xa2, 0x3f, 0x09, 0x83, 0xa1, 0x3c, 0xd1, 0xb3, 0xdf, 0xa4, 0x05, 0xc5, 0x38,
0x10, 0x1f, 0x17, 0xe3, 0xc0, 0xfa, 0x5d, 0xa8, 0x6b, 0x2b, 0x45, 0xde, 0xe4, 0xc6, 0x05, 0xa6,
0x13, 0x0a, 0x53, 0x00, 0xf7, 0xf9, 0xd5, 0x04, 0xba, 0xd3, 0x27, 0xdf, 0x83, 0xb9, 0xbe, 0x17,
0x52, 0x0c, 0xa5, 0x77, 0x42, 0x7a, 0x4e, 0xc3, 0x48, 0x1a, 0x59, 0xda, 0x2a, 0xc3, 0xe6, 0xb8,
0xe5, 0xc0, 0xbc, 0x31, 0x35, 0x4a, 0x38, 0x4c, 0x63, 0x20, 0xac, 0xb4, 0x8b, 0x9b, 0x41, 0xb2,
0x22, 0x8f, 0x6d, 0xab, 0xc2, 0x3e, 0xe4, 0x8c, 0xc2, 0xe0, 0x18, 0x1b, 0x29, 0xd8, 0x06, 0x66,
0xfd, 0xcf, 0x12, 0x94, 0xb6, 0x83, 0x91, 0xee, 0xa9, 0x2c, 0x64, 0x3d, 0x95, 0x42, 0xff, 0x75,
0x94, 0x7a, 0x2b, 0x94, 0x14, 0x03, 0x24, 0xf7, 0xa0, 0xc5, 0x38, 0x2d, 0x0e, 0x98, 0xbe, 0x7f,
0xe1, 0x86, 0x3c, 0x6a, 0xb6, 0x84, 0xe4, 0x9b, 0xca, 0x21, 0x0b, 0x50, 0x52, 0x6a, 0x1b, 0x16,
0x60, 0x49, 0x76, 0xd8, 0xc4, 0x98, 0x91, 0x4b, 0x61, 0xf5, 0x15, 0x29, 0x26, 0xb8, 0xcc, 0xef,
0x39, 0x3b, 0xf3, 0xcd, 0x37, 0x2f, 0x8b, 0xe9, 0xe2, 0x8c, 0x61, 0x87, 0x89, 0x6a, 0xab, 0xd2,
0xba, 0x2b, 0xa0, 0x6a, 0xba, 0x02, 0x56, 0xa0, 0x1e, 0x0f, 0xce, 0x9d, 0x91, 0x7b, 0x39, 0x08,
0xdc, 0xbe, 0x60, 0x14, 0x1d, 0x22, 0x0f, 0x00, 0x86, 0xa3, 0x91, 0xa0, 0x62, 0xb4, 0x33, 0xd4,
0xd7, 0xda, 0x62, 0xf6, 0x9f, 0x1e, 0x1c, 0x70, 0xea, 0xb3, 0xb5, 0x32, 0x64, 0x0b, 0x5a, 0xb9,
0xa1, 0xef, 0x37, 0x65, 0x64, 0x43, 0x30, 0x5a, 0xcd, 0xa1, 0xf3, 0xd4, 0x47, 0xdd, 0x1f, 0x02,
0xf9, 0x15, 0x23, 0xd0, 0x9f, 0x43, 0x4d, 0xf5, 0x50, 0x8f, 0xfb, 0xc6, 0xf0, 0xa5, 0xba, 0x19,
0xf7, 0x8d, 0xd1, 0x4a, 0x77, 0xa0, 0xc5, 0x77, 0x1b, 0x25, 0x3f, 0x79, 0xc8, 0x49, 0x0a, 0xb5,
0xfe, 0xac, 0x00, 0x15, 0xa4, 0x3c, 0xa6, 0x7e, 0xf1, 0x3c, 0xe5, 0xe2, 0x15, 0xd6, 0xe2, 0x34,
0x4c, 0x2c, 0xe3, 0x4a, 0x4c, 0x51, 0x91, 0x81, 0x7e, 0x2d, 0x66, 0x05, 0x6a, 0xaa, 0x25, 0x8d,
0x94, 0x12, 0x90, 0xdc, 0x82, 0xf2, 0x59, 0x30, 0x92, 0x27, 0x54, 0x48, 0x66, 0xd4, 0x46, 0x3c,
0xe9, 0x0f, 0xab, 0x8f, 0x0f, 0x81, 0x9f, 0x02, 0xd2, 0x70, 0xce, 0x58, 0xa7, 0x73, 0xc7, 0xfa,
0x0c, 0x66, 0x99, 0x7c, 0xd0, 0xbc, 0x39, 0x93, 0xf7, 0xa2, 0xb7, 0x99, 0x6a, 0xd3, 0x1b, 0x8c,
0xfb, 0x54, 0xb7, 0x13, 0xa0, 0x17, 0x40, 0xe0, 0x52, 0x43, 0xb6, 0xfe, 0x79, 0x81, 0xcb, 0x1d,
0x56, 0x2f, 0xb9, 0x0b, 0x65, 0xb6, 0x6d, 0xa4, 0xcc, 0x42, 0x2a, 0xa4, 0x8c, 0x95, 0xb3, 0xb1,
0x04, 0x5b, 0x45, 0x34, 0x60, 0xeb, 0xb5, 0x73, 0xf3, 0x75, 0x72, 0xc8, 0x56, 0x23, 0x4b, 0x9d,
0x4d, 0x53, 0x28, 0x59, 0xd5, 0x3c, 0xb6, 0x65, 0x63, 0x2b, 0x92, 0x9a, 0x54, 0xff, 0x94, 0x6a,
0x9e, 0xda, 0x7f, 0x59, 0x84, 0xa6, 0xd1, 0x27, 0xc6, 0x3d, 0x78, 0x61, 0x84, 0x5b, 0x99, 0xc4,
0xca, 0xeb, 0x90, 0xce, 0x79, 0x45, 0x93, 0xf3, 0x94, 0xeb, 0xaa, 0xa4, 0xbb, 0xae, 0x1e, 0x40,
0x2d, 0xb9, 0x13, 0x65, 0x76, 0x8a, 0xb5, 0x28, 0x83, 0xeb, 0x92, 0x42, 0x89, 0xb3, 0xab, 0xa2,
0x3b, 0xbb, 0x7e, 0x53, 0x73, 0x86, 0x4c, 0x63, 0x35, 0x56, 0xde, 0xac, 0x7e, 0x3b, 0xde, 0xd3,
0x8f, 0xa0, 0xae, 0x75, 0x5e, 0x77, 0x7a, 0x14, 0x0c, 0xa7, 0x87, 0x0a, 0x83, 0x2d, 0x26, 0x61,
0xb0, 0xd6, 0xcf, 0x8b, 0xd0, 0x64, 0xbc, 0xe6, 0xf9, 0xa7, 0x07, 0xc1, 0xc0, 0xeb, 0x5d, 0x22,
0x8d, 0x4b, 0xb6, 0x12, 0x3a, 0x8c, 0xe4, 0x39, 0x13, 0x66, 0x32, 0x51, 0xc5, 0xfe, 0x73, 0x01,
0xae, 0xd2, 0x4c, 0xc2, 0x33, 0xf9, 0x78, 0xec, 0x46, 0x54, 0xbb, 0xb1, 0x65, 0x9b, 0x20, 0x93,
0xc3, 0x0c, 0xc0, 0xa0, 0xe6, 0xa1, 0x37, 0x18, 0x78, 0xbc, 0x2c, 0x3f, 0x7c, 0xe7, 0x65, 0xb1,
0x36, 0xfb, 0x5e, 0xe4, 0x1e, 0x27, 0x21, 0x06, 0x2a, 0x8d, 0xf6, 0x5d, 0xf7, 0xa5, 0x66, 0xdf,
0xe5, 0xb7, 0x20, 0x4c, 0x30, 0x4d, 0x55, 0x33, 0x19, 0xaa, 0xb2, 0xfe, 0x6d, 0x11, 0xea, 0x1a,
0x8d, 0x32, 0xd9, 0x92, 0xbb, 0x09, 0x6b, 0xa8, 0x88, 0xbd, 0xf1, 0x0d, 0x73, 0x8e, 0x86, 0x90,
0xdb, 0x66, 0xab, 0xe8, 0x17, 0x42, 0xe9, 0x63, 0xd0, 0xf3, 0x0d, 0xa8, 0x31, 0x3e, 0x7c, 0x17,
0x6d, 0x47, 0xe2, 0x76, 0xa4, 0x02, 0x64, 0xee, 0x1a, 0xe6, 0x56, 0x92, 0x5c, 0x04, 0x5e, 0x19,
0x8d, 0xf3, 0x10, 0x1a, 0xa2, 0x1a, 0x5c, 0x63, 0x1c, 0x74, 0x22, 0x09, 0x8c, 0xf5, 0xb7, 0x8d,
0x92, 0xf2, 0xcb, 0x35, 0xf9, 0x65, 0xf5, 0x75, 0x5f, 0xca, 0x92, 0xd6, 0x13, 0x15, 0xe8, 0xf4,
0x24, 0x74, 0x47, 0x67, 0x52, 0xba, 0x3d, 0x80, 0x79, 0x29, 0xc4, 0xc6, 0xbe, 0xeb, 0xfb, 0xc1,
0xd8, 0xef, 0x51, 0x19, 0x31, 0x9b, 0x97, 0x65, 0xf5, 0xd5, 0xfd, 0x0a, 0xac, 0x88, 0xdc, 0x83,
0x0a, 0xd7, 0x82, 0xb9, 0xae, 0x92, 0x2f, 0xcf, 0x78, 0x11, 0x72, 0x17, 0x2a, 0x5c, 0x19, 0x2e,
0x4e, 0x94, 0x40, 0xbc, 0x80, 0xb5, 0x0a, 0xb3, 0x78, 0xa1, 0x43, 0x13, 0xc4, 0xd7, 0xf3, 0x74,
0x98, 0xe9, 0x1e, 0xbf, 0xf6, 0xb1, 0x00, 0x64, 0x8f, 0xf3, 0x95, 0xee, 0x89, 0xff, 0xb3, 0x12,
0xd4, 0x35, 0x98, 0x09, 0x4b, 0x74, 0xcb, 0x3a, 0x7d, 0xcf, 0x1d, 0xd2, 0x98, 0x86, 0x82, 0x97,
0x52, 0x28, 0x2b, 0xe7, 0x9e, 0x9f, 0x3a, 0xc1, 0x38, 0x76, 0xfa, 0xf4, 0x34, 0xa4, 0x54, 0x28,
0x57, 0x29, 0x94, 0x95, 0x63, 0xd4, 0xac, 0x95, 0xe3, 0x1e, 0xc6, 0x14, 0x2a, 0x3d, 0xde, 0x7c,
0x9e, 0xca, 0x89, 0xc7, 0x9b, 0xcf, 0x4a, 0x5a, 0xcc, 0x57, 0x72, 0xc4, 0xfc, 0x07, 0xb0, 0xc4,
0x05, 0xba, 0x90, 0x1e, 0x4e, 0x8a, 0xb8, 0x26, 0xe4, 0x92, 0x7b, 0xd0, 0x66, 0x7d, 0x96, 0xac,
0x11, 0x79, 0x3f, 0xe3, 0x3c, 0x56, 0xb0, 0x33, 0x38, 0x2b, 0x8b, 0xde, 0x12, 0xbd, 0x2c, 0x8f,
0x00, 0xcb, 0xe0, 0x58, 0xd6, 0x7d, 0x69, 0x96, 0xad, 0x89, 0xb2, 0x29, 0x9c, 0x3c, 0x84, 0xe5,
0x21, 0xed, 0x7b, 0xae, 0x59, 0x85, 0x93, 0x68, 0x1c, 0x93, 0xb2, 0x59, 0x2b, 0x6c, 0x16, 0x7e,
0x16, 0x0c, 0x8f, 0x3d, 0xbe, 0xcb, 0x72, 0xbf, 0x4e, 0xd9, 0xce, 0xe0, 0x56, 0x13, 0xea, 0x87,
0x71, 0x30, 0x92, 0x4b, 0xdf, 0x82, 0x06, 0x4f, 0x8a, 0x18, 0xe9, 0xeb, 0x70, 0x0d, 0xe9, 0xf5,
0x28, 0x18, 0x05, 0x83, 0xe0, 0xf4, 0xd2, 0xb0, 0xbb, 0xfc, 0xfb, 0x02, 0xcc, 0x1b, 0xb9, 0x89,
0xe1, 0x05, 0x8d, 0xc4, 0x32, 0xb0, 0x95, 0x93, 0xf8, 0x9c, 0xb6, 0x47, 0xf1, 0x82, 0xdc, 0x73,
0xf7, 0x4c, 0xc4, 0xba, 0xae, 0x27, 0xb7, 0xb5, 0xe4, 0x87, 0x9c, 0xde, 0x3b, 0x59, 0x7a, 0x17,
0xdf, 0xcb, 0x7b, 0x5c, 0xb2, 0x8a, 0xdf, 0x10, 0xf1, 0x7a, 0x7d, 0x31, 0xe8, 0x92, 0x19, 0x63,
0xa5, 0xdb, 0xe9, 0x64, 0x0f, 0x7a, 0x0a, 0x8c, 0xac, 0x5f, 0x14, 0x00, 0x92, 0xde, 0x61, 0x94,
0x97, 0xda, 0x67, 0xf9, 0x83, 0x08, 0xda, 0x9e, 0xfa, 0x26, 0x34, 0x54, 0xa4, 0x49, 0xb2, 0x75,
0xd7, 0x25, 0xc6, 0x54, 0x9d, 0xb7, 0x60, 0xf6, 0x74, 0x10, 0x1c, 0xa3, 0x4a, 0x25, 0xf6, 0x59,
0x1e, 0x29, 0xde, 0xe2, 0xb0, 0xdc, 0x3d, 0x93, 0x7d, 0xbe, 0x9c, 0x1b, 0xa2, 0xa2, 0xef, 0xda,
0x6c, 0xaf, 0x9b, 0xcb, 0xcc, 0xc4, 0x2b, 0xb9, 0x9c, 0xac, 0x65, 0xc4, 0xfa, 0x04, 0x67, 0x37,
0x1e, 0xc8, 0x0e, 0x5e, 0x6b, 0xb6, 0xff, 0x08, 0x5a, 0x21, 0x97, 0x99, 0x52, 0xa0, 0x96, 0x5f,
0x21, 0x50, 0x9b, 0xa1, 0xb1, 0x33, 0xbf, 0x0d, 0x6d, 0xb7, 0x7f, 0x4e, 0xc3, 0xd8, 0x43, 0x33,
0x26, 0xea, 0x74, 0x7c, 0x80, 0xb3, 0x1a, 0x8e, 0xaa, 0xd3, 0x5b, 0x30, 0x2b, 0xe2, 0xf6, 0x55,
0x49, 0x71, 0x35, 0x38, 0x81, 0x59, 0x41, 0xeb, 0x1f, 0x4b, 0x47, 0xbf, 0xb9, 0xba, 0xaf, 0x9e,
0x15, 0x7d, 0x84, 0xc5, 0xd4, 0x08, 0xbf, 0x23, 0xdc, 0x98, 0x7d, 0x69, 0x2f, 0x2d, 0x69, 0x91,
0x9f, 0x7d, 0x11, 0x28, 0x61, 0x4e, 0x6b, 0xf9, 0x2a, 0xd3, 0x6a, 0xfd, 0x97, 0x02, 0xcc, 0x6c,
0x07, 0xa3, 0x6d, 0x8f, 0x07, 0x5f, 0x21, 0x9b, 0xa8, 0x4b, 0x33, 0x32, 0xf9, 0x9a, 0x08, 0xd9,
0x5c, 0xad, 0xa4, 0x99, 0xd6, 0x4a, 0x7e, 0x08, 0xd7, 0xd1, 0x62, 0x1f, 0x06, 0xa3, 0x20, 0x64,
0xec, 0xea, 0x0e, 0xb8, 0x0a, 0x12, 0xf8, 0xf1, 0x99, 0x14, 0xa7, 0xaf, 0x2a, 0x82, 0x66, 0xb4,
0x41, 0x7c, 0xee, 0xf0, 0xe3, 0xa6, 0xd0, 0xa2, 0xb8, 0x94, 0xcd, 0x66, 0x58, 0xbf, 0x0e, 0x35,
0x3c, 0xee, 0xe0, 0xd0, 0xde, 0x81, 0xda, 0x59, 0x30, 0x72, 0xce, 0x3c, 0x3f, 0x96, 0xec, 0xdf,
0x4a, 0xce, 0x21, 0xdb, 0x38, 0x29, 0xaa, 0x80, 0xf5, 0x1f, 0x66, 0x60, 0x66, 0xc7, 0x3f, 0x0f,
0xbc, 0x1e, 0x06, 0x0c, 0x0c, 0xe9, 0x30, 0x90, 0xd7, 0x88, 0xd8, 0x6f, 0xbc, 0xe1, 0x9f, 0x5c,
0xf4, 0xe5, 0x2c, 0xa4, 0x21, 0xec, 0x80, 0x1c, 0xea, 0x17, 0x75, 0x45, 0x2a, 0x39, 0xf5, 0x55,
0xb4, 0x8b, 0x58, 0xac, 0x36, 0x7e, 0x81, 0x14, 0xe7, 0x8e, 0x87, 0x7f, 0x6b, 0x08, 0x9b, 0x7c,
0x11, 0xb9, 0xcb, 0x43, 0x3b, 0x79, 0xec, 0x91, 0x80, 0xf0, 0xd0, 0x1f, 0x52, 0xee, 0x73, 0x51,
0xaa, 0x17, 0x3b, 0xf4, 0xeb, 0x20, 0x53, 0xcf, 0xf8, 0x07, 0xbc, 0x0c, 0xdf, 0x0e, 0x74, 0x88,
0x29, 0xa8, 0xe9, 0x6b, 0xef, 0xfc, 0xe9, 0x82, 0x34, 0xcc, 0x43, 0x43, 0x94, 0xd0, 0xe5, 0xe3,
0x04, 0x7e, 0xd9, 0x39, 0x8d, 0x6b, 0xa6, 0x02, 0x7e, 0xc1, 0x41, 0x9a, 0x0a, 0x18, 0xc9, 0xb8,
0x83, 0xc1, 0xb1, 0xdb, 0x7b, 0xc1, 0x4f, 0xb6, 0x0d, 0xee, 0xaa, 0x33, 0x40, 0x8c, 0xbf, 0x4d,
0xd6, 0x15, 0x5d, 0xf7, 0x65, 0x5b, 0x87, 0xc8, 0x1a, 0xd4, 0xd1, 0x8c, 0x22, 0x56, 0xb6, 0x85,
0x2b, 0xdb, 0xd6, 0xed, 0x2c, 0xb8, 0xb6, 0x7a, 0x21, 0x3d, 0x94, 0x61, 0x36, 0x73, 0xe5, 0xc0,
0xed, 0xf7, 0x45, 0x14, 0x48, 0x9b, 0x5f, 0xf6, 0x55, 0x00, 0x1a, 0x6a, 0xf8, 0x84, 0xf1, 0x02,
0x73, 0x58, 0xc0, 0xc0, 0xc8, 0x2d, 0x6e, 0xc6, 0x1c, 0xb9, 0x5e, 0x1f, 0x43, 0xc9, 0xf8, 0x59,
0x58, 0x61, 0xac, 0x0e, 0xf9, 0x1b, 0x37, 0xce, 0x79, 0x9c, 0x15, 0x03, 0x63, 0x73, 0xa3, 0xd2,
0xc3, 0xe4, 0x8e, 0x82, 0x09, 0x92, 0x77, 0xd1, 0xc3, 0x1e, 0x53, 0xbc, 0x88, 0xd0, 0x5a, 0xbb,
0x2e, 0xc6, 0x2c, 0xc8, 0x56, 0xfe, 0x7f, 0xc8, 0x8a, 0xd8, 0xbc, 0x24, 0x53, 0xdb, 0xb8, 0x93,
0x63, 0xc9, 0x50, 0xdb, 0x44, 0x51, 0x74, 0x72, 0xf0, 0x02, 0xe4, 0xa1, 0x76, 0x12, 0xeb, 0x60,
0xe1, 0x1b, 0xa9, 0xfa, 0xbf, 0x95, 0x33, 0xd8, 0x3a, 0x34, 0xf4, 0x71, 0x90, 0x2a, 0x94, 0xf7,
0x0f, 0xb6, 0xf6, 0xda, 0x53, 0xa4, 0x0e, 0x33, 0x87, 0x5b, 0x47, 0x47, 0xbb, 0x5b, 0x9b, 0xed,
0x02, 0x69, 0x40, 0x55, 0x45, 0x77, 0x17, 0x59, 0x6a, 0x7d, 0x63, 0x63, 0xeb, 0xe0, 0x68, 0x6b,
0xb3, 0x5d, 0xfa, 0xb8, 0x5c, 0x2d, 0xb6, 0x4b, 0xa8, 0x40, 0x6a, 0xc3, 0x7c, 0x8d, 0x1d, 0xed,
0x16, 0x00, 0x1e, 0x6c, 0x92, 0x68, 0xa0, 0xb2, 0xad, 0x21, 0x4c, 0x50, 0x2b, 0xfb, 0x43, 0x89,
0x5f, 0xc0, 0x96, 0x69, 0x5c, 0x3c, 0xbc, 0xe9, 0xac, 0x3b, 0xb6, 0x2a, 0xb6, 0x09, 0x32, 0xc2,
0x16, 0x00, 0x86, 0x1c, 0x73, 0x71, 0xa0, 0x43, 0x8c, 0x50, 0x42, 0x1a, 0x05, 0x83, 0x73, 0xca,
0x8b, 0x70, 0xf5, 0xd0, 0xc0, 0x58, 0x5b, 0x42, 0xe2, 0x69, 0xd7, 0x01, 0x2a, 0xb6, 0x09, 0x92,
0xef, 0x4b, 0x42, 0xa9, 0x22, 0xa1, 0x2c, 0x67, 0x57, 0xdd, 0x20, 0x92, 0xa7, 0x19, 0x43, 0x58,
0x0d, 0x09, 0xe0, 0xbb, 0xd9, 0xef, 0xae, 0x60, 0x10, 0x23, 0xab, 0x40, 0x86, 0xa3, 0x91, 0x93,
0x63, 0xa1, 0x2a, 0xdb, 0x39, 0x39, 0xdf, 0x80, 0x01, 0x2d, 0x06, 0xb2, 0xde, 0xef, 0x8b, 0x6e,
0xea, 0xf7, 0xd1, 0x43, 0xfd, 0x01, 0x04, 0x29, 0x92, 0x73, 0xc4, 0x5e, 0x31, 0x5f, 0xec, 0xbd,
0x52, 0x38, 0x58, 0x3b, 0x50, 0x3f, 0xd0, 0x9e, 0x54, 0xb0, 0xd8, 0x0e, 0x21, 0x1f, 0x53, 0xe0,
0x7b, 0x07, 0x37, 0x9c, 0x25, 0xa8, 0xd6, 0xa5, 0xa2, 0xde, 0x25, 0xeb, 0x1f, 0x16, 0xf8, 0x2d,
0x55, 0x35, 0x04, 0xde, 0xbe, 0x05, 0x0d, 0xe5, 0x7b, 0x49, 0xae, 0xec, 0x18, 0x18, 0x2b, 0x83,
0xdd, 0x71, 0x82, 0x93, 0x93, 0x88, 0xca, 0xe0, 0x7a, 0x03, 0x93, 0xca, 0x38, 0x53, 0xef, 0x3d,
0xde, 0x42, 0x24, 0x82, 0xec, 0x33, 0x38, 0xa3, 0x74, 0x61, 0xfb, 0x96, 0xd7, 0x0a, 0x54, 0x5a,
0xdd, 0x2c, 0x4a, 0xcf, 0xf4, 0x3d, 0xa8, 0xaa, 0x7a, 0xcd, 0x9d, 0x56, 0x96, 0x54, 0xf9, 0x6c,
0x47, 0xc7, 0x83, 0xba, 0xd1, 0x69, 0xce, 0x70, 0xd9, 0x0c, 0x46, 0x4b, 0x27, 0x5e, 0x98, 0x2e,
0xce, 0x39, 0x30, 0x27, 0xc7, 0x7a, 0x0e, 0xf3, 0x52, 0x7c, 0x68, 0xa7, 0x04, 0x73, 0x21, 0x0b,
0xaf, 0x93, 0xf2, 0xc5, 0xac, 0x94, 0xb7, 0xfe, 0x4d, 0x19, 0x66, 0xe4, 0x7b, 0x25, 0x56, 0xce,
0xfb, 0x1a, 0x35, 0xf3, 0x69, 0x0e, 0xd2, 0x31, 0x2e, 0x60, 0x23, 0x21, 0x88, 0xbd, 0xff, 0x6e,
0x7a, 0xf7, 0x4e, 0x0c, 0xa8, 0xa9, 0x1d, 0x7c, 0x09, 0xca, 0x23, 0x37, 0x3e, 0x43, 0xfb, 0x1a,
0xa7, 0x25, 0x4c, 0x4b, 0x13, 0x7d, 0xc5, 0x34, 0xd1, 0xe7, 0x3d, 0x48, 0xc2, 0x55, 0xd5, 0xec,
0x83, 0x24, 0x37, 0xa0, 0xc6, 0xb5, 0x8d, 0xc4, 0x0a, 0x9f, 0x00, 0x29, 0xed, 0xa4, 0x9a, 0xd1,
0x4e, 0xae, 0xae, 0x37, 0xbc, 0x07, 0xd3, 0xfc, 0x52, 0x9e, 0xb8, 0x44, 0x21, 0xb7, 0x14, 0x31,
0x93, 0xf2, 0x7f, 0x1e, 0x83, 0x67, 0x8b, 0xb2, 0xfa, 0xb5, 0xfe, 0xba, 0x79, 0xad, 0x5f, 0x77,
0x1e, 0x34, 0x52, 0xce, 0x83, 0x7b, 0xd0, 0x56, 0xd3, 0x87, 0x06, 0x36, 0x3f, 0x12, 0x41, 0xe3,
0x19, 0x3c, 0xd9, 0x16, 0x5b, 0xc6, 0xb6, 0xc8, 0x24, 0xdc, 0x7a, 0x1c, 0xd3, 0xe1, 0x28, 0x16,
0xdb, 0xa2, 0xf5, 0x18, 0x9a, 0x46, 0x27, 0xd9, 0x36, 0x24, 0xae, 0x55, 0xb4, 0xa7, 0x48, 0x13,
0x6a, 0x3b, 0x7b, 0xce, 0xe3, 0xdd, 0x9d, 0x27, 0xdb, 0x47, 0xed, 0x02, 0x4b, 0x1e, 0x3e, 0xdb,
0xd8, 0xd8, 0xda, 0xda, 0xc4, 0x6d, 0x09, 0x60, 0xfa, 0xf1, 0xfa, 0x0e, 0xdb, 0xa2, 0x4a, 0xd6,
0xff, 0x29, 0x40, 0x5d, 0xab, 0x9e, 0xbc, 0xaf, 0x66, 0x86, 0xdf, 0xfc, 0xbe, 0x99, 0xed, 0xc2,
0xaa, 0x14, 0xd4, 0xda, 0xd4, 0xa8, 0x37, 0x58, 0x8a, 0x13, 0xdf, 0x60, 0x61, 0xcb, 0xe3, 0xf2,
0x1a, 0xd4, 0x3c, 0xf0, 0xd3, 0x53, 0x1a, 0xe6, 0x71, 0x56, 0xc9, 0xee, 0xc2, 0x4a, 0x72, 0x8b,
0x61, 0x1a, 0xb6, 0x3e, 0x00, 0x48, 0x7a, 0x63, 0x0e, 0x7b, 0xca, 0x1c, 0x76, 0x41, 0x1b, 0x76,
0xd1, 0xda, 0xe4, 0x02, 0x43, 0x4c, 0xa1, 0xf2, 0x12, 0x7f, 0x1f, 0x88, 0x34, 0x50, 0x61, 0x3c,
0xe3, 0x68, 0x40, 0x63, 0x79, 0xd9, 0x6a, 0x4e, 0xe4, 0xec, 0xa8, 0x0c, 0x79, 0x5f, 0x30, 0xa9,
0x25, 0x91, 0x3b, 0x82, 0xe2, 0xd2, 0x72, 0x47, 0x14, 0xb5, 0x55, 0xbe, 0xd5, 0x85, 0xce, 0x26,
0x65, 0xb5, 0xad, 0x0f, 0x06, 0xa9, 0xee, 0x58, 0xd7, 0xe1, 0x5a, 0x4e, 0x9e, 0x30, 0x3f, 0x7c,
0x0a, 0x8b, 0xeb, 0xfc, 0x5e, 0xd5, 0x37, 0x15, 0xc2, 0x6d, 0x75, 0x60, 0x29, 0x5d, 0xa5, 0x68,
0xec, 0x31, 0xcc, 0x6d, 0xd2, 0xe3, 0xf1, 0xe9, 0x2e, 0x3d, 0x4f, 0x1a, 0x22, 0x50, 0x8e, 0xce,
0x82, 0x0b, 0x31, 0x3f, 0xf8, 0x9b, 0xdc, 0x04, 0x18, 0xb0, 0x32, 0x4e, 0x34, 0xa2, 0x3d, 0x79,
0xb3, 0x1e, 0x91, 0xc3, 0x11, 0xed, 0x59, 0x1f, 0x00, 0xd1, 0xeb, 0x11, 0xf3, 0xc5, 0x8e, 0x04,
0xe3, 0x63, 0x27, 0xba, 0x8c, 0x62, 0x3a, 0x94, 0x4f, 0x06, 0xe8, 0x90, 0xf5, 0x16, 0x34, 0x0e,
0xdc, 0x4b, 0x9b, 0x7e, 0x21, 0xde, 0xfc, 0x59, 0x86, 0x99, 0x91, 0x7b, 0xc9, 0xf8, 0x59, 0xb9,
0x50, 0x30, 0xdb, 0xfa, 0xc3, 0x32, 0x4c, 0xf3, 0x92, 0xac, 0xd6, 0x3e, 0x8d, 0x62, 0xcf, 0x47,
0x1e, 0x93, 0xb5, 0x6a, 0x50, 0x46, 0x60, 0x16, 0x73, 0x04, 0xa6, 0x30, 0xa5, 0xc9, 0x1b, 0xca,
0x82, 0x64, 0x0d, 0x8c, 0x89, 0xad, 0xe4, 0x42, 0x08, 0xa7, 0xd4, 0x04, 0x48, 0xf9, 0x28, 0x93,
0x83, 0x07, 0xef, 0x9f, 0xdc, 0x0b, 0x84, 0x4c, 0xd4, 0xa1, 0xdc, 0xe3, 0xcd, 0x8c, 0x8c, 0x7c,
0x4f, 0x1d, 0x6f, 0x32, 0xc7, 0x98, 0xea, 0x15, 0x8e, 0x31, 0xdc, 0xbe, 0xf6, 0xaa, 0x63, 0x0c,
0x5c, 0xe5, 0x18, 0x73, 0x15, 0xdf, 0x60, 0x17, 0xaa, 0xb8, 0xa7, 0x6b, 0x22, 0x52, 0xa6, 0xc9,
0xaf, 0x69, 0x3a, 0x3e, 0x77, 0xf3, 0x5f, 0x4f, 0xf8, 0xc5, 0xa6, 0x5f, 0x7c, 0x3b, 0x2a, 0xfe,
0x8f, 0x61, 0x46, 0xa0, 0x8c, 0xb2, 0x7d, 0x77, 0x28, 0x5f, 0x86, 0xc0, 0xdf, 0x6c, 0xea, 0xf0,
0x82, 0xfa, 0x17, 0x63, 0x2f, 0xa4, 0x7d, 0x79, 0x7b, 0x52, 0x83, 0x30, 0x2a, 0x3a, 0x72, 0x5e,
0xf8, 0xc1, 0x85, 0x2f, 0xee, 0x4f, 0xaa, 0xb4, 0x45, 0xa0, 0x8d, 0x2f, 0xc4, 0x8c, 0x82, 0x50,
0x3e, 0xf6, 0x61, 0xfd, 0xdd, 0x02, 0xb4, 0x05, 0xa3, 0xa9, 0x3c, 0x19, 0x10, 0xf0, 0xaa, 0x4b,
0xc2, 0xb7, 0xa1, 0x89, 0xb6, 0x0c, 0xb5, 0xe5, 0x08, 0xe7, 0xba, 0x01, 0xb2, 0xfe, 0xca, 0xb0,
0xc4, 0xa1, 0x37, 0x10, 0x74, 0xab, 0x43, 0x72, 0xd7, 0x0a, 0x5d, 0x71, 0xed, 0xa2, 0x60, 0xab,
0xb4, 0xf5, 0x47, 0x05, 0x98, 0xd3, 0x3a, 0x2c, 0x18, 0xf5, 0x23, 0x68, 0xa8, 0x87, 0x98, 0xa8,
0x52, 0xaa, 0x96, 0x4d, 0xc9, 0x92, 0x7c, 0x66, 0x14, 0x46, 0x7a, 0x77, 0x2f, 0xb1, 0x83, 0xd1,
0x78, 0x28, 0xb4, 0x19, 0x1d, 0x62, 0x74, 0x74, 0x41, 0xe9, 0x0b, 0x55, 0x84, 0xeb, 0x53, 0x06,
0x86, 0x3e, 0xa0, 0xc0, 0x8f, 0xcf, 0x54, 0xa1, 0xb2, 0xf0, 0x01, 0xe9, 0xa0, 0xf5, 0x27, 0x45,
0x98, 0xe7, 0x46, 0x35, 0x61, 0xcc, 0x54, 0x6f, 0x61, 0x4c, 0x73, 0xfb, 0x22, 0x17, 0x5a, 0xdb,
0x53, 0xb6, 0x48, 0x93, 0xf7, 0xaf, 0x68, 0x08, 0x54, 0xf7, 0x3b, 0x26, 0xac, 0x45, 0x29, 0x6f,
0x2d, 0x5e, 0x31, 0xd3, 0x79, 0xee, 0xb8, 0x4a, 0xbe, 0x3b, 0xee, 0x6a, 0xee, 0xaf, 0xcc, 0x25,
0x88, 0x19, 0x51, 0xca, 0xb8, 0x04, 0xb1, 0x06, 0xcb, 0x06, 0x80, 0xf2, 0xda, 0x3b, 0xf1, 0xa8,
0xbc, 0x91, 0x3a, 0x17, 0xd1, 0xd8, 0x31, 0x8a, 0x3c, 0x9a, 0x81, 0x4a, 0xd4, 0x0b, 0x46, 0xd4,
0x5a, 0x82, 0x05, 0x73, 0x72, 0xc5, 0x2e, 0xf1, 0x8b, 0x02, 0x74, 0x1e, 0xf3, 0xa0, 0x0a, 0xcf,
0x3f, 0xdd, 0xf6, 0xa2, 0x38, 0x08, 0xd5, 0x93, 0x45, 0xb7, 0x00, 0xa2, 0xd8, 0x0d, 0xc5, 0x39,
0x93, 0x2b, 0xbb, 0x1a, 0xc2, 0xe6, 0x88, 0xfa, 0x7d, 0x9e, 0xcb, 0x69, 0x43, 0xa5, 0x33, 0x87,
0x09, 0x61, 0x72, 0x34, 0x54, 0xf2, 0x3b, 0xfc, 0x6e, 0x16, 0x9b, 0x0c, 0x7a, 0x8e, 0x5b, 0x2f,
0xb7, 0xe3, 0xa5, 0x50, 0xeb, 0xf7, 0x8b, 0x30, 0x9b, 0x74, 0x92, 0xdf, 0xf5, 0x34, 0x04, 0xb8,
0xd0, 0xc3, 0x13, 0x01, 0x2e, 0xdc, 0x83, 0x8e, 0xc7, 0x14, 0x73, 0xcd, 0xea, 0xa8, 0xa1, 0xe4,
0x36, 0xd4, 0x65, 0x2a, 0x18, 0xc7, 0xda, 0xdb, 0x21, 0x3a, 0xcc, 0xef, 0x46, 0xb0, 0xa3, 0x81,
0x38, 0xe6, 0x88, 0x14, 0xde, 0x50, 0x1e, 0xc6, 0xf8, 0x25, 0x5f, 0x53, 0x99, 0x64, 0x02, 0x8d,
0xe9, 0xd4, 0x7c, 0x0d, 0x51, 0x9f, 0xd6, 0x75, 0xcd, 0xaa, 0x7a, 0x73, 0x4d, 0xf1, 0x3c, 0xaf,
0x31, 0xb9, 0xfe, 0x52, 0xb6, 0x75, 0x48, 0x5a, 0x7d, 0x82, 0xb1, 0x71, 0xfc, 0x35, 0x30, 0xeb,
0x6f, 0x16, 0xe0, 0x5a, 0xce, 0x32, 0x0a, 0x19, 0xb0, 0x09, 0x73, 0x27, 0x2a, 0x53, 0x4e, 0x35,
0x17, 0x04, 0x4b, 0x52, 0xb8, 0x9a, 0xd3, 0x6b, 0x67, 0x3f, 0x50, 0xc7, 0x2d, 0xbe, 0x78, 0xc6,
0x6d, 0xa7, 0x6c, 0x86, 0x75, 0x00, 0xdd, 0xad, 0x97, 0x4c, 0xa4, 0x6c, 0xe8, 0x0f, 0xef, 0x4a,
0xca, 0x5a, 0xcb, 0x88, 0xcc, 0xd7, 0x1b, 0x9b, 0x4f, 0xa0, 0x69, 0xd4, 0x45, 0x7e, 0x70, 0xd5,
0x4a, 0x74, 0xee, 0x5f, 0x11, 0xab, 0xce, 0x5f, 0x0e, 0x96, 0x77, 0xae, 0x34, 0xc8, 0x3a, 0x87,
0xd9, 0xa7, 0xe3, 0x41, 0xec, 0x25, 0xaf, 0x08, 0x93, 0xf7, 0xc5, 0x47, 0x58, 0x85, 0x9c, 0xba,
0xdc, 0xa6, 0xf4, 0x72, 0x6c, 0xc6, 0x86, 0xac, 0x26, 0x27, 0xdb, 0x62, 0x36, 0xc3, 0xba, 0x06,
0xcb, 0x49, 0x93, 0x7c, 0xee, 0xe4, 0xb6, 0xf3, 0x07, 0x05, 0x1e, 0x12, 0x6c, 0x3e, 0x6a, 0x4c,
0x9e, 0xc0, 0x7c, 0xe4, 0xf9, 0xa7, 0x03, 0xaa, 0xd7, 0x13, 0x89, 0x99, 0x58, 0x34, 0xbb, 0x27,
0x1e, 0x3e, 0xb6, 0xf3, 0xbe, 0x60, 0x04, 0x92, 0xdf, 0xd1, 0x84, 0x40, 0x52, 0x53, 0x92, 0x37,
0x80, 0x8f, 0xa1, 0x65, 0x36, 0x46, 0x1e, 0x8a, 0x4b, 0x50, 0x49, 0xcf, 0x74, 0xef, 0xb0, 0x49,
0x19, 0x46, 0x49, 0xeb, 0xe7, 0x05, 0xe8, 0xd8, 0x94, 0x91, 0x31, 0xd5, 0x1a, 0x15, 0xd4, 0xf3,
0x51, 0xa6, 0xda, 0xc9, 0x03, 0x56, 0x97, 0xab, 0xe4, 0x58, 0x57, 0x27, 0x2e, 0xca, 0xf6, 0x54,
0xce, 0xa8, 0x1e, 0x55, 0x61, 0x5a, 0x8c, 0x6f, 0x19, 0x16, 0x45, 0x97, 0x64, 0x77, 0x12, 0xb7,
0xa2, 0xd1, 0xa8, 0xe1, 0x56, 0xec, 0x42, 0x87, 0xbf, 0x4c, 0xa5, 0x8f, 0x43, 0x7c, 0xb8, 0x09,
0xe4, 0xa9, 0xdb, 0x73, 0xc3, 0x20, 0xf0, 0x0f, 0x68, 0x28, 0x62, 0x38, 0x51, 0xfb, 0x44, 0xaf,
0x9b, 0x54, 0x94, 0x79, 0x4a, 0x3e, 0xa6, 0x14, 0xf8, 0xf2, 0xd1, 0x2a, 0x9e, 0xb2, 0x6c, 0x98,
0x7f, 0xe4, 0xbe, 0xa0, 0xb2, 0xa6, 0x64, 0x96, 0xea, 0x23, 0x55, 0xa9, 0x9c, 0x7b, 0x79, 0x0b,
0x32, 0xdb, 0xac, 0xad, 0x97, 0xb6, 0xd6, 0x60, 0xc1, 0xac, 0x53, 0x88, 0x92, 0x2e, 0x54, 0x87,
0x02, 0x13, 0xbd, 0x53, 0xe9, 0x7b, 0x5f, 0x41, 0x5d, 0x7b, 0x6d, 0x8c, 0x2c, 0xc3, 0xfc, 0xf3,
0x9d, 0xa3, 0xbd, 0xad, 0xc3, 0x43, 0xe7, 0xe0, 0xd9, 0xa3, 0x4f, 0xb6, 0x3e, 0x77, 0xb6, 0xd7,
0x0f, 0xb7, 0xdb, 0x53, 0x64, 0x09, 0xc8, 0xde, 0xd6, 0xe1, 0xd1, 0xd6, 0xa6, 0x81, 0x17, 0xc8,
0x2d, 0xe8, 0x3e, 0xdb, 0x7b, 0x76, 0xb8, 0xb5, 0xe9, 0xe4, 0x7d, 0x57, 0x24, 0x37, 0xe1, 0x9a,
0xc8, 0xcf, 0xf9, 0xbc, 0x74, 0xef, 0x23, 0x68, 0xa7, 0xcd, 0x92, 0x86, 0x39, 0xf7, 0x55, 0x76,
0xdf, 0x7b, 0xff, 0xa8, 0x04, 0x90, 0xbc, 0x0e, 0x4b, 0x3a, 0xb0, 0xb0, 0xb9, 0x7e, 0xb4, 0xbe,
0xbb, 0xcf, 0x3a, 0x61, 0xef, 0x1f, 0x6d, 0x6d, 0x1c, 0x39, 0xf6, 0xd6, 0xa7, 0xed, 0xa9, 0xdc,
0x9c, 0xfd, 0x03, 0x76, 0x64, 0x5f, 0x86, 0xf9, 0x9d, 0xbd, 0x9d, 0xa3, 0x9d, 0xf5, 0x5d, 0xc7,
0xde, 0x7f, 0xb6, 0xb3, 0xf7, 0x84, 0xbf, 0x84, 0x50, 0x22, 0x6f, 0xc0, 0xf5, 0x67, 0x07, 0x8f,
0xed, 0xfd, 0xbd, 0x23, 0xe7, 0x70, 0xfb, 0xd9, 0xd1, 0x26, 0xbe, 0xa3, 0xb0, 0x61, 0xef, 0x1c,
0xf0, 0x3a, 0xcb, 0xaf, 0x2a, 0xc0, 0xaa, 0xae, 0xb0, 0x19, 0x7b, 0xb2, 0x7f, 0x78, 0xb8, 0x73,
0xe0, 0x7c, 0xfa, 0x6c, 0xcb, 0xde, 0xd9, 0x3a, 0xc4, 0x0f, 0xa7, 0x73, 0x70, 0x56, 0x7e, 0x86,
0xcc, 0x41, 0xf3, 0x68, 0xf7, 0x33, 0x67, 0x7f, 0x6f, 0x67, 0x7f, 0x0f, 0x8b, 0x56, 0x4d, 0x88,
0x95, 0xaa, 0x91, 0x2e, 0x2c, 0x6d, 0xfd, 0xf6, 0x91, 0x93, 0x53, 0x33, 0x4c, 0xc8, 0x63, 0xdf,
0xd5, 0xc9, 0x35, 0x58, 0x3c, 0x3c, 0x5a, 0x3f, 0xda, 0xd9, 0x70, 0xc4, 0x43, 0x2a, 0x6c, 0x11,
0xd8, 0x67, 0x8d, 0xfc, 0x2c, 0xf6, 0x55, 0x93, 0x2c, 0x40, 0xfb, 0x60, 0xfd, 0xf3, 0xa7, 0x5b,
0x7b, 0x47, 0xce, 0xfa, 0xe6, 0xa6, 0x8d, 0x1f, 0xb4, 0x32, 0x28, 0x2b, 0x3b, 0xcb, 0x16, 0xea,
0xe9, 0xc1, 0x01, 0x16, 0x69, 0xcb, 0x04, 0xcb, 0x99, 0x5b, 0xfb, 0x79, 0x09, 0x5a, 0x3c, 0x98,
0x9e, 0x3f, 0xdf, 0x4e, 0x43, 0xf2, 0x14, 0x66, 0xc4, 0xdf, 0x01, 0x20, 0x8b, 0xea, 0xfa, 0xbb,
0xfe, 0x97, 0x07, 0xba, 0x4b, 0x69, 0x58, 0xb0, 0xdf, 0xfc, 0x5f, 0xfe, 0x4f, 0xff, 0xe3, 0xf7,
0x8a, 0x4d, 0x52, 0xbf, 0x7f, 0xfe, 0xee, 0xfd, 0x53, 0xea, 0x47, 0xac, 0x8e, 0xdf, 0x01, 0x48,
0x5e, 0xb7, 0x27, 0x1d, 0x65, 0x7d, 0x4c, 0x3d, 0xfd, 0xdf, 0xbd, 0x96, 0x93, 0x23, 0xea, 0xbd,
0x86, 0xf5, 0xce, 0x5b, 0x2d, 0x56, 0xaf, 0xe7, 0x7b, 0x31, 0x7f, 0xe9, 0xfe, 0xc3, 0xc2, 0x3d,
0xd2, 0x87, 0x86, 0xfe, 0xee, 0x3c, 0x91, 0xde, 0xfc, 0x9c, 0x97, 0xf3, 0xbb, 0xd7, 0x73, 0xf3,
0xa4, 0xcc, 0xc1, 0x36, 0x16, 0xad, 0x36, 0x6b, 0x63, 0x8c, 0x25, 0x92, 0x56, 0x06, 0x5c, 0x12,
0x27, 0xcf, 0xcb, 0x93, 0x1b, 0x9a, 0x70, 0xcc, 0x3c, 0x6e, 0xdf, 0xbd, 0x39, 0x21, 0x57, 0xb4,
0x75, 0x13, 0xdb, 0x5a, 0xb6, 0x08, 0x6b, 0xab, 0x87, 0x65, 0xe4, 0xe3, 0xf6, 0x1f, 0x16, 0xee,
0xad, 0xfd, 0xde, 0x5d, 0xa8, 0xa9, 0x48, 0x1f, 0xf2, 0x53, 0x68, 0x1a, 0xb7, 0x1d, 0x88, 0x1c,
0x46, 0xde, 0xe5, 0x88, 0xee, 0x8d, 0xfc, 0x4c, 0xd1, 0xf0, 0x2d, 0x6c, 0xb8, 0x43, 0x96, 0x58,
0xc3, 0xe2, 0xba, 0xc0, 0x7d, 0xbc, 0xb7, 0xc3, 0x1f, 0x13, 0x78, 0xa1, 0xed, 0x38, 0xbc, 0xb1,
0x1b, 0xe9, 0x4d, 0xc0, 0x68, 0xed, 0xe6, 0x84, 0x5c, 0xd1, 0xdc, 0x0d, 0x6c, 0x6e, 0x89, 0x2c,
0xe8, 0xcd, 0xa9, 0xe8, 0x1b, 0x8a, 0x0f, 0x7a, 0xe8, 0x2f, 0xaf, 0x93, 0x9b, 0xc9, 0x73, 0x0b,
0x39, 0x2f, 0xb2, 0x2b, 0x12, 0xc9, 0x3e, 0xcb, 0x6e, 0x75, 0xb0, 0x29, 0x42, 0x70, 0xf9, 0xf4,
0x87, 0xd7, 0xc9, 0x31, 0xd4, 0xb5, 0x07, 0x4a, 0xc9, 0xb5, 0x89, 0x8f, 0xa9, 0x76, 0xbb, 0x79,
0x59, 0x79, 0x43, 0xd1, 0xeb, 0xbf, 0xcf, 0x14, 0xd2, 0x1f, 0x43, 0x4d, 0x3d, 0x79, 0x49, 0x96,
0xb5, 0x27, 0x48, 0xf5, 0x27, 0x3a, 0xbb, 0x9d, 0x6c, 0x46, 0x1e, 0xf1, 0xe9, 0xb5, 0x33, 0xe2,
0x7b, 0x0e, 0x75, 0xed, 0x59, 0x4b, 0x35, 0x80, 0xec, 0xd3, 0x99, 0x6a, 0x00, 0x39, 0xaf, 0x60,
0x5a, 0x73, 0xd8, 0x44, 0x9d, 0xd4, 0x90, 0xbe, 0xe3, 0x97, 0x41, 0x44, 0x76, 0x61, 0x51, 0xec,
0xac, 0xc7, 0xf4, 0xeb, 0x2c, 0x43, 0xce, 0x63, 0xf7, 0x0f, 0x0a, 0xe4, 0x23, 0xa8, 0xca, 0xd7,
0x4b, 0xc9, 0x52, 0xfe, 0x2b, 0xac, 0xdd, 0xe5, 0x0c, 0x2e, 0xb6, 0xc1, 0xcf, 0x01, 0x92, 0x37,
0x34, 0x95, 0x90, 0xc8, 0xbc, 0xc9, 0xa9, 0x28, 0x20, 0xfb, 0xe0, 0xa6, 0xb5, 0x84, 0x03, 0x6c,
0x13, 0x14, 0x12, 0x3e, 0xbd, 0x90, 0x0f, 0x1c, 0xfd, 0x04, 0xea, 0xda, 0x33, 0x9a, 0x6a, 0xfa,
0xb2, 0x4f, 0x70, 0xaa, 0xe9, 0xcb, 0x79, 0x75, 0xd3, 0xea, 0x62, 0xed, 0x0b, 0xd6, 0x2c, 0xab,
0x3d, 0xf2, 0x4e, 0xfd, 0x21, 0x2f, 0xc0, 0x16, 0xe8, 0x0c, 0x9a, 0xc6, 0x5b, 0x99, 0x8a, 0x43,
0xf3, 0x5e, 0xe2, 0x54, 0x1c, 0x9a, 0xfb, 0xbc, 0xa6, 0xa4, 0x33, 0x6b, 0x8e, 0xb5, 0x73, 0x8e,
0x45, 0xb4, 0x96, 0x7e, 0x04, 0x75, 0xed, 0xdd, 0x4b, 0x35, 0x96, 0xec, 0x13, 0x9b, 0x6a, 0x2c,
0x79, 0xcf, 0x64, 0x2e, 0x60, 0x1b, 0x2d, 0x0b, 0x49, 0x01, 0xdf, 0x87, 0x61, 0x75, 0xff, 0x14,
0x5a, 0xe6, 0x4b, 0x98, 0x8a, 0xf7, 0x73, 0xdf, 0xd4, 0x54, 0xbc, 0x3f, 0xe1, 0xf9, 0x4c, 0x41,
0xd2, 0xf7, 0xe6, 0x55, 0x23, 0xf7, 0xbf, 0x14, 0x81, 0xcb, 0x5f, 0x91, 0x4f, 0x99, 0x80, 0x13,
0xef, 0x16, 0x91, 0x65, 0x8d, 0x6a, 0xf5, 0xd7, 0x8d, 0x14, 0xbf, 0x64, 0x9e, 0x38, 0x32, 0x89,
0x99, 0xbf, 0x70, 0xf3, 0x04, 0xe6, 0x15, 0x31, 0xab, 0x77, 0x88, 0x22, 0x35, 0x86, 0xdc, 0xe7,
0x8e, 0xba, 0xed, 0x74, 0xee, 0x83, 0x02, 0xdf, 0xfe, 0xf0, 0xb5, 0x17, 0x6d, 0xfb, 0xd3, 0x9f,
0x22, 0xd2, 0xb6, 0x3f, 0xe3, 0x51, 0x98, 0xf4, 0xf6, 0x17, 0x7b, 0xac, 0x0e, 0x1f, 0x66, 0x53,
0x57, 0x3b, 0x15, 0x7b, 0xe5, 0xdf, 0xbe, 0xef, 0xde, 0x7a, 0xf5, 0x8d, 0x50, 0x53, 0x14, 0x49,
0x69, 0x7a, 0x5f, 0xbe, 0x75, 0xf0, 0xbb, 0xd0, 0xd0, 0x1f, 0xf0, 0x23, 0xba, 0x4c, 0x48, 0xb7,
0x74, 0x3d, 0x37, 0xcf, 0xa4, 0x12, 0xd2, 0xd0, 0x9b, 0x21, 0x9f, 0xc1, 0x92, 0x9a, 0x66, 0xfd,
0xb6, 0x60, 0x44, 0xde, 0xc8, 0xb9, 0x43, 0x68, 0x4c, 0xf6, 0xb5, 0x89, 0x97, 0x0c, 0x1f, 0x14,
0x18, 0xf5, 0x99, 0xaf, 0xa2, 0x25, 0x3b, 0x4f, 0xde, 0x63, 0x70, 0xc9, 0xce, 0x93, 0xfb, 0x94,
0x9a, 0xa4, 0x3e, 0x32, 0x6f, 0xcc, 0x11, 0x8f, 0xcf, 0x22, 0x3f, 0x82, 0x59, 0xed, 0x3e, 0xf6,
0xe1, 0xa5, 0xdf, 0x53, 0x9c, 0x94, 0x7d, 0x54, 0xa4, 0x9b, 0x77, 0x2c, 0xb5, 0x96, 0xb1, 0xfe,
0x39, 0xcb, 0x98, 0x1c, 0xc6, 0x45, 0x1b, 0x50, 0xd7, 0xef, 0x7a, 0xbf, 0xa2, 0xde, 0x65, 0x2d,
0x4b, 0x7f, 0xe9, 0xe2, 0x41, 0x81, 0x1c, 0xf0, 0x38, 0x5d, 0xf5, 0x8e, 0x7b, 0x10, 0xa6, 0xf7,
0x61, 0xf3, 0x7d, 0x77, 0xb5, 0x90, 0x79, 0x2f, 0xfb, 0xdf, 0x2d, 0x3c, 0x28, 0x90, 0xbf, 0x57,
0x80, 0x86, 0x71, 0x17, 0xdb, 0x88, 0x7a, 0x4c, 0xf5, 0xac, 0xa3, 0xe7, 0xe9, 0x5d, 0xb3, 0x6c,
0x1c, 0xf6, 0xee, 0xbd, 0x8f, 0x8d, 0x69, 0xfd, 0xd2, 0xb0, 0xcd, 0xae, 0xa6, 0x1f, 0x73, 0xff,
0x2a, 0x5d, 0x40, 0x7f, 0xca, 0xe5, 0xab, 0x07, 0x05, 0xf2, 0x4f, 0x0a, 0xd0, 0x32, 0x9d, 0x2e,
0x6a, 0xb8, 0xb9, 0xee, 0x1d, 0xb5, 0xf8, 0x13, 0x3c, 0x35, 0x3f, 0xc2, 0x5e, 0x1e, 0xdd, 0xb3,
0x8d, 0x5e, 0x8a, 0x17, 0xf8, 0x7e, 0xb5, 0xde, 0x92, 0x0f, 0xf9, 0xdf, 0x56, 0x91, 0xfe, 0x66,
0x92, 0xfd, 0x5b, 0x1c, 0x8a, 0x60, 0xf4, 0xbf, 0x5c, 0x81, 0x8b, 0xf0, 0x13, 0xfe, 0x88, 0xb9,
0x74, 0x5a, 0x32, 0xba, 0xbb, 0xea, 0xf7, 0xd6, 0x6d, 0x1c, 0xd3, 0x2d, 0xeb, 0x9a, 0x31, 0xa6,
0xb4, 0xaa, 0xb0, 0xce, 0x7b, 0x27, 0xfe, 0xe8, 0x44, 0xb2, 0xd7, 0x65, 0xfe, 0x10, 0xc5, 0xe4,
0x4e, 0x0e, 0x79, 0x27, 0x45, 0x71, 0x83, 0x39, 0xae, 0x58, 0x8d, 0x75, 0x0f, 0xfb, 0x7a, 0xdb,
0x7a, 0x63, 0x62, 0x5f, 0xef, 0xa3, 0xeb, 0x84, 0xf5, 0xf8, 0x00, 0x20, 0x89, 0x0f, 0x21, 0xa9,
0xd8, 0x04, 0x25, 0x32, 0xb2, 0x21, 0x24, 0x26, 0x07, 0xca, 0x10, 0x06, 0x56, 0xe3, 0x8f, 0xb9,
0x00, 0xdc, 0x91, 0x51, 0x0d, 0xba, 0xbe, 0x64, 0x06, 0x71, 0x18, 0xfa, 0x52, 0xba, 0x7e, 0x43,
0xfc, 0xa9, 0x10, 0x89, 0x67, 0xd0, 0xdc, 0x0d, 0x82, 0x17, 0xe3, 0x91, 0x0a, 0x48, 0x34, 0xbd,
0x9a, 0xdb, 0x6e, 0x74, 0xd6, 0x4d, 0x8d, 0xc2, 0x5a, 0xc1, 0xaa, 0xba, 0xa4, 0xa3, 0x55, 0x75,
0xff, 0xcb, 0x24, 0xf6, 0xe4, 0x2b, 0xe2, 0xc2, 0x9c, 0x92, 0xaa, 0xaa, 0xe3, 0x5d, 0xb3, 0x1a,
0x43, 0x96, 0xa6, 0x9b, 0x30, 0x14, 0x7b, 0xd9, 0xdb, 0xfb, 0x91, 0xac, 0x13, 0x65, 0x4a, 0x63,
0x93, 0xf6, 0xf0, 0x9a, 0x26, 0xba, 0x06, 0xe7, 0x0d, 0xf7, 0x12, 0xf7, 0x29, 0x76, 0x9b, 0x06,
0x68, 0xee, 0x34, 0x23, 0xf7, 0x32, 0xa4, 0x5f, 0xdc, 0xff, 0x52, 0x38, 0x1d, 0xbf, 0x92, 0x3b,
0x8d, 0xf4, 0xca, 0x1a, 0x3b, 0x4d, 0xca, 0x8d, 0x6b, 0xec, 0x34, 0x19, 0x37, 0xae, 0x31, 0xd5,
0xd2, 0x2b, 0x4c, 0x06, 0x30, 0x97, 0xf1, 0xfc, 0xaa, 0x4d, 0x66, 0x92, 0xbf, 0xb8, 0xbb, 0x32,
0xb9, 0x80, 0xd9, 0xda, 0x3d, 0xb3, 0xb5, 0x43, 0x68, 0x6e, 0x52, 0x3e, 0x59, 0xfc, 0x06, 0x46,
0xea, 0x42, 0xbf, 0x7e, 0xbf, 0x23, 0xbd, 0x25, 0x60, 0x9e, 0xa9, 0x93, 0xf0, 0x77, 0xea, 0x7e,
0x0c, 0xf5, 0x27, 0x34, 0x96, 0x57, 0x2e, 0x94, 0x56, 0x9c, 0xba, 0x83, 0xd1, 0xcd, 0xb9, 0xb1,
0x61, 0xd2, 0x0c, 0xd6, 0x76, 0x9f, 0xf6, 0x4f, 0x29, 0x17, 0x4e, 0x8e, 0xd7, 0xff, 0x8a, 0xfc,
0x36, 0x56, 0xae, 0x2e, 0xc0, 0x2d, 0x69, 0xf1, 0xf3, 0x7a, 0xe5, 0xb3, 0x29, 0x3c, 0xaf, 0x66,
0x3f, 0xe8, 0x53, 0x4d, 0x3b, 0xf3, 0xa1, 0xae, 0x5d, 0xa0, 0x55, 0x0c, 0x94, 0xbd, 0x6f, 0xac,
0x18, 0x28, 0xe7, 0xbe, 0xad, 0x75, 0x17, 0xdb, 0xb1, 0xc8, 0x4a, 0xd2, 0x0e, 0xbf, 0x63, 0x9b,
0xb4, 0x74, 0xff, 0x4b, 0x77, 0x18, 0x7f, 0x45, 0x9e, 0xe3, 0x63, 0x8f, 0xfa, 0x95, 0x92, 0x44,
0xcd, 0x4f, 0xdf, 0x3e, 0x51, 0x93, 0xa5, 0x65, 0x99, 0xaa, 0x3f, 0x6f, 0x0a, 0x75, 0xaf, 0xf7,
0x01, 0x0e, 0xe3, 0x60, 0xb4, 0xe9, 0xd2, 0x61, 0xe0, 0x27, 0xb2, 0x36, 0xb9, 0xd0, 0x90, 0xc8,
0x2f, 0xed, 0x56, 0x03, 0x79, 0xae, 0x9d, 0x8b, 0x8c, 0x5b, 0x39, 0x92, 0xb8, 0x26, 0xde, 0x79,
0x50, 0x13, 0x92, 0x73, 0xef, 0xe1, 0x41, 0x81, 0xac, 0x03, 0x24, 0xae, 0x7f, 0x75, 0xca, 0xc9,
0x44, 0x15, 0x28, 0xb1, 0x97, 0x13, 0x27, 0x70, 0x00, 0xb5, 0xc4, 0x51, 0xba, 0x9c, 0x5c, 0xa7,
0x37, 0xdc, 0xaa, 0x6a, 0x07, 0xcf, 0xb8, 0x2f, 0xad, 0x36, 0x4e, 0x15, 0x90, 0x2a, 0x9b, 0x2a,
0xf4, 0x49, 0x7a, 0x30, 0xcf, 0x3b, 0xa8, 0x14, 0x1c, 0x0c, 0xc4, 0x57, 0x6f, 0x7a, 0x66, 0x5d,
0x88, 0x8a, 0x9b, 0x73, 0x3d, 0x60, 0x86, 0xb1, 0x86, 0x51, 0x2b, 0xbf, 0x04, 0xc0, 0x44, 0xf3,
0x10, 0xe6, 0x32, 0x4e, 0x15, 0xc5, 0xd2, 0x93, 0xbc, 0x66, 0x8a, 0xa5, 0x27, 0xfa, 0x63, 0xac,
0x45, 0x6c, 0x72, 0xd6, 0x02, 0x3c, 0x9c, 0x5d, 0x78, 0x71, 0xef, 0x8c, 0x35, 0xf7, 0x07, 0x05,
0x98, 0xcf, 0xf1, 0x99, 0x90, 0x37, 0xe5, 0x39, 0x7f, 0xa2, 0x3f, 0xa5, 0x9b, 0x6b, 0x52, 0xb7,
0x0e, 0xb1, 0x9d, 0xa7, 0xe4, 0x13, 0x63, 0x63, 0xe3, 0xd6, 0x6c, 0xc1, 0x99, 0xaf, 0x54, 0x2a,
0x72, 0x35, 0x8a, 0x2f, 0x60, 0x99, 0x77, 0x64, 0x7d, 0x30, 0x48, 0x99, 0xfb, 0x6f, 0x65, 0xfe,
0xfe, 0xa2, 0xe1, 0xc6, 0xe8, 0x4e, 0xfe, 0xfb, 0x8c, 0x13, 0x14, 0x60, 0xde, 0x55, 0x32, 0x86,
0x76, 0xda, 0x84, 0x4e, 0x26, 0xd7, 0xd5, 0x7d, 0xc3, 0x38, 0xb1, 0xe6, 0x98, 0xdd, 0xbf, 0x8b,
0x8d, 0xbd, 0x61, 0x75, 0xf3, 0xe6, 0x85, 0x1f, 0x62, 0xd9, 0x7a, 0xfc, 0x25, 0x65, 0xef, 0x4f,
0x8d, 0x53, 0x36, 0x30, 0xc9, 0x41, 0xa1, 0xce, 0xcc, 0xf9, 0xee, 0x82, 0x3b, 0xd8, 0xfc, 0x8a,
0x75, 0x3d, 0xaf, 0xf9, 0x90, 0x7f, 0xc2, 0x4f, 0xcf, 0xcb, 0x69, 0xbe, 0x96, 0x3d, 0x58, 0xc9,
0x5b, 0xef, 0x89, 0xa7, 0x97, 0xd4, 0x5c, 0x4f, 0xa1, 0x6e, 0xd7, 0xd0, 0xed, 0xfb, 0x8a, 0x7d,
0x72, 0x1c, 0x09, 0x8a, 0x7d, 0xf2, 0x1c, 0x02, 0xa6, 0x5e, 0x23, 0x5d, 0x01, 0x1f, 0x16, 0xee,
0x3d, 0x7a, 0xeb, 0x47, 0xdf, 0x3d, 0xf5, 0xe2, 0xb3, 0xf1, 0xf1, 0x6a, 0x2f, 0x18, 0xde, 0x1f,
0x48, 0xfb, 0xa0, 0xb8, 0x9c, 0x76, 0x7f, 0xe0, 0xf7, 0xef, 0x63, 0xb5, 0xc7, 0xd3, 0xf8, 0x07,
0x63, 0x7f, 0xf0, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x8f, 0x46, 0xa4, 0x00, 0x62, 0x76, 0x00,
0x00,
// 9799 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x7d, 0x4d, 0x6c, 0x24, 0xc9,
0x95, 0x5e, 0x67, 0xfd, 0x90, 0x55, 0xaf, 0x7e, 0x58, 0x0c, 0xb2, 0xc9, 0xea, 0xea, 0x9f, 0xe9,
0x49, 0xb5, 0x66, 0x5a, 0xad, 0x11, 0xbb, 0x87, 0x92, 0x66, 0x7b, 0xa7, 0xbd, 0x5a, 0xf1, 0xaf,
0x9b, 0xd4, 0xb0, 0x49, 0x2a, 0xc9, 0x56, 0xaf, 0xa4, 0x5d, 0xa4, 0x92, 0x55, 0x41, 0x32, 0xd5,
0x55, 0x99, 0x35, 0x99, 0x59, 0x64, 0x53, 0xf2, 0xf8, 0x60, 0xd8, 0x86, 0xe1, 0x8b, 0x21, 0x2c,
0x0c, 0x78, 0x0d, 0x1b, 0x0b, 0x68, 0x6d, 0x18, 0x86, 0x0f, 0xf6, 0xc5, 0xc6, 0xda, 0x90, 0x4f,
0x3e, 0xac, 0x2f, 0xb6, 0x0f, 0x36, 0x60, 0xc0, 0x06, 0x0c, 0x2c, 0xd6, 0x07, 0x2f, 0x0c, 0xdf,
0x6c, 0x9f, 0x8d, 0x78, 0xf1, 0x93, 0x11, 0x99, 0x59, 0xec, 0x1e, 0x49, 0x3b, 0x97, 0x6e, 0xc6,
0xf7, 0x22, 0xe3, 0xf7, 0xbd, 0x17, 0x2f, 0xde, 0x8b, 0x88, 0x82, 0x7a, 0x34, 0xee, 0xaf, 0x8c,
0xa3, 0x30, 0x09, 0x49, 0x75, 0x18, 0x44, 0xe3, 0x7e, 0xef, 0xd6, 0x69, 0x18, 0x9e, 0x0e, 0xe9,
0x43, 0x6f, 0xec, 0x3f, 0xf4, 0x82, 0x20, 0x4c, 0xbc, 0xc4, 0x0f, 0x83, 0x98, 0x67, 0xb2, 0x7f,
0x04, 0xed, 0x67, 0x34, 0x38, 0xa4, 0x74, 0xe0, 0xd0, 0x4f, 0x27, 0x34, 0x4e, 0xc8, 0x57, 0x61,
0xde, 0xa3, 0x3f, 0xa1, 0x74, 0xe0, 0x8e, 0xbd, 0x38, 0x1e, 0x9f, 0x45, 0x5e, 0x4c, 0xbb, 0xd6,
0x5d, 0xeb, 0x7e, 0xd3, 0xe9, 0x70, 0xc2, 0x81, 0xc2, 0xc9, 0xbb, 0xd0, 0x8c, 0x59, 0x56, 0x1a,
0x24, 0x51, 0x38, 0xbe, 0xec, 0x96, 0x30, 0x5f, 0x83, 0x61, 0x5b, 0x1c, 0xb2, 0x87, 0x30, 0xa7,
0x6a, 0x88, 0xc7, 0x61, 0x10, 0x53, 0xf2, 0x08, 0x16, 0xfb, 0xfe, 0xf8, 0x8c, 0x46, 0x2e, 0x7e,
0x3c, 0x0a, 0xe8, 0x28, 0x0c, 0xfc, 0x7e, 0xd7, 0xba, 0x5b, 0xbe, 0x5f, 0x77, 0x08, 0xa7, 0xb1,
0x2f, 0x9e, 0x0b, 0x0a, 0x79, 0x1f, 0xe6, 0x68, 0xc0, 0x71, 0x3a, 0xc0, 0xaf, 0x44, 0x55, 0xed,
0x14, 0x66, 0x1f, 0xd8, 0x7f, 0xb3, 0x04, 0xf3, 0x3b, 0x81, 0x9f, 0xbc, 0xf4, 0x86, 0x43, 0x9a,
0xc8, 0x3e, 0xbd, 0x0f, 0x73, 0x17, 0x08, 0x60, 0x9f, 0x2e, 0xc2, 0x68, 0x20, 0x7a, 0xd4, 0xe6,
0xf0, 0x81, 0x40, 0xa7, 0xb6, 0xac, 0x34, 0xb5, 0x65, 0x85, 0xc3, 0x55, 0x9e, 0x32, 0x5c, 0xef,
0xc3, 0x5c, 0x44, 0xfb, 0xe1, 0x39, 0x8d, 0x2e, 0xdd, 0x0b, 0x3f, 0x18, 0x84, 0x17, 0xdd, 0xca,
0x5d, 0xeb, 0x7e, 0xd5, 0x69, 0x4b, 0xf8, 0x25, 0xa2, 0x64, 0x1d, 0xe6, 0xfa, 0x67, 0x5e, 0x10,
0xd0, 0xa1, 0x7b, 0xec, 0xf5, 0x5f, 0x4d, 0xc6, 0x71, 0xb7, 0x7a, 0xd7, 0xba, 0xdf, 0x58, 0xbd,
0xb1, 0x82, 0xb3, 0xba, 0xb2, 0x71, 0xe6, 0x05, 0xeb, 0x48, 0x39, 0x0c, 0xbc, 0x71, 0x7c, 0x16,
0x26, 0x4e, 0x5b, 0x7c, 0xc1, 0xe1, 0xd8, 0x5e, 0x04, 0xa2, 0x8f, 0x04, 0x1f, 0x7b, 0xfb, 0x9f,
0x5a, 0xb0, 0xf0, 0x22, 0x18, 0x86, 0xfd, 0x57, 0xbf, 0xe4, 0x10, 0x15, 0xf4, 0xa1, 0xf4, 0xb6,
0x7d, 0x28, 0x7f, 0xde, 0x3e, 0x2c, 0xc1, 0xa2, 0xd9, 0x58, 0xd1, 0x0b, 0x0a, 0xd7, 0xd9, 0xd7,
0xa7, 0x54, 0x36, 0x4b, 0x76, 0xe3, 0x2b, 0xd0, 0xe9, 0x4f, 0xa2, 0x88, 0x06, 0xb9, 0x7e, 0xcc,
0x09, 0x5c, 0x75, 0xe4, 0x5d, 0x68, 0x06, 0xf4, 0x22, 0xcd, 0x26, 0x78, 0x37, 0xa0, 0x17, 0x32,
0x8b, 0xdd, 0x85, 0xa5, 0x6c, 0x35, 0xa2, 0x01, 0x7f, 0x6a, 0x41, 0xe5, 0x45, 0xf2, 0x3a, 0x24,
0x2b, 0x50, 0x49, 0x2e, 0xc7, 0x5c, 0x42, 0xda, 0xab, 0x44, 0x74, 0x6d, 0x6d, 0x30, 0x88, 0x68,
0x1c, 0x1f, 0x5d, 0x8e, 0xa9, 0xd3, 0xf4, 0x78, 0xc2, 0x65, 0xf9, 0x48, 0x17, 0x66, 0x45, 0x1a,
0x2b, 0xac, 0x3b, 0x32, 0x49, 0xee, 0x00, 0x78, 0xa3, 0x70, 0x12, 0x24, 0x6e, 0xec, 0x25, 0x38,
0x54, 0x65, 0x47, 0x43, 0xc8, 0x2d, 0xa8, 0x8f, 0x5f, 0xb9, 0x71, 0x3f, 0xf2, 0xc7, 0x09, 0xb2,
0x4d, 0xdd, 0x49, 0x01, 0xf2, 0x55, 0xa8, 0x85, 0x93, 0x64, 0x1c, 0xfa, 0x41, 0x22, 0x58, 0x65,
0x4e, 0xb4, 0x65, 0x7f, 0x92, 0x1c, 0x30, 0xd8, 0x51, 0x19, 0xc8, 0x3d, 0x68, 0xf5, 0xc3, 0xe0,
0xc4, 0x8f, 0x46, 0x5c, 0x19, 0x74, 0x67, 0xb0, 0x36, 0x13, 0xb4, 0xff, 0x55, 0x09, 0x1a, 0x47,
0x91, 0x17, 0xc4, 0x5e, 0x9f, 0x01, 0xac, 0xe9, 0xc9, 0x6b, 0xf7, 0xcc, 0x8b, 0xcf, 0xb0, 0xb7,
0x75, 0x47, 0x26, 0xc9, 0x12, 0xcc, 0xf0, 0x86, 0x62, 0x9f, 0xca, 0x8e, 0x48, 0x91, 0x0f, 0x60,
0x3e, 0x98, 0x8c, 0x5c, 0xb3, 0xae, 0x32, 0x72, 0x4b, 0x9e, 0xc0, 0x06, 0xe0, 0x98, 0xcd, 0x35,
0xaf, 0x82, 0xf7, 0x50, 0x43, 0x88, 0x0d, 0x4d, 0x91, 0xa2, 0xfe, 0xe9, 0x19, 0xef, 0x66, 0xd5,
0x31, 0x30, 0x56, 0x46, 0xe2, 0x8f, 0xa8, 0x1b, 0x27, 0xde, 0x68, 0x2c, 0xba, 0xa5, 0x21, 0x48,
0x0f, 0x13, 0x6f, 0xe8, 0x9e, 0x50, 0x1a, 0x77, 0x67, 0x05, 0x5d, 0x21, 0xe4, 0x3d, 0x68, 0x0f,
0x68, 0x9c, 0xb8, 0x62, 0x52, 0x68, 0xdc, 0xad, 0xa1, 0xe8, 0x67, 0x50, 0x56, 0x4e, 0xe4, 0x5d,
0xb8, 0x6c, 0x00, 0xe8, 0xeb, 0x6e, 0x9d, 0xb7, 0x35, 0x45, 0x18, 0xe7, 0x3c, 0xa3, 0x89, 0x36,
0x7a, 0xb1, 0xe0, 0x50, 0x7b, 0x17, 0x88, 0x06, 0x6f, 0xd2, 0xc4, 0xf3, 0x87, 0x31, 0xf9, 0x08,
0x9a, 0x89, 0x96, 0x19, 0x55, 0x61, 0x43, 0xb1, 0x93, 0xf6, 0x81, 0x63, 0xe4, 0xb3, 0xcf, 0xa0,
0xf6, 0x94, 0xd2, 0x5d, 0x7f, 0xe4, 0x27, 0x64, 0x09, 0xaa, 0x27, 0xfe, 0x6b, 0xca, 0x19, 0xbe,
0xbc, 0x7d, 0xcd, 0xe1, 0x49, 0xf2, 0x0e, 0x00, 0xfe, 0xe1, 0x8e, 0x14, 0x63, 0x6d, 0x5f, 0x73,
0xea, 0x88, 0x3d, 0x67, 0x9c, 0xd5, 0x83, 0xd9, 0x31, 0x8d, 0xfa, 0x54, 0xce, 0xdf, 0xf6, 0x35,
0x47, 0x02, 0xeb, 0xb3, 0x50, 0x1d, 0xb2, 0xd2, 0xed, 0x3f, 0xa9, 0x42, 0xe3, 0x90, 0x06, 0x4a,
0xd2, 0x08, 0x54, 0xd8, 0x98, 0x08, 0xe9, 0xc2, 0xbf, 0xc9, 0x97, 0xa0, 0x81, 0xe3, 0x14, 0x27,
0x91, 0x1f, 0x9c, 0x72, 0x06, 0x5f, 0x2f, 0x75, 0x2d, 0x07, 0x18, 0x7c, 0x88, 0x28, 0xe9, 0x40,
0xd9, 0x1b, 0x49, 0x06, 0x67, 0x7f, 0x92, 0x1b, 0x50, 0xf3, 0x46, 0x09, 0x6f, 0x5e, 0x13, 0xe1,
0x59, 0x6f, 0x94, 0x60, 0xd3, 0xde, 0x85, 0xe6, 0xd8, 0xbb, 0x1c, 0x31, 0x79, 0x56, 0x5c, 0xd1,
0x74, 0x1a, 0x02, 0xdb, 0x66, 0x6c, 0xb1, 0x0a, 0x0b, 0x7a, 0x16, 0x59, 0x79, 0x55, 0x55, 0x3e,
0xaf, 0xe5, 0x16, 0x6d, 0x78, 0x1f, 0xe6, 0xe4, 0x37, 0x11, 0xef, 0x0f, 0xf2, 0x4a, 0xdd, 0x69,
0x0b, 0x58, 0xf6, 0xf2, 0x3e, 0x74, 0x4e, 0xfc, 0xc0, 0x1b, 0xba, 0xfd, 0x61, 0x72, 0xee, 0x0e,
0xe8, 0x30, 0xf1, 0x90, 0x6b, 0xaa, 0x4e, 0x1b, 0xf1, 0x8d, 0x61, 0x72, 0xbe, 0xc9, 0x50, 0xf2,
0x01, 0xd4, 0x4f, 0x28, 0x75, 0x71, 0xb0, 0xba, 0x35, 0x43, 0x02, 0xe5, 0x0c, 0x39, 0xb5, 0x13,
0x39, 0x57, 0x1f, 0x40, 0x27, 0x9c, 0x24, 0xa7, 0xa1, 0x1f, 0x9c, 0xba, 0x4c, 0xe7, 0xb9, 0xfe,
0x00, 0xb9, 0xa8, 0xb2, 0x5e, 0x7a, 0x64, 0x39, 0x6d, 0x49, 0x63, 0xda, 0x67, 0x67, 0x40, 0xde,
0x83, 0xb9, 0xa1, 0x17, 0x27, 0xee, 0x59, 0x38, 0x76, 0xc7, 0x93, 0xe3, 0x57, 0xf4, 0xb2, 0xdb,
0xc2, 0x81, 0x68, 0x31, 0x78, 0x3b, 0x1c, 0x1f, 0x20, 0x48, 0x6e, 0x03, 0x60, 0x3b, 0x79, 0x23,
0xe0, 0xae, 0x75, 0xbf, 0xe5, 0xd4, 0x19, 0xc2, 0x2b, 0xfd, 0x3e, 0x2c, 0xe0, 0xf4, 0xf4, 0x27,
0x71, 0x12, 0x8e, 0x5c, 0xa6, 0xaf, 0xa3, 0x41, 0xdc, 0x6d, 0x20, 0xaf, 0x7d, 0x45, 0x34, 0x56,
0x9b, 0xe3, 0x95, 0x4d, 0x1a, 0x27, 0x1b, 0x98, 0xd9, 0xe1, 0x79, 0xd9, 0xa2, 0x7e, 0xe9, 0xcc,
0x0f, 0xb2, 0x38, 0xf9, 0x00, 0x88, 0x37, 0x1c, 0x86, 0x17, 0x6e, 0x4c, 0x87, 0x27, 0xae, 0x18,
0xc4, 0x6e, 0xfb, 0xae, 0x75, 0xbf, 0xe6, 0x74, 0x90, 0x72, 0x48, 0x87, 0x27, 0x07, 0x1c, 0x27,
0x1f, 0x41, 0x0b, 0x1b, 0x72, 0x42, 0xbd, 0x64, 0x12, 0xd1, 0xb8, 0x3b, 0x77, 0xb7, 0x7c, 0xbf,
0xbd, 0x3a, 0xaf, 0xc6, 0x0b, 0xe1, 0x75, 0x3f, 0x71, 0x9a, 0x2c, 0x9f, 0x48, 0xc7, 0xbd, 0x4d,
0x58, 0x2a, 0x6e, 0x12, 0x63, 0x2a, 0x36, 0x2a, 0x8c, 0x19, 0x2b, 0x0e, 0xfb, 0x93, 0x2c, 0x42,
0xf5, 0xdc, 0x1b, 0x4e, 0xa8, 0xd0, 0xeb, 0x3c, 0xf1, 0x71, 0xe9, 0xb1, 0x65, 0xff, 0xb1, 0x05,
0x4d, 0xde, 0x4b, 0x61, 0x8f, 0xdc, 0x83, 0x96, 0xe4, 0x06, 0x1a, 0x45, 0x61, 0x24, 0xd4, 0x9b,
0x09, 0x92, 0x07, 0xd0, 0x91, 0xc0, 0x38, 0xa2, 0xfe, 0xc8, 0x3b, 0x95, 0x65, 0xe7, 0x70, 0xb2,
0x9a, 0x96, 0x18, 0x85, 0x93, 0x84, 0x8a, 0x95, 0xaf, 0x29, 0x3a, 0xe8, 0x30, 0xcc, 0x31, 0xb3,
0x30, 0xf5, 0x56, 0xc0, 0xea, 0x06, 0x66, 0xff, 0x1d, 0x0b, 0x08, 0x6b, 0xfa, 0x51, 0xc8, 0x8b,
0x10, 0x5c, 0x9a, 0x95, 0x12, 0xeb, 0xad, 0xa5, 0xa4, 0x74, 0x95, 0x94, 0xd8, 0x50, 0xe5, 0xad,
0xaf, 0x14, 0xb4, 0x9e, 0x93, 0xbe, 0x53, 0xa9, 0x95, 0x3b, 0x15, 0xfb, 0xbf, 0x96, 0x61, 0x71,
0x83, 0x2f, 0xdd, 0x6b, 0xfd, 0x3e, 0x1d, 0x2b, 0xf9, 0x79, 0x07, 0x1a, 0x41, 0x38, 0xa0, 0x92,
0x6b, 0x79, 0xc3, 0x80, 0x41, 0x1a, 0xcb, 0x9e, 0x79, 0x7e, 0xc0, 0x1b, 0xce, 0xc7, 0xb3, 0x8e,
0x08, 0x36, 0xfb, 0x3d, 0x98, 0x1b, 0xd3, 0x60, 0xa0, 0x8b, 0x09, 0x37, 0xae, 0x5a, 0x02, 0x16,
0x12, 0xf2, 0x0e, 0x34, 0x4e, 0x26, 0x3c, 0x1f, 0x53, 0x2e, 0x15, 0xe4, 0x03, 0x10, 0xd0, 0x1a,
0xd7, 0x31, 0xe3, 0x49, 0x7c, 0x86, 0xd4, 0x2a, 0x52, 0x67, 0x59, 0x9a, 0x91, 0x6e, 0x03, 0x0c,
0x26, 0x71, 0x22, 0xa4, 0x66, 0x06, 0x89, 0x75, 0x86, 0x70, 0xa9, 0xf9, 0x1a, 0x2c, 0x8c, 0xbc,
0xd7, 0x2e, 0xf2, 0x8f, 0xeb, 0x07, 0xee, 0xc9, 0x10, 0x57, 0x9f, 0x59, 0xcc, 0xd7, 0x19, 0x79,
0xaf, 0xbf, 0xc7, 0x28, 0x3b, 0xc1, 0x53, 0xc4, 0x99, 0x6a, 0x91, 0x66, 0x4f, 0x44, 0x63, 0x1a,
0x9d, 0x53, 0xd4, 0x06, 0x15, 0x65, 0xdb, 0x38, 0x1c, 0x65, 0x2d, 0x1a, 0xb1, 0x7e, 0x27, 0xc3,
0x3e, 0x17, 0x7d, 0x67, 0x76, 0xe4, 0x07, 0xdb, 0xc9, 0xb0, 0x4f, 0x6e, 0x01, 0x30, 0x5d, 0x32,
0xa6, 0x91, 0xfb, 0xea, 0x02, 0xe5, 0xb8, 0x82, 0xba, 0xe3, 0x80, 0x46, 0x9f, 0x5c, 0x90, 0x9b,
0x50, 0xef, 0xc7, 0xa8, 0x8c, 0xbc, 0xcb, 0x6e, 0x03, 0x85, 0xbc, 0xd6, 0x8f, 0x99, 0x1a, 0xf2,
0x2e, 0x99, 0x20, 0xb2, 0xd6, 0x7a, 0x38, 0x0b, 0x74, 0x80, 0xc5, 0xc7, 0xa8, 0x55, 0x5b, 0xd8,
0xd8, 0x35, 0x41, 0x60, 0xf5, 0xc4, 0xe4, 0x4b, 0xd0, 0x92, 0x8d, 0x3d, 0x19, 0x7a, 0xa7, 0x31,
0xaa, 0x95, 0x96, 0xd3, 0x14, 0xe0, 0x53, 0x86, 0xd9, 0x2f, 0xb9, 0xb1, 0xa5, 0xcd, 0xad, 0x90,
0x1b, 0xb6, 0xec, 0x23, 0x82, 0xf3, 0x5a, 0x73, 0x44, 0xaa, 0x68, 0xd2, 0x4a, 0x05, 0x93, 0x66,
0xff, 0xdc, 0x82, 0xa6, 0x28, 0x19, 0x2d, 0x14, 0xf2, 0x08, 0x88, 0x9c, 0xc5, 0xe4, 0xb5, 0x3f,
0x70, 0x8f, 0x2f, 0x13, 0x1a, 0x73, 0xa6, 0xd9, 0xbe, 0xe6, 0x14, 0xd0, 0x98, 0x1e, 0x35, 0xd0,
0x38, 0x89, 0x38, 0x4f, 0x6f, 0x5f, 0x73, 0x72, 0x14, 0x26, 0x62, 0xcc, 0x06, 0x9a, 0x24, 0xae,
0x1f, 0x0c, 0xe8, 0x6b, 0x64, 0xa5, 0x96, 0x63, 0x60, 0xeb, 0x6d, 0x68, 0xea, 0xdf, 0xd9, 0x3f,
0x86, 0x9a, 0xb4, 0xa0, 0xd0, 0x7a, 0xc8, 0xb4, 0xcb, 0xd1, 0x10, 0xd2, 0x83, 0x9a, 0xd9, 0x0a,
0xa7, 0xf6, 0x79, 0xea, 0xb6, 0xbf, 0x05, 0x9d, 0x5d, 0xc6, 0x44, 0x01, 0x63, 0x5a, 0x61, 0x16,
0x2e, 0xc1, 0x8c, 0x26, 0x3c, 0x75, 0x47, 0xa4, 0xd8, 0xfa, 0x7b, 0x16, 0xc6, 0x89, 0xa8, 0x07,
0xff, 0xb6, 0xff, 0xc4, 0x02, 0xb2, 0x15, 0x27, 0xfe, 0xc8, 0x4b, 0xe8, 0x53, 0xaa, 0xd4, 0xc3,
0x3e, 0x34, 0x59, 0x69, 0x47, 0xe1, 0x1a, 0x37, 0xd2, 0xb8, 0x71, 0xf1, 0x55, 0x21, 0xce, 0xf9,
0x0f, 0x56, 0xf4, 0xdc, 0x5c, 0xe5, 0x1b, 0x05, 0x30, 0x69, 0x4b, 0xbc, 0xe8, 0x94, 0x26, 0x68,
0xc1, 0x09, 0xfb, 0x1f, 0x38, 0xb4, 0x11, 0x06, 0x27, 0xbd, 0xdf, 0x86, 0xf9, 0x5c, 0x19, 0xba,
0x8e, 0xae, 0x17, 0xe8, 0xe8, 0xb2, 0xae, 0xa3, 0xfb, 0xb0, 0x60, 0xb4, 0x4b, 0x70, 0x5c, 0x17,
0x66, 0x99, 0x60, 0x30, 0x43, 0xc1, 0xe2, 0x86, 0x82, 0x48, 0x92, 0x55, 0x58, 0x3c, 0xa1, 0x34,
0xf2, 0x12, 0x4c, 0xa2, 0xe8, 0xb0, 0x39, 0x11, 0x25, 0x17, 0xd2, 0xec, 0x3f, 0xb3, 0x60, 0x8e,
0x69, 0xd3, 0xe7, 0x5e, 0x70, 0x29, 0xc7, 0x6a, 0xb7, 0x70, 0xac, 0xee, 0x6b, 0x8b, 0xa3, 0x96,
0xfb, 0xf3, 0x0e, 0x54, 0x39, 0x3b, 0x50, 0xe4, 0x2e, 0x34, 0x8d, 0xe6, 0x56, 0xb9, 0x45, 0x1a,
0x7b, 0xc9, 0x01, 0x8d, 0xd6, 0x2f, 0x13, 0xfa, 0xab, 0x0f, 0xe5, 0x7b, 0xd0, 0x49, 0x9b, 0x2d,
0xc6, 0x91, 0x40, 0x85, 0x31, 0xa6, 0x28, 0x00, 0xff, 0xb6, 0xff, 0xbe, 0xc5, 0x33, 0x6e, 0x84,
0xbe, 0xb2, 0x56, 0x59, 0x46, 0x66, 0xf4, 0xca, 0x8c, 0xec, 0xef, 0xa9, 0xd6, 0xfe, 0xaf, 0xde,
0x59, 0xa6, 0x13, 0x63, 0x1a, 0x0c, 0x5c, 0x6f, 0x38, 0x44, 0x45, 0x5c, 0x73, 0x66, 0x59, 0x7a,
0x6d, 0x38, 0xb4, 0xdf, 0x87, 0x79, 0xad, 0x75, 0x57, 0xf4, 0x63, 0x0f, 0xc8, 0xae, 0x1f, 0x27,
0x2f, 0x82, 0x78, 0xac, 0x19, 0x72, 0x37, 0xa1, 0xce, 0xb4, 0x2d, 0x6b, 0x19, 0x97, 0xdc, 0xaa,
0xc3, 0xd4, 0x2f, 0x6b, 0x57, 0x8c, 0x44, 0xef, 0xb5, 0x20, 0x96, 0x04, 0xd1, 0x7b, 0x8d, 0x44,
0xfb, 0x31, 0x2c, 0x18, 0xe5, 0x89, 0xaa, 0xdf, 0x85, 0xea, 0x24, 0x79, 0x1d, 0x4a, 0x53, 0xbd,
0x21, 0x38, 0x84, 0x6d, 0x0a, 0x1d, 0x4e, 0xb1, 0x9f, 0xc0, 0xfc, 0x1e, 0xbd, 0x10, 0x82, 0x2c,
0x1b, 0xf2, 0xde, 0x1b, 0x37, 0x8c, 0x48, 0xb7, 0x57, 0x80, 0xe8, 0x1f, 0xa7, 0x02, 0x20, 0xb7,
0x8f, 0x96, 0xb1, 0x7d, 0xb4, 0xdf, 0x03, 0x72, 0xe8, 0x9f, 0x06, 0xcf, 0x69, 0x1c, 0x7b, 0xa7,
0x4a, 0xf4, 0x3b, 0x50, 0x1e, 0xc5, 0xa7, 0x42, 0x55, 0xb1, 0x3f, 0xed, 0xaf, 0xc3, 0x82, 0x91,
0x4f, 0x14, 0x7c, 0x0b, 0xea, 0xb1, 0x7f, 0x1a, 0xa0, 0xa1, 0x25, 0x8a, 0x4e, 0x01, 0xfb, 0x29,
0x2c, 0x7e, 0x8f, 0x46, 0xfe, 0xc9, 0xe5, 0x9b, 0x8a, 0x37, 0xcb, 0x29, 0x65, 0xcb, 0xd9, 0x82,
0xeb, 0x99, 0x72, 0x44, 0xf5, 0x9c, 0x7d, 0xc5, 0x4c, 0xd6, 0x1c, 0x9e, 0xd0, 0x74, 0x5f, 0x49,
0xd7, 0x7d, 0xf6, 0x0b, 0x20, 0x1b, 0x61, 0x10, 0xd0, 0x7e, 0x72, 0x40, 0x69, 0x94, 0x7a, 0xae,
0x52, 0x5e, 0x6d, 0xac, 0x2e, 0x8b, 0x91, 0xcd, 0x2a, 0x54, 0xc1, 0xc4, 0x04, 0x2a, 0x63, 0x1a,
0x8d, 0xb0, 0xe0, 0x9a, 0x83, 0x7f, 0xdb, 0xd7, 0x61, 0xc1, 0x28, 0x56, 0xec, 0xf5, 0x3f, 0x84,
0xeb, 0x9b, 0x7e, 0xdc, 0xcf, 0x57, 0xd8, 0x85, 0xd9, 0xf1, 0xe4, 0xd8, 0x4d, 0x25, 0x51, 0x26,
0xd9, 0xf6, 0x2f, 0xfb, 0x89, 0x28, 0xec, 0x6f, 0x58, 0x50, 0xd9, 0x3e, 0xda, 0xdd, 0x60, 0x6b,
0x85, 0x1f, 0xf4, 0xc3, 0x11, 0xb3, 0xc2, 0x78, 0xa7, 0x55, 0x7a, 0xaa, 0x84, 0xdd, 0x82, 0x3a,
0x1a, 0x6f, 0x6c, 0xc7, 0x2b, 0xec, 0xa0, 0x14, 0x60, 0xbb, 0x6d, 0xfa, 0x7a, 0xec, 0x47, 0xb8,
0x9d, 0x96, 0x9b, 0xe4, 0x0a, 0x2e, 0x33, 0x79, 0x82, 0xfd, 0xef, 0x66, 0x61, 0x56, 0x2c, 0xbe,
0x7c, 0x21, 0x4f, 0xfc, 0x73, 0x9a, 0x2e, 0xe4, 0x2c, 0xc5, 0x0c, 0xe3, 0x88, 0x8e, 0xc2, 0x44,
0xd9, 0x6f, 0x7c, 0x1a, 0x4c, 0x10, 0xbd, 0x09, 0xc2, 0x88, 0xe0, 0xfe, 0x87, 0x32, 0xcf, 0x65,
0x80, 0xe4, 0x16, 0xcc, 0x4a, 0x63, 0xa0, 0xa2, 0x36, 0x3a, 0x12, 0x62, 0xa3, 0xd1, 0xf7, 0xc6,
0x5e, 0xdf, 0x4f, 0x2e, 0x85, 0x5a, 0x50, 0x69, 0x56, 0xfe, 0x30, 0xec, 0x7b, 0x43, 0xf7, 0xd8,
0x1b, 0x7a, 0x41, 0x9f, 0x4a, 0x6f, 0x85, 0x01, 0xb2, 0x9d, 0xbb, 0x68, 0x96, 0xcc, 0xc6, 0x77,
0xf7, 0x19, 0x94, 0xad, 0xe1, 0xfd, 0x70, 0x34, 0xf2, 0xd9, 0xee, 0x83, 0x9b, 0x66, 0x65, 0x47,
0x43, 0xb8, 0x6f, 0x04, 0x53, 0x17, 0x7c, 0x04, 0xeb, 0xd2, 0x37, 0xa2, 0x81, 0xac, 0x94, 0x8c,
0x85, 0x56, 0x76, 0x34, 0x84, 0xcd, 0xc5, 0x24, 0x88, 0x69, 0x92, 0x0c, 0xe9, 0x40, 0x35, 0xa8,
0x81, 0xd9, 0xf2, 0x04, 0xf2, 0x08, 0x16, 0xb8, 0x0f, 0x22, 0xf6, 0x92, 0x30, 0x3e, 0xf3, 0x63,
0x37, 0x66, 0xdb, 0x27, 0xbe, 0x17, 0x2e, 0x22, 0x91, 0xc7, 0xb0, 0x9c, 0x81, 0x23, 0xda, 0xa7,
0xfe, 0x39, 0x1d, 0xa0, 0x09, 0x57, 0x76, 0xa6, 0x91, 0xc9, 0x5d, 0x68, 0x04, 0x93, 0x91, 0x3b,
0x19, 0x0f, 0x3c, 0x66, 0xc4, 0xb4, 0xd1, 0xb8, 0xd4, 0x21, 0xf2, 0x21, 0x48, 0x3b, 0x4d, 0x58,
0x8f, 0x73, 0x86, 0x86, 0x63, 0xdc, 0xeb, 0x98, 0x39, 0x18, 0x63, 0xa6, 0x26, 0x69, 0x47, 0xec,
0x3b, 0x25, 0x80, 0x72, 0x12, 0xf9, 0xe7, 0x5e, 0x42, 0xbb, 0xf3, 0x5c, 0xa9, 0x8b, 0x24, 0xfb,
0xce, 0x0f, 0xfc, 0xc4, 0xf7, 0x92, 0x30, 0xea, 0x12, 0xa4, 0xa5, 0x00, 0x1b, 0x44, 0xe4, 0x8f,
0x38, 0xf1, 0x92, 0x49, 0x2c, 0x2c, 0xd4, 0x05, 0x64, 0xae, 0x3c, 0x81, 0x7c, 0x04, 0x4b, 0x9c,
0x23, 0x90, 0x24, 0x6c, 0x6f, 0x34, 0x15, 0x16, 0x71, 0x44, 0xa6, 0x50, 0xd9, 0x50, 0x0a, 0x16,
0xc9, 0x7d, 0x78, 0x9d, 0x0f, 0xe5, 0x14, 0x32, 0x6b, 0x1f, 0x6b, 0x81, 0xdf, 0x77, 0x45, 0x0e,
0x26, 0x22, 0x4b, 0xd8, 0x8b, 0x3c, 0x81, 0xb1, 0xf8, 0xd0, 0x3f, 0xa1, 0x89, 0x3f, 0xa2, 0xdd,
0x65, 0xce, 0xe2, 0x32, 0xcd, 0x04, 0x70, 0x32, 0x46, 0x4a, 0x97, 0x0b, 0x3c, 0x4f, 0x21, 0x33,
0x0e, 0xc3, 0x98, 0x4a, 0xcf, 0x53, 0xf7, 0x86, 0x10, 0x2d, 0x1d, 0xb4, 0xff, 0xd0, 0xe2, 0x4b,
0x94, 0x10, 0xe7, 0x58, 0xdb, 0x7c, 0x71, 0x41, 0x76, 0xc3, 0x60, 0x78, 0x29, 0x64, 0x1b, 0x38,
0xb4, 0x1f, 0x0c, 0x2f, 0x99, 0xf9, 0xef, 0x07, 0x7a, 0x16, 0xae, 0x0d, 0x9b, 0x12, 0xc4, 0x4c,
0xef, 0x40, 0x63, 0x3c, 0x39, 0x1e, 0xfa, 0x7d, 0x9e, 0xa5, 0xcc, 0x4b, 0xe1, 0x10, 0x66, 0x60,
0xbb, 0x4f, 0x3e, 0x9f, 0x3c, 0x47, 0x05, 0x73, 0x34, 0x04, 0xc6, 0xb2, 0xd8, 0xeb, 0xb0, 0x68,
0x36, 0x50, 0xa8, 0xfd, 0x07, 0x50, 0x13, 0x5a, 0x42, 0xba, 0x21, 0xda, 0x9a, 0x73, 0x98, 0x6d,
0x96, 0x14, 0xdd, 0xfe, 0xd7, 0x15, 0x58, 0x10, 0xe8, 0x06, 0xeb, 0xfe, 0xe1, 0x64, 0x34, 0xf2,
0xa2, 0x02, 0xf5, 0x63, 0xbd, 0x41, 0xfd, 0x94, 0xf2, 0xea, 0xe7, 0x8e, 0xb1, 0x0b, 0xe5, 0xfa,
0x4b, 0x43, 0xc8, 0x7d, 0x98, 0x63, 0x43, 0xce, 0x37, 0x05, 0xba, 0x7f, 0x32, 0x0b, 0xe7, 0x55,
0x66, 0xb5, 0x48, 0x65, 0xea, 0xea, 0x6e, 0x26, 0xa3, 0xee, 0x6c, 0x68, 0xf2, 0xe9, 0x15, 0x1a,
0x7c, 0x56, 0x6c, 0xc9, 0x34, 0x8c, 0xb5, 0x27, 0xab, 0x5c, 0xb8, 0x26, 0x9b, 0x2b, 0x52, 0x2d,
0xfe, 0x88, 0xe2, 0x0a, 0xa1, 0xe5, 0xae, 0x0b, 0xd5, 0x92, 0x27, 0x91, 0xa7, 0x00, 0xbc, 0x2e,
0x34, 0x53, 0x00, 0xcd, 0x94, 0xf7, 0xcc, 0x59, 0xd1, 0xc7, 0x7f, 0x85, 0x25, 0x26, 0x11, 0x45,
0xd3, 0x45, 0xfb, 0xd2, 0xfe, 0x5b, 0x16, 0x34, 0x34, 0x1a, 0xb9, 0x0e, 0xf3, 0x1b, 0xfb, 0xfb,
0x07, 0x5b, 0xce, 0xda, 0xd1, 0xce, 0xf7, 0xb6, 0xdc, 0x8d, 0xdd, 0xfd, 0xc3, 0xad, 0xce, 0x35,
0x06, 0xef, 0xee, 0x6f, 0xac, 0xed, 0xba, 0x4f, 0xf7, 0x9d, 0x0d, 0x09, 0x5b, 0x64, 0x09, 0x88,
0xb3, 0xf5, 0x7c, 0xff, 0x68, 0xcb, 0xc0, 0x4b, 0xa4, 0x03, 0xcd, 0x75, 0x67, 0x6b, 0x6d, 0x63,
0x5b, 0x20, 0x65, 0xb2, 0x08, 0x9d, 0xa7, 0x2f, 0xf6, 0x36, 0x77, 0xf6, 0x9e, 0xb9, 0x1b, 0x6b,
0x7b, 0x1b, 0x5b, 0xbb, 0x5b, 0x9b, 0x9d, 0x0a, 0x69, 0x41, 0x7d, 0x6d, 0x7d, 0x6d, 0x6f, 0x73,
0x7f, 0x6f, 0x6b, 0xb3, 0x53, 0xb5, 0xff, 0xbb, 0x05, 0xd7, 0xb1, 0xd5, 0x83, 0xac, 0x90, 0xdc,
0x85, 0x46, 0x3f, 0x0c, 0xc7, 0x6c, 0x7b, 0x90, 0x2e, 0x80, 0x3a, 0xc4, 0x04, 0x80, 0xab, 0x8e,
0x93, 0x30, 0xea, 0x53, 0x21, 0x23, 0x80, 0xd0, 0x53, 0x86, 0x30, 0x01, 0x10, 0xd3, 0xcb, 0x73,
0x70, 0x11, 0x69, 0x70, 0x8c, 0x67, 0x59, 0x82, 0x99, 0xe3, 0x88, 0x7a, 0xfd, 0x33, 0x21, 0x1d,
0x22, 0x45, 0xbe, 0x92, 0xee, 0x5f, 0xfb, 0x6c, 0xf4, 0x87, 0x74, 0x80, 0x1c, 0x53, 0x73, 0xe6,
0x04, 0xbe, 0x21, 0x60, 0xa6, 0x2b, 0xbd, 0x63, 0x2f, 0x18, 0x84, 0x01, 0x1d, 0x08, 0xe3, 0x38,
0x05, 0xec, 0x03, 0x58, 0xca, 0xf6, 0x4f, 0xc8, 0xd8, 0x47, 0x9a, 0x8c, 0x71, 0x5b, 0xb5, 0x37,
0x7d, 0x36, 0x35, 0x79, 0xfb, 0xb3, 0x32, 0x54, 0x98, 0xe9, 0x32, 0xdd, 0xcc, 0xd1, 0xad, 0xd1,
0x72, 0x2e, 0x98, 0x81, 0x5b, 0x62, 0xbe, 0x90, 0x09, 0x77, 0x4c, 0x8a, 0xa4, 0xf4, 0x88, 0xf6,
0xcf, 0x85, 0x43, 0x46, 0x43, 0x98, 0x80, 0xb0, 0xad, 0x02, 0x7e, 0x2d, 0x04, 0x44, 0xa6, 0x25,
0x0d, 0xbf, 0x9c, 0x4d, 0x69, 0xf8, 0x5d, 0x17, 0x66, 0xfd, 0xe0, 0x38, 0x9c, 0x04, 0x03, 0x14,
0x88, 0x9a, 0x23, 0x93, 0x18, 0x3e, 0x41, 0x41, 0x65, 0x5a, 0x96, 0xb3, 0x7f, 0x0a, 0x90, 0x55,
0xa8, 0xc7, 0x97, 0x41, 0x5f, 0xe7, 0xf9, 0x45, 0x31, 0x4a, 0x6c, 0x0c, 0x56, 0x0e, 0x2f, 0x83,
0x3e, 0x72, 0x78, 0x9a, 0x8d, 0x7c, 0x13, 0x6a, 0xca, 0x81, 0xc9, 0x95, 0xd7, 0x0d, 0xfd, 0x13,
0xe9, 0xb5, 0xe4, 0xfb, 0x42, 0x95, 0xb5, 0xf7, 0x09, 0xb4, 0x0c, 0x92, 0xbe, 0x99, 0x6b, 0xf1,
0xcd, 0xdc, 0x3d, 0x7d, 0x33, 0x97, 0xea, 0x44, 0xf1, 0x99, 0xbe, 0xb9, 0xfb, 0x6d, 0xa8, 0xc9,
0xa6, 0x31, 0xd1, 0x78, 0xb1, 0xf7, 0xc9, 0xde, 0xfe, 0xcb, 0x3d, 0xf7, 0xf0, 0xfb, 0x7b, 0x1b,
0x9d, 0x6b, 0x64, 0x0e, 0x1a, 0x6b, 0x1b, 0x28, 0x6d, 0x08, 0x58, 0x2c, 0xcb, 0xc1, 0xda, 0xe1,
0xa1, 0x42, 0x4a, 0x36, 0x81, 0x0e, 0xd3, 0xcc, 0xac, 0xc5, 0x2a, 0x44, 0xf1, 0x11, 0xcc, 0x6b,
0x58, 0xba, 0xdf, 0x19, 0x33, 0x20, 0xb3, 0xdf, 0x41, 0xe3, 0x96, 0x53, 0xec, 0x65, 0xb8, 0xce,
0x92, 0x5b, 0xe7, 0x34, 0x48, 0x0e, 0x27, 0xc7, 0x3c, 0x32, 0xe5, 0x87, 0x81, 0xfd, 0xd7, 0x2d,
0xa8, 0x2b, 0xca, 0x15, 0xfc, 0x24, 0x83, 0x69, 0x25, 0x9c, 0x80, 0x9e, 0x56, 0x05, 0x7e, 0xb9,
0x82, 0xff, 0x1a, 0x7b, 0xa4, 0xba, 0x82, 0x58, 0x67, 0x0f, 0xb6, 0xb6, 0x1c, 0x77, 0x7f, 0x6f,
0x77, 0x67, 0x8f, 0x69, 0x16, 0xd6, 0x59, 0x04, 0x9e, 0x3e, 0x45, 0xc4, 0xb2, 0x3b, 0xd0, 0x7e,
0x46, 0x93, 0x9d, 0xe0, 0x24, 0x94, 0x5d, 0xfd, 0x7f, 0x55, 0x98, 0x53, 0x50, 0xba, 0xc7, 0x3a,
0xa7, 0x51, 0xec, 0x87, 0x01, 0x5a, 0x47, 0x75, 0x47, 0x26, 0x99, 0xda, 0xf5, 0x07, 0x34, 0x48,
0xfc, 0xe4, 0xd2, 0x35, 0x9c, 0x32, 0x59, 0x98, 0xed, 0x67, 0xbc, 0xa1, 0xef, 0xc9, 0x20, 0x1f,
0x4f, 0x30, 0xb4, 0x1f, 0x0e, 0xc3, 0x08, 0xcd, 0xa0, 0xba, 0xc3, 0x13, 0x64, 0x15, 0x16, 0x99,
0xf9, 0xa5, 0xbb, 0xcc, 0x50, 0x58, 0xb9, 0x87, 0xa8, 0x90, 0xc6, 0xd4, 0x3a, 0xc3, 0xc5, 0xda,
0xad, 0x3e, 0xe1, 0xd6, 0x7e, 0x11, 0x89, 0x7c, 0x03, 0xae, 0x33, 0x58, 0xad, 0xf7, 0xea, 0x9b,
0x39, 0xfc, 0xa6, 0x98, 0xc8, 0xa4, 0x86, 0xd7, 0xcf, 0x66, 0xbe, 0xca, 0x0d, 0x3b, 0x05, 0xe4,
0x22, 0x72, 0x33, 0x7c, 0xa9, 0xca, 0x46, 0xe4, 0xb4, 0xa8, 0x5e, 0x2d, 0x17, 0xd5, 0xfb, 0x06,
0x5c, 0x3f, 0xa6, 0x71, 0xe2, 0x9e, 0x51, 0x6f, 0x40, 0x23, 0x94, 0x46, 0x1e, 0xbc, 0xe3, 0x76,
0x6c, 0x31, 0x11, 0x17, 0xc0, 0xcb, 0xa0, 0x4f, 0x07, 0x6e, 0x12, 0xba, 0xb8, 0x50, 0xa3, 0x4c,
0xd7, 0x9c, 0x2c, 0x6c, 0xe6, 0x3c, 0x8d, 0xbc, 0xf1, 0x99, 0x30, 0x34, 0xb3, 0x30, 0x33, 0x11,
0x12, 0x1a, 0x27, 0x01, 0xe5, 0xa1, 0x93, 0x1a, 0xba, 0xc5, 0x25, 0x44, 0xee, 0xc1, 0x0c, 0x16,
0x18, 0x77, 0x3b, 0x28, 0x00, 0xcd, 0x54, 0x89, 0xfa, 0x81, 0x23, 0x68, 0x6c, 0x5b, 0x39, 0x89,
0xfc, 0xb8, 0xdb, 0xc4, 0xa8, 0x21, 0xfe, 0x4d, 0xbe, 0xad, 0xe9, 0x89, 0x05, 0xfc, 0xf6, 0x9e,
0xf8, 0x36, 0xc3, 0x79, 0x5f, 0x88, 0xca, 0xf8, 0x4e, 0xa5, 0xd6, 0xe8, 0x34, 0xed, 0xdf, 0x80,
0x2a, 0xb6, 0x1c, 0x79, 0x12, 0xc7, 0xcf, 0x12, 0x3c, 0x89, 0x68, 0x17, 0x66, 0x03, 0x9a, 0x5c,
0x84, 0xd1, 0x2b, 0x19, 0xa6, 0x16, 0x49, 0xfb, 0x27, 0xb8, 0xf7, 0x56, 0x61, 0xdb, 0x17, 0xb8,
0x69, 0x20, 0x37, 0xa1, 0xce, 0xe7, 0x34, 0x3e, 0xf3, 0x84, 0x3b, 0xa0, 0x86, 0xc0, 0xe1, 0x99,
0xc7, 0xd6, 0x47, 0x83, 0x4d, 0xb8, 0x87, 0xa5, 0x81, 0xd8, 0x36, 0xe7, 0x92, 0x7b, 0xd0, 0x96,
0x01, 0xe1, 0xd8, 0x1d, 0xd2, 0x93, 0x44, 0xfa, 0x47, 0x83, 0xc9, 0x08, 0xdd, 0x30, 0xbb, 0xf4,
0x24, 0xb1, 0xf7, 0x60, 0x5e, 0xac, 0x59, 0xfb, 0x63, 0x2a, 0xab, 0xfe, 0xcd, 0x22, 0xfb, 0xaf,
0xb1, 0xba, 0x60, 0x2e, 0x72, 0x3c, 0x04, 0x6e, 0xe6, 0xb4, 0x1d, 0x20, 0xfa, 0x1a, 0x28, 0x0a,
0x14, 0x06, 0x98, 0xf4, 0x00, 0x8b, 0xee, 0x18, 0x18, 0x1b, 0x9f, 0x78, 0xd2, 0xef, 0xcb, 0x30,
0x7e, 0xcd, 0x91, 0x49, 0xfb, 0x3f, 0x5b, 0xb0, 0x80, 0xa5, 0x49, 0x0b, 0x56, 0xd8, 0x19, 0x8f,
0x3f, 0x47, 0x33, 0xa5, 0xff, 0x9d, 0x7b, 0x9d, 0x17, 0xa1, 0xaa, 0x5b, 0x1e, 0x3c, 0xf1, 0xf9,
0xbd, 0x6d, 0x95, 0x9c, 0xb7, 0xed, 0x01, 0x74, 0x06, 0x74, 0xe8, 0xe3, 0x51, 0x0e, 0xb9, 0x8e,
0x73, 0x73, 0x35, 0x87, 0xdb, 0x7f, 0xd7, 0x82, 0x79, 0x6e, 0x28, 0xe0, 0x9e, 0x4b, 0x0c, 0xd5,
0x5f, 0x92, 0xfb, 0x13, 0xa1, 0xa0, 0x44, 0xa7, 0xd2, 0xa5, 0x13, 0x51, 0x9e, 0x79, 0xfb, 0x9a,
0x63, 0x66, 0x26, 0x4f, 0xd0, 0xea, 0x0e, 0x5c, 0x44, 0x0b, 0x0e, 0x87, 0x98, 0xf3, 0xb2, 0x7d,
0xcd, 0xd1, 0xb2, 0xaf, 0xd7, 0xd8, 0x96, 0x89, 0xe1, 0xf6, 0x33, 0x68, 0x19, 0x15, 0x19, 0x5e,
0xc1, 0x26, 0xf7, 0x0a, 0xe6, 0xdc, 0xef, 0xa5, 0x02, 0xf7, 0xfb, 0xef, 0x57, 0x80, 0x30, 0xc6,
0xca, 0xcc, 0xdc, 0x5d, 0x33, 0x86, 0x25, 0xcf, 0x89, 0xa4, 0x10, 0x59, 0x05, 0xa2, 0x25, 0x65,
0x6c, 0xad, 0xac, 0x62, 0x6b, 0x05, 0x54, 0xa6, 0xf5, 0x85, 0x55, 0xa9, 0xe2, 0x56, 0xe8, 0xf1,
0xe1, 0xd3, 0x54, 0x48, 0x63, 0x96, 0x0f, 0x06, 0xb1, 0xd8, 0xde, 0x54, 0x78, 0x49, 0x64, 0x3a,
0xcb, 0x0f, 0x33, 0x6f, 0xe4, 0x87, 0xd9, 0x1c, 0x3f, 0x68, 0xfb, 0xf4, 0x9a, 0xb9, 0x4f, 0xbf,
0x07, 0x2d, 0x19, 0xab, 0xe2, 0x61, 0x7a, 0xe1, 0x14, 0x31, 0x40, 0xc6, 0x4f, 0x72, 0xab, 0xac,
0x9c, 0x01, 0x3c, 0x08, 0x9d, 0xc3, 0xd9, 0xc2, 0x92, 0xfa, 0x63, 0x1b, 0xd8, 0xd8, 0x14, 0xc0,
0x9d, 0x35, 0xe3, 0x12, 0x77, 0x12, 0x88, 0x33, 0x22, 0x74, 0x80, 0xee, 0x10, 0xb6, 0xb3, 0xce,
0x12, 0xf2, 0xbb, 0xe4, 0x56, 0xc1, 0x2e, 0x99, 0x7c, 0x94, 0x06, 0x76, 0xe2, 0x33, 0x7f, 0x84,
0x6b, 0x7b, 0x7a, 0xc4, 0xe2, 0x29, 0x27, 0x1d, 0x9e, 0xf9, 0x23, 0xc7, 0xc8, 0x67, 0xff, 0xc2,
0x82, 0x0e, 0xe3, 0x0a, 0x83, 0xf1, 0x3f, 0x06, 0x94, 0xd1, 0xb7, 0xe4, 0x7b, 0x23, 0x2f, 0x79,
0x0c, 0x75, 0x4c, 0x87, 0x63, 0x1a, 0x08, 0xae, 0xef, 0x9a, 0x5c, 0x9f, 0x6a, 0xb7, 0xed, 0x6b,
0x4e, 0x9a, 0x99, 0xad, 0x65, 0xd9, 0xc0, 0x1a, 0x8f, 0x12, 0x67, 0x61, 0x4d, 0x3a, 0xb6, 0x01,
0x3e, 0xa1, 0x97, 0xbb, 0x61, 0x1f, 0x5d, 0x2a, 0xb7, 0x01, 0x18, 0x0f, 0x9e, 0x78, 0x23, 0x5f,
0x78, 0x04, 0xaa, 0x4e, 0xfd, 0x15, 0xbd, 0x7c, 0x8a, 0x00, 0x53, 0xe3, 0x8c, 0x9c, 0x8a, 0x48,
0xd5, 0xa9, 0xbd, 0xa2, 0x97, 0x3b, 0x28, 0x1e, 0x2e, 0xb4, 0x3e, 0xa1, 0x97, 0x9b, 0x94, 0xdb,
0x75, 0x61, 0x44, 0x6c, 0x68, 0x45, 0xde, 0x05, 0xb3, 0xdc, 0x8c, 0x88, 0x58, 0x23, 0xf2, 0x2e,
0x3e, 0xa1, 0x97, 0xeb, 0x18, 0x12, 0x7b, 0x00, 0xb3, 0x8c, 0x3e, 0x0c, 0xfb, 0x62, 0x65, 0x92,
0x41, 0xfe, 0xb4, 0x51, 0xce, 0xcc, 0x2b, 0xfc, 0xdb, 0xfe, 0x8f, 0x16, 0xb4, 0xd8, 0x08, 0xa0,
0xda, 0x63, 0x33, 0x21, 0xcf, 0x8a, 0x58, 0xe9, 0x59, 0x91, 0x55, 0xa1, 0x33, 0xb8, 0x0e, 0x2d,
0x4d, 0xd7, 0xa1, 0x38, 0x6c, 0x5c, 0x81, 0x7e, 0x08, 0x75, 0x2e, 0x4e, 0x4c, 0x7c, 0xcb, 0xc6,
0x4c, 0x19, 0x1d, 0x72, 0x6a, 0x98, 0xed, 0x13, 0x1e, 0x96, 0xd6, 0x7c, 0x3a, 0x7c, 0x90, 0xeb,
0x1c, 0x61, 0xe4, 0x82, 0x08, 0x67, 0xb5, 0x28, 0xc2, 0xf9, 0x02, 0x1a, 0x1a, 0x63, 0x91, 0x6f,
0xf1, 0xd8, 0x30, 0x6f, 0x3c, 0xe7, 0x42, 0x93, 0x71, 0x8c, 0xde, 0xa3, 0xc2, 0xd4, 0x81, 0xf5,
0x19, 0xa8, 0x20, 0x4b, 0x3e, 0x81, 0x79, 0xad, 0x58, 0xbe, 0x43, 0x2c, 0x6a, 0x93, 0x55, 0xd4,
0xa6, 0x3f, 0xb0, 0x60, 0x51, 0x7c, 0x8d, 0xe7, 0x8a, 0x7c, 0xb6, 0x8c, 0x3f, 0x8f, 0x4f, 0xd9,
0x42, 0xca, 0x4a, 0x77, 0x23, 0x7a, 0xea, 0xc7, 0x09, 0x95, 0x8e, 0xf4, 0x02, 0x09, 0x61, 0x2c,
0xcd, 0xb2, 0x3a, 0x22, 0x27, 0x79, 0x02, 0x0d, 0xfc, 0x94, 0xef, 0x61, 0xc5, 0xb4, 0x74, 0xf3,
0x1f, 0xf2, 0xa6, 0x32, 0x4d, 0x1e, 0xab, 0xd4, 0x7a, 0x1d, 0x66, 0x93, 0xc8, 0x3f, 0x3d, 0xa5,
0x91, 0xbd, 0xa4, 0x9a, 0xc6, 0xa4, 0x8d, 0x1e, 0x26, 0x74, 0xcc, 0x8c, 0x23, 0xc6, 0x19, 0x0d,
0x21, 0x54, 0xbf, 0xb4, 0xf3, 0xbc, 0xa7, 0x9d, 0x90, 0xe3, 0xbb, 0xd5, 0xf4, 0x40, 0xdc, 0x7d,
0x98, 0x1b, 0x31, 0x43, 0x89, 0x59, 0xf0, 0x86, 0xe3, 0x3c, 0x0b, 0x33, 0xc3, 0x1b, 0xed, 0x96,
0xd8, 0x4d, 0xfc, 0xa1, 0x2b, 0xa9, 0xe2, 0x2c, 0x5a, 0x11, 0x89, 0x2d, 0xdf, 0x71, 0xe2, 0x9d,
0x52, 0x61, 0x1d, 0xf3, 0x84, 0xdd, 0x85, 0xa5, 0x83, 0x74, 0x5a, 0x34, 0x87, 0x84, 0xfd, 0xcf,
0x5a, 0xb0, 0x9c, 0x23, 0xa9, 0x93, 0xb3, 0xc2, 0x1b, 0x3c, 0xf4, 0x47, 0xc7, 0xa1, 0xf2, 0xe6,
0x58, 0xba, 0xa3, 0xd8, 0x20, 0x91, 0x53, 0xb8, 0x2e, 0xb9, 0x82, 0xa9, 0x90, 0xd4, 0xec, 0x2f,
0xa1, 0x25, 0xfa, 0xa1, 0xa9, 0xb1, 0xb2, 0x15, 0x4a, 0x5c, 0x5f, 0x15, 0x8b, 0xcb, 0x23, 0x67,
0xd0, 0x55, 0xec, 0x27, 0x2c, 0x25, 0x6d, 0x27, 0xc3, 0xea, 0xfa, 0xe0, 0x0d, 0x75, 0x19, 0xfe,
0x0b, 0x67, 0x6a, 0x69, 0xe4, 0x12, 0xee, 0x48, 0x1a, 0x9a, 0x42, 0xf9, 0xfa, 0x2a, 0x6f, 0xd5,
0x37, 0xf4, 0xcc, 0x98, 0x95, 0xbe, 0xa1, 0x60, 0xf2, 0x63, 0x58, 0xba, 0xf0, 0xfc, 0x44, 0x36,
0x4b, 0xdb, 0x45, 0x55, 0xb1, 0xca, 0xd5, 0x37, 0x54, 0xf9, 0x92, 0x7f, 0x6c, 0xd8, 0x87, 0x53,
0x4a, 0xec, 0xfd, 0xa2, 0x04, 0x6d, 0xb3, 0x1c, 0xc6, 0xa6, 0x42, 0x2b, 0x49, 0x83, 0x42, 0xee,
0x3f, 0x33, 0x70, 0xde, 0x29, 0x5a, 0x2a, 0x72, 0x8a, 0xea, 0x6e, 0xc8, 0xf2, 0x9b, 0xa2, 0x2e,
0x95, 0xb7, 0x8b, 0xba, 0x54, 0x0b, 0xa3, 0x2e, 0xd3, 0x9d, 0xf3, 0x33, 0xbf, 0xac, 0x73, 0x7e,
0xf6, 0x4a, 0xe7, 0x7c, 0xef, 0xff, 0x5a, 0x40, 0xf2, 0xdc, 0x4b, 0x9e, 0x71, 0x3f, 0x70, 0x40,
0x87, 0x42, 0xbd, 0x7d, 0xed, 0xed, 0x24, 0x40, 0xce, 0x96, 0xfc, 0x9a, 0x89, 0xa2, 0x7e, 0x7c,
0x55, 0xdf, 0xdb, 0xb4, 0x9c, 0x22, 0x52, 0x26, 0xf2, 0x54, 0x79, 0x73, 0xe4, 0xa9, 0xfa, 0xe6,
0xc8, 0xd3, 0x4c, 0x36, 0xf2, 0xd4, 0xfb, 0x6b, 0x16, 0x2c, 0x14, 0xb0, 0xd9, 0xaf, 0xaf, 0xe3,
0x8c, 0x31, 0x0c, 0xed, 0x53, 0x12, 0x8c, 0xa1, 0x83, 0xbd, 0xbf, 0x0c, 0x2d, 0x43, 0xb4, 0x7e,
0x7d, 0xf5, 0x67, 0xb7, 0x67, 0x9c, 0xb3, 0x0d, 0xac, 0xf7, 0xbf, 0x4a, 0x40, 0xf2, 0xe2, 0xfd,
0x85, 0xb6, 0x21, 0x3f, 0x4e, 0xe5, 0x82, 0x71, 0xfa, 0x0b, 0x5d, 0x79, 0x3e, 0x80, 0x79, 0x71,
0x26, 0x5f, 0xf3, 0xfc, 0x73, 0x8e, 0xc9, 0x13, 0xd8, 0x06, 0xd5, 0x0c, 0xfb, 0xd5, 0x8c, 0x33,
0xc8, 0xda, 0xf2, 0x9b, 0x89, 0xfe, 0xd9, 0x3d, 0xe8, 0x8a, 0x11, 0xca, 0xbb, 0xfe, 0xfe, 0x45,
0x59, 0xed, 0xb1, 0x91, 0x28, 0xec, 0xe7, 0x6f, 0x40, 0x53, 0x5f, 0x3e, 0xc4, 0x74, 0x64, 0x82,
0x3f, 0xcc, 0xcc, 0xd0, 0x73, 0x91, 0x4d, 0x68, 0xa3, 0x92, 0x1c, 0xa8, 0xef, 0xb8, 0xa5, 0x71,
0x85, 0x43, 0x7b, 0xfb, 0x9a, 0x93, 0xf9, 0x86, 0xfc, 0x16, 0xb4, 0x4d, 0x37, 0x97, 0xb0, 0x09,
0x8b, 0xcc, 0x48, 0xf6, 0xb9, 0x99, 0x99, 0xac, 0x41, 0x27, 0xeb, 0x27, 0x13, 0x07, 0x24, 0xa7,
0x14, 0x90, 0xcb, 0x4e, 0x1e, 0x0b, 0x3f, 0x67, 0x15, 0xfd, 0x9c, 0xf7, 0xcc, 0xcf, 0xb4, 0x61,
0x5a, 0xe1, 0xff, 0x69, 0x1e, 0xcf, 0xdf, 0x05, 0x48, 0x31, 0xd2, 0x81, 0xe6, 0xfe, 0xc1, 0xd6,
0x9e, 0xbb, 0xb1, 0xbd, 0xb6, 0xb7, 0xb7, 0xb5, 0xdb, 0xb9, 0x46, 0x08, 0xb4, 0x31, 0x2e, 0xb2,
0xa9, 0x30, 0x8b, 0x61, 0xc2, 0x0b, 0x2c, 0xb1, 0x12, 0x59, 0x84, 0xce, 0xce, 0x5e, 0x06, 0x2d,
0x33, 0x4b, 0x4c, 0x34, 0x91, 0x59, 0x62, 0xfc, 0xce, 0xc5, 0x3a, 0x67, 0x0f, 0x69, 0x9d, 0xfc,
0x03, 0x0b, 0xae, 0x67, 0x08, 0xe9, 0x29, 0x5a, 0x6e, 0x80, 0x98, 0x56, 0x89, 0x09, 0x62, 0x4c,
0x57, 0x6e, 0xdc, 0x32, 0x1a, 0x24, 0x4f, 0x60, 0x3c, 0xaf, 0x6d, 0xf4, 0x32, 0x92, 0x54, 0x44,
0xb2, 0x97, 0xd5, 0x61, 0xc5, 0x4c, 0xc3, 0x4f, 0xf8, 0x5d, 0x0e, 0x9d, 0x90, 0xfa, 0x7b, 0xcd,
0x26, 0xcb, 0x24, 0xdb, 0xa3, 0x1b, 0xc6, 0x8e, 0xd9, 0xde, 0x42, 0x9a, 0xfd, 0xbf, 0x2b, 0x40,
0xbe, 0x3b, 0xa1, 0xd1, 0x25, 0x1e, 0x93, 0x55, 0x61, 0xa6, 0xe5, 0xac, 0xd3, 0x7b, 0x66, 0x3c,
0x39, 0x66, 0x5b, 0x09, 0xb1, 0xc5, 0x29, 0xbd, 0xd5, 0x71, 0xf8, 0xa2, 0xe3, 0xe8, 0x95, 0x37,
0x1f, 0x47, 0xaf, 0xbe, 0xe9, 0x38, 0xfa, 0x97, 0xa0, 0xe5, 0x9f, 0x06, 0x21, 0x53, 0x07, 0xcc,
0x84, 0x88, 0xbb, 0x33, 0x77, 0xcb, 0xf7, 0x9b, 0x4e, 0x53, 0x80, 0x7b, 0x0c, 0x23, 0x4f, 0xd2,
0x4c, 0x74, 0x70, 0x8a, 0xd7, 0x27, 0x74, 0x05, 0xb1, 0x35, 0x38, 0xa5, 0x62, 0x47, 0x87, 0x4e,
0x0f, 0xf9, 0x31, 0xc3, 0x63, 0x72, 0x0f, 0xda, 0x71, 0x38, 0x61, 0x46, 0x95, 0x1c, 0x06, 0xee,
0x0a, 0x6e, 0x72, 0xf4, 0x80, 0x0f, 0xc6, 0x0a, 0x2c, 0x4c, 0x62, 0xea, 0x8e, 0xfc, 0x38, 0x66,
0x0b, 0x67, 0x3f, 0x0c, 0x92, 0x28, 0x1c, 0x0a, 0xd7, 0xee, 0xfc, 0x24, 0xa6, 0xcf, 0x39, 0x65,
0x83, 0x13, 0xc8, 0x37, 0xd2, 0x26, 0x8d, 0x3d, 0x3f, 0x8a, 0xbb, 0x80, 0x4d, 0x92, 0x3d, 0x65,
0xed, 0x3e, 0xf0, 0xfc, 0x48, 0xb5, 0x85, 0x25, 0xe2, 0xcc, 0x31, 0xf9, 0x46, 0xf6, 0x98, 0xfc,
0x8f, 0x8a, 0x8f, 0xc9, 0xb7, 0xb0, 0xe8, 0x47, 0xa2, 0xe8, 0xfc, 0x14, 0xbf, 0xfd, 0x69, 0xf9,
0x5f, 0xcf, 0x39, 0x76, 0x71, 0xf4, 0x7a, 0x05, 0x6a, 0xb2, 0x9b, 0x84, 0x40, 0xe5, 0x24, 0x0a,
0x47, 0xd2, 0xf1, 0xc5, 0xfe, 0x26, 0x6d, 0x28, 0x25, 0xa1, 0xf8, 0xb8, 0x94, 0x84, 0xf6, 0xef,
0x41, 0x43, 0x9b, 0x29, 0xf2, 0x2e, 0xdf, 0x4f, 0x33, 0x9b, 0x50, 0x6c, 0x18, 0x79, 0x68, 0xbc,
0x2e, 0xd0, 0x9d, 0x01, 0xf9, 0x2a, 0xcc, 0x0f, 0xfc, 0x88, 0xe2, 0x8d, 0x13, 0x37, 0xa2, 0xe7,
0x34, 0x8a, 0xa5, 0x2f, 0xb2, 0xa3, 0x08, 0x0e, 0xc7, 0x6d, 0x17, 0x16, 0x8c, 0xa1, 0x51, 0xca,
0x61, 0x06, 0xcf, 0x8b, 0xcb, 0xf0, 0x91, 0x79, 0x96, 0x5c, 0xd0, 0xd8, 0xb2, 0x2a, 0xdc, 0xa8,
0xee, 0x38, 0x0a, 0x8f, 0xb1, 0x12, 0xcb, 0x31, 0x30, 0xfb, 0x7f, 0x96, 0xa1, 0xbc, 0x1d, 0x8e,
0xf5, 0x80, 0xbe, 0x95, 0x0f, 0xe8, 0x0b, 0xfb, 0xd7, 0x55, 0xe6, 0xad, 0x30, 0x52, 0x0c, 0x90,
0x3c, 0x80, 0x36, 0x93, 0xb4, 0x24, 0x64, 0xf6, 0xfe, 0x85, 0x17, 0xf1, 0xc3, 0xe5, 0x65, 0x64,
0xdf, 0x0c, 0x85, 0x2c, 0x42, 0x59, 0x99, 0x6d, 0x98, 0x81, 0x25, 0xd9, 0x66, 0x13, 0x8f, 0x56,
0x5d, 0x8a, 0xe0, 0x88, 0x48, 0x31, 0xc5, 0x65, 0x7e, 0xcf, 0xc5, 0x99, 0x2f, 0xbe, 0x45, 0x24,
0x66, 0x8b, 0x33, 0x81, 0x1d, 0xa5, 0xa6, 0xad, 0x4a, 0xeb, 0x11, 0xb3, 0x9a, 0x19, 0x31, 0xbb,
0x0b, 0x8d, 0x64, 0x78, 0xee, 0x8e, 0xbd, 0xcb, 0x61, 0xe8, 0x0d, 0x84, 0xa0, 0xe8, 0x10, 0x79,
0x04, 0x30, 0x1a, 0x8f, 0x05, 0x17, 0xa3, 0x3b, 0xae, 0xb1, 0xda, 0x11, 0xa3, 0xff, 0xfc, 0xe0,
0x80, 0x73, 0x9f, 0xa3, 0xe5, 0x21, 0x5b, 0xd0, 0x2e, 0xbc, 0x21, 0x72, 0x5b, 0x1e, 0x00, 0x0a,
0xc7, 0x2b, 0x05, 0x7c, 0x9e, 0xf9, 0xa8, 0xf7, 0x6d, 0x20, 0xbf, 0xe2, 0x45, 0x8d, 0x97, 0x50,
0x57, 0x2d, 0xd4, 0xaf, 0x47, 0xe0, 0x29, 0xbf, 0x86, 0x79, 0x3d, 0x02, 0x0f, 0xf5, 0xbd, 0x07,
0x6d, 0xbe, 0xda, 0x28, 0xfd, 0xc9, 0x4f, 0x66, 0x65, 0x50, 0xfb, 0xcf, 0x2d, 0xa8, 0x22, 0xe7,
0x31, 0xf3, 0x8b, 0xd3, 0xd4, 0x49, 0x08, 0x11, 0x54, 0xc9, 0xc2, 0xc4, 0x36, 0x6e, 0x8e, 0x95,
0x14, 0x1b, 0xe8, 0xb7, 0xc7, 0xee, 0x42, 0x5d, 0xd5, 0xa4, 0xb1, 0x52, 0x0a, 0x92, 0x3b, 0x50,
0x39, 0x0b, 0xc7, 0x72, 0x87, 0x0a, 0xe9, 0x88, 0x3a, 0x88, 0xa7, 0xed, 0x61, 0xe5, 0xf1, 0x2e,
0xf0, 0x5d, 0x40, 0x16, 0x2e, 0xe8, 0xeb, 0x4c, 0x61, 0x5f, 0x5f, 0xc0, 0x1c, 0xd3, 0x0f, 0x5a,
0xd0, 0x73, 0xfa, 0x5a, 0xf4, 0x15, 0x66, 0xda, 0xf4, 0x87, 0x93, 0x01, 0xd5, 0xfd, 0x04, 0x18,
0x2c, 0x13, 0xb8, 0xb4, 0x90, 0xed, 0x7f, 0x6e, 0x71, 0xbd, 0xc3, 0xca, 0x25, 0xf7, 0xa1, 0xc2,
0x96, 0x8d, 0x8c, 0x33, 0x4b, 0x9d, 0xbc, 0x64, 0xf9, 0x1c, 0xcc, 0xc1, 0x66, 0x11, 0xe3, 0x3c,
0x7a, 0xe9, 0x3c, 0xca, 0x93, 0x6e, 0xb2, 0x55, 0xcf, 0x32, 0x7b, 0xd3, 0x0c, 0x4a, 0x56, 0xb4,
0x83, 0x0d, 0x15, 0x63, 0x29, 0x92, 0x96, 0xd4, 0xe0, 0x94, 0x6a, 0x07, 0x1a, 0xfe, 0x65, 0x09,
0x5a, 0x46, 0x9b, 0x98, 0xf4, 0xe0, 0xbd, 0x2a, 0xee, 0x2a, 0x15, 0x33, 0xaf, 0x43, 0xba, 0xe4,
0x95, 0x4c, 0xc9, 0x53, 0x11, 0xde, 0xb2, 0x1e, 0xe1, 0x7d, 0x04, 0xf5, 0xf4, 0xea, 0xa0, 0xd9,
0x28, 0x56, 0xa3, 0x3c, 0x83, 0x9a, 0x66, 0x4a, 0x63, 0xc2, 0x55, 0x3d, 0x26, 0xfc, 0x2d, 0x2d,
0x66, 0x38, 0x83, 0xc5, 0xd8, 0x45, 0xa3, 0xfa, 0xc5, 0x1c, 0x32, 0x78, 0x02, 0x0d, 0xad, 0xf1,
0x7a, 0x6c, 0xd0, 0x32, 0x62, 0x83, 0xea, 0xb4, 0x78, 0x29, 0x3d, 0x2d, 0x6e, 0xff, 0xac, 0x04,
0x2d, 0x26, 0x6b, 0x7e, 0x70, 0x7a, 0x10, 0x0e, 0xfd, 0xfe, 0x25, 0xf2, 0xb8, 0x14, 0x2b, 0x61,
0xc3, 0x48, 0x99, 0x33, 0x61, 0xa6, 0x13, 0xd5, 0x15, 0x19, 0xae, 0xc0, 0x55, 0x9a, 0x69, 0x78,
0xa6, 0x1f, 0x8f, 0xbd, 0x98, 0x6a, 0x17, 0x1b, 0x1d, 0x13, 0x64, 0x7a, 0x98, 0x01, 0x78, 0xf6,
0x7f, 0xe4, 0x0f, 0x87, 0x3e, 0xcf, 0xcb, 0x37, 0xdf, 0x45, 0x24, 0x56, 0xe7, 0xc0, 0x8f, 0xbd,
0xe3, 0xf4, 0x24, 0x8e, 0x4a, 0x63, 0x18, 0xc4, 0x7b, 0xad, 0x85, 0x41, 0xf8, 0x65, 0x21, 0x13,
0xcc, 0x72, 0xd5, 0x6c, 0x8e, 0xab, 0xec, 0x7f, 0x5b, 0x82, 0x86, 0xc6, 0xa3, 0x4c, 0xb7, 0x14,
0x2e, 0xc2, 0x1a, 0x2a, 0x8e, 0xa8, 0x05, 0x86, 0x3b, 0x47, 0x43, 0xc8, 0x3d, 0xb3, 0x56, 0x0c,
0x9f, 0xa2, 0xf6, 0x31, 0xf8, 0xf9, 0x16, 0xd4, 0x99, 0x1c, 0x7e, 0x88, 0xbe, 0x23, 0x71, 0x89,
0x58, 0x01, 0x92, 0xba, 0x8a, 0xd4, 0x6a, 0x4a, 0x45, 0xe0, 0xca, 0x43, 0x6b, 0x8f, 0xa1, 0x29,
0x8a, 0xc1, 0x39, 0xc6, 0x4e, 0xa7, 0x9a, 0xc0, 0x98, 0x7f, 0xc7, 0xc8, 0x29, 0xbf, 0x5c, 0x95,
0x5f, 0xd6, 0xde, 0xf4, 0xa5, 0xcc, 0x69, 0x3f, 0x53, 0xe7, 0x01, 0x9f, 0x45, 0xde, 0xf8, 0x4c,
0x6a, 0xb7, 0x47, 0xb0, 0x20, 0x95, 0xd8, 0x24, 0xf0, 0x82, 0x20, 0x9c, 0x04, 0x7d, 0x2a, 0x0f,
0x96, 0x17, 0x91, 0xec, 0x81, 0xba, 0x86, 0x84, 0x05, 0x91, 0x07, 0x50, 0xe5, 0x56, 0x30, 0xb7,
0x55, 0x8a, 0xf5, 0x19, 0xcf, 0x42, 0xee, 0x43, 0x95, 0x1b, 0xc3, 0xa5, 0xa9, 0x1a, 0x88, 0x67,
0xb0, 0x57, 0x60, 0x0e, 0x3d, 0xf0, 0x9a, 0x22, 0xbe, 0x59, 0x64, 0xc3, 0xcc, 0xf4, 0xb9, 0x9f,
0x7e, 0x11, 0xc8, 0x1e, 0x97, 0x2b, 0xfd, 0xc0, 0xca, 0x9f, 0x97, 0xa1, 0xa1, 0xc1, 0x4c, 0x59,
0xe2, 0xe9, 0x05, 0x77, 0xe0, 0x7b, 0x23, 0x2a, 0xbd, 0xf6, 0x2d, 0x27, 0x83, 0xb2, 0x7c, 0xde,
0xf9, 0xa9, 0x1b, 0x4e, 0x12, 0x77, 0x40, 0x4f, 0x23, 0x4a, 0x85, 0x71, 0x95, 0x41, 0x59, 0x3e,
0xc6, 0xcd, 0x5a, 0x3e, 0x1e, 0x88, 0xcf, 0xa0, 0xf2, 0x60, 0x08, 0x1f, 0xa7, 0x4a, 0x7a, 0x30,
0x84, 0x8f, 0x4a, 0x56, 0xcd, 0x57, 0x0b, 0xd4, 0xfc, 0x47, 0xb0, 0xc4, 0x15, 0xba, 0xd0, 0x1e,
0x6e, 0x86, 0xb9, 0xa6, 0x50, 0xc9, 0x03, 0xe8, 0xb0, 0x36, 0x4b, 0xd1, 0x88, 0xfd, 0x9f, 0x70,
0x19, 0xb3, 0x9c, 0x1c, 0xce, 0xf2, 0x62, 0x50, 0x51, 0xcf, 0xcb, 0x0f, 0x4a, 0xe6, 0x70, 0xcc,
0xeb, 0xbd, 0x36, 0xf3, 0xd6, 0x45, 0xde, 0x0c, 0x4e, 0x1e, 0xc3, 0xf2, 0x88, 0x0e, 0x7c, 0xcf,
0x2c, 0xc2, 0x4d, 0x2d, 0x8e, 0x69, 0x64, 0x56, 0x0b, 0x1b, 0x85, 0x9f, 0x84, 0xa3, 0x63, 0x9f,
0xaf, 0xb2, 0x3c, 0xfc, 0x59, 0x71, 0x72, 0xb8, 0xdd, 0x82, 0xc6, 0x61, 0x12, 0x8e, 0xe5, 0xd4,
0xb7, 0xa1, 0xc9, 0x93, 0xe2, 0x2a, 0xc1, 0x4d, 0xb8, 0x81, 0xfc, 0x7a, 0x14, 0x8e, 0xc3, 0x61,
0x78, 0x7a, 0x69, 0xf8, 0x5d, 0xfe, 0xbd, 0x05, 0x0b, 0x06, 0x35, 0x75, 0xbc, 0xa0, 0x93, 0x58,
0x9e, 0xff, 0xe6, 0x2c, 0x3e, 0xaf, 0xad, 0x51, 0x3c, 0x23, 0x0f, 0x70, 0xbf, 0x10, 0x47, 0xc2,
0xd7, 0xd2, 0x4b, 0x8d, 0xf2, 0x43, 0xce, 0xef, 0xdd, 0x3c, 0xbf, 0x8b, 0xef, 0xe5, 0x75, 0x47,
0x59, 0xc4, 0x6f, 0x89, 0x63, 0xad, 0x03, 0xd1, 0xe9, 0xb2, 0x79, 0x14, 0x51, 0xf7, 0xd3, 0xc9,
0x16, 0xf4, 0x15, 0x18, 0xdb, 0x3f, 0xb7, 0x00, 0xd2, 0xd6, 0xe1, 0x61, 0x48, 0xb5, 0xce, 0xf2,
0x77, 0x43, 0xb4, 0x35, 0xf5, 0x5d, 0x68, 0xaa, 0x03, 0x59, 0xe9, 0xd2, 0xdd, 0x90, 0x18, 0x33,
0x75, 0xde, 0x87, 0xb9, 0xd3, 0x61, 0x78, 0x8c, 0x26, 0x95, 0x58, 0x67, 0xf9, 0x85, 0x8a, 0x36,
0x87, 0xe5, 0xea, 0x99, 0xae, 0xf3, 0x95, 0xc2, 0x93, 0x5c, 0xfa, 0xaa, 0xcd, 0xd6, 0xba, 0xf9,
0xdc, 0x48, 0x5c, 0x29, 0xe5, 0xbf, 0x54, 0x3c, 0xf3, 0x2a, 0xb7, 0xfd, 0x13, 0x68, 0x47, 0x5c,
0x67, 0x4a, 0x85, 0x5a, 0xb9, 0x42, 0xa1, 0xb6, 0x22, 0x63, 0x65, 0xfe, 0x0a, 0x74, 0xbc, 0xc1,
0x39, 0x8d, 0x12, 0x1f, 0xdd, 0x98, 0x68, 0xd3, 0xf1, 0x0e, 0xce, 0x69, 0x38, 0x9a, 0x4e, 0xef,
0xc3, 0x9c, 0xb8, 0xde, 0xa2, 0x72, 0x8a, 0x1b, 0xf4, 0x29, 0xcc, 0x32, 0xda, 0xff, 0x58, 0x9e,
0x87, 0x31, 0x67, 0xf7, 0xea, 0x51, 0xd1, 0x7b, 0x58, 0xca, 0xf4, 0xf0, 0x4b, 0x22, 0xda, 0x3f,
0x90, 0xfe, 0xd2, 0xb2, 0x76, 0x40, 0x7a, 0x20, 0xce, 0x13, 0x99, 0xc3, 0x5a, 0x79, 0x9b, 0x61,
0xb5, 0xff, 0x8b, 0x05, 0xb3, 0xdb, 0xe1, 0x78, 0xdb, 0xe7, 0x67, 0x14, 0x51, 0x4c, 0xd4, 0xdd,
0x32, 0x99, 0x7c, 0xc3, 0x41, 0xf2, 0x42, 0xab, 0xa4, 0x95, 0xb5, 0x4a, 0xbe, 0x0d, 0x37, 0xd1,
0x63, 0x1f, 0x85, 0xe3, 0x30, 0x62, 0xe2, 0xea, 0x0d, 0xb9, 0x09, 0x12, 0x06, 0xc9, 0x99, 0x54,
0xa7, 0x57, 0x65, 0x41, 0x37, 0xda, 0x30, 0x39, 0x77, 0xf9, 0x76, 0x53, 0x58, 0x51, 0x5c, 0xcb,
0xe6, 0x09, 0xf6, 0x6f, 0x42, 0x1d, 0xb7, 0x3b, 0xd8, 0xb5, 0x0f, 0xa0, 0x7e, 0x16, 0x8e, 0xdd,
0x33, 0x3f, 0x48, 0xa4, 0xf8, 0xb7, 0xd3, 0x7d, 0xc8, 0x36, 0x0e, 0x8a, 0xca, 0x60, 0xff, 0x87,
0x59, 0x98, 0xdd, 0x09, 0xce, 0x43, 0xbf, 0x8f, 0xe7, 0x6a, 0x46, 0x74, 0x14, 0xca, 0xdb, 0x76,
0xec, 0x6f, 0x7c, 0x08, 0x23, 0xbd, 0x0f, 0xcf, 0x45, 0x48, 0x43, 0xd8, 0x06, 0x39, 0xd2, 0xef,
0xb3, 0x8b, 0x54, 0xba, 0xeb, 0xab, 0x6a, 0xf7, 0x15, 0x59, 0x69, 0xfc, 0x9e, 0x35, 0x8e, 0x1d,
0xbf, 0x25, 0xa1, 0x21, 0x6c, 0xf0, 0xc5, 0x01, 0x77, 0x7e, 0x02, 0x9a, 0x1f, 0xd1, 0x13, 0x10,
0x6e, 0xfa, 0x23, 0xca, 0x63, 0x2e, 0xca, 0xf4, 0x62, 0x9b, 0x7e, 0x1d, 0x64, 0xe6, 0x19, 0xff,
0x80, 0xe7, 0xe1, 0xcb, 0x81, 0x0e, 0xe1, 0x31, 0x8b, 0xcc, 0xeb, 0x10, 0xfc, 0x85, 0x8f, 0x2c,
0xcc, 0x4f, 0x50, 0x29, 0xa5, 0xcb, 0xfb, 0x09, 0xfc, 0x4d, 0x80, 0x2c, 0xae, 0xb9, 0x0a, 0xf8,
0x3d, 0x20, 0xe9, 0x2a, 0x60, 0x2c, 0xe3, 0x0d, 0x87, 0xc7, 0x5e, 0xff, 0x15, 0xdf, 0xd9, 0x36,
0x79, 0xa8, 0xce, 0x00, 0xf1, 0x98, 0x7a, 0x3a, 0xaf, 0x78, 0xc2, 0xa5, 0xe2, 0xe8, 0x10, 0x59,
0x85, 0x06, 0xba, 0x51, 0xc4, 0xcc, 0xb6, 0x71, 0x66, 0x3b, 0xba, 0x9f, 0x05, 0xe7, 0x56, 0xcf,
0xa4, 0x9f, 0xf8, 0x99, 0xcb, 0xdd, 0xcc, 0xf1, 0x06, 0x03, 0x71, 0x12, 0xa4, 0xc3, 0xef, 0xc4,
0x2b, 0x00, 0x1d, 0x35, 0x7c, 0xc0, 0x78, 0x86, 0x79, 0xcc, 0x60, 0x60, 0xe4, 0x0e, 0x77, 0x63,
0x8e, 0x3d, 0x7f, 0x80, 0x27, 0x2e, 0xf9, 0x5e, 0x58, 0x61, 0xac, 0x0c, 0xf9, 0x37, 0x2e, 0x9c,
0x0b, 0x38, 0x2a, 0x06, 0xc6, 0xc6, 0x46, 0xa5, 0x47, 0xe9, 0x55, 0x1e, 0x13, 0x24, 0x1f, 0x62,
0x84, 0x3d, 0xa1, 0x78, 0x5f, 0xa7, 0xbd, 0x7a, 0x53, 0xf4, 0x59, 0xb0, 0xad, 0xfc, 0x1f, 0x4f,
0x14, 0x38, 0x3c, 0x27, 0x33, 0xdb, 0x78, 0x90, 0x63, 0xc9, 0x30, 0xdb, 0x44, 0x56, 0x0c, 0x72,
0xf0, 0x0c, 0xe4, 0xb1, 0xb6, 0x13, 0xeb, 0x62, 0xe6, 0x5b, 0x99, 0xf2, 0xbf, 0x90, 0x3d, 0xd8,
0x1a, 0x34, 0xf5, 0x7e, 0x90, 0x1a, 0x54, 0xf6, 0x0f, 0xb6, 0xf6, 0x3a, 0xd7, 0x48, 0x03, 0x66,
0x0f, 0xb7, 0x8e, 0x8e, 0x76, 0xb7, 0x36, 0x3b, 0x16, 0x69, 0x42, 0x4d, 0x5d, 0x82, 0x28, 0xb1,
0xd4, 0xda, 0xc6, 0xc6, 0xd6, 0xc1, 0xd1, 0xd6, 0x66, 0xa7, 0xfc, 0x9d, 0x4a, 0xad, 0xd4, 0x29,
0xa3, 0x01, 0xa9, 0x75, 0xf3, 0x0d, 0x7e, 0xb4, 0x3b, 0x00, 0xb8, 0xb1, 0x49, 0x4f, 0x04, 0x55,
0x1c, 0x0d, 0x61, 0x8a, 0x5a, 0xf9, 0x1f, 0xca, 0xfc, 0x9d, 0x02, 0x99, 0xc6, 0xc9, 0xc3, 0x07,
0x01, 0xf4, 0xc0, 0x56, 0xd5, 0x31, 0x41, 0xc6, 0xd8, 0x02, 0xc0, 0x93, 0xf9, 0x5c, 0x1d, 0xe8,
0x10, 0x63, 0x94, 0x88, 0xc6, 0xe1, 0xf0, 0x9c, 0xf2, 0x2c, 0xdc, 0x3c, 0x34, 0x30, 0x56, 0x97,
0xd0, 0x78, 0xda, 0xad, 0x99, 0xaa, 0x63, 0x82, 0xe4, 0x6b, 0x92, 0x51, 0x6a, 0xc8, 0x28, 0xcb,
0xf9, 0x59, 0x37, 0x98, 0xe4, 0x79, 0xce, 0x11, 0x56, 0x47, 0x06, 0xf8, 0x72, 0xfe, 0xbb, 0xb7,
0x70, 0x88, 0x91, 0x15, 0x20, 0xa3, 0xf1, 0xd8, 0x2d, 0xf0, 0x50, 0x55, 0x9c, 0x02, 0xca, 0xaf,
0xc1, 0x81, 0x96, 0x00, 0x59, 0x1b, 0x0c, 0x44, 0x33, 0xf5, 0x67, 0x1b, 0x22, 0xfd, 0x9d, 0x10,
0xa9, 0x92, 0x0b, 0xd4, 0x5e, 0xa9, 0x58, 0xed, 0x5d, 0xa9, 0x1c, 0xec, 0x1d, 0x68, 0x1c, 0x68,
0x2f, 0x8f, 0xd8, 0x6c, 0x85, 0x90, 0x6f, 0x8e, 0xf0, 0xb5, 0x83, 0x3b, 0xce, 0x52, 0x54, 0x6b,
0x52, 0x49, 0x6f, 0x92, 0xfd, 0x0f, 0x2d, 0x7e, 0x99, 0x5b, 0x75, 0x81, 0xd7, 0x6f, 0x43, 0x53,
0xc5, 0x5e, 0xd2, 0x9b, 0x6d, 0x06, 0xc6, 0xf2, 0x60, 0x73, 0xdc, 0xf0, 0xe4, 0x24, 0xa6, 0xf2,
0x0e, 0x8a, 0x81, 0x49, 0x63, 0x9c, 0x99, 0xf7, 0x3e, 0xaf, 0x21, 0x16, 0x77, 0x51, 0x72, 0x38,
0xe3, 0x74, 0xe1, 0xfb, 0x96, 0xb7, 0x6f, 0x54, 0x5a, 0x5d, 0xc0, 0xcb, 0x8e, 0xf4, 0x03, 0xa8,
0xa9, 0x72, 0xcd, 0x95, 0x56, 0xe6, 0x54, 0x74, 0xb6, 0xa2, 0xe3, 0x46, 0xdd, 0x68, 0x34, 0x17,
0xb8, 0x3c, 0x81, 0xf1, 0xd2, 0x89, 0x1f, 0x65, 0xb3, 0x73, 0x09, 0x2c, 0xa0, 0xd8, 0x2f, 0x61,
0x41, 0xaa, 0x0f, 0x6d, 0x97, 0x60, 0x4e, 0xa4, 0xf5, 0x26, 0x2d, 0x5f, 0xca, 0x6b, 0x79, 0xfb,
0xdf, 0x54, 0x60, 0x56, 0x3e, 0xeb, 0x63, 0x17, 0x3c, 0x43, 0x53, 0x37, 0x5f, 0xb0, 0x21, 0x5d,
0xe3, 0x9d, 0x02, 0x64, 0x04, 0xb1, 0xf6, 0xdf, 0xcf, 0xae, 0xde, 0xa9, 0x03, 0x35, 0xb3, 0x82,
0x2f, 0x41, 0x65, 0xec, 0x25, 0x67, 0xe8, 0x5f, 0xe3, 0xbc, 0x84, 0x69, 0xe9, 0xa2, 0xaf, 0x9a,
0x2e, 0xfa, 0xa2, 0x77, 0x7b, 0xb8, 0xa9, 0x9a, 0x7f, 0xb7, 0xe7, 0x16, 0xd4, 0xb9, 0xb5, 0x91,
0x7a, 0xe1, 0x53, 0x20, 0x63, 0x9d, 0xd4, 0x72, 0xd6, 0xc9, 0xdb, 0xdb, 0x0d, 0xdf, 0x80, 0x19,
0x7e, 0x77, 0x55, 0xdc, 0x35, 0x92, 0x4b, 0x8a, 0x18, 0x49, 0xf9, 0x3f, 0x3f, 0x72, 0xea, 0x88,
0xbc, 0xfa, 0xeb, 0x17, 0x0d, 0xf3, 0xf5, 0x0b, 0x3d, 0x78, 0xd0, 0xcc, 0x04, 0x0f, 0x1e, 0x40,
0x47, 0x0d, 0x1f, 0x3a, 0xd8, 0x82, 0x58, 0xdc, 0xad, 0xc8, 0xe1, 0xe9, 0xb2, 0xd8, 0x36, 0x96,
0x45, 0xa6, 0xe1, 0xd6, 0x92, 0x84, 0x8e, 0xc6, 0x89, 0x58, 0x16, 0xed, 0xa7, 0xd0, 0x32, 0x1a,
0xc9, 0x96, 0x21, 0x71, 0xfb, 0xa8, 0x73, 0x8d, 0xb4, 0xa0, 0xbe, 0xb3, 0xe7, 0x3e, 0xdd, 0xdd,
0x79, 0xb6, 0x7d, 0xd4, 0xb1, 0x58, 0xf2, 0xf0, 0xc5, 0xc6, 0xc6, 0xd6, 0xd6, 0x26, 0x2e, 0x4b,
0x00, 0x33, 0x4f, 0xd7, 0x76, 0xd8, 0x12, 0x55, 0xb6, 0xff, 0x8f, 0x05, 0x0d, 0xad, 0x78, 0xf2,
0x4d, 0x35, 0x32, 0xfc, 0x81, 0x84, 0xdb, 0xf9, 0x26, 0xac, 0x48, 0x45, 0xad, 0x0d, 0x8d, 0x7a,
0xaa, 0xa8, 0x34, 0xf5, 0xa9, 0x22, 0x36, 0x3d, 0x1e, 0x2f, 0x41, 0x8d, 0x03, 0xdf, 0x3d, 0x65,
0x61, 0x7e, 0xce, 0x2a, 0x5d, 0x5d, 0x58, 0x4e, 0xee, 0x31, 0xcc, 0xc2, 0xf6, 0x47, 0x00, 0x69,
0x6b, 0xcc, 0x6e, 0x5f, 0x33, 0xbb, 0x6d, 0x69, 0xdd, 0x2e, 0xd9, 0x9b, 0x5c, 0x61, 0x88, 0x21,
0x54, 0x51, 0xe2, 0xaf, 0x01, 0x91, 0x0e, 0x2a, 0x3c, 0xcf, 0x38, 0x1e, 0xd2, 0x44, 0xde, 0x49,
0x9c, 0x17, 0x94, 0x1d, 0x45, 0x90, 0xd7, 0x6a, 0xd3, 0x52, 0x52, 0xbd, 0x23, 0x38, 0x2e, 0xab,
0x77, 0x44, 0x56, 0x47, 0xd1, 0xed, 0x1e, 0x74, 0x37, 0x29, 0x2b, 0x6d, 0x6d, 0x38, 0xcc, 0x34,
0xc7, 0xbe, 0x09, 0x37, 0x0a, 0x68, 0xc2, 0xfd, 0xf0, 0x5d, 0xb8, 0xbe, 0xc6, 0xaf, 0x1f, 0xfe,
0xba, 0x6e, 0x3a, 0xd8, 0x5d, 0x58, 0xca, 0x16, 0x29, 0x2a, 0x7b, 0x0a, 0xf3, 0x9b, 0xf4, 0x78,
0x72, 0xba, 0x4b, 0xcf, 0xd3, 0x8a, 0x08, 0x54, 0xe2, 0xb3, 0xf0, 0x42, 0x8c, 0x0f, 0xfe, 0x4d,
0x6e, 0x03, 0x0c, 0x59, 0x1e, 0x37, 0x1e, 0xd3, 0xbe, 0x7c, 0x80, 0x02, 0x91, 0xc3, 0x31, 0xed,
0xdb, 0x1f, 0x01, 0xd1, 0xcb, 0x11, 0xe3, 0xc5, 0xb6, 0x04, 0x93, 0x63, 0x37, 0xbe, 0x8c, 0x13,
0x3a, 0x92, 0x2f, 0x6b, 0xe8, 0x90, 0xfd, 0x3e, 0x34, 0x0f, 0xbc, 0x4b, 0x87, 0x7e, 0x2a, 0x9e,
0xc6, 0x5a, 0x86, 0xd9, 0xb1, 0x77, 0xc9, 0xe4, 0x59, 0x85, 0x50, 0x90, 0x6c, 0xff, 0x71, 0x05,
0x66, 0x78, 0x4e, 0x56, 0xea, 0x80, 0xc6, 0x89, 0x1f, 0xa0, 0x8c, 0xc9, 0x52, 0x35, 0x28, 0xa7,
0x30, 0x4b, 0x05, 0x0a, 0x53, 0xb8, 0xd2, 0xe4, 0x45, 0x7e, 0xc1, 0xb2, 0x06, 0xc6, 0xd4, 0x56,
0x7a, 0x6f, 0x8a, 0x73, 0x6a, 0x0a, 0x64, 0x62, 0x94, 0xe9, 0xc6, 0x83, 0xb7, 0x4f, 0xae, 0x05,
0x42, 0x27, 0xea, 0x50, 0xe1, 0xf6, 0x66, 0x56, 0x5e, 0x10, 0xc9, 0x6c, 0x6f, 0x72, 0xdb, 0x98,
0xda, 0x5b, 0x6c, 0x63, 0xb8, 0x7f, 0xed, 0xaa, 0x6d, 0x0c, 0xbc, 0xcd, 0x36, 0xe6, 0x6d, 0x62,
0x83, 0x3d, 0xa8, 0xe1, 0x9a, 0xae, 0xa9, 0x48, 0x99, 0x26, 0xbf, 0xa1, 0xd9, 0xf8, 0x3c, 0xcc,
0x7f, 0x33, 0x95, 0x17, 0x87, 0x7e, 0xfa, 0xc5, 0x98, 0xf8, 0x3f, 0x84, 0x59, 0x81, 0x32, 0xce,
0x0e, 0xbc, 0x91, 0x7c, 0x40, 0x05, 0xff, 0x66, 0x43, 0x87, 0xef, 0x38, 0x7c, 0x3a, 0xf1, 0x23,
0x3a, 0x90, 0x97, 0x8c, 0x35, 0x08, 0x4f, 0x45, 0xc7, 0xee, 0xab, 0x20, 0xbc, 0x08, 0xc4, 0x35,
0x63, 0x95, 0xb6, 0x09, 0x74, 0xf0, 0x21, 0xa5, 0x71, 0x18, 0xc9, 0x37, 0x71, 0xec, 0x3f, 0xb0,
0xa0, 0x23, 0x04, 0x4d, 0xd1, 0xe4, 0x81, 0x80, 0xab, 0xee, 0xd2, 0xdf, 0x83, 0x16, 0xfa, 0x32,
0xd4, 0x92, 0x23, 0x82, 0xeb, 0x06, 0xc8, 0xda, 0x2b, 0x8f, 0x25, 0x8e, 0xfc, 0xa1, 0xe0, 0x5b,
0x1d, 0x92, 0xab, 0x56, 0xe4, 0x89, 0xdb, 0x49, 0x96, 0xa3, 0xd2, 0xf6, 0x2f, 0x2c, 0x98, 0xd7,
0x1a, 0x2c, 0x04, 0xf5, 0x09, 0x34, 0xd5, 0x7b, 0x65, 0x54, 0x19, 0x55, 0xcb, 0xa6, 0x66, 0x49,
0x3f, 0x33, 0x32, 0x23, 0xbf, 0x7b, 0x97, 0xd8, 0xc0, 0x78, 0x32, 0x12, 0xd6, 0x8c, 0x0e, 0x31,
0x3e, 0xba, 0xa0, 0xf4, 0x95, 0xca, 0xc2, 0xed, 0x29, 0x03, 0xc3, 0x18, 0x50, 0x18, 0x24, 0x67,
0x2a, 0x53, 0x45, 0xc4, 0x80, 0x74, 0xd0, 0xfe, 0x6f, 0x25, 0x58, 0xe0, 0x4e, 0x35, 0xe1, 0xcc,
0x54, 0x4f, 0xc6, 0xcc, 0x70, 0xff, 0x22, 0x57, 0x5a, 0xdb, 0xd7, 0x1c, 0x91, 0x26, 0xdf, 0x7c,
0x4b, 0x47, 0xa0, 0xba, 0x06, 0x35, 0x65, 0x2e, 0xca, 0x45, 0x73, 0x71, 0xc5, 0x48, 0x17, 0x85,
0xe3, 0xaa, 0xc5, 0xe1, 0xb8, 0xb7, 0x0b, 0x7f, 0xe5, 0xee, 0x0a, 0xcd, 0x8a, 0x5c, 0xc6, 0x5d,
0xa1, 0x55, 0x58, 0x36, 0x00, 0xd4, 0xd7, 0xfe, 0x89, 0x4f, 0xe5, 0xc5, 0xed, 0xf9, 0x98, 0x26,
0xae, 0x91, 0x65, 0x7d, 0x16, 0xaa, 0x71, 0x3f, 0x1c, 0x53, 0x7b, 0x09, 0x16, 0xcd, 0xc1, 0x15,
0xab, 0xc4, 0xcf, 0x2d, 0xe8, 0x3e, 0xe5, 0x87, 0x2a, 0xfc, 0xe0, 0x74, 0xdb, 0x8f, 0x93, 0x30,
0x52, 0x2f, 0x7b, 0xdd, 0x01, 0x88, 0x13, 0x2f, 0x12, 0xfb, 0x4c, 0x6e, 0xec, 0x6a, 0x08, 0x1b,
0x23, 0x1a, 0x0c, 0x38, 0x95, 0xf3, 0x86, 0x4a, 0xe7, 0x36, 0x13, 0xc2, 0xe5, 0x68, 0x98, 0xe4,
0xef, 0xf1, 0x2b, 0x8c, 0x6c, 0x30, 0xe8, 0x39, 0x2e, 0xbd, 0xdc, 0x8f, 0x97, 0x41, 0xed, 0x3f,
0x2c, 0xc1, 0x5c, 0xda, 0x48, 0x7e, 0x25, 0xda, 0x50, 0xe0, 0xc2, 0x0e, 0x4f, 0x15, 0xb8, 0x08,
0x0f, 0xba, 0x3e, 0x33, 0xcc, 0x35, 0xaf, 0xa3, 0x86, 0x92, 0x7b, 0xd0, 0x90, 0xa9, 0x70, 0x92,
0x68, 0x4f, 0xec, 0xe8, 0x30, 0xbf, 0x1b, 0xc1, 0xb6, 0x06, 0x62, 0x9b, 0x23, 0x52, 0x78, 0x91,
0x7f, 0x94, 0xe0, 0x97, 0x7c, 0x4e, 0x65, 0x92, 0x29, 0x34, 0x66, 0x53, 0xf3, 0x39, 0x44, 0x7b,
0x5a, 0xb7, 0x35, 0x6b, 0xea, 0x69, 0x42, 0x25, 0xf3, 0xbc, 0xc4, 0xf4, 0x96, 0x58, 0xc5, 0xd1,
0x21, 0xe9, 0xf5, 0x09, 0x27, 0xc6, 0xf6, 0xd7, 0xc0, 0xec, 0xbf, 0x6d, 0xc1, 0x8d, 0x82, 0x69,
0x14, 0x3a, 0x60, 0x13, 0xe6, 0x4f, 0x14, 0x51, 0x0e, 0x35, 0x57, 0x04, 0x4b, 0x52, 0xb9, 0x9a,
0xc3, 0xeb, 0xe4, 0x3f, 0x50, 0xdb, 0x2d, 0x3e, 0x79, 0xc6, 0xa5, 0xc0, 0x3c, 0xc1, 0x3e, 0x80,
0xde, 0xd6, 0x6b, 0xa6, 0x52, 0x36, 0xf4, 0xf7, 0xa9, 0x25, 0x67, 0xad, 0xe6, 0x54, 0xe6, 0x9b,
0x9d, 0xcd, 0x27, 0xfc, 0xaa, 0x93, 0x2a, 0x8b, 0x7c, 0xfd, 0x6d, 0x0b, 0xd1, 0xa5, 0xff, 0xae,
0x98, 0x75, 0xfe, 0xc0, 0xb6, 0xbc, 0x9a, 0xa8, 0x41, 0xf6, 0x39, 0xcc, 0x3d, 0x9f, 0x0c, 0x13,
0x3f, 0x7d, 0x6c, 0x9b, 0x7c, 0x53, 0x7c, 0x84, 0x45, 0xc8, 0xa1, 0x2b, 0xac, 0x4a, 0xcf, 0xc7,
0x46, 0x6c, 0xc4, 0x4a, 0x72, 0xf3, 0x35, 0xe6, 0x09, 0xf6, 0x0d, 0x58, 0x4e, 0xab, 0xe4, 0x63,
0x27, 0x97, 0x9d, 0x3f, 0xb2, 0xf8, 0x91, 0x60, 0xf3, 0xed, 0x6f, 0xf2, 0x0c, 0x16, 0x62, 0x3f,
0x38, 0x1d, 0x52, 0xbd, 0x9c, 0x58, 0x8c, 0xc4, 0x75, 0xb3, 0x79, 0xe2, 0x7d, 0x70, 0xa7, 0xe8,
0x0b, 0xc6, 0x20, 0xc5, 0x0d, 0x4d, 0x19, 0x24, 0x33, 0x24, 0x45, 0x1d, 0xf8, 0x0e, 0xb4, 0xcd,
0xca, 0xc8, 0x63, 0x71, 0xe7, 0x2f, 0x6d, 0x59, 0x39, 0x73, 0x75, 0x2b, 0xe5, 0x0c, 0x23, 0xa7,
0xfd, 0x33, 0x0b, 0xba, 0x0e, 0x65, 0x6c, 0x4c, 0xb5, 0x4a, 0x05, 0xf7, 0x3c, 0xc9, 0x15, 0x3b,
0xbd, 0xc3, 0xea, 0x2e, 0xa1, 0xec, 0xeb, 0xca, 0xd4, 0x49, 0xd9, 0xbe, 0x56, 0xd0, 0xab, 0xf5,
0x1a, 0xcc, 0x88, 0xfe, 0x2d, 0xc3, 0x75, 0xd1, 0x24, 0xd9, 0x9c, 0x34, 0xac, 0x68, 0x54, 0x6a,
0x84, 0x15, 0x7b, 0xd0, 0xe5, 0x0f, 0xb8, 0xe9, 0xfd, 0x10, 0x1f, 0x6e, 0x02, 0x79, 0xee, 0xf5,
0xbd, 0x28, 0x0c, 0x83, 0x03, 0x1a, 0x89, 0x33, 0x9c, 0x68, 0x7d, 0x62, 0xd4, 0x4d, 0x1a, 0xca,
0x3c, 0x25, 0xdf, 0x1c, 0x0b, 0x03, 0xf9, 0xb6, 0x1b, 0x4f, 0xd9, 0x0e, 0x2c, 0xac, 0x7b, 0xaf,
0xa8, 0x2c, 0x29, 0x1d, 0xa5, 0xc6, 0x58, 0x15, 0x2a, 0xc7, 0x5e, 0x5e, 0x16, 0xce, 0x57, 0xeb,
0xe8, 0xb9, 0xed, 0x55, 0x58, 0x34, 0xcb, 0x14, 0xaa, 0xa4, 0x07, 0xb5, 0x91, 0xc0, 0x44, 0xeb,
0x54, 0xfa, 0xc1, 0x67, 0xd0, 0xd0, 0x1e, 0xe5, 0x23, 0xcb, 0xb0, 0xf0, 0x72, 0xe7, 0x68, 0x6f,
0xeb, 0xf0, 0xd0, 0x3d, 0x78, 0xb1, 0xfe, 0xc9, 0xd6, 0xf7, 0xdd, 0xed, 0xb5, 0xc3, 0xed, 0xce,
0x35, 0xb2, 0x04, 0x64, 0x6f, 0xeb, 0xf0, 0x68, 0x6b, 0xd3, 0xc0, 0x2d, 0x72, 0x07, 0x7a, 0x2f,
0xf6, 0x5e, 0x1c, 0x6e, 0x6d, 0xba, 0x45, 0xdf, 0x95, 0xc8, 0x6d, 0xb8, 0x21, 0xe8, 0x05, 0x9f,
0x97, 0x1f, 0x3c, 0x81, 0x4e, 0xd6, 0x2d, 0x69, 0xb8, 0x73, 0xaf, 0xf2, 0xfb, 0x3e, 0xf8, 0x47,
0x65, 0x80, 0xf4, 0x11, 0x65, 0xd2, 0x85, 0xc5, 0xcd, 0xb5, 0xa3, 0xb5, 0xdd, 0x7d, 0xd6, 0x08,
0x67, 0xff, 0x68, 0x6b, 0xe3, 0xc8, 0x75, 0xb6, 0xbe, 0xdb, 0xb9, 0x56, 0x48, 0xd9, 0x3f, 0x60,
0x5b, 0xf6, 0x65, 0x58, 0xd8, 0xd9, 0xdb, 0x39, 0xda, 0x59, 0xdb, 0x75, 0x9d, 0xfd, 0x17, 0x3b,
0x7b, 0xcf, 0xf8, 0x83, 0x21, 0x65, 0xf2, 0x0e, 0xdc, 0x7c, 0x71, 0xf0, 0xd4, 0xd9, 0xdf, 0x3b,
0x72, 0x0f, 0xb7, 0x5f, 0x1c, 0x6d, 0xe2, 0x73, 0x23, 0x1b, 0xce, 0xce, 0x01, 0x2f, 0xb3, 0x72,
0x55, 0x06, 0x56, 0x74, 0x95, 0x8d, 0xd8, 0xb3, 0xfd, 0xc3, 0xc3, 0x9d, 0x03, 0xf7, 0xbb, 0x2f,
0xb6, 0x9c, 0x9d, 0xad, 0x43, 0xfc, 0x70, 0xa6, 0x00, 0x67, 0xf9, 0x67, 0xc9, 0x3c, 0xb4, 0x8e,
0x76, 0xbf, 0xe7, 0xee, 0xef, 0xed, 0xec, 0xef, 0x61, 0xd6, 0x9a, 0x09, 0xb1, 0x5c, 0x75, 0xd2,
0x83, 0xa5, 0xad, 0xdf, 0x39, 0x72, 0x0b, 0x4a, 0x86, 0x29, 0x34, 0xf6, 0x5d, 0x83, 0xdc, 0x80,
0xeb, 0x87, 0x47, 0x6b, 0x47, 0x3b, 0x1b, 0xae, 0x78, 0x6f, 0x88, 0x4d, 0x02, 0xfb, 0xac, 0x59,
0x4c, 0x62, 0x5f, 0xb5, 0xc8, 0x22, 0x74, 0x0e, 0xd6, 0xbe, 0xff, 0x7c, 0x6b, 0xef, 0xc8, 0x5d,
0xdb, 0xdc, 0x74, 0xf0, 0x83, 0x76, 0x0e, 0x65, 0x79, 0xe7, 0xd8, 0x44, 0x3d, 0x3f, 0x38, 0xc0,
0x2c, 0x1d, 0x99, 0x60, 0x94, 0xf9, 0xd5, 0x9f, 0x95, 0xa1, 0xcd, 0x0f, 0xd3, 0xf3, 0x5f, 0x39,
0xa0, 0x11, 0x79, 0x0e, 0xb3, 0xe2, 0xe7, 0x32, 0xc8, 0x75, 0xf5, 0x4a, 0x84, 0xfe, 0x03, 0x1d,
0xbd, 0xa5, 0x2c, 0x2c, 0xc4, 0x6f, 0xe1, 0xaf, 0xfe, 0xa7, 0xff, 0xf1, 0xfb, 0xa5, 0x16, 0x69,
0x3c, 0x3c, 0xff, 0xf0, 0xe1, 0x29, 0x0d, 0x62, 0x56, 0xc6, 0xef, 0x02, 0xa4, 0x3f, 0x02, 0x41,
0xba, 0xca, 0xfb, 0x98, 0xf9, 0x85, 0x8c, 0xde, 0x8d, 0x02, 0x8a, 0x28, 0xf7, 0x06, 0x96, 0xbb,
0x60, 0xb7, 0x59, 0xb9, 0x7e, 0xe0, 0x27, 0xfc, 0x07, 0x21, 0x3e, 0xb6, 0x1e, 0x90, 0x01, 0x34,
0xf5, 0x9f, 0x67, 0x20, 0x32, 0x9a, 0x5f, 0xf0, 0x03, 0x13, 0xbd, 0x9b, 0x85, 0x34, 0xa9, 0x73,
0xb0, 0x8e, 0xeb, 0x76, 0x87, 0xd5, 0x31, 0xc1, 0x1c, 0x69, 0x2d, 0x43, 0xae, 0x89, 0xd3, 0x5f,
0x61, 0x20, 0xb7, 0x34, 0xe5, 0x98, 0xfb, 0x0d, 0x88, 0xde, 0xed, 0x29, 0x54, 0x51, 0xd7, 0x6d,
0xac, 0x6b, 0xd9, 0x26, 0xac, 0xae, 0x3e, 0xe6, 0x91, 0xbf, 0x01, 0xf1, 0xb1, 0xf5, 0x60, 0xf5,
0x4f, 0xef, 0x43, 0x5d, 0x9d, 0xf4, 0x21, 0x3f, 0x86, 0x96, 0x71, 0xdb, 0x81, 0xc8, 0x6e, 0x14,
0x5d, 0x8e, 0xe8, 0xdd, 0x2a, 0x26, 0x8a, 0x8a, 0xef, 0x60, 0xc5, 0x5d, 0xb2, 0xc4, 0x2a, 0x16,
0xd7, 0x05, 0x1e, 0xe2, 0xbd, 0x1d, 0xfe, 0xe6, 0xc6, 0x2b, 0x6d, 0xc5, 0xe1, 0x95, 0xdd, 0xca,
0x2e, 0x02, 0x46, 0x6d, 0xb7, 0xa7, 0x50, 0x45, 0x75, 0xb7, 0xb0, 0xba, 0x25, 0xb2, 0xa8, 0x57,
0xa7, 0x4e, 0xdf, 0x50, 0x7c, 0xf7, 0x46, 0xff, 0x81, 0x02, 0x72, 0x3b, 0x7d, 0x95, 0xa4, 0xe0,
0x87, 0x0b, 0x14, 0x8b, 0xe4, 0x7f, 0xbd, 0xc0, 0xee, 0x62, 0x55, 0x84, 0xe0, 0xf4, 0xe9, 0xbf,
0x4f, 0x40, 0x8e, 0xa1, 0xa1, 0xbd, 0xe3, 0x4b, 0x6e, 0x4c, 0x7d, 0x73, 0xb8, 0xd7, 0x2b, 0x22,
0x15, 0x75, 0x45, 0x2f, 0xff, 0x21, 0x33, 0x48, 0x7f, 0x08, 0x75, 0xf5, 0x32, 0x2c, 0x59, 0xd6,
0x5e, 0xea, 0xd5, 0x5f, 0xb2, 0xed, 0x75, 0xf3, 0x84, 0x22, 0xe6, 0xd3, 0x4b, 0x67, 0xcc, 0xf7,
0x12, 0x1a, 0xda, 0xeb, 0xaf, 0xaa, 0x03, 0xf9, 0x17, 0x66, 0x55, 0x07, 0x0a, 0x1e, 0x8b, 0xb5,
0xe7, 0xb1, 0x8a, 0x06, 0xa9, 0x23, 0x7f, 0x27, 0xaf, 0xc3, 0x98, 0xec, 0xc2, 0x75, 0xb1, 0xb2,
0x1e, 0xd3, 0xcf, 0x33, 0x0d, 0x05, 0xbf, 0x09, 0xf1, 0xc8, 0x22, 0x4f, 0xa0, 0x26, 0x1f, 0xf9,
0x25, 0x4b, 0xc5, 0x8f, 0x15, 0xf7, 0x96, 0x73, 0xb8, 0x58, 0x06, 0xbf, 0x0f, 0x90, 0x3e, 0x35,
0xab, 0x94, 0x44, 0xee, 0xe9, 0x5a, 0xc5, 0x01, 0xf9, 0x77, 0x69, 0xed, 0x25, 0xec, 0x60, 0x87,
0xa0, 0x92, 0x08, 0xe8, 0x85, 0x7c, 0x74, 0xe1, 0x47, 0xd0, 0xd0, 0x5e, 0x9b, 0x55, 0xc3, 0x97,
0x7f, 0xa9, 0x56, 0x0d, 0x5f, 0xc1, 0xe3, 0xb4, 0x76, 0x0f, 0x4b, 0x5f, 0xb4, 0xe7, 0x58, 0xe9,
0xb1, 0x7f, 0x1a, 0x8c, 0x78, 0x06, 0x36, 0x41, 0x67, 0xd0, 0x32, 0x9e, 0x94, 0x55, 0x12, 0x5a,
0xf4, 0x60, 0xad, 0x92, 0xd0, 0xc2, 0x57, 0x68, 0x25, 0x9f, 0xd9, 0xf3, 0xac, 0x9e, 0x73, 0xcc,
0xa2, 0xd5, 0xf4, 0x03, 0x68, 0x68, 0xcf, 0xc3, 0xaa, 0xbe, 0xe4, 0x5f, 0xa2, 0x55, 0x7d, 0x29,
0x7a, 0x4d, 0x76, 0x11, 0xeb, 0x68, 0xdb, 0xc8, 0x0a, 0xf8, 0x8c, 0x12, 0x2b, 0xfb, 0xc7, 0xd0,
0x36, 0x1f, 0x8c, 0x55, 0xb2, 0x5f, 0xf8, 0xf4, 0xac, 0x92, 0xfd, 0x29, 0xaf, 0xcc, 0x0a, 0x96,
0x7e, 0xb0, 0xa0, 0x2a, 0x79, 0xf8, 0x53, 0x71, 0x70, 0xf9, 0x33, 0xf2, 0x5d, 0xa6, 0xe0, 0xc4,
0xf3, 0x5e, 0x64, 0x59, 0xe3, 0x5a, 0xfd, 0x11, 0x30, 0x25, 0x2f, 0xb9, 0x97, 0xc0, 0x4c, 0x66,
0xe6, 0x0f, 0x41, 0x3d, 0x83, 0x05, 0xc5, 0xcc, 0xea, 0xb9, 0xae, 0x58, 0xf5, 0xa1, 0xf0, 0x55,
0xb0, 0x5e, 0x27, 0x4b, 0x7d, 0x64, 0xf1, 0xe5, 0x0f, 0x1f, 0x45, 0xd2, 0x96, 0x3f, 0xfd, 0xc5,
0x2e, 0x6d, 0xf9, 0x33, 0xde, 0x4e, 0xca, 0x2e, 0x7f, 0x89, 0xcf, 0xca, 0x08, 0x60, 0x2e, 0x73,
0xb5, 0x53, 0x89, 0x57, 0xf1, 0xed, 0xfb, 0xde, 0x9d, 0xab, 0x6f, 0x84, 0x9a, 0xaa, 0x48, 0x6a,
0xd3, 0x87, 0xf2, 0x69, 0x8f, 0xdf, 0x83, 0xa6, 0xfe, 0xce, 0x25, 0xd1, 0x75, 0x42, 0xb6, 0xa6,
0x9b, 0x85, 0x34, 0x93, 0x4b, 0x48, 0x53, 0xaf, 0x86, 0x7c, 0x0f, 0x96, 0xd4, 0x30, 0xeb, 0xb7,
0x05, 0x63, 0xf2, 0x4e, 0xc1, 0x1d, 0x42, 0x63, 0xb0, 0x6f, 0x4c, 0xbd, 0x64, 0xf8, 0xc8, 0x62,
0xdc, 0x67, 0x3e, 0x1e, 0x98, 0xae, 0x3c, 0x45, 0x6f, 0x26, 0xa6, 0x2b, 0x4f, 0xe1, 0x8b, 0x83,
0x92, 0xfb, 0xc8, 0x82, 0x31, 0x46, 0xfc, 0x7c, 0x16, 0xf9, 0x01, 0xcc, 0x69, 0xf7, 0xb1, 0x0f,
0x2f, 0x83, 0xbe, 0x92, 0xa4, 0xfc, 0xdb, 0x3b, 0xbd, 0xa2, 0x6d, 0xa9, 0xbd, 0x8c, 0xe5, 0xcf,
0xdb, 0xc6, 0xe0, 0x30, 0x29, 0xda, 0x80, 0x86, 0x7e, 0xd7, 0xfb, 0x8a, 0x72, 0x97, 0x35, 0x92,
0xfe, 0xb0, 0xcb, 0x23, 0x8b, 0xec, 0x42, 0x27, 0xfb, 0x06, 0x85, 0xd2, 0x29, 0x45, 0xef, 0x66,
0xf4, 0x32, 0x44, 0xe3, 0xe5, 0x0a, 0x72, 0xc0, 0x4f, 0xfd, 0xaa, 0x1f, 0x4f, 0x08, 0xa3, 0xec,
0xaa, 0x6e, 0xfe, 0xa8, 0x82, 0x2a, 0xad, 0xe8, 0xe7, 0x34, 0xee, 0x5b, 0x8f, 0x2c, 0xf2, 0xf7,
0x2c, 0x68, 0x1a, 0x37, 0xbb, 0x8d, 0x33, 0x94, 0x99, 0x7e, 0x76, 0x75, 0x9a, 0xde, 0x51, 0xdb,
0xc1, 0x41, 0xdc, 0x7d, 0xf0, 0x1d, 0x63, 0x92, 0x7e, 0x6a, 0x78, 0x7a, 0x57, 0xb2, 0xbf, 0xa0,
0xf0, 0x59, 0x36, 0x83, 0xfe, 0x7e, 0xd2, 0x67, 0x8f, 0x2c, 0xf2, 0x4f, 0x2c, 0x68, 0x9b, 0x21,
0x1c, 0xd5, 0xdd, 0xc2, 0x60, 0x91, 0x62, 0xa5, 0x29, 0x71, 0x9f, 0x1f, 0x60, 0x2b, 0x8f, 0x1e,
0x38, 0x46, 0x2b, 0xc5, 0xb3, 0x97, 0xbf, 0x5a, 0x6b, 0xc9, 0xc7, 0xfc, 0x07, 0x8d, 0x64, 0xf4,
0x9a, 0xe4, 0x7f, 0x00, 0x47, 0xb1, 0x9f, 0xfe, 0x73, 0x31, 0x38, 0x09, 0x3f, 0xe2, 0xbf, 0x1c,
0x20, 0x43, 0xa0, 0x8c, 0x8b, 0xdf, 0xf6, 0x7b, 0xfb, 0x1e, 0xf6, 0xe9, 0x8e, 0x7d, 0xc3, 0xe8,
0x53, 0xd6, 0xf0, 0x58, 0xe3, 0xad, 0x13, 0xbf, 0xf4, 0x92, 0xae, 0x9c, 0xb9, 0x5f, 0x7f, 0x99,
0xde, 0xc8, 0x11, 0x6f, 0xa4, 0xc8, 0x6e, 0x88, 0xda, 0x5b, 0x16, 0x63, 0x3f, 0xc0, 0xb6, 0xde,
0xb3, 0xdf, 0x99, 0xda, 0xd6, 0x87, 0x18, 0x88, 0x61, 0x2d, 0x3e, 0x00, 0x48, 0x4f, 0x9b, 0x90,
0xcc, 0x49, 0x07, 0xa5, 0x80, 0xf2, 0x07, 0x52, 0x4c, 0x79, 0x96, 0x07, 0x22, 0x58, 0x89, 0x3f,
0xe4, 0xea, 0x74, 0x47, 0x9e, 0x91, 0xd0, 0xad, 0x2f, 0xf3, 0x48, 0x88, 0x61, 0x7d, 0x65, 0xcb,
0x37, 0x94, 0xa9, 0x3a, 0x70, 0xf1, 0x02, 0x5a, 0xbb, 0x61, 0xf8, 0x6a, 0x32, 0x56, 0xc7, 0x1b,
0xcd, 0x18, 0xe9, 0xb6, 0x17, 0x9f, 0xf5, 0x32, 0xbd, 0xb0, 0xef, 0x62, 0x51, 0x3d, 0xd2, 0xd5,
0x8a, 0x7a, 0xf8, 0xd3, 0xf4, 0x24, 0xcb, 0x67, 0xc4, 0x83, 0x79, 0xa5, 0xa3, 0x55, 0xc3, 0x7b,
0x66, 0x31, 0x86, 0x66, 0xce, 0x56, 0x61, 0x6c, 0x13, 0x64, 0x6b, 0x1f, 0xc6, 0xb2, 0xcc, 0x47,
0x16, 0x39, 0x80, 0xe6, 0x26, 0xed, 0xe3, 0xa5, 0x4f, 0x0c, 0x34, 0x2e, 0x18, 0xc1, 0x2a, 0x1e,
0xa1, 0xec, 0xb5, 0x0c, 0xd0, 0x5c, 0xb7, 0xc6, 0xde, 0x65, 0x44, 0x3f, 0x7d, 0xf8, 0x53, 0x11,
0xc2, 0xfc, 0x4c, 0xae, 0x5b, 0x32, 0xc6, 0x6b, 0xac, 0x5b, 0x99, 0xa0, 0xb0, 0xb1, 0x6e, 0xe5,
0x82, 0xc2, 0xc6, 0x50, 0xcb, 0x18, 0x33, 0x19, 0xc2, 0x7c, 0x2e, 0x8e, 0xac, 0x96, 0xac, 0x69,
0xd1, 0xe7, 0xde, 0xdd, 0xe9, 0x19, 0xcc, 0xda, 0x1e, 0x98, 0xb5, 0x1d, 0x42, 0x8b, 0xbf, 0xe9,
0x74, 0x4c, 0xf9, 0x7d, 0x8e, 0xcc, 0xf3, 0x00, 0xfa, 0x6d, 0x91, 0xec, 0x02, 0x83, 0x34, 0xd3,
0xc2, 0xe1, 0x8f, 0x43, 0xfe, 0x10, 0x1a, 0xcf, 0x68, 0x22, 0x2f, 0x70, 0x28, 0x1b, 0x3b, 0x73,
0xa3, 0xa3, 0x57, 0x70, 0xff, 0xc3, 0xe4, 0x19, 0x2c, 0xed, 0x21, 0x1d, 0x9c, 0x52, 0xae, 0x9c,
0x5c, 0x7f, 0xf0, 0x19, 0xf9, 0x1d, 0x2c, 0x5c, 0x5d, 0xa7, 0x5b, 0xd2, 0x4e, 0xe3, 0xeb, 0x85,
0xcf, 0x65, 0xf0, 0xa2, 0x92, 0x83, 0x70, 0x40, 0x35, 0x5b, 0x2f, 0x80, 0x86, 0x76, 0x1d, 0x57,
0x09, 0x50, 0xfe, 0xf6, 0xb2, 0x12, 0xa0, 0x82, 0xdb, 0xbb, 0xf6, 0x7d, 0xac, 0xc7, 0x26, 0x77,
0xd3, 0x7a, 0xf8, 0x8d, 0xdd, 0xb4, 0xa6, 0x87, 0x3f, 0xf5, 0x46, 0xc9, 0x67, 0xe4, 0x25, 0xbe,
0xb0, 0xaa, 0x5f, 0x50, 0x49, 0x37, 0x0d, 0xd9, 0xbb, 0x2c, 0x6a, 0xb0, 0x34, 0x92, 0xb9, 0x91,
0xe0, 0x55, 0xa1, 0x25, 0xf7, 0x4d, 0x80, 0xc3, 0x24, 0x1c, 0x6f, 0x7a, 0x74, 0x14, 0x06, 0xa9,
0xae, 0x4d, 0xaf, 0x47, 0xa4, 0xfa, 0x4b, 0xbb, 0x23, 0x41, 0x5e, 0x6a, 0xbb, 0x2c, 0xe3, 0x8e,
0x8f, 0x64, 0xae, 0xa9, 0x37, 0x28, 0xd4, 0x80, 0x14, 0xdc, 0xa2, 0x78, 0x64, 0x91, 0x35, 0x80,
0xf4, 0x20, 0x81, 0xda, 0x33, 0xe5, 0xce, 0x28, 0x28, 0xb5, 0x57, 0x70, 0xea, 0xe0, 0x00, 0xea,
0x69, 0xd8, 0x75, 0x39, 0xbd, 0x9c, 0x6f, 0x04, 0x69, 0xd5, 0x0a, 0x9e, 0x0b, 0x86, 0xda, 0x1d,
0x1c, 0x2a, 0x20, 0x35, 0x36, 0x54, 0x18, 0xe1, 0xf4, 0x61, 0x81, 0x37, 0x50, 0x99, 0x4b, 0x78,
0xac, 0x5f, 0x3d, 0xa4, 0x9b, 0x0f, 0x48, 0x2a, 0x69, 0x2e, 0x8c, 0xa7, 0x19, 0xae, 0x1f, 0xc6,
0xad, 0xfc, 0x4a, 0x01, 0x53, 0xcd, 0x23, 0x98, 0xcf, 0x85, 0x68, 0x94, 0x48, 0x4f, 0x8b, 0xc1,
0x29, 0x91, 0x9e, 0x1a, 0xdd, 0xb1, 0xaf, 0x63, 0x95, 0x73, 0x36, 0xe0, 0x56, 0xef, 0xc2, 0x4f,
0xfa, 0x67, 0xac, 0xba, 0x3f, 0xb2, 0x60, 0xa1, 0x20, 0x02, 0x43, 0xde, 0x95, 0x5e, 0x83, 0xa9,
0xd1, 0x99, 0x5e, 0xa1, 0x83, 0xde, 0x3e, 0xc4, 0x7a, 0x9e, 0x93, 0x4f, 0x8c, 0x85, 0x8d, 0xfb,
0xc6, 0x85, 0x64, 0x5e, 0x69, 0x54, 0x14, 0x5a, 0x14, 0x9f, 0xc2, 0x32, 0x6f, 0xc8, 0xda, 0x70,
0x98, 0x09, 0x1e, 0xdc, 0xc9, 0xfd, 0xe8, 0xa9, 0x11, 0x14, 0xe9, 0x4d, 0xff, 0x51, 0xd4, 0x29,
0xe6, 0x34, 0x6f, 0x2a, 0x99, 0x40, 0x27, 0xeb, 0x90, 0x27, 0xd3, 0xcb, 0xea, 0xbd, 0x63, 0xec,
0x7f, 0x0b, 0x9c, 0xf8, 0x5f, 0xc6, 0xca, 0xde, 0xb1, 0x7b, 0x45, 0xe3, 0xc2, 0xb7, 0xc4, 0x6c,
0x3e, 0xfe, 0x8a, 0x8a, 0x1e, 0x64, 0xfa, 0x29, 0x2b, 0x98, 0x16, 0xee, 0x50, 0x3b, 0xf0, 0xe2,
0xe0, 0xc3, 0x7b, 0x58, 0xfd, 0x5d, 0xfb, 0x66, 0x51, 0xf5, 0x11, 0xff, 0x84, 0xef, 0xc5, 0x97,
0xb3, 0x72, 0x2d, 0x5b, 0x70, 0xb7, 0x68, 0xbe, 0xa7, 0xee, 0x85, 0x32, 0x63, 0x7d, 0x0d, 0x6d,
0xbb, 0xa6, 0x1e, 0x2d, 0x50, 0xe2, 0x53, 0x10, 0x96, 0x50, 0xe2, 0x53, 0x14, 0x5e, 0x30, 0xed,
0x1a, 0x19, 0x58, 0xf8, 0xd8, 0x7a, 0xb0, 0xfe, 0xfe, 0x0f, 0xbe, 0x7c, 0xea, 0x27, 0x67, 0x93,
0xe3, 0x95, 0x7e, 0x38, 0x7a, 0x38, 0x94, 0xde, 0x46, 0x71, 0xd5, 0xed, 0xe1, 0x30, 0x18, 0x3c,
0xc4, 0x62, 0x8f, 0x67, 0xf0, 0x57, 0x9a, 0xbf, 0xfe, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x83,
0x91, 0xdc, 0xd2, 0xd7, 0x79, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -11000,9 +11450,22 @@ type LightningClient interface {
//request to a remote peer. Users are able to specify a target number of
//blocks that the funding transaction should be confirmed in, or a manual fee
//rate to us for the funding transaction. If neither are specified, then a
//lax block confirmation target is used.
//lax block confirmation target is used. Each OpenStatusUpdate will return
//the pending channel ID of the in-progress channel. Depending on the
//arguments specified in the OpenChannelRequest, this pending channel ID can
//then be used to manually progress the channel funding flow.
OpenChannel(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (Lightning_OpenChannelClient, error)
//*
//FundingStateStep is an advanced funding related call that allows the caller
//to either execute some preparatory steps for a funding workflow, or
//manually progress a funding workflow. The primary way a funding flow is
//identified is via its pending channel ID. As an example, this method can be
//used to specify that we're expecting a funding flow for a particular
//pending channel ID, for which we need to use specific parameters.
//Alternatively, this can be used to interactively drive PSBT signing for
//funding for partially complete funding transactions.
FundingStateStep(ctx context.Context, in *FundingTransitionMsg, opts ...grpc.CallOption) (*FundingStateStepResp, error)
//*
//ChannelAcceptor dispatches a bi-directional streaming RPC in which
//OpenChannel requests are sent to the client and the client responds with
//a boolean that tells LND whether or not to accept the channel. This allows
@ -11494,6 +11957,15 @@ func (x *lightningOpenChannelClient) Recv() (*OpenStatusUpdate, error) {
return m, nil
}
func (c *lightningClient) FundingStateStep(ctx context.Context, in *FundingTransitionMsg, opts ...grpc.CallOption) (*FundingStateStepResp, error) {
out := new(FundingStateStepResp)
err := c.cc.Invoke(ctx, "/lnrpc.Lightning/FundingStateStep", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) ChannelAcceptor(ctx context.Context, opts ...grpc.CallOption) (Lightning_ChannelAcceptorClient, error) {
stream, err := c.cc.NewStream(ctx, &_Lightning_serviceDesc.Streams[4], "/lnrpc.Lightning/ChannelAcceptor", opts...)
if err != nil {
@ -12040,9 +12512,22 @@ type LightningServer interface {
//request to a remote peer. Users are able to specify a target number of
//blocks that the funding transaction should be confirmed in, or a manual fee
//rate to us for the funding transaction. If neither are specified, then a
//lax block confirmation target is used.
//lax block confirmation target is used. Each OpenStatusUpdate will return
//the pending channel ID of the in-progress channel. Depending on the
//arguments specified in the OpenChannelRequest, this pending channel ID can
//then be used to manually progress the channel funding flow.
OpenChannel(*OpenChannelRequest, Lightning_OpenChannelServer) error
//*
//FundingStateStep is an advanced funding related call that allows the caller
//to either execute some preparatory steps for a funding workflow, or
//manually progress a funding workflow. The primary way a funding flow is
//identified is via its pending channel ID. As an example, this method can be
//used to specify that we're expecting a funding flow for a particular
//pending channel ID, for which we need to use specific parameters.
//Alternatively, this can be used to interactively drive PSBT signing for
//funding for partially complete funding transactions.
FundingStateStep(context.Context, *FundingTransitionMsg) (*FundingStateStepResp, error)
//*
//ChannelAcceptor dispatches a bi-directional streaming RPC in which
//OpenChannel requests are sent to the client and the client responds with
//a boolean that tells LND whether or not to accept the channel. This allows
@ -12648,6 +13133,24 @@ func (x *lightningOpenChannelServer) Send(m *OpenStatusUpdate) error {
return x.ServerStream.SendMsg(m)
}
func _Lightning_FundingStateStep_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FundingTransitionMsg)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).FundingStateStep(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/FundingStateStep",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).FundingStateStep(ctx, req.(*FundingTransitionMsg))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_ChannelAcceptor_Handler(srv interface{}, stream grpc.ServerStream) error {
return srv.(LightningServer).ChannelAcceptor(&lightningChannelAcceptorServer{stream})
}
@ -13318,6 +13821,10 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
MethodName: "OpenChannelSync",
Handler: _Lightning_OpenChannelSync_Handler,
},
{
MethodName: "FundingStateStep",
Handler: _Lightning_FundingStateStep_Handler,
},
{
MethodName: "AbandonChannel",
Handler: _Lightning_AbandonChannel_Handler,

@ -437,10 +437,25 @@ service Lightning {
request to a remote peer. Users are able to specify a target number of
blocks that the funding transaction should be confirmed in, or a manual fee
rate to us for the funding transaction. If neither are specified, then a
lax block confirmation target is used.
lax block confirmation target is used. Each OpenStatusUpdate will return
the pending channel ID of the in-progress channel. Depending on the
arguments specified in the OpenChannelRequest, this pending channel ID can
then be used to manually progress the channel funding flow.
*/
rpc OpenChannel (OpenChannelRequest) returns (stream OpenStatusUpdate);
/**
FundingStateStep is an advanced funding related call that allows the caller
to either execute some preparatory steps for a funding workflow, or
manually progress a funding workflow. The primary way a funding flow is
identified is via its pending channel ID. As an example, this method can be
used to specify that we're expecting a funding flow for a particular
pending channel ID, for which we need to use specific parameters.
Alternatively, this can be used to interactively drive PSBT signing for
funding for partially complete funding transactions.
*/
rpc FundingStateStep(FundingTransitionMsg) returns (FundingStateStepResp);
/**
ChannelAcceptor dispatches a bi-directional streaming RPC in which
OpenChannel requests are sent to the client and the client responds with
@ -1678,15 +1693,103 @@ message OpenChannelRequest {
Note: If this value is set on channel creation, you will *not* be able to
cooperatively close out to a different address.
*/
string close_address = 13[json_name = "close_address"];
string close_address = 13 [json_name = "close_address"];
/**
Funding shims are an optional argument that allow the caller to intercept
certain funding functionality. For example, a shim can be provided to use a
particular key for the commitment key (ideally cold) rather than use one
that is generated by the wallet as normal, or signal that signing will be
carried out in an interactive manner (PSBT based).
*/
FundingShim funding_shim = 14 [json_name = "funding_shim"];
}
message OpenStatusUpdate {
oneof update {
PendingUpdate chan_pending = 1 [json_name = "chan_pending"];
ChannelOpenUpdate chan_open = 3 [json_name = "chan_open"];
}
/**
The pending channel ID of the created channel. This value may be used to
further the funding flow manually via the FundingStateStep method.
*/
bytes pending_chan_id = 4 [json_name = "pending_chan_id"];
}
message KeyLocator {
/// The family of key being identified.
int32 key_family = 1;
/// The precise index of the key being identified.
int32 key_index = 2;
}
message KeyDescriptor {
/**
The raw bytes of the key being identified.
*/
bytes raw_key_bytes = 1;
/**
The key locator that identifies which key to use for signing.
*/
KeyLocator key_loc = 2;
}
message ChanPointShim {
/**
The size of the pre-crafted output to be used as the channel point for this
channel funding.
*/
int64 amt = 1;
/// The target channel point to refrence in created commitment transactions.
ChannelPoint chan_point = 2;
/// Our local key to use when creating the multi-sig output.
KeyDescriptor local_key = 3;
/// The key of the remote party to use when creating the multi-sig output.
bytes remote_key = 4;
/**
If non-zero, then this will be used as the pending channel ID on the wire
protocol to initate the funding request. This is an optional field, and
should only be set if the responder is already expecting a specific pending
channel ID.
*/
bytes pending_chan_id = 5;
}
message FundingShim {
oneof shim {
ChanPointShim chan_point_shim = 1;
}
}
message FundingShimCancel {
/// The pending channel ID of the channel to cancel the funding shim for.
bytes pending_chan_id = 1;
}
message FundingTransitionMsg {
oneof trigger {
/**
The funding shim to regsiter. This should be used before any
channel funding has began by the remote party, as it is intended as a
prepatory step for the full channel funding.
*/
FundingShim shim_register = 1;
/// Used to cancel an existing registered funding shim.
FundingShimCancel shim_cancel = 2;
}
}
message FundingStateStepResp {
}
message PendingHTLC {
/// The direction within the channel that the htlc was sent

@ -1680,6 +1680,34 @@
}
}
},
"lnrpcChanPointShim": {
"type": "object",
"properties": {
"amt": {
"type": "string",
"format": "int64",
"description": "*\nThe size of the pre-crafted output to be used as the channel point for this\nchannel funding."
},
"chan_point": {
"$ref": "#/definitions/lnrpcChannelPoint",
"description": "/ The target channel point to refrence in created commitment transactions."
},
"local_key": {
"$ref": "#/definitions/lnrpcKeyDescriptor",
"description": "/ Our local key to use when creating the multi-sig output."
},
"remote_key": {
"type": "string",
"format": "byte",
"description": "/ The key of the remote party to use when creating the multi-sig output."
},
"pending_chan_id": {
"type": "string",
"format": "byte",
"description": "*\nIf non-zero, then this will be used as the pending channel ID on the wire\nprotocol to initate the funding request. This is an optional field, and\nshould only be set if the responder is already expecting a specific pending\nchannel ID."
}
}
},
"lnrpcChangePasswordRequest": {
"type": "object",
"properties": {
@ -2433,6 +2461,27 @@
}
}
},
"lnrpcFundingShim": {
"type": "object",
"properties": {
"chan_point_shim": {
"$ref": "#/definitions/lnrpcChanPointShim"
}
}
},
"lnrpcFundingShimCancel": {
"type": "object",
"properties": {
"pending_chan_id": {
"type": "string",
"format": "byte",
"description": "/ The pending channel ID of the channel to cancel the funding shim for."
}
}
},
"lnrpcFundingStateStepResp": {
"type": "object"
},
"lnrpcGenSeedResponse": {
"type": "object",
"properties": {
@ -2917,6 +2966,35 @@
],
"default": "ACCEPTED"
},
"lnrpcKeyDescriptor": {
"type": "object",
"properties": {
"raw_key_bytes": {
"type": "string",
"format": "byte",
"description": "*\nThe raw bytes of the key being identified."
},
"key_loc": {
"$ref": "#/definitions/lnrpcKeyLocator",
"description": "* \nThe key locator that identifies which key to use for signing."
}
}
},
"lnrpcKeyLocator": {
"type": "object",
"properties": {
"key_family": {
"type": "integer",
"format": "int32",
"description": "/ The family of key being identified."
},
"key_index": {
"type": "integer",
"format": "int32",
"description": "/ The precise index of the key being identified."
}
}
},
"lnrpcLightningAddress": {
"type": "object",
"properties": {
@ -3271,6 +3349,10 @@
"close_address": {
"type": "string",
"description": "Close address is an optional address which specifies the address to which\nfunds should be paid out to upon cooperative close. This field may only be\nset if the peer supports the option upfront feature bit (call listpeers\nto check). The remote peer will only accept cooperative closes to this\naddress if it is set.\n\nNote: If this value is set on channel creation, you will *not* be able to\ncooperatively close out to a different address."
},
"funding_shim": {
"$ref": "#/definitions/lnrpcFundingShim",
"description": "*\nFunding shims are an optional argument that allow the caller to intercept\ncertain funding functionality. For example, a shim can be provided to use a\nparticular key for the commitment key (ideally cold) rather than use one\nthat is generated by the wallet as normal, or signal that signing will be\ncarried out in an interactive manner (PSBT based)."
}
}
},
@ -3282,6 +3364,11 @@
},
"chan_open": {
"$ref": "#/definitions/lnrpcChannelOpenUpdate"
},
"pending_chan_id": {
"type": "string",
"format": "byte",
"description": "*\nThe pending channel ID of the created channel. This value may be used to\nfurther the funding flow manually via the FundingStateStep method."
}
}
},

@ -440,6 +440,13 @@ func mainRPCServerPermissions() map[string][]bakery.Op {
Entity: "peers",
Action: "read",
}},
"/lnrpc.Lightning/FundingStateStep": {{
Entity: "onchain",
Action: "write",
}, {
Entity: "offchain",
Action: "write",
}},
}
}
@ -5692,3 +5699,17 @@ func (r *rpcServer) BakeMacaroon(ctx context.Context,
return resp, nil
}
// FundingStateStep is an advanced funding related call that allows the caller
// to either execute some preparatory steps for a funding workflow, or manually
// progress a funding workflow. The primary way a funding flow is identified is
// via its pending channel ID. As an example, this method can be used to
// specify that we're expecting a funding flow for a particular pending channel
// ID, for which we need to use specific parameters. Alternatively, this can
// be used to interactively drive PSBT signing for funding for partially
// complete funding transactions.
func (r *rpcServer) FundingStateStep(context.Context,
*lnrpc.FundingTransitionMsg) (*lnrpc.FundingStateStepResp, error) {
return nil, fmt.Errorf("not implemented")
}